@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_154f82{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_154f82{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_37ef13{font-family:Inter,Inter Fallback;font-style:normal}.__variable_37ef13{--font-inter:"Inter","Inter 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-20c0,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-20c0,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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--canvas:#EEF2F6;--surface:#FFFFFF;--surface-alt:#F6F8FA;--surface-sunken:#E3E9EF;--line:#CFD8E1;--line-strong:#A8B4C0;--control-border:#75838F;--text:#101820;--text-muted:#4E5C6B;--text-faint:#5C6975;--text-disabled:#8A98A6;--text-on-dark:#FFFFFF;--brand:#0B3C5D;--brand-hover:#082E48;--brand-tint:#E6EEF4;--nav:#0A2436;--nav-item-active:#1A4E6B;--nav-text:#C6D3DE;--nav-muted:#8FA3B4;--nav-marker:#F2B33D;--accent:#A84A15;--accent-tint:#FBEDE4;--success:#116A3C;--success-tint:#E3F3EA;--warning:#8A5A00;--warning-tint:#FBF0DA;--danger:#A81E17;--danger-tint:#FBE7E5;--info:#15558F;--info-tint:#E5EEF8;--focus:#0B3C5D;--focus-on-dark:#F2B33D;--chart-1:#0B3C5D;--chart-2:#1F7F8C;--chart-3:#A84A15;--chart-4:#5B4B9E;--chart-5:#116A3C;--chart-6:#8A5A00;--font-heading:var(--font-jakarta),"Plus Jakarta Sans",system-ui,sans-serif;--font-body:var(--font-inter),"Inter",system-ui,sans-serif;--font-mono:var(--font-plex-mono),"IBM Plex Mono",ui-monospace,monospace;--fs-display:40px;--lh-display:48px;--fs-h1:28px;--lh-h1:36px;--fs-h2:20px;--lh-h2:28px;--fs-h3:16px;--lh-h3:24px;--fs-body:14px;--lh-body:20px;--fs-body-lg:16px;--lh-body-lg:24px;--fs-table:13px;--lh-table:18px;--fs-table-head:11px;--lh-table-head:16px;--fs-label:12px;--lh-label:16px;--fs-badge:11px;--lh-badge:14px;--fs-mono:12px;--lh-mono:16px;--fs-metric:24px;--lh-metric:30px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:64px;--sidebar-w:248px;--sidebar-rail-w:64px;--topbar-h:56px;--row-h:36px;--row-h-comfy:44px;--elev-0:none;--elev-1:0 2px 8px rgba(16,24,32,0.10);--elev-2:0 8px 32px rgba(16,24,32,0.20);--ease:cubic-bezier(0.2,0,0,1);--dur-fast:150ms;--dur:200ms;--dur-slow:300ms}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;max-width:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.avatar,.badge,.btn,.card,.chip,.drawer,.modal,.panel,button,img,input,select,textarea{border-radius:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0;color:var(--text)}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.on-dark :focus-visible,.sidebar :focus-visible{outline-color:var(--focus-on-dark)}.metric,.num,.table td.num,.table th.num,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);line-height:var(--lh-mono);letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack{display:flex;flex-direction:column;gap:2px;min-width:0}.stack>.t{color:var(--text);font-weight:500}.stack>.s,.stack>.t{display:block;overflow-wrap:anywhere}.stack>.s{color:var(--text-muted);font-size:var(--fs-label);line-height:var(--lh-label)}.stack>.s.mono{color:var(--text-faint)}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh;transition:grid-template-columns var(--dur) var(--ease)}.shell.is-rail{grid-template-columns:var(--sidebar-rail-w) minmax(0,1fr)}.sidebar{grid-column:1;background:var(--nav);color:var(--nav-text);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;z-index:20}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;gap:var(--s3);padding:0 var(--s4);border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.sidebar-brand img{display:block;height:24px;width:auto}.is-rail .sidebar-brand{padding:0;justify-content:center}.sidebar-nav{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--s3) 0 var(--s4)}.nav-group-label{display:block;padding:var(--s4) var(--s4) var(--s2);font-size:var(--fs-label);line-height:var(--lh-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted)}.is-rail .nav-group-label{padding:var(--s3) 0 var(--s2);text-align:center;font-size:10px;letter-spacing:.04em}.nav-item{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:40px;padding:var(--s2) var(--s4) var(--s2) calc(var(--s4) - 3px);border-left:3px solid transparent;color:var(--nav-text);font-size:var(--fs-body);font-weight:500;text-decoration:none;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:rgba(255,255,255,.06);color:var(--text-on-dark);text-decoration:none}.nav-item .ico{flex:0 0 20px;width:20px;height:20px}.nav-item .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item[aria-current=page]{background:var(--nav-item-active);border-left-color:var(--nav-marker);color:var(--text-on-dark);font-weight:600}.is-rail .nav-item{justify-content:center;padding-left:calc(var(--s2) - 3px);padding-right:var(--s2)}.is-rail .nav-item .lbl{display:none}.sidebar-foot{flex:0 0 auto;border-top:1px solid rgba(255,255,255,.12);padding:var(--s2)}.rail-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;background:transparent;border:1px solid rgba(255,255,255,.24);color:var(--nav-text);font-family:inherit;font-size:var(--fs-label);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.rail-toggle:hover{background:rgba(255,255,255,.1);color:var(--text-on-dark)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:15;height:var(--topbar-h);display:flex;align-items:center;gap:var(--s3);padding:0 var(--s5);background:var(--surface);border-bottom:1px solid var(--line)}.topbar-spacer{flex:1 1 auto}.topbar .menu-btn{display:none}.topbar-mobile-brand{display:none;align-items:center;gap:var(--s2)}.topbar-mobile-brand img{height:22px;width:auto;display:block}.topbar-title .t{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-h3)}.topbar-title .s{font-size:11px;line-height:14px}.topbar-user .t{font-size:var(--fs-label);font-weight:600}.topbar-user .s{font-size:11px;line-height:14px}.content{grid-column:2;min-width:0;display:flex;flex-direction:column}.content-body{flex:1 1 auto;padding:var(--s6) var(--s5) var(--s9);min-width:0}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-enter{animation:page-in var(--dur-slow) var(--ease) backwards}.page-head{margin-bottom:var(--s5)}.page-head .crumb{display:block;font-size:var(--fs-label);line-height:var(--lh-label);color:var(--text-muted);margin-bottom:var(--s2)}.page-head h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:700}.page-head .lead{display:block;margin-top:var(--s2);color:var(--text-muted);max-width:72ch}.page-actions{margin-top:var(--s4)}.page-actions,.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.toolbar{padding:var(--s3);background:var(--surface);border:1px solid var(--line);border-bottom:0}.toolbar-spacer{flex:1 1 auto;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:36px;padding:0 var(--s3);font-family:var(--font-body);font-size:var(--fs-body);font-weight:600;line-height:1;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn svg{flex:0 0 auto}.btn-primary{background:var(--brand);color:var(--text-on-dark)}.btn-primary:hover{background:var(--brand-hover)}.btn-secondary{background:var(--surface);border-color:var(--control-border);color:var(--text)}.btn-secondary:hover{background:var(--surface-alt)}.btn-danger{background:var(--danger);color:var(--text-on-dark)}.btn-danger:hover{filter:none;background:#8E1913}.btn-ghost{background:transparent;color:var(--brand)}.btn-ghost:hover{background:var(--brand-tint)}.btn-cta{background:var(--success);color:var(--text-on-dark)}.btn-cta:hover{background:#0D5530}.btn-lg{min-height:44px;padding:0 var(--s5);font-size:var(--fs-body-lg)}.btn-sm{min-height:30px;padding:0 var(--s2);font-size:var(--fs-label)}.btn-icon{min-height:36px;width:36px;padding:0;background:var(--surface);border-color:var(--control-border);color:var(--text)}.btn-icon:hover{background:var(--surface-alt)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;background:var(--surface-sunken);border-color:var(--line-strong);color:var(--text-disabled)}.field{display:flex;flex-direction:column;gap:var(--s1);min-width:0}.field-label,.field>label{font-weight:500;color:var(--text-muted)}.field-hint,.field-label,.field>label{display:block;font-size:var(--fs-label);line-height:var(--lh-label)}.field-hint{color:var(--text-faint)}.input{min-height:36px;padding:0 var(--s2);background:var(--surface);border:1px solid var(--control-border);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);width:100%;min-width:0}.input::placeholder{color:var(--text-faint)}.input:disabled{background:var(--surface-sunken);color:var(--text-disabled)}textarea.input{min-height:88px;padding:var(--s2);line-height:var(--lh-body)}.search-wrap{position:relative;display:flex;align-items:center;min-width:0}.search-wrap svg{position:absolute;left:var(--s2);color:var(--text-faint);pointer-events:none}.search-wrap .input{padding-left:32px}.cbx{display:inline-flex;align-items:center;gap:var(--s2);cursor:pointer}.cbx input{position:absolute;opacity:0;margin:0;cursor:pointer}.cbx .box,.cbx input{width:16px;height:16px}.cbx .box{position:relative;flex:0 0 16px;background:var(--surface);border:1px solid var(--control-border);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.cbx input:checked+.box{background:var(--brand);border-color:var(--brand)}.cbx input:checked+.box svg{color:var(--text-on-dark)}.cbx input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}.cbx input:disabled+.box{background:var(--surface-sunken);border-color:var(--line-strong)}.cbx .cbx-label{font-size:var(--fs-body);color:var(--text)}.toggle{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;padding:0;background:var(--surface);border:1px solid var(--control-border);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.toggle .knob{position:absolute;left:2px;width:16px;height:16px;background:var(--control-border);transition:transform var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.toggle[aria-checked=true]{background:var(--brand);border-color:var(--brand)}.toggle[aria-checked=true] .knob{transform:translateX(18px);background:var(--text-on-dark)}.toggle:disabled{border-color:var(--line-strong);cursor:not-allowed}.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--control-border)}.stepper button{width:32px;min-height:34px;background:var(--surface-alt);border:0;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.stepper button:hover{background:var(--surface-sunken)}.stepper button:disabled{color:var(--text-disabled);cursor:not-allowed}.stepper input{width:64px;border:0;border-left:1px solid var(--control-border);border-right:1px solid var(--control-border);text-align:center;font-family:var(--font-body);font-size:var(--fs-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);min-width:0}.stepper-lg button{width:48px;min-height:52px}.stepper-lg input{width:88px;font-size:var(--fs-h3)}.pop-anchor{position:relative;display:inline-flex;min-width:0}.pop-panel{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--control-border);box-shadow:var(--elev-1);max-width:calc(100vw - 2rem);max-height:320px;overflow:auto;animation:pop-in var(--dur-fast) var(--ease) both}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:36px;width:100%;min-width:0;padding:0 var(--s2);background:var(--surface);border:1px solid var(--control-border);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);text-align:left;cursor:pointer}.select-trigger:hover{background:var(--surface-alt)}.select-trigger .val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger .val.is-placeholder{color:var(--text-faint)}.select-trigger .chev{flex:0 0 auto;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease)}.select-trigger[aria-expanded=true] .chev{transform:rotate(180deg)}.select-trigger:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.select-list{min-width:100%;padding:var(--s1) 0}.select-opt{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s3);font-size:var(--fs-body);color:var(--text);cursor:pointer;white-space:nowrap}.select-opt.is-active,.select-opt:hover{background:var(--surface-alt)}.select-opt[aria-selected=true]{background:var(--brand-tint);font-weight:600}.select-opt .tick{color:var(--brand)}.dp-panel{padding:var(--s3);width:300px;max-width:calc(100vw - 2rem)}.dp-panel.dp-range{width:316px}.dp-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s2)}.dp-title{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:600}.dp-nav{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--control-border);color:var(--text);cursor:pointer}.dp-nav:hover{background:var(--surface-alt)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.dp-dow{text-align:center;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:var(--s1) 0}.dp-day{min-height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid transparent;color:var(--text);font-family:var(--font-body);font-size:var(--fs-table);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.dp-day:hover{background:var(--surface-alt);border-color:var(--control-border)}.dp-day.is-out{color:var(--text-faint)}.dp-day.is-today{border-color:var(--control-border);font-weight:600}.dp-day.is-in-range{background:var(--brand-tint)}.dp-day.is-sel{background:var(--brand);border-color:var(--brand);color:var(--text-on-dark);font-weight:600}.dp-day:disabled{color:var(--text-disabled);cursor:not-allowed;background:var(--surface)}.dp-foot{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}.dp-hint{display:block;margin-bottom:var(--s2);font-size:var(--fs-label);color:var(--text-muted)}.panel{background:var(--surface);border:1px solid var(--line);min-width:0}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-table);line-height:var(--lh-table)}.table td,.table th{padding:var(--s2) var(--s3);text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--surface-alt);font-size:var(--fs-table-head);line-height:var(--lh-table-head);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--line-strong)}.table tbody tr{height:var(--row-h)}.table.is-comfy tbody tr{height:var(--row-h-comfy)}.table tbody tr:hover{background:var(--surface-alt)}.table tbody tr.is-selected{background:var(--brand-tint)}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td.num{font-weight:500}.table .col-pick{width:36px}.th-sort{display:inline-flex;align-items:center;gap:var(--s1);background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.th-sort:hover{color:var(--text)}.th-sort .sort-ico{opacity:.45}.th-sort[aria-sort=ascending] .sort-ico,.th-sort[aria-sort=descending] .sort-ico{opacity:1;color:var(--brand)}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--brand-tint);border:1px solid var(--control-border);border-bottom:0;font-size:var(--fs-body)}.bulkbar strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);min-width:0}a.card{color:inherit}a.card,a.card:hover{text-decoration:none}a.card:hover{border-color:var(--control-border);background:var(--surface-alt)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.card-title{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600}.grid{display:grid;grid-gap:var(--s3);gap:var(--s3)}.grid>*{min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.metric-card{background:var(--surface);border:1px solid var(--line);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s1);min-width:0}.metric-card .k{display:block;font-size:var(--fs-label);line-height:var(--lh-label);font-weight:500;color:var(--text-muted)}.metric-card .metric{display:block;font-family:var(--font-heading);font-size:var(--fs-metric);line-height:var(--lh-metric);font-weight:700;color:var(--text)}.metric-card .d{display:block;font-size:var(--fs-label);line-height:var(--lh-label);color:var(--text-muted)}.metric-card .badge{white-space:normal;text-align:left}.badge{display:inline-flex;align-items:center;gap:var(--s1);padding:2px var(--s2);border:1px solid;font-size:var(--fs-badge);line-height:var(--lh-badge);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-neutral{color:var(--text-muted);background:var(--surface-sunken)}.badge-brand{color:var(--brand);background:var(--brand-tint)}.badge-accent{color:var(--accent);background:var(--accent-tint)}.badge-success{color:var(--success);background:var(--success-tint)}.badge-warning{color:var(--warning);background:var(--warning-tint)}.badge-danger{color:var(--danger);background:var(--danger-tint)}.badge-info{color:var(--info);background:var(--info-tint)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;color:var(--text-on-dark);font-family:var(--font-heading);font-size:var(--fs-label);font-weight:700;letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:40px;height:40px;font-size:var(--fs-body)}.thumb{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--surface-sunken);border:1px solid var(--line);color:var(--brand);font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.04em}.thumb-sm{width:28px;height:28px;font-size:10px}.thumb-md{width:44px;height:44px}.thumb-lg{width:100%;aspect-ratio:4/3;font-size:var(--fs-h2)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s8) var(--s5);background:var(--surface-sunken);border:1px solid var(--line);text-align:left}.empty .ico{color:var(--text-faint)}.empty h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600}.empty p{color:var(--text-muted);max-width:56ch}.skel{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--surface-alt) 50%,var(--surface-sunken) 75%);background-size:400% 100%;animation:skel 1.4s ease-in-out infinite;min-height:12px}@keyframes skel{0%{background-position:100% 0}to{background-position:0 0}}.ph{border:1px dashed var(--control-border);background:var(--surface-alt);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);min-width:0}.ph .ph-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--s1);padding:2px var(--s2);background:var(--accent-tint);color:var(--accent);border:1px solid var(--accent);font-size:var(--fs-badge);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ph .ph-title{display:block;font-weight:600;color:var(--text)}.ph .ph-note{display:block;color:var(--text-muted);font-size:var(--fs-label);line-height:18px}.viewswitch{display:inline-flex;border:1px solid var(--control-border);background:var(--surface)}.viewswitch button{display:inline-flex;align-items:center;gap:var(--s1);min-height:34px;padding:0 var(--s2);background:transparent;border:0;border-left:1px solid var(--control-border);color:var(--text-muted);font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.viewswitch button:first-child{border-left:0}.viewswitch button:hover{background:var(--surface-alt);color:var(--text)}.viewswitch button[aria-pressed=true]{background:var(--brand);color:var(--text-on-dark)}.view-body{animation:page-in var(--dur) var(--ease) backwards}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:280px;grid-gap:var(--s3);gap:var(--s3);overflow-x:auto;padding-bottom:var(--s3)}.kan-col{background:var(--surface-alt);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.kan-col-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);background:var(--surface)}.kan-col-head .n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-label);font-weight:600;color:var(--text-muted)}.kan-items{min-height:96px}.kan-card,.kan-items{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3)}.kan-card{background:var(--surface);border:1px solid var(--line);color:inherit;text-decoration:none}.kan-card:hover{border-color:var(--control-border);text-decoration:none}.kan-card .row{justify-content:space-between}.cal-head,.kan-card .row{display:flex;align-items:center;gap:var(--s2)}.cal-head{flex-wrap:wrap;padding:var(--s3);background:var(--surface);border:1px solid var(--line);border-bottom:0}.cal-month{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:700}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);grid-gap:1px;gap:1px;border:1px solid var(--line)}.cal-dow{background:var(--surface-alt);padding:var(--s2);font-size:var(--fs-table-head);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center}.cal-cell{background:var(--surface);min-height:104px;padding:var(--s2);display:flex;flex-direction:column;gap:var(--s1);min-width:0}.cal-cell.is-out{background:var(--surface-alt)}.cal-cell .d{display:block;font-size:var(--fs-label);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.cal-cell.is-today .d{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:20px;height:20px;padding:0 var(--s1);background:var(--brand);color:var(--text-on-dark)}.cal-ev{display:flex;flex-direction:column;gap:1px;padding:2px var(--s1);border-left:3px solid var(--brand);background:var(--surface-alt);color:inherit;text-decoration:none;font-size:11px;line-height:14px}.cal-ev:hover{background:var(--brand-tint);text-decoration:none}.cal-ev .t{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-ev .s{display:block;color:var(--text-muted)}.cal-ev.ev-warning{border-left-color:var(--warning)}.cal-ev.ev-success{border-left-color:var(--success)}.cal-ev.ev-danger{border-left-color:var(--danger)}.cal-ev.ev-info{border-left-color:var(--info)}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s3)}.chart-legend li{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-label);color:var(--text)}.legend-mark{flex:0 0 12px;width:12px;height:12px;display:inline-block}.legend-mark.m-stripe{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.85) 0 2px,transparent 2px 4px)}.legend-mark.m-dot{background-image:radial-gradient(rgba(255,255,255,.9) 1.4px,transparent 1.6px);background-size:4px 4px}.legend-mark.m-cross{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.85) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 1px,transparent 1px 4px)}.legend-mark.m-halfv{background-image:linear-gradient(90deg,rgba(255,255,255,.85) 0 50%,transparent 50% 100%)}.legend-mark.m-halfh{background-image:linear-gradient(0deg,rgba(255,255,255,.85) 0 50%,transparent 50% 100%)}.bars{display:flex;flex-direction:column;gap:var(--s2)}.bar-row{display:grid;grid-template-columns:minmax(96px,30%) 1fr auto;grid-gap:var(--s3);gap:var(--s3);align-items:center}.bar-row .bar-label{font-size:var(--fs-label);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--surface-sunken);height:14px;min-width:0}.bar-fill{height:100%;display:block}.bar-row .bar-val{font-size:var(--fs-table);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;color:var(--text)}.lokasi-map{gap:var(--s5)}.lokasi-map,.lokasi-zona{display:flex;flex-direction:column}.lokasi-zona{gap:var(--s3)}.lokasi-zona-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3)}.lokasi-zona-head h4{font-size:var(--fs-table);line-height:var(--lh-table);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}.lokasi-cell{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);min-width:0;text-align:left;cursor:pointer;font:inherit}.lokasi-cell:hover{border-color:var(--control-border);background:var(--surface-alt)}.lokasi-cell:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.lokasi-cell-success{border-left-color:var(--success)}.lokasi-cell-warning{border-left-color:var(--warning)}.lokasi-cell-danger{border-left-color:var(--danger)}.lokasi-track{height:8px}.lokasi-drawer-list{display:flex;flex-direction:column;gap:var(--s3)}.lokasi-drawer-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);border-bottom:1px solid var(--line);padding-bottom:var(--s3)}.lokasi-drawer-list li:last-child{border-bottom:none;padding-bottom:0}.chart-note{display:block;margin-top:var(--s2);font-size:var(--fs-label);color:var(--text-muted)}.scrim{position:fixed;inset:0;z-index:90;background:rgba(10,36,54,.55);animation:fade-in var(--dur-fast) var(--ease) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-wrap{position:fixed;inset:0;z-index:91;display:flex;align-items:flex-start;justify-content:center;padding:var(--s6) var(--s4);overflow-y:auto}.modal{position:relative;width:100%;max-width:560px;background:var(--surface);border:1px solid var(--control-border);box-shadow:var(--elev-2);animation:modal-in var(--dur) var(--ease) both}.modal.modal-lg{max-width:800px}@keyframes modal-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.drawer-head,.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--line)}.drawer-head h2,.modal-head h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}.drawer-body,.modal-body{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.drawer-foot,.modal-foot{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s4);border-top:1px solid var(--line)}.drawer{position:fixed;top:0;bottom:0;right:0;z-index:91;width:min(420px,calc(100vw - 48px));background:var(--surface);border-left:1px solid var(--control-border);box-shadow:var(--elev-2);display:flex;flex-direction:column;overflow-y:auto;animation:drawer-in var(--dur) var(--ease) both}.drawer.drawer-left{right:auto;left:0;border-left:0;border-right:1px solid var(--control-border);animation-name:drawer-in-left}@keyframes drawer-in{0%{transform:translateX(100%)}to{transform:none}}@keyframes drawer-in-left{0%{transform:translateX(-100%)}to{transform:none}}.drawer-nav{background:var(--nav);color:var(--nav-text);border-right-color:rgba(255,255,255,.2)}.drawer-nav .drawer-head{border-bottom-color:rgba(255,255,255,.12)}.drawer-nav .drawer-head h2{color:var(--text-on-dark)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer}.icon-btn:hover{background:var(--surface-alt);color:var(--text);border-color:var(--control-border)}.drawer-nav .icon-btn{color:var(--nav-text)}.drawer-nav .icon-btn:hover{background:rgba(255,255,255,.1);color:var(--text-on-dark);border-color:rgba(255,255,255,.3)}.tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line-strong);margin-bottom:var(--s5)}.tab{display:inline-flex;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s3);border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:var(--fs-body);font-weight:600;cursor:pointer}.tab,.tab:hover{text-decoration:none}.tab:hover{color:var(--text);background:var(--surface-alt)}.tab[aria-current=page],.tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--s4);gap:var(--s4)}.dl>div{display:flex;flex-direction:column;gap:2px;min-width:0}.dl dt{display:block;font-size:var(--fs-label);line-height:var(--lh-label);color:var(--text-muted);font-weight:500}.dl dd{display:block;margin:0;font-size:var(--fs-body);color:var(--text);overflow-wrap:anywhere}.section{margin-bottom:var(--s7)}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.section-head h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}.section-head .s{display:block;font-size:var(--fs-label);color:var(--text-muted)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{display:inline-flex;align-items:center;gap:var(--s1);padding:3px var(--s2);background:var(--surface);border:1px solid var(--control-border);font-size:var(--fs-label);font-weight:500;color:var(--text)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--text-on-dark)}.callout{display:flex;gap:var(--s3);padding:var(--s3);border:1px solid;font-size:var(--fs-body)}.callout .body{color:var(--text);display:flex;flex-direction:column;gap:var(--s1);min-width:0}.callout .body strong{display:block}.callout-info{color:var(--info);background:var(--info-tint)}.callout-warning{color:var(--warning);background:var(--warning-tint)}.callout-danger{color:var(--danger);background:var(--danger-tint)}.callout-success{color:var(--success);background:var(--success-tint)}.pub{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface)}.pub-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s6);border-bottom:1px solid var(--line)}.pub-head img{height:28px;width:auto;display:block}.hero{padding:var(--s10) var(--s6);background:var(--canvas);border-bottom:1px solid var(--line)}.hero-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--s9);gap:var(--s9);align-items:center}.hero .eyebrow{display:inline-block;margin-bottom:var(--s3);padding:3px var(--s2);background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand);font-size:var(--fs-badge);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hero h1{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:800;letter-spacing:-.01em}.hero .sub{display:block;margin-top:var(--s4);font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--text-muted);max-width:56ch}.hero .cta-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}.pub-body{max-width:1080px;margin:0 auto;padding:var(--s9) var(--s6);width:100%}.pub-body h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}.pub-body p{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--text-muted)}.pub-foot{margin-top:auto;padding:var(--s6);background:var(--nav);color:var(--nav-text);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.pub-foot img{height:24px;width:auto;display:block}.pub-foot a{color:var(--text-on-dark);text-decoration:underline}.pub-foot .credit{display:block;font-size:var(--fs-label);color:var(--nav-text)}.login-wrap{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--s7) var(--s4);background:var(--canvas)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}.login-card img{height:28px;width:auto;display:block}.cred{flex-direction:column;padding:var(--s3);background:var(--info-tint);border:1px solid var(--info);color:var(--info);font-size:var(--fs-body)}.cred,.cred .cred-row{display:flex;gap:var(--s2)}.cred .cred-row{align-items:baseline;color:var(--text)}.cred .cred-row .k{flex:0 0 72px;color:var(--text-muted);font-size:var(--fs-label)}.cred .cred-row .v{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text)}@media (max-width:1024px){.shell,.shell.is-rail{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.content{grid-column:1}.topbar .menu-btn{display:inline-flex}.topbar-mobile-brand{display:flex}.topbar-title{display:none}.content-body{padding:var(--s5) var(--s4) var(--s8)}.hero-inner{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.hero{padding:var(--s7) var(--s4)}.hero h1{font-size:30px;line-height:38px}.pub-body{padding:var(--s7) var(--s4)}.pub-head{padding:var(--s3) var(--s4)}.cal-cell{min-height:72px}.cal-ev .s{display:none}.snap-row{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82vw;grid-gap:var(--s3);gap:var(--s3);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s2);-webkit-overflow-scrolling:touch}.snap-row>*{scroll-snap-align:start}.topbar-user{display:none}}@media (max-width:480px){.content-body{padding:var(--s4) var(--s3) var(--s7)}.topbar{padding:0 var(--s3);gap:var(--s2)}.topbar .icon-btn[aria-label^=Notifikasi]{display:none}.page-head h1{font-size:22px;line-height:30px}.grid-4{grid-template-columns:minmax(0,1fr)}.kanban{grid-auto-columns:82vw}.cal-grid{font-size:11px}.cal-cell{min-height:56px;padding:var(--s1)}.modal-wrap{padding:var(--s4) var(--s3)}}@media (max-width:768px){.topbar .btn-icon,.topbar .icon-btn{width:44px;height:44px;min-height:44px}.btn,.nav-item,.viewswitch button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.drawer,.modal,.page-enter,.pop-panel,.scrim,.view-body{animation:none!important;opacity:1!important;transform:none!important}}.row{gap:var(--s2)}.row,.row-between{display:flex;align-items:center;min-width:0}.row-between{justify-content:space-between;gap:var(--s3)}.wrap{flex-wrap:wrap}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.pos,.strong{font-weight:600}.pos{color:var(--success)}.neg{color:var(--danger);font-weight:600}.zero{color:var(--text-muted)}.nowrap{white-space:nowrap}.mt-2{margin-top:var(--s2)}.mt-3{margin-top:var(--s3)}.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}.mb-3{margin-bottom:var(--s3)}.mb-4{margin-bottom:var(--s4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--s4);gap:var(--s4)}.narrow{max-width:720px}