@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-zlEY3-7j.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-0slToPcK.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/be-vietnam-pro-latin-400-normal-b8ymZRaE.woff2) format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-TANtbk6n.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-GzipT5gY.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/be-vietnam-pro-latin-500-normal-BFUaPJDQ.woff2) format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-CrdqsjGL.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-Bb-tHBQ3.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/be-vietnam-pro-latin-600-normal-2BKReCdn.woff2) format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-CWMsmEuB.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-1FeCunIR.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/be-vietnam-pro-latin-700-normal-IuSBdXyQ.woff2) format("woff2");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;--surface-100: #f5f6f8;--surface-200: #ffffff;--surface-300: #e9ecf1;--line: #d5d9e0;--line-strong: #7a8394;--ink: #14181f;--muted: #454e5d;--accent: #2f4bb8;--accent-on: #ffffff;--accent-tint: #e5eafa;--ok-text: #17623a;--ok-bg: #e7f4ec;--ok-bar: #2e8b57;--warn-text: #7a4b00;--warn-bg: #fff3d6;--warn-bar: #c4841d;--danger-text: #842727;--danger-bg: #fdebec;--danger-bar: #c04343;--focus-ring: #2f4bb8;--shadow-pop: 0 10px 30px rgb(20 24 31 / 14%);--type-kpi-size: 28px;--type-kpi-line: 32px;--type-display-size: 36px;--type-display-line: 42px;--type-title-size: 18px;--type-title-line: 26px;--type-heading-size: 15px;--type-heading-line: 22px;--type-body-size: 14px;--type-body-line: 20px;--type-caption-size: 12px;--type-caption-line: 16px;--type-code-size: 13px;--type-code-line: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-card: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(20 24 31 / 8%);--control-height: 44px;--control-height-sm: 36px;--mobile-width: 390px;--web-width: 1280px;--sidebar-width: 224px;--topbar-height: 72px;--content-width: 1120px;--z-dialog: 40}:root[data-theme=dark]{color-scheme:dark;--surface-100: #111419;--surface-200: #171b22;--surface-300: #202630;--line: #313844;--line-strong: #758093;--ink: #f2f4f7;--muted: #b8c0cc;--accent: #9aa7ff;--accent-on: #111419;--accent-tint: #252d58;--ok-text: #9bd7b5;--ok-bg: #173526;--ok-bar: #62bc84;--warn-text: #f3ca7a;--warn-bg: #3a2d16;--warn-bar: #dfa33b;--danger-text: #f4a2a2;--danger-bg: #3b1f22;--danger-bar: #e46b6b;--focus-ring: #9aa7ff;--shadow-pop: 0 10px 30px rgb(0 0 0 / 36%)}.card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-200);box-shadow:var(--shadow-card)}.card__header{padding:var(--space-4) var(--space-4) 0}.card__title{margin:0;font-size:var(--type-heading-size);font-weight:600;line-height:var(--type-heading-line)}.card__body{padding:var(--space-4)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-header h1{margin:0;font-size:28px;line-height:36px}.page-header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:13px}.page-header__action{display:flex;align-items:center;gap:var(--space-2)}.stat-tile{display:flex;min-width:0;flex-direction:column;gap:var(--space-1);font-variant-numeric:tabular-nums}.stat-tile__label{color:var(--muted);font-size:13px}.stat-tile__value{width:fit-content;font-size:28px;font-weight:600;line-height:36px}.stat-tile__detail{color:var(--muted);font-size:13px}.view-as-role{display:flex;min-height:44px;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-2);background:var(--surface-200);font-size:12px;font-weight:600;white-space:nowrap}.view-as-role select{min-height:34px;border:0;background:transparent;color:var(--ink);font:inherit}.view-as-role--compact{min-width:0;flex:1}.view-as-person{display:grid;gap:var(--space-2);border:1px solid var(--accent);border-radius:var(--radius-card);padding:var(--space-3);background:var(--accent-tint)}.view-as-person p{margin:0;font-size:13px}.view-as-person label{display:grid;gap:var(--space-1);font-weight:600}.view-as-person select{min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--surface-200);color:var(--ink)}.mobile-view-as{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--surface-200)}.chip{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--muted);cursor:pointer;font-weight:600;white-space:nowrap}.chip:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.chip--selected{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.btn{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);background:var(--surface-200);color:var(--ink);cursor:pointer;font-weight:600}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn[aria-busy=true]:before{width:16px;height:16px;margin-right:var(--space-2);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:button-spin .7s linear infinite;content:""}@keyframes button-spin{to{transform:rotate(1turn)}}.btn--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-on)}.btn--warn{border-color:var(--warn-bar);background:var(--warn-bg);color:var(--warn-text)}.btn--sm{min-height:var(--control-height-sm);padding:var(--space-1) var(--space-3);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.btn--full{width:100%}.badge,.source-chip{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);background:var(--surface-300);color:var(--ink);font-size:var(--type-caption-size);font-weight:600;line-height:var(--type-caption-line);white-space:nowrap}.badge:before{content:"•"}.badge--ok{border-color:var(--ok-bar);background:var(--ok-bg);color:var(--ok-text)}.badge--ok:before{content:"✓"}.badge--warn{border-color:var(--warn-bar);background:var(--warn-bg);color:var(--warn-text)}.badge--warn:before{content:"!"}.badge--danger{border-color:var(--danger-bar);background:var(--danger-bg);color:var(--danger-text)}.badge--danger:before{content:"×"}.badge--info{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.badge--info:before{content:"i"}.source-chip:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--accent)}.load-bar{display:grid;gap:var(--space-1);min-width:120px}.load-bar__labels{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.load-bar__track{overflow:hidden;height:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-300)}.load-bar__value{height:100%;border-radius:inherit;background:var(--accent)}.progress-bar{display:grid;min-width:128px;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums}.progress-bar__track{position:relative;height:10px;border-radius:var(--radius-pill);background:var(--surface-300)}.progress-bar__value{display:block;height:100%;border-radius:inherit;background:var(--accent)}.progress-bar__target{position:absolute;top:-3px;width:2px;height:16px;margin-left:-1px;background:var(--ink)}.progress-bar b{min-width:42px;text-align:right}.progress-bar--compact{min-width:142px}.alert{display:flex;align-items:flex-start;gap:var(--space-2);border:1px solid var(--line);border-left:var(--space-1) solid var(--accent);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--accent-tint);color:var(--ink)}.alert__mark{display:inline-grid;width:var(--space-4);height:var(--space-4);flex:0 0 auto;place-items:center;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-on);font-size:var(--type-caption-size);font-weight:600;line-height:var(--type-caption-line)}.alert--warn{border-left-color:var(--warn-bar);background:var(--warn-bg);color:var(--warn-text)}.alert--warn .alert__mark{background:var(--warn-bar);color:var(--surface-200)}.alert--danger{border-left-color:var(--danger-bar);background:var(--danger-bg);color:var(--danger-text)}.alert--danger .alert__mark{background:var(--danger-bar);color:var(--surface-200)}.segmented,.tabs{display:inline-flex;max-width:100%;gap:var(--space-1);overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-1);background:var(--surface-300)}.segmented__item,.tabs__item{min-height:var(--control-height-sm);border:0;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);background:transparent;color:var(--muted);cursor:pointer;font-weight:600;white-space:nowrap}.segmented__item--active,.tabs__item--active{background:var(--surface-200);color:var(--ink)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table th,.table td{border-bottom:1px solid var(--line);padding:var(--space-3);text-align:left;vertical-align:middle}.table th{background:var(--surface-300);color:var(--muted);font-size:var(--type-caption-size);font-weight:600;letter-spacing:.02em;line-height:var(--type-caption-line)}.field{display:grid;gap:var(--space-2)}.field__label{font-size:var(--type-caption-size);font-weight:600;line-height:var(--type-caption-line)}.field__required{color:var(--danger-text)}.field__description{margin:calc(var(--space-1) * -1) 0 0;color:var(--muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.field__error{margin:calc(var(--space-1) * -1) 0 0;color:var(--danger-text);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.input,.select{width:100%;min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--ink)}.input::placeholder{color:var(--muted)}.input[aria-invalid=true],.select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-bar)}.empty-state{display:grid;justify-items:center;padding:var(--space-5);text-align:center}.empty-state__mark{display:grid;width:var(--space-6);height:var(--space-6);place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--muted);font-weight:600}.empty-state__title{margin:var(--space-3) 0 var(--space-1);font-size:var(--type-heading-size);line-height:var(--type-heading-line)}.empty-state__description{max-width:320px;margin-bottom:var(--space-4);color:var(--muted)}.skeleton{display:grid;gap:var(--space-2);padding:var(--space-4)}.skeleton span{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-300),var(--surface-100),var(--surface-300));background-size:200% 100%;animation:skeleton-shimmer 1.25s linear infinite}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton span{animation:none}}.toast{position:fixed;z-index:calc(var(--z-dialog) + 1);top:var(--space-5);right:var(--space-5);border:1px solid var(--line);border-left:4px solid var(--ok-bar);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-pop);display:grid;width:min(380px,calc(100vw - 32px));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.toast--success{background:var(--ok-bg);color:var(--ok-text)}.toast--error{border-left-color:var(--danger-bar);background:var(--danger-bg);color:var(--danger-text)}.toast__mark{display:grid;width:28px;height:28px;place-items:center;border-radius:var(--radius-pill);background:var(--ok-bar);color:var(--surface-200);font-weight:700}.toast--error .toast__mark{background:var(--danger-bar)}.toast__title{margin-bottom:var(--space-1);font-weight:600}.toast__body{margin:0;color:inherit}@media(max-width:700px){.toast{top:auto;right:var(--space-4);bottom:80px;left:var(--space-4);width:auto}}@media(prefers-reduced-motion:reduce){.btn[aria-busy=true]:before{animation:none}}.dialog-backdrop{position:fixed;z-index:var(--z-dialog);inset:0;display:grid;place-items:center;padding:var(--space-4);background:#14181f8c}.dialog{width:min(480px,100%);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);background:var(--surface-200);color:var(--ink);box-shadow:var(--shadow-pop)}.dialog__title{margin-bottom:var(--space-1);font-size:var(--type-title-size);line-height:var(--type-title-line)}.dialog__description{color:var(--muted)}.dialog__body{margin-top:var(--space-4)}.dialog__footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.showcase{width:min(var(--content-width),calc(100% - (var(--space-4) * 2)));margin:0 auto;padding:var(--space-6) 0}.showcase__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.showcase__header p:last-child{margin-bottom:0}.showcase__links,.component-row,.dialog__footer{display:flex;flex-wrap:wrap;gap:var(--space-2)}.showcase__links{margin-bottom:var(--space-5)}.showcase__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.showcase__wide{grid-column:1 / -1}.card__body>*+*{margin-top:var(--space-4)}.form-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.shell-preview{min-height:100vh;padding:var(--space-5);background:var(--surface-300)}.shell-preview--mobile{display:grid;justify-content:center}.mobile-shell{width:min(var(--mobile-width),100%);min-height:844px;border:1px solid var(--line);background:var(--surface-100)}.mobile-shell__header{position:sticky;z-index:2;top:0;display:flex;min-height:var(--topbar-height);align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-4);background:var(--surface-200)}.mobile-shell__title{margin:0;font-size:var(--type-title-size);line-height:var(--type-title-line)}.mobile-shell__user{margin:0;color:var(--muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.mobile-shell__pending{min-width:var(--control-height);min-height:var(--control-height);border:1px solid var(--warn-bar);border-radius:var(--radius-pill);background:var(--warn-bg);color:var(--warn-text);font-weight:600}.mobile-shell__content{display:grid;gap:var(--space-4);padding:var(--space-4)}.task-line{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.task-line p:last-child{margin-bottom:0}.web-shell{display:grid;width:min(var(--web-width),100%);min-height:900px;margin:0 auto;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr);background:var(--surface-100)}.web-shell__sidebar{min-width:0;grid-column:1;grid-row:2;border-right:1px solid var(--line);padding:var(--space-2) var(--space-3) var(--space-4);background:var(--surface-200)}.web-shell__nav{display:grid;gap:var(--space-1)}.web-shell__nav .eyebrow{margin:var(--space-2) var(--space-3) var(--space-1);white-space:nowrap}.web-shell__nav-item{position:relative;display:flex;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-2);border-left:3px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) - 3px);color:var(--ink);text-decoration:none;transition:background-color .14s ease,color .14s ease}.web-shell__nav-item:hover{background:var(--surface-100)}.web-shell__nav-item--active{border-left-color:var(--accent);background:var(--accent-tint);color:var(--accent);font-weight:600}.web-shell__nav-label{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.web-shell__nav-label svg{flex:none}.web-shell__topbar{min-width:0;grid-column:1 / -1;grid-row:1;display:grid;align-items:center;gap:var(--space-4);grid-template-columns:minmax(230px,1fr) minmax(260px,380px) auto auto auto auto;border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-5);background:var(--surface-200)}.web-shell--admin .web-shell__topbar{grid-template-columns:minmax(420px,1fr) auto auto auto auto}.web-shell__identity{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.web-shell__identity b{font-size:14px;letter-spacing:.04em;white-space:nowrap}.web-shell__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:800}.web-shell__brand i{width:9px;height:9px;flex:none;border-radius:var(--radius-pill);background:var(--accent)}.web-shell__identity h1{overflow:hidden;margin:0;font-size:var(--type-title-size);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.web-shell__identity small{color:var(--muted);white-space:nowrap}.web-shell__search{position:relative;display:flex;align-items:center;min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-100)}.web-shell__search svg{position:absolute;left:var(--space-3);width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8}.web-shell__search input{width:100%;min-height:42px;border:0;padding:0 var(--space-3) 0 38px;background:transparent;color:var(--ink);outline:0}.web-shell__mode{border:1px dashed var(--line-strong);border-radius:var(--radius-pill);padding:6px 10px;font-size:12px;white-space:nowrap}.web-shell__bell{position:relative;display:grid;width:var(--control-height);height:var(--control-height);place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-200);color:var(--ink);text-decoration:none}.web-shell__bell svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-shell__bell span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:var(--radius-pill);background:var(--danger-bar);color:var(--surface-200);font-size:11px;font-weight:700;line-height:18px;text-align:center}.web-shell__user{color:var(--ink);font-size:var(--type-caption-size);font-weight:600;line-height:var(--type-caption-line);text-decoration:none;white-space:nowrap}.web-shell__main{min-width:0;padding:var(--space-5)}.web-shell__content{display:grid;min-width:0;gap:var(--space-5)}.web-shell__content>*{min-width:0;max-width:100%}.web-shell__header-action{display:flex;justify-content:flex-end;margin-bottom:var(--space-3)}.web-shell__nav-count{min-width:21px;border-radius:var(--radius-pill);padding:1px 6px;font-size:11px;line-height:18px;text-align:center}.web-shell__nav-count--approvals{background:var(--danger-bar);color:var(--surface-200)}.web-shell__nav-count--duplicates{background:var(--surface-300);color:var(--ink)}@media(max-width:700px){.showcase{padding:var(--space-4) 0}.showcase__header,.showcase__grid,.form-grid,.dashboard-grid{grid-template-columns:1fr}.showcase__header{display:grid}.showcase__wide{grid-column:auto}.btn--sm,.segmented__item,.tabs__item{min-height:var(--control-height)}.shell-preview{padding:0}.web-shell{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);border:0}.web-shell__sidebar{grid-row:2;max-width:100vw;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:var(--space-2)}.web-shell__nav{display:flex;min-width:max-content}.web-shell__nav>div{display:flex;align-items:center}.web-shell__nav .eyebrow{margin:0 var(--space-2)}.web-shell__topbar{grid-template-columns:minmax(160px,1fr) auto auto;padding:var(--space-2)}.web-shell--admin .web-shell__topbar{grid-template-columns:minmax(0,1fr) auto auto}.web-shell__search,.web-shell__mode,.web-shell__user{display:none}.web-shell__main{padding:var(--space-4)}}.page-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.gd1-primary,.gd1-secondary,.inline-button{min-height:44px;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}.gd1-primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-on)}.gd1-secondary{border:1px solid var(--line-strong);background:var(--surface-200);color:var(--ink)}.gd1-primary:disabled{opacity:.55;cursor:wait}.gd1-secondary:disabled{opacity:.55;cursor:not-allowed}.gd1-field{display:grid;gap:var(--space-1);font-size:13px;font-weight:600;line-height:18px}.gd1-field input{width:100%;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--surface-200);color:var(--ink)}.form-error{border-left:var(--space-1) solid var(--danger-bar);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--danger-bg);color:var(--danger-text)}.field-error input{border:2px solid var(--danger-bar)}.form-message,.success-box{border:1px solid var(--ok-bar);border-radius:var(--radius-md);padding:var(--space-3);background:var(--ok-bg);color:var(--ok-text)}.auth-page{display:grid;min-height:100dvh;place-items:center;padding:var(--space-5);background:var(--surface-100)}.auth-login-wrap{width:min(100%,440px)}.auth-brand{text-align:center;margin-bottom:var(--space-5)}.auth-logo{display:grid;width:56px;height:56px;margin:0 auto var(--space-3);place-items:center;border-radius:var(--radius-card);background:var(--accent);color:var(--accent-on);box-shadow:var(--shadow-card);font-size:20px;font-weight:700;letter-spacing:.06em}.auth-brand h1{margin:0 0 var(--space-1);font-size:28px;line-height:34px}.auth-brand p{color:var(--muted);font-size:12px;line-height:17px}.auth-card{display:grid;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-5);background:var(--surface-200);box-shadow:var(--shadow-card)}.auth-card h2{margin:0;font-size:20px;line-height:28px}.auth-card p{margin:0}.auth-card--login .gd1-field input{height:52px;font-size:17px}.auth-welcome h2,.auth-welcome p{margin:0}.auth-welcome h2{font-size:20px;line-height:28px}.auth-welcome p{margin-top:var(--space-1);color:var(--muted);font-size:13px}.password-input{position:relative;display:block}.password-input input{padding-right:48px}.password-input button{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:transparent;color:var(--muted);cursor:pointer}.auth-card--login .gd1-primary{min-height:56px;font-size:17px}.auth-card--login .form-error{display:flex;align-items:center;gap:var(--space-2);border:0;padding:0;background:transparent;font-size:12px}.auth-card--login .form-error>span{width:18px;height:18px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--danger-bar);color:var(--surface-200);font-weight:700}.auth-help,.auth-tail,.auth-notes{color:var(--muted);font-size:12px;line-height:18px}.auth-help{text-align:center}.auth-help a,.auth-notes a{color:var(--accent);font-weight:600;text-decoration:underline}.auth-notes{margin-top:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) 14px;background:var(--surface-200);text-align:left}.auth-notes p{margin-bottom:var(--space-2)}.auth-tail{margin-top:var(--space-4);text-align:center}.password-checks{margin:0;padding:0;display:grid;gap:var(--space-1);list-style:none;color:var(--muted);font-size:12px}.password-checks .ok{color:var(--ok-text)}@media(max-width:480px){.auth-page{display:block;min-height:844px;padding:var(--space-6) var(--space-4) var(--space-5)}.auth-card{padding:var(--space-4)}}.simple-page{width:min(390px,100%);min-height:844px;margin:0 auto;padding:var(--space-4);background:var(--surface-100)}.simple-page h1{margin-left:44px;margin-top:-38px}.back-link{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:30px;cursor:pointer}.password-form{margin-top:var(--space-5);display:grid;gap:var(--space-4)}.check-row{min-height:44px;display:flex;align-items:center;gap:var(--space-2);font-weight:600}.check-row input{width:20px;height:20px}.mobile-account,.mobile-notifications,.install-page,.notice-page,.common-error{width:min(390px,100%);min-height:844px;margin:0 auto;background:var(--surface-100)}.mobile-account>header,.mobile-notifications>header{border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-4);background:var(--surface-200)}.mobile-account>header{display:flex;align-items:center;gap:10px;padding:6px var(--space-4)}.account-back{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:28px;text-decoration:none}.mobile-account>header h1,.mobile-notifications>header h1{margin:0;font-size:17px;line-height:24px}.mobile-account>header p,.mobile-notifications>header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:12px}.profile-card{margin:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.account-person{padding:14px;display:flex;align-items:center;gap:var(--space-3)}.account-person p{margin:var(--space-1) 0 0;color:var(--muted)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--ink);color:var(--surface-200);font-size:20px;font-weight:700}.profile-details{margin:0 14px;border-top:1px solid var(--line)}.profile-details p{min-height:44px;margin:0;align-items:center}.profile-details span{color:var(--muted)}.account-block{margin:0 var(--space-4) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-200)}.account-block>*{margin:0 0 var(--space-2)}.account-label{color:var(--muted);font-size:12px}.account-between{display:flex;justify-content:space-between;gap:var(--space-3)}.account-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-200)}.account-links>*{min-height:48px;padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.logout-button{min-height:44px;margin:var(--space-4);border:2px solid var(--danger-bar);border-radius:var(--radius-md);padding:0 var(--space-5);background:var(--surface-200);color:var(--danger-text);font-weight:600;cursor:pointer}.account-foot{padding:0 var(--space-4);color:var(--muted);font-size:12px}.web-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.account-panel{display:grid;align-content:start;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-200)}.account-panel h2{margin:0;font-size:15px}.account-panel dl{margin:0;display:grid;grid-template-columns:140px 1fr;gap:var(--space-2)}.account-panel dt{color:var(--muted)}.account-panel dd{margin:0;font-weight:600}.account-panel table{width:100%;border-collapse:collapse}.account-panel th,.account-panel td{border-bottom:1px solid var(--line);padding:var(--space-2);text-align:left}.inline-password{display:grid;gap:var(--space-3)}.inline-password h2{margin:0}.inline-password .gd1-primary{justify-self:start}.inline-password .muted{font-size:12px;font-weight:400}.web-account-footer{display:flex;align-items:center;gap:var(--space-3);color:var(--muted)}.web-account-footer .logout-button{margin:0}.install-page{height:844px;display:flex;flex-direction:column;overflow:hidden}.install-head{padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-2);border-bottom:1px solid var(--line);background:var(--surface-200)}.install-head>div:first-child{display:flex;justify-content:space-between}.install-head span{font-size:12px}.install-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.install-progress i{height:6px;border-radius:var(--radius-pill);background:var(--surface-300)}.install-progress i:first-child{background:var(--ink)}.install-progress.step-two i:first-child{background:var(--ok-bar)}.install-progress.step-two i:nth-child(2){background:var(--accent)}.install-body{flex:1;overflow:hidden;padding:14px var(--space-4);display:flex;flex-direction:column;gap:10px}.install-body h1{margin:0;font-size:20px;line-height:28px}.install-body>p{margin:-8px 0 0}.install-steps{margin:0;padding:0;display:grid;gap:var(--space-2);list-style:none}.install-steps li{min-height:92px;display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;background:var(--surface-200)}.install-steps li div:last-child{display:grid;gap:2px}.install-steps p,.browser-tip p{margin:0;color:var(--muted);font-size:12px;line-height:16px}.install-figure{width:112px;height:76px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-100)}.install-figure b{justify-self:start;align-self:start;padding:var(--space-1);color:var(--muted);font-size:12px}.install-figure span{margin-top:-20px;font-weight:700}.browser-tip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px var(--space-3);background:var(--surface-300)}.browser-tip div{flex:1}.browser-tip button{min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);font-weight:600}.next-steps{display:grid;gap:6px;opacity:.45}.next-steps span{padding:var(--space-2) var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-md)}.install-footer{padding:10px var(--space-4) var(--space-3);display:grid;gap:var(--space-1);border-top:1px solid var(--line);background:var(--surface-200);text-align:center}.install-footer>a:first-child{height:56px;font-size:17px}.install-footer>a:not(:first-child){height:44px;display:grid;place-items:center;color:var(--muted)}.install-footer span{color:var(--muted);font-size:12px}.notify-install{padding-top:var(--space-3)}.install-card{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) 14px;background:var(--surface-200)}.install-card h1,.install-card p{margin:0}.permission-mock{width:280px;align-self:center;display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-300);text-align:center;font-size:13px}.permission-mock>span{color:var(--muted);font-size:12px}.permission-mock>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:var(--space-2)}.permission-mock>div b{color:var(--accent)}.notice-page header,.common-error header{min-height:64px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface-200)}.mode-pill{border:1px solid var(--warn-bar);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);background:var(--warn-bg);color:var(--warn-text);font-size:12px;font-weight:600}.notice-page>section,.common-error>section{padding:var(--space-5) var(--space-4);display:grid;gap:var(--space-3)}.notice-page h1,.notice-page p,.common-error h1,.common-error p{margin:0}.notice-symbol,.error-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);font-size:24px;font-weight:700}.mode-list,.tip-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-200)}.mode-list h2{font-size:15px}.mode-list p{display:grid;grid-template-columns:90px 1fr;padding:var(--space-2) 0;border-top:1px solid var(--line)}.mode-list span,.tip-box span{color:var(--muted)}.tip-box{display:grid;gap:var(--space-1);background:var(--warn-bg);border-color:var(--warn-bar)}.common-error{text-align:center}.common-error>section{padding-top:160px;justify-items:center}.common-error .gd1-primary{width:100%}.notice-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200);overflow:hidden}.notice-actions{min-height:48px;padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.notice-actions button{min-height:44px;border:0;background:transparent;color:var(--accent);font-weight:600;cursor:pointer}.notice-list h2{margin:0;padding:var(--space-3) var(--space-4) var(--space-2);color:var(--muted);font-size:12px}.notice-row{width:100%;min-height:72px;padding:var(--space-3) var(--space-4);display:flex;align-items:start;justify-content:space-between;gap:var(--space-3);border:0;border-top:1px solid var(--line);background:var(--surface-200);color:var(--ink);text-align:left;cursor:pointer}.notice-row.unread{border-left:var(--space-1) solid var(--accent);background:var(--accent-tint)}.notice-copy{display:grid;gap:var(--space-1)}.notice-copy small{color:var(--accent);font-weight:600}.notice-copy span{color:var(--muted)}.notice-row time{color:var(--muted);font-size:12px;white-space:nowrap}.notice-list:not(.notice-list--compact) .notice-row{min-height:54px;padding-top:var(--space-2);padding-bottom:var(--space-2)}.notice-list:not(.notice-list--compact) .notice-row.unread{position:relative;border-left:0;padding-left:28px;background:var(--surface-200)}.notice-list:not(.notice-list--compact) .notice-row.unread:before{content:"";position:absolute;top:18px;left:var(--space-3);width:7px;height:7px;border-radius:var(--radius-pill);background:var(--danger-bar)}.notice-list:not(.notice-list--compact) .notice-copy small{display:none}.notice-day h2{margin:0;padding:var(--space-2) var(--space-4);background:var(--surface-300);color:var(--muted);font-size:12px}.mobile-notifications{display:flex;flex-direction:column}.mobile-notifications .notice-list{flex:1;border:0;border-radius:0}.mobile-notifications footer{min-height:52px;padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);background:var(--surface-200);color:var(--muted);font-size:12px;text-align:center}.shadow-band{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-4);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--warn-bar);background:var(--warn-bg);color:var(--warn-text);font-weight:600}.stage-pending{min-height:100vh;padding:var(--space-5)}.stage-pending .shadow-band{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-5)}@media(max-width:700px){.web-account-grid{grid-template-columns:1fr}.common-error>section{padding-top:100px}}.profile-card,.account-block,.account-panel,.install-card,.install-steps li,.notice-list{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.notice-list .empty-state{border:0;border-radius:0;background:transparent;box-shadow:none}.gd2-toolbar,.gd2-page-head,.gd2-actions,.gd2-search-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.gd2-toolbar .spacer,.gd2-page-head>div{flex:1}.gd2-page-head{justify-content:space-between}.gd2-page-head h2,.gd2-page-head p{margin-bottom:var(--space-1)}.gd2-field{display:grid;gap:var(--space-1);color:var(--muted);font-size:var(--type-caption-size);font-weight:600}.gd2-field input,.gd2-field select,.gd2-toolbar select,.gd2-toolbar input,.gd2-search-row input,.gd2-form-card input,.gd2-form-card select,.gd2-dialog input,.gd2-dialog select,.gd2-table select{min-height:var(--control-height-sm);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);background:var(--surface-200);color:var(--ink)}.gd2-field small,.gd2-table small{display:block;color:var(--muted);font-weight:400}.gd2-search-row input{flex:1;min-height:var(--control-height)}.gd2-segment{display:flex;padding:2px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-200)}.gd2-segment a{border-radius:var(--radius-pill);padding:6px 12px;color:var(--ink);text-decoration:none}.gd2-segment .active{background:var(--accent-tint);color:var(--accent)}.gd2-sync,.gd2-callout,.gd2-message{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 14px;background:var(--surface-200)}.gd2-sync a{margin-left:auto}.gd2-callout{background:var(--surface-100)}.gd2-message{border-color:var(--ok-bar);background:var(--ok-bg);color:var(--ok-text)}.gd2-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.gd2-table{width:100%;border-collapse:collapse;font-size:13px}.gd2-table th,.gd2-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.gd2-table th{position:sticky;top:0;background:var(--surface-300);color:var(--muted);font-size:12px;white-space:nowrap}.gd2-table tr:last-child td{border-bottom:0}.gd2-table td small{margin-top:2px}.gd2-empty{min-height:160px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted)}.gd2-form-card,.gd2-section,.gd2-card,.gd2-result,.gd2-dialog{display:grid;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-200)}.gd2-form-card h2,.gd2-section h2,.gd2-card h2,.gd2-card h3,.gd2-result h2,.gd2-dialog h2{margin:0}.gd2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.gd2-stack{display:grid;gap:var(--space-3);max-width:520px}.gd2-check{min-height:44px;display:flex;align-items:center;gap:var(--space-2)}.gd2-check input{width:20px;height:20px}.gd2-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.gd2-card{align-content:start}.gd2-card strong{font-size:var(--type-kpi-size);line-height:var(--type-kpi-line)}.gd2-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.gd2-card ul{margin:0;padding-left:18px}.gd2-card button{justify-self:start}.gd2-result{max-width:560px;margin:var(--space-6) auto}.gd2-backdrop .gd2-result{width:min(560px,calc(100vw - 32px));margin:0}.gd2-password{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-300)}.gd2-password b{font-family:var(--font-mono);font-size:22px;letter-spacing:.08em;text-align:center}.gd2-dialog{position:fixed;z-index:var(--z-dialog);top:96px;left:50%;width:min(520px,calc(100% - 32px));max-height:calc(100vh - 120px);overflow:auto;transform:translate(-50%);border-color:var(--line-strong);box-shadow:var(--shadow-pop)}.gd2-tabs{display:flex;overflow:auto;border-bottom:1px solid var(--line)}.gd2-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;padding:0 var(--space-4);background:transparent;color:var(--ink)}.gd2-tabs .active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.gd2-lock{color:var(--muted);font-size:12px}.gd2-ward-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);max-height:260px;overflow:auto}.gd2-ward-picker label{display:flex;gap:var(--space-2);align-items:center}.gd2-backdrop{position:fixed;z-index:calc(var(--z-dialog) - 1);inset:0;background:#14181f75}.gd2-backdrop .gd2-dialog{z-index:var(--z-dialog)}.gd2-region-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100vh - 128px);overflow:auto}.gd2-dialog textarea{min-height:82px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface-200);color:var(--ink);resize:vertical}.gd2-radio-group{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);border:0;padding:0}.gd2-radio-group legend{width:100%;margin-bottom:var(--space-1);color:var(--muted);font-size:var(--type-caption-size);font-weight:600}.gd2-radio-group label{display:flex;min-height:36px;align-items:center;gap:var(--space-2)}.gd2-radio-group input{width:18px;height:18px}.gd2-warning{border:1px solid var(--warn-bar);border-radius:var(--radius-md);padding:10px 12px;background:var(--warn-bg);color:var(--warn-text)}.gd2-staff-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:var(--space-3)}.gd2-lock-panel{display:grid;gap:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-200)}.gd2-lock-panel h2{margin:0;font-size:16px}.gd2-lock-panel dl{margin:0;border:1px solid var(--line);border-radius:var(--radius-sm)}.gd2-lock-panel dl div{display:flex;justify-content:space-between;gap:var(--space-2);padding:9px 10px;border-bottom:1px solid var(--line)}.gd2-lock-panel dl div:last-child{border-bottom:0}.gd2-lock-panel dt,.gd2-lock-panel dd{margin:0}.gd2-lock-panel dd{font-weight:700}.gd2-lock-panel .danger{color:var(--danger-text)}.gd2-row-selected{background:var(--accent-tint)}.gd2-name-button{display:grid;gap:2px;border:0;padding:0;background:transparent;color:var(--accent);text-align:left;text-decoration:underline;cursor:pointer}.gd2-name-button small{color:var(--muted);text-decoration:none}.gd2-switch{min-height:36px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:0 var(--space-3);background:var(--surface-300);color:var(--muted);font-weight:700;cursor:pointer}.gd2-switch.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}@media(max-width:900px){.gd2-card-grid{grid-template-columns:repeat(2,1fr)}.gd2-form-grid,.gd2-two,.gd2-staff-layout{grid-template-columns:1fr}}@media(max-width:700px){.gd2-card-grid{grid-template-columns:1fr}.gd2-toolbar{align-items:stretch}.gd2-toolbar .spacer{display:none}.gd2-form-card{padding:var(--space-3)}}.gd3-card,.gd3-mode-hero,.gd3-dialog{display:grid;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-200)}.gd3-card h2,.gd3-card h3,.gd3-dialog h2{margin:0}.gd3-narrow{max-width:760px}.gd3-title-row,.gd3-page-head,.gd3-inline,.gd3-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.gd3-title-row,.gd3-page-head{justify-content:space-between}.gd3-inline{justify-content:flex-start}.gd3-actions{justify-content:flex-end}.gd3-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.gd3-status-grid div{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.gd3-status-grid span{color:var(--muted);font-size:12px}.gd3-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md)}.gd3-table{width:100%;border-collapse:collapse;font-size:13px}.gd3-table th,.gd3-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.gd3-table th{background:var(--surface-300);color:var(--muted);font-size:12px;white-space:nowrap}.gd3-table tr:last-child td{border-bottom:0}.gd3-table tbody tr.selected{background:var(--accent-tint)}.gd3-table tbody tr:not(.danger-row):hover{background:var(--surface-100)}.gd3-table small{display:block;margin-top:3px;color:var(--muted)}.gd3-table input,.gd3-table select{min-height:36px;max-width:180px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-2);background:var(--surface-200)}.gd3-empty{min-height:130px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center}.gd3-two{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:var(--space-4);align-items:start}.gd3-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.gd3-kpis--three{grid-template-columns:repeat(3,minmax(0,1fr))}.gd3-kpis>div{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3)}.gd3-kpis>div.danger{border-color:var(--danger-bar);background:var(--danger-bg)}.gd3-kpis strong{font-size:var(--type-kpi-size);line-height:var(--type-kpi-line)}.gd3-kpis small{color:var(--muted)}.danger-row{background:var(--danger-bg)}.gd3-field{display:grid;gap:var(--space-1);color:var(--muted);font-size:var(--type-caption-size);font-weight:600}.gd3-field input,.gd3-field select,.gd3-field textarea{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--surface-200);color:var(--ink)}.gd3-field textarea{min-height:84px;padding:var(--space-2);resize:vertical}.gd3-filter{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3)}.gd3-filter .gd3-field{min-width:210px}.gd3-tabs{display:flex;overflow:auto;border-bottom:1px solid var(--line)}.gd3-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;padding:0 var(--space-4);background:transparent;color:var(--ink)}.gd3-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.gd3-dialog{position:fixed;z-index:var(--z-dialog);top:72px;left:50%;width:min(560px,calc(100% - 32px));max-height:calc(100vh - 104px);overflow:auto;transform:translate(-50%);border-color:var(--line-strong);box-shadow:var(--shadow-pop)}.gd3-dialog ul{margin:0;padding-left:20px}.gd3-mode-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-4);align-items:start}.gd3-mode-layout main,.gd3-mode-layout aside{display:grid;gap:var(--space-4)}.gd3-mode-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.gd3-mode-hero>span{width:100%;color:var(--muted)}.gd3-mode-hero>strong{font-size:34px}.gd3-mode-hero div{display:flex;align-items:center;gap:var(--space-2)}.gd3-mode-hero div span{border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 8px}.gd3-mode-hero div .active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent);font-weight:700}.gd3-condition{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:10px 0}.gd3-condition:last-child{border-bottom:0}.gd3-person-picks{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gd3-person-picks label{display:flex;min-height:44px;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-3)}.gd3-person-picks label.active{border-color:var(--accent);background:var(--accent-tint)}.gd3-callout,.gd3-progress{border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-300)}.gd3-check{display:flex;min-height:44px;align-items:center;gap:var(--space-2);font-weight:600}.gd3-progress{display:grid;grid-template-columns:1fr minmax(240px,40%);align-items:center;gap:var(--space-4)}.gd3-progress div{display:grid;gap:4px}.gd3-progress progress{width:100%;height:12px;accent-color:var(--ok-bar)}.gd3-segment{display:flex;padding:2px;border:1px solid var(--line);border-radius:var(--radius-pill)}.gd3-segment button{min-height:38px;border:0;border-radius:var(--radius-pill);padding:0 12px;background:transparent}.gd3-segment button.active{background:var(--accent-tint);color:var(--accent);font-weight:700}.gd3-sign{grid-template-columns:minmax(0,1fr) auto;align-items:end}.gd3-sign p{grid-column:1/-1}@media(max-width:900px){.gd3-two,.gd3-mode-layout{grid-template-columns:1fr}.gd3-kpis{grid-template-columns:repeat(2,1fr)}.gd3-status-grid,.gd3-progress{grid-template-columns:1fr}.gd3-table th:first-child,.gd3-table td:first-child{position:sticky;left:0;z-index:1;white-space:nowrap;background:var(--surface-200)}.gd3-table th:first-child{z-index:2;background:var(--surface-300)}}@media(max-width:700px){.gd3-kpis,.gd3-kpis--three{grid-template-columns:1fr}.gd3-condition{grid-template-columns:1fr auto}.gd3-condition a{grid-column:1/-1}.gd3-sign{grid-template-columns:1fr}}.gd4-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.gd4-heading>div{display:grid;gap:var(--space-1)}.gd4-heading h2{margin:0;font-size:28px}.gd4-heading p{margin:0;color:var(--muted)}.gd4-card{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-card)}.gd4-card h3{margin-bottom:var(--space-2);font-size:18px;line-height:26px}.gd4-card small,.gd4-table small{display:block;color:var(--muted)}.gd4-card dl{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:0}.gd4-card dt{color:var(--muted)}.gd4-card dd{margin:0;font-weight:600}.gd4-filters{display:flex;align-items:end;gap:var(--space-4);flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-card)}.gd4-filters>div,.gd4-filters label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--type-caption-size);font-weight:600}.gd4-filters>div{flex-wrap:wrap}.gd4-filters>div>span:first-child{width:100%;color:var(--muted)}.gd4-filters input{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--surface-200)}.gd4-chip{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--surface-200);font-weight:600}.gd4-chip.active{background:var(--accent-tint);border-color:var(--ink)}.gd4-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.gd4-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.gd4-kpi>span:first-child{min-height:36px;color:var(--muted);font-size:12px;font-weight:700}.gd4-kpi>strong,.gd4-big{font-size:var(--type-display-size);line-height:var(--type-display-line);font-variant-numeric:tabular-nums}.gd4-kpi p{margin:0}.gd4-kpi>small{color:var(--muted)}.gd4-kpi-trend{display:flex;align-items:center;gap:var(--space-1);font-size:13px;font-weight:600}.gd4-kpi-trend span{font-size:18px}.gd4-kpi-trend.is-good{color:var(--ok-text)}.gd4-kpi-trend.is-bad{color:var(--warn-text)}.gd4-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.gd4-stat-grid>div{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}.gd4-stat-grid b{font-size:26px}.gd4-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.gd4-rating{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.gd4-rating progress{width:100%;height:8px;overflow:hidden;appearance:none;border:0;border-radius:var(--radius-pill);background:var(--surface-300);accent-color:var(--accent)}.gd4-rating progress::-webkit-progress-bar{border-radius:var(--radius-pill);background:var(--surface-300)}.gd4-rating progress::-webkit-progress-value{border-radius:var(--radius-pill);background:var(--accent)}.gd4-rating progress::-moz-progress-bar{border-radius:var(--radius-pill);background:var(--accent)}.gd4-rating b{font-variant-numeric:tabular-nums}.gd4-table-wrap{width:100%;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-200)}.gd4-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.gd4-table th,.gd4-table td{height:44px;padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.gd4-table th{position:sticky;z-index:1;top:0;background:var(--surface-300);color:var(--muted);font-size:13px;white-space:nowrap}.gd4-table tbody tr:hover{background:var(--surface-100)}.gd4-table tr:last-child td{border-bottom:0}.gd4-table td>.badge+.badge{margin-left:var(--space-1)}.gd4-brand-list{display:flex;gap:var(--space-1);flex-wrap:wrap}.gd4-brand-sales{display:grid;gap:var(--space-1)}.gd4-brand-sales>span{display:grid}.gd4-brand-sales b{font-size:12px}.gd4-kd-missing{color:var(--warn-text)!important;font-weight:600}.gd4-site-sales{display:flex;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200)}.gd4-customer-search{display:flex}.gd4-customer-search label{display:grid;width:min(520px,100%);gap:var(--space-1);font-weight:600}.gd4-customer-search input,.gd4-customer-filters select,.gd4-customer-filters input{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--surface-200);color:var(--ink)}.gd4-customer-chips{display:grid;gap:var(--space-3)}.gd4-customer-chips fieldset{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;border:0;padding:0}.gd4-customer-chips legend{float:left;min-width:112px;padding:10px 0;color:var(--muted);font-size:12px;font-weight:700}.gd4-customer-chips .chip{min-height:40px}.gd4-sort{border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.gd4-sort:hover{color:var(--accent)}.gd4-customer-cards{display:none}.gd4-customer-cards article{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200);box-shadow:var(--shadow-card)}.gd4-customer-cards article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.gd4-customer-cards article p{margin:0;color:var(--muted);font-size:13px}.gd4-customer-cards article>div:last-child{display:grid;gap:var(--space-2)}.gd4-inline-empty{display:block;padding:var(--space-2) 0;color:var(--muted);font-size:13px;font-weight:400}.gd4-light-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.gd4-light{display:flex;flex-direction:column;gap:var(--space-2);border-top-width:4px;color:var(--ink);text-decoration:none}.gd4-light>div{display:flex;align-items:center;gap:var(--space-2)}.gd4-light h3{margin:0}.gd4-light i{width:12px;height:12px;border-radius:var(--radius-pill)}.gd4-light--xanh{border-top-color:var(--ok-bar)}.gd4-light--xanh i{background:var(--ok-bar)}.gd4-light--vang{border-top-color:var(--warn-bar)}.gd4-light--vang i{background:var(--warn-bar)}.gd4-light--do{border-top-color:var(--danger-bar)}.gd4-light--do i{background:var(--danger-bar)}.gd4-light ul{margin:0;padding-left:20px}.gd4-trend-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}.gd4-trend-grid>div{display:flex;flex-direction:column;gap:var(--space-1)}.gd4-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:var(--space-3)}.gd4-quick button{display:flex;min-height:92px;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);text-align:left}.gd4-quick button:hover{background:var(--surface-100)}.gd4-quick button.active{border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent)}.gd4-quick button b{font-size:28px;font-variant-numeric:tabular-nums}.gd4-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.gd4-card-grid .gd4-card{display:flex;flex-direction:column;gap:var(--space-3)}.gd4-visit-group{padding:0;overflow:hidden}.gd4-visit-group>summary{min-height:44px;padding:var(--space-3) var(--space-4);background:var(--surface-300);cursor:pointer}.gd4-visit{display:flex;align-items:center;gap:var(--space-2);min-height:60px;border-top:1px solid var(--line);padding:var(--space-2) var(--space-4);color:var(--ink)}.gd4-visit>a{display:grid;flex:1;grid-template-columns:56px minmax(190px,1fr) repeat(4,max-content);align-items:center;gap:var(--space-2);color:var(--ink);text-decoration:none}.gd4-visit.danger{background:var(--danger-bg)}.gd4-visit time{font-size:18px;font-weight:700}.gd4-visit a>span:nth-child(2){display:flex;flex-direction:column}.gd4-thumbs{display:flex;gap:var(--space-1)}.gd4-thumbs i{display:grid;min-width:64px;min-height:44px;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);font-size:11px;font-style:normal}.gd4-segment{display:flex!important;flex-direction:row!important;gap:0!important}.gd4-segment button{min-height:var(--control-height);border:1px solid var(--line-strong);padding:0 var(--space-3);background:var(--surface-200)}.gd4-segment button.active{background:var(--accent-tint);font-weight:700}.gd4-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.gd4-photo,.gd4-photo-placeholder{width:100%;min-height:260px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);object-fit:cover}.gd4-photo-placeholder{display:grid;place-items:center;background:var(--surface-300);color:var(--muted);font-weight:600}.gd4-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.gd4-chart svg{width:100%;height:180px}.gd4-chart polyline{fill:none;stroke:var(--accent);stroke-width:3}.gd4-chart circle{fill:var(--surface-200);stroke:var(--accent);stroke-width:2}.gd4-chart line.target{stroke:var(--danger-bar);stroke-width:1;stroke-dasharray:4}.gd4-chart>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.gd4-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-200);color:var(--muted);text-align:center}.gd4-selection{position:sticky;bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-200)}.danger-text{color:var(--danger-text)}.gd4-actions,.gd4-badges,.gd4-form>div,.gd4-dialog>div{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.gd4-form{display:grid;gap:var(--space-3)}.gd4-form label,.gd4-dialog label{display:grid;gap:var(--space-1);font-weight:600}.gd4-form input,.gd4-form textarea,.gd4-dialog textarea{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface-200)}.gd4-form textarea,.gd4-dialog textarea{min-height:92px}.gd4-timeline{display:grid;grid-template-columns:180px 1fr 2fr;gap:var(--space-3);border-top:1px solid var(--line);padding:var(--space-3) 0}.gd4-toggle{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-3)}.gd4-report{width:390px;min-height:844px;margin:0 auto;background:var(--surface-100)}.gd4-report>header{display:flex;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--line);padding:var(--space-2) var(--space-4);background:var(--surface-200)}.gd4-report>header h1,.gd4-report>header p{margin:0}.gd4-report>header>a{font-size:30px;text-decoration:none}.gd4-report main{margin:var(--space-2);padding:var(--space-3)}.gd4-report h2{margin:var(--space-3) 0 var(--space-1);font-size:16px}.gd4-report .gd4-table th,.gd4-report .gd4-table td{padding:3px;font-size:12px}.gd4-report-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-top:1px solid var(--line);padding:var(--space-1) 0}.gd4-report-line .btn{min-height:36px}.gd4-report pre{white-space:pre-wrap}.gd4-report footer{position:sticky;bottom:0;padding:var(--space-2);background:var(--surface-200);color:var(--muted);font-size:12px;text-align:center}.gd4-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:var(--space-4);background:#14181f73}.gd4-dialog{display:grid;width:min(520px,100%);gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);background:var(--surface-200)}@media(max-width:900px){.gd4-kpi-grid,.gd4-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gd4-light-grid,.gd4-card-grid,.gd4-two,.gd4-chart-grid{grid-template-columns:1fr}.gd4-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gd4-visit{align-items:flex-start}.gd4-visit>a{grid-template-columns:50px minmax(170px,1fr)}.gd4-visit .badge,.gd4-thumbs{grid-column:2}.gd4-timeline,.gd4-photo-grid{grid-template-columns:1fr}}@media(max-width:700px){.gd4-heading{align-items:flex-start}.gd4-heading h2{font-size:24px}.gd4-kpi-grid,.gd4-stat-grid{grid-template-columns:1fr}.gd4-report{width:100%}.gd4-filters{align-items:stretch}.gd4-filters>div,.gd4-filters label{align-items:flex-start}.gd4-filters>div{width:100%}.gd4-filters label{flex-direction:column}.gd4-customer-filters label,.gd4-customer-filters select,.gd4-customer-filters input,.gd4-customer-chips legend{width:100%}.gd4-customer-table{display:none}.gd4-customer-cards{display:grid;gap:var(--space-2)}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:24px;line-height:32px}}.gd5-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.gd5-heading>div{display:grid;gap:var(--space-1)}.gd5-heading h2,.gd5-heading p{margin:0}.gd5-heading h2{font-size:28px;line-height:1.25}.gd5-heading p{color:var(--muted);line-height:1.5}.gd5-card{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);text-decoration:none}.gd5-card h2,.gd5-card h3{margin-top:0}.gd5-card strong{font-size:30px;font-variant-numeric:tabular-nums}.gd5-card dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:var(--space-2) var(--space-4)}.gd5-card dt{color:var(--muted)}.gd5-card dd{margin:0}.gd5-card pre{max-height:240px;margin:0;overflow:auto;white-space:pre-wrap;font:inherit;font-size:12px}.gd5-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.gd5-card-grid>.gd5-card>span,.gd5-card-grid>.gd5-card>strong{display:block}.gd5-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--line)}.gd5-tabs button,.gd5-tabs a{min-height:44px;border:0;border-bottom:3px solid transparent;padding:0 var(--space-4);background:transparent;color:var(--ink);font-weight:600;text-decoration:none}.gd5-tabs .active,.gd5-tabs button:hover,.gd5-tabs a:hover{border-bottom-color:var(--accent);color:var(--accent)}.gd5-approval-layout{display:grid;grid-template-columns:minmax(290px,36%) minmax(0,1fr);gap:var(--space-5)}.gd5-list{display:flex;flex-direction:column;gap:var(--space-2)}.gd5-list>button{display:flex;min-height:88px;flex-direction:column;align-items:flex-start;gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);text-align:left}.gd5-list>button:hover{background:var(--surface-100)}.gd5-list>button.active{border:2px solid var(--accent);background:var(--accent-tint)}.gd5-list p{margin:0}.gd5-list small{color:var(--muted)}.gd5-approval-detail{align-self:start;position:sticky;top:var(--space-4)}.gd5-form,.gd5-form form,.gd5-form fieldset{display:grid;gap:var(--space-3)}.gd5-form fieldset{margin:0;border:0;padding:0}.gd5-form label,.gd5-selection label,.gd5-approval-detail label{display:grid;gap:var(--space-1);font-weight:600}.gd5-form input,.gd5-form select,.gd5-form textarea,.gd5-selection input,.gd5-selection select,.gd5-approval-detail textarea,.gd5-heading input{width:100%;min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--ink)}.gd5-form textarea,.gd5-approval-detail textarea{min-height:96px}.gd5-actions,.gd5-inline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.gd5-inline input{flex:1}.gd5-table-wrap{width:100%;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-200)}.gd5-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.gd5-table th,.gd5-table td{height:44px;border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:middle;line-height:1.45}.gd5-table th{position:sticky;z-index:1;top:0;background:var(--surface-300);color:var(--muted);font-size:13px}.gd5-table tbody tr:hover{background:var(--surface-100)}.gd5-table td small{display:block;margin-top:var(--space-1);color:var(--muted)}.gd5-table tr:last-child td{border-bottom:0}.gd5-table tr[class*=total] td{font-weight:700;border-top:2px solid var(--line-strong)}.gd5-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-200);color:var(--muted);text-align:center}.gd5-success{color:var(--ok-text);font-weight:600}.gd5-choice{display:grid;grid-template-columns:24px 1fr max-content;align-items:center;gap:var(--space-3);border-top:1px solid var(--line);padding:var(--space-3) 0}.gd5-choice span{display:flex;flex-direction:column}.gd5-choice small{color:var(--muted)}.gd5-choice em{font-style:normal;font-weight:600}.gd5-calendar{display:grid;grid-template-columns:repeat(7,minmax(52px,1fr));gap:var(--space-1)}.gd5-calendar>button{display:flex;min-height:68px;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface-200);color:var(--ink);text-align:left}.gd5-calendar>button:hover,.gd5-calendar>button:focus-visible{border-color:var(--accent)}.gd5-calendar b{display:block;font-size:20px;line-height:1.3}.gd5-calendar small{display:block;line-height:1.35}.gd5-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.gd5-selection{position:fixed;z-index:40;right:0;bottom:0;top:0;display:flex;width:min(420px,100%);align-items:stretch;flex-direction:column;gap:var(--space-3);overflow:auto;border-left:1px solid var(--line-strong);padding:var(--space-6);background:var(--surface-200)}.gd5-selection label{min-width:180px}.gd5-selection b{margin:0}.gd5-selection h3{font-size:24px}.gd5-week,.gd5-week small{display:block}.gd5-week small{margin-top:var(--space-1);font-weight:400;white-space:nowrap}.gd5-cancel-sheet{max-height:calc(100vh - var(--space-8));overflow:auto}.gd5-cancel-sheet fieldset{border:0;padding:0}.gd5-missing-first{display:grid;grid-template-columns:max-content 1fr max-content;align-items:center;gap:var(--space-3)}.gd5-missing-first h3,.gd5-missing-first p{margin:0}.gd5-missing-first p{grid-column:2/-1}.gd5-missing-first strong{font-size:30px}.gd5-load small{display:block}.gd5-load--warn{background:var(--warn-bg);color:var(--warn-text)}.gd5-load--danger{background:var(--danger-bg);color:var(--danger-text)}.gd5-group td{background:var(--surface-300)}.gd5-month-select{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:13px;font-weight:600}.gd5-month-select select{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--surface-200);color:var(--ink)}@media(max-width:900px){.gd5-approval-layout,.gd5-card-grid{grid-template-columns:1fr}.gd5-approval-detail{position:static}.gd5-table th:first-child,.gd5-table td:first-child{position:sticky;left:0;z-index:1;min-width:max-content;white-space:nowrap;background:var(--surface-200)}.gd5-table th:first-child{z-index:2;background:var(--surface-300)}.gd5-selection{top:auto;max-height:72vh;width:100%;align-items:stretch;flex-direction:column;border-top:1px solid var(--line-strong);border-left:0;padding:var(--space-4)}.gd5-selection b{margin:0}.gd5-calendar{grid-template-columns:repeat(4,minmax(52px,1fr))}}.gd6-stage{display:grid;width:100%;min-width:0;min-inline-size:0;margin:0;padding:0;border:0;gap:var(--space-4)}.gd6-stage:disabled a.btn--primary{pointer-events:none;opacity:.55}.gd6-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.gd6-title h2,.gd6-title p{margin:0}.gd6-title h2{font-size:28px;line-height:1.25}.gd6-title p{margin-top:var(--space-1);color:var(--muted)}.gd6-stage>*,.gd6-card{min-width:0;max-width:100%}.gd6-table-wrap{max-width:100%}.gd6-actions,.gd6-inline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.gd6-inline input{flex:1}.gd6-card{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-card)}.gd6-card h3{margin-top:0;font-size:18px;line-height:26px}.gd6-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.gd6-card-head h3,.gd6-card-head p{margin:0}.gd6-card-head p{margin-top:var(--space-1);color:var(--muted)}.gd6-table-wrap{width:100%;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-200)}.gd6-table{width:100%;min-width:780px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.gd6-table--wide{min-width:1050px;table-layout:fixed;font-size:11px}.gd6-table th,.gd6-table td{height:44px;border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:middle;line-height:1.25}.gd6-table--wide th,.gd6-table--wide td{overflow-wrap:anywhere}.gd6-table th{position:sticky;z-index:1;top:0;background:var(--surface-300);color:var(--muted);font-size:13px;white-space:normal}.gd6-table tbody tr:hover{background:var(--surface-100)}.gd6-table td small{display:block;margin-top:var(--space-1);color:var(--muted)}.gd6-table tr:last-child td{border-bottom:0}.gd6-table input,.gd6-table select{min-height:32px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-1);background:var(--surface-200);color:var(--ink);font-size:11px}.gd6-table--wide input,.gd6-table--wide select{box-sizing:border-box;width:100%;min-width:0}.gd6-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-200);color:var(--muted);text-align:center}.gd6-success{color:var(--ok-text);font-weight:600}.gd6-form,.gd6-field{display:grid;gap:var(--space-3)}.gd6-form label,.gd6-field{display:grid;gap:var(--space-1);font-weight:600}.gd6-form input,.gd6-form select,.gd6-form textarea,.gd6-field input,.gd6-field select,.gd6-field textarea,.gd6-search input,.gd6-inline input{width:100%;min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--ink)}.gd6-form textarea,.gd6-field textarea{min-height:96px}.gd6-paste{min-height:250px!important;font-family:ui-monospace,SFMono-Regular,monospace!important;font-size:13px!important}.gd6-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.gd6-column-pills,.gd6-statuses{display:flex;gap:var(--space-2);flex-wrap:wrap}.gd6-column-pills span,.gd6-statuses>span{border:1px solid var(--line);border-radius:999px;padding:var(--space-1) var(--space-3);background:var(--surface-200);font-size:13px}.gd6-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:var(--space-2)!important}.gd6-check input{width:20px!important;min-height:20px!important;margin-top:2px}.gd6-check span{display:grid}.gd6-check small{color:var(--muted);font-weight:400}.gd6-savebar{margin-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-200)}.gd6-savebar div{display:grid}.gd6-savebar small{color:var(--muted)}.gd6-suggestions{display:grid;gap:var(--space-1);margin-top:var(--space-2)}.gd6-suggestions button{display:flex;justify-content:space-between;gap:var(--space-3);min-height:44px;border:1px solid var(--line);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--ink);text-align:left}.gd6-suggestions button:hover{border-color:var(--accent)}.gd6-dialog-wide{width:min(720px,calc(100vw - var(--space-8)));max-width:720px}.gd6-picks{display:grid;gap:var(--space-2);border:0;padding:0}.gd6-picks label{display:grid;grid-template-columns:24px 1fr;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.gd6-picks span{display:grid}.gd6-picks small{color:var(--muted)}.gd6-result-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--ok-bg);color:var(--ok-text);font-size:28px;font-weight:700}.gd6-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.gd6-result-grid div{display:grid;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.gd6-result-grid strong{font-size:28px}.gd6-result-grid span{color:var(--muted)}.gd6-search{display:flex;gap:var(--space-2)}.gd6-two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:var(--space-4);align-items:start}.gd6-order{display:grid;gap:var(--space-1);border-top:1px solid var(--line);padding:var(--space-3) 0}.gd6-order span{color:var(--muted)}.gd6-site-summary{display:grid;grid-template-columns:1fr 1.5fr .7fr;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.gd6-site-summary>div{display:grid;gap:var(--space-1);border-right:1px solid var(--line);padding:var(--space-4)}.gd6-site-summary>div:last-child{border-right:0}.gd6-site-summary span,.gd6-site-summary small{color:var(--muted)}.gd6-site-summary strong{font-size:32px}.gd6-option.active{border:2px solid var(--accent);background:var(--accent-tint)}.gd6-option-title{display:grid!important;grid-template-columns:24px 1fr!important}.gd6-option-title input{width:20px!important;min-height:20px!important}.gd6-option-title span{display:grid}.gd6-option-title small{color:var(--muted);font-weight:400}.gd6-other-link{display:flex;justify-content:space-between;color:var(--ink);font-weight:600;text-decoration:none}.gd6-other-link span{color:var(--muted);font-weight:400}.gd6-positive{color:var(--ok-text)}.gd6-negative{color:var(--danger-text)}@media(max-width:900px){.gd6-grid,.gd6-two,.gd6-site-summary{grid-template-columns:1fr}.gd6-site-summary>div{border-right:0;border-bottom:1px solid var(--line)}.gd6-site-summary>div:last-child{border-bottom:0}.gd6-savebar,.gd6-search{align-items:stretch;flex-direction:column}.gd6-result-grid{grid-template-columns:1fr}.gd6-other-link{align-items:flex-start;flex-direction:column}}.gd6-customer-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.gd6-customer-title h3,.gd6-customer-title small{margin:0}.gd6-customer-title>div{display:grid;gap:var(--space-1)}.gd6-customer-title span,.gd6-customer-title small{color:var(--muted)}.gd6-ledger-total{display:flex;justify-content:space-between;border-top:1px solid var(--line-strong);padding:var(--space-3)}.gd6-result-details{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.nv-shell{width:min(100%,390px);min-height:100dvh;margin:0 auto;background:var(--surface-100);color:var(--ink)}.nv-top{position:sticky;z-index:10;top:0;display:flex;min-height:72px;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);padding:var(--space-2) var(--space-4);background:var(--surface-200)}.nv-top>div:first-of-type{display:grid;flex:1}.nv-top small{color:var(--muted)}.nv-top h1{margin:0;font-size:18px;line-height:26px}.nv-back{display:grid;width:44px;height:44px;place-items:center;color:var(--ink);font-size:34px;text-decoration:none}.nv-top-actions{display:flex;gap:var(--space-2)}.nv-top-actions a{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);font-size:11px;text-decoration:none}.nv-top-actions .nv-create{width:auto;padding:0 var(--space-3);font-size:14px;font-weight:700}.nv-icon-link span{display:grid;width:20px;height:20px;place-items:center;border:2px solid currentColor;border-radius:50%;font-weight:800}.nv-pending{display:flex;align-items:center;justify-content:space-between;margin:var(--space-3) var(--space-4) 0;border-radius:var(--radius-md);padding:10px 12px;background:var(--warn-bg);color:var(--warn-text);font-size:13px;font-weight:600}.nv-pending a{color:inherit}.nv-content{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom))}.nv-shell--with-tabs .nv-content{padding-bottom:calc(var(--space-6) + 64px + env(safe-area-inset-bottom))}.nv-home-tools{display:flex;gap:var(--space-2);align-items:center}.nv-home-tools>.btn{white-space:nowrap}.nv-search-link{display:flex;min-height:44px;flex:1;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 var(--space-3);color:var(--muted);font-weight:400;text-decoration:none}.nv-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.nv-tabs a{display:flex;min-height:48px;align-items:center;justify-content:center;border-bottom:3px solid transparent;color:var(--muted);font-size:13px;text-align:center;text-decoration:none}.nv-tabs a.active{border-color:var(--accent);color:var(--ink)}.nv-ticket-list,.nv-queue-list{display:grid;gap:var(--space-2)}.nv-ticket-list article{display:flex;align-items:stretch;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-200)}.nv-ticket-list article.working{border:2px solid var(--ok-bar)}.nv-ticket-list article>a:first-child{display:grid;flex:1;gap:var(--space-1);color:var(--ink);text-decoration:none}.nv-ticket-list article>a:first-child>div{display:flex;align-items:center;gap:var(--space-2)}.nv-ticket-list small,.nv-ticket-list article>a small{color:var(--muted)}.nv-call{display:grid;min-width:52px;height:52px;place-items:center;align-self:center;border-radius:999px;background:var(--accent);color:var(--accent-on);font-size:12px;text-decoration:none}.nv-card,.nv-photo,.nv-ticket-heading{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200);box-shadow:var(--shadow-card)}.nv-card h2,.nv-card h3,.nv-card p{margin:0}.nv-card h2,.nv-card h3{font-size:18px;line-height:26px}.nv-card small,.nv-ticket-heading small{color:var(--muted)}.nv-ticket-heading{border-top:4px solid var(--accent)}.nv-ticket-heading>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.nv-ticket-heading>b{font-size:18px}.nv-code{font-family:ui-monospace,monospace;font-size:12px}.nv-customer{display:flex;align-items:center}.nv-customer>div{display:grid;flex:1}.nv-details p{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0;border-bottom:1px solid var(--line)}.nv-details p:last-child{border-bottom:0}.nv-details span{color:var(--muted)}.nv-form{display:grid;gap:var(--space-3)}.nv-form label,.nv-field{display:grid;gap:var(--space-1);font-weight:600}.nv-form input,.nv-form select,.nv-form textarea,.nv-search input{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--surface-200);color:var(--ink)}.nv-form textarea{min-height:88px}.nv-form fieldset{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md)}.nv-check{display:flex!important;min-height:44px;align-items:center;gap:var(--space-2)!important}.nv-check input{width:20px!important;min-height:20px!important}.nv-choice-list{display:grid;gap:var(--space-2)}.nv-choice-list label,.nv-pick{display:flex;min-height:52px;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2)}.nv-choice-list input,.nv-pick input{width:20px;height:20px}.nv-pick span{display:grid}.nv-search{display:flex;gap:var(--space-2)}.nv-actions{display:grid;gap:var(--space-2);padding-top:var(--space-2)}.nv-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.nv-actions a{text-align:center;text-decoration:none}.nv-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-200);color:var(--muted);text-align:center}.nv-running{display:grid;place-items:center;border:2px solid var(--ok-bar);border-radius:var(--radius-md);padding:var(--space-6);background:var(--ok-bg);color:var(--ok-text)}.nv-running strong{font-size:36px}.nv-next{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none}.nv-photo>div:first-child{display:flex;align-items:center;justify-content:space-between}.nv-photo-row{display:flex;gap:var(--space-2);overflow:auto}.nv-thumb,.nv-camera{position:relative;display:grid;min-width:72px;height:72px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-300);font-size:11px}.nv-thumb button{position:absolute;top:-7px;right:-7px;width:28px;height:28px;border:0;border-radius:50%;background:var(--ink);color:var(--surface-200)}.nv-camera{border:2px dashed var(--line-strong);background:var(--surface-100);font-weight:600}.nv-helper-list{display:grid;max-height:160px;gap:var(--space-1);overflow:auto}.nv-helper-list label{display:flex;min-height:44px;align-items:center;gap:var(--space-2);font-weight:400}.nv-helper-list input{width:20px;min-height:20px}.nv-main-action,.nv-actions .btn--primary{min-height:56px;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.nv-main-action{font-size:17px}.nv-center-link{text-align:center}.nv-success{display:grid;min-height:520px;place-content:center;justify-items:center;gap:var(--space-3);text-align:center}.nv-success>span{display:grid;width:64px;height:64px;place-items:center;border-radius:50%;background:var(--ok-bg);color:var(--ok-text);font-size:30px}.nv-success h2,.nv-success p{margin:0}.nv-ok{color:var(--ok-text);font-weight:600}.nv-error{color:var(--danger-text);font-weight:600}.nv-queue-list article{display:flex;align-items:center;justify-content:space-between}.nv-queue-list article>div{display:grid}.nv-delivery-total{display:grid;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-4);background:var(--accent-tint)}.nv-delivery-total strong{font-size:30px}.nv-delivery-total small{color:var(--muted)}.nv-quick{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nv-quick .btn{min-height:40px;padding:0 var(--space-2);font-size:12px}.nv-ticket-list article{position:relative;overflow:hidden;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.nv-ticket-list article:before{position:absolute;z-index:1;top:0;bottom:0;left:0;width:4px;background:var(--line-strong);content:""}.nv-ticket-list article.status-da_hen:before{background:var(--accent)}.nv-ticket-list article.status-dang_lam:before{background:var(--ok-bar)}.nv-ticket-list article.status-cho_duyet_huy:before{background:var(--warn-bar)}.nv-ticket-list article.status-huy:before,.nv-ticket-list article.status-overdue:before{background:var(--danger-bar)}.nv-bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;width:min(100%,390px);min-height:calc(64px + env(safe-area-inset-bottom));margin:0 auto;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface-200);box-shadow:0 -1px 2px color-mix(in srgb,var(--ink) 8%,transparent)}.nv-bottom-nav a{position:relative;display:flex;min-width:0;min-height:64px;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none}.nv-bottom-nav a:before{position:absolute;top:0;right:26%;left:26%;height:3px;border-radius:0 0 var(--radius-pill) var(--radius-pill);background:transparent;content:""}.nv-bottom-nav a.active{color:var(--accent)}.nv-bottom-nav a.active:before{background:var(--accent)}.nv-bottom-nav a b{position:absolute;top:5px;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:var(--radius-pill);padding:0 5px;background:var(--danger-bar);color:var(--surface-200);font-size:10px;line-height:18px;text-align:center}@media(min-width:700px){.nv-shell{border-right:1px solid var(--line);border-left:1px solid var(--line)}}.kd-shell{display:flex;width:min(100%,390px);min-height:100dvh;margin:0 auto;flex-direction:column;background:var(--surface-100);color:var(--ink)}.kd-top{display:flex;min-height:72px;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);padding:10px var(--space-4);background:var(--surface-200)}.kd-top>a{display:grid;width:44px;height:44px;place-items:center;color:var(--ink);font-size:32px;text-decoration:none}.kd-top>div{display:grid;gap:2px}.kd-top small{color:var(--muted);font-size:12px}.kd-top h1{margin:0;font-size:20px;line-height:28px}.kd-content{display:flex;overflow:auto;flex:1;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4) 84px}.kd-content--compact{gap:10px;padding-top:10px}.kd-nav{position:fixed;z-index:20;bottom:0;left:50%;display:grid;width:min(100%,390px);height:64px;transform:translate(-50%);grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--surface-200)}.kd-nav a{display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:21px;line-height:20px;text-decoration:none}.kd-nav span{overflow:hidden;max-width:100%;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.kd-form{display:grid;gap:var(--space-3)}.kd-form>label,.kd-note{display:grid;gap:5px;font-size:13px;font-weight:600}.kd-form label>span,.kd-note span{color:var(--muted);font-size:12px;font-weight:400}.kd-form input,.kd-form select,.kd-form textarea,.kd-note input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-200);color:var(--ink);font:inherit}.kd-form textarea{min-height:76px;resize:vertical}.kd-form fieldset{display:grid;gap:var(--space-2);margin:0;border:0;padding:0}.kd-form legend{margin-bottom:6px;font-size:13px;font-weight:600}.kd-search{display:flex;gap:var(--space-2)}.kd-search input{flex:1}.kd-search .btn{min-width:64px}.kd-found{display:grid;gap:2px;border-radius:var(--radius-md);padding:10px 12px;background:var(--accent-tint)}.kd-found span{color:var(--muted);font-size:12px}.kd-ward-options{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.kd-ward-options button{display:grid;min-height:52px;gap:2px;border:0;border-bottom:1px solid var(--line);padding:8px 10px;background:transparent;color:var(--ink);text-align:left}.kd-ward-options button:last-child{border-bottom:0}.kd-ward-options small{color:var(--muted)}.kd-site{display:flex!important;min-height:58px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-md);padding:9px 10px;background:var(--surface-200)}.kd-site input{width:20px!important;min-height:20px!important}.kd-site span{display:grid;gap:2px;color:var(--ink)!important}.kd-site small{color:var(--muted);font-weight:400}.kd-segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.kd-segment label{display:flex;min-height:48px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600}.kd-segment input{width:18px;min-height:18px}.kd-date-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.kd-date-chips button{min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);color:var(--ink);font:inherit;font-size:12px;font-weight:600}.kd-date-chips button.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.kd-photo-picker{display:grid;gap:8px}.kd-photo-picker>div:first-child{display:flex;justify-content:space-between;font-size:13px}.kd-photo-picker>div:first-child span{color:var(--muted);font-size:12px}.kd-photo-picker>label{display:flex;min-height:56px;align-items:center;justify-content:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);font-size:13px;font-weight:600}.kd-photo-picker input{position:absolute;width:1px;height:1px;opacity:0}.kd-photo-row{display:flex;gap:8px;overflow:auto}.kd-photo-row span{position:relative;display:grid;min-width:64px;height:64px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-300);font-size:11px}.kd-photo-row button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border:0;border-radius:50%;background:var(--ink);color:var(--surface-200)}.kd-submit{min-height:52px;font-size:16px}.kd-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-200);color:var(--muted);text-align:center}.kd-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.kd-tabs a{display:flex;min-height:44px;align-items:center;justify-content:center;border-bottom:3px solid transparent;color:var(--muted);font-size:13px;text-decoration:none}.kd-tabs a.active{border-color:var(--accent);color:var(--ink);font-weight:600}.kd-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.kd-pagination span{color:var(--muted);font-size:12px}.kd-request-list,.kd-review-list{display:grid;gap:var(--space-2)}.kd-request-card{display:grid;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface-200)}.kd-request-card>a:first-child{display:grid;gap:4px;color:var(--ink);text-decoration:none}.kd-request-card small,.kd-request-card p{margin:0;color:var(--muted);font-size:12px}.kd-request-card div{display:flex;align-items:center;justify-content:space-between}.kd-request-card h2{margin:0;font-size:16px}.kd-request-card strong{color:var(--danger-text);font-size:12px}.kd-fab{position:fixed;right:max(18px,calc((100vw - 390px)/2 + 18px));bottom:78px;display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-on);font-size:28px;text-decoration:none}.kd-detail-head,.kd-review-head{display:grid;gap:4px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius-card);padding:12px 14px;background:var(--surface-200);box-shadow:var(--shadow-card)}.kd-detail-head .badge,.kd-review-head .badge{justify-self:start}.kd-detail-head h2,.kd-review-head h2,.kd-detail-head p,.kd-review-head p{margin:0}.kd-detail-head>span:first-child{justify-self:start}.kd-timeline{display:grid;gap:0;margin:0;padding:0 0 0 12px;list-style:none}.kd-timeline li{position:relative;display:grid;gap:2px;border-left:2px solid var(--line-strong);padding:0 0 20px 20px}.kd-timeline li:before{position:absolute;top:2px;left:-7px;width:12px;height:12px;border:2px solid var(--surface-100);border-radius:50%;background:var(--accent);content:""}.kd-timeline span{color:var(--muted);font-size:12px}.kd-timeline li.danger:before{background:var(--danger-text)}.kd-review-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-300);font-size:12px}.kd-review-list article,.kd-reviewed>a{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface-200)}.kd-review-list article .badge{justify-self:end}.kd-review-list h2,.kd-review-list p{margin:0}.kd-review-list h2{font-size:16px}.kd-review-list p,.kd-review-list small{color:var(--muted);font-size:12px}.kd-review-list .btn{margin-top:4px;text-align:center;text-decoration:none}.kd-reviewed>a{color:var(--ink);text-decoration:none}.kd-reviewed>a>div{display:flex;justify-content:space-between}.kd-reviewed>a>div span{color:var(--warn-text)}.kd-reviewed .badge{justify-self:start}.kd-before-after{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kd-evidence{position:relative;display:grid;height:104px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-300);box-shadow:var(--shadow-card);color:var(--muted)}.kd-evidence img{width:100%;height:100%;object-fit:cover}.kd-evidence b{position:absolute;bottom:6px;left:6px;border-radius:999px;padding:1px 7px;background:color-mix(in srgb,var(--ink) 75%,transparent);color:var(--surface-200);font-size:11px}.kd-stars{display:grid;justify-items:center;gap:var(--space-2);margin:0;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-200);box-shadow:var(--shadow-card)}.kd-stars legend{width:100%;text-align:center;font-size:13px;font-weight:600}.kd-stars>div{display:flex;gap:4px}.kd-stars button{width:52px;height:52px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--accent);font-size:38px}.kd-stars button[aria-pressed=true]{background:var(--accent-tint)}.kd-stars button:disabled{color:var(--accent)}.kd-review-help{color:var(--muted);font-size:12px;text-align:center}.kd-submit{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}@media(min-width:700px){.kd-shell{border-right:1px solid var(--line);border-left:1px solid var(--line)}}.salary-page{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.salary-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4)}.salary-title h1{margin:0}.salary-title span{color:var(--ink-muted)}.salary-period-card,.salary-card{background:var(--surface-200);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4)}.salary-period-card{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.salary-period-card>div:first-child{display:flex;flex-direction:column;gap:var(--space-1)}.salary-period-card small{color:var(--ink-muted)}.salary-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--space-2)}.salary-steps{display:flex;align-items:center}.salary-steps span{min-height:32px;padding:6px 12px;border:1px solid var(--line);margin-left:-1px}.salary-steps span:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill);margin-left:0}.salary-steps span:nth-child(3){border-radius:0 var(--radius-pill) var(--radius-pill) 0}.salary-steps span.on{background:var(--accent-tint);border-color:var(--accent);font-weight:700}.salary-steps small{display:none}.salary-shadow,.salary-warning,.salary-error,.salary-message,.salary-ok{border-left:4px solid var(--warn-bar);background:var(--warn-bg);color:var(--warn-fg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.salary-error{border-color:var(--danger-bar);background:var(--danger-bg);color:var(--danger-fg)}.salary-message,.salary-ok{border-color:var(--ok-bar);background:var(--ok-bg);color:var(--ok-fg)}.salary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.salary-kpis article{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface-200);border:1px solid var(--line);border-radius:var(--radius-md)}.salary-kpis span{color:var(--ink-muted);font-size:var(--type-caption-size)}.salary-kpis b{font-size:var(--type-kpi-size);font-variant-numeric:tabular-nums}.salary-field{display:flex;flex-direction:column;gap:var(--space-1);font-weight:600;max-width:220px}.salary-field select,.salary-inline-form select,.salary-inline-form input,.salary-dialog select,.salary-dialog textarea,.salary-policy input,.salary-policy textarea,.salary-answer input{min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);padding:0 var(--space-3);color:var(--ink)}.salary-table-wrap{overflow-x:auto}.salary-table{width:100%;min-width:980px;border-collapse:collapse;background:var(--surface-200);font-size:13px}.salary-table th,.salary-table td{padding:10px 8px;border:1px solid var(--line);text-align:right;vertical-align:middle;font-variant-numeric:tabular-nums}.salary-table th:first-child,.salary-table td:first-child,.salary-table th:last-child,.salary-table td:last-child{text-align:left}.salary-table tfoot td{background:var(--surface-300);font-weight:700}.salary-table .badge{display:inline-flex;margin:2px}.salary-lines{display:flex;flex-direction:column}.salary-line,.salary-manual{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:50px;padding:var(--space-2) 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.salary-line:first-child,.salary-manual:first-child{border-top:0}.salary-line span,.salary-manual span{display:flex;flex-direction:column}.salary-line small,.salary-manual small{color:var(--ink-muted)}.salary-inline-form,.salary-policy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.salary-inline-form label,.salary-policy label,.salary-dialog label{display:flex;flex-direction:column;gap:var(--space-1);font-weight:600}.salary-feedback{padding:var(--space-3) 0;border-top:1px solid var(--line)}.salary-feedback p{margin:var(--space-1) 0}.salary-answer{display:flex;gap:var(--space-2)}.salary-policy section,.salary-policy-reason{grid-column:1/-1}.salary-policy section p,.salary-history,.salary-reserve{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line)}.salary-policy .btn{grid-column:1/-1;justify-self:start}.salary-modal-wrap,.salary-dialog-page{min-height:100%;display:grid;place-items:center;padding:var(--space-6)}.salary-dialog{width:min(560px,100%);background:var(--surface-200);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6)}.salary-dialog form{display:flex;flex-direction:column;gap:var(--space-3)}.salary-dialog textarea{min-height:110px;padding:var(--space-3)}.salary-dialog form>div,.salary-dialog>.salary-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.salary-hidden{position:absolute;left:-9999px}.salary-mobile{width:min(390px,100%);min-height:100vh;margin:0 auto;background:var(--surface-100)}.salary-mobile>header{display:flex;align-items:center;gap:var(--space-1);min-height:56px;padding:4px 8px;background:var(--surface-200);border-bottom:1px solid var(--line)}.salary-mobile>header>a{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);font-size:28px;text-decoration:none}.salary-mobile header h1,.salary-mobile header p{margin:0}.salary-mobile header h1{font-size:17px}.salary-mobile header p{color:var(--ink-muted);font-size:12px}.salary-mobile-body{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px}.salary-mobile-period{display:flex;align-items:end;gap:var(--space-2);flex-wrap:wrap}.salary-mobile-period .salary-field{font-size:0}.salary-hero{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--radius-md)}.salary-hero>strong{font-size:28px}.salary-hero>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);border-top:1px solid var(--line);padding-top:var(--space-2)}.salary-hero>div span{display:flex;flex-direction:column;font-size:12px}.salary-reserve{flex-direction:column}.salary-report{min-height:56px}.salary-source{display:grid;grid-template-columns:70px 1fr auto;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--line)}.salary-source div{display:flex;flex-direction:column}.salary-source small{color:var(--ink-muted)}@media(max-width:900px){.salary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-inline-form,.salary-policy{grid-template-columns:1fr}.salary-policy section,.salary-policy-reason,.salary-policy .btn{grid-column:1}.salary-period-card{align-items:flex-start}.salary-actions{margin-left:0}.salary-steps{overflow-x:auto}.salary-kpis b{font-size:20px}}.salary-mobile-period .salary-field{min-width:200px}.salary-mobile-period .salary-field select{width:100%;font-size:15px}.salary-status-change{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-200)}.salary-group{padding-top:var(--space-2);padding-bottom:var(--space-2)}.salary-group h2{margin:0;padding:var(--space-2) 0;font-size:var(--type-body-size);color:var(--ink-muted)}.salary-line--static{cursor:default}.salary-pending{border-style:dashed;border-color:var(--line-strong)}.salary-pending h2{display:inline-block;margin-right:var(--space-2)}.salary-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.salary-filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.salary-warning ul{margin:var(--space-2) 0;padding-left:var(--space-6)}.salary-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--ink) 35%,transparent)}.salary-dialog-backdrop .salary-dialog,.salary-dialog-backdrop form{display:flex;flex-direction:column;gap:var(--space-3)}.salary-dialog-backdrop input,.salary-dialog-backdrop textarea{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);color:var(--ink)}.salary-period-card,.salary-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.salary-kpis .stat-tile{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);background:var(--surface-200);box-shadow:var(--shadow-card)}*{box-sizing:border-box}html{min-width:320px;background:var(--surface-100)}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-100);color:var(--ink);font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:var(--type-body-size);line-height:var(--type-body-line);text-rendering:optimizeLegibility}button,input,select{font:inherit}button,a,input,select,[tabindex]{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 2px var(--focus-ring)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--space-2);font-size:var(--type-title-size);font-weight:600;line-height:var(--type-title-line)}a{color:var(--accent);font-weight:600;text-decoration-thickness:1px;text-underline-offset:3px}.muted{color:var(--muted)}.eyebrow{margin-bottom:var(--space-1);color:var(--muted);font-size:var(--type-caption-size);font-weight:600;letter-spacing:.02em;line-height:var(--type-caption-line);text-transform:uppercase}.type-strong{margin-bottom:var(--space-1);font-weight:600}.kpi{margin-bottom:var(--space-1);font-size:var(--type-kpi-size);font-weight:600;line-height:var(--type-kpi-line)}
