@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-400-normal-DQukG94-.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(/build/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/build/assets/inter-cyrillic-400-normal-HOLc17fK.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(/build/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/build/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/build/assets/inter-greek-400-normal-q2sYcFCs.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(/build/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/build/assets/inter-vietnamese-400-normal-Bbgyi5SW.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(/build/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/build/assets/inter-latin-ext-400-normal-77YHD8bZ.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(/build/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/build/assets/inter-latin-400-normal-CyCys3Eg.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:500;src:url(/build/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:500;src:url(/build/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/build/assets/inter-cyrillic-500-normal-CxZf_p3X.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:500;src:url(/build/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/build/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/build/assets/inter-greek-500-normal-Xzm54t5V.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:500;src:url(/build/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/build/assets/inter-vietnamese-500-normal-mJboJaSs.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:500;src:url(/build/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/build/assets/inter-latin-ext-500-normal-BxGbmqWO.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:500;src:url(/build/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/build/assets/inter-latin-500-normal-BL9OpVg8.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(/build/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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(/build/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/build/assets/inter-cyrillic-600-normal-4D_pXhcN.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(/build/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/build/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/build/assets/inter-greek-600-normal-BZpKdvQh.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(/build/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/build/assets/inter-vietnamese-600-normal-BuLX-rYi.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(/build/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/build/assets/inter-latin-ext-600-normal-CIVaiw4L.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(/build/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/build/assets/inter-latin-600-normal-CiBQ2DWP.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:700;src:url(/build/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/build/assets/inter-cyrillic-ext-700-normal-LO58E6JB.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:700;src:url(/build/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/build/assets/inter-cyrillic-700-normal-DrXBdSj3.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:700;src:url(/build/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/build/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/build/assets/inter-greek-700-normal-BUv2fZ6O.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:700;src:url(/build/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/build/assets/inter-vietnamese-700-normal-BZaoP0fm.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:700;src:url(/build/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/build/assets/inter-latin-ext-700-normal-TidjK2hL.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:700;src:url(/build/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/build/assets/inter-latin-700-normal-BLAVimhd.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{--bg:#f1f5f9;--surface:#fff;--surface-raised:#fff;--surface-2:#f1f5f9;--warn-tint:#fff7ed;--primary-tint:#edf3fe;--primary-tint-foreground:#2563eb;--text:#0f172a;--text-muted:#556274;--border:#e2e8f0;--border-strong:#cbd5e1;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-contrast:#fff;--primary-text:#2563eb;--primary-fill:#2563eb;--primary-fill-hover:#1d4ed8;--primary-fill-foreground:#fff;--accent:#2563eb;--success:#166534;--success-solid:#16a34a;--success-contrast:#fff;--warning:#92400e;--warning-solid:#f59e0b;--warning-fill:#92400e;--warning-fill-foreground:#fff;--danger:#dc2626;--danger-strong:#dc2626;--danger-contrast:#fff;--status-success-bg:#dee9e3;--status-success-fg:#166534;--status-warning-bg:#eee0d8;--status-warning-fg:#92400e;--status-danger-bg:#fae1e1;--status-danger-fg:#b91c1c;--status-muted-bg:#e7e9ec;--status-muted-fg:#556274;--chart-purple:#6d28d9;--chart-cyan:#0369a1;--focus:#2563eb;--chrome-bg:#0f172a;--chrome-surface:#1e293b;--chrome-text:#e2e8f0;--chrome-muted:#94a3b8;--chrome-border:#334155;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-title:1.5rem;--lh-title:1.3;--fs-section:1.125rem;--lh-section:1.35;--fs-body:1rem;--lh-body:1.5;--fs-label:.875rem;--lh-label:1.4;--fs-caption:.8125rem;--lh-caption:1.4;--fs-data:1.25rem;--lh-data:1.2;--fs-data-lg:1.75rem;--lh-data-lg:1.15;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-pill:999px;--shadow-1:0 1px 2px #0f172a0f;--shadow-2:0 4px 16px #0f172a1a;--dur-fast:.12s;--dur:.2s;--ease:cubic-bezier(.2, 0, 0, 1);--z-base:0;--z-sticky:10;--z-overlay:100;--z-toast:1000}:root[data-theme=dark]{--bg:#0b1220;--surface:#111a2b;--surface-raised:#16213a;--surface-2:#18233a;--warn-tint:#33270f;--primary-tint:#172647;--primary-tint-foreground:#60a5fa;--text:#e7edf5;--text-muted:#94a3b8;--border:#24314a;--border-strong:#35476a;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-contrast:#fff;--primary-text:#60a5fa;--primary-fill:#2563eb;--primary-fill-hover:#1d4ed8;--primary-fill-foreground:#fff;--accent:#60a5fa;--success:#22c55e;--success-solid:#16a34a;--success-contrast:#06210f;--warning:#fbbf24;--warning-solid:#f59e0b;--warning-fill:#f59e0b;--warning-fill-foreground:#1c1917;--danger:#fb7185;--danger-strong:#dc2626;--danger-contrast:#fff;--status-success-bg:#133232;--status-success-fg:#22c55e;--status-warning-bg:#36342a;--status-warning-fg:#fbbf24;--status-danger-bg:#322638;--status-danger-fg:#fb7185;--status-muted-bg:#232d3f;--status-muted-fg:#94a3b8;--chart-purple:#c4b5fd;--chart-cyan:#67e8f9;--focus:#60a5fa;--chrome-bg:#0b1220;--chrome-surface:#16213a;--chrome-text:#e7edf5;--chrome-muted:#94a3b8;--chrome-border:#24314a;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px #00000080}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh}img,svg{max-width:100%;display:block}a{color:var(--accent);text-underline-offset:2px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-2);background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);transition:top var(--dur) var(--ease);z-index:var(--z-toast);position:absolute;top:-48px}.skip-link:focus{top:var(--space-2)}.t-title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-bold)}.t-section{font-size:var(--fs-section);line-height:var(--lh-section);font-weight:var(--fw-semibold)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body)}.t-label{font-size:var(--fs-label);line-height:var(--lh-label);font-weight:var(--fw-medium)}.t-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}.t-data{font-size:var(--fs-data);line-height:var(--lh-data);font-weight:var(--fw-semibold);font-feature-settings:"tnum" 1}.t-data-lg{font-size:var(--fs-data-lg);line-height:var(--lh-data-lg);font-weight:var(--fw-bold);font-feature-settings:"tnum" 1}.t-muted{color:var(--text-muted)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-2{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wrap{flex-wrap:wrap}.grow{flex:auto}.container{width:100%;max-width:1120px;padding-inline:var(--space-4);margin-inline:auto}.app-shell{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.app-topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;top:0}.app-topbar__brand{align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold);display:flex}.app-topbar__brand img{width:28px;height:28px}.app-content{padding:var(--space-4);padding-bottom:calc(var(--space-7) + 56px)}.app-nav{z-index:var(--z-sticky);background:var(--surface);border-top:1px solid var(--border);padding:var(--space-1) var(--space-2);justify-content:space-around;display:flex;position:sticky;bottom:0}.app-nav a{padding:var(--space-2) var(--space-3);min-width:64px;min-height:44px;color:var(--text-muted);font-size:var(--fs-caption);border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.app-nav a[aria-current=page]{color:var(--primary-tint-foreground);background:var(--primary-tint);font-weight:var(--fw-semibold)}@media (width>=1280px){.app-shell.app-shell--admin{grid-template-rows:auto 1fr;grid-template-columns:260px 1fr}.app-shell--admin .app-topbar{grid-column:1/-1}.app-shell--admin .app-nav{justify-content:flex-start;align-self:start;gap:var(--space-1);border-top:0;border-right:1px solid var(--border);height:calc(100dvh - 57px);padding:var(--space-3);flex-direction:column;position:sticky;top:57px}.app-shell--admin .app-nav a{flex-direction:row;justify-content:flex-start;width:100%}.app-shell--admin .app-content{padding:var(--space-6)}.app-content{padding-bottom:var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);line-height:1;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary-fill);color:var(--primary-fill-foreground);border-color:var(--primary-fill)}.btn--primary:hover:not(:disabled){background:var(--primary-fill-hover)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:color-mix(in srgb, var(--text) 6%, var(--surface))}.btn--danger{background:var(--danger-strong);color:var(--danger-contrast);border-color:var(--danger-strong)}.btn--ghost{color:var(--primary-text);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--primary-tint)}.btn--block{width:100%}.btn.is-loading{pointer-events:none}.btn.is-loading .spinner{display:inline-block}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field__label{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text)}.field__req{color:var(--danger);margin-inline-start:2px}.field__help{font-size:var(--fs-caption);color:var(--text-muted)}.field__error{font-size:var(--fs-caption);color:var(--danger);align-items:center;gap:var(--space-1);display:flex}.input,.select,.textarea{min-height:44px;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;max-width:100%}.textarea{min-height:88px;padding:var(--space-3);resize:vertical}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg);color:var(--text-muted)}.input.input--data{font-feature-settings:"tnum" 1;text-align:end}.toggle{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;display:inline-flex}.toggle__track{border-radius:var(--radius-pill);background:var(--border-strong);width:44px;height:26px;transition:background var(--dur-fast) var(--ease);position:relative}.toggle__thumb{top:3px;background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-1);transition:inset-inline-start var(--dur-fast) var(--ease);border-radius:50%;position:absolute;inset-inline-start:3px}.toggle input:checked+.toggle__track{background:var(--primary-fill)}.toggle input:checked+.toggle__track .toggle__thumb{inset-inline-start:21px}.toggle input:focus-visible+.toggle__track,label.btn:focus-within{outline:2px solid var(--focus);outline-offset:2px}.counter{border:1px solid var(--border);border-radius:var(--radius);align-items:center;display:inline-flex;overflow:hidden}.counter button{background:var(--surface);min-width:44px;min-height:44px;color:var(--text);font-size:var(--fs-section);cursor:pointer;border:0}.counter button:hover{background:color-mix(in srgb, var(--text) 6%, var(--surface))}.counter__value{text-align:center;font-feature-settings:"tnum" 1;min-width:48px;font-weight:var(--fw-semibold)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card--raised{box-shadow:var(--shadow-2)}.quick-actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-action{align-items:center;gap:var(--space-3);min-width:0;min-height:64px;padding:var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--fs-label);font-weight:var(--fw-semibold);text-decoration:none;display:flex}.quick-action:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1);text-decoration:none}.quick-action .icon-badge{border-radius:var(--radius);width:36px;height:36px}@media (width<=359px){.quick-actions{grid-template-columns:1fr}}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:var(--fw-medium);border:1px solid #0000;display:inline-flex}.badge__icon{flex:none;width:14px;height:14px}.badge--ok{color:var(--status-success-fg);background:var(--status-success-bg)}.badge--warn{color:var(--status-warning-fg);background:var(--status-warning-bg)}.badge--danger{color:var(--status-danger-fg);background:var(--status-danger-bg)}.badge--muted{color:var(--status-muted-fg);background:var(--status-muted-bg)}.badge--out-of-range:before{content:""}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:start;padding:var(--space-3);border-bottom:1px solid var(--border)}.data-table th{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--text-muted)}.data-table tbody tr:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.record-target{outline:3px solid var(--primary-text);outline-offset:-3px;scroll-margin-block:var(--space-6)}.record-target:focus{outline-color:var(--focus)}.data-table td.num{text-align:end;font-feature-settings:"tnum" 1}.table-scroll-region{max-width:100%;overflow-x:auto}.table-scroll-instruction{margin-block-end:0}.operational-range-flag{align-items:center;gap:var(--space-1);width:fit-content;max-width:100%;padding:2px var(--space-2);color:var(--status-danger-fg);background:var(--status-danger-bg);border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-caption);white-space:normal;border:1px solid;margin-block-start:var(--space-1);display:inline-flex}.operational-range-flag svg{flex:none;width:1.1em;height:1.1em}.list-cards{display:none}@media (width<=767px){.data-table{display:none}.desktop-table-only{display:none!important}.list-cards{gap:var(--space-3);flex-direction:column;display:flex}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3)}}.card-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.card-grid>*{min-width:0}@media (width>=768px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.dash-kpis{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=359px){.dash-kpis{grid-template-columns:minmax(0,1fr)}}@media (width>=1024px){.dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.dash-kpis>.card,.dash-kpis>.card>*{min-width:0}.dash-cols{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.dash-cols{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.dash-cols>*{min-width:0}.dashboard-sheet-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.dashboard-sheet-round{flex:0 160px;max-width:160px}.dashboard-sheet-date-status{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.dashboard-sheet-date{flex:220px;min-width:0;max-width:220px}@media (width<=519px){.dashboard-sheet-controls{align-items:stretch;width:100%}.dashboard-sheet-date-status{flex:100%;grid-template-columns:minmax(0,1fr);align-items:start;width:100%;display:grid}.dashboard-sheet-date{width:100%;max-width:none}.dashboard-sheet-date-status>.badge{justify-self:start}}.building-form{width:100%;min-width:0;max-width:680px}.building-form fieldset{min-width:0}.building-form .field__help,.building-form .toast{overflow-wrap:anywhere}.building-manager-field{overflow-x:clip}.building-geofence-card{min-width:0}.building-geofence-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.building-geofence-grid>*{min-width:0}.building-form-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=359px){.building-form,.building-geofence-card{padding:var(--space-3)}.building-geofence-grid{grid-template-columns:minmax(0,1fr)}.building-geofence-location>.btn,.building-form-actions>.btn{width:100%}}.stat__num{font-size:var(--fs-data-lg);font-weight:var(--fw-bold);line-height:1.1}.stat__label{color:var(--text-muted);font-size:var(--fs-label)}.dash-table{border-collapse:collapse;width:100%}.dash-table td,.dash-table th{text-align:start;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:var(--fs-label)}.dash-table th{color:var(--text-muted);font-weight:var(--fw-semibold)}.dash-group td{background:color-mix(in srgb, var(--text) 4%, transparent);font-weight:var(--fw-semibold)}.dash-value--oor{box-shadow:inset 3px 0 0 var(--status-danger-fg);font-weight:var(--fw-semibold)}.icon-badge{border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.icon-badge svg{width:22px;height:22px}.icon-badge--sm{border-radius:50%;width:32px;height:32px}.icon-badge--sm svg{width:16px;height:16px}.icon-badge--blue{background:var(--primary-tint);color:var(--primary-tint-foreground)}.icon-badge--green{background:var(--status-success-bg);color:var(--status-success-fg)}.icon-badge--amber{background:var(--status-warning-bg);color:var(--status-warning-fg)}.icon-badge--red{background:var(--status-danger-bg);color:var(--status-danger-fg)}.icon-badge--gray{background:var(--status-muted-bg);color:var(--status-muted-fg)}.kpi-value{font-size:var(--fs-data-lg);font-weight:var(--fw-bold);line-height:1.1}.containers-mini{gap:var(--space-3);flex-wrap:wrap;display:flex}.containers-mini>div{align-items:center;gap:6px;display:flex}.dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.help-card{background:var(--primary-fill);color:var(--primary-fill-foreground)}.help-card .icon-badge{color:var(--primary-fill-foreground);background:#ffffff2e}.resumen-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=920px){.resumen-grid{grid-template-columns:minmax(0,1fr)}}.trends-page{width:100%;max-width:1200px}.trend-filter-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.trend-filter-grid>*{min-width:0}.notification-filter-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.notification-filter-grid>*{min-width:0}.trend-metric-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.trend-metric{min-width:0}.trend-metric--selected{border-color:var(--primary-text);box-shadow:var(--shadow-1)}.trend-metric__stats,.trend-detail__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.trend-metric__stats>div,.trend-detail__stats>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.trend-metric__stats strong,.trend-detail__stats strong{overflow-wrap:anywhere}.trend-readings-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:760px}.trend-readings-table caption{padding:var(--space-2);text-align:start;font-weight:var(--fw-semibold)}.trend-readings-table th,.trend-readings-table td{padding:var(--space-3);border-bottom:1px solid var(--border);text-align:start;vertical-align:top}.trend-readings-table thead th{color:var(--text-muted);font-size:var(--fs-label);font-weight:var(--fw-semibold)}@media (width>=680px){.trend-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-filter-grid__search{grid-column:1/-1}.notification-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-filter-grid__search{grid-column:1/-1}.trend-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.trend-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trend-filter-grid__search{grid-column:span 2}}@media (width>=900px){.notification-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.notification-filter-grid__search{grid-column:span 2}}@media (width<=359px){.trend-metric__stats,.trend-detail__stats{grid-template-columns:minmax(0,1fr)}}@media (forced-colors:active){.operational-range-flag{color:canvastext;forced-color-adjust:none;background:canvas;border-color:canvastext}.dash-value--oor{box-shadow:none;outline-offset:-2px;outline:2px solid canvastext}.trend-metric--selected{outline:2px solid canvastext}}.state-block{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--text-muted);flex-direction:column;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--primary-text);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:none}.state-block .spinner{width:28px;height:28px;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.offline-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--warning-fill);color:var(--warning-fill-foreground);font-size:var(--fs-label);font-weight:var(--fw-medium);display:flex}.toast-region{inset-block-end:var(--space-4);inset-inline:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-inline-start:3px solid var(--primary-text);border-radius:var(--radius);box-shadow:var(--shadow-2);display:flex}.toast--success{border-inline-start-color:var(--success)}.toast--error{border-inline-start-color:var(--danger)}.toast--warn{border-inline-start-color:var(--warning)}.modal-backdrop{z-index:var(--z-overlay);padding:var(--space-4);background:#10182080;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);width:100%;max-width:440px;padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.modal__title{font-size:var(--fs-section);font-weight:var(--fw-semibold)}.modal__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.generation-progress{background:var(--border);border-radius:var(--radius-pill);width:100%;height:8px;position:relative;overflow:hidden}.generation-progress>span{border-radius:inherit;background:var(--primary-fill);width:36%;animation:generation-progress 1.3s var(--ease) infinite;position:absolute;inset-block:0}@keyframes generation-progress{0%{transform:translate(-100%)}to{transform:translate(380%)}}@media (prefers-reduced-motion:reduce){.generation-progress>span{width:100%;animation:none}}.ico-inline{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.ico-inline svg{flex:none;width:1.15em;height:1.15em}.acc{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.acc+.acc{margin-top:var(--space-2)}.acc__sum{align-items:center;gap:var(--space-2);padding:var(--space-3);cursor:pointer;min-height:52px;list-style:none;display:flex}.acc__sum::-webkit-details-marker{display:none}.acc__sum:hover{background:var(--surface-2)}.acc__chev{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease);flex:none}.acc[open]>.acc__sum .acc__chev{transform:rotate(90deg)}.acc__title{font-weight:var(--fw-semibold);flex:1;min-width:0}.acc__count{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius-pill);flex:none;padding:2px 8px}.acc__count.is-complete{color:var(--status-success-fg);background:var(--status-success-bg)}.acc__count.is-error{color:var(--status-danger-fg);background:var(--status-danger-bg)}.acc__body{padding:0 var(--space-3) var(--space-3)}.choice-row{cursor:pointer;min-height:44px}@media (prefers-reduced-motion:reduce){.acc__chev{transition:none}}.warranty-evidence{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0}.warranty-evidence__toggle{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);color:var(--text);border-radius:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.warranty-evidence__toggle:hover:not(:disabled){background:color-mix(in srgb, var(--text) 5%, transparent)}.warranty-evidence__toggle:disabled{opacity:.65;cursor:not-allowed}.warranty-evidence__toggle-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.warranty-evidence__toggle-copy>*{overflow-wrap:anywhere}.warranty-evidence__chevron{transition:transform var(--dur-fast) var(--ease);flex:none;font-size:1.5rem;line-height:1;transform:rotate(0)}.warranty-evidence__toggle[aria-expanded=true] .warranty-evidence__chevron{transform:rotate(90deg)}.warranty-evidence__body{min-width:0;padding:var(--space-3);border-top:1px solid var(--border)}.warranty-evidence__list,.warranty-evidence__events{width:100%;min-width:0;max-width:100%;margin:0;padding:0;list-style:none}.warranty-evidence__events>li{min-width:0;max-width:100%}.warranty-evidence__document,.warranty-evidence__editor{min-width:0}.warranty-evidence__document:focus{outline:2px solid var(--focus);outline-offset:2px}.warranty-evidence__wrap{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.warranty-evidence__activity{align-items:flex-start;gap:var(--space-3);flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.warranty-evidence__activity>[role=region]{width:100%;min-width:0;max-width:100%}@media (width<=519px){.warranty-evidence__toggle{grid-template-columns:minmax(0,1fr) auto;display:grid}.warranty-evidence__toggle-copy{grid-area:1/1}.warranty-evidence__toggle>.badge{grid-area:2/1/auto/-1;justify-self:start}.warranty-evidence__chevron{grid-area:1/2}}@media (prefers-reduced-motion:reduce){.warranty-evidence__chevron{transition:none}}.warranty-claims{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0}.warranty-claims__toggle{align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:48px;padding:var(--space-3);border-radius:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.warranty-claims__toggle:hover:not(:disabled){background:color-mix(in srgb, var(--text) 5%, transparent)}.warranty-claims__toggle:disabled{opacity:.65;cursor:not-allowed}.warranty-claims__toggle-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.warranty-claims__toggle-copy>*{overflow-wrap:anywhere}.warranty-claims__chevron{transition:transform var(--dur-fast) var(--ease);flex:none;font-size:1.5rem;line-height:1}.warranty-claims__toggle[aria-expanded=true] .warranty-claims__chevron{transform:rotate(90deg)}.warranty-claims__body{min-width:0;max-width:100%;padding:var(--space-3);border-top:1px solid var(--border)}.warranty-claims__list,.warranty-claims__events{width:100%;min-width:0;max-width:100%;margin:0;padding:0;list-style:none}.warranty-claims__claim,.warranty-claims__claim>*{min-width:0;max-width:100%}.warranty-claims__wrap{overflow-wrap:anywhere;word-break:break-word}.warranty-claims__facts{margin:0}.warranty-claims__facts>div{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.warranty-claims__facts dt{color:var(--text-muted);font-size:var(--font-sm)}.warranty-claims__facts dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=359px){.warranty-claims__toggle{grid-template-columns:minmax(0,1fr) auto;display:grid}.warranty-claims__toggle-copy{grid-area:1/1}.warranty-claims__toggle>.badge{grid-area:2/1/auto/-1;justify-self:start}.warranty-claims__chevron{grid-area:1/2}.warranty-claims__body{padding:var(--space-2)}}@media (prefers-reduced-motion:reduce){.warranty-claims__chevron{transition:none}}.entry-actions{z-index:5;bottom:calc(72px + env(safe-area-inset-bottom,0px));gap:var(--space-2);padding:var(--space-3) 0 var(--space-1);background:linear-gradient(to top, var(--bg) 72%, transparent);display:flex;position:sticky}@media (width>=1024px){.entry-actions{bottom:var(--space-3)}}.photo-control{gap:var(--space-2);flex-direction:column;display:flex}.photo-thumbs{gap:var(--space-2);flex-wrap:wrap;display:flex}.photo-thumb{border-radius:var(--radius);border:1px solid var(--border);width:72px;height:72px;position:relative;overflow:hidden}.photo-thumb.is-pending{opacity:.6}.photo-thumb__badge{position:absolute;inset-block-end:2px;inset-inline-end:2px}
