:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f3ee;--paper:#fcfdf9;--text:#253e34;--sub:#6d7d6e;--muted:#7f8c7f;--line:#dce2d6;--main:#315d46;--on:#f5f2e5;--soft:#e4eadb;--warn:#a5653e;--warnbg:#f0e5d0;--olive:#e0e7d4;--olive-line:#cad6ba;--ticket:#f5f1e4;--stub:#e4e5cc;--balance:#315d46;--balance-text:#f5f2e5;--balance-secondary:#dce4ce;--nav:#f7f8f1;--radius:11px;--radius-small:7px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--number-font:Georgia, "Times New Roman", serif;--shadow:0 1px 3px #172d2010;--error:#a13228;background:var(--bg);color:var(--text);font-synthesis:none;-webkit-tap-highlight-color:transparent;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#151618;--paper:#1e2023;--text:#eeece7;--sub:#b1b5bd;--muted:#a1a3a9;--line:#35373c;--main:#d6c3a1;--on:#211e19;--soft:#23262a;--warn:#ddb78d;--warnbg:#2e2721;--olive:#262a30;--olive-line:#3b3f45;--ticket:#272729;--stub:#34312d;--balance:#303a48;--balance-text:#edf0f5;--balance-secondary:#38322e;--nav:#1b1c1f;--shadow:0 1px 3px #0004;--error:#f0a399;--expiry-bg:#d2bb94;--expiry-ink:#27221c;--expiry-title:#493d2b;--expiry-muted:#534633;--priority-edge:#a38059;--priority-separator:#a3805945;--priority-action-line:#b8996b48;--priority-action-bg:#d2bb9410;--ticket-line:#756b5a;--urgent-ticket-line:#8a7458;--timeline-dot:#9aafc5;--page-rule:#9aafc5;--balance-stroke:#4b5664;--balance-secondary-stroke:#53493f;--balance-number:#e1eaf5;--balance-secondary-number:#efe3d3;--sheet-shadow:0 -10px 60px #0004;--sheet-backdrop:#0b0c0faa}}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}input::placeholder{color:var(--muted);opacity:1}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--main);outline-offset:3px}a{color:var(--main)}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1px;font-size:28px;font-weight:500;line-height:1.3}h3{font-size:16px;font-weight:500}h4{font-size:14px;font-weight:500}small{font-size:12px}svg{stroke-width:1.7px;flex-shrink:0}fieldset{border:0;min-width:0;margin:0;padding:0}.hint{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.eyebrow{letter-spacing:1.3px;color:var(--muted);margin-bottom:5px;font-size:11px}.paper{background:var(--paper);border-radius:15px}.error{background:var(--warnbg);color:var(--error);overflow-wrap:anywhere;border-radius:10px;margin-bottom:14px;padding:12px;font-size:13px}.invisible{visibility:hidden}.primary,.outline{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 15px;font-size:13px;display:inline-flex}.primary{background:var(--main);color:var(--on)}.outline{border:1px solid var(--line);color:var(--main)}.text-button{min-height:44px;color:var(--main);justify-content:center;align-items:center;gap:5px;padding:6px 3px;font-size:12px;display:inline-flex}.icon-button{place-items:center;min-width:40px;min-height:44px;display:inline-grid}.full-width{width:100%}.actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.back{min-height:44px;color:var(--main);align-items:center;gap:6px;margin-bottom:5px;padding:0;font-size:12px;display:flex}.app-shell{flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin:auto;display:flex}.app-header{justify-content:space-between;align-items:center;gap:12px;padding:26px 20px 16px;display:flex}.app-header .eyebrow{overflow-wrap:anywhere;max-width:240px}.header-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.account-button{color:var(--sub)}.account-button[aria-pressed=true]{color:var(--main)}.add-button{background:var(--main);width:44px;height:44px;color:var(--on);border-radius:50%;place-items:center;display:grid}.content{flex:1;min-width:0;padding:0 20px 20px}.section-title{justify-content:space-between;align-items:center;gap:8px;min-height:27px;margin:18px 0 9px;display:flex}.section-title .text-button{margin:-8px 0;font-size:12px}.empty{color:var(--muted);padding:24px 2px;font-size:13px}.welcome-empty{padding:36px 2px}.welcome-empty h3{max-width:245px;margin:8px 0 22px;font-size:19px;line-height:1.7}.notice{min-height:24px;color:var(--main);overflow-wrap:anywhere;margin-top:14px;font-size:12px}.notice .text-button{margin-left:7px}.bottom-nav{z-index:3;padding:8px 12px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid;position:sticky;bottom:0}.bottom-nav button{min-height:53px;color:var(--sub);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.bottom-nav button[aria-pressed=true]{background:var(--soft);color:var(--main)}.calendar-toolbar{justify-content:space-between;align-items:center;gap:4px;min-height:44px;margin-bottom:7px;display:flex}.calendar-toolbar strong{white-space:nowrap;font-size:14px;font-weight:500}.calendar-toolbar>div{align-items:center;display:flex}.calendar-toolbar button{color:var(--main);min-width:40px;min-height:44px;padding:5px;font-size:12px}.calendar-toolbar .icon-button{padding:0}.month-grid,.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:14px;display:grid}.month-grid>small{text-align:center;color:var(--sub);padding:5px 0;font-size:11px}.calendar-day{border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:44px;padding:5px 1px;font-size:14px;display:flex;position:relative}.week-grid .calendar-day{min-height:64px;font-size:15px}.calendar-day small{color:var(--sub);font-size:11px}.calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px var(--line)}.calendar-day[aria-pressed=true]{background:var(--main);color:var(--on);box-shadow:none}.calendar-day[aria-pressed=true] small{color:inherit}.day-mark{opacity:.65;background:currentColor;border-radius:50%;width:4px;height:4px}.view-switch{border-bottom:1px solid var(--line);gap:3px;margin:12px 0 8px;display:flex}.view-switch button{min-height:44px;color:var(--sub);border-bottom:2px solid #0000;padding:6px 14px;font-size:13px}.view-switch button[aria-pressed=true]{color:var(--main);border-color:var(--main)}.task-list{padding:0 12px}.task-row{border-bottom:1px solid var(--line);align-items:center;gap:1px;min-height:60px;display:flex}.task-row:last-child{border:0}.task-check{cursor:pointer;place-items:center;min-width:44px;min-height:44px;margin-left:-10px;display:grid}.task-check input{appearance:none;border:1.5px solid var(--sub);cursor:pointer;border-radius:7px;place-items:center;width:23px;height:23px;margin:0;display:grid}.task-check input:checked{background:var(--main);border-color:var(--main)}.task-check input:checked:after{content:"✓";color:var(--on);font-size:16px}.task-copy{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;min-height:50px;padding:8px 0;display:flex}.task-copy>span{overflow-wrap:anywhere;flex:1;min-width:0}.task-copy small{color:var(--muted);text-align:right;align-items:center;gap:2px;max-width:46%;font-size:11px;display:flex}.completed{color:var(--muted);text-decoration:line-through}.attention{color:var(--warn)}.detail{padding:17px}.detail h3{overflow-wrap:anywhere;font-size:21px;line-height:1.6}.detail dl,.restore-preview dl{margin:13px 0}.detail dl>div,.restore-preview dl>div{border-bottom:1px solid var(--line);grid-template-columns:80px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.detail dt,.restore-preview dt{color:var(--sub);font-size:12px}dd{overflow-wrap:anywhere;margin:0}.detail-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.history{margin-top:15px}.history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;font-size:12px;display:flex}.history-row small{color:var(--sub);font-size:10px;display:block}.form{gap:12px;padding:16px;display:grid}.form>fieldset,.restore-preview>fieldset{gap:12px;display:grid}.form label{gap:6px;font-size:12px;display:grid}.form input:not([type=radio]):not([type=checkbox]):not([type=file]){background:var(--bg);border:1px solid var(--line);border-radius:9px;width:100%;min-width:0;min-height:44px;padding:9px 10px;font-size:16px}.types{flex-wrap:wrap;gap:8px;display:flex}.types legend{margin-bottom:7px;font-size:12px}.types label{background:var(--bg);border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:9px 11px;font-size:13px;display:flex}.types label:has(input:checked){background:var(--soft);border-color:var(--main);color:var(--main)}.types label:has(input:disabled){opacity:.45}.types input{width:16px;min-width:16px;height:16px;accent-color:var(--main);margin:0}.date-field{align-items:center;gap:10px;display:flex}.date-field input{flex:1}.date-field .text-button{flex-shrink:0}summary{min-height:44px;color:var(--main);cursor:pointer;align-items:center;gap:6px;font-size:12px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:before{content:"＋"}details[open]>summary:before{content:"−"}details label+label{margin-top:12px}.check-label{line-height:1.8;align-items:flex-start!important;gap:8px!important;display:flex!important}.check-label input{width:18px;min-width:18px;height:18px;accent-color:var(--main);margin:3px 0 0}.account-sections{gap:14px;display:grid}.account-identity{padding:18px}.account-identity h3{overflow-wrap:anywhere;font-size:20px}.account-link{text-align:left;justify-content:space-between;align-items:center;min-height:56px;padding:16px;display:flex}.logout{justify-self:center}.upload-label{border:1px dashed var(--line);border-radius:10px;padding:12px}.upload-label input{max-width:100%;margin-top:4px;font-size:12px}.restore-preview{border-top:1px solid var(--line);padding-top:12px}.recovery-row{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;font-size:11px;display:flex}.user-list{padding:0 14px}.user-row{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:15px 0}.user-row:last-child{border:0}.user-row strong{font-weight:500}.user-actions{justify-content:flex-end;gap:18px;margin-top:5px;display:flex}.credential{border:1px solid var(--main);margin-bottom:15px;padding:16px}.credential code{overflow-wrap:anywhere;letter-spacing:.5px;padding:12px 0;font-size:17px;display:block}.credential p{font-size:12px}.auth-page{flex-direction:column;justify-content:center;width:100%;max-width:440px;min-height:100dvh;margin:0 auto;padding:40px 24px clamp(80px,20dvh,180px);display:flex}.brand-mark{letter-spacing:-2px;color:var(--on);background:var(--main);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:28px;font-size:22px;display:flex;position:relative}.brand-mark span{background:var(--on);border-radius:50%;width:6px;height:6px;position:absolute;bottom:11px;right:11px}.auth-page h1{margin:7px 0 12px;font-size:30px}.auth-intro{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.8}.auth-note{text-align:center;color:var(--muted);margin-top:18px;font-size:11px;line-height:1.8}.auth-page>.text-button{margin-top:12px}.loading-screen{min-height:100vh;color:var(--sub);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=600px){body{background:var(--paper)}.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--bg)}.auth-page{background:var(--bg);border:1px solid var(--line);border-radius:24px;min-height:calc(100dvh - 64px);margin:32px auto}}@media (width<=360px){.app-header{padding:22px 16px 14px}.content{padding-left:16px;padding-right:16px}h1{font-size:25px}.form{padding:13px}.types{gap:6px}.types label{padding:9px;font-size:12px}.calendar-toolbar button{min-width:37px}.task-copy{gap:6px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}body{background:var(--bg)}.app-shell{background:var(--bg);border:0;max-width:480px}.app-header{padding:22px 22px 0;display:block}.app-brand-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:20px;display:flex}.app-wordmark{min-width:0}.app-wordmark strong{letter-spacing:1px;font-size:15px;font-weight:700}.app-wordmark small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:10px;display:block}.header-actions{gap:var(--space-2)}.app-shell .account-button{border:1px solid var(--line);width:40px;height:40px;color:var(--main);background:var(--paper);border-radius:50%}.app-shell .add-button{width:40px;height:40px}.app-shell .content{padding:0 22px calc(130px + env(safe-area-inset-bottom))}.app-shell h1{font-weight:600}.desk-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-2);display:flex}.desk-hero h1{letter-spacing:-1px;margin-top:6px;font-size:32px}.date-label{color:var(--muted);letter-spacing:.5px;font-size:11px}.date-pill{border:1px solid var(--olive-line);background:var(--soft);color:var(--sub);min-height:40px;font:11px var(--number-font);letter-spacing:1px;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:6px 9px;display:flex}.desk-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 19px;display:grid}.desk-stat{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:var(--olive);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:5px;min-width:0;min-height:68px;padding:9px 12px;display:grid}.stat-top{color:var(--sub);justify-content:space-between;align-items:center;gap:5px;font-size:11px;display:flex}.desk-stat strong{font:27px/1.1 var(--number-font);letter-spacing:-1px;overflow-wrap:anywhere;margin:0;display:block}.desk-stat strong small{letter-spacing:0;margin-left:6px;font:11px PingFang SC,Microsoft YaHei,sans-serif}.stat-bottom{color:var(--sub);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:5px;font-size:10px;display:flex}.desk-stat.expiring{background:var(--expiry-bg,#315d46);color:var(--expiry-ink,#f5f2e5);border-color:var(--expiry-bg,#315d46)}.desk-stat.expiring .stat-top{color:var(--expiry-title,#c8d5b6)}.desk-stat.expiring .stat-bottom{color:var(--expiry-muted,#d9c69c)}.desk-stat.expiring strong small{color:var(--expiry-muted,#cad6bd)}.desk-priority{background:var(--warnbg);border-left:3px solid var(--priority-edge,#ae7c47);margin-bottom:var(--space-5);color:var(--warn);border-radius:0 6px 6px 0;align-items:center;gap:10px;padding:10px 12px;display:flex}.priority-day{font:20px var(--number-font);border-right:1px solid var(--priority-separator,#ae7c4750);flex-shrink:0;padding-right:10px}.priority-day small{letter-spacing:1px;margin-top:4px;font:9px PingFang SC,Microsoft YaHei,sans-serif;display:block}.desk-priority button{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0;min-height:44px;padding:0;font-size:12px;line-height:1.7}.desk-priority button small{opacity:.85;font-size:10px;display:block}.app-shell .section-title{gap:var(--space-2);min-height:30px;margin:22px 0 10px}.section-title h2{flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0;font-size:15px;font-weight:600;display:flex}.section-title h2 small{color:var(--muted);font-size:10px;font-weight:400}.app-shell .section-title .text-button{color:var(--sub);min-height:36px;margin:0;padding:2px 0;font-size:11px}.heading-actions{flex-shrink:0;gap:10px;display:flex}.desk-daily>.section-title{margin-top:0}.app-shell .paper{border-radius:var(--radius)}.app-shell .task-list{padding:1px 13px}.app-shell .task-row{gap:1px;min-height:48px}.app-shell .task-check input{border-width:1px;border-color:var(--muted);border-radius:50%;width:19px;height:19px}.app-shell .task-check input:checked{border-color:var(--main)}.app-shell .task-check input:checked:after{font-size:13px}.app-shell .task-copy{gap:8px;padding:9px 0;font-size:13px}.task-info{display:block}.app-shell .task-copy small{color:var(--muted);text-align:left;max-width:none;margin-top:3px;font-size:10px;display:block}.task-copy>svg{color:var(--muted)}.desk-two{margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:11px;display:grid}.desk-two>:only-child{grid-column:1/-1}.desk-buy{background:var(--soft);border-radius:10px;min-width:0;padding:13px}.desk-two .section-title{margin-top:0;margin-bottom:6px}.desk-two .section-title h2{gap:5px;font-size:13px}.desk-two .section-title .text-button{font-size:10px}.shopping-row{border-bottom:1px solid var(--olive-line);align-items:center;gap:0;display:flex}.shopping-row:last-child{border-bottom:0}.desk-next{min-width:0;padding:2px 0 0 2px}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:7px;padding:8px 0;display:flex;position:relative}.timeline li:before{content:"";background:var(--line);width:1px;position:absolute;top:23px;bottom:-13px;left:36px}.timeline li:last-child:before{display:none}.timeline time{font:17px var(--number-font);flex-shrink:0;width:27px;padding-top:2px}.timeline time small{color:var(--muted);margin-top:3px;font:9px PingFang SC,Microsoft YaHei,sans-serif;display:block}.timeline-dot{background:var(--timeline-dot,var(--main));border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:6px;position:relative}.timeline button{text-align:left;overflow-wrap:anywhere;min-width:0;min-height:44px;padding:0 0 0 1px;font-size:12px;line-height:1.6}.timeline button small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.desk-anytime{margin-top:16px}.desk-anytime .task-list{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1px 13px}.desk-anytime .task-row{font-size:12px}.all-done{color:var(--muted);text-align:center;letter-spacing:1px;padding:24px 0 0;font-size:10px}.ticket-strip{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;align-items:stretch;gap:10px;margin:0 -22px;padding:0 22px 8px;scroll-padding-inline:22px;display:flex;overflow-x:auto}.ticket-strip>.ticket,.ticket-strip>.balance-card{scroll-snap-align:start;flex:0 0 252px;min-height:138px}.ticket{border:1px solid var(--line);background:var(--ticket);border-radius:9px;min-height:116px;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.ticket-main{text-align:left;flex:1;min-width:0;padding:14px}.ticket-name{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5}.ticket-source{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:10px}.ticket-expiry{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin-top:13px;font-size:11px;display:flex}.ticket-expiry.attention{color:var(--warn)}.ticket-expiry time{font:10px var(--number-font);color:var(--muted);margin-left:auto}.ticket-stub{border-left:1px dashed var(--ticket-line,#b8c19d);background:var(--stub);width:76px;color:var(--main);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:8px 4px;display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";background:var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;left:-6px}.ticket-stub:before{top:-6px}.ticket-stub:after{bottom:-6px}.ticket-stub b{font:27px var(--number-font);overflow-wrap:anywhere;max-width:100%}.ticket-stub>span{text-align:center;font-size:9px}.ticket-stub .barcode{opacity:.18;background:repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 3px,currentColor 3px 5px,#0000 5px 7px);width:31px;height:15px;margin-top:7px}.urgent-ticket{border-color:var(--urgent-ticket-line,#d9bb95)}.balance-card{background:var(--balance);width:100%;min-width:0;min-height:160px;color:var(--balance-text);box-shadow:inset 0 0 0 1px var(--balance-stroke,transparent);text-align:left;border-radius:9px;margin:0 0 12px;padding:20px;display:block;position:relative;overflow:hidden}.balance-brand{justify-content:space-between;align-items:flex-start;gap:10px;font-size:13px;display:flex}.balance-brand>span{overflow-wrap:anywhere;min-width:0}.balance-number{color:var(--balance-number,inherit);font:clamp(26px, 8vw, 36px)/1.2 var(--number-font);letter-spacing:-1px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:24px 0 15px;display:block}.balance-number small{margin-right:5px;font-size:18px}.balance-number.unknown-balance{opacity:.7;letter-spacing:0;font:16px PingFang SC,Microsoft YaHei,sans-serif}.balance-bottom{opacity:.8;justify-content:space-between;align-items:flex-end;gap:10px;font-size:10px;display:flex}.balance-bottom>span{overflow-wrap:anywhere;min-width:0}.balance-bottom>span:last-child{text-align:right;flex-shrink:0}.balance-card.secondary .balance-number{color:var(--balance-secondary-number,inherit)}.balance-card.secondary{background:var(--balance-secondary);color:var(--text);box-shadow:inset 0 0 0 1px var(--balance-secondary-stroke,transparent)}.balance-card:after{content:"";pointer-events:none;opacity:.07;border:1px solid;border-radius:50%;width:160px;height:160px;position:absolute;top:20px;right:-50px}.mini-balance{padding:15px}.mini-balance .balance-number{margin:10px 0;font-size:29px}.mini-balance .balance-number.unknown-balance{font-size:16px}.mini-balance .balance-number small{font-size:15px}.mini-balance .balance-bottom{font-size:9px}.desk-page-top{border-left:3px solid var(--page-rule,#567853);margin:5px 0 20px;padding-left:13px}.desk-page-top .eyebrow{letter-spacing:1px;margin-bottom:6px;font-size:9px}.page-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.page-heading h1{min-width:0;font-size:29px}.summary-line{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.8}.desk-tabs{background:var(--soft);border-radius:var(--radius-small);gap:4px;margin:0 0 15px;padding:4px;display:flex}.desk-tabs button{min-width:0;min-height:40px;color:var(--muted);border-radius:4px;flex:1;padding:8px 4px;font-size:12px}.desk-tabs button[aria-pressed=true]{background:var(--paper);color:var(--main);box-shadow:var(--shadow);font-weight:600}.desk-tabs small{margin-left:5px;font-size:10px}.list-tools{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:15px 0;display:flex}.list-tools .view-switch{border:1px solid var(--line);background:var(--paper);border-radius:6px;margin:0;padding:3px;display:flex}.list-tools .view-switch button{border:0;border-radius:4px;min-height:36px;padding:5px 9px;font-size:11px}.list-tools .view-switch button[aria-pressed=true]{background:var(--main);color:var(--on)}.date-filter{color:var(--muted);font-size:10px}.date-filter select{color:var(--text);font:inherit;background:0 0;border:0;max-width:110px;min-height:40px;padding:5px}.date-filter option{background:var(--paper);color:var(--text)}.app-shell .calendar{background:var(--paper);border-radius:var(--radius);margin:0 0 15px;padding:12px}.app-shell .calendar-toolbar strong{font-size:13px}.app-shell .calendar-toolbar button{min-width:35px;font-size:11px}.app-shell .calendar-day{border-radius:8px}.app-shell .month-grid{margin-bottom:0}.add-another{margin-top:20px;font-size:12px}.desk-wallet-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 16px;display:grid}.desk-wallet-metrics button{border:1px solid var(--line);background:var(--soft);text-align:left;border-radius:8px;min-width:0;padding:12px}.desk-wallet-metrics button:last-child{background:var(--warnbg)}.desk-wallet-metrics strong{font:27px var(--number-font);overflow-wrap:anywhere}.desk-wallet-metrics strong.large-amount{font-size:clamp(12px,3.4vw,17px)}.desk-wallet-metrics small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.desk-wallet-metrics span{margin-left:4px;font-size:10px}.wallet-categories{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.wallet-categories button{border:1px solid var(--line);color:var(--muted);border-radius:20px;min-height:36px;padding:7px 11px;font-size:11px}.wallet-categories button[aria-pressed=true]{background:var(--main);color:var(--on);border-color:var(--main)}.spend-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.spend-form label{color:var(--sub);font-size:12px}.spend-form>div{gap:8px;margin-top:8px;display:flex}.spend-form input{border:1px solid var(--line);background:var(--bg);border-radius:7px;flex:1;width:100%;min-width:0;padding:10px}.spend-form .primary{flex-shrink:0}.spend-form .error{margin-top:10px}.spend-hint{margin-top:16px}.app-shell .bottom-nav{background:var(--nav);width:100%;max-width:480px;padding:8px 12px calc(10px + env(safe-area-inset-bottom));z-index:5;gap:0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.app-shell .bottom-nav button{min-height:52px;color:var(--muted);border-radius:0;gap:5px;font-size:10px;position:relative}.app-shell .bottom-nav button[aria-pressed=true]{color:var(--main);background:0 0;font-weight:600}.bottom-nav button[aria-current=page]:before{content:"";background:var(--main);width:22px;height:2px;position:absolute;top:-9px}.app-shell .notice:empty{display:none}.app-shell .notice:not(:empty){bottom:calc(88px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:6;box-shadow:var(--shadow);border-radius:7px;max-width:calc(100% - 32px);padding:7px 13px;font-size:11px;position:fixed;left:50%;transform:translate(-50%)}.app-shell .notice .text-button{color:inherit;min-height:30px;font-size:11px}@media (width<=374px){.app-header,.app-shell .content{padding-left:16px;padding-right:16px}.desk-hero h1{font-size:28px}.desk-stat{padding:9px 10px}.desk-two{gap:9px}.desk-buy{padding:10px}.desk-two .section-title{flex-wrap:wrap;align-items:flex-start;gap:0}.desk-two .section-title .text-button{min-height:30px}.ticket-strip{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;scroll-padding-inline:16px}.heading-actions{gap:7px}}@media (width<=339px){.desk-two{grid-template-columns:minmax(0,1fr)}.desk-hero h1{font-size:25px}.desk-wallet-metrics strong{font-size:24px}}.app-shell .task-copy small:empty{display:none}.shopping-toggle{cursor:pointer;overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;min-width:0;min-height:48px;padding:8px 0;font-size:12px;display:flex;position:relative}.shopping-toggle input{opacity:0;width:1px;height:1px;position:absolute}.shopping-toggle:has(input:focus-visible){outline:2px solid var(--main);outline-offset:2px}.shopping-toggle:has(input:disabled){opacity:.55;cursor:wait}.shopping-box{border:1px solid var(--sub);border-radius:4px;flex:0 0 16px;place-items:center;width:16px;height:16px;display:grid}.shopping-toggle:has(input:checked) .shopping-box{background:var(--main);color:var(--on);border-color:var(--main)}.bought .shopping-toggle>span:last-child{color:var(--muted);text-decoration:line-through}.shopping-row>.shopping-more{min-width:44px;min-height:44px;color:var(--sub);flex:0 0 44px;justify-content:center;align-self:stretch;place-items:center;padding:0;display:grid}.ticket-use{background:var(--main);width:100%;min-height:44px;color:var(--on);border-radius:5px;padding:6px 3px;font-size:11px}.balance-main{text-align:left;width:100%;color:inherit;padding:0;display:block}.balance-spend{border:1px solid;border-radius:6px;min-height:44px;margin-top:6px;margin-left:auto;padding:7px 12px;font-size:11px;display:block}.desk-priority .priority-use{background:var(--priority-action-bg,transparent);border:1px solid var(--priority-action-line,currentColor);text-align:center;border-radius:6px;flex:none;padding:6px 10px;font-size:11px}.bottom-sheet{border:1px solid var(--line);background:var(--bg);width:min(100%,560px);max-width:100%;max-height:none;color:var(--text);box-shadow:var(--sheet-shadow,0 -10px 60px #172d2026);border-bottom:0;border-radius:22px 22px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0;overflow:hidden;transform:translateY(-100%)}.bottom-sheet[open]{flex-direction:column;display:flex}.bottom-sheet::backdrop{background:var(--sheet-backdrop,#253e3459);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-header{border-bottom:1px solid var(--line);flex-shrink:0;padding:12px 20px 10px}.sheet-header:before{content:"";background:var(--line);border-radius:4px;width:38px;height:4px;margin:0 auto 8px;display:block}.sheet-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-heading h2{margin:0;font-size:20px;font-weight:600}.sheet-heading .icon-button{color:var(--sub);margin-right:-10px}.sheet-body{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 20px;scroll-padding:12px;overflow:auto}.sheet-footer{padding:12px 20px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex-shrink:0}.sheet-form{padding:0}.sheet-types{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.sheet-types legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sheet-types label{border-radius:7px;justify-content:center;gap:4px;padding:7px 4px;font-size:12px}.sheet-types input{width:13px;min-width:13px;height:13px}.bottom-sheet .detail{background:0 0;padding:0}.detail-content{border:1px solid var(--line);background:var(--paper);overflow-wrap:anywhere;border-radius:10px;margin-bottom:14px;padding:14px}.detail-content>small{color:var(--muted);font-size:11px}.detail-content h3{overflow-wrap:anywhere;margin-top:5px;font-size:19px}.sheet-footer .detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;margin:0;display:grid}.sheet-footer .detail-actions .primary{grid-column:1/-1}.app-shell .content>.error{z-index:7;width:min(440px,100% - 32px);max-height:40dvh;box-shadow:var(--shadow);position:fixed;top:12px;left:50%;overflow:auto;transform:translate(-50%)}.sheet-metrics{margin:0 0 20px}.sheet-metrics>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:12px 0;display:flex}.sheet-metrics dt{color:var(--sub);font-size:12px}.sheet-metrics dd{font:22px var(--number-font)}.spend-preview{color:var(--sub);justify-content:space-between;font-size:12px;display:flex}.spend-preview strong{color:var(--text);font:24px var(--number-font)}@media (width<=370px){.desk-two{gap:8px}.desk-buy{padding:10px}.shopping-toggle{gap:5px}.shopping-row>.shopping-more{flex-basis:36px;min-width:36px}.sheet-header,.sheet-body,.sheet-footer{padding-inline:16px}}.card-tools{align-items:center;gap:2px}.strip-arrow{border:1px solid var(--line);background:var(--paper);min-width:40px;min-height:44px;color:var(--sub);border-radius:6px;place-items:center;display:grid}
