@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-bengali-bengali-400-normal.0hjuty0iopwhr.woff2)format("woff2"),url(../media/noto-sans-bengali-bengali-400-normal.0bw4bw2s8z-2u.woff)format("woff");unicode-range:U+951-952,U+964-965,U+980-9FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-bengali-latin-ext-400-normal.1l3mx_a5y3cwe.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-ext-400-normal.07ej525m7xbrz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-bengali-latin-400-normal.1izdtszrz9z_q.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-400-normal.39n4k4e7l-j8b.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-bengali-bengali-600-normal.3qpprcn4fx-_4.woff2)format("woff2"),url(../media/noto-sans-bengali-bengali-600-normal.01ezvt64aooyj.woff)format("woff");unicode-range:U+951-952,U+964-965,U+980-9FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-bengali-latin-ext-600-normal.32s0201lm216l.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-ext-600-normal.0lksn22arv6lu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-bengali-latin-600-normal.3fmcbmj0bl66a.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-600-normal.1gerz-x_7q6gw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-bengali-bengali-700-normal.1zo_84gdki0xk.woff2)format("woff2"),url(../media/noto-sans-bengali-bengali-700-normal.0ju2d7r2hou1g.woff)format("woff");unicode-range:U+951-952,U+964-965,U+980-9FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}@font-face{font-family:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-bengali-latin-ext-700-normal.1kaxkyyf2bt9g.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-ext-700-normal.121os-vw_7utl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Bengali;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-bengali-latin-700-normal.1s499l2os57r5.woff2)format("woff2"),url(../media/noto-sans-bengali-latin-700-normal.2_9e4etn3vied.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-cyrillic-ext-400-normal.3vm4r-qr3_yee.woff2)format("woff2"),url(../media/inter-cyrillic-ext-400-normal.2e4vdgi7dy-n4.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-cyrillic-400-normal.1nwx-p2ngx2yg.woff2)format("woff2"),url(../media/inter-cyrillic-400-normal.2jms6gqb5gbhf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-greek-ext-400-normal.2gr4b827yb2_q.woff2)format("woff2"),url(../media/inter-greek-ext-400-normal.38g6916w0wpxs.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-greek-400-normal.402ep76-j03q8.woff2)format("woff2"),url(../media/inter-greek-400-normal.2x8hqgpakc599.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-vietnamese-400-normal.1sl-kw9vnef9y.woff2)format("woff2"),url(../media/inter-vietnamese-400-normal.3206qgbkgsfc6.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-latin-ext-400-normal.1aowtwjb6jex7.woff2)format("woff2"),url(../media/inter-latin-ext-400-normal.0zt1v0rj9tqox.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(../media/inter-latin-400-normal.2qdljeg3s-lsl.woff2)format("woff2"),url(../media/inter-latin-400-normal.102grxki9ek3x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-cyrillic-ext-600-normal.341-hvs74ljp4.woff2)format("woff2"),url(../media/inter-cyrillic-ext-600-normal.1of5i9-_e5ga4.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-cyrillic-600-normal.0tppy39gl-lzn.woff2)format("woff2"),url(../media/inter-cyrillic-600-normal.3jalm3505289h.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-greek-ext-600-normal.20m9kgz843wth.woff2)format("woff2"),url(../media/inter-greek-ext-600-normal.3vzrk1-4zat7v.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-greek-600-normal.2ove9n9b8_3hb.woff2)format("woff2"),url(../media/inter-greek-600-normal.3aakp9m92tg2m.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-vietnamese-600-normal.0m_wd36g8rw-r.woff2)format("woff2"),url(../media/inter-vietnamese-600-normal.0dwa77f5pp57q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-latin-ext-600-normal.1zn8rwi8y9u6i.woff2)format("woff2"),url(../media/inter-latin-ext-600-normal.1pfmybho54-ry.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(../media/inter-latin-600-normal.2dov6rjg62vru.woff2)format("woff2"),url(../media/inter-latin-600-normal.2mum3nstrlzrd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink-900:#0f172a;--ink-800:#1e293b;--brand-600:#1d4ed8;--brand-700:#0f766e;--brand-800:#047857;--grad-brand:linear-gradient(90deg, #1d4ed8 0%, #0f766e 70%, #047857 100%);--grad-btn:linear-gradient(90deg, #2563eb 0%, #0f766e 100%);--grad-stat-blue:linear-gradient(135deg, #3b82f6, #60a5fa);--grad-stat-green:linear-gradient(135deg, #10b981, #34d399);--grad-stat-orange:linear-gradient(135deg, #f97316, #fbbf24);--grad-stat-purple:linear-gradient(135deg, #8b5cf6, #ec4899);--grad-login:linear-gradient(135deg, #1d4ed8 0%, #3b82f6 45%, #34d399 100%);--btn-start:#2563eb;--btn-end:#0f766e;--surface:#f1f5f9;--card:#fff;--text:#334155;--muted:#475569;--success:#047857;--warning:#b45309;--danger:#b91c1c;--danger-bg:#fee2e2;--due:#9a3412;--due-bg:#ffedd5;--info:#1d4ed8;--border:#e2e8f0;--on-dark:#fff;--radius:12px;--shadow:0 1px 2px #0f172a0f, 0 4px 12px #0f172a0d;--font-bn:"Noto Sans Bengali", system-ui, sans-serif;--font-en:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html{font-size:15px}body{background:var(--surface);color:var(--text);font-family:var(--font-bn);margin:0;line-height:1.55}html[lang=en] body{font-family:var(--font-en), var(--font-bn)}h1,h2,h3{color:var(--ink-900);line-height:1.25}h1{font-size:1.5rem}a{color:var(--info)}.num{font-variant-numeric:tabular-nums;text-align:right}:focus-visible{outline:3px solid var(--brand-600);outline-offset:2px}.skip-link{background:var(--card);z-index:10;padding:8px 12px;position:absolute;top:0;left:-999px}.skip-link:focus{top:8px;left:8px}.btn{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--ink-900);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface)}.btn[aria-current=page]{border-color:var(--brand-600);color:var(--brand-600);background:#eff6ff}.btn-primary{background:var(--grad-btn);color:var(--on-dark);border-color:#0000;box-shadow:0 2px 6px #1d4ed840}.btn-primary:hover{background:var(--grad-btn);filter:brightness(.92)}.btn[disabled]{opacity:.6;cursor:not-allowed}.field{grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:14px;display:grid}.field label{color:var(--ink-900);font-weight:600}.field small{color:var(--muted)}.muted{color:var(--muted);font-size:.9rem}.input{min-height:42px;font:inherit;color:var(--ink-900);background:var(--card);border:1px solid #cbd5e1;border-radius:10px;padding:0 12px}textarea.input{padding:8px 12px}.input:focus{border-color:var(--brand-600)}.alert{border:1px solid;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.alert-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.alert-info{color:var(--ink-900);background:#eff6ff;border-color:#bfdbfe}.badge{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.85rem;display:inline-flex}.badge-success{color:var(--success);background:#ecfdf5;border-color:#a7f3d0}.badge-due,.badge-warn{color:var(--due);background:var(--due-bg);border-color:#fdba74}.badge-danger{color:var(--danger);background:var(--danger-bg);border-color:#fca5a5}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.meta{gap:6px;margin:0;display:grid}.meta div{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding-bottom:4px;display:flex}.meta div:last-child{border-bottom:0}.meta dt{color:var(--muted)}.meta dd{color:var(--ink-900);margin:0;font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px;display:grid}.stat-card{color:var(--on-dark);box-shadow:var(--shadow);border-radius:14px;min-height:112px;padding:18px 20px;position:relative;overflow:hidden}.stat-card .label{font-size:.95rem;font-weight:600}.stat-card .value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:2rem;font-weight:700;line-height:1.2}.stat-card .sub{margin-top:2px;font-size:.85rem}.stat-card .icon{font-size:1.9rem;position:absolute;top:12px;right:14px}.stat-blue{background:var(--grad-stat-blue)}.stat-green{background:var(--grad-stat-green)}.stat-orange{background:var(--grad-stat-orange)}.stat-purple{background:var(--grad-stat-purple)}.stat-card .label,.stat-card .value,.stat-card .sub{text-shadow:0 1px 2px #0f172a59}.stat-card .label{font-weight:700}.stat-card .sub{opacity:.95;font-weight:600}.stat-card,.panel,.btn,.card{transition:transform .18s,box-shadow .18s,background-color .18s,filter .18s}.stat-card:hover,.panel:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f172a1f}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0f172a1a}.btn-sm{min-height:32px;padding:0 12px;font-size:.9rem}@media (prefers-reduced-motion:reduce){.stat-card,.panel,.btn,.card,.nav>li>a{transition:none}.stat-card:hover,.panel:hover,.btn:hover{transform:none}}.dash-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dash-head h1{margin:0}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-top:4px solid var(--panel-tone,var(--brand-600));border-radius:14px;padding:18px 20px}.panel-blue{--panel-tone:#3b82f6}.panel-green{--panel-tone:#10b981}.panel-orange{--panel-tone:#f97316}.panel-purple{--panel-tone:#8b5cf6}.panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.panel-head h2{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.panel-ico{background:#eff6ff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:1.05rem;display:inline-grid}.panel-green .panel-ico{background:#ecfdf5}.panel-orange .panel-ico{background:#fff7ed}.panel-purple .panel-ico{background:#f5f3ff}.link-more{font-weight:600;text-decoration:none}.bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:190px;display:grid}.bar{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bar-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.bar-val{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.bar-fill{background:linear-gradient(#3b82f6,#14b8a6);border-radius:8px 8px 3px 3px;width:70%;max-width:46px;display:block}.bar-day{color:var(--muted);font-size:.8rem}.mini-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.mini-stats div{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:8px 10px;display:grid}.mini-stats span{color:var(--muted);font-size:.8rem}.mini-stats strong{color:var(--ink-900);font-variant-numeric:tabular-nums}.recent,.alerts,.hbars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recent li{grid-template-columns:36px 1fr auto;align-items:center;gap:10px;display:grid}.avatar{color:#fff;background:var(--grad-btn);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.who{display:grid}.who small{color:var(--muted)}.amt{color:var(--success);font-variant-numeric:tabular-nums;font-weight:700}.alerts li{background:#fff7ed;border-radius:10px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.alerts a{color:var(--ink-900);font-weight:600;text-decoration:none}.alerts a:hover{text-decoration:underline}.all-good{color:var(--success);background:#ecfdf5;border-radius:10px;margin:0;padding:10px 12px;font-weight:600}.quick{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hbars li{grid-template-columns:minmax(80px,1fr) 2fr auto;align-items:center;gap:10px;display:grid}.hbar{background:#eff6ff;border-radius:999px;height:10px;overflow:hidden}.hbar span{background:linear-gradient(90deg,#3b82f6,#14b8a6);border-radius:999px;height:100%;display:block}.login-wrap{background:var(--grad-login);place-items:center;min-height:100vh;padding:16px;display:grid;position:relative}.login-lang{position:absolute;top:14px;right:16px}.login-lang .btn{min-height:32px;padding:0 12px;font-size:.9rem}.login-card{background:var(--card);border-radius:16px;width:100%;max-width:380px;padding:28px 28px 24px;box-shadow:0 20px 50px #0f172a40}.login-head{text-align:center;margin-bottom:18px}.login-logo{border-radius:16px;margin:0 auto 10px;display:block;box-shadow:0 6px 16px #2563eb59}.login-head .app-name{letter-spacing:.01em;color:var(--ink-900);margin:0;font-size:1.4rem}.login-head .tagline{color:var(--muted);margin:2px 0 0;font-size:.92rem}.login-card .field label{font-size:.9rem}.login-card .input{background:#f8fafc}.pw-wrap{position:relative}.pw-wrap .input{width:100%;padding-right:44px}.pw-toggle{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px;font-size:1.1rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{background:#eff6ff}.brand{align-items:center;gap:10px;display:flex}.brand-mark{border-radius:10px;flex:none}.shell{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--card);color:var(--ink-800);border-right:1px solid var(--border);height:100vh;padding:14px 12px;position:sticky;top:0;overflow-y:auto}.sidebar .brand{color:var(--ink-900);padding:4px 8px 16px}.menu-toggle{margin-left:auto;display:none}.nav{gap:3px;margin:0;padding:0;list-style:none;display:grid}.nav>li>a,.nav>li>span{min-height:40px;color:var(--ink-800);border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-weight:500;line-height:1.3;text-decoration:none;transition:background-color .18s,color .18s,transform .18s;display:flex}.nav .ico{border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:1.05rem;line-height:1;display:inline-grid}.nav>li>a:hover{color:#1e3a8a;background:#dbeafe;transform:translate(2px)}.nav>li>a[aria-current=page]:hover{color:var(--on-dark)}.nav a[aria-current=page]{background:var(--grad-btn);color:var(--on-dark);font-weight:600;box-shadow:0 2px 6px #1d4ed840}.nav>li>span[aria-disabled=true]{color:var(--muted)}.nav small{color:var(--muted);font-size:.75rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--grad-brand);color:var(--on-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-weight:600;display:flex}.topbar>div{flex-wrap:wrap}.topbar .btn{min-height:34px;color:var(--on-dark);background:#ffffff1f;border-color:#ffffff8c}.topbar .btn:hover{background:#ffffff38}.content{padding:24px}.table{border-collapse:collapse;background:var(--card);border-radius:10px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.table th{color:var(--ink-900);background:#f8fafc;font-weight:600}.table tbody tr:hover{background:#f8fafc}@media (max-width:860px){.shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:8px 12px;position:static}.sidebar .brand{padding:4px}.menu-toggle{display:inline-flex}.sidebar nav{display:none}.sidebar-open nav{padding-top:8px;display:block}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:96px;padding:12px 14px}.stat-card .value{font-size:1.5rem}.stat-card .icon{font-size:1.4rem;top:8px;right:10px}.stat-card .label{padding-right:28px}:where(.card,.panel,.stack):has(>.table){position:relative;overflow-x:auto}.table th,.table td{white-space:nowrap}.content{padding:16px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.banner{border-bottom:1px solid var(--border);background:var(--card);align-items:center;gap:10px;padding:8px 20px;font-weight:600;display:flex}.banner .btn{min-height:32px;margin-left:auto}.banner-monitor{color:var(--on-dark);background:repeating-linear-gradient(135deg,#9a3412 0 14px,#b91c1c 14px 28px)}.banner-monitor .btn{background:var(--card);color:var(--ink-900)}.banner-warn{color:var(--warning);border-left:4px solid var(--warning)}.banner-info{color:var(--info);border-left:4px solid var(--info)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;display:grid}.stat{color:var(--ink-900);font-size:1.6rem;font-weight:700}@media print{.topbar,.sidebar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.inline-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.inline-form .field{margin-bottom:0}.routine-table th,.routine-table td{vertical-align:top;min-width:110px}.routine-table td.routine-break,.routine-table th.routine-break{color:var(--ink-800);text-align:center;background:#f1f5f9;min-width:60px}.routine-cell .btn-sm{margin-top:6px}.routine-cell-active{outline:3px solid var(--brand-600);outline-offset:-3px}.routine-empty{color:var(--muted)}.routine-check{align-items:center;gap:8px;font-weight:600;display:flex}@media print{.routine-table th,.routine-table td{min-width:0;padding:4px 6px;font-size:10pt}}.inline-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wake-banner{z-index:1000;background:var(--brand-600);color:var(--on-dark);text-align:center;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0f172a40}
