@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{color-scheme:light;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f4f5f8;--surface-3: #eceef3;--border: #e7e9ef;--border-strong: #d6dae3;--text: #16181d;--text-dim: #616878;--text-faint: #99a0ae;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0fe;--accent-text: #ffffff;--accent-ring: rgba(79, 70, 229, .28);--danger: #d92d20;--danger-soft: #fef3f2;--success: #12805c;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 12px rgba(16, 24, 40, .07), 0 1px 3px rgba(16, 24, 40, .05);--shadow-lg: 0 16px 40px rgba(16, 24, 40, .14), 0 2px 8px rgba(16, 24, 40, .07);--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--appbar-h: 58px;--bottomnav-h: 62px;--star-red: #d64545;--star-orange: #e8730c;--star-yellow: #d9a406;--star-green: #2f9e44;--star-gray: #98a2b3;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--chart-grid: #ebedf2;--chart-axis: #8d94a3}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e1014;--surface: #16191f;--surface-2: #1c2027;--surface-3: #242932;--border: #262b33;--border-strong: #353c47;--text: #e9ebf0;--text-dim: #99a1b0;--text-faint: #6b7280;--accent: #818cf8;--accent-hover: #939dff;--accent-soft: #1e2140;--accent-text: #0e1014;--accent-ring: rgba(129, 140, 248, .32);--danger: #f97066;--danger-soft: #2a1614;--success: #47c08a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .55);--star-red: #f27272;--star-orange: #f79452;--star-yellow: #e8c35a;--star-green: #57c07d;--star-gray: #8a93a3;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--chart-grid: #262b33;--chart-axis: #7e8695}}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1014;--surface: #16191f;--surface-2: #1c2027;--surface-3: #242932;--border: #262b33;--border-strong: #353c47;--text: #e9ebf0;--text-dim: #99a1b0;--text-faint: #6b7280;--accent: #818cf8;--accent-hover: #939dff;--accent-soft: #1e2140;--accent-text: #0e1014;--accent-ring: rgba(129, 140, 248, .32);--danger: #f97066;--danger-soft: #2a1614;--success: #47c08a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .55);--star-red: #f27272;--star-orange: #f79452;--star-yellow: #e8c35a;--star-green: #57c07d;--star-gray: #8a93a3;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--chart-grid: #262b33;--chart-axis: #7e8695}:root[data-theme=light]{color-scheme:light}:root[data-accent=indigo]{--accent: #4f46e5;--accent: light-dark(#4f46e5, #818cf8);--accent-hover: #4338ca;--accent-hover: light-dark(#4338ca, #939dff);--accent-soft: #eef0fe;--accent-soft: light-dark(#eef0fe, #1e2140);--accent-ring: rgba(79, 70, 229, .28);--accent-ring: light-dark(rgba(79, 70, 229, .28), rgba(129, 140, 248, .32))}:root[data-accent=blue]{--accent: #2563eb;--accent: light-dark(#2563eb, #60a5fa);--accent-hover: #1d4ed8;--accent-hover: light-dark(#1d4ed8, #7db8ff);--accent-soft: #e8eefc;--accent-soft: light-dark(#e8eefc, #16233c);--accent-ring: rgba(37, 99, 235, .28);--accent-ring: light-dark(rgba(37, 99, 235, .28), rgba(96, 165, 250, .32))}:root[data-accent=teal]{--accent: #0f766e;--accent: light-dark(#0f766e, #2dd4bf);--accent-hover: #115e59;--accent-hover: light-dark(#115e59, #5ae0d0);--accent-soft: #e2f3f1;--accent-soft: light-dark(#e2f3f1, #10302d);--accent-ring: rgba(15, 118, 110, .28);--accent-ring: light-dark(rgba(15, 118, 110, .28), rgba(45, 212, 191, .32))}:root[data-accent=green]{--accent: #15803d;--accent: light-dark(#15803d, #4ade80);--accent-hover: #116632;--accent-hover: light-dark(#116632, #6ee79b);--accent-soft: #e4f3e8;--accent-soft: light-dark(#e4f3e8, #142b1c);--accent-ring: rgba(21, 128, 61, .28);--accent-ring: light-dark(rgba(21, 128, 61, .28), rgba(74, 222, 128, .32))}:root[data-accent=orange]{--accent: #c2410c;--accent: light-dark(#c2410c, #fb923c);--accent-hover: #9a3412;--accent-hover: light-dark(#9a3412, #fdad68);--accent-soft: #fdeee6;--accent-soft: light-dark(#fdeee6, #331c0e);--accent-ring: rgba(194, 65, 12, .28);--accent-ring: light-dark(rgba(194, 65, 12, .28), rgba(251, 146, 60, .32))}:root[data-accent=rose]{--accent: #be185d;--accent: light-dark(#be185d, #fb7185);--accent-hover: #9d174d;--accent-hover: light-dark(#9d174d, #fd8fa0);--accent-soft: #fceaf1;--accent-soft: light-dark(#fceaf1, #331420);--accent-ring: rgba(190, 24, 93, .28);--accent-ring: light-dark(rgba(190, 24, 93, .28), rgba(251, 113, 133, .32))}.swatches{display:flex;gap:7px;padding:4px 11px 2px;flex-wrap:wrap}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;background-clip:padding-box;transition:transform .12s ease,box-shadow .12s ease}.swatch:hover{transform:scale(1.1)}.swatch.is-active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentColor}.swatch--indigo{background:#4f46e5;background:light-dark(#4f46e5,#818cf8);color:light-dark(#4f46e5,#818cf8)}.swatch--blue{background:#2563eb;background:light-dark(#2563eb,#60a5fa);color:light-dark(#2563eb,#60a5fa)}.swatch--teal{background:#0f766e;background:light-dark(#0f766e,#2dd4bf);color:light-dark(#0f766e,#2dd4bf)}.swatch--green{background:#15803d;background:light-dark(#15803d,#4ade80);color:light-dark(#15803d,#4ade80)}.swatch--orange{background:#c2410c;background:light-dark(#c2410c,#fb923c);color:light-dark(#c2410c,#fb923c)}.swatch--rose{background:#be185d;background:light-dark(#be185d,#fb7185);color:light-dark(#be185d,#fb7185)}.swatch__tick{color:light-dark(#fff,#0e1014)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:Vazirmatn,Segoe UI,Tahoma,sans-serif;background:var(--bg);color:var(--text);font-size:14.5px;line-height:1.65;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}input,textarea,select,button{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{min-height:100dvh;display:flex;flex-direction:column}.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:4px;padding:0 10px;padding-top:env(safe-area-inset-top);height:calc(var(--appbar-h) + env(safe-area-inset-top));background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.appbar__title{font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin:0 6px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout{flex:1;display:flex;min-height:0}.sidebar{display:none;width:252px;flex:none;border-inline-end:1px solid var(--border);background:var(--surface);padding:12px 10px 20px;gap:1px;flex-direction:column;position:sticky;top:calc(var(--appbar-h) + env(safe-area-inset-top));height:calc(100dvh - var(--appbar-h) - env(safe-area-inset-top));overflow-y:auto}.content{flex:1;min-width:0;padding:16px 12px calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + 28px)}@media(min-width:900px){.sidebar{display:flex;order:1}.content{order:2;padding:26px 32px 48px;max-width:860px;margin:0 auto}}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:var(--r-md);color:var(--text-dim);text-decoration:none;font-size:14px;font-weight:500;border:none;background:none;width:100%;text-align:start;cursor:pointer;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:700}.nav-item__icon{display:inline-flex;flex:none;opacity:.9}.nav-group{font-size:11px;letter-spacing:.04em;color:var(--text-faint);padding:16px 12px 5px;font-weight:600}.bottomnav{position:fixed;bottom:0;inset-inline:0;z-index:30;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--border)}.bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:500;color:var(--text-faint);text-decoration:none;border:none;background:none;cursor:pointer;padding:0;position:relative}.bottomnav__item.is-active{color:var(--accent);font-weight:700}.bottomnav__item.is-active:before{content:"";position:absolute;top:0;width:26px;height:2.5px;border-radius:0 0 3px 3px;background:var(--accent)}.drawer{position:fixed;inset:0;z-index:60}.drawer__backdrop{position:absolute;inset:0;background:#080a1080;animation:fade-in .15s ease-out}.drawer__panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(296px,86vw);background:var(--surface);padding:14px 10px calc(20px + env(safe-area-inset-bottom));padding-top:calc(14px + env(safe-area-inset-top));overflow-y:auto;box-shadow:var(--shadow-lg);animation:slide-in .2s cubic-bezier(.22,1,.36,1)}@keyframes slide-in{0%{transform:translate(18%);opacity:.5}to{transform:translate(0);opacity:1}}@keyframes fade-in{0%{opacity:0}}.seg{display:flex;gap:2px;margin:2px 10px 0;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.seg button{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:500;padding:5px 3px;border-radius:7px;cursor:pointer;transition:background .12s ease,color .12s ease}.seg button:hover{color:var(--text)}.seg button.is-active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.page__hint{color:var(--text-dim);font-size:13px;margin:0 0 16px;max-width:62ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:12px}.card__head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border)}.card__title{font-weight:700;font-size:14.5px;letter-spacing:-.006em;margin:0;flex:1;min-width:0}.card__meta{font-size:12px;color:var(--text-faint);font-weight:400;white-space:nowrap}.card__body{padding:5px 7px 7px}.count-pill{font-size:11.5px;font-weight:600;color:var(--text-dim);background:var(--surface-2);border-radius:999px;padding:1px 8px;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:7px 13px;font-size:13.5px;font-weight:500;cursor:pointer;min-height:36px;transition:background .12s ease,border-color .12s ease,transform .06s ease}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.985)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600;box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:disabled{opacity:.45;cursor:default;box-shadow:none}.btn--ghost{border-color:transparent;background:transparent;color:var(--text-dim)}.btn--ghost:hover{background:var(--surface-2);color:var(--text)}.btn--sm{min-height:30px;padding:3px 10px;font-size:12.5px}.icon-btn{width:32px;height:32px;min-height:32px;padding:0;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-faint);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .12s ease,color .12s ease}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.25;cursor:default}.icon-btn:disabled:hover{background:transparent;color:var(--text-faint)}.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn--on{color:var(--accent);background:var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text-dim);transition:background .12s ease,color .12s ease,border-color .12s ease}.chip:hover{background:var(--surface-2);color:var(--text)}.chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.chip.is-active:hover{background:var(--accent-hover)}.row{display:flex;align-items:flex-start;gap:8px;padding:9px 8px;border-radius:var(--r-md);position:relative;transition:background .12s ease}.row:hover{background:var(--surface-2)}.row--faded{opacity:.6}.row--done .row__title{text-decoration:line-through;text-decoration-thickness:1.2px;color:var(--text-faint)}.row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:1px}.row__line{display:flex;align-items:baseline;gap:6px;min-width:0}.row__title{word-break:break-word;font-size:14.5px;cursor:text;flex:1;min-width:0}.row__desc{font-size:12.5px;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;cursor:text}.row__note{font-size:11.5px;color:var(--text-faint)}.row__actions{display:flex;align-items:center;gap:1px;flex:none}.row__grip{display:flex;flex-direction:column;gap:0;flex:none}.row__grip .icon-btn{width:26px;height:18px;min-height:18px}.row__caret{width:24px;height:24px;min-height:24px;margin-top:3px;color:var(--text-faint)}@media(hover:hover)and (min-width:681px){.row__more{display:none}.row__actions{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);z-index:5;padding:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .12s ease}.row:hover .row__actions,.row:focus-within .row__actions,.row__actions.is-open{opacity:1;pointer-events:auto}}@media(hover:none),(max-width:680px){.row{flex-wrap:wrap;row-gap:0}.row__actions{display:none}.row__actions.is-open{display:flex;flex:1 0 100%;justify-content:flex-end;padding-top:2px;margin-top:4px;border-top:1px dashed var(--border)}.row__actions .icon-btn{width:36px;height:34px;min-height:34px}.row__grip .icon-btn{width:30px;height:17px;min-height:17px}}.check{width:20px;height:20px;min-height:20px;flex:none;margin-top:3px;border-radius:6px;border:1.6px solid var(--border-strong);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:transparent;transition:background .14s ease,border-color .14s ease}.check:hover{border-color:var(--accent)}.check svg{transform:scale(.4);opacity:0;transition:transform .16s cubic-bezier(.34,1.56,.64,1),opacity .1s ease}.check.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.check.is-on svg{transform:scale(1);opacity:1}.star-wrap{position:relative;display:inline-flex;flex:none}.star-btn{background:none;border:none;cursor:pointer;padding:0;width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-faint);display:inline-flex;align-items:center;justify-content:center;opacity:.4;transition:background .12s ease,opacity .12s ease}.star-btn.is-set{opacity:1}.row:hover .star-btn,.star-btn:hover,.star-btn:focus-visible{opacity:1}.star-btn:hover{background:var(--surface-2)}.star-pop{position:absolute;top:100%;inset-inline-end:0;margin-top:4px;z-index:40;display:flex;flex-direction:column;gap:1px;padding:5px;min-width:194px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:rise .14s ease-out}.star-pop__head{font-size:11px;font-weight:600;color:var(--text-faint);padding:3px 9px 5px}.star-pop__item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:var(--r-sm);border:none;background:transparent;cursor:pointer;text-align:start;font-size:13px;color:var(--text);transition:background .12s ease}.star-pop__item:hover{background:var(--surface-2)}.star-pop__item.is-active{background:var(--accent-soft);font-weight:600}.star-pop__item--clear{color:var(--text-dim);margin-top:3px;border-top:1px solid var(--border);border-radius:0 0 var(--r-sm) var(--r-sm);padding-top:9px}.star-pop__text{flex:1;min-width:0}.depth-pad{border-inline-start:1.5px solid var(--border);margin-inline-start:15px;padding-inline-start:7px}.input,.textarea,.select{width:100%;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);padding:8px 11px;font-size:14px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.textarea{min-height:76px;resize:vertical;line-height:1.6}.select{padding:4px 8px;font-size:12.5px;width:auto;color:var(--text-dim);border-radius:var(--r-sm)}.field{margin-bottom:12px}.field__label{font-size:12.5px;color:var(--text-dim);margin-bottom:5px;display:block;font-weight:500}.add-row{display:flex;gap:6px;padding:5px 6px 3px;align-items:center}.inline-input{flex:1;min-width:0;border:1px dashed var(--border-strong);background:transparent;border-radius:var(--r-md);padding:7px 11px;font-size:14px;outline:none;transition:border-color .12s ease,background .12s ease}.inline-input::placeholder{color:var(--text-faint)}.inline-input:focus{border-style:solid;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-ring)}.row__edit{flex:1;border:1px solid var(--accent);border-radius:var(--r-sm);padding:4px 8px;font-size:14.5px;outline:none;background:var(--surface);width:100%;box-shadow:0 0 0 3px var(--accent-ring)}.add-btn{width:34px;height:34px;min-height:34px;flex:none;padding:0;border-radius:var(--r-md)}.modal{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}@media(min-width:640px){.modal{align-items:center}}.modal__backdrop{position:absolute;inset:0;background:#080a108c;animation:fade-in .15s ease-out}.modal__panel{position:relative;background:var(--surface);width:min(520px,100%);max-height:88dvh;overflow-y:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:rise .22s cubic-bezier(.22,1,.36,1)}@keyframes rise{0%{transform:translateY(14px);opacity:.6}}@media(min-width:640px){.modal__panel{border-radius:var(--r-xl)}}.modal__title{margin:0 0 14px;font-size:16px;font-weight:700}.modal__actions{display:flex;gap:8px;justify-content:flex-start;margin-top:16px}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--text-faint);font-size:13px;padding:22px 12px}.empty svg{opacity:.45}.empty--tight{padding:12px;font-size:12.5px}.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}.sync-dot--pending{background:var(--star-yellow);box-shadow:0 0 0 3px color-mix(in srgb,var(--star-yellow) 20%,transparent)}.sync-dot--offline{background:var(--text-faint);box-shadow:none}.sync-dot--error{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 20%,transparent)}.week-nav{display:flex;align-items:center;gap:6px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:5px 6px}.week-nav__label{flex:1;text-align:center;font-weight:700;font-size:14.5px;letter-spacing:-.006em}.week-nav__sub{font-size:12px;font-weight:500;color:var(--text-faint);margin-inline-start:7px}.day-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-2);color:var(--text-dim);font-size:11.5px;font-weight:600;padding:1px 9px;flex:none}.day-badge--today{background:var(--accent);color:var(--accent-text)}.progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:12px}.progress__top{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.progress__label{font-size:13px;font-weight:600;flex:1}.progress__count{font-size:12.5px;color:var(--text-dim)}.progress__track{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress__fill{height:100%;border-radius:999px;background:var(--accent);transition:width .32s cubic-bezier(.22,1,.36,1)}.progress__fill--done{background:var(--success)}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.login__card{width:min(384px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:26px 24px;box-shadow:var(--shadow-md)}.login__mark{width:44px;height:44px;border-radius:13px;background:var(--accent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.login__title{margin:0 0 3px;font-size:19px;font-weight:700;letter-spacing:-.01em}.login__sub{margin:0 0 20px;color:var(--text-dim);font-size:13px}.error-text{color:var(--danger);font-size:13px;margin-top:10px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:13px 15px}.stat-tile__label{font-size:12px;color:var(--text-dim)}.stat-tile__value{font-size:25px;font-weight:700;line-height:1.35;letter-spacing:-.02em}.stat-tile__foot{font-size:11.5px;color:var(--text-faint)}.chart-tip{position:absolute;pointer-events:none;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px 11px;font-size:12.5px;white-space:nowrap;line-height:1.7}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text-dim);margin-top:10px}.legend__swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-inline-end:6px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:7px 9px;border-bottom:1px solid var(--border);text-align:start}.data-table th{color:var(--text-dim);font-weight:600;font-size:12px;white-space:nowrap}.data-table tbody tr:hover{background:var(--surface-2)}@media(min-width:900px){.bottomnav,.appbar__menu{display:none!important}}
