@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2) format("woff2-variations");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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2) format("woff2-variations");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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--c-cloud: #F6F8FB;--c-surface: #FFFFFF;--c-surface-sunken: #EEF2F7;--c-navy-deep: #0D2440;--c-navy: #123152;--c-navy-hover: #0E2742;--c-navy-wash: #EAF0F7;--c-ink: #1B2B3A;--c-ink-secondary: #4B586A;--c-ink-muted: #616B7A;--c-hairline: #DDE4EC;--c-hairline-strong: #C7D1DE;--c-gold: #D8A11F;--c-gold-bright: #E8B94A;--c-gold-deep: #B5851A;--c-gold-wash: #FBF2DC;--c-focus-ring: #123152;--c-on-navy: #FFFFFF;--c-status-neutral: #5A6371;--c-status-info: #2F5E8C;--c-status-active: #123152;--c-status-warning: #8A5D16;--c-status-positive: #2F6B4E;--c-status-negative: #A33B3B;--c-status-neutral-wash: #EEF1F5;--c-status-info-wash: #E7EEF6;--c-status-active-wash: #EAF0F7;--c-status-warning-wash: #F4EEDF;--c-status-positive-wash: #E8F1EC;--c-status-negative-wash: #F6E9E9;--braid: repeating-linear-gradient(-20deg, var(--c-gold) 0 6px, var(--c-gold-bright) 6px 7px, transparent 7px 12px, var(--c-navy) 12px 17px, transparent 17px 18px);--font-display: "Newsreader Variable", "Newsreader", Georgia, "Times New Roman", serif;--font-text: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--numeral: "tnum" 1;--t-display-xl: 40px;--t-display-xl-lh: 44px;--t-h1: 31px;--t-h1-lh: 36px;--t-h2: 25px;--t-h2-lh: 31px;--t-h3: 20px;--t-h3-lh: 26px;--t-body-lg: 18px;--t-body-lg-lh: 28px;--t-body: 15px;--t-body-lh: 23px;--t-body-sm: 13px;--t-body-sm-lh: 19px;--t-label: 11px;--t-label-lh: 14px;--t-label-tracking: .06em;--t-mono-sm: 13px;--t-mono-sm-lh: 20px;--s-0: 0px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--r-none: 0px;--r-sm: 2px;--r-md: 4px;--r-lg: 8px;--r-tile: 12px;--r-tag: 999px;--b-hairline: 1px;--b-strong: 1.5px;--b-focus: 2px;--e-flat: none;--e-raised: 0 1px 2px rgba(13,36,64,.07);--e-overlay: 0 8px 24px rgba(13,36,64,.14);--e-modal: 0 16px 48px rgba(13,36,64,.2);--l-content-max: 1200px;--l-reading-max: 680px;--l-sidebar: 232px;--l-rail-slim: 56px;--l-gutter: 32px;--l-touch: 44px;--d-instant: 80ms;--d-fast: .14s;--d-base: .2s;--d-slow: .28s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(0, 0, 0, 1);--ease-exit: cubic-bezier(.3, 0, 1, 1);--move-nudge: 2px;--move-slide: 8px}@media (max-width: 767px){:root{--l-gutter: 16px}}[data-theme=dark]{color-scheme:dark;--c-cloud: #0B1622;--c-surface: #12202F;--c-surface-sunken: #0E1927;--c-navy-deep: #0A1B30;--c-navy: #8FB6E0;--c-navy-hover: #A9C9EB;--c-navy-wash: #1A2C40;--c-on-navy: #0E1D30;--c-ink: #D9E2EC;--c-ink-secondary: #A3B1C2;--c-ink-muted: #7C8A9C;--c-hairline: #24354A;--c-hairline-strong: #33475F;--c-gold: #D8A11F;--c-gold-bright: #E8B94A;--c-gold-deep: #E0B04C;--c-gold-wash: #2E2714;--c-focus-ring: #8FB6E0;--c-status-neutral: #9AA5B3;--c-status-info: #7FAEDC;--c-status-active: #8FB6E0;--c-status-warning: #D9AE55;--c-status-positive: #7FBE9A;--c-status-negative: #E08E8E;--c-status-neutral-wash: #1D2836;--c-status-info-wash: #14283C;--c-status-active-wash: #1A2C40;--c-status-warning-wash: #2E2712;--c-status-positive-wash: #15291F;--c-status-negative-wash: #331B1B;--braid: repeating-linear-gradient(-20deg, var(--c-gold) 0 6px, var(--c-gold-bright) 6px 7px, transparent 7px 12px, #4A6C93 12px 17px, transparent 17px 18px);--e-raised: 0 1px 2px rgba(0,0,0,.4);--e-overlay: 0 8px 24px rgba(0,0,0,.5);--e-modal: 0 16px 48px rgba(0,0,0,.6)}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-cloud);color:var(--c-ink);font-family:var(--font-text);font-size:var(--t-body);line-height:var(--t-body-lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}table,.num,[data-numeric]{font-feature-settings:var(--numeral)}h1,.t-h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--t-h1-lh);font-weight:400;letter-spacing:-.01em;color:var(--c-navy);margin:0}h2,.t-h2{font-family:var(--font-display);font-size:var(--t-h2);line-height:var(--t-h2-lh);font-weight:500;color:var(--c-navy);margin:0}h3,.t-h3{font-family:var(--font-text);font-size:var(--t-h3);line-height:var(--t-h3-lh);font-weight:600;margin:0}.t-label{font-size:var(--t-label);line-height:var(--t-label-lh);letter-spacing:var(--t-label-tracking);text-transform:uppercase;font-weight:600;color:var(--c-ink-muted)}a{color:var(--c-navy);text-decoration:none}a:hover{color:var(--c-navy-hover);text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:var(--b-focus) solid var(--c-focus-ring);outline-offset:2px}.braid-rule{height:4px;border-radius:2px;background:var(--braid)}.interactive{transition:background-color var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard),transform var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard)}.interactive:hover{transform:translateY(calc(-1 * var(--move-nudge)));box-shadow:var(--e-raised)}.interactive:active{transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--tabbar-h: 60px}*{box-sizing:border-box}html,body,#root{height:100%}button{font-family:inherit;cursor:pointer;border:none}input,select,textarea{font-family:inherit;font-size:inherit}h4{margin:0;font-weight:600}.wordmark{font-family:var(--font-display)}.wordmark .wm-a{font-weight:400;color:var(--c-ink-secondary)}.wordmark .wm-b{font-weight:600;color:var(--c-navy)}kbd{font-family:var(--font-mono);font-size:11px;background:var(--c-cloud);border:1px solid var(--c-hairline);border-bottom-width:2px;border-radius:4px;padding:1px 5px;color:var(--c-ink-secondary)}.app{display:grid;grid-template-columns:var(--l-sidebar) 1fr;min-height:100dvh}@media (max-width: 1024px){.app{grid-template-columns:64px 1fr}}.sidebar{background:var(--c-surface);border-right:1px solid var(--c-hairline);padding:var(--s-5) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.sidebar-brand{font-size:18px;margin-bottom:var(--s-4);padding:0 var(--s-2);display:flex;align-items:center;gap:var(--s-2)}.sidebar-brand-mark{width:28px;height:28px;display:block;flex:none}.nav-item{display:flex;align-items:center;gap:var(--s-3);padding:10px 14px;border-radius:var(--r-md);border-left:3px solid transparent;color:var(--c-ink-secondary);font-weight:500;font-size:var(--t-body-sm);text-decoration:none;position:relative;transition:background var(--d-fast) var(--ease-standard),color var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard)}.nav-item:hover{background:var(--c-surface-sunken);color:var(--c-ink);text-decoration:none}.nav-item.active{border-left-color:var(--c-gold);background:var(--c-gold-wash);color:var(--c-navy);font-weight:600}.nav-label{flex:1}.nav-badge{background:var(--c-status-negative-wash);color:var(--c-status-negative);font-size:11px;font-weight:700;padding:1px 6px;border-radius:var(--r-tag);min-width:18px;text-align:center}@media (max-width: 1024px){.nav-label,.sidebar-brand-label{display:none}}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:none;background:color-mix(in srgb,var(--c-surface) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--c-hairline);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 var(--s-2) env(safe-area-inset-bottom)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--c-ink-secondary);font-size:10px;font-weight:600;letter-spacing:.02em;text-decoration:none;background:none;position:relative;transition:color var(--d-fast) var(--ease-standard)}.tabbar-item:hover{text-decoration:none;color:var(--c-ink)}.tabbar-item.active{color:var(--c-navy)}.tabbar-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:0 0 2px 2px;background:var(--c-gold)}.tabbar-item:active{transform:scale(.96)}.tabbar-badge{position:absolute;top:6px;left:calc(50% + 4px);min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-tag);background:var(--c-status-negative);color:var(--c-on-navy);font-size:10px;font-weight:700;line-height:16px;text-align:center}.main{display:flex;flex-direction:column;min-width:0}.topbar{background:color-mix(in srgb,var(--c-surface) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-hairline);padding:var(--s-3) var(--s-6);display:flex;align-items:center;gap:var(--s-3);position:sticky;top:0;z-index:10}.topbar-search{flex:1;max-width:420px;background:var(--c-surface-sunken);border:1px solid var(--c-hairline);border-radius:var(--r-md);padding:8px 12px;color:var(--c-ink);outline:none;transition:border-color var(--d-fast) var(--ease-standard)}.topbar-search:focus{border-color:var(--c-hairline-strong)}.topbar-spacer{flex:1}.health-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.health-dot.ok{background:var(--c-status-positive)}.health-dot.bad{background:var(--c-status-negative)}.health-label{color:var(--c-ink-secondary);font-size:var(--t-body-sm)}.content{padding:var(--s-5) var(--s-6);width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;min-height:40px;border-radius:var(--r-md);font-weight:600;font-size:var(--t-body);background:var(--c-navy);color:var(--c-on-navy);border:var(--b-hairline) solid var(--c-navy);transition:background var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard),transform var(--d-instant) var(--ease-standard)}.btn:hover{background:var(--c-navy-hover);border-color:var(--c-navy-hover)}.btn:active{transform:scale(.98)}.btn-outline{background:transparent;color:var(--c-ink);border:var(--b-hairline) solid var(--c-hairline-strong)}.btn-outline:hover{background:var(--c-surface-sunken);border-color:var(--c-hairline-strong)}.btn-danger{background:var(--c-status-negative);border-color:var(--c-status-negative)}.btn-danger:hover{background:color-mix(in srgb,var(--c-status-negative) 85%,black);border-color:color-mix(in srgb,var(--c-status-negative) 85%,black)}.btn-ghost{background:transparent;color:var(--c-ink-secondary);border:none;padding:6px 8px}.btn-ghost:hover{background:var(--c-surface-sunken);color:var(--c-ink)}.btn-sm{padding:4px 10px;min-height:0;font-size:var(--t-body-sm)}.card{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-lg);padding:var(--s-5)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.card-title{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-label);text-transform:uppercase;letter-spacing:var(--t-label-tracking);color:var(--c-ink-muted);font-weight:600}.count-chip{background:var(--c-surface-sunken);color:var(--c-ink-secondary);padding:2px 8px;border-radius:var(--r-tag);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:var(--s-4)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s-4)}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s-4)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-tag);font-size:var(--t-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill-outline{background:transparent;border:1px solid currentColor;color:var(--c-ink-secondary)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600;background:var(--c-surface-sunken);border:1px solid var(--c-hairline);color:var(--c-ink-secondary)}.chip-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table{width:100%;border-collapse:collapse;font-size:var(--t-body-sm);font-feature-settings:var(--numeral)}.table th,.table td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:var(--b-hairline) solid var(--c-hairline)}.table td{color:var(--c-ink)}.table th{font-weight:600;font-size:var(--t-label);text-transform:uppercase;letter-spacing:var(--t-label-tracking);color:var(--c-ink-muted);background:var(--c-surface);border-bottom:var(--b-strong) solid var(--c-hairline-strong);position:sticky;top:0}.table tbody tr{transition:background var(--d-fast) var(--ease-standard)}.table tbody tr:hover{background:var(--c-navy-wash)}.table tbody tr:last-child td{border-bottom:none}@media (max-width: 767px){.table-stack thead{display:none}.table-stack,.table-stack tbody,.table-stack tr,.table-stack td{display:block}.table-stack tr{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-lg);margin-bottom:var(--s-3);padding:var(--s-2) 0}.table-stack td{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);border-bottom:none;padding:7px 16px}.table-stack td:not([data-label]){display:block}.table-stack td[data-label]:before{content:attr(data-label);font-size:var(--t-label);text-transform:uppercase;letter-spacing:var(--t-label-tracking);font-weight:600;color:var(--c-ink-muted);flex-shrink:0}}.input,.select,.textarea{width:100%;background:var(--c-surface);color:var(--c-ink);border:var(--b-hairline) solid var(--c-hairline);border-radius:var(--r-md);padding:10px 12px;transition:border-color var(--d-fast) var(--ease-standard)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-hairline-strong)}.textarea{min-height:96px;resize:vertical;font-family:inherit}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--t-label);letter-spacing:var(--t-label-tracking);text-transform:uppercase;color:var(--c-ink-muted);font-weight:600}.field-hint{font-size:12px;color:var(--c-ink-secondary);margin:2px 0 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}@media (max-width: 767px){.field-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--c-navy-deep) 45%,transparent);z-index:100;display:grid;place-items:center;padding:var(--s-4)}.modal{background:var(--c-surface);border:1px solid var(--c-hairline);box-shadow:var(--e-modal);border-radius:var(--r-lg);width:100%;max-width:640px;max-height:90dvh;overflow:auto;display:flex;flex-direction:column}.modal-lg{max-width:880px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-hairline)}.modal-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}.modal-footer{padding:var(--s-4) var(--s-5);border-top:1px solid var(--c-hairline);display:flex;justify-content:flex-end;gap:var(--s-2)}.add-btn{padding:0;width:40px;min-width:40px}.add-type-tabs{display:flex;gap:var(--s-1);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--c-hairline);overflow-x:auto}.add-type-tab{flex:1 0 auto;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-weight:600;font-size:var(--t-body-sm);color:var(--c-ink-secondary);background:transparent;border:var(--b-hairline) solid transparent;white-space:nowrap;transition:background var(--d-fast) var(--ease-standard),color var(--d-fast) var(--ease-standard)}.add-type-tab:hover{background:var(--c-surface-sunken);color:var(--c-ink)}.add-type-tab.active{background:var(--c-navy-wash);color:var(--c-navy);border-color:var(--c-navy)}.add-job-choice{display:flex;flex-direction:column;gap:var(--s-3)}.add-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1);text-align:left;padding:var(--s-4);border-radius:var(--r-md);background:var(--c-surface-sunken);border:var(--b-hairline) solid var(--c-hairline);transition:border-color var(--d-fast) var(--ease-standard),background var(--d-fast) var(--ease-standard)}.add-choice-card:hover{border-color:var(--c-navy);background:var(--c-navy-wash)}.add-choice-card strong{color:var(--c-navy)}@media (max-width: 767px){.modal-backdrop{place-items:end stretch;padding:0}.modal{max-width:100%;max-height:92dvh;border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up var(--d-base) var(--ease-standard)}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.alert-strip{background:var(--c-status-negative-wash);border:1px solid color-mix(in srgb,var(--c-status-negative) 20%,transparent);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.alert-strip.empty{background:var(--c-status-positive-wash);border-color:color-mix(in srgb,var(--c-status-positive) 20%,transparent);color:var(--c-status-positive);font-size:13px}.alert-strip-title{font-weight:700;color:var(--c-status-negative);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-right:var(--s-2)}.alert-chip{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-tag);padding:4px 10px;font-size:12px;color:var(--c-ink);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard)}.alert-chip:hover{border-color:var(--c-hairline-strong);box-shadow:var(--e-raised)}.alert-chip.overdue{border-color:color-mix(in srgb,var(--c-status-negative) 40%,transparent);color:var(--c-status-negative)}.alert-chip.due-today{border-color:color-mix(in srgb,var(--c-status-warning) 40%,transparent);color:var(--c-status-warning)}.overview-page{display:flex;flex-direction:column;min-height:calc(100dvh - 110px)}.overview-page .kanban{flex:1;min-height:0}.kanban{display:flex;gap:var(--s-3);align-items:stretch;padding-bottom:var(--s-3);overflow-x:auto}.kanban-col{flex:1 1 0;min-width:200px;background:var(--c-surface-sunken);border-radius:var(--r-lg);display:flex;flex-direction:column;border:1px solid var(--c-hairline)}.kanban-col-header{padding:var(--s-4) var(--s-3);border-bottom:1px solid var(--c-hairline);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.kanban-col-bar{width:4px;align-self:stretch;border-radius:2px}.kanban-body{padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3);flex:1;overflow-y:auto}.kanban-card{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-lg);padding:var(--s-4);cursor:grab;display:flex;flex-direction:column;gap:8px;transition:box-shadow var(--d-fast) var(--ease-standard),transform var(--d-fast) var(--ease-standard)}.kanban-card:hover{box-shadow:var(--e-raised);transform:translateY(-1px)}.kanban-card.dragging{opacity:.4;box-shadow:var(--e-overlay)}.kanban-card-title{font-weight:600;font-size:15px;line-height:1.35;color:var(--c-ink)}.kanban-card-company{font-size:13px;color:var(--c-ink-secondary)}.kanban-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.kanban-card-due{font-size:12px;color:var(--c-ink-secondary);font-variant-numeric:tabular-nums}.kanban-card-due.overdue{color:var(--c-status-negative);font-weight:600}.kanban-col.drop-target{background:var(--c-gold-wash);border-color:var(--c-gold)}.kanban-card.needs-attention{border-color:color-mix(in srgb,var(--c-status-warning) 55%,transparent);box-shadow:inset 3px 0 0 0 var(--c-status-warning)}.attention-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c-status-warning);margin-right:6px;vertical-align:1px;flex:none}.card.flagged{border-color:var(--c-gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-gold) 45%,transparent)}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:36px;height:20px;border-radius:999px;background:var(--c-hairline-strong);border:1px solid var(--c-hairline-strong);cursor:pointer;transition:background .15s ease,border-color .15s ease}.switch:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:var(--c-surface);transition:transform .15s ease}.switch:checked{background:var(--c-navy);border-color:var(--c-navy)}.switch:checked:after{transform:translate(16px)}.stage-switcher{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.stage-switcher .select{flex:1}.kanban-mobile{overflow-x:visible}.kanban-mobile .kanban-col{min-width:0;width:100%}.kanban-mobile .kanban-body{overflow-y:visible}.kanban-mobile .kanban-card{cursor:default}.toasts{position:fixed;bottom:var(--s-4);right:var(--s-4);z-index:200;display:flex;flex-direction:column;gap:var(--s-2);max-width:360px}.toast{background:var(--c-surface);border:1px solid var(--c-hairline);border-left:3px solid var(--c-status-info);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);box-shadow:var(--e-raised);font-size:13px;animation:toast-in var(--d-base) var(--ease-standard)}.toast.success{border-left-color:var(--c-status-positive)}.toast.error{border-left-color:var(--c-status-negative)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notif{position:relative;display:inline-flex}.notif-bell{position:relative}.notif-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-tag);background:var(--c-status-negative);color:var(--c-on-navy);font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--c-surface)}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:420px;overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-lg);box-shadow:var(--e-overlay);z-index:100;padding:var(--s-2);animation:toast-in var(--d-fast) var(--ease-standard)}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-2) var(--s-3);border-bottom:1px solid var(--c-hairline);margin-bottom:var(--s-2)}.notif-title{font-size:var(--t-label);font-weight:700;color:var(--c-ink);text-transform:uppercase;letter-spacing:.05em}.notif-empty{padding:var(--s-5) var(--s-3);text-align:center;color:var(--c-ink-secondary);font-size:var(--t-body-sm)}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-1)}.notif-item{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border-left:3px solid var(--c-status-info);background:var(--c-surface-sunken)}.notif-item.success{border-left-color:var(--c-status-positive)}.notif-item.error{border-left-color:var(--c-status-negative)}.notif-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-msg{color:var(--c-ink);font-size:var(--t-body-sm);line-height:1.35}.notif-time{color:var(--c-ink-secondary);font-size:11px;font-variant-numeric:tabular-nums}.notif-dismiss{flex-shrink:0;padding:2px 4px}.notif-markall{display:flex;align-items:center;gap:4px;width:100%;justify-content:center;margin-top:var(--s-2)}.row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.row-tight{display:flex;align-items:center;gap:var(--s-2)}.spacer{flex:1}.muted{color:var(--c-ink-secondary)}.faint{color:var(--c-ink-muted)}.center{text-align:center}.divider{height:1px;background:var(--c-hairline);margin:var(--s-3) 0}.empty-state{text-align:center;padding:var(--s-6) var(--s-4);color:var(--c-ink-secondary);font-size:var(--t-body-sm)}.empty-state:before{content:"";display:block;width:90px;height:4px;border-radius:2px;background:var(--braid);margin:0 auto var(--s-4)}.empty-state strong{font-family:var(--font-display);font-weight:500;color:var(--c-navy);display:block;margin-bottom:var(--s-2);font-size:var(--t-h3)}.section-title{font-size:var(--t-label);text-transform:uppercase;letter-spacing:var(--t-label-tracking);color:var(--c-ink-muted);font-weight:600;margin-bottom:var(--s-3)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-5)}.page-header h1{display:flex;align-items:center;gap:var(--s-3)}.page-header .btn-outline{padding:10px 16px;font-size:var(--t-body-sm);font-weight:600;border-radius:var(--r-md);background:transparent;border:var(--b-hairline) solid var(--c-hairline-strong);color:var(--c-ink);display:inline-flex;align-items:center;gap:6px;transition:background var(--d-fast) var(--ease-standard),border-color var(--d-fast) var(--ease-standard),transform var(--d-fast) var(--ease-standard)}.page-header .btn-outline:hover{background:var(--c-surface-sunken);border-color:var(--c-hairline-strong);color:var(--c-ink)}.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.checklist-item{display:flex;align-items:center;gap:var(--s-3);padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--c-hairline);background:var(--c-surface);transition:border-color var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard)}.checklist-item:hover{border-color:var(--c-hairline-strong);box-shadow:var(--e-raised)}.checklist-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--c-navy)}.checklist-item .meta{font-size:13px;color:var(--c-ink-secondary)}.checklist-item .title{flex:1;font-size:15px;font-weight:500;color:var(--c-ink)}.score-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--c-surface-sunken)}.score-chip.good{color:var(--c-status-positive);background:var(--c-status-positive-wash)}.score-chip.mid{color:var(--c-status-warning);background:var(--c-status-warning-wash)}.score-chip.low{color:var(--c-status-negative);background:var(--c-status-negative-wash)}.login-shell{min-height:100dvh;display:grid;place-items:center;background:var(--c-cloud);padding:var(--s-5)}.login-card{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--r-lg);padding:var(--s-6);width:100%;max-width:420px}.login-card h1{margin-bottom:var(--s-3)}.login-card .muted{font-size:13px;margin-bottom:var(--s-4);line-height:1.5}.skeleton{background:var(--c-surface-sunken);border-radius:var(--r-md);animation:skeleton-pulse 1.4s var(--ease-standard) infinite}.skeleton-line{height:12px}.skeleton-card{height:96px;border-radius:var(--r-lg)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.fade-in-up{animation:fade-in-up var(--d-slow) var(--ease-standard) both}.stagger>*{animation:fade-in-up var(--d-slow) var(--ease-standard) both;animation-delay:calc(var(--index, 0) * 60ms)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--move-slide))}to{opacity:1;transform:none}}.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}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@media (max-width: 767px){.tabbar{display:flex}.sidebar{display:none}.app{grid-template-columns:1fr}.content{padding:var(--s-4) var(--s-4) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-5))}.topbar{padding:var(--s-3) var(--s-4)}.page-header{flex-wrap:wrap;gap:var(--s-3)}.topbar-search-form,.health-label{display:none!important}.btn .btn-label-desktop{display:none}.btn{min-height:var(--l-touch)}.toasts{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-3));left:var(--s-4);right:var(--s-4);max-width:none}.overview-page{min-height:0}}
