@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_4eeef7{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_4eeef7{--font-ui:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_aa62b7{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_aa62b7{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--brand:#ff6600;--brand-gray:#77767b;--bg:#f4f4f5;--surface:#ffffff;--surface-2:#ededef;--surface-3:#e4e4e7;--border:#e2e2e5;--border-strong:#c8c8cd;--text:#1c1c1e;--text-2:#4f4f55;--text-3:#77767b;--accent:#c24e00;--accent-strong:#a84300;--accent-soft:#fff0e5;--accent-line:#ffd3b3;--on-accent:#ffffff;--accent-on-light:#c24e00;--accent-strong-on-light:#a84300;--accent-soft-on-light:#fff0e5;--accent-line-on-light:#ffd3b3;--ok:#15803d;--ok-soft:#e4f3ea;--ok-line:#bfe3cc;--warn:#b45309;--warn-soft:#faefdd;--warn-line:#ecd3a8;--danger:#b91c1c;--danger-soft:#fae8e8;--danger-line:#eec5c5;--neutral:#5f6b78;--neutral-soft:#eceef1;--neutral-line:#d4d9df;--shadow-sm:0 1px 2px rgba(26,24,20,0.06),0 1px 1px rgba(26,24,20,0.04);--shadow-md:0 4px 14px rgba(26,24,20,0.09);--shadow-lg:0 18px 44px rgba(26,24,20,0.16);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--muted:var(--text-2);--primary:var(--accent);--primary-hover:var(--accent-strong);--primary-soft:var(--accent-soft);--success:var(--ok);--success-soft:var(--ok-soft);--warning:var(--warn);--warning-soft:var(--warn-soft);--radius:var(--r-lg);--shadow:var(--shadow-sm);--sidebar-w:240px}[data-theme=dark]{--brand:#ff7a1a;--brand-gray:#9a999e;--bg:#121213;--surface:#1c1c1e;--surface-2:#242426;--surface-3:#2d2d30;--border:#36363a;--border-strong:#4a4a4f;--text:#f2f2f3;--text-2:#b4b4b9;--text-3:#85858b;--accent:#ff7a1a;--accent-strong:#ff9447;--accent-soft:#3a1e0a;--accent-line:#5c3212;--on-accent:#1a0d00;--ok:#4ade80;--ok-soft:#12301e;--ok-line:#1f5236;--warn:#fbbf24;--warn-soft:#33260c;--warn-line:#5c4718;--danger:#f87171;--danger-soft:#391817;--danger-line:#6a2c2b;--neutral:#9aa4b0;--neutral-soft:#26262a;--neutral-line:#3a3b40;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 6px 18px rgba(0,0,0,0.45);--shadow-lg:0 20px 48px rgba(0,0,0,0.55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand:#ff7a1a;--brand-gray:#9a999e;--bg:#121213;--surface:#1c1c1e;--surface-2:#242426;--surface-3:#2d2d30;--border:#36363a;--border-strong:#4a4a4f;--text:#f2f2f3;--text-2:#b4b4b9;--text-3:#85858b;--accent:#ff7a1a;--accent-strong:#ff9447;--accent-soft:#3a1e0a;--accent-line:#5c3212;--on-accent:#1a0d00;--ok:#4ade80;--ok-soft:#12301e;--ok-line:#1f5236;--warn:#fbbf24;--warn-soft:#33260c;--warn-line:#5c4718;--danger:#f87171;--danger-soft:#391817;--danger-line:#6a2c2b;--neutral:#9aa4b0;--neutral-soft:#26262a;--neutral-line:#3a3b40;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 6px 18px rgba(0,0,0,0.45);--shadow-lg:0 20px 48px rgba(0,0,0,0.55)}}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-ui),"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.25;letter-spacing:-.01em}.mono,.num{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--border-strong);border-radius:var(--r-md);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;background:var(--surface);color:var(--text)}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.btn-danger:hover{background:color-mix(in srgb,var(--danger-soft) 82%,var(--danger))}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-ghost:hover{background:var(--accent-soft)}.btn-sm{padding:.35rem .7rem;font-size:.78rem;border-radius:var(--r-sm)}.btn-lg{padding:.75rem 1.4rem;font-size:1rem}.btn:disabled{background:var(--surface-2);color:var(--text-3);border-color:var(--border);box-shadow:none;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.8rem;font-weight:500;color:var(--text-2)}.input,.select{width:100%;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:var(--r-md);font-family:inherit;font-size:.875rem;background:var(--surface);color:var(--text);transition:border-color .14s,box-shadow .14s}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.checkbox-row input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.card{padding:1.25rem}.card,.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.875rem}table.data td,table.data th{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data th{background:var(--surface-2);font-weight:600;color:var(--text-3);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:var(--surface-2)}table.data tr.row-warn td{background:var(--warn-soft)}table.data tr.row-danger td{background:var(--danger-soft)}table.data tr.row-muted td{color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .6rem;border:1px solid transparent;border-radius:var(--r-pill);font-size:.72rem;font-weight:600;line-height:1.4}.badge-green{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.badge-gray{background:var(--neutral-soft);color:var(--neutral);border-color:var(--neutral-line)}.badge-blue{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.badge-amber{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.badge-red{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.alert{padding:.7rem .9rem;border:1px solid transparent;border-radius:var(--r-md);font-size:.85rem;margin-bottom:.9rem}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.alert-success{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.alert-info{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.modal-overlay{position:fixed;inset:0;background:rgba(27,24,20,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem;z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;padding:1.5rem}.modal h2{margin-bottom:1rem}.panel{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--surface-2);border-right:1px solid var(--border);color:var(--text-2);padding:1.1rem .8rem;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;gap:.15rem}.sidebar .brand{color:var(--text);font-weight:600;font-size:1rem;padding:.4rem .6rem 1rem}.sidebar-simulation{background:#ffffff;--surface:#ffffff;--surface-2:#ededef;--surface-3:#e4e4e7;--border:#e2e2e5;--border-strong:#c8c8cd;--text:#1c1c1e;--text-2:#4f4f55;--text-3:#77767b;--accent:var(--accent-on-light);--accent-strong:var(--accent-strong-on-light);--accent-soft:var(--accent-soft-on-light);--accent-line:var(--accent-line-on-light);--on-accent:#ffffff}.sidebar .brand small{display:block;color:var(--text-3);font-weight:400;font-size:.72rem;margin-top:2px}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--r-md);color:var(--text-2);font-size:.875rem;font-weight:500;transition:background .14s,color .14s}.nav-link:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.sidebar .spacer{flex:1 1}.content{margin-left:var(--sidebar-w);flex:1 1;min-width:0;padding:1.5rem 2rem}.page-head{justify-content:space-between;margin-bottom:1.25rem;gap:1rem}.page-head,.toolbar{display:flex;align-items:center;flex-wrap:wrap}.toolbar{gap:.6rem;margin-bottom:1rem}.row{display:flex;gap:.8rem;flex-wrap:wrap}.row>*{flex:1 1;min-width:0}.muted{color:var(--text-2)}.right{text-align:right}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat .val{font-family:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;font-size:1.8rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.stat .lbl{color:var(--text-2);font-size:.8rem;font-weight:500}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(82% 62% at 100% 0,var(--accent-soft),transparent 60%),var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:2.2rem;width:100%;max-width:400px}.brand-logos{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.brand-logo{display:inline-flex;padding:4px 8px;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm)}.brand-logo img{display:block;width:auto;max-width:100%}.login-split{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-form-pane{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;background:var(--surface)}.login-form-inner{width:100%;max-width:380px}.login-aside{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--accent-on-light) 0,color-mix(in srgb,var(--accent-strong-on-light) 82%,#000) 100%);color:#fff;padding:56px 48px;display:flex;flex-direction:column;justify-content:center}@media (max-width:860px){.login-split{grid-template-columns:1fr}.login-aside{display:none}.login-form-pane{padding:32px 20px}}@media (max-width:720px){.sidebar{position:static;width:100%;flex-direction:row;flex-wrap:wrap}.content{margin-left:0;padding:1rem}.panel{flex-direction:column}}.movil{min-height:100vh;background:#161618;color:#e7e5df;display:flex;flex-direction:column;padding:1.2rem;max-width:480px;margin:0 auto}.movil-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.movil-head .who{font-weight:600;color:#fff}.status-pill{display:inline-block;padding:.4rem 1rem;border-radius:var(--r-pill);font-weight:700;font-size:1rem}.status-in{background:var(--success-soft);color:var(--success)}.status-out{background:#2e2e32;color:#c9c9ce}.punch-btn{width:220px;height:220px;border-radius:50%;border:none;font-size:1.4rem;font-weight:800;color:#fff;cursor:pointer;margin:2rem auto;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .08s}.punch-btn:active{transform:scale(.96)}.punch-in{background:linear-gradient(160deg,#16a34a,#15803d)}.punch-out{background:linear-gradient(160deg,#dc2626,#b91c1c)}.punch-btn:disabled{opacity:.6}.history-item{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid #2a2a2e;font-size:.9rem}