@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-arabic-400-normal-DMZFCm7K.woff2) format("woff2"),url(/assets/vazirmatn-arabic-400-normal-C4W5XURk.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-400-normal-DPxMaNjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-400-normal-BT_DHTc7.woff2) format("woff2"),url(/assets/vazirmatn-latin-400-normal-GKyMcI03.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-arabic-500-normal-C_lbnnKa.woff2) format("woff2"),url(/assets/vazirmatn-arabic-500-normal-Dqq3-xo3.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-ext-500-normal-CgxvvVrG.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-500-normal-4XgegWYb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/vazirmatn-latin-500-normal-6zZzgpg4.woff2) format("woff2"),url(/assets/vazirmatn-latin-500-normal-Bg_BALlD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-arabic-600-normal-CPKvAnd1.woff2) format("woff2"),url(/assets/vazirmatn-arabic-600-normal-CWYTfCgi.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-ext-600-normal-CyxCUfFz.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-600-normal-Di8rk35l.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/vazirmatn-latin-600-normal-D-zF-Oec.woff2) format("woff2"),url(/assets/vazirmatn-latin-600-normal-BxJiDPKT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-arabic-700-normal-Dge_DOjm.woff2) format("woff2"),url(/assets/vazirmatn-arabic-700-normal-B5nPuCFv.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2) format("woff2"),url(/assets/vazirmatn-latin-ext-700-normal-DMYLqBto.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-700-normal-9BlbvDRV.woff2) format("woff2"),url(/assets/vazirmatn-latin-700-normal-DrB0PBU6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent: #4f46e5;--accent-fg: #ffffff;--accent-hover: color-mix(in srgb, var(--accent) 86%, #000);--accent-soft: color-mix(in srgb, var(--accent) 10%, var(--surface));--accent-softer: color-mix(in srgb, var(--accent) 6%, var(--surface));--accent-ring: color-mix(in srgb, var(--accent) 30%, transparent);--accent-border: color-mix(in srgb, var(--accent) 28%, var(--border));--bg: #eef1f6;--surface: #ffffff;--surface-2: #f4f6fa;--surface-3: #e9edf4;--surface-hover: #f7f9fc;--overlay: rgba(15, 23, 42, .42);--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .16);--border-grid: rgba(15, 23, 42, .1);--fg: #0f172a;--fg-secondary: #475569;--fg-muted: #8794a8;--fg-faint: #b9c2d0;--positive: #047857;--positive-soft: #e8f7f0;--negative: #d11f3c;--negative-soft: #fdecef;--warning: #b45309;--warning-soft: #fdf3e3;--info: #0369a1;--info-soft: #e8f4fd;--shadow-1: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 1px rgba(15, 23, 42, .03);--shadow-2: 0 4px 12px -2px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-pop: 0 16px 40px -12px rgba(15, 23, 42, .24), 0 4px 12px -4px rgba(15, 23, 42, .1);--nav-bg: transparent;--nav-fg: var(--fg-secondary);--nav-fg-strong: var(--fg);--nav-muted: var(--fg-muted);--nav-hover: var(--surface-3);--nav-active-bg: var(--accent-soft);--nav-active-fg: var(--accent);--nav-border: var(--border);--nav-brand-fg: var(--fg);--app-bg-image: none;--app-bg-size: cover;--app-bg-overlay: rgba(238, 241, 246, .86);--app-bg-blur: 0px;--r-scale: 1;--r-sm: calc(6px * var(--r-scale));--r: calc(10px * var(--r-scale));--r-lg: calc(14px * var(--r-scale));--r-xl: calc(20px * var(--r-scale));--r-pill: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--ctl-h: 34px;--row-py: 9px;--card-p: 16px;--font-scale: 1;--sidebar-w: 252px;--sidebar-rail-w: 64px;--topbar-h: 56px;--bottomnav-h: 60px;--ease: cubic-bezier(.22, 1, .36, 1);--sans: "Vazirmatn", system-ui, -apple-system, sans-serif;--mono: "Vazirmatn", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}:root[data-theme=dark]{--bg: #0b1020;--surface: #131a2c;--surface-2: #1a2237;--surface-3: #232c44;--surface-hover: #1c2438;--overlay: rgba(2, 6, 16, .65);--border: rgba(148, 163, 184, .16);--border-strong: rgba(148, 163, 184, .3);--border-grid: rgba(148, 163, 184, .18);--fg: #eef2f9;--fg-secondary: #b3c0d4;--fg-muted: #7d8aa3;--fg-faint: #4d596e;--accent-hover: color-mix(in srgb, var(--accent) 82%, #fff);--accent-soft: color-mix(in srgb, var(--accent) 20%, var(--surface));--accent-softer: color-mix(in srgb, var(--accent) 12%, var(--surface));--positive: #34d399;--positive-soft: rgba(16, 185, 129, .14);--negative: #fb7185;--negative-soft: rgba(244, 63, 94, .14);--warning: #fbbf24;--warning-soft: rgba(245, 158, 11, .14);--info: #60a5fa;--info-soft: rgba(59, 130, 246, .14);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 14px -2px rgba(0, 0, 0, .5);--shadow-pop: 0 20px 48px -12px rgba(0, 0, 0, .7);--nav-hover: var(--surface-3);--app-bg-overlay: rgba(11, 16, 32, .88);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--fg);font-size:calc(14px * var(--font-scale));line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--app-bg-image);background-size:var(--app-bg-size);background-position:center;background-attachment:fixed;filter:blur(var(--app-bg-blur));transform:scale(1.06)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--app-bg-overlay);pointer-events:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--fg-faint);background-clip:content-box}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0}.ltr{direction:ltr;unicode-bidi:isolate}.h-page{font-size:calc(19px * var(--font-scale));font-weight:700;letter-spacing:-.02em;color:var(--fg);line-height:1.3}.h-section{font-size:calc(13.5px * var(--font-scale));font-weight:600;color:var(--fg)}.label{font-size:calc(11.5px * var(--font-scale));font-weight:500;color:var(--fg-muted);letter-spacing:.01em}.muted{color:var(--fg-muted)}.secondary{color:var(--fg-secondary)}.pos-text{color:var(--positive)}.neg-text{color:var(--negative)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.stack{display:flex;flex-direction:column;gap:var(--s3)}.row{display:flex;align-items:center;gap:var(--s2)}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.spacer{margin-inline-start:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--card-p);box-shadow:var(--shadow-1)}.card.flush{padding:0;overflow:hidden}.card.raised{box-shadow:var(--shadow-2)}.card.tint{background:var(--accent-softer);border-color:var(--accent-border)}.card-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--card-p);border-bottom:1px solid var(--border);background:var(--surface-2)}.card-body{padding:var(--card-p)}.badge{display:inline-flex;align-items:center;gap:var(--s1);padding:2px 8px;border-radius:var(--r-sm);font-size:calc(11px * var(--font-scale));font-weight:500;white-space:nowrap;border:1px solid var(--border);color:var(--fg-secondary);background:var(--surface-2);line-height:1.7}.badge.pos{color:var(--positive);background:var(--positive-soft);border-color:transparent}.badge.neg{color:var(--negative);background:var(--negative-soft);border-color:transparent}.badge.warn{color:var(--warning);background:var(--warning-soft);border-color:transparent}.badge.info{color:var(--info);background:var(--info-soft);border-color:transparent}.badge.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.chip-icon{width:34px;height:34px;flex-shrink:0;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-2);color:var(--fg-muted);border:1px solid var(--border)}.chip-icon.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip-icon.pos{background:var(--positive-soft);color:var(--positive);border-color:transparent}.chip-icon.neg{background:var(--negative-soft);color:var(--negative);border-color:transparent}.chip-icon.warn{background:var(--warning-soft);color:var(--warning);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:var(--ctl-h);padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font-size:calc(13px * var(--font-scale));font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-1);transition:background .14s var(--ease),border-color .14s var(--ease),transform 90ms var(--ease),color .14s var(--ease)}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--fg-faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-fg)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--fg-secondary)}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--fg)}.btn.soft{background:var(--accent-soft);color:var(--accent);border-color:transparent;box-shadow:none}.btn.danger{background:var(--negative-soft);color:var(--negative);border-color:transparent;box-shadow:none}.btn.danger:hover:not(:disabled){background:var(--negative);color:#fff}.btn.sm{height:calc(var(--ctl-h) - 6px);padding:0 10px;font-size:calc(12px * var(--font-scale))}.btn.lg{height:calc(var(--ctl-h) + 8px);padding:0 20px;font-size:calc(14px * var(--font-scale))}.btn.block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:var(--ctl-h);height:var(--ctl-h);flex-shrink:0;padding:0;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--fg-secondary);cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease)}.icon-btn:hover{background:var(--surface-2);color:var(--fg)}.icon-btn.bordered{border-color:var(--border-strong);background:var(--surface)}.icon-btn.sm{width:28px;height:28px}.icon-btn.danger:hover{background:var(--negative-soft);color:var(--negative)}.input,input[type=text],input[type=number],input[type=password],input[type=email],input[type=date],select.input,textarea.input{width:100%;height:var(--ctl-h);padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font-size:calc(13px * var(--font-scale));transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}textarea.input{height:auto;min-height:76px;padding:8px 10px;line-height:1.6;resize:vertical}.input:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--fg-faint)}.input:disabled,input:disabled{background:var(--surface-2);color:var(--fg-muted);cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s3) var(--s4)}.switch{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;flex-shrink:0;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease);padding:0}.switch:after{content:"";position:absolute;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform .16s var(--ease)}.switch[data-on=true]{background:var(--accent);border-color:transparent}.switch[data-on=true]:after{transform:translate(-18px)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);max-width:100%;overflow-x:auto}.field>.segmented,.field>.row>.segmented{align-self:flex-start}.segmented>button{border:none;background:transparent;color:var(--fg-secondary);padding:0 12px;height:calc(var(--ctl-h) - 8px);border-radius:calc(var(--r-sm) - 2px);font-size:calc(12.5px * var(--font-scale));font-weight:500;cursor:pointer;white-space:nowrap;transition:background .14s var(--ease),color .14s var(--ease)}.segmented>button:hover{color:var(--fg)}.segmented>button[aria-pressed=true],.segmented>button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-1)}.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:none;background:transparent;padding:10px 14px;font-size:calc(13px * var(--font-scale));font-weight:500;color:var(--fg-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .14s var(--ease),border-color .14s var(--ease)}.tab:hover{color:var(--fg)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-1);-webkit-overflow-scrolling:touch}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:calc(13px * var(--font-scale))}table.data thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);color:var(--fg-secondary);font-size:calc(11.5px * var(--font-scale));font-weight:600;letter-spacing:.01em;text-align:right;padding:var(--row-py) var(--s3);border-bottom:1px solid var(--border-strong);white-space:nowrap}table.data tbody td{padding:var(--row-py) var(--s3);border-bottom:1px solid var(--border);color:var(--fg-secondary);white-space:nowrap}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr:hover td{background:var(--surface-hover)}table.data.zebra tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}table.data.zebra tbody tr:hover td{background:var(--surface-hover)}table.data td.strong,table.data th.strong{color:var(--fg);font-weight:500}table.data .t-end{text-align:left}table.data .t-center{text-align:center}table.data tfoot td{position:sticky;bottom:0;z-index:2;padding:var(--row-py) var(--s3);border-top:1px solid var(--border-strong);font-weight:600;color:var(--fg);background:var(--surface-2);white-space:nowrap}table.data .sticky-col{position:sticky;inset-inline-start:0;z-index:2;background:var(--surface)}table.data thead .sticky-col,table.data tfoot .sticky-col{z-index:4;background:var(--surface-2)}table.data.grid th,table.data.grid td{border-inline-end:1px solid var(--border-grid)}table.data.grid th:last-child,table.data.grid td:last-child{border-inline-end:none}:root[data-grid=on] table.data th,:root[data-grid=on] table.data td{border-inline-end:1px solid var(--border-grid)}:root[data-grid=on] table.data th:last-child,:root[data-grid=on] table.data td:last-child{border-inline-end:none}.matrix-wrap{direction:ltr;overflow:auto;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-1);-webkit-overflow-scrolling:touch}table.matrix{border-collapse:separate;border-spacing:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:calc(12.5px * var(--font-scale));width:max-content;min-width:100%}table.matrix th,table.matrix td{border-right:1px solid var(--border-grid);border-bottom:1px solid var(--border-grid);padding:6px 10px;text-align:center;white-space:nowrap;min-width:58px}table.matrix th:last-child,table.matrix td:last-child{border-right:none}table.matrix thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);color:var(--fg-secondary);font-weight:700;border-bottom:2px solid var(--border-strong)}table.matrix th.rowhead,table.matrix td.rowhead{position:sticky;left:0;z-index:2;background:var(--surface-2);color:var(--fg);font-weight:700;border-right:2px solid var(--border-strong);text-align:center}table.matrix thead th.rowhead{z-index:5}table.matrix tbody td{background:var(--surface);color:var(--fg-muted)}table.matrix tbody td.has{color:var(--fg);font-weight:700}table.matrix tbody tr:hover td{background:var(--surface-hover)}table.matrix tbody tr:hover td.rowhead{background:var(--surface-3)}table.matrix .totalcell{background:var(--accent-softer)!important;color:var(--fg);font-weight:700}table.matrix tfoot td{position:sticky;bottom:0;z-index:3;background:var(--surface-2);color:var(--fg);font-weight:700;border-top:2px solid var(--border-strong)}table.matrix tfoot td.rowhead{z-index:5}table.matrix .colgroup-end{border-right:2px solid var(--border-strong)}.matrix-wrap.dense table.matrix th,.matrix-wrap.dense table.matrix td{padding:3px 6px;min-width:44px;font-size:calc(11.5px * var(--font-scale))}.rows-cards{display:flex;flex-direction:column;gap:var(--s2)}.row-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}.row-card-head{display:flex;align-items:center;gap:var(--s2);padding:10px var(--s3);background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:600;font-size:calc(13px * var(--font-scale));color:var(--fg)}.row-card-body{display:grid;grid-template-columns:auto 1fr;gap:0}.row-card-body>dt{padding:7px var(--s3);font-size:calc(11.5px * var(--font-scale));color:var(--fg-muted);border-bottom:1px solid var(--border);white-space:nowrap}.row-card-body>dd{padding:7px var(--s3);font-size:calc(12.5px * var(--font-scale));color:var(--fg);text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.row-card-body>dt:nth-last-of-type(1),.row-card-body>dd:nth-last-of-type(1){border-bottom:none}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s7) var(--s4);color:var(--fg-muted);font-size:calc(13px * var(--font-scale));text-align:center}.spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-enter{animation:fade-up .24s var(--ease) both}.app-shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--nav-bg);border-inline-start:1px solid var(--nav-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .2s var(--ease);z-index:30}.sidebar.rail{width:var(--sidebar-rail-w)}.sidebar-scroll{flex:1;overflow-y:auto;padding:var(--s2) var(--s3) var(--s4)}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:calc(13px * var(--font-scale));font-weight:500;color:var(--nav-fg);cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease);position:relative;white-space:nowrap}.nav-item:hover{background:var(--nav-hover);color:var(--nav-fg-strong)}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-fg);font-weight:600}.nav-item.active:before{content:"";position:absolute;inset-inline-end:calc(var(--s3) * -1);top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:var(--r-pill);background:var(--nav-active-fg);opacity:.9}.nav-group+.nav-group{margin-top:2px}.nav-group-btn{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;cursor:pointer;padding:8px 10px;margin-top:2px;border-radius:var(--r-sm);font-family:inherit;font-size:calc(11.5px * var(--font-scale));font-weight:600;color:var(--nav-muted);letter-spacing:.02em;transition:background .14s var(--ease),color .14s var(--ease)}.nav-group-btn:hover{background:var(--nav-hover);color:var(--nav-fg-strong)}.nav-group-btn.has-active{color:var(--nav-active-fg)}.nav-caret{flex-shrink:0;transition:transform .18s var(--ease);opacity:.75}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--nav-active-fg);flex-shrink:0}.nav-group-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s var(--ease),opacity .16s var(--ease);opacity:0;overflow:hidden;pointer-events:none}.nav-group-items.open{grid-template-rows:1fr;opacity:1;pointer-events:auto}.nav-group-inner{min-height:0;overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);z-index:25}.main{padding:var(--s5);flex:1;min-width:0}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;animation:fade-in .16s var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;inset-block:0;inset-inline-end:0;width:min(86vw,320px);background:var(--surface);border-inline-start:1px solid var(--border);z-index:61;display:flex;flex-direction:column;box-shadow:var(--shadow-pop);animation:slide-in .22s var(--ease)}@keyframes slide-in{0%{transform:translate(-100%)}to{transform:none}}.bottom-nav{display:none;position:fixed;inset-inline:0;bottom:0;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:40;align-items:stretch}.bottom-nav a,.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:transparent;color:var(--fg-muted);font-size:10.5px;font-weight:500;cursor:pointer;padding-top:6px}.bottom-nav .active{color:var(--accent)}.bottom-nav .fab{color:var(--accent-fg)}.bottom-nav .fab span.dot{width:40px;height:40px;border-radius:var(--r-pill);background:var(--accent);display:grid;place-items:center;box-shadow:var(--shadow-2);margin-top:-18px}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);width:min(96vw,560px);max-height:88vh;display:flex;flex-direction:column;animation:pop .2s var(--ease)}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:none}}.popover{position:absolute;z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-pop);padding:var(--s1);animation:pop .14s var(--ease)}.menu-item{display:flex;align-items:center;gap:var(--s2);width:100%;padding:8px 10px;border:none;background:transparent;border-radius:var(--r-sm);font-size:calc(13px * var(--font-scale));color:var(--fg-secondary);cursor:pointer;text-align:start}.menu-item:hover{background:var(--surface-2);color:var(--fg)}.dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);align-items:start}.dash-grid>.span-1{grid-column:span 1}.dash-grid>.span-2{grid-column:span 2}.dash-grid>.span-4{grid-column:span 4}.widget{position:relative;transition:box-shadow .16s var(--ease),transform .16s var(--ease)}.widget.editing{border-style:dashed;border-color:var(--accent-border);cursor:grab}.widget.editing:hover{box-shadow:var(--shadow-2)}.widget.drag-over{outline:2px dashed var(--accent);outline-offset:3px}.widget-tools{position:absolute;inset-inline-end:8px;top:8px;display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px;box-shadow:var(--shadow-2);z-index:2}@media (max-width: 1250px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid>.span-4{grid-column:span 2}}@media (max-width: 900px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);align-items:stretch}.dash-grid>.span-2,.dash-grid>.span-4{grid-column:span 2}.dash-grid .card{padding:var(--s3)}}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:var(--s4);align-items:start}.doc-side{position:sticky;top:calc(var(--topbar-h) + var(--s4));display:grid;gap:var(--s3)}@media (max-width: 1100px){.doc-layout{grid-template-columns:minmax(0,1fr)}.doc-side{position:static}}@media (max-width: 900px){.training-layout{flex-direction:column}.training-layout>aside{width:100%!important;position:static!important}.training-layout nav{max-height:260px!important}}.meter{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.meter>span{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent)}.toolbar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:10px var(--s3);box-shadow:var(--shadow-1);margin-bottom:var(--s3)}@media (max-width: 900px){:root{--card-p: 14px;--s5: 16px}.sidebar{display:none}.main{padding:var(--s4) var(--s3) calc(var(--bottomnav-h) + var(--s6))}.topbar{padding:0 var(--s3)}.bottom-nav{display:flex}.hide-sm{display:none!important}.toast-stack{bottom:calc(var(--bottomnav-h) + var(--s3))!important;inset-inline:var(--s3)!important;width:auto!important}.toolbar{gap:var(--s2)}.modal-card{width:100vw!important;max-width:100vw!important;max-height:92vh;border-radius:var(--r-lg) var(--r-lg) 0 0;margin-top:auto;animation:sheet-up .24s var(--ease)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.form-grid,.appearance-grid,.split-grid{grid-template-columns:1fr!important}.appearance-grid>.card:last-child,.ledger-list{position:static!important}.ledger-list-scroll{max-height:40vh!important}.btn{height:max(var(--ctl-h),38px)}.input,input,select.input{height:max(var(--ctl-h),40px);font-size:16px}}@media (min-width: 901px){.only-sm{display:none!important}}@media print{@page{margin:12mm}:root{--shadow-1: none;--shadow-2: none}html,body{background:#fff!important}body:before,body:after{display:none!important}.sidebar,.topbar,.bottom-nav,.no-print{display:none!important}.main{padding:0!important}.card{border-color:#ddd!important;box-shadow:none!important;break-inside:avoid}.table-wrap{overflow:visible!important;border-color:#999!important;box-shadow:none!important}table.data{width:100%!important;font-size:11px}table.data thead th{position:static!important;background:#f2f2f2!important;color:#000!important;border:1px solid #999!important}table.data thead{display:table-header-group}table.data tbody td{color:#000!important;border:1px solid #ddd!important}table.data tfoot td{position:static!important;background:#f2f2f2!important;color:#000!important;border:1px solid #999!important}table.data tbody tr{break-inside:avoid}.badge{border:1px solid #ccc!important;background:transparent!important;color:#000!important}.split-grid{display:block!important}.row-card{break-inside:avoid;box-shadow:none!important;border-color:#ccc!important}}
