@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Archivo Variable", "Archivo", system-ui, sans-serif;--font-sans: "Public Sans Variable", "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 5px;--radius-md: 7px;--radius-core: 9px;--radius-lg: 12px;--radius-pill: 999px;--size-control-sm: 32px;--size-control-md: 40px;--size-control-lg: 44px;--size-control-field: 52px;--size-topbar: 56px;--size-sidebar: 248px;--size-rail: 64px;--size-bottom-nav: 64px;--size-touch-min: 44px;--shadow-card: none;--shadow-raised: 0 1px 2px rgba(5, 32, 66, .06);--shadow-popover: 0 12px 32px rgba(5, 32, 66, .14), 0 2px 6px rgba(5, 32, 66, .08);--shadow-dialog: 0 24px 48px rgba(5, 32, 66, .25);--motion-fast: .12s;--motion-base: .18s;--motion-slow: .26s;--motion-ease: cubic-bezier(.2, 0, 0, 1);--z-sticky: 10;--z-sidebar: 20;--z-topbar: 30;--z-popover: 40;--z-drawer: 50;--z-dialog: 60;--z-toast: 70;--type-page-title: 800 28px/34px var(--font-display);--type-section-title: 800 20px/26px var(--font-display);--type-card-title: 700 16px/22px var(--font-display);--type-kpi: 800 26px/30px var(--font-display);--type-body: 400 14px/20px var(--font-sans);--type-body-strong: 600 14px/20px var(--font-sans);--type-label: 600 13px/18px var(--font-sans);--type-caption: 500 12px/16px var(--font-sans);--type-overline: 700 11px/14px var(--font-sans);--type-code: 500 13px/18px var(--font-mono);--type-field-body: 400 16px/22px var(--font-sans)}:root,:root[data-theme=light]{--surface-page: #f3f5f8;--surface-card: #ffffff;--surface-sunken: #f6f8fa;--surface-hover: #eef2f7;--surface-selected: #f0f5fb;--surface-disabled: #edf0f3;--surface-overlay: rgba(14, 26, 43, .4);--border-default: #dde2e8;--border-subtle: #edf0f3;--border-strong: #c9d0d9;--text-primary: #0e1a2b;--text-secondary: #2e3b4c;--text-muted: #556273;--text-disabled: #8a94a3;--text-inverse: #ffffff;--link: #1f4f8a;--link-hover: #052042;--focus-ring: #1f4f8a;--action-primary: #ec835a;--action-primary-hover: #e2703f;--action-primary-text: #0a0a0a;--action-confirm: #052042;--action-confirm-hover: #12417a;--action-confirm-text: #ffffff;--action-danger: #b3261e;--action-danger-text: #ffffff;--sidebar-bg: #052042;--sidebar-active: #12417a;--sidebar-hover: #0c2c55;--sidebar-text: #dbe5f0;--sidebar-text-strong: #ffffff;--sidebar-muted: #9fb3cc;--sidebar-border: #1c3a63;--data-primary: #4978b1;--data-planned: #8a94a3;--data-track: #e3e8ee;--data-forecast-fill: #e4edf8;--data-critical: #c2410c;--data-warning: #d99a1e;--data-good: #3f8f3a;--company-fg: #2f7a2b;--company-bg: #e2f3df;--company-mark: #55bf50;--status-good-fg: #1c6419;--status-good-bg: #e2f3df;--status-warn-fg: #7a5000;--status-warn-bg: #fcefd2;--status-crit-fg: #9a3412;--status-crit-bg: #fde4d8;--status-info-fg: #1f4f8a;--status-info-bg: #e4edf8;--status-neutral-fg: #2e3b4c;--status-neutral-bg: #edf0f3;--badge-bg: #ec835a;--badge-info-bg: #4978b1;color-scheme:light}:root[data-theme=dark]{--surface-page: #0a0a0a;--surface-card: #131518;--surface-sunken: #181b1f;--surface-hover: #1d2126;--surface-selected: #16202c;--surface-disabled: #1a1d21;--surface-overlay: rgba(0, 0, 0, .6);--border-default: #262a30;--border-subtle: #1f2328;--border-strong: #333840;--text-primary: #eef1f4;--text-secondary: #c9d0d8;--text-muted: #a3acb6;--text-disabled: #5d6670;--text-inverse: #0a0a0a;--link: #86aee0;--link-hover: #b5cff0;--focus-ring: #86aee0;--action-primary: #ec835a;--action-primary-hover: #f09670;--action-primary-text: #0a0a0a;--action-confirm: #86aee0;--action-confirm-hover: #b5cff0;--action-confirm-text: #0a0a0a;--action-danger: #e5534b;--action-danger-text: #0a0a0a;--sidebar-bg: #0f1113;--sidebar-active: #1a2638;--sidebar-hover: #171b20;--sidebar-text: #c9d0d8;--sidebar-text-strong: #ffffff;--sidebar-muted: #8a94a3;--sidebar-border: #262a30;--data-primary: #4978b1;--data-planned: #8a94a3;--data-track: #262a30;--data-forecast-fill: #1a2638;--data-critical: #e0662f;--data-warning: #d99a1e;--data-good: #55bf50;--company-fg: #55bf50;--company-bg: #132413;--company-mark: #55bf50;--status-good-fg: #8fd48b;--status-good-bg: #132413;--status-warn-fg: #f2c56b;--status-warn-bg: #2a2210;--status-crit-fg: #ffb89a;--status-crit-bg: #2a1810;--status-info-fg: #b5cff0;--status-info-bg: #1a2638;--status-neutral-fg: #c9d0d8;--status-neutral-bg: #1f2328;--badge-bg: #ec835a;--badge-info-bg: #4978b1;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--type-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;color:var(--text-primary)}h1{font:var(--type-page-title);letter-spacing:-.01em}h2{font:var(--type-section-title)}h3{font:var(--type-card-title)}p{margin:0}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}code,.ui-code{font:var(--type-code);color:var(--link);letter-spacing:0}.ui-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-muted{color:var(--text-muted)}.ui-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 719px){input,select,textarea{font-size:16px!important}}.ui-icon{flex-shrink:0;display:inline-block;vertical-align:middle}.ui-caption{font:var(--type-caption)}.ui-overline{font:var(--type-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--size-control-md);padding:0 14px;border:1px solid transparent;border-radius:var(--radius-core);font:700 14px/1 var(--font-sans);white-space:nowrap;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast);-webkit-tap-highlight-color:transparent}.ui-btn--sm{height:var(--size-control-sm);padding:0 11px;font-size:13px}.ui-btn--lg{height:var(--size-control-lg);padding:0 18px}.ui-btn--field{height:var(--size-control-field);padding:0 22px;font-size:16px;border-radius:10px}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--action-primary);color:var(--action-primary-text);border-color:var(--action-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--action-primary-hover);border-color:var(--action-primary-hover)}.ui-btn--confirm{background:var(--action-confirm);color:var(--action-confirm-text);border-color:var(--action-confirm)}.ui-btn--confirm:hover:not(:disabled){background:var(--action-confirm-hover);border-color:var(--action-confirm-hover)}.ui-btn--secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.ui-btn--ghost{background:transparent;color:var(--link)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-hover)}.ui-btn--danger{background:var(--action-danger);color:var(--action-danger-text);border-color:var(--action-danger)}.ui-btn:disabled{background:var(--surface-disabled);color:var(--text-disabled);border-color:var(--border-default)}.ui-btn--ghost:disabled{background:transparent;border-color:transparent}.ui-spinner{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--size-control-md);height:var(--size-control-md);border:1px solid transparent;border-radius:var(--radius-core);background:transparent;color:var(--text-secondary)}.ui-iconbtn--sm{width:var(--size-control-sm);height:var(--size-control-sm)}.ui-iconbtn--lg{width:var(--size-control-lg);height:var(--size-control-lg)}.ui-iconbtn--secondary{background:var(--surface-card);border-color:var(--border-strong)}.ui-iconbtn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.ui-iconbtn.is-pressed,.ui-iconbtn[aria-expanded=true]{background:var(--status-info-bg);color:var(--link)}.ui-iconbtn--sidebar{color:var(--sidebar-text);border-color:var(--sidebar-border)}.ui-iconbtn--sidebar:hover:not(:disabled){background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.ui-count{position:absolute;top:2px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);border:2px solid var(--surface-card);font:800 10px/13px var(--font-sans);text-align:center}.ui-count--alert{background:var(--badge-bg);color:#0a0a0a}.ui-count--info{background:var(--badge-info-bg);color:#fff}.ui-btnrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ui-btnrow--end{justify-content:flex-end}.ui-btnrow--between{justify-content:space-between}.ui-btnrow--center{justify-content:center}.ui-linkbtn{border:0;padding:0;background:none;color:var(--link);font:inherit;font-weight:600}.ui-linkbtn:hover{color:var(--link-hover);text-decoration:underline}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-label{font:var(--type-label);color:var(--text-primary)}.ui-req{color:var(--status-crit-fg)}.ui-field__hint{font:var(--type-caption);color:var(--text-muted)}.ui-field__error{display:inline-flex;align-items:center;gap:5px;font:600 12px/16px var(--font-sans);color:var(--status-crit-fg)}.ui-input,.ui-select,.ui-tags,.ui-textarea{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-core);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.ui-input{display:flex;align-items:center;height:var(--size-control-md);min-width:0;overflow:hidden}.ui-input:focus-within,.ui-select:focus-within,.ui-tags:focus-within,.ui-textarea:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb,var(--link) 22%,transparent);outline:none}.ui-field.is-invalid .ui-input,.ui-field.is-invalid .ui-select,.ui-field.is-invalid .ui-textarea{border-color:var(--status-crit-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-crit-fg) 18%,transparent)}.ui-input__el{flex:1;min-width:0;height:100%;padding:0 12px;border:0;outline:0;background:transparent;font:var(--type-body);color:var(--text-primary)}.ui-input__el:focus-visible{outline:none}.ui-input__el.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.ui-input__el::placeholder,.ui-tags__input::placeholder,.ui-textarea::placeholder{color:var(--text-muted);opacity:.85}.ui-input__icon{margin-left:12px;color:var(--text-muted)}.ui-input__icon+.ui-input__el{padding-left:8px}.ui-input__addon{display:flex;align-items:center;height:100%;padding:0 12px;color:var(--text-muted);font-size:13px;white-space:nowrap}.ui-input__addon--pre{border-right:1px solid var(--border-default);background:var(--surface-sunken)}.ui-input__addon--suf{padding-left:0}.ui-input.is-disabled,.ui-select.is-disabled{background:var(--surface-disabled);border-color:var(--border-default)}.ui-input.is-disabled .ui-input__el{color:var(--text-secondary)}.ui-input.is-readonly{background:var(--surface-sunken)}.ui-select{position:relative;display:flex;height:var(--size-control-md)}.ui-select__el{width:100%;height:100%;padding:0 36px 0 12px;border:0;outline:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:var(--type-body);color:var(--text-primary);text-overflow:ellipsis}.ui-select__chev{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.ui-textarea-wrap{display:flex;flex-direction:column;gap:4px}.ui-textarea{min-height:84px;padding:10px 12px;resize:vertical;font:var(--type-body);color:var(--text-primary)}.ui-textarea__count{font:var(--type-caption);color:var(--text-muted)}.ui-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:var(--size-control-md);padding:6px 8px}.ui-tag{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 9px;background:var(--status-info-bg);color:var(--link);border-radius:var(--radius-md);font:600 13px/1 var(--font-sans)}.ui-tag__x{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:inherit}.ui-tag__x:hover{background:color-mix(in srgb,var(--link) 15%,transparent)}.ui-tags__input{flex:1;min-width:90px;border:0;outline:0;background:transparent;font:var(--type-body)}.ui-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ui-fieldset--inline{flex-direction:row;flex-wrap:wrap;gap:18px}.ui-fieldset legend{margin-bottom:8px;padding:0}.ui-check{position:relative;display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;min-height:22px}.ui-check.is-disabled{cursor:not-allowed;opacity:.6}.ui-check__el{position:absolute;opacity:0;width:20px;height:20px;margin:0}.ui-check__box,.ui-radio__dot{flex-shrink:0;width:20px;height:20px;margin-top:0;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);background:var(--surface-card);color:transparent}.ui-check__box{border-radius:5px}.ui-radio__dot{border-radius:50%}.ui-check__el:checked+.ui-check__box{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text)}.ui-check__el:checked+.ui-radio__dot{border:6px solid var(--action-confirm)}.ui-check__el:focus-visible+.ui-check__box,.ui-check__el:focus-visible+.ui-radio__dot{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-check__text{display:flex;flex-direction:column;gap:2px;font:var(--type-body);color:var(--text-primary)}.ui-check__desc{font:var(--type-caption);color:var(--text-muted)}.ui-switch{display:inline-flex;align-items:center;gap:12px}.ui-switch.is-disabled{opacity:.6}.ui-switch__track{position:relative;width:44px;height:26px;padding:0;flex-shrink:0;border:0;border-radius:var(--radius-pill);background:var(--border-strong);transition:background var(--motion-base)}.ui-switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--motion-base) var(--motion-ease)}.ui-switch__track[aria-checked=true]{background:var(--action-confirm)}.ui-switch__track[aria-checked=true] .ui-switch__thumb{transform:translate(18px)}.ui-switch label{cursor:pointer}.ui-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-core);background:var(--surface-sunken);border:1px solid var(--border-default)}.ui-seg--full{display:flex}.ui-seg--full .ui-seg__opt{flex:1;padding:0 8px}.ui-seg__opt{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:600 13px/1 var(--font-sans);white-space:nowrap}.ui-seg--sm .ui-seg__opt{height:26px;padding:0 10px;font-size:12px}.ui-seg__opt[aria-checked=true]{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-raised);font-weight:700}.ui-seg__opt:hover:not([aria-checked=true]){color:var(--text-primary)}.ui-dateinput{position:relative}.ui-dateinput .ui-input__el{padding-right:44px}.ui-dateinput__btn{position:absolute;right:4px;top:4px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-muted)}.ui-dateinput__btn:hover{background:var(--surface-hover);color:var(--text-primary)}.ui-dateinput__pop{top:calc(100% + 6px);left:0;right:auto}.ui-cal{width:296px;display:flex;flex-direction:column;gap:8px;padding:12px}.ui-cal__head{display:flex;align-items:center;justify-content:space-between}.ui-cal__title{font:700 14px/1 var(--font-sans)}.ui-cal__nav{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-secondary)}.ui-cal__grid{display:flex;flex-direction:column;gap:2px}.ui-cal__row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.ui-cal__dow{font:700 11px/24px var(--font-sans);color:var(--text-muted);text-align:center}.ui-cal__day{width:100%;height:36px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;font:500 13px/1 var(--font-sans);color:var(--text-primary)}.ui-cal__day:hover:not(:disabled){background:var(--surface-hover)}.ui-cal__day.is-today{border-color:var(--link)}.ui-cal__day.is-selected{background:var(--action-confirm);color:var(--action-confirm-text);font-weight:700}.ui-cal__day:disabled{color:var(--text-disabled)}.ui-cal__foot{display:flex;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-default)}.ui-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:120px;padding:18px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-core);background:var(--surface-sunken);color:var(--text-secondary)}.ui-drop.is-over{border-color:var(--link);background:var(--status-info-bg)}.ui-photos{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ui-photo{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken)}.ui-photo img,.ui-photo__ph{width:100%;height:100%;object-fit:cover;display:block}.ui-photo__ph{background:linear-gradient(135deg,#9fb0c3,#7d8fa5)}.ui-photo:nth-child(2) .ui-photo__ph{background:linear-gradient(135deg,#b8a58f,#9a876f)}.ui-photo:nth-child(3) .ui-photo__ph{background:linear-gradient(135deg,#8fa08a,#74866e)}.ui-photo__stamp{position:absolute;left:6px;bottom:6px;right:6px;padding:2px 6px;border-radius:5px;background:#052042c7;color:#fff;font:700 11px/15px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-photo--add button{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--link);font:600 12px/1 var(--font-sans)}.ui-sig{position:relative;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-card)}.ui-sig__canvas{display:block;width:100%;touch-action:none;color:var(--text-primary);cursor:crosshair}.ui-sig__line{position:absolute;left:16px;right:16px;bottom:30px;border-top:1px dashed var(--border-strong);pointer-events:none}.ui-sig__meta{position:absolute;left:14px;bottom:8px;font:var(--type-caption);color:var(--text-muted);pointer-events:none}.ui-sig__clear{position:absolute;right:6px;top:6px}.ui-chip{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;height:24px;padding:0 9px;border-radius:var(--radius-core);font:700 12px/1 var(--font-sans);white-space:nowrap}.ui-chip--sm{height:20px;padding:0 7px;font-size:11px}.ui-chip--good{background:var(--status-good-bg);color:var(--status-good-fg)}.ui-chip--warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.ui-chip--crit{background:var(--status-crit-bg);color:var(--status-crit-fg)}.ui-chip--info{background:var(--status-info-bg);color:var(--status-info-fg)}.ui-chip--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;font-family:var(--font-sans);font-weight:800;letter-spacing:.02em}.ui-avatar--info{background:var(--status-info-bg);color:var(--link)}.ui-avatar--navy{background:var(--action-confirm);color:var(--action-confirm-text)}.ui-avatar--good{background:var(--data-good);color:#0a0a0a}.ui-avatar--company{background:var(--company-mark);color:#0a0a0a;border-radius:var(--radius-md)}.ui-avatar--more{background:var(--status-neutral-bg);color:var(--text-secondary);font-size:11px}.ui-avatars{display:inline-flex}.ui-avatars>*{box-shadow:0 0 0 2px var(--surface-card)}.ui-avatars>*+*{margin-left:-6px}.ui-card{display:flex;flex-direction:column;min-width:0;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-core)}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px var(--space-5);border-bottom:1px solid var(--border-default)}.ui-card__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-card__title{font:var(--type-card-title)}.ui-card__sub{font:var(--type-caption);color:var(--text-muted)}.ui-card__action{display:flex;align-items:center;gap:8px;flex-shrink:0}.ui-card__body{flex:1;display:flex;flex-direction:column;gap:14px;padding:18px var(--space-5);min-width:0}.ui-card__body--flush{padding:0;gap:0}.ui-card__body>.ui-btn--ghost,.ui-card__body>.ui-btn--sm{align-self:flex-start}.ui-card__foot{padding:12px var(--space-5);border-top:1px solid var(--border-default)}.ui-cardlink{display:inline-flex;align-items:center;gap:4px;font:600 13px/1 var(--font-sans);white-space:nowrap}.ui-kpi{display:flex;flex-direction:column;gap:6px;min-width:0;padding:18px var(--space-5);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-core)}.ui-kpi--compact{padding:14px 16px;background:var(--surface-sunken);border-color:var(--border-default)}.ui-kpi__label{font:600 13px/18px var(--font-sans);color:var(--text-muted)}.ui-kpi__row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.ui-kpi__value{font:var(--type-kpi);color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap}.ui-kpi--compact .ui-kpi__value{font-size:24px}.ui-kpi__sub{font:500 13px/17px var(--font-sans);color:var(--text-muted)}.ui-kpi__trend{color:var(--data-primary)}.ui-money{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-money.is-withheld{color:var(--text-muted)}.ui-var{display:inline-flex;align-items:center;gap:3px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.ui-var--good{color:var(--status-good-fg)}.ui-var--crit{color:var(--status-crit-fg)}.ui-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.ui-pagehead__main{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-pagehead__eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;font:500 13px/18px var(--font-sans);color:var(--text-muted)}.ui-pagehead__meta{font:500 13px/18px var(--font-sans);color:var(--text-muted)}.ui-pagehead__actions{display:flex;gap:10px;flex-wrap:wrap}.ui-sechead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.ui-sechead__action{margin-left:auto}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 18px;text-align:center;color:var(--border-strong)}.ui-empty__title{font:700 15px/20px var(--font-sans);color:var(--text-primary)}.ui-empty__text{max-width:340px;font:400 13px/18px var(--font-sans);color:var(--text-muted)}.ui-skel{display:block;flex-shrink:0;background:var(--surface-disabled);animation:ui-pulse 1.4s ease-in-out infinite}.ui-skelrows{display:flex;flex-direction:column;gap:14px;padding:14px 0}.ui-skelrow{display:flex;gap:12px;align-items:center}@keyframes ui-pulse{50%{opacity:.55}}.ui-kv{margin:0;display:flex;flex-direction:column}.ui-kv__row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.ui-kv__row:last-child{border-bottom:0}.ui-kv dt{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-kv dd{margin:0;font:700 15px/20px var(--font-sans);white-space:nowrap;font-variant-numeric:tabular-nums}.ui-kv__key{font:600 14px/20px var(--font-sans);color:var(--text-primary)}.ui-kv__sub{font:var(--type-caption);color:var(--text-muted)}.ui-progress{display:flex;flex-direction:column;gap:6px}.ui-progress__head{display:flex;justify-content:space-between;gap:12px;font:600 13px/18px var(--font-sans)}.ui-progress__label{color:var(--text-primary)}.ui-progress__value{color:var(--text-muted);font-weight:500;white-space:nowrap}.ui-bar{position:relative;display:flex;height:8px;border-radius:4px;background:var(--data-track)}.ui-bar--thin{height:6px;border-radius:3px}.ui-bar--lg{height:12px;border-radius:6px}.ui-bar__fill{display:block;height:100%;border-radius:inherit;background:var(--data-primary)}.ui-bar--good .ui-bar__fill{background:var(--data-good)}.ui-bar--warn .ui-bar__fill{background:var(--data-warning)}.ui-bar--crit .ui-bar__fill{background:var(--data-critical)}.ui-bar--navy .ui-bar__fill{background:var(--action-confirm)}.ui-bar__marker{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--text-primary);border-radius:1px}.ui-ring{display:flex;align-items:center;gap:14px}.ui-ring__track{stroke:var(--data-track)}.ui-ring__fill{stroke:var(--data-primary)}.ui-ring__text{font:800 17px var(--font-display);fill:var(--text-primary)}.ui-ring__labels{display:flex;flex-direction:column;gap:3px;font-size:14px}.ui-stepper{list-style:none;margin:0;padding:0;display:flex}.ui-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}.ui-step:not(:last-child):after{content:"";position:absolute;top:13px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:var(--data-track)}.ui-step.is-done:not(:last-child):after{background:var(--data-good)}.ui-step__dot{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--border-strong);background:var(--surface-card);color:var(--text-muted);font:800 12px/1 var(--font-sans)}.ui-step.is-done .ui-step__dot{background:var(--data-good);border-color:var(--data-good);color:var(--text-inverse)}.ui-step.is-current .ui-step__dot{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text);box-shadow:0 0 0 4px var(--status-info-bg)}.ui-step.is-rejected .ui-step__dot{background:var(--action-danger);border-color:var(--action-danger);color:var(--text-inverse)}.ui-step__label{font:700 13px/17px var(--font-sans);color:var(--text-primary)}.ui-step.is-todo .ui-step__label{color:var(--text-muted);font-weight:600}.ui-step__meta{font:var(--type-caption);color:var(--text-muted)}.ui-stages{list-style:none;margin:0;padding:0;display:grid;gap:4px}.ui-stage{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-stage__bar{height:10px;border-radius:3px;background:var(--data-track)}.ui-stage.is-released .ui-stage__bar{background:var(--data-good)}.ui-stage.is-hold .ui-stage__bar{background:var(--data-warning)}.ui-stage.is-witness .ui-stage__bar{background:repeating-linear-gradient(45deg,var(--data-warning) 0 4px,var(--data-track) 4px 8px)}.ui-stage__label{font:600 11px/14px var(--font-sans);color:var(--text-muted)}.ui-stage.is-hold .ui-stage__label{color:var(--status-warn-fg);font-weight:700}.ui-spark polyline{stroke:var(--data-primary)}.ui-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid;border-radius:var(--radius-core);font:var(--type-body)}.ui-banner>.ui-icon{margin-top:1px}.ui-banner__text{flex:1;min-width:0;color:var(--text-primary)}.ui-banner--info{background:var(--status-info-bg);border-color:color-mix(in srgb,var(--status-info-fg) 30%,transparent)}.ui-banner--info>.ui-icon,.ui-banner--info strong{color:var(--status-info-fg)}.ui-banner--good{background:var(--status-good-bg);border-color:color-mix(in srgb,var(--status-good-fg) 30%,transparent)}.ui-banner--good>.ui-icon,.ui-banner--good strong{color:var(--status-good-fg)}.ui-banner--warn{background:var(--status-warn-bg);border-color:color-mix(in srgb,var(--status-warn-fg) 30%,transparent)}.ui-banner--warn>.ui-icon,.ui-banner--warn strong{color:var(--status-warn-fg)}.ui-banner--crit{background:var(--status-crit-bg);border-color:color-mix(in srgb,var(--status-crit-fg) 30%,transparent)}.ui-banner--crit>.ui-icon,.ui-banner--crit strong{color:var(--status-crit-fg)}.ui-banner__x{display:inline-flex;padding:4px;margin:-2px -4px 0 0;border:0;border-radius:5px;background:transparent;color:var(--text-secondary)}.ui-toasts{position:fixed;left:20px;bottom:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px}.ui-toast{display:flex;align-items:center;gap:12px;min-width:300px;max-width:440px;padding:12px 14px;border-radius:var(--radius-core);background:#052042;color:#fff;box-shadow:var(--shadow-popover);font:500 14px/20px var(--font-sans);animation:ui-in var(--motion-slow) var(--motion-ease)}.ui-toast .ui-icon{color:#8fd48b}.ui-toast--crit .ui-icon{color:#ffb89a}.ui-toast--info .ui-icon{color:#b5cff0}.ui-toast__msg{flex:1}.ui-toast__action{border:0;background:transparent;color:#fff;font:700 14px/1 var(--font-sans);text-decoration:underline}.ui-toast__x{display:inline-flex;border:0;background:transparent;color:#b5cff0;padding:2px}@keyframes ui-in{0%{opacity:0;transform:translateY(8px)}}.ui-dialog{padding:0;border:0;border-radius:var(--radius-lg);max-width:calc(100vw - 32px);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-dialog)}.ui-dialog::backdrop,.ui-drawer::backdrop{background:var(--surface-overlay)}.ui-dialog[open]{animation:ui-in var(--motion-base) var(--motion-ease)}.ui-dialog__body{display:flex;gap:14px;padding:20px 22px 8px}.ui-dialog__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.ui-dialog__icon--warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.ui-dialog__icon--crit{background:var(--status-crit-bg);color:var(--status-crit-fg)}.ui-dialog__content{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.ui-dialog__title{font:800 17px/24px var(--font-display)}.ui-dialog__text{color:var(--text-secondary)}.ui-dialog__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;margin-top:12px;border-top:1px solid var(--border-default)}.ui-drawer{margin:0 0 0 auto;padding:0;border:0;height:100vh;max-height:100vh;background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-dialog)}.ui-drawer[open]{animation:ui-slide var(--motion-slow) var(--motion-ease)}@keyframes ui-slide{0%{transform:translate(24px);opacity:0}}.ui-drawer__inner{display:flex;flex-direction:column;height:100%}.ui-drawer__head{display:flex;align-items:center;gap:10px;min-height:var(--size-topbar);padding:0 12px 0 20px;border-bottom:1px solid var(--border-default);color:var(--link)}.ui-drawer__title{flex:1;font:800 17px/24px var(--font-display);color:var(--text-primary)}.ui-drawer__body{flex:1;overflow-y:auto}.ui-drawer__foot{padding:14px 20px;border-top:1px solid var(--border-default)}.ui-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.ui-tabs--line{border-bottom:1px solid var(--border-default)}.ui-tab{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;flex-shrink:0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:600 14px/1 var(--font-sans);white-space:nowrap}.ui-tab:hover{color:var(--text-primary)}.ui-tabs--line .ui-tab[aria-selected=true]{color:var(--text-primary);font-weight:700;border-bottom-color:var(--action-primary)}.ui-tab__count{padding:1px 6px;border-radius:var(--radius-pill);background:var(--status-neutral-bg);color:var(--text-secondary);font-size:11px;font-weight:700}.ui-tabs--pill{gap:8px}.ui-tabs--pill .ui-tab{height:36px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-card);color:var(--text-primary)}.ui-tabs--pill .ui-tab[aria-selected=true]{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text)}.ui-tabs--pill .ui-tab[aria-selected=true] .ui-tab__count{background:#ffffff2e;color:inherit}.ui-tip{position:relative;display:inline-flex;align-items:center;gap:6px}.ui-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:7px 10px;border-radius:var(--radius-md);background:#052042;color:#fff;font:500 12px/16px var(--font-sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--motion-fast);z-index:var(--z-popover)}.ui-tip:hover .ui-tip__bubble,.ui-tip:focus-visible .ui-tip__bubble,.ui-tip:focus-within .ui-tip__bubble{opacity:1;visibility:visible}.ui-pager{display:flex;align-items:center;gap:6px;font:500 13px/1 var(--font-sans);color:var(--text-muted)}.ui-pager__spacer{flex:1}.ui-pager__size{display:inline-flex;align-items:center;gap:8px}.ui-pager__size select{height:32px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary)}.ui-pager__btn{min-width:32px;height:32px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:600 13px/1 var(--font-sans)}.ui-pager__btn:disabled{color:var(--text-disabled);border-color:var(--border-default)}.ui-pager__btn[aria-current=page]{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text)}.ui-pager__gap{padding:0 4px}.ui-anchor{position:relative;display:inline-flex}.ui-popover{position:absolute;top:calc(100% + 8px);z-index:var(--z-popover);min-width:200px;max-width:calc(100vw - 24px);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-popover);animation:ui-in var(--motion-base) var(--motion-ease)}.ui-popover--end{right:0}.ui-popover--start{left:0}.ui-popover[role=menu]{padding:6px}.ui-menu__item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:500 14px/1.2 var(--font-sans);text-align:left}.ui-menu__item .ui-icon{color:var(--text-muted)}.ui-menu__item:hover,.ui-menu__item:focus-visible{background:var(--surface-hover)}.ui-menu__item:focus-visible{outline-offset:-2px}.ui-menu__item.is-danger{color:var(--status-crit-fg)}.ui-menu__item[aria-checked=true]{background:var(--surface-selected);font-weight:700}.ui-menu__label{flex:1}.ui-menu__hint{font:var(--type-caption);color:var(--text-muted)}.ui-menu__divider{height:1px;margin:6px 4px;background:var(--border-default)}.ui-menu__section{padding:10px 10px 4px}.ui-tablewrap{position:relative;width:100%;overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;font:var(--type-body)}.ui-table th{height:42px;padding:0 12px;background:var(--surface-sunken);border-bottom:1px solid var(--border-default);font:var(--type-overline);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.ui-table td{height:52px;padding:0 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.ui-table--sm td{height:40px}.ui-table--lg td{height:56px}.ui-table tbody tr:hover{background:var(--surface-hover)}.ui-table tbody tr.is-selected{background:var(--surface-selected)}.ui-table tbody tr.is-highlight{box-shadow:inset 3px 0 0 var(--data-critical)}.ui-table tbody tr.is-clickable{cursor:pointer}.ui-table td.is-mono{font:var(--type-code);color:var(--link)}.ui-table td.is-primary{font-weight:600}.ui-table td.is-num,.ui-table th[style*=right]{font-variant-numeric:tabular-nums;white-space:nowrap}.ui-table tfoot td{height:52px;background:var(--surface-sunken);border-top:1px solid var(--border-default);font-weight:800}.ui-table__sel{width:44px;text-align:center}.ui-table__sel input{width:18px;height:18px;accent-color:var(--action-confirm)}.ui-table__act{width:48px;text-align:right}.ui-table__sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.ui-table__sort:hover,.ui-table th[aria-sort=ascending],.ui-table th[aria-sort=descending]{color:var(--text-primary)}.ui-table__empty{height:auto!important;padding:0!important}.ui-table input:not([type=checkbox]){height:36px}.ui-table tr.ui-table__group td{height:auto;padding:6px 12px;background:var(--surface-sunken);font:var(--type-caption);color:var(--text-secondary)}.ui-table tr.ui-table__detail td,.ui-table td.ui-table__inplace{height:auto;padding:12px;background:var(--surface-sunken)}.ui-table tbody tr.ui-table__group:hover,.ui-table tbody tr.ui-table__detail:hover{background:transparent}.ui-tablehead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px var(--space-5);border-bottom:1px solid var(--border-default)}.ui-tablehead__title{font:var(--type-card-title)}.ui-tablehead__count{font:500 13px/1 var(--font-sans);color:var(--text-muted)}.ui-tablehead__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ui-filterbar{display:flex;align-items:center;gap:10px;padding:10px var(--space-5);border-bottom:1px solid var(--border-default);color:var(--text-muted)}.ui-filterbar__chips{flex:1;display:flex;flex-wrap:wrap;gap:8px}.ui-filterchip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--status-info-bg);color:var(--link);font:600 13px/1 var(--font-sans)}.ui-filterchip button{display:inline-flex;padding:3px;border:0;border-radius:4px;background:transparent;color:inherit}.ui-filterchip--add{padding:0 10px;border:1px dashed var(--border-strong);background:var(--surface-card)}.ui-bulkbar{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px var(--space-5);background:#052042;color:#fff}.ui-bulkbar__clear{border:0;background:transparent;color:#b5cff0;font:600 13px/1 var(--font-sans);text-decoration:underline}.ui-bulkbar__spacer{flex:1}.ui-bulkbar .ui-btn--secondary{background:transparent;color:#fff;border-color:#fff6}.ui-bulkbar .ui-btn--secondary:hover{background:#ffffff1a}@media (max-width: 719px){.ui-tablewrap.is-cards .ui-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ui-tablewrap.is-cards .ui-table,.ui-tablewrap.is-cards .ui-table tbody,.ui-tablewrap.is-cards .ui-table tr,.ui-tablewrap.is-cards .ui-table td{display:block;width:100%}.ui-tablewrap.is-cards .ui-table tbody tr{position:relative;padding:12px 16px;border-bottom:1px solid var(--border-default)}.ui-tablewrap.is-cards .ui-table td{height:auto;padding:3px 0;border:0;text-align:left!important;display:flex;justify-content:space-between;gap:12px}.ui-tablewrap.is-cards .ui-table td:before{content:attr(data-label);font:600 12px/18px var(--font-sans);color:var(--text-muted)}.ui-tablewrap.is-cards .ui-table td.is-primary{font-size:16px;order:-1}.ui-tablewrap.is-cards .ui-table td.is-primary:before,.ui-tablewrap.is-cards .ui-table td.is-mono:before{content:none}.ui-tablewrap.is-cards .ui-table td.hide-phone{display:none}.ui-tablewrap.is-cards .ui-table td.ui-table__sel{position:absolute;right:8px;top:8px;width:44px;height:44px;justify-content:center;align-items:center}.ui-tablewrap.is-cards .ui-table td.ui-table__act{justify-content:flex-end;padding-top:8px;margin-top:6px;border-top:1px dashed var(--border-default)}.ui-tablewrap.is-cards .ui-table tfoot{display:block}.ui-tablewrap.is-cards .ui-table tfoot tr{display:flex;flex-wrap:wrap;justify-content:space-between;padding:12px 16px}.ui-tablewrap.is-cards .ui-table tfoot td{width:auto}.ui-tablewrap.is-cards .ui-table tr.ui-table__group td,.ui-tablewrap.is-cards .ui-table tr.ui-table__detail td,.ui-tablewrap.is-cards .ui-table td.ui-table__inplace{display:block;padding:8px 0}.ui-tablewrap.is-cards .ui-table tr.ui-table__group,.ui-tablewrap.is-cards .ui-table tr.ui-table__detail{padding:0 16px}.ui-tablewrap.is-cards .ui-table tr.ui-table__group td:before,.ui-tablewrap.is-cards .ui-table tr.ui-table__detail td:before,.ui-tablewrap.is-cards .ui-table td.ui-table__inplace:before{content:none}.ui-bulkbar{position:sticky;bottom:var(--size-bottom-nav);z-index:var(--z-sticky);flex-wrap:wrap}.ui-pager__size,.ui-pager__btn:not([aria-label]){display:none}.ui-pager__btn{min-width:44px;height:44px}}.ui-chart{display:flex;flex-direction:column;gap:10px;min-width:0}.ui-chart svg{display:block;overflow:visible}.ui-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12px/16px var(--font-sans);color:var(--text-secondary)}.ui-legend li{display:inline-flex;align-items:center;gap:6px}.ui-swatch{display:inline-block;width:12px;height:10px;border-radius:2px;box-sizing:border-box}.ui-chart__grid{stroke:var(--data-track);stroke-width:1}.ui-chart__tick{font:500 11px var(--font-sans);fill:var(--text-muted)}.ui-chart__planned{fill:none;stroke:var(--data-planned);stroke-width:2;stroke-dasharray:6 5}.ui-chart__actual{fill:none;stroke:var(--data-primary);stroke-width:2.5;stroke-linejoin:round}.ui-chart__forecast{fill:none;stroke:var(--data-primary);stroke-width:2;stroke-dasharray:2 4;stroke-linecap:round}.ui-chart__dot{fill:var(--data-primary);stroke:var(--surface-card);stroke-width:2}.ui-chart__today{stroke:var(--text-primary);stroke-width:1.5}.ui-chart__todaylabel{font:700 11px var(--font-sans);fill:var(--text-primary)}.ui-chart__tip{fill:#052042}.ui-chart__tiptitle{font:700 12px var(--font-sans);fill:#fff}.ui-chart__tiptext{font:500 12px var(--font-sans);fill:#dbe5f0}.ui-chart__bar{fill:var(--data-primary)}.ui-chart__barf{fill:var(--data-forecast-fill);stroke:var(--data-primary);stroke-width:1.5;stroke-dasharray:3 3}.ui-chart__stub{fill:var(--data-track)}.ui-chart__vlabel{font:700 11px var(--font-sans);fill:var(--text-primary)}.ui-chart__axis{display:flex;justify-content:space-between;font:500 11px/14px var(--font-sans);color:var(--text-muted)}.ui-stack{display:flex;gap:2px;height:28px;border-radius:6px;overflow:hidden}.ui-stack span{display:block;height:100%}.ui-gantt{display:flex;flex-direction:column;gap:12px;overflow-x:auto}.ui-gantt__table{min-width:720px}.ui-gantt__row{display:grid;align-items:center;min-height:40px;border-bottom:1px solid var(--border-subtle)}.ui-gantt__row--head{min-height:30px;border-bottom-color:var(--border-default)}.ui-gantt__hdr{font:var(--type-overline);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.ui-gantt__day{font:600 11px/30px var(--font-sans);color:var(--text-muted);text-align:center}.ui-gantt__day.is-nonwork{background:var(--surface-sunken)}.ui-gantt__day.is-today{color:var(--text-primary);font-weight:800;box-shadow:inset 0 -2px 0 var(--action-primary)}.ui-gantt__code{font:var(--type-code);font-size:12px;color:var(--text-muted)}.ui-gantt__name{font:500 13px/17px var(--font-sans);padding-right:8px}.ui-gantt__bar{display:flex;height:18px;margin:0 2px;border-radius:5px;overflow:hidden}.ui-gantt__bar.is-critical{background:var(--status-crit-bg)}.ui-gantt__bar.is-critical .ui-gantt__done{background:var(--data-critical)}.ui-gantt__bar.is-normal{background:var(--data-forecast-fill)}.ui-gantt__bar.is-normal .ui-gantt__done{background:var(--data-primary)}.ui-gantt__bar.is-others{border:1.5px dashed var(--data-planned)}.ui-gantt__bar.is-others .ui-gantt__done{background:var(--data-track)}.sh-app{display:grid;grid-template-columns:var(--size-sidebar) minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--sidebar-bg) var(--size-sidebar),var(--surface-page) 0)}.sh-app.is-collapsed{grid-template-columns:var(--size-rail) minmax(0,1fr);background:linear-gradient(to right,var(--sidebar-bg) var(--size-rail),var(--surface-page) 0)}.sh-frame{display:flex;flex-direction:column;min-width:0}.sh-main{flex:1;min-width:0;outline:none}.sh-skip{position:absolute;left:-9999px;top:8px;z-index:var(--z-toast);padding:8px 12px;border-radius:var(--radius-md);background:var(--action-confirm);color:var(--action-confirm-text)}.sh-skip:focus{left:8px}.sh-sidebar,.sh-rail{position:sticky;top:0;height:100vh;z-index:var(--z-sidebar);display:flex;flex-direction:column;gap:2px;overflow-y:auto;background:var(--sidebar-bg);color:var(--sidebar-text);scrollbar-width:thin}.sh-sidebar{padding:14px 12px 12px}.sh-sidebar__top{display:flex;align-items:center;justify-content:space-between;padding:0 4px 12px}.sh-logo{display:inline-flex;align-items:center;gap:10px;color:#eef1f4}.sh-logo:hover{color:#fff;text-decoration:none}.sh-logo__word{font:800 18px/1 var(--font-display);letter-spacing:.03em}.sh-collapse{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sidebar-border);border-radius:var(--radius-core);background:transparent;color:var(--sidebar-text)}.sh-collapse:hover{background:var(--sidebar-hover);color:#fff}.sh-divider{height:1px;margin:8px 4px;background:var(--sidebar-border);flex-shrink:0}.sh-group{padding:8px 10px 6px;font:700 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted)}.sh-row{display:flex;align-items:center;gap:12px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:var(--radius-core);background:transparent;color:var(--sidebar-text);font:500 14px/1.2 var(--font-sans);text-align:left}.sh-row:hover{background:var(--sidebar-hover);color:#fff}.sh-row.is-active{background:var(--sidebar-active);color:var(--sidebar-text-strong);font-weight:700}.sh-row__label{flex:1}.sh-row__chev{opacity:.8}.sh-sections,.sh-sub{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sh-sections{margin-top:6px}.sh-sub{padding:2px 0 6px 38px}.sh-subrow{display:flex;align-items:center;min-height:34px;padding:0 10px;border-radius:var(--radius-md);color:var(--sidebar-text);font:500 13px/1.2 var(--font-sans)}.sh-subrow:hover{background:var(--sidebar-hover);color:#fff;text-decoration:none}.sh-subrow.is-active{background:var(--sidebar-active);color:#fff;font-weight:700}.sh-recent{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--sidebar-text);font:500 14px/1.2 var(--font-sans);text-align:left}.sh-recent:hover{background:var(--sidebar-hover);color:#fff}.sh-recent code,.sh-switch code{color:#b5cff0;font-size:12px}.sh-switch-wrap{display:flex}.sh-switch{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:1px solid var(--sidebar-border);border-radius:var(--radius-core);background:#ffffff0a;color:#fff;font:600 14px/1 var(--font-sans);text-align:left}.sh-switch:hover{background:var(--sidebar-hover)}.sh-switch__name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sh-sidebar :focus-visible,.sh-rail :focus-visible{outline-color:#b5cff0}.sh-rail{align-items:center;padding:14px 0 12px;gap:6px}.sh-rail__logo{padding-bottom:8px}.sh-rail .sh-divider{width:36px}.sh-railbtn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:0;border-radius:var(--radius-core);background:transparent;color:var(--sidebar-text)}.sh-railbtn:hover{background:var(--sidebar-hover);color:#fff}.sh-railbtn.is-active,.sh-railbtn[aria-expanded=true]{background:var(--sidebar-active);color:#fff}.sh-rail__spacer{flex:1}.sh-rail .sh-railbtn:last-of-type{border:1px solid var(--sidebar-border)}.sh-flyout{padding:6px}.sh-flyout__head{display:flex;align-items:center;gap:8px;padding:8px 10px 6px;font:700 13px/1 var(--font-sans);color:var(--text-primary)}.sh-rail{overflow:visible}.sh-top{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--size-topbar);padding:0 16px 0 24px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.sh-top__tools{display:flex;align-items:center;gap:4px;flex-shrink:0}.sh-top__sep{width:1px;height:28px;margin:0 8px;background:var(--border-default)}.sh-crumb{display:flex;align-items:center;gap:4px;min-width:0;font:500 14px/1 var(--font-sans)}.sh-crumb__sep{color:var(--text-muted);padding:0 4px}.sh-crumb__link{color:var(--text-secondary);padding:8px 4px}.sh-crumb__text{color:var(--text-secondary);padding:8px 4px;white-space:nowrap}.sh-crumb__here{color:var(--text-primary);font-weight:700;padding:8px 4px;white-space:nowrap}.sh-crumb__btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px;min-width:0;border:1px solid transparent;border-radius:var(--radius-core);background:transparent;color:var(--text-primary);font:500 14px/1 var(--font-sans)}.sh-crumb__btn:hover,.sh-crumb__btn[aria-expanded=true]{background:var(--surface-hover);border-color:var(--border-strong)}.sh-crumb__btn.is-current{font-weight:700}.sh-crumb__btn{white-space:nowrap}.sh-crumb__btn code{font-size:12px;white-space:nowrap}.sh-crumb__proj{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:260px}.sh-search{display:inline-flex;align-items:center;gap:10px;width:200px;height:38px;margin-right:8px;padding:0 8px 0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-sunken);color:var(--text-muted);font:500 14px/1 var(--font-sans)}.sh-search:hover{border-color:var(--text-muted)}.sh-search__ph{flex:1;text-align:left}.sh-search kbd{padding:3px 6px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-card);font:600 11px/1 var(--font-sans);color:var(--text-muted)}.sh-orgbtn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 6px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-card);color:var(--text-primary);font:700 14px/1 var(--font-sans)}.sh-orgbtn:hover{background:var(--surface-hover)}.sh-orgbtn.is-open{background:var(--company-bg);border-color:var(--company-fg)}.sh-orgbtn__name{max-width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sh-orgmark{display:inline-flex;flex-shrink:0;border-radius:var(--radius-md);object-fit:contain}.sh-orgmark--mono{align-items:center;justify-content:center;background:var(--company-mark);color:#0a0a0a;font-family:var(--font-sans);font-weight:800}.sh-avatarbtn{display:inline-flex;margin-left:6px;padding:2px;border:2px solid transparent;border-radius:50%;background:transparent}.sh-avatarbtn.is-open,.sh-avatarbtn:hover{border-color:var(--link)}.sh-panel__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}.sh-panel__tabs{padding:0 16px 12px;border-bottom:1px solid var(--border-default)}.sh-panel__foot{padding:12px 16px;border-top:1px solid var(--border-default)}.sh-empty{padding:20px 16px;color:var(--text-muted);text-align:center}.sh-tasks,.sh-notes{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.sh-task{padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.sh-task:last-child{border-bottom:0}.sh-task__title{font:600 14px/19px var(--font-sans)}.sh-task.is-done .sh-task__title{color:var(--text-muted);text-decoration:line-through}.sh-task__meta{display:flex;align-items:center;gap:8px;margin-top:4px}.sh-task__meta code{font-size:12px}.sh-note{position:relative;display:flex;gap:12px;padding:12px 28px 12px 16px;border-bottom:1px solid var(--border-subtle)}.sh-note.is-unread{background:var(--surface-selected)}.sh-note__icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.sh-note__icon--info{background:var(--status-info-bg);color:var(--status-info-fg)}.sh-note__icon--warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.sh-note__icon--crit{background:var(--status-crit-bg);color:var(--status-crit-fg)}.sh-note__icon--good{background:var(--status-good-bg);color:var(--status-good-fg)}.sh-note__body{display:flex;flex-direction:column;gap:2px;min-width:0}.sh-note__title{font:600 14px/19px var(--font-sans)}.sh-note__text{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.sh-note__time{font:var(--type-caption);color:var(--text-muted)}.sh-note__dot{position:absolute;right:14px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--action-primary)}.sh-projlist{display:flex;flex-direction:column}.sh-projlist__search{display:flex;align-items:center;gap:8px;margin:10px;padding:0 12px;height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-core);color:var(--text-muted)}.sh-projlist__search:focus-within{border-color:var(--link)}.sh-projlist__search input{flex:1;border:0;outline:0;background:transparent;font:var(--type-body);color:var(--text-primary)}.sh-projlist__label{padding:4px 14px 6px}.sh-projlist__item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--text-primary);font:500 14px/1.2 var(--font-sans);text-align:left}.sh-projlist__item:hover{background:var(--surface-hover)}.sh-projlist__item[aria-selected=true]{background:var(--surface-selected);font-weight:700}.sh-projlist__item code{font-size:12px}.sh-projlist__item .ui-icon{color:var(--link)}.sh-projlist__name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sh-projlist__none{padding:12px 14px;color:var(--text-muted)}.sh-projlist__all{display:flex;align-items:center;gap:6px;padding:12px 14px;border:0;border-top:1px solid var(--border-default);background:transparent;color:var(--link);font:600 13px/1 var(--font-sans);text-align:left}.sh-company__head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-default)}.sh-company__head>span{display:flex;flex-direction:column;gap:3px}.sh-company__scope{font:700 11px/14px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--company-fg)}.sh-company__list{padding:6px}.sh-company__item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:600 14px/1 var(--font-sans);text-align:left}.sh-company__item:hover,.sh-company__item:focus-visible{background:var(--surface-hover);outline:none}.sh-company__item[aria-current=page]{background:var(--company-bg)}.sh-company__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--company-bg);color:var(--company-fg)}.sh-account__head{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-bottom:1px solid var(--border-default)}.sh-account__head span{font:var(--type-caption);color:var(--text-muted)}.sh-account__group{padding:6px;border-bottom:1px solid var(--border-default)}.sh-account__group:last-child{border-bottom:0}.sh-account__label{padding:8px 10px}.sh-act__filters{display:flex;flex-direction:column;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-default)}.sh-act__chips{display:flex;flex-wrap:wrap;gap:8px}.sh-act__chip{height:34px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-card);color:var(--text-primary);font:600 13px/1 var(--font-sans)}.sh-act__chip[aria-pressed=true]{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text)}.sh-act__day{padding:16px 20px 4px}.sh-act__list{list-style:none;margin:0;padding:0}.sh-act__item{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.sh-act__body{display:flex;flex-direction:column;gap:6px;min-width:0}.sh-act__body p{font:400 14px/20px var(--font-sans)}.sh-act__meta{display:flex;align-items:center;gap:10px;font:var(--type-caption);color:var(--text-muted)}.sh-act__tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-md);background:var(--status-neutral-bg);color:var(--text-secondary);font-weight:700}.sh-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.sh-pill{flex-shrink:0;height:40px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-card);color:var(--text-primary);font:600 14px/1 var(--font-sans)}.sh-pill[aria-selected=true]{background:var(--action-confirm);border-color:var(--action-confirm);color:var(--action-confirm-text)}.sh-phone{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page)}.sh-phone__top{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;gap:8px;height:60px;padding:0 12px 0 16px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.sh-phone__proj{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-core);background:var(--surface-sunken);color:var(--text-primary);font:600 15px/1 var(--font-sans)}.sh-phone__proj span{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sh-phone__proj code{font-size:13px}.sh-phone__main{flex:1;padding-bottom:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom))}.sh-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-topbar);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--sidebar-bg);border-top:1px solid var(--sidebar-border)}.sh-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:var(--sidebar-muted);font:600 11px/1 var(--font-sans)}.sh-tab.is-active{color:#fff}.sh-tab.is-active .ui-icon{color:var(--action-primary)}.sh-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);display:flex;flex-direction:column;justify-content:flex-end}.sh-sheet__scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:var(--surface-overlay)}.sh-sheet__panel{position:relative;max-height:86vh;overflow-y:auto;padding:8px 0 calc(16px + env(safe-area-inset-bottom));background:var(--surface-card);border-radius:16px 16px 0 0;animation:ui-in var(--motion-slow) var(--motion-ease)}.sh-sheet__grab{width:40px;height:4px;margin:4px auto 8px;border-radius:2px;background:var(--border-strong)}.sh-more{display:flex;flex-direction:column;gap:18px;padding:8px 16px}.sh-more h2{display:flex;align-items:center;gap:6px;margin-bottom:8px}.sh-more__company{color:var(--company-fg)}.sh-more__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sh-more__item{min-height:48px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-core);background:var(--surface-sunken);color:var(--text-primary);font:600 14px/1.2 var(--font-sans);text-align:left}.sh-more__item.is-active{border-color:var(--link);background:var(--status-info-bg);color:var(--link)}.pg{display:flex;flex-direction:column;gap:20px;padding:24px 32px 40px;max-width:1760px}.pg-grid{display:grid;gap:20px;align-items:start}.pg-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.pg-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.pg-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-main-aside{grid-template-columns:minmax(0,1fr) 300px}.pg-stretch{align-items:stretch}@media (max-width: 1279px){.pg{padding:20px 24px 32px}.pg-3{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-2-1,.pg-main-aside{grid-template-columns:minmax(0,1fr)}.hide-tablet{display:none}.sh-crumb__proj{max-width:200px}.sh-top{padding-left:16px}}@media (max-width: 719px){.pg{padding:16px 16px 24px;gap:16px}.pg-3,.pg-2{grid-template-columns:minmax(0,1fr)}.pg-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ui-pagehead h1{font-size:24px;line-height:30px}.ui-pagehead__actions{width:100%}.ui-card__head{padding:12px 16px}.ui-card__body:not(.ui-card__body--flush){padding:16px}.ui-btn,.ui-iconbtn{min-height:var(--size-touch-min)}.ui-iconbtn{min-width:var(--size-touch-min)}.ui-input,.ui-select{height:var(--size-control-lg)}.ui-toasts{left:12px;right:12px;bottom:calc(var(--size-bottom-nav) + 12px)}.ui-toast{min-width:0}}.sh-pinned>li{display:flex;align-items:center;gap:2px}.sh-pinned .sh-row{flex:1;min-width:0}.sh-pinned .sh-row__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sh-unpin{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:transparent;color:var(--sidebar-muted)}.sh-unpin:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.sh-content{min-width:0;padding:24px 32px 40px}@media (max-width: 1279px){.sh-content{padding:20px 24px 32px}}@media (max-width: 719px){.sh-content{padding:16px 16px 24px}}.sh-phone__top .pm-name,.sh-phone__top .pm-caret{display:none}.sh-phone__top .pm-trigger{padding:4px}.sh-rail .sh-railbtn:not([aria-label="Expand sidebar"]):last-of-type{border:0}.home-action-center-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 1024px){.home-action-center-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.home-action-center-grid{grid-template-columns:1fr}}.home-action-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none}.home-action-card:hover{transform:translateY(-2px);border-color:var(--link);box-shadow:0 4px 14px -6px #12324a33}.home-action-card.urgency-high{border-left:4px solid #d32f2f}.home-action-card.urgency-medium{border-left:4px solid #f57f17}.home-action-card.urgency-normal{border-left:4px solid #1976d2}.home-action-card-header{display:flex;justify-content:space-between;align-items:center}.home-action-pill{font-size:.68rem;font-family:var(--font-mono);font-weight:700;padding:2px 6px;border-radius:4px;background:var(--surface-sunken);color:var(--link);border:1px solid var(--border-default)}.home-action-pill.kind-timesheet{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.home-action-pill.kind-docket{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.home-action-pill.kind-variation{background:#fff3e0;color:#e65100;border-color:#ffe0b2}.home-action-pill.kind-rfi{background:#f3e5f5;color:#6a1b9a;border-color:#e1bee7}.home-action-urgency{font-size:.7rem;font-weight:600}.home-action-urgency.high{color:#d32f2f}.home-action-urgency.medium{color:#f57f17}.home-action-urgency.normal{color:var(--text-muted)}.home-action-card-title{font-size:.92rem;font-weight:600;color:var(--text-primary);line-height:1.35}.home-action-card-meta{font-size:.8rem;color:var(--text-muted)}.home-action-card-cta{margin-top:auto;padding-top:6px;font-size:.78rem;font-weight:600;color:var(--link)}.home-gantt-preview-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.home-gantt-preview-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken)}.home-gantt-preview-title h4{margin:0;font-size:.96rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.home-gantt-milestone-alert{display:flex;align-items:center;gap:10px;padding:8px 18px;background:#fff8e1;border-bottom:1px solid #ffe082;font-size:.82rem;color:#795548}.alert-pulse{width:8px;height:8px;border-radius:50%;background:#d32f2f;animation:pulse 1.2s infinite}.home-gantt-table{display:flex;flex-direction:column}.home-gantt-header-row,.home-gantt-activity-row{display:grid;grid-template-columns:240px 100px 1fr;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border-default);font-size:.8rem}.home-gantt-header-row{background:var(--surface-sunken);font-weight:600;color:var(--text-muted);font-size:.75rem}.gantt-timeline-header{display:grid;grid-template-columns:repeat(14,1fr);text-align:center}.gantt-day-cell{padding:2px 0}.gantt-day-cell.is-today{color:var(--link);font-weight:700}.gantt-day-cell.is-weekend{opacity:.5}.gantt-col-name{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-act-title{font-weight:500;color:var(--text-primary)}.gantt-crit-dot{width:6px;height:6px;border-radius:50%;background:#bdbdbd}.gantt-crit-dot.critical{background:#d32f2f}.gantt-col-progress{display:flex;align-items:center;gap:6px}.gantt-prog-track{width:45px;height:5px;background:var(--border-default);border-radius:3px;overflow:hidden}.gantt-prog-fill{height:100%;background:#2ea043}.gantt-prog-num{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted)}.gantt-timeline-track{position:relative;height:18px;background:var(--surface-sunken);border-radius:4px}.gantt-bar{position:absolute;top:2px;bottom:2px;border-radius:3px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.gantt-bar.bar-critical{background:#e57373;border:1px solid #d32f2f}.gantt-bar.bar-normal{background:#64b5f6;border:1px solid #1976d2}.gantt-bar-fill{height:100%;background:#0003}.home-tab{display:flex;flex-direction:column;gap:28px;padding-bottom:40px}.home-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.home-header h2{margin:0 0 4px;font-size:1.4rem;font-weight:700;color:var(--link-hover);letter-spacing:-.01em}.home-header p{margin:0;font-size:.9rem;color:var(--text-muted)}.home-section{display:flex;flex-direction:column;gap:14px}.home-section-head{display:flex;justify-content:space-between;align-items:center}.home-section-head h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.home-section-count{font-size:.75rem;font-family:var(--font-mono);background:var(--surface-sunken);color:var(--text-muted);padding:2px 7px;border-radius:12px;border:1px solid var(--border-default)}.home-shortcuts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-shortcut-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;text-align:left}.home-shortcut-card:hover{transform:translateY(-2px);border-color:var(--link);box-shadow:0 4px 14px -6px #12324a33}.home-shortcut-icon{font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--surface-sunken);border:1px solid var(--border-default);flex-shrink:0}.home-shortcut-content{display:flex;flex-direction:column;gap:2px;min-width:0}.home-shortcut-title{font-weight:600;font-size:.95rem;color:var(--link-hover);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-shortcut-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-recents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.home-recent-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:10px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;min-height:100px}.home-recent-card:hover{transform:translateY(-2px);border-color:var(--link);box-shadow:0 4px 12px -6px #12324a33}.home-recent-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.home-recent-name{font-weight:600;font-size:.92rem;color:var(--link-hover);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-recent-badge{font-size:.72rem;padding:2px 6px;border-radius:4px;font-weight:500;white-space:nowrap;flex-shrink:0;text-transform:capitalize}.home-recent-badge.active{background:#dcebdf;color:#2f6b3a;border:1px solid #9cc3a4}.home-recent-badge.tender{background:#fdf3d8;color:#8c6214;border:1px solid #e2cb93}.home-recent-badge.default{background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border-default)}.home-recent-card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--text-muted)}.home-saved-views-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.home-saved-group{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.home-saved-group-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border-default);padding-bottom:6px}.home-saved-presets-list{display:flex;flex-direction:column;gap:6px}.home-preset-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--surface-sunken);border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .1s ease;font-size:.88rem}.home-preset-item:hover{background:var(--surface-card);border-color:var(--link);color:var(--link-hover)}.home-preset-name{font-weight:500;display:flex;align-items:center;gap:6px}.home-preset-meta{font-size:.76rem;color:var(--text-muted);font-family:var(--font-mono)}.home-kpis-grid,.home-kpis-grid-wrapper .dv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.home-kpis-grid-wrapper .dv-card{padding:0;border:none;background:transparent;cursor:default;box-shadow:none}.home-kpis-grid-wrapper .dv-card:hover{transform:none;border-color:transparent;box-shadow:none}.home-kpi-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 3px #0000000a;width:100%;box-sizing:border-box}.home-kpi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.home-kpi-title{font-weight:700;font-size:1rem;color:var(--link-hover)}.home-kpi-num{font-size:.78rem;font-family:var(--font-mono);color:var(--text-muted)}.home-kpi-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-kpi-metric-box{background:var(--surface-sunken);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.home-kpi-metric-label{font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.home-kpi-metric-val{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.home-kpi-metric-sub{font-size:.75rem;color:var(--text-muted)}.home-kpi-progress{height:6px;border-radius:3px;background:var(--border-default);overflow:hidden;margin-top:2px}.home-kpi-progress-bar{height:100%;background:var(--link);border-radius:3px}.home-kpi-progress-bar.good{background:#2f6b3a}.home-kpi-progress-bar.warn{background:#d99b46}.home-kpi-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid var(--border-default);font-size:.8rem}.kpi-skeleton-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:18px;min-height:180px;display:flex;flex-direction:column;gap:16px}.skeleton-shimmer{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-default) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1024px){.home-recents-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.home-shortcuts-grid{grid-template-columns:repeat(2,1fr)}.home-recents-grid,.home-saved-views-grid,.home-kpis-grid{grid-template-columns:1fr}}.pg.ov{padding:0;max-width:none}.ov-prog{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.ov-prog__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.ov-big{font:800 22px/1 var(--font-display)}.ov-prog__axis{display:flex;justify-content:space-between;gap:12px;font:var(--type-caption);color:var(--text-muted)}.ov-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ov-list>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.ov-list>li:last-child{border-bottom:0}.ov-list>li>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}.ov-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.ov-soon .ui-empty{padding-top:12px;padding-bottom:12px}@media (max-width: 719px){.ov .ui-pagehead h1,.ov .ui-pagehead__meta{overflow-wrap:anywhere}.ov-tiles{gap:8px}.ov-prog__axis{flex-direction:column;gap:2px}}.dv-shell{display:flex;flex-direction:column;min-height:0}.dv-toolbar{display:flex;align-items:center;gap:8px;padding:4px 0 12px;flex-wrap:wrap}.dv-toolbar .dv-toolbar-left{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap}.dv-toolbar .dv-toolbar-right{display:flex;align-items:center;gap:8px}.dv-view-switch{display:inline-flex;border:1px solid var(--border-default);border-radius:8px;overflow:hidden;background:var(--surface-card)}.dv-view-switch button{background:transparent;color:var(--text-muted);border:none;border-right:1px solid var(--border-default);border-radius:0;padding:6px 10px;font-size:.78rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:background .12s ease,color .12s ease}.dv-view-switch button:last-child{border-right:none}.dv-view-switch button:hover{background:var(--surface-sunken);color:var(--text-primary)}.dv-view-switch button.active{background:var(--link);color:var(--text-inverse)}.dv-view-switch svg{width:14px;height:14px;display:block}.dv-count{font-size:.82rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.dv-list{position:relative;border:1px solid var(--border-default);border-radius:10px;overflow:hidden;background:var(--surface-card)}.dv-list-viewport{overflow:auto;height:100%;contain:strict;scroll-behavior:smooth}.dv-list-head{position:sticky;top:0;z-index:2;display:grid;align-items:center;background:var(--surface-sunken);border-bottom:1px solid var(--border-default);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.dv-list-head>div{padding:8px 10px;cursor:default;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv-list-head>div:last-child{border-right:none}.dv-list-head .sortable{cursor:pointer}.dv-list-head .sortable:hover{color:var(--text-primary)}.dv-list-head .sort-indicator{margin-left:4px;font-size:.9em;color:var(--link)}.dv-list-body{position:relative}.dv-row{position:absolute;left:0;right:0;display:grid;align-items:center;border-bottom:1px solid var(--border-default);background:var(--surface-card);transition:background .08s ease}.dv-row:hover{background:color-mix(in oklab,var(--surface-sunken) 60%,var(--surface-card))}.dv-row.selected{background:color-mix(in oklab,var(--link) 8%,var(--surface-card))}.dv-row.inactive{opacity:.55}.dv-row>div{padding:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;border-right:1px solid transparent}.dv-row.multiline>div{white-space:normal}.dv-row .num{text-align:right;font-variant-numeric:tabular-nums}.dv-row .center{text-align:center}.dv-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:.9rem}.dv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.dv-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 14px 12px;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease;display:flex;flex-direction:column;gap:8px;position:relative}.dv-card:hover{border-color:var(--link);transform:translateY(-1px);box-shadow:0 3px 10px -6px #12324a40}.dv-card.inactive{opacity:.55}.dv-card-title{font-weight:700;color:var(--link-hover);font-size:.98rem;line-height:1.25}.dv-card-sub{color:var(--text-muted);font-size:.82rem}.dv-card-body{font-size:.85rem;color:var(--text-primary);display:flex;flex-direction:column;gap:4px}.dv-card-body .row{display:flex;justify-content:space-between;gap:8px}.dv-card-body .row .k{color:var(--text-muted);font-size:.78rem}.dv-card-body .row .v{font-variant-numeric:tabular-nums}.dv-card-footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.dv-cal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.dv-cal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken)}.dv-cal-title{font-weight:700;color:var(--link-hover);font-size:1rem}.dv-cal-nav{display:flex;gap:6px}.dv-cal-nav button{padding:4px 10px;font-size:.8rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.dv-cal-nav button:hover{background:var(--surface-card)}.dv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border-default)}.dv-cal-dow{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 8px;border-right:1px solid var(--border-default);background:var(--surface-sunken);font-weight:700}.dv-cal-dow:last-child{border-right:none}.dv-cal-cell{min-height:92px;padding:6px;border-right:1px solid var(--border-default);border-top:1px solid var(--border-default);background:var(--surface-card);display:flex;flex-direction:column;gap:3px;cursor:default;overflow:hidden}.dv-cal-cell:nth-child(7n){border-right:none}.dv-cal-cell.dim{background:color-mix(in oklab,var(--surface-sunken) 40%,var(--surface-card));color:var(--text-muted)}.dv-cal-cell.today{box-shadow:inset 0 0 0 2px var(--link)}.dv-cal-day{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);font-weight:700;margin-bottom:2px;display:flex;justify-content:space-between}.dv-cal-cell.today .dv-cal-day{color:var(--link-hover)}.dv-cal-chip{font-size:.72rem;padding:2px 6px;border-radius:4px;background:color-mix(in oklab,var(--link) 14%,var(--surface-card));color:var(--link-hover);border-left:3px solid var(--link);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s ease}.dv-cal-chip:hover{background:color-mix(in oklab,var(--link) 22%,var(--surface-card))}.dv-cal-more{font-size:.7rem;color:var(--text-muted);font-style:italic;cursor:pointer}.dv-cal-more:hover{color:var(--link)}.dv-ctx{position:fixed;z-index:200;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:4px;min-width:180px;box-shadow:0 10px 28px -12px #12324a59,0 2px 4px #12324a14;font-size:.86rem;animation:dv-ctx-in .08s ease-out}@keyframes dv-ctx-in{0%{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dv-ctx-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:5px;cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none}.dv-ctx-item:hover,.dv-ctx-item.active{background:var(--link);color:var(--text-inverse)}.dv-ctx-item.destructive{color:#b04b3b}.dv-ctx-item.destructive:hover,.dv-ctx-item.destructive.active{background:#b04b3b;color:#fff}.dv-ctx-item.disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.dv-ctx-item.disabled:hover{background:transparent;color:var(--text-muted)}.dv-ctx-item .shortcut{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;opacity:.7}.dv-ctx-sep{height:1px;background:var(--border-default);margin:4px 2px}.dv-chart-wrap{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:14px 16px 18px}.dv-chart-head{margin-bottom:12px}.dv-chart-title{font-weight:700;color:var(--link-hover);font-size:1rem}.dv-chart-sub{color:var(--text-muted);font-size:.82rem}.dv-chart-bars{display:flex;flex-direction:column;gap:8px;padding:4px 2px}.dv-chart-bar-row{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center;padding:4px 0}.dv-chart-bar-row[role=button]{cursor:pointer}.dv-chart-bar-row[role=button]:hover .dv-chart-bar-label{color:var(--link-hover)}.dv-chart-bar-label{font-size:.86rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-chart-bar-track{position:relative;height:22px;background:color-mix(in oklab,var(--surface-sunken) 60%,var(--surface-card));border-radius:4px;overflow:hidden}.dv-chart-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:4px;transition:width .25s ease}.dv-chart-bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:.76rem;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.25);font-weight:700;font-variant-numeric:tabular-nums}.dv-chart{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:20px;min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--text-muted);font-size:.9rem}.dv-weekly{border:1px solid var(--border-default);border-radius:10px;overflow:hidden;background:var(--surface-card);outline:none}.dv-weekly:focus-visible{box-shadow:0 0 0 2px var(--link) inset}.dv-weekly-head,.dv-weekly-row{display:grid;align-items:stretch;border-bottom:1px solid var(--border-default)}.dv-weekly-row:last-child{border-bottom:none}.dv-weekly-head{background:var(--surface-sunken);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.dv-weekly-head>div,.dv-weekly-row>div{padding:8px 10px;border-right:1px solid var(--border-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv-weekly-head>div.center,.dv-weekly-row>div.center{text-align:center}.dv-weekly-head>div.right,.dv-weekly-row>div.right{text-align:right}.dv-weekly-head>div:last-child,.dv-weekly-row>div:last-child{border-right:none}.dv-weekly-row .worker{font-weight:600;color:var(--link-hover)}.dv-weekly-row.totals{background:color-mix(in oklab,var(--surface-sunken) 60%,var(--surface-card));font-variant-numeric:tabular-nums;font-weight:700}.dv-weekly-row .total{font-variant-numeric:tabular-nums;color:var(--text-primary)}.dv-weekly-cell{cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;font-size:.92rem;position:relative;transition:background .1s ease,box-shadow .1s ease}.dv-weekly-cell .unit{font-size:.72rem;color:var(--text-muted);margin-left:2px}.dv-weekly-cell.empty{color:var(--text-muted);background:color-mix(in oklab,var(--surface-sunken) 15%,var(--surface-card))}.dv-weekly-cell.draft{background:color-mix(in oklab,#94590f 8%,var(--surface-card))}.dv-weekly-cell.submitted{background:color-mix(in oklab,var(--link) 12%,var(--surface-card))}.dv-weekly-cell.approved{background:color-mix(in oklab,#6a854a 12%,var(--surface-card))}.dv-weekly-cell.mixed{background:color-mix(in oklab,var(--link) 6%,var(--surface-card))}.dv-weekly-cell.focus{box-shadow:inset 0 0 0 2px var(--link)}.dv-weekly-cell.sel{background:color-mix(in oklab,var(--link) 30%,var(--surface-card));color:var(--link-hover);font-weight:700}.dv-weekly-cell:hover:not(.empty){background:color-mix(in oklab,var(--link) 20%,var(--surface-card))}.weekly-print{display:none}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;color:#111}.topbar,.sidebar-nav,.dv-toolbar,.dv-bulk-bar,.weekly-live>*:not(.weekly-print),.stat-tile,.card>form,.pm-wrap,.dv-preset{display:none!important}.shell{max-width:none;padding:0}.layout{display:block!important}.sh-sidebar,.sh-rail,.sh-top,.sh-tabbar,.sh-phone__top,.sh-skip{display:none!important}.sh-app{display:block!important;background:none}.content,main.content{padding:0!important;margin:0!important}.card{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.weekly-print{display:block!important}}.weekly-print{font-family:Georgia,Iowan Old Style,serif;color:#111;padding:6mm 0 0}.weekly-print-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:4mm;margin-bottom:6mm}.weekly-print-org{font-size:14pt;font-weight:700;letter-spacing:.02em}.weekly-print-sub{font-size:11pt;margin-top:2px;color:#333}.weekly-print-meta{font-size:10pt;line-height:1.7;text-align:right}.weekly-print-meta strong{display:inline-block;min-width:60px}.weekly-print-table{width:100%;border-collapse:collapse;margin-bottom:8mm;font-size:10pt}.weekly-print-table th,.weekly-print-table td{border:1px solid #333;padding:3mm 2mm;text-align:left;vertical-align:top;min-width:18mm}.weekly-print-table th{background:#eee;font-size:9pt;text-transform:uppercase;letter-spacing:.03em}.weekly-print-table td.num{text-align:right;font-variant-numeric:tabular-nums}.weekly-print-table td.total{font-weight:700}.weekly-print-table tr.totals{background:#f5f5f5}.weekly-print-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:10mm;margin:12mm 0 6mm;page-break-inside:avoid}.sig-block{text-align:left}.sig-line{border-top:1px solid #111;height:15mm;margin-bottom:2mm}.sig-label{font-family:system-ui,sans-serif;font-size:9pt;text-transform:uppercase;letter-spacing:.04em;color:#333;font-weight:700}.sig-date{font-family:system-ui,sans-serif;font-size:10pt;margin-top:2mm}.weekly-print-footer{border-top:1px solid #666;padding-top:2mm;font-size:8pt;color:#555;font-style:italic}.dv-preset{display:inline-flex;align-items:center;gap:6px;position:relative}.dv-preset-menu{position:relative}.dv-preset-drop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:4px;min-width:220px;box-shadow:0 10px 28px -12px #12324a47;animation:dv-ctx-in .1s ease-out}.dv-preset-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:5px}.dv-preset-row:hover{background:var(--surface-sunken)}.dv-preset-row button.link{background:transparent;border:none;color:var(--text-primary);font-size:.86rem;cursor:pointer;padding:2px 0;text-align:left}.dv-preset-row button.link.destructive{color:#b04b3b}.dv-preset-row button.link:hover{color:var(--link-hover)}.dv-bulk-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:0 0 10px;background:color-mix(in oklab,var(--link) 14%,var(--surface-card));border:1px solid color-mix(in oklab,var(--link) 30%,var(--border-default));border-radius:8px;animation:dv-ctx-in .15s ease-out}.dv-bulk-bar .dv-bulk-count{font-weight:700;color:var(--link-hover);font-size:.88rem}.dv-bulk-bar .dv-bulk-spacer{flex:1 1 auto}.dv-bulk-bar button{background:var(--surface-card);color:var(--link-hover);border:1px solid var(--border-default);padding:5px 10px;font-size:.82rem}.dv-bulk-bar button:hover{background:var(--surface-sunken)}.dv-bulk-bar button.destructive{color:#b04b3b;border-color:color-mix(in oklab,#b04b3b 30%,var(--border-default))}.dv-bulk-bar button.destructive:hover{background:color-mix(in oklab,#b04b3b 12%,var(--surface-card))}.dv-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border-default);background:var(--surface-card);cursor:pointer;vertical-align:middle;transition:border-color .1s ease,background .1s ease;flex-shrink:0}.dv-check.checked,.dv-check.indeterminate{background:var(--link);border-color:var(--link)}.dv-check.checked:after{content:"";width:5px;height:9px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.dv-check.indeterminate:after{content:"";width:8px;height:2px;background:var(--text-inverse)}.dv-check:hover{border-color:var(--link)}.dv-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12324a38;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;animation:dv-ctx-in .14s ease-out}.dv-palette{width:min(620px,calc(100vw - 32px));background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 30px 80px -20px #12324a66;overflow:hidden;display:flex;flex-direction:column}.dv-palette-input{width:100%;border:none;border-radius:0;padding:14px 16px;font-size:1rem;background:var(--surface-card);margin:0;border-bottom:1px solid var(--border-default);outline:none}.dv-palette-results{max-height:60vh;overflow-y:auto;padding:6px}.dv-palette-group{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 4px;font-weight:700}.dv-palette-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:.9rem}.dv-palette-item.active{background:var(--link);color:var(--text-inverse)}.dv-palette-item .hint{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.dv-palette-item.active .hint{color:var(--text-inverse);opacity:.8}.dv-palette-empty{padding:20px 16px;color:var(--text-muted);text-align:center;font-size:.88rem}.dv-palette-footer{padding:6px 12px;border-top:1px solid var(--border-default);font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono);display:flex;justify-content:space-between}@media (max-width: 720px){.dv-toolbar{flex-direction:column;align-items:stretch}.dv-view-switch{overflow-x:auto}.dv-cal-cell{min-height:60px}}.pg.cm{padding:0;max-width:none;min-width:0}.cm-intro{margin:0 0 12px;color:var(--text-muted)}.cm-pad{padding:16px 20px}.cm-pad:empty{display:none}.cm-pad-x{padding:12px 20px 0}.cm-search{flex:1 1 220px;max-width:320px;min-width:0}.cm-chart-title{margin:0 0 4px;font:600 16px/22px var(--font-sans)}.cm-sub{color:var(--text-muted);font-size:13px}.cm-stages{color:var(--text-muted);font-size:12px;line-height:16px;white-space:normal}.cm-list{margin:4px 0 0;padding-left:18px}.cm-nowrap{white-space:nowrap}.cm-toolbar,.cm-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}.cm-toolbar .ui-field,.cm-form .ui-field{flex:1 1 180px;min-width:0;max-width:100%}.cm-toolbar .cm-field-wide{flex-basis:320px;max-width:460px}.cm-form .cm-field-wide{flex:2 1 260px}.cm-form .ui-input,.cm-form .ui-select,.cm-toolbar .ui-select{width:100%}.cm-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.cm-note{color:var(--text-muted);font-size:12px;line-height:16px}.cm-change{font-weight:600}.cm-change--good{color:var(--status-good-fg)}.cm-change--bad{color:var(--status-crit-fg)}.ui-tablewrap .ui-table tr.cm-void td:not(.ui-table__act){color:var(--text-muted);text-decoration:line-through}.cm-forecast{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cm-forecast__method{display:inline-flex;align-items:center;gap:4px}.cm-report .ui-table td{vertical-align:top}.ui-tablewrap .ui-table tr.cm-selected td{background:var(--surface-selected)}.cm-bars{display:flex;flex-direction:column;gap:12px}.cm-bars__row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:12px;align-items:center}.cm-bars__label{overflow-wrap:anywhere;font-size:13px;color:var(--text-muted)}.cm-bars__tracks{display:flex;flex-direction:column;gap:4px;min-width:0}.cm-bars__track{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}.cm-bars__fill{height:12px;border-radius:3px;flex:0 0 auto}.cm-bars__fill--claimed{background:var(--data-primary)}.cm-bars__fill--certified{background:var(--data-good)}@media (max-width: 719px){.cm .ui-pagehead h1,.cm .ui-pagehead__meta{overflow-wrap:anywhere}.cm .ui-kpi{min-width:0}.cm .ui-kpi__value{white-space:normal;overflow-wrap:break-word;font-size:20px;line-height:26px}.cm .ui-kpi__value .ui-money{white-space:normal;overflow-wrap:break-word}.cm .ui-kpi__value .ui-var{flex-wrap:wrap;white-space:normal;overflow-wrap:break-word}.cm-toolbar .cm-field-wide{max-width:100%}.cm-pad{padding:12px 16px}.cm-pad-x{padding:12px 16px 0}.cm-search{max-width:100%}.cm-bars__row{grid-template-columns:minmax(0,1fr);gap:4px}}.rb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}.rb-toolbar h2{font-size:1rem;margin:0;min-width:13ch}.rb-toolbar select,.rb-toolbar input{width:auto;margin:0}.rb-toolbar input[type=search]{min-width:12ch;max-width:22ch}.rb-seg{display:inline-flex;border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.rb-seg button{border-radius:0;background:var(--surface-card);color:var(--link-hover);padding:7px 12px}.rb-seg button[aria-pressed=true]{background:var(--link);color:var(--text-inverse)}.rb-icon{padding:7px 11px}.rb-checks{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.85rem;color:var(--text-muted);margin-bottom:12px}.rb-checks .rb-spacer{flex:1}.rb-blockcount{color:#8a1c1c;font-weight:700}.rb-banner{background:var(--status-warn-bg);color:var(--status-warn-fg);border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:.88rem}.rb-grid{--rb-days: 7;display:grid;grid-template-columns:minmax(170px,220px) repeat(var(--rb-days),minmax(86px,1fr)) minmax(104px,120px);min-width:880px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;font-size:.84rem}.rb-grid>.rb-head{position:sticky;top:0;z-index:2;background:var(--surface-sunken);padding:8px;font-weight:700;border-bottom:1px solid var(--border-default)}.rb-grid>.rb-head.today{color:var(--link-hover);box-shadow:inset 0 -3px 0 var(--link)}.rb-group{grid-column:1 / -1;padding:6px 8px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-page);border-bottom:1px solid var(--border-default)}.rb-row{display:contents}.rb-name,.rb-week{padding:8px;border-bottom:1px solid var(--border-default)}.rb-name strong{display:block}.rb-name small,.rb-week small{color:var(--text-muted)}.rb-week{font-size:.78rem;line-height:1.5}.rb-lane{grid-column:2 / span var(--rb-days);display:grid;grid-template-columns:repeat(var(--rb-days),1fr);grid-auto-rows:minmax(30px,auto);row-gap:3px;padding:5px 0 3px;border-bottom:1px solid var(--border-default);position:relative;touch-action:pan-y}.rb-lane.drop-target{background:#e7f0f6}.rb-cell{grid-row:1 / -1;border-left:1px dashed var(--border-default);min-height:30px}.rb-cell.off{background:repeating-linear-gradient(135deg,transparent 0 6px,#eef0ea 6px 8px)}.rb-cell.selecting{background:#d7e6f1}.rb-cell.can-create{cursor:cell}.rb-bar{position:relative;z-index:1;margin:0 3px;padding:4px 8px;border-radius:5px;background:#d9e6ef;border:1px solid #9fbad0;color:var(--link-hover);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-size:.8rem;min-height:28px}.rb-bar.draggable{cursor:grab;touch-action:none}.rb-bar.draggable:active{cursor:grabbing}.rb-bar.confirmed{background:#dcebdf;border-color:#9cc3a5;color:#1f5a2b}.rb-bar.assignment{background:repeating-linear-gradient(135deg,#f2e4c9 0,#f2e4c9 6px,#fbf3e3 6px,#fbf3e3 12px);border-color:#d8b77b;color:#6b4208}.rb-bar.not-counted{opacity:.7;font-style:italic}.rb-bar.inverted{background:#fdecea;border:2px dashed #b42318;color:#8a1c1c}.rb-bar.dimmed{opacity:.35}.rb-bar.ghost{border:2px dashed var(--link);background:#204b6c1f;pointer-events:none}.rb-bar.selected,.rb-bar:focus-visible{outline:3px solid var(--link);outline-offset:1px}.rb-lock{margin-right:4px;vertical-align:-1px}.rb-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize}.rb-handle.start{left:0}.rb-handle.end{right:0}.rb-load{grid-column:2 / span var(--rb-days);display:grid;grid-template-columns:repeat(var(--rb-days),1fr);border-bottom:1px solid var(--border-default);font-size:.76rem}.rb-load>*{padding:3px 6px;text-align:center;color:var(--text-muted)}.rb-load .over{background:#fbe3e3;color:#8a1c1c;font-weight:700;border:none;border-radius:0;cursor:pointer}.rb-load .over:hover{background:#f6caca}.rb-namecell{grid-row:span 2}.rb-detail{border:1px solid #e3b2b2;background:#fff6f6;border-radius:8px;padding:10px 14px;margin:12px 0}.rb-detail.booking{border-color:var(--border-default);background:var(--surface-card)}.rb-detail h3{font-size:.95rem;margin:0 0 6px}.rb-detail ul{margin:0 0 8px;padding-left:18px;font-size:.86rem}.rb-actions{display:flex;flex-wrap:wrap;gap:8px}.rb-daynav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.rb-daynav button{min-width:44px}.rb-daynav button[aria-current=date]{background:var(--link-hover);color:var(--text-inverse)}.rb-daylist{display:grid;gap:10px}.rb-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px}.rb-card.blocked{border-color:#e3b2b2}.rb-card header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.rb-card ul{list-style:none;margin:6px 0;padding:0;font-size:.88rem}.rb-card li{padding:2px 0}.rb-alert{color:#8a1c1c;font-weight:700;font-size:.88rem;margin:4px 0}.rb-strip td,.rb-strip th{text-align:center;padding:0}.rb-strip th:first-child,.rb-strip td:first-child{text-align:left;padding:6px 8px;white-space:nowrap}.rb-strip button{width:100%;min-width:44px;min-height:44px;background:none;color:var(--text-primary);font-weight:500;padding:0 4px}.rb-strip button.over{color:#8a1c1c;font-weight:700;background:#fbe3e3}.rb-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e1959;display:flex;align-items:flex-end;justify-content:center;z-index:50}.rb-sheet{background:var(--surface-card);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;border-radius:12px 12px 0 0;padding:16px 18px 20px}@media (min-width: 721px){.rb-sheet-backdrop{align-items:center}.rb-sheet{border-radius:12px}}.rb-sheet h3{margin:0 0 12px;font-size:1.05rem}.rb-sheet .rb-two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.rb-sheet .rb-sheet-error{color:#8a1c1c;font-size:.88rem;margin:0 0 10px}.rb-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;background:var(--text-primary);color:var(--surface-page);border-radius:8px;padding:10px 14px;display:flex;gap:12px;align-items:center;width:max-content;max-width:min(92vw,560px);font-size:.9rem}.rb-toast button{background:var(--surface-page);color:var(--text-primary);padding:6px 12px}.rb-skeleton{height:38px;border-radius:6px;margin-bottom:8px;background:linear-gradient(90deg,var(--surface-sunken),var(--surface-card),var(--surface-sunken))}@media (max-width: 720px){.rb-toolbar button,.rb-toolbar select,.rb-toolbar input,.rb-card button,.rb-detail button,.rb-sheet button,.rb-checks button{min-height:44px}.rb-toolbar input[type=search]{max-width:none;flex:1}.rb-card button{flex:1}.rb-daynav button,.rb-icon{min-height:44px;min-width:44px}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.page-head h2,.page-intro h2{margin:0 0 2px;font-size:1.25rem;color:var(--link-hover)}.page-head p,.page-intro p{margin:0}.back-link{font-size:.85rem;margin-bottom:6px}.portfolio .small,.project-form .small,.governance .small{font-size:.76rem}.success-banner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;background:#dcebdf;color:#2f6b3a;border:1px solid #9cc3a4;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:14px}.success-banner .link{margin-left:auto}.success-banner .warning-text{flex-basis:100%;color:var(--status-warn-fg)}.form-banner{background:#f3d5cf;color:#8f2c20;border:1px solid #d9a197;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:14px}.conflict-reload{margin-left:10px;color:#8f2c20}.due-inputs{display:flex;flex-wrap:wrap;gap:6px}.due-inputs input[type=date]{flex:1 1 9.5em;min-width:0;width:auto}.due-inputs input[type=time]{flex:1 0 7.5em;width:auto}.overdue{color:#8f2c20;font-weight:600}.filter-bar .checkbox-line input{flex:none}.pipeline-table .row-actions{white-space:normal;min-width:140px}.pipeline-table .row-actions .link{display:inline-block;margin:0 10px 3px 0}.pipeline-table .row-actions .link+.link{margin-left:0}.portfolio button:disabled,.project-form button:disabled,.governance button:disabled{opacity:.45;cursor:not-allowed}.portfolio button.link:disabled,.project-form button.link:disabled,.governance button.link:disabled{text-decoration:none}.portfolio button.link.danger,.project-form button.link.danger,.governance button.link.danger{color:#8f2c20}.project-form textarea,.pipeline textarea{width:100%;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;font:inherit;font-size:.95rem;background:var(--surface-card);color:var(--text-primary);resize:vertical}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-bar input,.filter-bar select{margin-bottom:0;width:auto}.filter-bar input{flex:1 1 260px}.table-scroll{overflow-x:auto}.portfolio-table td{vertical-align:top}.thumb{width:52px;height:38px;border-radius:5px;object-fit:cover;display:block;background:var(--surface-sunken)}.thumb.empty{border:1px dashed var(--border-default)}.project-cell{display:flex;gap:8px;align-items:flex-start}.project-name{font-weight:600}.project-number{font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--link);margin-right:8px}.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.badges:empty{display:none}.flag-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0}.inactive-row td{opacity:.6}.project-form{padding-bottom:8px}.form-layout{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:start}.section-nav{position:sticky;top:calc(var(--size-topbar) + 20px);display:flex;flex-direction:column;gap:2px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:8px}.section-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;color:var(--text-primary);text-align:left;font-weight:500;font-size:.85rem;padding:8px 10px;border-radius:6px;border-left:3px solid transparent}.section-nav-item:hover{background:var(--surface-sunken)}.section-nav-item.active{background:var(--surface-sunken);border-left-color:var(--link);font-weight:600;color:var(--link-hover)}.error-count{background:#8f2c20;color:#fff;border-radius:100px;font-size:.68rem;padding:1px 7px}.form-sections{min-width:0;border:none;padding:0;margin:0}.form-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:18px 20px 20px;margin-bottom:16px;scroll-margin-top:16px}.form-section h3{margin:0 0 14px;font-size:1.05rem;color:var(--link-hover)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin-bottom:14px}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-subhead{grid-column:1 / -1;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-top:1px solid var(--surface-sunken);padding-top:12px;margin-top:2px}.field{display:flex;flex-direction:column;min-width:0}.field.span-2{grid-column:span 2}.field.span-3{grid-column:1 / -1}.field label{font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:3px}.field input,.field select,.field textarea{margin-bottom:0}.field-help{font-size:.74rem;color:var(--text-muted);margin-bottom:5px;line-height:1.35}.field-error{font-size:.76rem;color:#8f2c20;margin-top:4px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#b5483a;background:#fdf5f3}.required-mark{color:#b5483a;margin-left:3px}.readonly-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px dashed var(--border-default);border-radius:6px;font-size:.88rem;color:var(--text-muted);min-height:38px}.money-input{display:flex;align-items:stretch;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);overflow:hidden}.field.has-error .money-input{border-color:#b5483a}.money-input>span{display:flex;align-items:center;padding:0 8px;color:var(--text-muted);background:var(--surface-sunken);font-size:.85rem}.money-input input{border:none;border-radius:0;flex:1;min-width:0}.money-input select{border:none;border-left:1px solid var(--border-default);border-radius:0;width:auto;background:var(--surface-sunken)}.money-input .currency-code{font-family:var(--font-mono);font-size:.75rem}.toggle,.checkbox-line{display:inline-flex!important;align-items:center;gap:8px;font-weight:500!important;cursor:pointer;min-height:38px}.toggle input,.checkbox-line input{width:auto;margin:0}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:100px;background:var(--border-default);position:relative;padding:0;border:none;cursor:pointer;transition:background .15s ease}.toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.toggle input:checked{background:var(--link)}.toggle input:checked:after{transform:translate(16px)}.photo-drop{display:flex;align-items:center;gap:16px;border:1px dashed var(--border-default);border-radius:8px;padding:14px;background:#fafbf8}.photo-drop img{width:140px;height:92px;object-fit:cover;border-radius:6px;border:1px solid var(--border-default)}.photo-placeholder{width:140px;height:92px;border-radius:6px;background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.6rem}.remove-photo{margin-left:12px}.map-link{justify-content:flex-end;font-size:.82rem;padding-bottom:10px}.map-link a{color:var(--link)}.form-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;background:#f1f3eef0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--border-default);padding:12px 4px;margin-top:4px;z-index:2}.form-actions .muted{margin-right:auto}@media (max-width: 1000px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 719px){.form-actions{bottom:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom))}}@media (max-width: 720px){.form-layout{grid-template-columns:1fr}.section-nav{position:static;flex-direction:row;overflow-x:auto}.form-grid,.form-grid.two-col{grid-template-columns:1fr}.field.span-2{grid-column:auto}.photo-drop{flex-direction:column;align-items:flex-start}}.gov-layout{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}.gov-nav{position:sticky;top:calc(var(--size-topbar) + 20px);background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:8px}.gov-nav-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:10px 8px 4px}.gov-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;color:var(--text-primary);font-weight:500;font-size:.84rem;text-align:left;padding:7px 8px;border-radius:6px}.gov-nav-item:hover{background:var(--surface-sunken)}.gov-nav-item.active{background:var(--link);color:var(--text-inverse)}.gov-nav-item .count{font-family:var(--font-mono);font-size:.7rem;opacity:.75}.gov-panel{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.panel-head h3{margin:0 0 4px;font-size:1.05rem;color:var(--link-hover)}.panel-head p{margin:0 0 4px;max-width:70ch}.panel-actions{display:flex;gap:8px;flex-shrink:0}.rules-section h4,.plain-fieldset h4,.add-option h4,.office-editor h4{margin:18px 0 8px;font-size:.9rem}.rules-table td{padding:6px 10px 6px 0}.rules-table tr.changed td{background:#fbf6ea}.rule-label{width:45%;font-size:.88rem}.segmented{display:inline-flex;border:1px solid var(--border-default);border-radius:7px;overflow:hidden}.segmented button{background:var(--surface-card);color:var(--text-muted);border-radius:0;padding:5px 12px;font-size:.8rem;font-weight:500;border-right:1px solid var(--border-default)}.segmented button:last-child{border-right:none}.segmented button.on{background:var(--link);color:var(--text-inverse);font-weight:600}.segmented button:disabled:not(.on){background:repeating-linear-gradient(-45deg,var(--surface-card),var(--surface-card) 4px,var(--surface-sunken) 4px,var(--surface-sunken) 8px)}.plain-fieldset{border:none;padding:0;margin:0;min-width:0}.radio-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.radio-card{display:flex!important;gap:10px;align-items:flex-start;border:1px solid var(--border-default);border-radius:8px;padding:12px;cursor:pointer;color:var(--text-primary)!important;font-size:.88rem!important}.radio-card.on{border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link)}.radio-card input{width:auto;margin:2px 0 0}.radio-card>span{display:flex;flex-direction:column;gap:2px}.options-table td{vertical-align:top}.options-table input,.options-table select{margin-bottom:4px}.option-name{display:flex;align-items:center;gap:8px;font-weight:600}.option-name .flag-dot{margin-top:0}.order-cell{white-space:nowrap;width:58px}.icon-button{background:none;color:var(--link);padding:2px 6px;font-size:.9rem}.icon-button:hover{background:var(--surface-sunken)}.row-actions{white-space:nowrap}.row-actions .link+.link{margin-left:10px}.editing-row td{background:#fbf6ea}.description-input{font-size:.82rem}.add-option,.office-editor{border-top:1px solid var(--border-default);margin-top:16px;padding-top:4px}.office-editor{border-top:none;background:#fafbf8;border:1px solid var(--border-default);border-radius:8px;padding:4px 14px 14px;margin:0 0 16px}.editor-actions{display:flex;justify-content:flex-end;gap:8px}.governance input[type=color]{padding:2px;height:36px;width:64px}@media (max-width: 860px){.gov-layout{grid-template-columns:1fr}.gov-nav{position:static}.panel-head{flex-direction:column}}.reconciliation-page{display:flex;flex-direction:column;gap:20px;padding:24px 32px}.reconciliation-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--border-default);padding-bottom:20px}.reconciliation-badge{font-size:.72rem;font-family:var(--font-mono);font-weight:700;color:var(--link);letter-spacing:.05em;margin-bottom:6px}.reconciliation-header h2{margin:0 0 6px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.reconciliation-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-picker-wrap{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600}.recon-date-input{padding:6px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:.88rem}.recon-banner-feedback{padding:12px 16px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;color:#2e7d32;font-size:.9rem;font-weight:500}.recon-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1024px){.recon-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.recon-kpi-grid{grid-template-columns:1fr}}.recon-kpi-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.recon-kpi-label{font-size:.76rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.recon-kpi-val{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.recon-kpi-sub{font-size:.8rem;color:var(--text-muted)}.recon-kpi-card.variance-card.balanced{border-color:#a5d6a7;background:#f1f8e9}.recon-kpi-card.variance-card.balanced .recon-kpi-val{color:#2e7d32}.recon-kpi-card.variance-card.discrepant{border-color:#ffe082;background:#fffde7}.recon-kpi-card.variance-card.discrepant .recon-kpi-val{color:#f57f17}.recon-diary-summary-strip{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px}.recon-diary-icon{font-size:1.5rem}.recon-diary-text{display:flex;flex-direction:column;gap:4px}.recon-diary-header{display:flex;align-items:center;gap:10px;font-size:.92rem}.recon-diary-notes{margin:0;font-size:.82rem;color:var(--text-muted)}.recon-table-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.recon-table-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken);flex-wrap:wrap;gap:12px}.recon-table-title{display:flex;align-items:center;gap:10px}.recon-table-title h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.recon-count-pill{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:12px;background:var(--border-default);color:var(--text-primary)}.recon-filter-pills{display:flex;gap:6px}.recon-table-scroll{overflow-x:auto}.recon-table{width:100%;margin:0;border-collapse:collapse;font-size:.85rem}.recon-table th{background:var(--surface-sunken);padding:10px 16px;font-weight:600;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-default)}.recon-table td{padding:12px 16px;border-bottom:1px solid var(--border-default)}.recon-table tr.row-warning{background:#fffde7}.recon-source-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid transparent;display:inline-block}.recon-source-badge.timesheet-worker{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.recon-source-badge.subcontractor-docket{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.recon-source-badge.daily-log-diary{background:#f3e5f5;color:#6a1b9a;border-color:#e1bee7}.recon-variance-cell{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-muted)}.recon-variance-cell .warning-icon{font-size:1rem}.recon-empty-state{padding:40px;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.recon-table-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--surface-sunken);border-top:1px solid var(--border-default);font-size:.82rem;color:var(--text-muted)}.recon-footer-totals{display:flex;gap:20px;color:var(--text-primary)}.recon-list{margin:8px 0 0;padding-left:18px;font-size:.82rem;max-height:240px;overflow-y:auto}.pm-wrap{display:inline-block;position:relative}.pm-trigger{display:inline-flex;align-items:center;gap:8px;background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;transition:background .12s ease,border-color .12s ease;font-size:.85rem}.pm-trigger:hover{border-color:var(--link);background:var(--surface-sunken)}.pm-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--link);color:var(--text-inverse);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.02em}.pm-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-caret{color:var(--text-muted);font-size:.7rem}.pm-menu{position:fixed;z-index:250;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:6px;min-width:260px;box-shadow:0 20px 40px -18px #0006,0 4px 10px #00000014;animation:dv-ctx-in .1s ease-out;font-size:.88rem;color:var(--text-primary)}.pm-head{padding:8px 10px 4px}.pm-head-name{font-weight:700;color:var(--link-hover)}.pm-head-role{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}.pm-sep{height:1px;background:var(--border-default);margin:6px 2px}.pm-section-title{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 2px;font-weight:700}.pm-theme-row{padding:2px 6px 4px}.pm-item{display:flex;width:100%;align-items:center;gap:8px;padding:7px 10px;border:none;border-radius:5px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.88rem;text-align:left}.pm-item:hover{background:var(--link);color:var(--text-inverse)}.pm-item.destructive{color:#b04b3b}.pm-item.destructive:hover{background:#b04b3b;color:#fff}.pm-item .shortcut{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;opacity:.7}.pm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;display:flex;align-items:center;justify-content:center;padding:20px;animation:dv-ctx-in .14s ease-out}.pm-modal{width:min(540px,100%);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 30px 80px -20px #00000080;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.pm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken)}.pm-modal-title{font-weight:700;color:var(--link-hover)}.pm-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px}.pm-modal-close:hover{color:var(--text-primary);background:var(--surface-card)}.pm-modal-body{padding:16px 18px;overflow-y:auto}.pm-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.pm-field label,.pm-field-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.pm-field input{padding:6px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);color:var(--text-primary);margin:0}@media (max-width: 520px){.pm-name{display:none}}.offline-status-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:500;cursor:pointer;border:1px solid var(--border-default);background:var(--surface-card);transition:all .15s ease;-webkit-user-select:none;user-select:none}.offline-status-indicator:hover{border-color:var(--link)}.offline-status-indicator.online .status-dot{width:7px;height:7px;border-radius:50%;background:#2ea043}.offline-status-indicator.has-queue{background:#fff8e1;border-color:#ffe082;color:#8d6e63}.offline-status-indicator.has-queue .status-dot{width:7px;height:7px;border-radius:50%;background:#f57f17;animation:pulse 1.5s infinite}.offline-status-indicator.offline{background:#ffebee;border-color:#ffcdd2;color:#c62828}.offline-status-indicator.offline .status-dot{width:7px;height:7px;border-radius:50%;background:#d32f2f}.sync-btn-mini{padding:2px 7px;font-size:.72rem;background:var(--link);color:var(--text-inverse);border:none;border-radius:4px;cursor:pointer}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.offline-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.offline-modal-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;width:100%;max-width:580px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 36px #00000038}.offline-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.offline-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:10px}.sync-pill{font-size:.72rem;padding:2px 8px;border-radius:12px;font-weight:600}.sync-pill.online{background:#e8f5e9;color:#2e7d32}.sync-pill.offline{background:#ffebee;color:#c62828}.close-btn{background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted)}.offline-modal-desc{padding:12px 20px 0;margin:0;font-size:.85rem;color:var(--text-muted)}.offline-sync-banner{margin:12px 20px 0;padding:8px 12px;background:#e3f2fd;color:#1565c0;border-radius:6px;font-size:.85rem}.offline-queue-list{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}.offline-queue-empty{padding:30px;text-align:center;color:#2e7d32;font-size:.9rem;background:var(--surface-sunken);border-radius:8px;border:1px dashed var(--border-default)}.queue-item-card{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.queue-item-card.status-failed{border-color:#ffcdd2;background:#fffbfa}.queue-item-header{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;color:var(--link)}.queue-item-summary{font-size:.88rem;color:var(--text-primary)}.queue-item-err{font-size:.75rem;color:#d32f2f}.queue-item-actions{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--text-muted);margin-top:4px}.offline-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--surface-card)}.pwa-offline{padding:10px 16px;background:var(--status-warn-bg);color:var(--status-warn-fg);border-bottom:1px solid var(--border-default);font-size:.9rem;line-height:1.4}.pwa-offline-start{max-width:480px;margin:15vh auto 0;padding:0 16px;color:var(--text-primary)}.pwa-offline-start__retry{min-height:44px;min-width:44px;padding:0 16px}*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans)}.shell{max-width:1280px;margin:0 auto;padding:24px 20px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border-default)}.brand{font-weight:700;font-size:1.2rem;color:var(--link-hover)}.auth-card{max-width:380px;margin:80px auto;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:28px}.auth-card h1{font-size:1.3rem;margin:0 0 6px}.auth-card p{color:var(--text-muted);font-size:.9rem;margin:0 0 20px}input:not(:where([class^=sh-],[class*=" sh-"],[class^=ui-],[class*=" ui-"])):not(:where(.sh-projlist__search input)),select:not(:where([class^=sh-],[class*=" sh-"],[class^=ui-],[class*=" ui-"])){width:100%;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;font-size:.95rem;margin-bottom:12px;background:var(--surface-card);color:var(--text-primary)}label:not(:where([class^=sh-],[class*=" sh-"],[class^=ui-],[class*=" ui-"])){display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}button:not(:where([class^=sh-],[class*=" sh-"],[class^=ui-],[class*=" ui-"])){cursor:pointer;border:none;border-radius:6px;padding:9px 16px;font-size:.9rem;font-weight:600;background:var(--link);color:var(--text-inverse)}button:not(:where([class^=sh-],[class*=" sh-"],[class^=ui-],[class*=" ui-"])):hover{background:var(--link-hover)}button.secondary{background:transparent;color:var(--link-hover);border:1px solid var(--border-default)}button.link{background:none;color:var(--link);padding:0;font-weight:500;text-decoration:underline}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border-default)}.tab{padding:8px 14px;font-size:.88rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--link-hover);border-bottom-color:var(--link)}.layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}@media (max-width: 720px){.layout{grid-template-columns:1fr}.sidebar-nav{max-height:320px}}.sidebar-nav{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:10px 8px;position:sticky;top:20px;overflow-y:auto;max-height:calc(100vh - 40px)}.sidebar-pinned-section{margin-bottom:6px}.content{min-width:0}.project-switcher{width:calc(100% - 16px);margin:0 8px 10px;padding:7px 8px;font-size:.83rem;font-weight:600;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-sunken);color:var(--text-primary)}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:20px;margin-bottom:18px}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 8px 0;border-bottom:1px solid var(--border-default)}td{padding:9px 10px 9px 0;border-bottom:1px solid var(--surface-sunken)}.error{color:#8f2c20;font-size:.85rem;margin-bottom:10px}.muted{color:var(--text-muted);font-size:.85rem}.inline-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.inline-form>div{flex:1;min-width:140px}.inline-form input,.inline-form select{margin-bottom:0}.inline-form textarea{width:100%;max-width:100%;box-sizing:border-box}.badge{display:inline-flex;font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--surface-sunken);color:var(--text-muted)}.badge.accepted,.badge.in_progress,.badge.under_review,.badge.manual{background:var(--status-warn-bg);color:var(--status-warn-fg)}.badge.approved{background:#dcebdf;color:#2f6b3a}.badge.overload{background:#f3d5cf;color:#8f2c20}.load-cell{text-align:center;font-variant-numeric:tabular-nums;font-size:.78rem;padding:7px 4px;min-width:52px;border-left:2px solid var(--surface-card)}.load-cell.light{background:#e6eef4}.load-cell.medium{background:#c3d6e4}.load-cell.full{background:#8fb0c9;color:#0e2536}.load-cell.over{background:#f3d5cf;color:#8f2c20;font-weight:700}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.num.good{color:#2f6b3a}td.num.bad{color:#8f2c20}tfoot td{font-weight:700;border-top:1px solid var(--border-default);border-bottom:none}.warning-banner{background:var(--status-warn-bg);color:var(--status-warn-fg);border:1px solid var(--status-warn-fg);border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:16px}.warning-banner ul{margin:4px 0 0;padding-left:18px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.stat-tile{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:12px 14px}.stat-tile .label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.stat-tile .value{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-tile .value.good{color:#2f6b3a}.stat-tile .value.bad{color:#8f2c20}.stat-tile .sub{font-size:.72rem;color:var(--text-muted);margin-top:2px}.stat-reorder-container{margin-bottom:20px}.stat-reorder-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px;flex-wrap:wrap}.stat-reorder-title-wrap{display:flex;align-items:center;gap:10px}.stat-reorder-title{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.02em}.stat-reorder-hint{font-size:.72rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.drag-icon-preview{font-size:.85rem;opacity:.7}.stat-customized-badge{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;background:var(--status-warn-bg);color:var(--status-warn-fg);padding:1px 6px;border-radius:4px;letter-spacing:.04em;font-weight:600}.stat-reorder-actions{display:flex;align-items:center;gap:8px}.btn-ghost-sm{background:transparent;border:1px solid var(--border-default);color:var(--text-primary);font-size:.72rem;padding:3px 8px;border-radius:5px;cursor:pointer;transition:all .15s ease}.btn-ghost-sm:hover{background:var(--surface-sunken)}.btn-ghost-sm.active{background:var(--link);color:var(--text-inverse);border-color:var(--link)}.sortable-stat-grid{margin-bottom:0}.sortable-stat-tile{position:relative;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.sortable-stat-tile:hover{border-color:var(--link)}.stat-tile-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-tile-top .label{margin-bottom:0;flex:1}.stat-tile-drag-handle{cursor:grab;padding:2px 4px;margin:-2px -4px 0 0;color:var(--text-muted);font-size:.85rem;line-height:1;opacity:.45;border-radius:4px;transition:opacity .15s ease,color .15s ease}.stat-tile-drag-handle:hover,.sortable-stat-tile:hover .stat-tile-drag-handle{opacity:1;color:var(--link)}.stat-tile-drag-handle:active{cursor:grabbing}.stat-tile-ghost{opacity:.35!important;background:var(--surface-sunken)!important;border:2px dashed var(--link)!important}.stat-tile-chosen{box-shadow:0 4px 16px #0000001f;border-color:var(--link)}.stat-tile-dragging{cursor:grabbing!important;opacity:.95;transform:scale(1.02)}.stat-tile-quick-nav{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:4px;border-top:1px solid var(--border-default);opacity:0;transition:opacity .15s ease}.sortable-stat-tile:hover .stat-tile-quick-nav,.sortable-stat-tile:focus-within .stat-tile-quick-nav{opacity:1}.quick-move-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0 4px;font-size:.85rem;line-height:1;border-radius:3px}.quick-move-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--link)}.quick-move-btn:disabled{opacity:.2;cursor:default}.quick-priority-rank{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted)}.stat-config-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:12px 16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000d}.stat-config-title{font-weight:600;font-size:.85rem;margin-bottom:4px}.stat-config-desc{font-size:.75rem;color:var(--text-muted);margin:0 0 10px}.stat-config-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.stat-config-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface-sunken);padding:6px 10px;border-radius:6px;font-size:.8rem}.stat-config-row.disabled{opacity:.5}.stat-config-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1}.stat-config-name{font-weight:500}.stat-config-moves{display:flex;gap:4px}.btn-icon-sm{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);padding:1px 5px;font-size:.65rem;border-radius:3px;cursor:pointer}.btn-icon-sm:hover:not(:disabled){background:var(--surface-card);color:var(--text-primary)}button:disabled{opacity:.55;cursor:not-allowed}.mono{font-family:var(--font-mono);font-size:.8rem}label.check{display:flex;align-items:center;gap:6px;margin:0;padding-bottom:9px;font-size:.85rem;color:var(--text-primary);white-space:nowrap}label.check input{width:auto;margin:0}.tabs button.tab{background:none;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted)}.tabs button.tab:hover{background:none;color:var(--link-hover)}.tabs button.tab.active{color:var(--link-hover);border-bottom-color:var(--link)}.badge.complete{background:#dcebdf;color:#2f6b3a}.revision-head{margin:4px 0 14px}.revision-head h2{margin:0 0 4px;font-size:1.1rem;text-wrap:balance}.programme-table th{white-space:nowrap}.gantt-frame{display:flex;border:1px solid var(--surface-sunken);border-radius:8px;overflow:hidden}.gantt-labels{flex:0 0 auto;border-right:1px solid var(--border-default)}.gantt-timeline{flex:1 1 auto;min-width:0;overflow-x:auto}.selected-row td{background:#eef3f7}.critical-row td:first-child{box-shadow:inset 3px 0 0 var(--status-warn-fg)}.wbs-row td{background:var(--surface-sunken);font-weight:600;font-size:.85rem;padding-top:6px;padding-bottom:6px}.actual-flag{margin-left:4px;font-family:var(--font-mono);font-size:.66rem;font-weight:700;color:var(--text-muted);text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:4px}.site-register h2{margin:0 0 4px;font-size:1.15rem}.site-register h3{margin:0;font-size:1rem}.site-register h4{margin:12px 0 6px;font-size:.9rem}.register-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}.register-head p{margin:0;max-width:62ch}.site-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.site-toolbar button,.button-link{padding:7px 12px;font-size:.85rem}.button-link{display:inline-flex;align-items:center;border-radius:6px;font-weight:600;text-decoration:none;color:var(--link-hover);border:1px solid var(--border-default);background:transparent}.button-link:hover{background:var(--surface-sunken)}button.secondary.pressed{background:var(--surface-sunken);border-color:var(--link)}button.danger{background:#8f2c20;color:#fff}button.danger:hover{background:#6f2016}.filter-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-bottom:12px}.filter-bar>div{min-width:140px}.filter-bar input,.filter-bar select{margin-bottom:0}.preset-group{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:2px}button.chip{padding:4px 10px;font-size:.78rem;font-weight:600;border-radius:100px;background:var(--surface-card);color:var(--text-muted);border:1px solid var(--border-default)}button.chip:hover{background:var(--surface-sunken)}button.chip.on{background:var(--link);border-color:var(--link);color:var(--text-inverse)}.stat-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:12px}.stat-grid.compact .stat-tile{padding:8px 12px}.badge.status-draft{background:var(--surface-sunken);color:var(--text-muted)}.badge.status-submitted{background:var(--status-warn-bg);color:var(--status-warn-fg)}.badge.status-approved{background:#dcebdf;color:#2f6b3a}.badge.status-void{background:#f3d5cf;color:#8f2c20}.notice{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-radius:8px;padding:10px 14px;font-size:.87rem;margin-bottom:12px;border:1px solid}.notice ul{margin:4px 0 0;padding-left:18px}.notice-error{background:#fbeae6;border-color:#e3b4aa;color:#7a2418}.notice-info{background:#e8f0f6;border-color:#bcd0e0;color:var(--link-hover)}.notice-warning{background:var(--status-warn-bg);border-color:#dcc08e;color:var(--status-warn-fg)}.panel{background:var(--surface-card);border:1px solid var(--border-default);border-left:3px solid var(--link);border-radius:10px;padding:14px 16px;margin-bottom:14px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px;margin-bottom:12px}.grid-form .field.wide{grid-column:1 / -1}.field input,.field select{margin-bottom:0}.field .hint{font-size:.72rem;color:var(--text-muted);margin-top:3px}.row-actions{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}td.row-actions{display:table-cell;white-space:nowrap}td.row-actions .link+.link{margin-left:8px}.copy-day{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border-default)}.copy-day>strong{align-self:center;font-size:.87rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.register-table td,.lines-table td,.crew-table td{vertical-align:top}.register-table .select-col{width:28px;padding-right:4px}.register-table .select-col input,.crew-table input[type=checkbox]{width:auto;margin:0}.register-table tr.void-row td{color:var(--text-muted)}.register-table tr.void-row td:not(:last-child):not(.select-col){text-decoration:line-through;text-decoration-color:#8f2c2073}.register-table td.clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.register-table td.empty{padding:18px 10px;text-align:center}.register-table td.time-cell{white-space:nowrap}.cell-sub{display:block;font-size:.75rem;color:var(--text-muted)}.awaiting-other{font-size:.78rem;font-style:italic;color:var(--text-muted)}td.row-actions .awaiting-other{margin-right:8px}@media (min-width: 721px){.register-table td.row-actions,.register-table thead th:last-child{position:sticky;right:0;background:var(--surface-card);box-shadow:-8px 0 8px -8px #1b241f40}.register-table tr.selected-row td.row-actions{background:#eef3f7}}.toolbar-note{font-size:.8rem;color:var(--text-muted)}.record-trail{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.record-trail span{font-size:.72rem;color:var(--text-muted);background:var(--surface-sunken);border-radius:4px;padding:1px 6px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}.detail-grid .panel{margin-bottom:0;border-left-width:1px}.editor .grid-form{margin-bottom:8px}.bulk-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:#e8f0f6;border:1px solid #bcd0e0;border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:.87rem}.bulk-bar button{padding:6px 12px;font-size:.83rem}.reason-prompt{background:var(--status-warn-bg);border:1px solid #dcc08e;border-radius:8px;padding:10px 12px;margin-bottom:10px}.reason-prompt label{color:var(--status-warn-fg);font-weight:600;font-size:.85rem}.reason-prompt input{margin:6px 0 8px}.crew-table input,.crew-table select,.lines-table input,.lines-table select{margin-bottom:0}input.narrow{width:90px}.own-times{display:flex;gap:4px;margin-top:4px}.own-times input{width:auto;max-width:110px}.lines-table select{min-width:110px}.docket-lines{margin-bottom:12px}.history-list{list-style:none;margin:0;padding:0}.history-list>li{padding:7px 0;border-bottom:1px solid var(--surface-sunken);font-size:.87rem}.diff-list{margin:4px 0 0;padding-left:16px;font-size:.78rem;color:var(--text-muted)}.small{font-size:.78rem}.template-list{list-style:none;margin:0 0 12px;padding:0}.template-list>li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--surface-sunken)}.template-save{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.template-save .field{flex:1;min-width:220px}.evidence section{margin-bottom:10px}.attachment-list,.signature-list{list-style:none;margin:0 0 8px;padding:0}.attachment-list>li,.signature-list>li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--surface-sunken);font-size:.87rem}.thumb{width:64px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border-default)}.attach-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.attach-form input{margin-bottom:0;flex:1;min-width:160px}.signature-img{width:160px;height:54px;object-fit:contain;background:#fff;border:1px solid var(--border-default);border-radius:4px}.signature-form{border:1px solid var(--border-default);border-radius:8px;padding:10px;background:var(--surface-card)}.signature-pad{display:block;width:100%;max-width:520px;height:150px;border:1px dashed var(--link);border-radius:6px;background:#fff;touch-action:none;margin-bottom:8px;cursor:crosshair}@media (max-width: 720px){.detail-grid{grid-template-columns:1fr}.register-head{flex-direction:column}.grid-form{grid-template-columns:1fr 1fr}}@media (max-width: 460px){.grid-form{grid-template-columns:1fr}}@media (max-width: 720px){.sidebar-nav{position:static;max-height:320px}}.check-line{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.85rem;color:var(--text-primary)}.check-line input[type=checkbox]{width:auto;margin:0}.register-footer{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:center;margin-top:10px;font-size:.85rem}.day-panel{padding:8px 0}.day-group-title{margin:12px 0 6px;font-size:.95rem;text-transform:none;border-bottom:1px solid #e3e6df;padding-bottom:4px}.day-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;margin-bottom:16px}.day-section h4{margin:0 0 4px;font-size:.9rem}.day-section ul{margin:0;padding-left:18px;font-size:.85rem}.day-section p{margin:0;font-size:.85rem}@media (max-width: 720px){.site-register .table-scroll{overflow-x:visible}.site-register .register-table,.site-register .register-table tbody,.site-register .register-table tr,.site-register .register-table td{display:block;width:auto}.site-register .register-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.site-register .register-table tr{border:1px solid var(--border-default);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--surface-card)}.site-register .register-table td{border:0;padding:3px 0;display:flex;gap:10px;align-items:baseline;justify-content:space-between;text-align:left}.site-register .register-table td[data-label]:before{content:attr(data-label);flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.site-register .register-table td.empty{display:block}.site-register .register-table td.clip{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.site-register .register-table td.select-col,.site-register .register-table td.row-actions{justify-content:flex-start;flex-wrap:wrap;gap:4px 16px}.site-register .register-table td.row-actions{margin-top:4px;border-top:1px dashed var(--border-default);padding-top:4px;white-space:normal}.site-register .register-table .link,.site-register .site-toolbar button,.site-register .register-footer button,.site-register .bulk-bar button{min-height:44px;display:inline-flex;align-items:center}.site-register .register-table input[type=checkbox]{width:22px;height:22px;margin:11px 0}}.field-register .ui-table td{vertical-align:top;padding-top:12px;padding-bottom:8px}.field-register .ui-table td.ui-table__sel,.field-register .ui-table td.ui-table__inplace,.field-register .ui-table tr.ui-table__detail td,.field-register .ui-table tr.ui-table__group td{vertical-align:middle}.field-register .ui-table td.ui-table__act{width:auto;text-align:left}.field-register .ui-table td.ui-table__empty{padding:18px 12px!important;color:var(--text-muted)}.field-register .ui-table td.fr-small{font-size:.8rem}.field-register .ui-table td.ui-table__act .link+.link{margin-left:8px}.field-register .ui-table td.ui-table__act .awaiting-other{margin-right:8px}.field-register .ui-table tr.void-row td{color:var(--text-muted)}.field-register .ui-table tr.void-row td:not(.ui-table__sel):not(.ui-table__act){text-decoration:line-through;text-decoration-color:var(--data-critical)}.field-register .ui-table td.clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-register .ui-table td.clip>.fr-cell{overflow:hidden;text-overflow:ellipsis}.field-register .ui-table td.time-cell{white-space:nowrap}.field-register .ui-table td.is-num{text-align:right}.field-register.fr-wide .ui-table td.ui-table__act{white-space:nowrap}@media (min-width: 720px){.field-register.fr-wide .ui-table td.ui-table__act,.field-register.fr-wide .ui-table th.ui-table__act{position:sticky;right:0;background:var(--surface-card);box-shadow:-8px 0 8px -8px #0e1a2b40}.field-register.fr-wide .ui-table tr.is-selected td.ui-table__act{background:var(--surface-selected)}}@media (max-width: 719px){.field-register.ui-tablewrap.is-cards .ui-table td{align-items:baseline}.field-register.ui-tablewrap.is-cards .ui-table td>.fr-cell{text-align:right;min-width:0;overflow-wrap:anywhere}.field-register.ui-tablewrap.is-cards .ui-table td.clip{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.field-register.ui-tablewrap.is-cards .ui-table td.time-cell{white-space:normal}.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__act{flex-wrap:wrap;justify-content:flex-start;gap:4px 16px;white-space:normal}.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__act .link+.link{margin-left:0}.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__act .link,.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__act button,.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__act a,.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__sel label,.field-register.ui-tablewrap.is-cards .ui-table .fr-cell .link,.field-register.ui-tablewrap.is-cards .ui-table .fr-cell button,.field-register.ui-tablewrap.is-cards .ui-table .fr-cell a{min-height:44px;display:inline-flex;align-items:center}.field-register.ui-tablewrap.is-cards .ui-table td.ui-table__sel{position:static;width:auto;height:auto;justify-content:flex-start}.field-register.ui-tablewrap.is-cards .ui-table input[type=checkbox]{width:22px;height:22px;margin:11px 11px 11px 0}}.line-item-interactive{cursor:context-menu;transition:background .12s ease}.line-item-interactive:hover{background:var(--surface-sunken)!important}.ctx-icon{font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;width:16px}.line-action-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e192673;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:24px 16px;animation:dv-ctx-in .12s ease-out}.line-action-modal{width:min(680px,100%);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 24px 60px -15px #0006,0 4px 12px #00000014;overflow:hidden;display:flex;flex-direction:column;max-height:88vh}.line-action-modal.drilldown-modal{width:min(840px,100%)}.line-action-modal.delete-modal{width:min(480px,100%)}.line-action-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken);gap:12px}.line-action-modal-header.danger-header{background:color-mix(in oklab,#b04b3b 8%,var(--surface-sunken));border-bottom-color:color-mix(in oklab,#b04b3b 25%,var(--border-default))}.line-action-title-group{display:flex;flex-direction:column;gap:4px}.line-action-badge{display:inline-flex;align-items:center;width:fit-content;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:color-mix(in oklab,var(--link) 15%,transparent);color:var(--link-hover);font-weight:700}.line-action-badge.danger{background:color-mix(in oklab,#b04b3b 15%,transparent);color:#b04b3b}.line-action-modal-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.3}.line-action-subtitle{font-size:.8rem;color:var(--text-muted)}.line-action-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.line-action-close-btn:hover{background:var(--surface-card);color:var(--text-primary)}.line-action-modal-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.line-action-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--surface-sunken)}.footer-left-actions{display:flex;gap:8px;margin-right:auto}.line-history-timeline{display:flex;flex-direction:column}.line-history-entry{display:flex;gap:14px;position:relative;padding-bottom:20px}.line-history-entry:last-child{padding-bottom:0}.line-history-marker{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0;padding-top:4px}.line-history-dot{width:10px;height:10px;border-radius:50%;background:var(--link);border:2px solid var(--surface-card);box-shadow:0 0 0 2px var(--link)}.line-history-line{width:2px;flex:1;background:var(--border-default);margin-top:4px}.line-history-content{flex:1;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.line-history-header-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.line-history-entry-title{font-weight:700;font-size:.92rem;color:var(--text-primary)}.line-history-status-badge{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;padding:2px 6px;border-radius:4px;font-weight:600}.line-history-status-badge.good{background:#e6f4ea;color:#137333}.line-history-status-badge.bad{background:#fce8e6;color:#c5221f}.line-history-status-badge.neutral{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary)}.line-history-status-badge.warning{background:#fef7e0;color:#b06000}.line-history-date{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.line-history-author{font-size:.78rem;color:var(--text-muted)}.line-history-notes{font-size:.85rem;padding:6px 10px;background:var(--surface-card);border-left:3px solid var(--link);border-radius:4px;margin-top:2px}.line-history-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:4px}.line-history-metric-tile{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;padding:6px 10px;display:flex;flex-direction:column;gap:2px}.line-history-metric-tile .metric-label{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;color:var(--text-muted)}.line-history-metric-tile .metric-val{font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.line-drilldown-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:14px 20px 0}.line-drilldown-kpi-tile{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.kpi-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.kpi-val{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.kpi-val.good{color:#137333}.kpi-val.bad{color:#c5221f}.kpi-sub{font-size:.72rem;color:var(--text-muted)}.line-drilldown-subnav{display:flex;gap:6px;padding:12px 20px 0;border-bottom:1px solid var(--border-default)}.line-subnav-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 12px;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:4px 4px 0 0;transition:all .15s ease}.line-subnav-btn:hover{color:var(--text-primary);background:var(--surface-sunken)}.line-subnav-btn.active{color:var(--link-hover);border-bottom-color:var(--link);background:color-mix(in oklab,var(--link) 8%,transparent)}.drilldown-section-card{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.section-title{font-weight:700;font-size:.9rem;color:var(--link-hover)}.drilldown-breakdown-table{display:flex;flex-direction:column;gap:8px}.breakdown-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;font-size:.86rem}.breakdown-name{font-weight:600}.breakdown-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-left:auto;margin-right:16px}.breakdown-amount{font-variant-numeric:tabular-nums;font-weight:700}.drilldown-notes-text{margin:0;font-size:.86rem;line-height:1.5;color:var(--text-primary)}.drilldown-data-table{width:100%;border-collapse:collapse;font-size:.84rem}.drilldown-data-table th{text-align:left;padding:8px 10px;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.drilldown-data-table td{padding:8px 10px;border-bottom:1px solid var(--border-default)}.drilldown-data-table tfoot td{border-top:2px solid var(--border-default);border-bottom:none;padding-top:10px}.status-pill{display:inline-block;font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--surface-card);border:1px solid var(--border-default)}.status-pill.approved,.status-pill.executed{background:#e6f4ea;color:#137333}.status-pill.draft{background:var(--surface-sunken);color:var(--text-muted)}.status-pill.void{background:#fce8e6;color:#c5221f}.line-form-field{display:flex;flex-direction:column;gap:4px}.line-form-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.required-star{color:#b04b3b}.line-form-input,.line-form-select{padding:8px 10px;border-radius:6px;border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-primary);font-size:.88rem}.line-form-input:focus,.line-form-select:focus{outline:none;border-color:var(--link)}.line-form-help{font-size:.75rem;color:var(--text-muted)}.line-delete-warning{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-primary)}.btn-primary{background:var(--link);color:var(--text-inverse);border:none;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.86rem;cursor:pointer}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);padding:8px 14px;border-radius:6px;font-size:.86rem;cursor:pointer}.btn-secondary:hover{background:var(--surface-sunken)}.btn-destructive{background:#b04b3b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.86rem;cursor:pointer}.btn-destructive:hover{filter:brightness(1.1)}.btn-ghost-sm{background:transparent;color:var(--link);border:1px solid var(--link);padding:4px 10px;border-radius:4px;font-size:.78rem;cursor:pointer}.btn-ghost-sm:hover{background:color-mix(in oklab,var(--link) 10%,transparent)}.line-action-hint{font-size:.78rem;margin-right:auto}.line-empty-state{padding:24px;text-align:center}.topbar{flex-wrap:wrap;gap:8px 12px}.dl-insp{margin-top:16px}.dl-insp-host{border-top:1px solid var(--border-default);margin-top:16px;padding-top:10px}.dl-insp-host-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}.dl-insp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:8px}.dl-insp-head h4{margin:0}.dl-insp-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.dl-insp-card{border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;background:var(--surface-card);overflow-wrap:anywhere;min-width:0}.dl-insp-card.is-void{background:var(--surface-sunken)}.dl-insp-card.is-void .dl-insp-type{text-decoration:line-through}.dl-insp-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.dl-insp-card-head time{color:var(--text-muted);font-size:.82rem}.dl-insp-result{font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--surface-sunken);color:var(--text-muted)}.dl-insp-result.result-passed{background:#dcebdf;color:#2f6b3a}.dl-insp-result.result-failed{background:#f3d5cf;color:#8f2c20}.dl-insp-result.result-conditional,.dl-insp-result.result-not_ready{background:var(--status-warn-bg);color:var(--status-warn-fg)}.dl-insp-itp{margin:6px 0 0;font-size:.87rem}.dl-insp-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:8px 0;font-size:.87rem}.dl-insp-facts dt{color:var(--text-muted)}.dl-insp-facts dd{margin:0;min-width:0}.dl-insp-follow.is-open{color:var(--status-warn-fg);font-weight:600}.dl-insp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.dl-insp button,.dl-insp input,.dl-insp select,.dl-insp textarea,.dl-insp summary,.dl-insp-host button{min-height:44px}.dl-insp a,.dl-insp button.link,.dl-insp-host button.link{display:inline-flex;align-items:center;min-height:44px}@media (max-width: 720px){.dl-insp-open-link{display:inline-flex;align-items:center;min-height:44px}}.dl-insp textarea{width:100%;min-height:72px;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;font:inherit;background:var(--surface-card);color:var(--text-primary)}.dl-insp-form{border:1px solid var(--border-default);border-left:3px solid var(--link);border-radius:8px;padding:12px;margin-bottom:12px;background:var(--surface-card)}.dl-insp-form h5{margin:0 0 8px;font-size:.95rem}.dl-insp-photos{margin-top:8px;border-top:1px dashed var(--border-default);padding-top:8px}.dl-insp-open summary{display:flex;align-items:center;cursor:pointer;font-weight:600}@media (max-width: 460px){.dl-insp-facts{grid-template-columns:minmax(0,1fr)}.dl-insp-facts dt{margin-top:4px}.dl-insp-actions button,.dl-insp-add{flex:1 1 100%;width:100%}}.prestart button,.prestart input,.prestart select,.prestart textarea,.prestart a.button-link{min-height:44px}.prestart a,.prestart button.link{display:inline-flex;align-items:center;min-height:44px}.prestart .prestart-choices{display:flex;flex-wrap:wrap;gap:6px}.prestart .prestart-answers>div{padding:6px 0;border-bottom:1px solid var(--border-default)}.prestart .prestart-answers dt{font-weight:600}.prestart .prestart-answers dd{margin:2px 0 0;white-space:pre-wrap}.prestart .prestart-attendees{list-style:none;padding:0}.prestart .prestart-attendees li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border-default)}.prestart .prestart-statement{margin:8px 0 12px;padding:10px 12px;border-left:4px solid var(--link-hover);background:var(--surface-sunken);font-size:1.05rem}.prestart .prestart-signon .signature-pad{width:100%;height:220px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.diary-page{min-height:100vh;background:var(--surface-page)}.diary-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 16px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.diary-report{position:relative;min-width:0}.diary-report-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-top:8px}.diary-report-panel .ui-field{flex:1 1 150px}.diary-report-panel a.ui-btn{text-decoration:none}.diary-back{display:inline-flex;align-items:center;gap:4px;font-weight:600;text-decoration:none}.diary-crumb{color:var(--text-muted)}.diary-daynav{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.diary-daynav-day{width:11rem;max-width:100%}.diary-main{max-width:1280px;margin:0 auto;padding:16px}.diary-header{padding:16px var(--space-5);margin-bottom:12px;gap:4px}.diary-header .ui-pagehead h1{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:24px;line-height:1.25}.diary-title{font-size:22px;line-height:1.25;margin:0}.diary-weather{margin:4px 0 0}.diary-k{font:11px/1.3 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:8px}.diary-stoppage{color:var(--status-warn-fg);font-weight:600}.diary-chain{list-style:none;display:flex;flex-wrap:wrap;gap:4px 20px;padding:0;margin:8px 0 0}.diary-banner{margin:8px 0 0}.diary-sync{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;overflow-wrap:anywhere}.diary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.diary-tabs{flex-wrap:wrap;overflow:visible}.diary-tab-count{font-variant-numeric:tabular-nums}.diary-attention{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--status-warn-fg);color:var(--text-inverse);font-size:11px}.diary-sections{margin:8px 0}.diary-sections .ui-tabs{flex-wrap:wrap;overflow:visible}.diary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px;position:sticky;top:0;z-index:2}.diary-tile.ui-kpi{min-width:0;padding:10px 12px;gap:4px;background:var(--surface-card)}.diary-tile-figure{margin:0;display:flex;flex-direction:column;gap:2px}.diary-tile .ui-kpi__value{font-size:20px;font-variant-numeric:tabular-nums}.diary-panel{min-width:0}.diary-start{display:grid;gap:12px;max-width:560px;margin-top:12px}.diary-start .ui-btn{justify-self:start}.diary-reason{display:grid;gap:8px;max-width:560px;margin-top:12px}@media (max-width: 720px){.diary-main{padding:8px}.diary-daynav{margin-left:0}.diary-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:0}.diary-tab{min-height:44px;height:auto;padding:6px 8px;justify-content:center;flex-wrap:wrap;text-align:center;white-space:normal;line-height:1.2;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card)}.diary-tab[aria-selected=true]{border-color:var(--action-primary);box-shadow:inset 0 -3px 0 var(--action-primary)}.diary-strip{grid-template-columns:repeat(2,1fr)}.diary-tile.ui-kpi{padding:6px 10px;gap:2px}.diary-tile .ui-kpi__label,.diary-tile .ui-kpi__sub{font-size:12px;line-height:16px}.diary-tile .ui-kpi__value{font-size:18px}.diary-page button,.diary-page textarea,.diary-page a.button-link,.diary-page a.ui-btn,.diary-page label.ui-btn{min-height:44px}.diary-page .ui-input,.diary-page .ui-select{height:44px}.diary-page input:not([class*=ui-]):not([type=file]),.diary-page select:not([class*=ui-]){min-height:44px}.diary-page .ui-check{min-height:44px;align-items:center}.diary-page a,.diary-page button.link,.dl-open-diary{display:inline-flex;align-items:center;min-height:44px}}.dw-sections{display:grid;gap:16px}.dw-section-head{flex-wrap:wrap;gap:8px}.dw-section-head h3{margin:0}.dw-section-count{color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}.dw-section-state{margin:0;padding:14px var(--space-5)}.dw-section-foot{color:var(--text-muted);font-size:13px}.diary-page .ui-skelrow{overflow:hidden}.dw-register{container-type:inline-size;container-name:dw-register;min-width:0;overflow-x:auto}.dw-register:focus-visible{outline:2px solid var(--link);outline-offset:-2px}.dw-register>.dw-table.ui-tablewrap{overflow:visible}.dw-table .ui-table td{vertical-align:top}.dw-table .ui-table th,.dw-table .ui-table td.is-num{white-space:normal}.dw-table .ui-table td{overflow-wrap:break-word}.dw-table .ui-table td.ui-table__act,.dw-table .ui-table th.ui-table__act{width:1%}.dw-row-actions{display:inline-flex;flex-wrap:wrap;gap:4px}@container dw-register (min-width: 880px){.dw-table .ui-table td.ui-table__act,.dw-table .ui-table th.ui-table__act{position:sticky;right:0;background:var(--surface-card);box-shadow:-8px 0 8px -8px #0e1a2b40}.dw-table .ui-table th.ui-table__act{background:var(--surface-sunken)}}.dw-status-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.dw-table .dw-lock .ui-chip{height:auto;min-height:20px;padding-top:2px;padding-bottom:2px;white-space:normal;line-height:1.25}.dw-table .ui-table tr.dw-void td:not(.ui-table__act){text-decoration:line-through;color:var(--text-muted)}@container dw-register (max-width: 879px){.dw-table.is-cards .ui-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dw-table.is-cards .ui-table,.dw-table.is-cards .ui-table tbody,.dw-table.is-cards .ui-table tr,.dw-table.is-cards .ui-table td{display:block;width:100%}.dw-table.is-cards .ui-table tbody tr{position:relative;padding:12px 16px;border-bottom:1px solid var(--border-default)}.dw-table.is-cards .ui-table td{height:auto;padding:2px 0;border:0;text-align:left!important;white-space:normal;overflow-wrap:anywhere}.dw-table.is-cards .ui-table td:before{content:none}.dw-table.is-cards .ui-table td.dw-title{font-size:16px;font-weight:700;padding-right:96px}.dw-table.is-cards .ui-table td.dw-status{position:absolute;top:12px;right:16px;width:auto}.dw-table.is-cards .ui-table tr.dw-row--locked td.dw-title{padding-right:0}.dw-table.is-cards .ui-table tr.dw-row--locked td.dw-status{position:static;width:100%;padding:4px 0}.dw-table.is-cards .ui-table td.dw-meta{color:var(--text-secondary)}.dw-table.is-cards .ui-table td.dw-figure{display:flex;justify-content:flex-start;gap:8px}.dw-table.is-cards .ui-table td.dw-figure:before{content:attr(data-label) ":";flex-shrink:0;font:600 12px/20px var(--font-sans);color:var(--text-muted)}.dw-table.is-cards .ui-table td.ui-table__act{display:flex;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border-default)}.dw-table.is-cards .ui-table td.ui-table__act .ui-btn{min-height:44px;min-width:44px}}.dw-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0e192673;display:flex;justify-content:flex-end}.dw-sheet{background:var(--surface-card);width:480px;max-width:100%;height:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;box-shadow:-4px 0 16px #1b241f2e}.dw-sheet-head{display:grid;gap:6px;padding:14px 16px;border-bottom:1px solid var(--border-default)}.dw-sheet-head h2{font:800 18px/24px var(--font-display);margin:0}.dw-sheet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px}.dw-sheet-notice{display:grid;gap:8px;margin:12px 16px 0}.dw-sheet-body{padding:12px 16px 0;display:grid;gap:12px;flex:1;min-width:0}.dw-sheet-body fieldset{border:1px solid var(--border-default);border-radius:var(--radius-core);padding:10px 14px 14px;margin:0;display:grid;gap:12px;min-width:0}.dw-sheet-body legend{font:var(--type-label);font-weight:700;padding:0 4px}.dw-field,.dw-field .ui-input,.dw-field .ui-select,.dw-field .ui-textarea-wrap,.dw-field .ui-textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.dw-check{display:grid;gap:4px}.dw-sheet-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 16px;background:var(--surface-card);border-top:1px solid var(--border-default)}.dw-danger{margin-left:auto}@media (max-width: 720px){.dw-sheet{width:100%}.dw-sheet .ui-btn,.dw-section-head .ui-btn{min-height:44px}}.dw-evidence{display:grid;gap:8px;min-width:0}.dw-thumbs{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.dw-thumbs li{display:grid;gap:2px;max-width:120px;font-size:12px;overflow-wrap:anywhere}.dw-thumbs img{width:120px;height:90px;object-fit:cover;border-radius:6px;border:1px solid var(--border-default)}.dw-thumb-pending{border:1px dashed var(--border-default);border-radius:6px;padding:6px}.dw-thumb-refused{border-color:var(--status-crit-fg)}.dw-evidence-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.dw-evidence-add .ui-field{flex:1 1 100%}.dw-file{position:relative;cursor:pointer}.dw-file:focus-within{outline:2px solid var(--link);outline-offset:2px}.dw-file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.dw-small{font-size:13px;margin:0}.badge.invoice-lock{margin-left:6px;background:var(--surface-sunken);color:var(--text-primary);border:1px solid var(--border-default);text-transform:none}.si-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.si-document{position:sticky;top:12px}.si-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:start}.si-line-list{list-style:none;margin:0;padding:0}.si-line{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;margin-bottom:6px;background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);min-height:44px}.si-line.active{border-color:var(--link);box-shadow:inset 3px 0 0 var(--link)}.si-lines input,.si-lines select{min-width:70px;margin-bottom:0}.si-picks{margin-top:12px}@media (max-width: 720px){.si-split,.si-workbench{grid-template-columns:1fr}.si-document{position:static}}@media (max-width: 720px){a.print-link{min-height:44px}}
