@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#18352f;font-synthesis:none;--green:#163f36;--green-2:#245e50;--cream:#f7f3ea;--paper:#fffdf8;--gold:#d7a94f;--muted:#71817c;--line:#e8e5dc;--rose:#a95652;background:#e8e4da;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior-x:none;width:100%;max-width:100%;overflow-x:hidden}body{background:radial-gradient(circle at 50% -10%,#f7f2e7 0,#e6e1d7 45%,#d7d2c8 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{background:var(--cream);width:min(100%,500px);min-height:100vh;margin:0 auto;padding-bottom:92px;position:relative;box-shadow:0 0 50px #29433a24}.topbar{height:72px;padding:max(14px, env(safe-area-inset-top)) 18px 10px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#f7f3eaf2;border-bottom:1px solid #e9e4d8;align-items:center;gap:11px;display:flex;position:sticky;top:0}.brand-mark{color:#f4d48d;background:var(--green);border-radius:12px;flex:none;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 5px 14px #163f3630}.brand-copy{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.brand-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.brand-copy span{color:var(--muted);margin-top:3px;font-size:10px}.icon-button,.round-back,.round-more{background:#fff;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 3px 14px #31433d12}.page{padding:22px 18px 24px}.welcome p{color:var(--muted);margin:0;font-size:14px}.welcome h1{letter-spacing:-.7px;margin:3px 0 12px;font-size:28px}.date-pill{color:var(--green-2);text-transform:capitalize;background:#e4eee8;border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.hero-action{text-align:left;color:#fff;background:linear-gradient(135deg,#1a4d41,#0f332c);border:0;border-radius:20px;align-items:center;gap:13px;width:100%;margin:22px 0 14px;padding:17px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 28px #163f3633}.hero-action:after{content:"";border:1px solid #ffffff1b;border-radius:50%;width:110px;height:110px;position:absolute;top:-43px;right:-37px}.hero-action>span:nth-child(2){z-index:1;flex-direction:column;flex:1;gap:3px;display:flex}.hero-action small{color:#bcd2ca;text-transform:uppercase;letter-spacing:.9px;font-size:10px}.hero-action strong{font-size:16px}.hero-plus{width:45px;height:45px;color:var(--green);background:#f0c976;border-radius:14px;place-items:center;display:grid}.stats-row{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:13px 9px;display:flex}.stat-card strong{margin:9px 0 1px;font-size:21px}.stat-card small{color:var(--muted);font-size:9px;line-height:1.25}.stat-icon{border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.stat-icon.gold{color:#a37420;background:#fff1d2}.stat-icon.green{color:#27705d;background:#e1eee8}.stat-icon.rose{color:var(--rose);background:#f7e7e4}.section-title{justify-content:space-between;align-items:center;margin:27px 1px 12px;display:flex}.section-title h2{letter-spacing:-.2px;margin:0;font-size:16px}.section-title button{color:var(--green-2);background:0 0;border:0;align-items:center;padding:5px 0;font-size:11px;font-weight:700;display:flex}.card-list,.patient-list{flex-direction:column;gap:9px;display:flex}.visit-row,.patient-row,.payment-row{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:16px;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.visit-row>span:nth-last-child(2),.patient-main,.payment-row>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.visit-row strong,.patient-row strong,.payment-row strong{font-size:13px}.visit-row small,.patient-row small,.payment-row small{color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}.visit-date{width:42px;height:49px;color:var(--green);background:#e5eee9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex}.visit-date strong{font-size:17px;line-height:1}.visit-date span{text-transform:uppercase;margin-top:4px;font-size:9px}.avatar{color:#5e756d;background:#e1e8e3;border:2px solid #fff;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;display:grid;overflow:hidden;box-shadow:0 2px 8px #334a4122}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.large{border-width:4px;width:92px;height:92px}.avatar-button{cursor:zoom-in;border-style:solid;padding:0;position:relative}.avatar-button>span{width:25px;height:25px;color:var(--green);background:#f1cb77;border:2px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:1px;right:1px}.empty-state{text-align:center;background:#fffdf8a8;border:1px dashed #d9d5cb;border-radius:18px;padding:27px 20px}.empty-state>span{width:52px;height:52px;color:var(--green-2);background:#e4eee8;border-radius:16px;place-items:center;margin:0 auto 11px;display:grid}.empty-state h3{margin:0 0 6px;font-size:14px}.empty-state p{color:var(--muted);max-width:270px;margin:0 auto;font-size:11px;line-height:1.55}.page-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page-heading h1{letter-spacing:-.6px;margin:0;font-size:25px}.page-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.small-add,.secondary-button{color:var(--green);background:#e8f0eb;border:1px solid #ccddd5;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:11px;font-weight:800;display:flex}.search-box{background:var(--paper);border:1px solid var(--line);height:47px;color:var(--muted);border-radius:14px;align-items:center;gap:9px;padding:0 13px;display:flex}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.search-box button{color:var(--muted);background:0 0;border:0;padding:0}.filter-row{scrollbar-width:none;gap:7px;margin:12px 0 17px;display:flex;overflow-x:auto}.filter{border:1px solid var(--line);background:var(--paper);color:var(--muted);white-space:nowrap;border-radius:20px;padding:7px 12px;font-size:10px}.filter.active{color:#fff;background:var(--green);border-color:var(--green)}.filter-icon{background:0 0;border:0}.patient-row{padding:12px}.patient-main em{color:var(--green-2);margin-top:6px;font-size:9px;font-style:normal;font-weight:700}.calendar-strip{background:var(--paper);border:1px solid var(--line);border-radius:17px;grid-template-columns:repeat(7,1fr);gap:5px;padding:10px;display:grid}.calendar-day{border-radius:10px;flex-direction:column;align-items:center;min-width:0;padding:8px 2px;display:flex}.calendar-day small{color:var(--muted);font-size:8px}.calendar-day strong{margin-top:7px;font-size:13px}.calendar-day.active{background:var(--green);color:#fff}.calendar-day.active small{color:#bcd1c9}.timeline{flex-direction:column;gap:11px;display:flex}.timeline-item{align-items:stretch;gap:10px;display:flex}.timeline-date{width:45px;color:var(--green);flex-direction:column;justify-content:center;align-items:center;display:flex}.timeline-date strong{font-size:18px}.timeline-date span{text-transform:uppercase;font-size:9px}.timeline-item>button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:15px;flex:1;align-items:center;gap:10px;padding:10px;display:flex}.timeline-item button>span:nth-child(2){flex-direction:column;flex:1;display:flex}.timeline-item button strong{font-size:12px}.timeline-item button small{color:var(--muted);gap:4px;margin-top:4px;font-size:9px;display:flex}.timeline-item button em{color:var(--green-2);overflow-wrap:anywhere;margin-top:5px;font-size:9px;font-style:normal;line-height:1.4}.appointment-intro{background:#e8f0eb;border:1px solid #d7e4dd;border-radius:16px;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:flex}.appointment-intro>span{color:#f0c976;background:var(--green);border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.appointment-intro>div{flex-direction:column;gap:4px;min-width:0;display:flex}.appointment-intro strong{font-size:13px}.appointment-intro small{color:var(--muted);font-size:10px;line-height:1.45}.finance-lock{text-align:center;margin-top:55px;padding:25px}.lock-icon{width:58px;height:58px;color:var(--green);background:#e1ece6;border-radius:18px;place-items:center;margin:0 auto 15px;display:grid}.finance-lock h2,.lock-screen h2{margin:0 0 6px;font-size:19px}.finance-lock p,.lock-screen p{color:var(--muted);font-size:11px}.pin-input{text-align:center;letter-spacing:8px;outline-color:var(--green);background:#fff;border:1px solid #ced9d3;border-radius:14px;width:170px;height:52px;margin:18px auto 12px;font-size:22px;display:block}.finance-lock .primary-button{max-width:170px;margin:auto}.finance-hero{color:#fff;background:linear-gradient(145deg,#245f50,#12352d);border-radius:22px;flex-direction:column;padding:24px;display:flex;box-shadow:0 15px 30px #143a3130}.finance-hero small{color:#bfd4cc}.finance-hero strong{margin:9px 0 13px;font-size:28px}.finance-hero span{color:#d7e4df;align-items:center;gap:6px;font-size:10px;display:flex}.finance-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:11px;display:grid}.finance-grid div{background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:16px;display:flex}.finance-grid small{color:var(--muted);font-size:10px}.finance-grid strong{margin-top:6px;font-size:16px}.payment-row b{font-size:11px}.settings-group{margin-bottom:22px}.settings-group>h3,.form-section>h3{color:#64756f;letter-spacing:.7px;text-transform:uppercase;margin:0 0 9px 3px;font-size:10px}.settings-group>div{border:1px solid var(--line);background:var(--paper);border-radius:17px;overflow:hidden}.setting-row,.setting-link,.price-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:11px;width:100%;min-height:62px;padding:11px 13px;display:flex}.setting-row:last-child,.setting-link:last-child,.price-row:last-child{border-bottom:0}.setting-icon{width:35px;height:35px;color:var(--green-2);background:#e6eee9;border-radius:10px;place-items:center;display:grid}.setting-row>span:nth-child(2),.setting-link>span{flex-direction:column;flex:1;display:flex}.setting-row strong,.setting-link strong{font-size:11px}.setting-row small,.setting-link small{color:var(--muted);margin-top:4px;font-size:9px}.toggle{background:#d8ddd9;border:0;border-radius:20px;width:45px;height:26px;padding:3px}.toggle i{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block;box-shadow:0 2px 6px #0002}.toggle.on{background:var(--green-2)}.toggle.on i{transform:translate(19px)}.time-input{color:var(--green);background:#edf2ee;border:0;border-radius:8px;padding:7px;font-size:11px}.price-row span{flex:1;font-size:11px;font-weight:700}.price-row input{text-align:right;background:#f2f3ef;border:0;border-radius:8px;outline:0;width:95px;padding:8px;font-size:11px}.price-row small{color:var(--muted);font-size:9px}.app-version{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin:28px 0 8px;display:flex}.app-version .brand-mark{width:34px;height:34px}.app-version>span{flex-direction:column;display:flex}.app-version strong{font-size:10px}.app-version small{margin-top:3px;font-size:8px}.bottom-nav{z-index:30;width:min(100%,500px);height:calc(76px + env(safe-area-inset-bottom));padding:8px 11px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffdf8f5;border-top:1px solid #e5e1d7;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#81908b;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;font-size:8px;display:flex}.bottom-nav button.active{color:var(--green);font-weight:800}.bottom-nav .nav-add{color:#153b32;background:#edc46e;border-radius:17px;justify-self:center;width:52px;height:52px;transform:translateY(-16px);box-shadow:0 8px 20px #bf903d4d}.overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102d2770;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{width:min(100%,500px);padding:10px 18px calc(24px + env(safe-area-inset-bottom));background:var(--cream);border-radius:25px 25px 0 0}.sheet-handle{background:#b9bcb6;border-radius:5px;width:42px;height:4px;margin:0 auto 18px}.bottom-sheet h3{margin:0 0 12px;font-size:17px}.sheet-link{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:15px;align-items:center;gap:11px;width:100%;margin-top:9px;padding:11px;display:flex}.sheet-link>span:first-child{width:38px;height:38px;color:var(--green-2);background:#e4eee8;border-radius:11px;place-items:center;display:grid}.sheet-link>span:nth-child(2){flex-direction:column;flex:1;display:flex}.sheet-link strong{font-size:12px}.sheet-link small{color:var(--muted);margin-top:4px;font-size:9px}.modal{z-index:60;background:var(--cream);width:min(100%,500px);margin:0 auto;position:fixed;inset:0;overflow-y:auto}.modal>header{z-index:5;height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 17px 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);text-align:center;background:#f7f3eaf2;grid-template-columns:42px 1fr 42px;align-items:center;display:grid;position:sticky;top:0}.modal>header.hidden{display:none}.modal>header button{background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid}.modal>header span{flex-direction:column;display:flex}.modal>header strong{font-size:14px}.modal>header small{color:var(--muted);margin-top:2px;font-size:9px}.modal-body{padding:19px 17px calc(30px + env(safe-area-inset-bottom))}.modal-body.bare{padding:0 17px 35px}.photo-picker{background:var(--paper);border:1px solid var(--line);border-radius:17px;align-items:center;gap:13px;margin-bottom:20px;padding:14px;display:flex}.photo-picker label{width:62px;height:62px;color:var(--green-2);background:#e2ece6;border-radius:18px;place-items:center;display:grid;overflow:hidden}.photo-picker label img{object-fit:cover;width:100%;height:100%}.photo-picker input,.add-photo input{display:none}.photo-picker>span{flex-direction:column;display:flex}.photo-picker strong{font-size:12px}.photo-picker small{color:var(--muted);margin-top:5px;font-size:9px}.photo-picker-copy{flex-direction:column;flex:1;align-items:flex-start;display:flex}.photo-remove{color:#a44742;background:0 0;border:0;padding:7px 0 0;font-size:8px;font-weight:800}.consent-confirmation{color:#7d3733;background:#fff1ef;border:1px solid #dfb3ae;border-radius:15px;gap:11px;margin:-8px 0 18px;padding:14px;display:flex}.consent-confirmation>svg{flex:none}.consent-confirmation>div{flex:1}.consent-confirmation strong{font-size:11px}.consent-confirmation p{color:#805a57;margin:5px 0 10px;font-size:9px;line-height:1.5}.consent-confirmation>div>div{flex-wrap:wrap;gap:7px;display:flex}.consent-confirmation button{background:#fff;border:1px solid #d8b7b3;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:800}.consent-confirmation button.danger{color:#fff;background:#994842;border-color:#994842}.age-override-note{color:#6b7d76;margin:-8px 1px 12px;font-size:8px;line-height:1.45;display:block}.form-section{margin-bottom:22px}.field{flex-direction:column;gap:6px;margin-bottom:11px;display:flex}.field>span{color:#536a62;font-size:10px;font-weight:700}.field input,.field textarea,.field select{background:var(--paper);width:100%;color:var(--green);border:1px solid #dde2dc;border-radius:12px;outline:none;padding:12px 13px;font-size:12px}.field textarea{resize:vertical;min-height:85px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#4d7d6e;box-shadow:0 0 0 3px #3e746315}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.consent-box{background:var(--paper);border:1px solid #dedfd8;border-radius:15px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:14px;display:flex}.consent-box.checked{background:#edf4ef;border-color:#7aa090}.consent-box input{display:none}.check-mark{border:2px solid #9ba8a2;border-radius:7px;flex:none;place-items:center;width:23px;height:23px;display:grid}.checked .check-mark{color:#fff;background:var(--green-2);border-color:var(--green-2)}.consent-box>span:last-child{flex-direction:column;display:flex}.consent-box strong{font-size:11px}.consent-box small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.5}.field.invalid input,.field.invalid textarea,.field.invalid select,.money-field.invalid,.consent-box.invalid{border-color:#b75a54;box-shadow:0 0 0 3px #b75a5412}.form-error{font-weight:700;line-height:1.4;display:block;color:#a44742!important;font-size:8px!important}.section-error{margin:-8px 2px 12px}.service-grid.invalid button{border-color:#dab0ac}.money-input-group{margin-bottom:8px}.money-input-group .money-field{margin-bottom:4px}.primary-button{color:#fff;background:var(--green);border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:49px;font-size:12px;font-weight:800;display:flex;box-shadow:0 8px 18px #163f3627}.sticky-save{z-index:4;position:sticky;bottom:0}.profile-hero{padding:calc(24px + env(safe-area-inset-top)) 20px 28px;color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,#347060,#163f36 70%);margin:0 -17px;position:relative}.profile-hero .round-back,.profile-hero .round-more{top:calc(14px + env(safe-area-inset-top));color:#fff;box-shadow:none;background:#ffffff18;position:absolute}.profile-hero .round-back{left:16px}.profile-hero .round-more{right:16px}.profile-hero .avatar{margin:10px auto 13px}.profile-hero h2{margin:0;font-size:21px}.profile-hero p{color:#c3d4ce;margin:5px 0 10px;font-size:10px}.profile-hero a{color:#fff;background:#ffffff13;border-radius:9px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;text-decoration:none;display:inline-flex}.quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin:-16px 0 19px;display:grid;position:relative}.quick-actions button{border:1px solid var(--line);background:var(--paper);border-radius:15px;flex-direction:column;align-items:center;gap:7px;padding:11px 4px;display:flex;box-shadow:0 6px 15px #273b3410}.quick-actions button span{color:var(--green-2)}.quick-actions button strong{font-size:8px}.medical-alert{color:#7a571d;background:#fff5de;border:1px solid #ebd2a3;border-radius:15px;gap:10px;padding:13px;display:flex}.medical-alert strong{font-size:11px}.medical-alert p{margin:5px 0 0;font-size:9px}.history-list{flex-direction:column;gap:9px;display:flex}.history-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.history-head{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.history-dot{width:39px;height:39px;color:var(--green-2);background:#e4eee8;border-radius:12px;place-items:center;display:grid}.history-head>span:nth-child(2){flex-direction:column;flex:1;display:flex}.history-head strong{font-size:11px}.history-head small{color:var(--muted);margin-top:4px;font-size:9px}.history-card.open .history-head>svg{transform:rotate(90deg)}.history-body{border-top:1px solid var(--line);padding:13px}.history-body p{margin:0 0 12px;font-size:10px;line-height:1.55}.measure-grid{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;display:grid}.measure-grid span{background:#f3f3ee;border-radius:10px;flex-direction:column;padding:9px;display:flex}.measure-grid small{color:var(--muted);font-size:8px}.measure-grid strong{margin-top:4px;font-size:11px}.visit-photos{gap:7px;display:flex;overflow-x:auto}.visit-photos button{cursor:zoom-in;background:#e3e9e5;border:0;border-radius:10px;flex:none;width:74px;height:74px;padding:0;position:relative;overflow:hidden}.visit-photos img{object-fit:cover;width:100%;height:100%}.visit-photos button svg,.photo-preview svg{color:#fff;background:#173d36cc;border-radius:7px;width:22px;height:22px;padding:3px;position:absolute;bottom:5px;right:5px}.next-visit{color:var(--green-2);background:#e8f0eb;border-radius:9px;align-items:center;gap:6px;margin-top:11px;padding:9px;font-size:9px;font-weight:700;display:flex}.history-actions{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.history-edit,.history-delete{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:9px;font-size:9px;font-weight:800;display:flex}.history-edit{color:var(--green);background:#e9f1ec;border:1px solid #c8d8d1}.history-delete{color:#963f39;background:#fff5f3;border:1px solid #e3c2be}.price-history-note{color:var(--green-2);background:#eaf2ed;border:1px solid #cfddd7;border-radius:12px;align-items:center;gap:9px;margin-bottom:11px;padding:10px;display:flex}.price-history-note>span{flex-direction:column;flex:1;min-width:0;display:flex}.price-history-note strong{font-size:9px}.price-history-note small{color:#637a72;margin-top:3px;font-size:7px}.price-history-note button{color:var(--green);background:#fff;border:1px solid #8ca99e;border-radius:8px;padding:7px;font-size:7px;font-weight:800}.bp-block{grid-template-columns:75px 1fr 10px 1fr;align-items:center;gap:7px;margin-bottom:4px;display:grid}.bp-block>span{font-size:10px;font-weight:700}.bp-block .field{margin-bottom:7px}.bp-block b{color:var(--muted)}.service-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.service-grid button{background:var(--paper);text-align:left;border:1px solid #dde2dc;border-radius:13px;flex-direction:column;padding:11px;display:flex;position:relative}.service-grid button>span{border:1px solid #bcc8c2;border-radius:6px;place-items:center;width:19px;height:19px;display:grid;position:absolute;top:8px;right:8px}.service-grid strong{font-size:11px}.service-grid small{color:var(--muted);margin-top:6px;font-size:8px}.service-grid button.selected{background:#e9f1ec;border-color:#548574}.service-grid button.selected>span{color:#fff;background:var(--green-2);border-color:var(--green-2)}.photo-grid{flex-wrap:wrap;gap:9px;display:flex}.photo-grid>div,.add-photo{border-radius:12px;width:76px;height:76px;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-preview{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.photo-delete{color:#fff;background:#173d36e8;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:4px;right:4px}.add-photo{color:var(--green-2);background:#edf2ee;border:1px dashed #9baea6;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:8px;display:flex}.money-field{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:7px;min-height:51px;margin-bottom:8px;padding:0 12px;display:flex}.money-field span{flex:1;font-size:10px;font-weight:700}.money-field input{text-align:right;background:0 0;border:0;outline:0;width:110px;font-size:12px;font-weight:800}.money-field small{color:var(--muted);font-size:8px}.balance{color:var(--green);background:#e4eee8;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.balance.debt{color:#8d403c;background:#f7e7e4}.balance span{font-size:10px}.balance strong{font-size:14px}.toast{z-index:100;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));color:#fff;background:#183d35;border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 40px);padding:11px 15px;font-size:10px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0f2b2460}.sheet-link.danger-link>span:first-child{color:#963f39;background:#fae7e4}.sheet-link.danger-link strong{color:#853a35}.delete-confirm,.pin-confirm{text-align:center}.delete-confirm>span,.pin-confirm>span{color:#963f39;background:#fae7e4;border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid}.pin-confirm>span{color:var(--green-2);background:#e4eee8}.delete-confirm h3,.pin-confirm h3{margin-bottom:7px}.delete-confirm p,.pin-confirm p{max-width:330px;color:var(--muted);margin:0 auto 16px;font-size:10px;line-height:1.55}.delete-confirm>div,.pin-confirm>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.delete-confirm button,.pin-confirm button{border:1px solid var(--line);background:var(--paper);border-radius:11px;min-height:43px;font-size:10px;font-weight:800}.delete-confirm .danger-button,.pin-confirm .danger-button{color:#fff;background:#913e38;border-color:#913e38}.pin-confirm input{text-align:center;letter-spacing:8px;background:#fff;border:1px solid #c9ccc6;border-radius:11px;width:100%;margin-bottom:8px;padding:12px;font-size:18px}.pin-confirm>small{color:#963f39;margin:-2px 0 10px;font-size:9px;display:block}.pin-confirm button:disabled{opacity:.45}.trash-list{gap:11px;display:grid}.trash-card{border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:13px;box-shadow:0 5px 18px #1c392d0a}.trash-card-main{align-items:center;gap:11px;display:flex}.trash-card-main>span:last-child{flex-direction:column;flex:1;min-width:0;display:flex}.trash-card-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.trash-card-main small{color:var(--muted);margin-top:4px;font-size:9px}.trash-card-main em{color:#9a5c35;margin-top:5px;font-size:8px;font-style:normal;font-weight:700}.trash-type-icon{width:43px;height:43px;color:var(--green-2);background:#e4eee8;border-radius:13px;flex:none;place-items:center;display:grid}.trash-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.trash-actions button{min-height:38px;color:var(--green);background:#edf4f0;border:1px solid #bdd0c8;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:8px;font-weight:800;display:flex}.trash-actions button.danger-outline{color:#963f39;background:#fff5f3;border-color:#e3c2be}.image-viewer{z-index:140;padding:max(58px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071512f2;place-items:center;display:grid;position:fixed;inset:0}.image-viewer-close{right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));color:#fff;background:#ffffff17;border:1px solid #ffffff38;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;position:absolute}.image-viewer-content{flex-direction:column;justify-content:center;align-items:center;gap:13px;width:100%;height:100%;display:flex}.image-viewer-content img{object-fit:contain;touch-action:pinch-zoom;border-radius:10px;max-width:100%;max-height:calc(100vh - 130px);display:block;box-shadow:0 20px 60px #0008}.image-viewer-content p{color:#d6e1dd;text-align:center;margin:0;font-size:10px}.setup-screen,.lock-screen{background:radial-gradient(circle at 50% 0,#367361,#173f36 58%,#102f29 100%);place-items:center;width:min(100%,500px);min-height:100vh;margin:0 auto;padding:25px;display:grid}.setup-card{color:#173a32;background:var(--cream);border-radius:25px;width:100%;padding:25px;box-shadow:0 30px 60px #09231d50}.setup-icon{color:#f1cc7a;background:var(--green);border-radius:20px;place-items:center;width:62px;height:62px;display:grid}.eyebrow{letter-spacing:1px;text-transform:uppercase;font-weight:800;color:var(--gold)!important;margin:22px 0 6px!important;font-size:10px!important}.setup-card h1{letter-spacing:-.7px;margin:0;font-size:25px;line-height:1.18}.setup-card>p{color:var(--muted);font-size:10px;line-height:1.6}.setup-card label{flex-direction:column;gap:6px;margin:13px 0;font-size:10px;font-weight:700;display:flex}.setup-card input{outline-color:var(--green-2);background:#fff;border:1px solid #d8ded8;border-radius:12px;height:47px;padding:0 13px}.setup-card .primary-button{margin-top:18px}.privacy-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:8px;display:flex}.lock-screen{color:#fff;text-align:center;flex-direction:column;justify-content:center;display:flex}.lock-screen .lock-icon{color:#f0cc7b;background:#ffffff16}.lock-screen p{color:#bdd0c9}.lock-screen .primary-button{width:170px;color:var(--green);background:#edc978}.loading-screen{color:#fff;background:radial-gradient(circle at 50% 0,#367361,#173f36 58%,#102f29 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(100%,500px);min-height:100vh;margin:0 auto;display:flex}.loading-screen .brand-mark{width:54px;height:54px;color:var(--green);background:#f0c976;margin-bottom:6px}.loading-screen strong{font-size:15px}.loading-screen span{color:#bdd0c9;font-size:9px}.app-shell,.page,.modal,.modal-body,.form-section,.settings-group{min-width:0;max-width:100%}.page-heading,.timeline-item,.setting-row,.setting-link,.price-row,.photo-picker,.consent-box,.sheet-link,.page-heading>span,.timeline-item>button,.timeline-item button>span:nth-child(2),.setting-row>span:nth-child(2),.setting-link>span,.price-row>span,.photo-picker>span,.photo-picker-copy,.consent-box>span:last-child,.sheet-link>span:nth-child(2),.app-version>span{min-width:0}.field,.field input,.field textarea,.field select{min-width:0;max-width:100%}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.timeline-item>button{min-width:0}.toggle{flex:none}.time-input{min-width:0;max-width:105px}.price-row input{max-width:40%}@media (width>=600px){.app-shell,.setup-screen,.lock-screen{border-radius:26px;min-height:calc(100vh - 30px);margin-top:15px;overflow:hidden}.bottom-nav{border-radius:0 0 26px 26px;bottom:15px}.modal{border-radius:26px;top:15px;bottom:15px}.overlay{align-items:center}.bottom-sheet{border-radius:25px}}
