*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#f5777f;--color-secondary:#083132;--bg:#f8f1e4;--bg-page:#f8f1e4;--surface:#fff;--surface2:#f3ede1;--border:#e2d9ca;--text:#1c1c1c;--text-heading:#083132;--muted:#6b6b6b;--accent:#f5777f;--accent-dark:#d95f67;--green:#4f7d5b;--red:#8b2e2e;--blue:#2e5fa3;--warning:#b45309;--danger:#8b2e2e;--nav-bg:#083132;--nav-text:#ffffff80;--nav-active:#f5777f;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-heading:"Playfair Display", Georgia, serif;--font-accent:"Caveat", cursive;--radius:12px;--radius-sm:8px;font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px}body{background:var(--bg-page);color:var(--text);overscroll-behavior:none;min-height:100dvh}#root{flex-direction:column;min-height:100dvh;display:flex}input,select,textarea,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none}a{color:inherit;text-decoration:none}td{font-variant-numeric:tabular-nums}:root{--sidebar-w:252px;--bar-h:60px;--shadow-sm:0 1px 2px #0831320f;--shadow-md:0 4px 16px #08313214;--ring:0 0 0 3px #f5777f59;--teal-tint:#08313212}html{-webkit-tap-highlight-color:transparent}::selection{background:#f5777f47}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}button:active:not(:disabled){transform:scale(.98)}button:disabled{cursor:not-allowed}input:focus,select:focus,textarea:focus{box-shadow:var(--ring);outline:none;border-color:var(--color-secondary)!important}input[type=search]::-webkit-search-cancel-button{display:none}*{scrollbar-width:thin;scrollbar-color:#08313238 transparent}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell-main{min-width:0;padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.shell-main>main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:12px;min-height:52px;padding:8px 60px 8px 12px;display:flex}.topbar-back{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:4px;padding:0 12px 0 8px;font-size:14px;font-weight:700;display:inline-flex}.topbar-back:hover{border-color:var(--color-secondary)}.topbar-title{flex-direction:column;min-width:0;line-height:1.2;display:flex}.topbar-title small{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.topbar-title b{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.sidebar{display:none}.bottom-bar{z-index:20;background:var(--nav-bg);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000001f}.bar-tab{min-width:0;min-height:var(--bar-h);color:var(--nav-text);letter-spacing:.2px;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 2px 7px;font-size:10.5px;font-weight:600;display:flex;position:relative}.bar-tab span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bar-tab.active{color:#fff}.bar-tab.active:before{content:"";background:var(--nav-active);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:28%;right:28%}.bar-tab.active svg{color:var(--nav-active)}.sheet-backdrop{z-index:50;background:#08313273;animation:.15s ease-out fade;position:fixed;inset:0}.sheet{z-index:51;background:var(--bg);padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;max-height:86dvh;animation:.2s ease-out rise;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0000002e}.sheet-handle{background:var(--border);border-radius:2px;flex-shrink:0;width:38px;height:4px;margin:0 auto 12px}.sheet-scroll{margin-top:10px;padding-bottom:4px;overflow-y:auto}.sheet .nav-list{grid-template-columns:1fr 1fr;gap:2px 8px;display:grid}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.nav-search{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--muted);border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:0 10px;display:flex}.nav-search input{min-width:0;color:var(--text);background:0 0;flex:1;height:100%;font-size:14px;box-shadow:none!important;border:none!important}.nav-search button{color:var(--muted);background:0 0;padding:4px;display:flex}.nav-search:focus-within{border-color:var(--color-secondary);box-shadow:var(--ring)}.nav-group{margin-bottom:10px}.nav-group-head{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:8px 10px 4px;font-size:11px;font-weight:700;display:flex}.nav-group-head:not(.static):hover{color:var(--text)}.chev{transition:transform .15s}.chev.folded{transform:rotate(-90deg)}.nav-row{width:100%;min-height:38px;color:var(--text);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:500;display:flex}.nav-row svg{color:var(--muted);flex-shrink:0}.nav-row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-row:hover{background:var(--teal-tint)}.nav-row.active{background:var(--color-secondary);color:#fff;font-weight:600}.nav-row.active svg{color:var(--color-primary)}.nav-empty{color:var(--muted);padding:12px 10px;font-size:13px}.nav-account{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.sheet .nav-account{border-top:none;grid-template-columns:1fr 1fr;gap:2px 8px;margin-top:0;padding-top:0;display:grid}@media (width>=960px){.bottom-bar,.sheet,.sheet-backdrop{display:none}.shell-main{margin-left:var(--sidebar-w);padding-bottom:0}.sidebar{width:var(--sidebar-w);z-index:30;background:var(--surface2);border-right:1px solid var(--border);flex-direction:column;gap:12px;padding:14px 10px 10px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{text-align:left;color:var(--text-heading);background:0 0;border-radius:10px;align-items:center;gap:10px;padding:4px 6px;display:flex}.sidebar-brand b{font-family:var(--font-heading);font-size:18px;font-weight:500;line-height:1.1;display:block}.sidebar-brand small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:12px;display:block;overflow:hidden}.sidebar-logo{background:var(--color-secondary);width:36px;height:36px;color:var(--color-primary);letter-spacing:.5px;border-radius:10px;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.sidebar-scroll{flex:1;margin:0 -4px;padding:0 4px;overflow-y:auto}.sidebar-scroll>.nav-row{margin-bottom:6px}.sidebar .nav-account .nav-row{min-height:34px;font-size:13.5px}.topbar-back span{display:none}.topbar-back{padding:0 9px}}.home{width:100%;max-width:1080px;margin:0 auto;padding:18px 16px 32px}.home-head{margin-bottom:16px;padding-right:52px}.home-date{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;font-size:12.5px;font-weight:600}.home-greeting{font-family:var(--font-heading);color:var(--text-heading);font-size:26px;font-weight:500;line-height:1.2}.home-search{border:1px solid var(--border);background:var(--surface);height:46px;color:var(--muted);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:10px;margin-bottom:22px;padding:0 14px;display:flex}.home-search input{min-width:0;height:100%;color:var(--text);background:0 0;flex:1;font-size:15px;box-shadow:none!important;border:none!important}.home-search button{color:var(--muted);background:0 0;padding:4px;display:flex}.home-search:focus-within{border-color:var(--color-secondary);box-shadow:var(--ring)}.home-section{margin-bottom:22px}.home-section-head{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;text-align:left;background:0 0;justify-content:space-between;align-items:center;min-height:28px;margin-bottom:10px;padding:2px;font-size:12px;font-weight:700;display:flex}button.home-section-head:hover{color:var(--text)}.home-section-meta{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.home-hint{color:var(--muted);margin:-2px 2px 12px;font-size:13px}.home-empty{color:var(--muted);padding:8px 2px 20px;font-size:14px}.pill{border:1px solid var(--border);background:var(--surface);color:var(--text);text-transform:none;letter-spacing:0;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:700}.pill.on{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.home-grid{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px;display:grid}.home-tile{border:1px solid var(--border);background:var(--surface);text-align:left;min-height:58px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:11px;padding:10px 12px;display:flex;position:relative}.home-tile:hover{box-shadow:var(--shadow-md);border-color:#08313259}.home-tile.pinned{background:#fffbef;border-color:#e0a100}.home-tile-icon{background:var(--teal-tint);width:36px;height:36px;color:var(--color-secondary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.home-tile:hover .home-tile-icon{background:var(--color-secondary);color:var(--color-primary)}.home-tile-text{flex-direction:column;gap:2px;min-width:0;padding-right:4px;display:flex}.home-tile-label{font-size:14px;font-weight:700;line-height:1.25}.home-tile-desc{color:var(--muted);font-size:12px;line-height:1.35;display:none}.home-tile-desc.always{display:block}.home-tile-star{color:#e0a100;flex-shrink:0;margin-left:auto}@media (width>=720px){.home{padding:28px 28px 40px}.home-greeting{font-size:30px}.home-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.home-tile{align-items:flex-start;min-height:76px;padding:13px 14px}.home-tile-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}
