@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.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}:root{--bg: #e8f0f4;--surface: #faf7f5;--surface-2: #f2ede9;--field: #fdfcfc;--rail: #172e43;--rail-ink: #c1d2df;--rail-ink-strong: #edf4f8;--rail-active: #315c7b;--rail-line: #64839a;--border: #e1d8d0;--border-strong: #748d81;--text: #11271c;--text-muted: #456354;--brand: #1f4934;--brand-dark: #0c1f15;--brand-soft: #e1efe8;--brand-tint: #bedfcf;--accent: #d1714d;--accent-soft: #f4dfd7;--accent-ink: #a04a2a;--accent-ring: rgba(209, 113, 77, .22);--success: #0e7150;--success-strong: #0b563d;--success-soft: #d5efe3;--success-line: #a9dcc4;--danger: #a63a29;--danger-soft: #fae3de;--danger-line: #f2cec6;--danger-tint: #f6d8d1;--danger-strong: #8d3023;--warn: #92601a;--warn-soft: #f8ead2;--flag-white: #ffffff;--flag-in-saffron: #ff9933;--flag-in-green: #138808;--flag-in-chakra: #000080;--flag-nl-red: #ae1c28;--flag-nl-blue: #21468b;--action: #2d718a;--action-dark: #23596f;--action-soft: #dfedf1;--action-tint: #bdd8e2;--action-line: #4b8194;--neutral-soft: #e6e0db;--step: #a7bac5;--step-hover: #8fa9b8;--step-ink: #294653;--step-on: linear-gradient(180deg, #356f86 0%, #1d5068 100%);--shadow: 0 1px 2px rgba(37, 69, 87, .05), 0 6px 20px rgba(37, 69, 87, .07);--shadow-lift: 0 12px 32px rgba(37, 69, 87, .18);--auth-ink: #12333f;--auth-ink-lift: #265364;--auth-paper: #faf6e9;--auth-on-ink: #f5f8fa;--auth-accent: #a5f3fc;--auth-accent-strong: #5ca6c1;--auth-accent-ink: #316c81;--auth-ink-hover: #0b242d;--auth-action: #1a6c94;--auth-action-hover: #155a7c;--auth-lede: #4b636c;--auth-quiet: #4b636c;--auth-hint: #788a91;--auth-line: #ded5bf;--auth-line-hover: #8d836b;--sans: "Plus Jakarta Sans Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Fraunces Variable", Georgia, "Times New Roman", serif;--tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow: 0 1px 2px rgba(66, 39, 1, .05), 0 6px 20px rgba(66, 39, 1, .07);--shadow-lift: 0 12px 32px rgba(66, 39, 1, .18);--pad-card-y: 28px;--pad-card-x: 32px;--pad-card: var(--pad-card-y) var(--pad-card-x);--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;--brand-font: "Sora Variable", var(--sans)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.55}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.02em}a{color:var(--brand)}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 24px;background:var(--rail);border-bottom:0;color:var(--rail-ink-strong);box-shadow:0 1px 3px #0000001f}.brand{display:flex;align-items:baseline;gap:10px;color:inherit;text-decoration:none;border-radius:8px}.brand:focus-visible{outline:2px solid currentColor;outline-offset:4px}.brand__tag{color:var(--rail-ink);font-size:12px}.topbar__user{display:flex;align-items:center;gap:12px}.topbar__email{color:var(--rail-ink);font-size:13px}.topbar .bell__btn{background:transparent;border-color:var(--rail-line);color:var(--rail-ink)}.topbar .bell__btn:hover{background:var(--rail-active);color:var(--rail-ink-strong)}.topbar .avatar{background:var(--rail-active);border-color:var(--rail-line);color:var(--rail-ink-strong)}.topbar .btn--ghost{border-color:var(--rail-line);color:var(--rail-ink-strong)}.topbar .btn--ghost:hover:not(:disabled){background:var(--rail-active);color:var(--rail-ink-strong)}.role{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.role--admin{background:var(--brand-soft);color:var(--brand-dark)}.role--customer{background:var(--success-soft);color:var(--success)}.body{display:flex;flex:1;align-items:flex-start}.rail{position:sticky;top:0;z-index:50;width:64px;flex-shrink:0;align-self:stretch;padding:16px 0;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--rail);border-right:0}.rail__link{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--rail-ink);text-decoration:none;transition:background .15s ease,color .15s ease}.rail__link svg{width:21px;height:21px}.rail__link:hover{background:var(--rail-active);color:var(--rail-ink-strong)}.rail__link .rail__colour{width:24px;height:24px}.rail__gaps{stroke:var(--rail);stroke-width:1.6;stroke-linejoin:round}.rail__link:hover .rail__gaps,.rail__link.active .rail__gaps{stroke:var(--rail-active)}.rail__divider{background:var(--rail-line)}.rail__link.active{background:var(--rail-active);color:var(--rail-ink-strong);box-shadow:inset 0 0 0 1px var(--rail-line)}.rail__divider{width:26px;height:1px;margin:6px 0;background:var(--border)}.rail__tip{position:absolute;left:calc(100% + 8px);z-index:70;padding:4px 9px;border-radius:6px;background:var(--rail-ink-strong);color:var(--rail);font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.rail__link:hover .rail__tip,.rail__link:focus-visible .rail__tip{opacity:1}.rail--intro .rail__link,.rail--intro .rail__divider{animation:rail-drop .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * 55ms)}.rail--intro .rail__gaps{transform-box:view-box;transform-origin:12px 12px;animation:rail-rock .9s ease-in-out 1.15s}.rail--intro .rail__sway{transform-box:view-box;transform-origin:12px 21.5px;animation:rail-sway 1.1s ease-in-out 1.15s}.rail--intro .rail__card{transform-box:fill-box;transform-origin:center;animation:rail-light .32s ease-out backwards;animation-delay:calc(1.15s + var(--n) * 90ms)}@keyframes rail-drop{0%{opacity:0;transform:translateY(-28px)}70%{opacity:1;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes rail-rock{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}60%{transform:rotate(-15deg)}85%{transform:rotate(5deg)}}@keyframes rail-sway{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}45%{transform:rotate(10deg)}65%{transform:rotate(-6deg)}82%{transform:rotate(3deg)}}@keyframes rail-light{0%{opacity:.25;transform:scale(.55)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.rail--intro .rail__link,.rail--intro .rail__divider,.rail--intro .rail__gaps,.rail--intro .rail__sway,.rail--intro .rail__card{animation:none}}.topbar__code{padding:2px 8px;border-radius:6px;background:var(--rail-active);border:1px solid var(--rail-line);color:var(--rail-ink-strong);font-size:12px;font-weight:600}.stepper{display:flex;align-items:stretch;gap:3px;overflow-x:auto;padding-bottom:2px}.stepper__sep{display:grid;place-items:center;padding:0 4px;color:var(--text-muted);font-size:15px;flex-shrink:0}.stepper__step{flex:1 1 0;min-width:130px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 22px 11px 30px;background:var(--step);color:var(--step-ink);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,15px 50%)}.stepper__step--first{padding-left:22px;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);border-radius:var(--radius) 0 0 var(--radius)}a.stepper__step:hover{background:var(--step-hover);color:var(--text)}.stepper__step.is-active{background:var(--step-on);color:#fff}.stepper__step.is-disabled{opacity:.55;cursor:not-allowed}.stepper__label{overflow:hidden;text-overflow:ellipsis}.stepper__count{min-width:20px;padding:0 6px;border-radius:999px;background:#1a1c191f;font-size:11px;font-weight:700}.stepper__step.is-active .stepper__count{background:#ffffff40}.content{flex:1;min-width:0;padding:32px 32px 64px;max-width:1440px}.content>*{position:relative;animation:page-rise .5s cubic-bezier(.2,.7,.2,1) both}.content>*:has(.combo__list){z-index:20}@keyframes page-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.content>*{animation:none}}.page-head{margin-bottom:22px}.page-head h1{font-family:var(--display);font-weight:500;font-size:30px;font-optical-sizing:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-head p{margin:6px 0 0;color:var(--text-muted);max-width:80ch}.backlink{display:inline-block;margin-bottom:8px;font-size:13px;text-decoration:none}.backlink:hover{text-decoration:underline}.callout{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--pad-card)}.card.mt,.mt{margin-top:18px}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.card__title{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:-.01em}.card__icon{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink)}.card__icon svg{width:17px;height:17px}.card__subtitle{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.card__actions{display:flex;gap:8px;align-items:center}.prose{margin:0;max-width:80ch;color:var(--text-muted)}.grid{display:grid;gap:14px;margin-bottom:14px}.grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.field__req{color:var(--danger);font-style:normal}.field__hint,.field__error{font-size:12px}.field__hint{color:var(--text-muted)}.field__error{color:var(--danger);font-weight:500}input,select,textarea{width:100%;height:44px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--field);color:var(--text);font:inherit;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}textarea{height:auto;padding:12px 14px;line-height:1.55}input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--action)}input[type=checkbox]:hover,input[type=radio]:hover{border:0}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none;border-color:transparent}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,input[readonly]{background:transparent;border-style:dashed;color:var(--text-muted)}input:disabled:hover,input[readonly]:hover{border-color:var(--border)}input[type=file]{padding:6px}.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.pager__count{margin:0;font-size:13px;color:var(--text-muted)}.pager__controls{display:flex;align-items:center;gap:8px}.pager__size{display:flex;align-items:center;gap:8px;margin-right:4px;font-size:13px;color:var(--text-muted);white-space:nowrap}.pager__size select{width:auto;height:36px;padding:0 8px;font-size:13px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-bar__customer{width:300px;max-width:100%}.filter-bar__project{width:260px;max-width:100%}.filter-bar__search{width:240px;max-width:100%}.filter-bar__search--wide{width:320px}.filter-count{margin:10px 0 0;font-size:12px;color:var(--text-muted)}.combo{position:relative;min-width:0}.combo__input{padding-left:30px;padding-right:54px;text-overflow:ellipsis}.combo__icon{position:absolute;top:50%;left:10px;width:14px;height:14px;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.combo.has-value .combo__input{background:var(--brand-soft);border-color:var(--brand);font-weight:600}.combo__input[aria-invalid=true]{border-color:var(--danger)}.combo__buttons{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:flex;gap:2px}.combo__btn{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:17px;line-height:1;cursor:pointer}.combo__btn--chevron{font-size:12px}.combo__btn--clear{color:var(--text);font-size:19px}.combo__btn:hover{background:var(--neutral-soft);color:var(--text)}.combo__list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;min-width:260px;max-height:316px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 10px #0000000a,0 16px 36px #0000001f;transform-origin:top center;animation:combo-open .15s cubic-bezier(.22,1,.36,1)}@keyframes combo-open{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.combo__list{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.combo__list::-webkit-scrollbar{width:10px}.combo__list::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:var(--border-strong);background-clip:content-box}.combo__option{display:flex;align-items:center;gap:0;min-height:38px;padding:8px 10px;border-radius:9px;cursor:pointer;transition:background .12s ease,color .12s ease}.combo__label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.combo__option.is-active{background:var(--brand-soft);color:var(--brand-dark)}.combo__option[aria-selected=true]{font-weight:600}.combo__option:after{content:"";width:14px;margin-left:12px;margin-inline-start:auto;flex:0 0 auto;opacity:0;background:currentColor;mask:var(--tick) center / 14px 14px no-repeat;-webkit-mask:var(--tick) center / 14px 14px no-repeat;align-self:stretch}.combo__option[aria-selected=true]:after{opacity:1}.combo__option--empty{color:var(--text-muted)}.combo__none{padding:8px 9px;font-size:12px;color:var(--text-muted)}@media(max-width:860px){.card__actions,.filter-bar,.filter-bar__customer,.filter-bar__project,.filter-bar__search,.filter-bar__search--wide{width:100%}}.sample-form__actions{display:flex;gap:8px;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;border:1px solid transparent;border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap}.btn--sm{height:36px;padding:0 16px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--action);color:#fff}.btn--primary:hover:not(:disabled){background:var(--action-dark)}.btn--subtle{background:var(--action-soft);color:var(--action-dark);border-color:var(--action-tint)}.btn--subtle:hover{background:var(--brand-tint)}.btn--ghost{background:transparent;color:var(--action-dark);border-color:var(--action-line)}.btn--ghost:hover:not(:disabled){background:var(--action-soft);color:var(--action-dark);border-color:var(--action)}.btn--sm{padding:5px 10px;font-size:12px}.linkbtn{padding:0;border:0;background:none;color:var(--action);font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column}.linkbtn:hover:not(:disabled){text-decoration:underline}.linkbtn:disabled{opacity:.6;cursor:progress}.table td.nowrap{white-space:nowrap}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.table{width:100%;border-collapse:collapse;font-size:14px}.card>.table-wrap:last-child{margin:0 calc(var(--pad-card-x) * -1) calc(var(--pad-card-y) * -1);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.card>.table-wrap:last-child .table tbody tr:last-child td{border-bottom:0}.table th{text-align:left;padding:12px 16px;background:var(--brand-soft);border-bottom:1px solid var(--brand-tint);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-dark);white-space:nowrap}.card>.table-wrap:not(:last-child) .table thead tr:first-child th:first-child{border-top-left-radius:10px}.card>.table-wrap:not(:last-child) .table thead tr:first-child th:last-child{border-top-right-radius:10px}.table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.mono{font-family:var(--mono)}.strong{font-weight:600}.muted{color:var(--text-muted)}.nowrap{white-space:nowrap}.ta-right,.table th.ta-right{text-align:right}.table th.ta-right:has(+th:not(.ta-right)),.table td.ta-right:has(+td:not(.ta-right)){padding-right:32px}.th-sort{position:relative;display:inline-flex;align-items:center;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.th-sort__arrow{position:absolute;left:100%;margin-left:4px;font-size:9px;opacity:.35}.th-sort:hover .th-sort__arrow,.th-sort--active .th-sort__arrow{opacity:1}.th-sort:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}.table__link{color:inherit;text-decoration:underline;text-decoration-color:var(--brand-tint);text-underline-offset:3px}.table__link:hover{color:var(--brand);text-decoration-color:currentColor}.cell-action{display:block;margin-top:4px;padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cell-action:hover{color:var(--brand)}.cell-action:disabled{opacity:.5;cursor:default}.table tr.is-open>td{background:var(--brand-soft)}.ta-right .btn+.btn,.ta-right .btn+a{margin-left:6px}.ta-center,.table th.ta-center{text-align:center}.ta-center .btn+.btn,.ta-center .btn+a,.ta-left .btn+.btn{margin-left:6px}.notes-btn{min-width:96px}.cell-sub{display:block;font-size:11px;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:capitalize}.badge:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor}.badge--active{background:var(--success-soft);color:var(--success)}.badge--inactive{background:var(--warn-soft);color:var(--warn)}.badge--received{background:var(--success-soft);color:var(--success)}.badge--pending{background:var(--neutral-soft);color:var(--text-muted)}.badge--stage-ready{background:var(--brand-soft);color:var(--brand-dark)}.badge--stage-in_progress{background:var(--warn-soft);color:var(--warn)}.badge--stage-passed{background:var(--success-soft);color:var(--success)}.badge--stage-failed{background:var(--danger-soft);color:var(--danger)}.badge--stage-idle{background:var(--neutral-soft);color:var(--text-muted)}.btn--pass{background:var(--success);color:#fff;border-color:var(--success)}.btn--pass:hover:not(:disabled){background:var(--success-strong);border-color:var(--success-strong)}.btn--danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.btn--danger:hover:not(:disabled){background:var(--danger-tint)}.table tbody tr.subrow td{background:var(--surface-2);padding:12px 14px}.table tbody tr.subrow:hover td{background:var(--surface-2)}.undo{display:flex;flex-direction:column;gap:8px}.undo__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.undo__label{font-size:12px;font-weight:600;color:var(--text-muted)}.undo__note{max-width:460px;font-size:12px}.check-col{width:36px}.check-col input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--brand);cursor:pointer}.table tbody tr.is-selected,.table tbody tr.is-selected:hover{background:var(--brand-soft)}.bulkbar{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--action-tint);border-radius:8px;background:var(--action-soft)}.bulkbar__row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bulkbar__count{margin-right:6px;font-size:13px;font-weight:700;color:var(--action-dark)}.bulk-skipped{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--warn-soft);border-radius:8px;background:var(--warn-soft);color:var(--warn);font-size:12px}.bulk-skipped ul{margin:0;padding-left:18px;color:var(--text)}.mark{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px;vertical-align:1px}.mark--qcfail{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger)}.progress-list{margin:0;padding-left:18px;font-size:12px}.fail-form__lead{margin:0;max-width:70ch;font-size:13px;color:var(--text)}.history__item--moved_on::marker{color:var(--warn)}.history{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:7px;font-size:12px}.history__item{display:flex;flex-direction:column}.history__item--revert::marker,.history__item--cleared::marker{color:var(--danger)}.history__who{color:var(--text-muted);font-size:11px}.danger-zone{display:flex;flex-direction:column;gap:9px;padding:12px 14px;border:1px solid var(--danger-line);border-radius:8px;background:var(--danger-soft)}.danger-zone__lead{margin:0;font-size:13px;color:var(--danger)}.danger-zone__losing{margin:0;font-size:12px;color:var(--danger);opacity:.85}.danger-zone__field{display:flex;flex-direction:column;gap:5px;max-width:380px;font-size:12px;color:var(--text)}.danger-zone__field code{padding:1px 5px;border-radius:4px;background:var(--surface);border:1px solid var(--danger-line);font-family:var(--mono);font-weight:600}.danger-zone__field input{border-color:var(--danger-line);background:var(--surface)}.danger-zone__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger-zone__actions .btn--danger{background:var(--danger);color:var(--surface);border-color:var(--danger)}.danger-zone__actions .btn--danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}.danger-zone__hint{font-size:11px;color:var(--danger);opacity:.85}.undo__actions{display:flex;align-items:center;gap:8px}.undo__choice{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:12px;cursor:pointer}.undo__choice.is-chosen{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.undo__choice input{width:13px;height:13px;margin:0;accent-color:var(--brand)}.undo__effect{margin:0;font-size:12px;color:var(--text-muted)}.undo__warn{color:var(--danger)}.undo__hint{font-size:11px;color:var(--text-muted)}textarea.undo__note{width:100%;max-width:520px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;resize:vertical}textarea.undo__note:focus{outline:2px solid var(--brand);outline-offset:1px}.arrived{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.arrived input{width:15px;height:15px;margin:0;accent-color:var(--brand);cursor:pointer}.arrived.is-locked{cursor:not-allowed;opacity:.55}.arrived.is-locked input:disabled{cursor:not-allowed}.arrived input:disabled{cursor:progress}.arrived .cell-sub{flex-basis:100%;max-width:150px;white-space:normal}.table tbody tr.is-highlighted{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.bell{position:relative}.bell__btn{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--field);color:var(--text-muted);line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.bell__btn:hover{background:var(--surface-2);color:var(--text)}.bell__icon{width:18px;height:18px}.bell__count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700}.bell__panel{color:var(--text);position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(340px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lift)}.bell__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.bell__empty{margin:0;padding:22px 14px;text-align:center;color:var(--text-muted);font-size:13px}.bell__list{margin:0;padding:0;list-style:none}.bell__list li+li{border-top:1px solid var(--border)}.bell__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 14px;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.bell__item:hover{background:var(--surface-2)}.bell__item.is-unread{background:var(--brand-soft)}.bell__item.is-unread:hover{background:var(--brand-tint)}.bell__item.is-unread .bell__item-msg{font-weight:600}.bell__item-msg{font-size:13px;color:var(--text)}.bell__item-meta{font-size:11px;color:var(--text-muted)}.empty{margin:0;padding:26px;text-align:center;color:var(--text-muted);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:8px}.errorbox{margin:0 0 12px;padding:10px 12px;background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:8px;color:var(--danger)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:max(360px,55vh);padding:26px;text-align:center;color:var(--text-muted);animation:prep-in .25s ease .2s both}.card .loading,.modal .loading,dialog .loading,[role=dialog] .loading{min-height:180px}.loading__title{margin:0;font-size:15px;font-weight:600;color:var(--text-muted)}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}.stepper__step{transition:none}}textarea{resize:vertical}.flag{width:21px;height:14px;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px var(--border)}.flag__white{fill:var(--flag-white)}.flag__in-saffron{fill:var(--flag-in-saffron)}.flag__in-green{fill:var(--flag-in-green)}.flag__in-chakra{fill:none;stroke:var(--flag-in-chakra);stroke-width:.9}.flag__in-hub{fill:var(--flag-in-chakra)}.flag__nl-red{fill:var(--flag-nl-red)}.flag__nl-blue{fill:var(--flag-nl-blue)}.billing{display:inline-flex;align-items:center;gap:8px;font-family:inherit}.readonly__value .billing{font-family:var(--sans)}.listselect{position:relative;min-width:0}.listselect__box{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.listselect__box:focus{outline:2px solid var(--brand);outline-offset:1px}.listselect__chevron{width:12px;height:12px;flex-shrink:0;color:var(--text)}.listselect .combo__list{min-width:0}.project-description{margin-top:14px}.project-sops{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.project-sops__title{font-size:1rem}.project-sops__table .project-sops__batch{border-right:1px solid var(--border);font-weight:600}.table.project-sops__table tbody tr,.table.project-sops__table tbody tr td,.table.project-sops__table tbody tr:hover,.table.project-sops__table tbody tr:hover td{background:transparent}.table.project-sops__table tbody tr td,.table.project-sops__table tbody tr:last-child td{border-bottom:1px solid var(--border)}.table.project-sops__table tbody:last-child tr:last-child td{border-bottom:0}.project-description p{margin:0;max-width:90ch;white-space:pre-wrap;word-break:break-word;font-weight:600}.readonly{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.readonly__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.readonly__edit{margin-left:8px;padding:0;border:0;background:none;color:var(--action);font:inherit;text-transform:none;letter-spacing:0;cursor:pointer}.readonly__edit:hover{text-decoration:underline}.readonly__actions{display:flex;gap:6px;margin-top:6px}.readonly__value{font-family:var(--mono);font-size:15px;font-weight:600;word-break:break-word}.callout--success{border-color:var(--success-line);background:var(--success-soft)}.callout__note{margin:10px 0 0;font-size:13px;color:var(--success)}.steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.step{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.step__num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);font-weight:700;font-size:12px}.step__title{font-size:15px}.step__body{margin:0;flex:1;color:var(--text-muted)}.welcome-first{max-width:720px;padding:28px 30px}.welcome-first__title{font-family:var(--display);font-weight:500;font-size:22px}.welcome-first__body{margin:8px 0 22px;color:var(--text-muted);max-width:60ch}.how-track{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0;padding:0;list-style:none}.how-track__step{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px}.how-track__dot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border-strong);font-size:12px;font-weight:700}.how-track__step.is-done .how-track__dot,.how-track__step.is-current .how-track__dot{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.how-track__step.is-current{color:var(--text);font-weight:600}.welcome-how{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:26px;padding-top:18px;border-top:1px solid var(--border)}.welcome-how__label{color:var(--accent-ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.project-tile-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-tile:nth-child(6n+1){--leaf: #a6e36f}.project-tile:nth-child(6n+2){--leaf: #4fc490}.project-tile:nth-child(6n+3){--leaf: #cde27a}.project-tile:nth-child(6n+4){--leaf: #5fb8a0}.project-tile:nth-child(6n+5){--leaf: #93d67e}.project-tile:nth-child(6n+6){--leaf: #3fae7a}.project-tile{--leaf: #a6e36f;display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:linear-gradient(150deg,color-mix(in srgb,var(--leaf) 26%,var(--surface)),color-mix(in srgb,var(--leaf) 9%,var(--surface)) 70%);border:1px solid color-mix(in srgb,var(--leaf) 30%,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s}.project-tile:hover{border-color:color-mix(in srgb,var(--leaf) 60%,var(--border));box-shadow:var(--shadow-lift);transform:translateY(-2px)}.project-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-tile__name{font-size:17px;font-weight:600}.project-tile__codes{color:var(--text-muted);font-size:13px}.project-tile__stages{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tile-stage{--dot: #c2bbb0;display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border:1px solid color-mix(in srgb,var(--dot) 35%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--dot) 14%,rgb(255 255 255 / .72));color:var(--text);font-size:12.5px;white-space:nowrap}.tile-stage:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot)}.tile-stage b{font-weight:700}.tile-stage--qc{--dot: #6aa8e0}.tile-stage--sequencing{--dot: #ee9a72}.tile-stage--bioinformatics{--dot: #9a8ee0}.tile-stage--final_report{--dot: #e9b949}.tile-stage--done{--dot: #2f9a62}.tile-stage--stopped{--dot: #df8585}.project-tile__counts{color:var(--text-muted);font-size:13px}.project-tile__state{align-self:flex-start;margin-top:8px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.project-tile__state--active{background:var(--brand-soft);color:var(--brand-dark)}.project-tile__state--done{background:var(--success-soft);color:var(--success)}.project-tile__state--waiting{background:var(--warn-soft);color:var(--warn)}.project-tile__state--muted{background:var(--surface-2);color:var(--text-muted)}.project-tile__cta{margin-top:4px;color:var(--brand);font-weight:600;font-size:14px}.stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{display:flex;flex-direction:column;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat__value{font-size:26px;font-weight:700;line-height:1.1}.stat__label{font-size:12px;color:var(--text-muted)}.accordion{padding:0;overflow:hidden}.accordion__head{display:flex;align-items:center;gap:12px;width:100%;padding:16px 24px;border:0;border-bottom:1px solid var(--brand-tint);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--brand-soft);color:var(--brand-dark);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.accordion__head:hover{background:var(--brand-tint)}.accordion__head:last-child{border-bottom:0;border-radius:var(--radius-lg)}.accordion__chevron{color:var(--text-muted);transition:transform .15s ease}.accordion__chevron.is-open{transform:rotate(90deg)}.accordion__title{flex:1;min-width:0;font-size:16px;font-weight:600}.accordion__title .cell-sub{color:var(--brand-dark);opacity:.75}.accordion__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--brand-dark);opacity:.85}.accordion__body{padding:24px}#root:has(>.auth){box-sizing:border-box}.auth{box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,41.6fr) minmax(0,58.4fr);min-height:100%;overflow:hidden;background:var(--auth-paper)}.auth__form-panel{display:grid;place-items:center;padding:40px 48px}.auth--solo{grid-template-columns:minmax(0,1fr)}@media(max-height:720px){.auth__showcase{gap:18px;padding:26px 30px 20px}.auth__form-panel{padding:26px 40px}}.auth__form{width:100%;max-width:414px}.auth__eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--auth-accent-ink)}.auth__title{margin:0;font-size:38px;font-weight:700;letter-spacing:-.02em;color:var(--auth-ink)}.auth__lede{margin:8px 0 42px;font-family:var(--display);font-size:17px;font-style:italic;line-height:1.5;color:var(--auth-lede)}.auth__field{display:block;margin-bottom:26px}.auth__label{display:block;margin-bottom:7px;font-size:13px;font-weight:600;color:var(--auth-ink)}.auth input{width:100%;min-height:54px;padding:12px 14px;border:1px solid var(--auth-line);border-radius:10px;background:#fff;color:var(--auth-ink)}.auth input::placeholder{color:var(--auth-hint)}.auth input:hover{border-color:var(--auth-line-hover)}.auth input:focus{outline:none;border-color:var(--auth-accent);box-shadow:0 0 0 3px #a5f3fc47}.auth__password{position:relative;display:block}.auth__password input{padding-right:44px}.auth__reveal{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:none;color:var(--auth-hint);cursor:pointer}.auth__reveal:hover{color:var(--auth-ink)}.auth__reveal svg{width:18px;height:18px}.auth .btn--primary{min-height:54px;padding:13px 16px;border-radius:10px;background:var(--auth-action);border-color:var(--auth-action);color:#fff;font-size:15px}.auth .btn--primary:hover:not(:disabled){background:var(--auth-action-hover);border-color:var(--auth-action-hover)}.auth__note{margin:22px 0 0;font-size:12px;color:var(--auth-quiet);text-align:center}.auth__showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:42px 36px 28px;color:var(--auth-on-ink);background:linear-gradient(178deg,var(--auth-ink-lift) 0%,var(--auth-ink) 38%),var(--auth-ink)}.auth__brand{display:flex;align-items:center;gap:11px;position:relative;z-index:1}.auth__pitch{position:relative;z-index:1;transform:translateY(-24px);max-width:570px}.auth__rotating{display:flex;align-items:center;margin:26px 0 0;min-height:3.2em;max-width:34ch;font-size:15px;line-height:1.6;opacity:.82}.auth__rotating span{display:inline-block;animation:line-cycle 3s both}@keyframes line-cycle{0%{opacity:0;transform:translateY(10px)}14%,86%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.auth__rotating span{animation:none}}.auth__pitch h2{font-family:var(--display);font-size:clamp(30px,2.9vw,42px);font-weight:400;line-height:1.16;letter-spacing:-.005em}.auth__pitch h2 i{color:var(--auth-accent)}.auth__stamp{display:flex;align-items:center;margin:24px 0 0;opacity:.55}.auth__barcode{width:112px;height:20px;flex:0 0 auto;fill:currentColor}.auth__helix{position:absolute;right:7%;top:51%;width:23%;min-width:110px;height:31%;opacity:.95;pointer-events:none}@media(max-height:820px){.auth__helix{height:26%}}@media(max-width:1200px){.auth__helix{top:46%;height:25%}}.auth__node,.auth__rung{transform-box:view-box;transform-origin:50% 50%;animation:helix-a 9s linear infinite}.auth__node--b{animation-name:helix-b}.auth__rung{stroke:#f5f8fa33;stroke-width:1;animation-name:helix-rung}@keyframes helix-a{0%,to{transform:translate(0)}12.5%{transform:translate(calc(var(--helix-amp) * .71))}25%{transform:translate(var(--helix-amp))}37.5%{transform:translate(calc(var(--helix-amp) * .71))}50%{transform:translate(0)}62.5%{transform:translate(calc(var(--helix-amp) * -.71))}75%{transform:translate(calc(var(--helix-amp) * -1))}87.5%{transform:translate(calc(var(--helix-amp) * -.71))}}@keyframes helix-b{0%,to{transform:translate(0)}12.5%{transform:translate(calc(var(--helix-amp) * -.71))}25%{transform:translate(calc(var(--helix-amp) * -1))}37.5%{transform:translate(calc(var(--helix-amp) * -.71))}50%{transform:translate(0)}62.5%{transform:translate(calc(var(--helix-amp) * .71))}75%{transform:translate(var(--helix-amp))}87.5%{transform:translate(calc(var(--helix-amp) * .71))}}@keyframes helix-rung{0%,50%,to{transform:scaleX(.02)}12.5%,37.5%,62.5%,87.5%{transform:scaleX(.71)}25%,75%{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.auth__node,.auth__rung,.combo__list{animation:none}.combo__option{transition:none}}.auth__node--a{fill:var(--auth-accent)}.auth__node--b{fill:#faf5f1cc}@media(max-width:560px){.auth{grid-template-columns:minmax(0,1fr)}.auth__showcase{display:none}}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-radius:10px;border:1px solid;box-shadow:var(--shadow);background:var(--surface);font-size:13px}.toast button{border:0;background:none;color:inherit;font-size:17px;line-height:1;cursor:pointer;opacity:.6}.toast button:hover{opacity:1}.toast--success{background:var(--success-soft);border-color:var(--success-line);color:var(--success)}.toast--error{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.toast--info{background:var(--brand-soft);border-color:var(--brand-tint);color:var(--brand-dark)}@media(max-width:860px){.body{flex-direction:column}.rail{position:static;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:8px 16px;border-right:0;border-bottom:1px solid var(--border)}.rail__divider{width:1px;height:26px;margin:0 4px}.rail__tip{display:none}.rail__link.active{box-shadow:inset 0 -3px 0 var(--brand)}.stepper__step{min-width:120px}.content{align-self:stretch;padding:18px 16px 48px}.accordion__meta{display:none}}.batch-table__row{cursor:pointer}.batch-table__row.is-open td{background:var(--brand-soft)}.batch-table__toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.manual-batch__entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:14px;align-items:start}.manual-batch__add{margin-top:23px}.manual-batch__note{align-self:center;font-size:12px;color:var(--text-muted)}@media(max-width:860px){.manual-batch__entry{grid-template-columns:1fr}.manual-batch__add{margin-top:0;justify-self:start}}.batch-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border)}.batch-cta__note{font-size:13px;color:var(--text-muted)}.subhead{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.subhead.mt{margin-top:28px}.instructions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 28px;margin:18px 0 6px}.instructions__item{min-width:0}.instructions__title{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--brand-dark)}.instructions__body{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted)}.bubble-icon{width:14px;height:14px;flex-shrink:0;vertical-align:-2px}.notes-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}.notes-tabs__tab{display:inline-flex;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.notes-tabs__tab:hover{color:var(--text)}.notes-tabs__tab.is-active{border-bottom-color:var(--brand);color:var(--brand-dark)}.notes-tabs__count{min-width:18px;padding:0 6px;border-radius:999px;background:var(--neutral-soft);color:var(--text-muted);font-size:11px;font-weight:700;text-align:center}.notes-tabs__tab.has-unread .notes-tabs__count{background:var(--brand);color:var(--surface)}.note-list--scroll{max-height:460px;overflow-y:auto;padding-right:4px}.note-node{display:flex;flex-direction:column;gap:8px}.note-replies{display:flex;flex-direction:column;gap:8px;margin-left:14px;padding-left:12px;border-left:2px solid var(--border)}.note-replies--flat{margin-left:0;padding-left:0;border-left:0}.note-toggle{align-self:flex-start;display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px;margin-top:-2px;padding:2px 6px;border:0;border-radius:6px;background:transparent;color:var(--brand);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.note-toggle:hover{background:var(--brand-soft)}.note-toggle__chevron{width:10px}.note-toggle__last{color:var(--text-muted);font-weight:400}.note-bulk{display:inline-flex;gap:12px;margin-left:auto;font-size:12px}.note-replies__more{align-self:flex-start;font-size:12px}.note__reply{margin-top:8px}.note-composer__buttons{display:flex;gap:6px;margin-left:auto}.note-toolbar{display:flex;align-items:center;gap:8px}.note-toolbar__label{font-size:12px;font-weight:600;color:var(--text-muted)}.note-toolbar select{width:auto}.btn.has-unread{border-color:var(--brand);color:var(--brand-dark);font-weight:700}.notes-panel{position:fixed;inset:0 0 0 auto;width:min(520px,100vw);max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;border:0;border-left:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lift)}.notes-panel::backdrop{background:#1a1c1959}.notes-panel__inner{display:flex;flex-direction:column;gap:12px;height:100%;padding:18px 20px;overflow-y:auto}.notes-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.notes-panel__head h2{font-size:16px}.note-thread{display:flex;flex-direction:column;gap:12px}.note-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.note{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.note--mine{background:var(--brand-soft);border-color:var(--brand-tint)}.note--internal{background:var(--warn-soft);border-color:var(--warn-soft);border-left:3px solid var(--warn)}.note__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;font-size:13px}.note__role,.note__internal,.note__tag{padding:0 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.note__role{background:var(--neutral-soft);color:var(--text-muted)}.note__role.is-customer{background:var(--success-soft);color:var(--success)}.note__internal{background:var(--surface);color:var(--warn);border:1px solid var(--warn)}.note__tag{background:var(--surface-2);color:var(--text-muted);text-transform:none;font-size:11px;font-weight:600}.note__time{margin-left:auto;font-size:11px;color:var(--text-muted)}.note__where{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:11px;color:var(--text-muted)}.note__body{margin:6px 0 0;white-space:pre-wrap;word-break:break-word}.note__actions{display:flex;gap:14px;margin-top:6px;font-size:12px}.note__edit{display:flex;flex-direction:column;gap:8px;margin-top:6px}.note-composer{display:flex;flex-direction:column;gap:8px}.note-composer__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.note-composer__hint{font-size:12px}.note-visibility{display:flex;flex-wrap:wrap;gap:6px}.note-visibility__hint{font-weight:400;color:var(--text-muted)}.note-filters{margin-bottom:12px}.note-filters select{width:auto}.instructions-dialog{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:22px 26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lift)}.instructions-dialog::backdrop{background:#1a1c1973}.instructions-dialog__title{margin:0 0 10px;font-size:18px}.instructions__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.doc-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.doc-upload__hint{flex-basis:100%;margin:0;font-size:12px;color:var(--text-muted)}.doc-row__meta,.doc-row__deleted{display:block;font-size:12px;color:var(--text-muted)}.doc-row.is-deleted .doc-row__name{text-decoration:line-through;color:var(--text-muted)}.doc-row.is-deleted td{background:var(--surface-2)}.doc-row__confirm td{padding:0 12px 12px}.callout--warn{border-color:var(--warn);background:var(--warn-soft);color:var(--text)}.callout--warn p{margin:0 0 4px}.table tr.is-current>td{background:var(--brand-soft)}.linkish{padding:0;border:0;background:none;font:inherit;color:var(--brand);text-align:left;text-decoration:underline;cursor:pointer}.linkish:hover{color:var(--brand-dark)}.doc-project-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.doc-project-list li{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.stepper__step.is-skipped{color:var(--text-muted);background:var(--surface-2);cursor:not-allowed}.stepper__skipped{margin-left:6px;font-size:11px;font-style:italic;color:var(--text-muted)}.page-head--action{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head__text{min-width:0;flex:1 1 320px}.notes-headbtn{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border-radius:999px;white-space:nowrap}.notes-headbtn__count{padding:1px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:11px;font-weight:700}.notes-headbtn.has-unread .notes-headbtn__count{background:var(--danger-soft);color:var(--danger)}.notes-tabs--panel{margin-bottom:12px}.note-thread__readonly{margin:12px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);font-size:13px}.readonly-banner{margin-bottom:16px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;object-fit:cover;background:var(--surface-2);border:1px solid var(--border)}.avatar--sm{width:28px;height:28px;font-size:12px}.avatar--lg{width:92px;height:92px;font-size:34px}.avatar--empty{font-weight:700;color:var(--text-muted)}.avatar-editor{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.avatar-editor__actions{flex:1 1 260px}.topbar__me{display:inline-flex;align-items:center;gap:8px;padding:2px 8px 2px 2px;border-radius:999px;color:inherit;text-decoration:none}.topbar__me:hover,.topbar__me.active{background:var(--rail-active)}.admin-cell{display:inline-flex;align-items:center;gap:10px}.check-line{display:flex;align-items:flex-start;gap:10px;margin-top:6px;font-size:14px}.check-line input{margin-top:2px}.form-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}@media(max-width:900px){.form-split{grid-template-columns:minmax(0,1fr)}}.form-split__main,.form-split__side{min-width:0}.form-split__side{position:sticky;top:16px}.btn--block{width:100%}.tip{padding:14px 16px;border:1px solid var(--brand-tint);border-radius:var(--radius-lg);background:var(--brand-soft)}.tip__label{display:block;margin-bottom:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--brand-dark)}.tip p{margin:0;font-size:13px;color:var(--text)}.note-composer__file{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.note-composer__filename{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.note__file{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:13px}.note__file-size{color:var(--text-muted)}.note__tag--samples{font-family:var(--mono, monospace)}.note-samples{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.note-samples__list{width:100%;max-height:180px;overflow-y:auto;margin:4px 0 0;padding:6px;list-style:none;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.note-samples__list li label{display:flex;align-items:center;gap:10px;padding:5px 6px;border-radius:6px;font-size:13px;cursor:pointer}.note-samples__list li label:hover{background:var(--surface-2)}.note-samples__list input{width:auto;height:auto}.note-samples__tube{color:var(--text-muted)}.complete-dialog{width:min(560px,calc(100vw - 32px));padding:24px;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lift)}.complete-dialog::backdrop{background:#11271c6b}.complete-dialog__head h2{font-size:18px}.complete-dialog__samples{margin:6px 0 18px;font-family:var(--mono, monospace);font-size:12px;color:var(--text-muted)}.complete-dialog__files{display:flex;align-items:center;gap:10px;margin-top:14px}.complete-dialog__list{margin:10px 0 0;padding:0;list-style:none}.complete-dialog__list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--border)}.complete-dialog__list li span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.complete-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.completions{display:flex;flex-direction:column;gap:14px}.completion{padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.completion__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.completion__count{font-weight:600}.completion__ids{flex:1;min-width:0;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}.completion__when{font-size:12px;color:var(--text-muted);white-space:nowrap}.completion__body{margin:0;line-height:1.6;white-space:pre-wrap}.completion__body.is-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.completion__files{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0;padding:0;list-style:none;font-size:13px}.completion__files li{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.completion__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.completion__undo{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.completion__pick{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0;padding:0;list-style:none}.completion__pick label{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.completion__pick input{width:auto;height:auto}.samples-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--border)}.samples-head__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.page-head--split{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head--split>div{min-width:0}.bo-tagging{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.bo-choice{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--field);cursor:pointer;font-size:.93rem;color:var(--text-muted);transition:border-color .15s,color .15s,background .15s}.bo-choice input,.bo-share input{width:auto;flex:0 0 auto;margin:0;accent-color:var(--action)}.bo-choice:hover{border-color:var(--action-line)}.bo-choice.is-on{border-color:var(--action);background:var(--action-soft);color:var(--action-dark);font-weight:600}.bo-actions{margin-top:20px}.bo-total{margin:-6px 0 16px;font-size:.86rem;color:var(--text-muted)}.bo-total--over{color:var(--danger);font-weight:600}.bo-share{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer}.bo-share.is-off{cursor:not-allowed;opacity:.72}.bo-share>span{display:flex;flex-direction:column;gap:2px;font-size:.93rem;min-width:0}.bo-share input{margin-top:3px}.bo-share__note{font-size:.82rem;color:var(--text-muted)}.bo-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px}.bo-list{display:flex;flex-direction:column;gap:14px}.bo-entry{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.bo-entry__head{padding:11px 18px;background:var(--brand-soft);border-bottom:1px solid var(--brand-tint)}.bo-entry__headings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.bo-entry__title{margin:0;font-size:1rem;font-weight:600;color:var(--brand-dark)}.bo-entry__main{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:14px 18px 0}.bo-entry__main .bo-entry__body{margin:0;flex:1 1 auto;min-width:0}.bo-entry__main .bo-files{margin:0;flex:0 0 auto;justify-content:flex-end;max-width:45%}@media(max-width:720px){.bo-entry__main{flex-direction:column}.bo-entry__main .bo-files{max-width:100%;justify-content:flex-start}}.bo-tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--action-soft);color:var(--action-dark);border:1px solid var(--action-tint);white-space:nowrap}.bo-subject{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:.8rem;color:var(--brand);flex-wrap:wrap;min-width:0}.bo-subject strong{color:var(--brand-dark);font-weight:600}.bo-subject__project:before{content:"·";margin-right:8px}.bo-subject--none{font-style:italic}.bo-subject__gone{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.bo-entry__body{margin:12px 0 0;white-space:pre-wrap;line-height:1.55}.bo-files{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.bo-file{display:inline-flex;align-items:baseline;gap:8px;padding:7px 12px;border:1px solid var(--action-line);border-radius:8px;background:var(--field);color:var(--action-dark);font:inherit;font-size:.86rem;cursor:pointer;max-width:100%}.bo-file:hover{background:var(--action-soft)}.bo-file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo-file__size{color:var(--text-muted);font-size:.78rem;flex-shrink:0}.bo-entry__foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 18px 0;padding:12px 0 14px;border-top:1px solid var(--border);font-size:.83rem;color:var(--text-muted)}.bo-entry__right{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.bo-entry__edited{font-style:italic}.bo-shared{padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:600;background:var(--action-soft);color:var(--action-dark);border:1px solid var(--action-tint)}.bo-confirm{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.card__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.card__toggle:focus-visible{outline:2px solid var(--action);outline-offset:4px;border-radius:4px}.card__head--shut{margin-bottom:0;padding-bottom:0;border-bottom:0}.card__chevron{width:9px;height:9px;flex-shrink:0;border-right:2px solid var(--action);border-bottom:2px solid var(--action);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}.card__toggle[aria-expanded=true] .card__chevron{transform:rotate(-135deg) translate(-2px,-2px)}.card--folds .card__toggle:hover .card__title{color:var(--action-dark)}.qc-dialog{width:min(620px,calc(100vw - 32px));padding:24px;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lift)}.qc-dialog::backdrop{background:#11271c6b}.qc-dialog__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--border)}.qc-dialog__head h2{font-size:18px;margin:0}.qc-dialog__step{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--action-dark);background:var(--action-soft);border:1px solid var(--action-tint);border-radius:999px;padding:3px 10px;white-space:nowrap}.qc-dialog__sample{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;font-size:15px}.qc-dialog__sample strong{font-family:var(--mono, monospace)}.qc-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:560px){.qc-values{grid-template-columns:1fr}}.qc-dialog__hint,.qc-dialog__lead{margin:14px 0 0;font-size:13px;color:var(--text-muted)}.qc-dialog__actions{display:flex;align-items:center;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap}.qc-dialog__spacer{flex:1 1 auto}.qc-fails{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;max-height:46vh;overflow-y:auto}.qc-fail{border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:10px;padding:12px 14px;background:var(--surface-2)}.qc-fails__bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qc-fails__bar .qc-dialog__lead{margin-top:0}.qc-fail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;margin:0;background:none;border:0;font:inherit;font-size:14px;color:inherit;text-align:left;cursor:pointer}.qc-fail__head:focus-visible{outline:2px solid var(--action);outline-offset:3px;border-radius:4px}.qc-fail__title{display:flex;flex-direction:column;gap:2px;min-width:0}.qc-fail__meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.qc-fail__state{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.qc-fail__state.is-owed{background:#b02a2a1f;color:var(--danger)}.qc-fail__state.is-done{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.qc-fail__chevron{width:8px;height:8px;flex-shrink:0;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}.qc-fail__head[aria-expanded=true] .qc-fail__chevron{transform:rotate(-135deg) translate(-2px,-2px)}.qc-fail__body{margin-top:10px}.qc-fail.is-shut{padding-top:10px;padding-bottom:10px}.qc-fail__choice{display:flex;gap:18px;margin-top:10px;flex-wrap:wrap;font-size:13px}.qc-fail__choice label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.qc-fail__choice input{width:auto;flex:0 0 auto;margin:0;accent-color:var(--action)}.qcv{position:relative;display:inline-block;margin-left:6px;vertical-align:middle}.qcv__mark{display:inline-flex;padding:3px;background:none;border:0;border-radius:4px;color:var(--action);cursor:pointer;line-height:0}.qcv__mark:hover,.qcv__mark.is-open{color:var(--action-dark);background:var(--action-soft)}.qcv__mark:focus-visible{outline:2px solid var(--action);outline-offset:1px}.qcv__panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:250px;padding:12px 14px;text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lift)}.qcv__list{margin:0}.qcv__row{display:flex;justify-content:space-between;gap:16px;padding:3px 0;font-size:13px}.qcv__row dt{color:var(--text-muted)}.qcv__row dd{margin:0;font-family:var(--mono, monospace);font-weight:600}.qcv__row--remarks{flex-direction:column;gap:2px;margin-top:4px;padding-top:7px;border-top:1px solid var(--border)}.qcv__row--remarks dd{max-width:260px;font-family:inherit;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}.qcv__copy{margin-top:10px;width:100%}.table-wrap:has(.qcv__panel),.card>.table-wrap:last-child:has(.qcv__panel){overflow:visible}.content>*:has(.qcv__panel){z-index:20}.qc-dialog--grid{width:min(1320px,calc(100vw - 32px))}.qc-grid-wrap{max-height:52vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.qc-grid{width:100%;border-collapse:collapse;font-size:14px}.qc-grid thead th{position:sticky;top:0;z-index:1;text-align:left;padding:9px 12px;background:var(--brand-soft);border-bottom:1px solid var(--brand-tint);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-dark);white-space:nowrap}.qc-grid td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.qc-grid tbody tr:last-child td{border-bottom:0}.qc-grid tbody tr.is-passed{background:var(--success-soft, rgba(11, 86, 61, .06))}.qc-grid tbody tr.is-failed{background:#b02a2a0f}.qc-grid__name strong{display:block;font-weight:600}.qc-grid__name .cell-sub{font-size:11px}.qc-grid td input[type=text]{width:100%;min-width:96px;padding:7px 9px;font-size:13px}.qc-grid td.qc-grid__num input[type=text]{min-width:112px;font-variant-numeric:tabular-nums}.qc-grid__unit{text-transform:none;letter-spacing:.02em}.qc-grid td input.is-invalid{border-color:var(--danger, #b02a2a);box-shadow:0 0 0 1px var(--danger, #b02a2a)}.qc-grid__req{margin-left:2px;color:var(--danger, #b02a2a)}.qc-grid__mass{min-width:84px;white-space:nowrap;font-size:13px;font-weight:600}.qc-grid__remarks textarea{display:block;width:100%;min-width:170px;height:34px;padding:7px 9px;font-size:13px;line-height:1.4;resize:none;overflow:hidden;transition:height .12s ease}.qc-grid__remarks textarea:focus{height:88px;overflow:auto}.qc-grid__verdict{white-space:nowrap}.qc-grid__verdict label{display:inline-flex;align-items:center;gap:5px;margin-right:12px;font-size:13px;cursor:pointer}.qc-grid__verdict label.is-off{opacity:.45;cursor:not-allowed}.qc-grid__verdict input{width:auto;flex:0 0 auto;margin:0;accent-color:var(--action)}.qc-fail__id{margin:0;font-size:11px;color:var(--text-muted)}.sample-name{display:inline-flex;flex-direction:column;gap:1px;min-width:0}.sample-name--inline{flex-direction:row;align-items:baseline;gap:7px;flex-wrap:wrap}.sample-name .mono{font-size:11px}.auth__foot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth__figures{display:flex;gap:clamp(18px,3vw,48px);margin:0}.auth__figures dt{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.auth__figures dd{margin:5px 0 0;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.6}.auth__more{display:inline-flex;align-items:center;gap:7px;padding-bottom:4px;font-size:clamp(13px,1.05vw,16px);white-space:nowrap;letter-spacing:.02em;color:var(--auth-on-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#f5f8fa59;opacity:.75;transition:opacity .15s ease,text-decoration-color .15s ease}.auth__more:hover{opacity:1;text-decoration-color:#f5f8facc}.auth__more:focus-visible{outline:2px solid var(--auth-on-ink);outline-offset:3px;border-radius:3px}.auth__more span{transition:transform .15s ease}.auth__more:hover span{transform:translate(3px)}.cell-sub--inline{white-space:nowrap}.qc-grid__docs{min-width:150px;vertical-align:top}.qc-docs__add input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.qc-docs__add{position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px dashed var(--action-line);border-radius:999px;color:var(--action-dark);font-size:12.5px;font-weight:600;cursor:pointer}.qc-docs__add:hover,.qc-docs__add:focus-within{border-style:solid;background:var(--action-soft)}.qc-docs__list{list-style:none;margin:7px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.qc-docs__list li{display:flex;align-items:center;gap:5px;font-size:12px}.qc-docs__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:128px;color:var(--muted)}.qc-docs__drop{border:0;background:none;color:var(--muted);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.qc-docs__drop:hover{color:var(--danger, #9b2226)}.qc-docs__problem{margin:6px 0 0;max-width:28ch;color:var(--danger);font-size:12px;line-height:1.35}.qcf{position:relative;display:inline-flex;vertical-align:middle;margin-left:4px}.qcf__mark{display:inline-flex;align-items:center;gap:3px;padding:3px;border:0;border-radius:6px;background:none;color:var(--action-dark);cursor:pointer;line-height:0}.qcf__mark:hover,.qcf__mark.is-open{background:var(--action-soft)}.qcf__mark:disabled{opacity:.5;cursor:default}.qcf__count{font-size:11.5px;font-weight:700;line-height:1;padding-right:2px}.qcf__panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:210px;max-width:320px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-lift)}.qcf__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.qcf__item{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 8px;border:0;border-radius:7px;background:none;color:inherit;font-size:12.5px;text-align:left;cursor:pointer}.qcf__item:hover{background:var(--action-soft);color:var(--action-dark)}.qcf__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcf__size{flex:0 0 auto;color:var(--muted);font-size:11px}.qcf__panel.is-above{top:auto;bottom:calc(100% + 6px)}.badge--sent{background:var(--success-soft);color:var(--success)}.badge--queued{background:var(--warn-soft);color:var(--warn)}.badge--failed{background:var(--danger-soft);color:var(--danger)}.badge--skipped{background:var(--neutral-soft);color:var(--text-muted)}.outbox__health{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius);font-size:13px}.outbox__health--ok{background:var(--success-soft);color:var(--success)}.outbox__health--bad{background:var(--danger-soft);color:var(--danger)}.outbox__filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{padding:5px 13px;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.chip:hover{border-color:var(--brand);color:var(--brand-dark)}.chip--on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.outbox__why{display:block;margin-top:3px;max-width:46ch;overflow:hidden;color:var(--danger);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pipehover{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:2px;margin:-2px;border:0;border-radius:6px;background:none;font:inherit;color:inherit;text-align:left;cursor:help}.pipehover:hover,.pipehover[aria-expanded=true]{background:var(--action-soft)}.pipehover:focus-visible{outline:2px solid var(--action);outline-offset:1px}.pipecard{position:fixed;z-index:1000;width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto;padding:12px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lift);font-size:13px}.pipecard__title{display:flex;gap:8px;align-items:baseline;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border);font-weight:600}.pipecard__name,.pipecard__muted{color:var(--text-muted);font-weight:400}.pipecard__muted{margin:0}.pipecard__list{margin:0;padding:0;list-style:none}.pipecard__step{position:relative;display:flex;flex-direction:column;gap:1px;padding:5px 0 5px 18px}.pipecard__step:before{content:"";position:absolute;left:2px;top:10px;width:8px;height:8px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface)}.pipecard__step.is-passed:before{border-color:var(--success);background:var(--success)}.pipecard__step.is-failed:before{border-color:var(--danger);background:var(--danger)}.pipecard__step.is-in_progress:before{border-color:var(--action);background:var(--action-soft)}.pipecard__when,.pipecard__detail{color:var(--text-muted);font-size:12px}.pipecard__detail{overflow-wrap:anywhere}.qc-sheet{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.qc-sheet__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.qc-sheet label:focus-within{outline:2px solid var(--action);outline-offset:2px}.qc-sheet .is-busy{opacity:.7;cursor:progress}.qc-sheet__hint{font-size:12px;color:var(--text-muted)}.qc-notice{position:relative;margin-bottom:12px;padding:10px 36px 10px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);font-size:13px}.qc-notice ul{margin:0;padding:0;list-style:none}.qc-notice__line+.qc-notice__line{margin-top:6px}.qc-notice__line.is-ok{color:var(--success-strong);font-weight:600}.qc-notice__line.is-warn{color:var(--danger)}.qc-notice__line.is-info{color:var(--text-muted)}.qc-notice .qc-notice__list{margin-top:4px;padding-left:18px;list-style:disc;color:var(--text)}.qc-notice__close{position:absolute;top:6px;right:8px;padding:2px 6px;border:0;background:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer}.qc-fails__review{display:inline-block;margin-top:10px;font-size:13px}.infotip{display:inline-flex;margin-left:4px;padding:3px;vertical-align:middle;background:none;border:0;border-radius:4px;color:var(--action);cursor:help;line-height:0}.infotip:hover,.infotip.is-open{color:var(--action-dark);background:var(--action-soft)}.infotip:focus-visible{outline:2px solid var(--action);outline-offset:1px}.infotip__card{position:fixed;z-index:1000;max-width:min(320px,calc(100vw - 16px));padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lift);font-size:13px}.infotip__label{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.infotip__card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.dash,.dash-card,.project-tiles{--viz-good: #0ca30c;--viz-active: #2a78d6;--viz-wait: #b3aca4;--viz-bad: #d03b3b;--viz-qc: #2a78d6;--viz-seq: #eb6834;--viz-bio: #1baf7a;--viz-fr: #eda100;--viz-s1: #2a78d6;--viz-s2: #eb6834;--viz-s3: #0ca30c}.dash{transition:opacity .25s ease}.dash.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease .3s}.dash-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.dash-scope{margin:10px 0 0;font-size:13px;color:var(--text-muted)}.dash-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border:1px solid var(--action-line);border-radius:var(--radius-pill);background:var(--action-soft);font-size:13px}.dash-chip button{width:24px;height:24px;border:0;border-radius:50%;background:none;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer}.dash-chip button:hover{background:var(--surface);color:var(--text)}.dash-chip__open{font-size:12px;color:var(--action)}.dash-grid{display:grid;gap:18px;margin-top:18px;align-items:start}.dash-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}.dash-card{min-width:0}.dash-more{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2)}.seg__btn{padding:6px 14px;border:0;border-radius:var(--radius-pill);background:none;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.seg--sm .seg__btn{padding:3px 10px;font-size:12px}.seg__btn:hover:not(.is-on){background:var(--surface);color:var(--text)}.seg__btn.is-on{background:var(--action);color:#fff}.seg__btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.kpis{display:grid;gap:12px;margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kpis--3{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.dash-card .kpi{background:var(--surface-2)}.kpi__label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.kpi__value{font-size:28px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.kpis--3 .kpi__value{font-size:20px}.kpi__note{font-size:12px;color:var(--text-muted)}.viz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;padding:0;list-style:none;font-size:12px;color:var(--text-muted)}.viz-legend li{display:inline-flex;align-items:center;gap:6px}.viz-legend__key{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:3px}.viz-legend__value{color:var(--text);font-variant-numeric:tabular-nums}.viz-tip{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:3px;min-width:140px;padding:8px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lift);font-size:12px;color:var(--text-muted);pointer-events:none}.viz-tip__title{margin-bottom:2px;font-weight:600;color:var(--text)}.viz-tip__row{display:flex;align-items:center;gap:6px}.viz-tip__row strong{min-width:2ch;color:var(--text);font-variant-numeric:tabular-nums}.viz-tip__key{width:12px;height:3px;border-radius:2px}.donut{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}.donut__svg{flex:0 0 auto;width:200px;height:200px}.donut__slice{transition:opacity .12s}.donut__slice.is-dim{opacity:.35}.donut__slice:focus-visible{outline:none;stroke:var(--text);stroke-width:2}.donut__total{font-size:30px;font-weight:700;fill:var(--text)}.donut__label{font-size:12px;fill:var(--text-muted)}.donut__legend{flex:1 1 200px;margin:0;padding:0;list-style:none;font-size:13px}.donut__legend li{display:grid;grid-template-columns:10px 1fr auto 3.5em;align-items:center;gap:8px;padding:4px 6px;border-radius:6px}.donut__legend li.is-hover{background:var(--surface-2)}.donut__legend li.is-zero{color:var(--text-muted)}.donut__legend strong{font-variant-numeric:tabular-nums}.donut__pct{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.hbars{display:flex;flex-direction:column;gap:4px}.hbars__row{display:grid;grid-template-columns:minmax(90px,32%) 1fr 3.2em;align-items:center;gap:12px;width:100%;padding:6px 8px;border:0;border-radius:8px;background:none;font:inherit;color:inherit;text-align:left}.hbars__row.is-pickable{cursor:pointer}.hbars__row:hover,.hbars__row:focus-visible{background:var(--surface-2)}.hbars__row:focus-visible{outline:2px solid var(--action);outline-offset:0}.hbars__label{display:flex;flex-direction:column;min-width:0}.hbars__tick{display:flex;align-items:center;gap:10px;min-width:0}.hbars__row.is-ticked{background:var(--action-soft)}.hbars__link{color:inherit;text-decoration:none}.hbars__link:hover{text-decoration:underline}.hbars__name,.hbars__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbars__name{font-size:13px;font-weight:600}.hbars__sub{font-size:11px;color:var(--text-muted)}.hbars__track{display:block;height:14px}.hbars__bar{display:flex;gap:2px;min-width:4px;height:100%}.hbars__seg{display:block;min-width:3px;height:100%}.hbars__seg:first-child{border-radius:4px 0 0 4px}.hbars__seg:last-child{border-radius:0 4px 4px 0}.hbars__seg:only-child{border-radius:4px}.hbars__total{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.cols{width:100%;min-height:240px}.cols svg{display:block}.cols__grid{stroke:var(--border);stroke-width:1}.cols__base{stroke:var(--border-strong);stroke-width:1}.cols__tick{font-size:11px;fill:var(--text-muted)}.cols__hover{fill:var(--surface-2)}@media(max-width:640px){.hbars__row{grid-template-columns:1fr 3em}.hbars__track{grid-column:1 / -1;grid-row:2}}.dashboards .page-head{margin-bottom:16px}.dash,.attention,.attn{min-width:0;max-width:100%}.dash-filter{display:flex;flex-direction:column;gap:4px}.dash-filter--search .combo,.dash-filter__off{width:260px;max-width:100%}.dash-filter>span{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.attention{margin-top:18px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.attention__title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:17px;font-weight:600}.attention__count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--danger);font-size:13px}.attention__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.attn{border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:10px;background:var(--surface);overflow:hidden}.attn--critical{border-left-color:var(--danger)}.attn--warning{border-left-color:var(--warn)}.attn--info{border-left-color:var(--action)}.attn__head{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:14px;width:100%;padding:12px 14px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.attn__head:hover{background:var(--surface-2)}.attn__head:focus-visible{outline:2px solid var(--action);outline-offset:-2px}.attn__badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;white-space:nowrap}.attn--critical .attn__badge{background:var(--danger-soft);color:var(--danger)}.attn--warning .attn__badge{background:var(--warn-soft);color:var(--warn)}.attn--info .attn__badge{background:var(--action-soft);color:var(--action-dark)}.attn__text{display:flex;flex-direction:column;gap:2px;min-width:0}.attn__text strong{font-size:14px}.attn__text span{font-size:12.5px;color:var(--text-muted)}.attn__chevron{width:9px;height:9px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform .15s}.attn__head[aria-expanded=true] .attn__chevron{transform:rotate(-135deg)}.attn__body{padding:0 14px 12px}.attn__table td,.attn__table th{padding-top:8px;padding-bottom:8px}.attention--clear{display:flex;align-items:center;gap:14px;color:var(--success)}.attention--clear svg{width:28px;height:28px}.attention--clear h2{margin:0;font-size:16px;color:var(--text)}.attention--clear p{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.kpis--trend{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi--trend{position:relative;min-height:132px}.kpi__delta{font-size:12px;color:var(--text-muted)}.kpi__delta b{font-size:13px}.kpi__delta.is-good b{color:var(--success)}.kpi__delta.is-bad b{color:var(--danger)}.spark{margin-top:auto;padding-top:6px}.spark--empty{display:block;height:32px}.spark__line{fill:none;stroke:var(--viz-s1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark__dot{fill:var(--viz-s1);stroke:var(--surface);stroke-width:2}.funnel{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.funnel__step{display:grid;grid-template-columns:minmax(110px,30%) 1fr 3em minmax(80px,auto);align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:13px}.funnel__step:hover,.funnel__step:focus-visible{background:var(--surface-2);outline:none}.funnel__label{font-weight:600}.funnel__track{height:16px}.funnel__bar{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--viz-s1)}.funnel__count{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.funnel__note{display:flex;flex-direction:column;font-size:11.5px;color:var(--text-muted);line-height:1.3}.funnel__lost{color:var(--danger);font-weight:600}.heat{display:flex;flex-direction:column;gap:3px;overflow-x:auto}.heat__row{display:grid;grid-template-columns:minmax(104px,1.3fr) repeat(5,minmax(46px,1fr)) minmax(42px,.7fr);gap:3px;align-items:stretch}.heat__row--head{font-size:11px;color:var(--text-muted)}.heat__col{text-align:center;padding-bottom:2px}.heat__name{display:flex;flex-direction:column;justify-content:center;font-size:13px;font-weight:600}.heat__sub{font-size:11px;font-weight:400;color:var(--text-muted)}.heat__cell{display:grid;place-items:center;min-height:40px;border-radius:6px;font-weight:700;font-variant-numeric:tabular-nums}.heat__cell.is-zero{background:var(--surface-2);color:var(--text-muted);font-weight:400}.heat__cell:focus-visible{outline:2px solid var(--text);outline-offset:1px}.heat__total{display:grid;place-items:center;font-weight:700;font-variant-numeric:tabular-nums}.heat__scale{display:flex;align-items:center;gap:3px;margin-top:10px;font-size:11px;color:var(--text-muted)}.heat__scale i{width:18px;height:10px;border-radius:2px}.heat__scale span:first-child{margin-right:4px}.heat__scale span:last-child{margin-left:4px}.lines{width:100%;min-height:240px}.lines svg{display:block}.lines__area{opacity:.12}.lines__hair{stroke:var(--border-strong);stroke-width:1}.lines__dot{stroke:var(--surface);stroke-width:2}.scorecard__sort{padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap}.scorecard__sort:hover{color:var(--text)}.scorecard tr.is-picked td{background:var(--action-soft)}.scorecard .change.is-up{color:var(--success)}.scorecard .change.is-down{color:var(--danger)}.passrate{display:inline-flex;align-items:center;gap:8px}.passrate__track{width:56px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.passrate__fill{display:block;height:100%;background:var(--viz-s1)}@media(max-width:640px){.funnel__step{grid-template-columns:1fr 3em}.funnel__track{grid-column:1 / -1;grid-row:2}.funnel__note{grid-column:1 / -1;flex-direction:row;gap:10px}.attn__head{grid-template-columns:1fr auto}.attn__badge{grid-column:1 / -1;justify-self:start}}.editform{padding:6px 4px 4px}.editform__lead{margin:0 0 14px;font-size:13px;color:var(--text-muted)}.editform .field{margin-bottom:12px}.editform__warn{margin:4px 0 12px;font-size:13px}.editform__actions{display:flex;gap:8px;margin-top:6px}.people{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.people__row{display:grid;grid-template-columns:minmax(180px,1.4fr) auto minmax(150px,1fr) auto;align-items:center;gap:8px 18px;padding:10px 12px;border-radius:8px}.people__row:nth-child(2n){background:var(--surface-2)}.people__row--primary{border:1px solid var(--success-line);background:var(--success-soft)}.people__who{display:flex;flex-direction:column;min-width:0}.people__who strong,.people__who .cell-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people__role .badge{text-transform:none}.people__meta{font-size:12px;color:var(--text-muted)}.people__empty{margin:10px 0 0;font-size:13px;color:var(--text-muted)}.people__add{margin-top:16px;padding:16px;border:1px dashed var(--border-strong);border-radius:10px}@media(max-width:640px){.people__row{grid-template-columns:1fr auto}.people__meta{grid-column:1 / -1}}.project-users__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;border-bottom:1px solid var(--border)}.project-users__head .subhead{margin:0;padding-bottom:10px;border-bottom:0}.project-user-row__end{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.created-users{margin:10px 0 0;padding-left:18px;font-size:13px}.created-users__link{word-break:break-all}.tat-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px}@media(max-width:760px){.tat-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}.tat-check{display:flex;align-items:flex-start;gap:10px;margin:6px 0;font-size:14px;cursor:pointer}.tat-check input{margin-top:3px;accent-color:var(--brand)}.tat-default{align-self:end;margin-bottom:30px}.tat-apply{margin:0;padding:14px 16px;border:1px solid var(--warn);border-radius:10px;background:var(--warn-soft)}.tat-apply legend{padding:0 6px}.tat-badge{margin-left:8px;vertical-align:1px}.turnaround-fields__warn{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--warn-soft);color:var(--warn);font-size:13px;line-height:1.45}.editform__turnaround{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);max-width:640px}.turnaround-fields__locked{margin:0;font-size:13px;color:var(--text-muted);line-height:1.6}.turnaround-fields__locked .tat-pill{margin-right:6px}.attn-detail__head .attn-act-all{margin-left:auto;flex:none}.attn-act{margin-left:6px}.attn-act.is-on{border-color:currentColor}.attn-act-row>td{padding-top:0}.act-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;text-align:left}.act-box__title{flex-basis:100%;font-weight:600;font-size:14px}.act-box__picks{display:flex;flex-wrap:wrap;gap:6px}.act-chip{padding:5px 11px;border:1px solid var(--action, currentColor);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.act-chip.is-on{border-color:var(--primary, currentColor);background:var(--primary, #2a6f86);color:#fff}.kd[data-theme=dark] .act-chip{border-color:#c6f43299;color:#e8eef4}.kd[data-theme=dark] .act-chip:hover:not(.is-on){border-color:#c6f432;background:#c6f43214}.kd[data-theme=dark] .act-chip.is-on{background:#c6f432;border-color:#c6f432;color:#0b1622}.act-box__note{flex:1 1 220px;min-width:0}.act-box__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-basis:100%}.le-tiles{margin:0 0 4px}.le-detail{margin-top:16px}.le-filters{margin-bottom:12px}.why-bars__title{font-size:15px;margin:0 0 10px}.why-bars ul{margin:0;padding:0;list-style:none}.why-bars li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) 2.5rem;align-items:center;gap:10px;padding:4px 0;font-size:13px}.why-bars__label{overflow-wrap:anywhere}.why-bars__track{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.why-bars__bar{display:block;height:100%;border-radius:4px}.why-bars__bar.is-late{background:var(--viz-late)}.why-bars__bar.is-early{background:var(--viz-ontrack)}.leader__why{display:block;margin-top:2px;font-size:12px;color:var(--text-muted)}.incidents__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.incidents__head .field__hint{margin:0}.incidents__add{flex:none}.incidents__kinds{min-width:260px;margin:0 0 12px auto;max-width:360px;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lift)}.incidents__kinds button{display:block;width:100%;padding:8px 10px;text-align:left;background:none;border:0;border-radius:8px;color:var(--text);font:inherit;cursor:pointer}.incidents__kinds button:hover,.incidents__kinds button:focus-visible{background:var(--surface-2, rgba(0, 0, 0, .04))}.incidents__list{margin:0;padding:0;list-style:none}.incident{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);font-size:14px}.incident .tat-pill{margin-right:8px}.incident__main{flex:1 1 320px;min-width:0;line-height:1.6}.incident__why{margin-top:2px}.incident__actions{display:flex;flex-wrap:wrap;gap:6px}.incident-form{margin-bottom:12px;padding:14px;border:1px solid var(--border);border-radius:10px}.project-tiles .tile-detail>.card{margin-top:0}.reasons-dialog{width:min(720px,calc(100vw - 32px))}.reasons-group{margin:0 0 14px;padding:12px 14px 14px;border:1px solid var(--border);border-radius:10px}.reasons-group__head{padding:0 6px;font-weight:600;font-size:14px}.reasons-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}.reasons-group__toggle{margin-top:8px;font-size:13px}.reasons-group__list{margin:8px 0 0;padding:0;list-style:none}.reasons-group__list li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--border)}.reasons-group__unit{min-width:0;overflow-wrap:anywhere;font-size:13px}@media(max-width:640px){.reasons-fields,.reasons-group__list li{grid-template-columns:1fr}}.reason-missing{color:var(--warn);font-weight:600;font-size:12px}button.reason-missing,button.reason-given{display:block;margin-top:4px;text-align:left}.reason-missing-count{color:var(--warn);font-weight:600}.tat-reasons__title{font-size:15px;margin-bottom:8px}.reasons-table__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}.reasons-table__actions{display:flex;align-items:center;gap:12px}.reasons-history{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.reasons-history li+li{margin-top:6px}.norule-dialog__lead{margin:8px 0 14px;color:var(--text-muted);line-height:1.55}.norule-dialog__list{margin:0 0 6px;padding-left:20px;line-height:1.55}.norule-dialog__list li+li{margin-top:6px}.norule-dialog .complete-dialog__actions{flex-wrap:wrap}.norule-dialog__cancel{margin-right:auto}.tat-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;border:1px solid transparent}.tat-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.tat-pill--late{color:var(--danger-strong);background:var(--danger-soft);border-color:var(--danger-line)}.tat-pill--paused{color:var(--warn);background:var(--warn-soft)}.tat-pill--soon{color:var(--accent-ink);background:var(--accent-soft)}.tat-pill--ok{color:var(--success-strong);background:var(--success-soft)}.tat-pill--done{color:var(--success);background:transparent;border-color:var(--success-line)}.tat-pill--done-late{color:var(--danger);background:transparent;border-color:var(--danger-line)}.tat-pill--waiting{color:var(--text-muted);background:transparent;border-color:var(--border)}.tat-cell .cell-sub{margin-top:4px}.tat-pill--end{margin-left:6px}.tat-end-note{font-size:11.5px;color:var(--danger)}.tat-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px}.tat-summary>div{display:grid;gap:6px;justify-items:start}.tat-summary__value{font-weight:600;color:var(--text)}@media(max-width:760px){.tat-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash,.dash-card,.project-tiles{--viz-late: #d03b3b;--viz-hold: #8a5cc4;--viz-soon: #eda100;--viz-ontrack: #2a78d6;--viz-s4: #8a5cc4}.dashboards>.page-head--action{align-items:center}.kpis--track{margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpis--track-period{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.kpi--tile{font:inherit;color:inherit;text-align:left}.kpi--tile.is-link{cursor:pointer;transition:border-color .15s,box-shadow .15s}.kpi--tile.is-link:hover{border-color:var(--action-line);box-shadow:var(--shadow)}.kpi--tile.is-link:focus-visible{outline:2px solid var(--action);outline-offset:1px}.kpi__dot{width:8px;height:8px;border-radius:50%;flex:none}.kpi__value.is-bad{color:var(--danger)}.kpi--tile .passrate__track{display:block;width:100%;max-width:180px;margin:6px 0 4px}.track-clear{align-self:flex-end}.dash-track .dash-filter select{min-width:200px;max-width:100%}.bullets{display:flex;flex-direction:column;gap:4px}.bullets__row{display:grid;grid-template-columns:minmax(90px,26%) 1fr auto 7.5em;align-items:center;gap:12px;padding:6px 8px;border-radius:8px}.bullets__row:hover,.bullets__row:focus-visible{background:var(--surface-2)}.bullets__row:focus-visible{outline:2px solid var(--action)}.bullets__row.is-empty{opacity:.55}.bullets__label{display:flex;flex-direction:column;min-width:0}.bullets__track{position:relative;display:block;height:14px}.bullets__bar{display:block;height:100%;min-width:3px;border-radius:0 4px 4px 0}.bullets__tick{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--text);box-shadow:0 0 0 2px var(--surface)}.bullets__key-tick{display:inline-block;width:3px;height:12px;border-radius:2px;background:var(--text)}.bullets__value{font-size:12px;color:var(--text-muted);white-space:nowrap}.bullets__share .passrate__track{width:40px}.track-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.track-tools select{width:auto}.track-anchor{scroll-margin-top:16px}.track-projects td{vertical-align:top}.track-projects td:first-child{min-width:220px}.track-anchor .track-projects td:nth-child(3),.track-anchor .track-projects td:nth-child(5){white-space:nowrap}.track-projects .cell-sub .tat-pill{margin-top:2px}.track-dates{white-space:nowrap}.track-empty p{margin:6px 0 0;color:var(--text-muted)}.track-empty__list{margin:4px 0 0;padding-left:18px}.track-empty__list li{margin:2px 0}@media(max-width:640px){.bullets__row{grid-template-columns:1fr auto}.bullets__track{grid-column:1 / -1;grid-row:2}}.tile-tabs{display:grid;grid-template-columns:repeat(var(--tiles, 4),minmax(0,1fr));gap:14px;margin-top:22px}.tile-tab{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tile-tab:hover{border-color:var(--action-line)}.tile-tab:focus-visible{outline:2px solid var(--action);outline-offset:2px}.tile-tab.is-selected{border-color:var(--action);box-shadow:0 0 0 1px var(--action),var(--shadow);cursor:default}.tile-tab.is-selected:after{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;margin-left:-7px;background:var(--surface);border-right:2px solid var(--action);border-bottom:2px solid var(--action);transform:rotate(45deg)}.tile-tab__title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-tab__body{display:flex;align-items:center;gap:14px;min-width:0;min-height:64px}.tile-tab__lines{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px;color:var(--text-muted)}.tile-tab__line strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--text)}.tile-tab__line strong.is-bad{color:var(--danger)}.tile-tab__line strong.is-good{color:var(--success)}.mini-chart{flex:none;width:64px;height:64px}.mini-donut__track{fill:none;stroke:var(--surface-2);stroke-width:10}.mini-donut__total{font-size:15px;font-weight:700;fill:var(--text)}.mini-line{display:flex;align-items:center;width:72px}.mini-line .spark{margin:0;padding:0}.tile-detail{display:grid;gap:18px;min-width:0;margin-top:16px}.tile-showing{margin:0 0 -6px;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.tile-showing strong{color:var(--action)}.tile-tab__title--scoped{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-tab__name{flex-shrink:0}.tile-tab__scope{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:1px 8px;border-radius:var(--radius-pill);background:var(--action-soft, var(--surface-2));color:var(--action);font-size:11px;font-weight:700}.journey{display:grid;gap:14px;padding:6px 0 4px}.journey__bar{display:flex;gap:3px;height:22px;border-radius:6px;overflow:hidden}.journey__seg{min-width:6px;opacity:.55}.journey__seg.is-slowest{opacity:1}.journey__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none}.journey__steps li{display:grid;grid-template-columns:auto 1fr;align-items:center;align-content:start;column-gap:8px;row-gap:2px;font-size:13px;color:var(--text-muted)}.journey__steps i{width:10px;height:10px;border-radius:3px}.journey__steps strong{grid-column:2;font-size:20px;color:var(--text)}.journey__steps em{grid-column:2;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--viz-bad)}.journey__steps li.is-slowest span{color:var(--text);font-weight:600}.focus-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 18px;border:1px solid var(--border);border-left:3px solid var(--action);border-radius:var(--radius);background:var(--surface)}.focus-next__who{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0}.focus-next__customer{color:var(--text);font-size:15px}.focus-next__project{color:var(--action);font-size:17px}.focus-next__actions{display:flex;flex-wrap:wrap;gap:8px}.focus-next__code{margin-left:6px;color:var(--text-muted);font-size:13px;font-weight:500}.tick-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;padding:6px 8px;border-bottom:1px solid var(--border)}.tick-bar__all{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;cursor:pointer}.tick-bar__count{font-size:12px;color:var(--text-muted)}.table tr.is-pickable{cursor:pointer}.table tr.is-ticked td{background:var(--action-soft)}.project-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.project-pill{display:inline-flex;flex:none;align-items:center;gap:8px;max-width:280px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer}.project-pill:hover{background:var(--surface-2)}.project-pill.is-on{max-width:none;border-color:var(--action);background:var(--action-soft);font-weight:600}.project-pill__dot{flex:none;width:9px;height:9px;border-radius:50%}.project-pill__dot.is-none{border:1.5px solid var(--text-muted)}.project-pill__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-pill__count{color:var(--text-muted);font-size:12px}.tile-pair{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));align-items:start}.tile-detail>.dash-grid,.tile-detail>.kpis,.tile-detail>.attention,.tile-detail>.mt{margin-top:0}@media(max-width:900px){.tile-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-tab.is-selected:after{display:none}}@media(max-width:560px){.tile-tabs{grid-template-columns:1fr;gap:10px}.tile-tab{padding:10px 14px;gap:6px}.tile-tab__body{gap:12px;min-height:48px}.tile-tab__lines{flex-direction:row;flex-wrap:wrap;gap:2px 14px}.mini-chart{width:48px;height:48px}.mini-line{width:72px}}.bullets__value{font-variant-numeric:tabular-nums}.table tr.is-overdue>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.dash-view{transition:opacity .25s ease}.dash-view.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease .3s}.is-bad-text{color:var(--danger);font-weight:600}.is-good-text{color:var(--success);font-weight:600}.leaders-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.leaders{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.leader{display:grid;grid-template-columns:2em minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--border)}.leader:first-child{border-top:0}.leader__rank{font-size:12px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center}.leader__who{display:flex;flex-direction:column;min-width:0}.leader__who .cell-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader__detail{font-size:12px;color:var(--text)}.leader__badge{padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.leader--late .leader__badge{color:var(--danger-strong);background:var(--danger-soft)}.leader--early .leader__badge{color:var(--success-strong);background:var(--success-soft)}.dash-head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}body[data-dash-theme=dark]{background:#0b1622}.kd[data-theme=dark],.kd[data-theme=dark] .dash,.kd[data-theme=dark] .dash-card{color-scheme:dark;--bg: #0b1622;--surface: #112131;--surface-2: #172e43;--field: #0e1b29;--border: #22394f;--border-strong: #3a5670;--text: #e8eef4;--text-muted: #8fa3b6;--neutral-soft: #172e43;--brand: #c6f432;--brand-dark: #8fa3b6;--brand-soft: #142739;--brand-tint: #22394f;--action: #c6f432;--action-dark: #d8ff5e;--action-soft: rgba(198, 244, 50, .1);--action-tint: rgba(198, 244, 50, .28);--action-line: rgba(198, 244, 50, .55);--accent: #ffb86b;--accent-soft: rgba(255, 184, 107, .14);--accent-ink: #ffc996;--success: #3ddc97;--success-strong: #6ee7b7;--success-soft: rgba(61, 220, 151, .13);--success-line: rgba(61, 220, 151, .35);--danger: #ff8080;--danger-strong: #ffa3a3;--danger-soft: rgba(230, 103, 103, .15);--danger-line: rgba(230, 103, 103, .38);--danger-tint: rgba(230, 103, 103, .22);--warn: #f0c060;--warn-soft: rgba(240, 192, 96, .14);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);--shadow-lift: 0 16px 40px rgba(0, 0, 0, .45);--viz-good: #199e70;--viz-active: #3987e5;--viz-wait: #5b6e80;--viz-bad: #e66767;--viz-qc: #3987e5;--viz-seq: #d95926;--viz-bio: #199e70;--viz-fr: #c98500;--viz-s1: #3987e5;--viz-s2: #d95926;--viz-s3: #199e70;--viz-s4: #9085e9;--viz-late: #e66767;--viz-hold: #9085e9;--viz-soon: #c98500;--viz-ontrack: #3987e5;--heat-0: #16304a;--heat-1: #1b4268;--heat-2: #1f5590;--heat-3: #2a6fbd;--heat-4: #3987e5;--heat-5: #6aa7f0;--heat-6: #a8cdf8;--heat-ink-0: #c9dbee;--heat-ink-1: #d6e5f4;--heat-ink-2: #e8eef4;--heat-ink-3: #ffffff;--heat-ink-4: #ffffff;--heat-ink-5: #0b1622;--heat-ink-6: #0b1622}.kd[data-theme=dark],.kd[data-theme=dark] h1,.kd[data-theme=dark] h2,.kd[data-theme=dark] h3{color:var(--text)}.kd[data-theme=dark] .seg__btn.is-on,.kd[data-theme=dark] .btn--primary{color:#0b1622}.kd[data-theme=dark] .table th{background:#1e3a54;color:var(--text);border-bottom-color:var(--action-line)}.kd[data-theme=dark] .table tbody tr:nth-child(2n) td{background:#ffffff04}body[data-dash-theme=dark] .viz-tip{background:#172e43;color:#8fa3b6;border-color:#22394f;box-shadow:0 12px 30px #00000073}body[data-dash-theme=dark] .viz-tip strong,body[data-dash-theme=dark] .viz-tip__title{color:#e8eef4}.kd .page-head h1{font-family:var(--sans);font-weight:800;letter-spacing:-.025em;font-size:34px}.kd .tile-tab__title{font-size:13px;font-weight:600;color:var(--text-muted)}.kd .tile-tab__line strong{font-size:22px;font-weight:800;letter-spacing:-.02em}.kd .kpi__value{font-weight:800;letter-spacing:-.02em}.kd .card__title{font-weight:700;letter-spacing:-.01em}.kd .card,.kd .tile-tab,.kd .attention{border-radius:18px}.kd .mini-donut__total{font-weight:800}.kd[data-theme=dark] .tile-tab.is-selected{border-color:var(--action);box-shadow:0 0 0 1px var(--action),0 12px 32px #c6f43214}.kd[data-theme=dark] .tile-tab.is-selected .tile-tab__line:first-child strong:not(.is-bad){color:var(--action)}.kd[data-theme=dark] .tile-tab:hover:not(.is-selected){border-color:var(--border-strong)}.kd[data-theme=dark] .tile-showing strong{color:var(--action)}@media(prefers-reduced-motion:no-preference){.kd .tile-tab{animation:kd-rise .5s cubic-bezier(.2,.7,.2,1) both}.kd .tile-tab:nth-child(2){animation-delay:.06s}.kd .tile-tab:nth-child(3){animation-delay:.12s}.kd .tile-tab:nth-child(4){animation-delay:.18s}.kd .tile-tab:nth-child(5){animation-delay:.24s}.kd .tile-detail>*:not(.tile-showing){animation:kd-rise .45s .08s cubic-bezier(.2,.7,.2,1) both}.kd .tile-detail .tile-pair>*+*{animation:kd-rise .45s .16s cubic-bezier(.2,.7,.2,1) both}.kd .mini-donut circle:not(.mini-donut__track){animation:kd-ring .9s cubic-bezier(.2,.7,.2,1) both}.kd .donut__svg{animation:kd-spin-in .8s cubic-bezier(.2,.7,.2,1) both}.kd .hbars__bar,.kd .funnel__bar,.kd .bullets__bar,.kd .passrate__fill{transform-origin:left center;animation:kd-grow .8s .1s cubic-bezier(.2,.7,.2,1) both}.kd .cols svg path{transform-box:fill-box;transform-origin:bottom;animation:kd-col .7s .1s cubic-bezier(.2,.7,.2,1) both}.kd .lines svg,.kd .mini-line svg{animation:kd-trace 1s .1s cubic-bezier(.4,0,.2,1) both}}@keyframes kd-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes kd-fade{0%{opacity:0}}@keyframes kd-ring{0%{stroke-dasharray:0 158}}@keyframes kd-spin-in{0%{opacity:0;transform:rotate(-30deg) scale(.92)}}@keyframes kd-grow{0%{transform:scaleX(0)}}@keyframes kd-col{0%{transform:scaleY(0)}}@keyframes kd-trace{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.kd[data-theme=dark] .table .linkbtn,.kd[data-theme=dark] .table .linkbtn .strong,.kd[data-theme=dark] .table .table__link{color:var(--text)}.kd[data-theme=dark] .table .linkbtn:hover,.kd[data-theme=dark] .table .linkbtn:hover .strong,.kd[data-theme=dark] .table .table__link:hover{color:var(--action)}.kd .num{display:inline-block;font-variant-numeric:tabular-nums}.attn__ring .mini-chart{width:46px;height:46px}.attn__ring .mini-donut__total{font-size:17px}.leader{grid-template-columns:2em minmax(0,1fr) minmax(150px,34%)}.leader__measure{display:flex;align-items:center;gap:10px;min-width:0}.leader__track{flex:1;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.leader__bar{display:block;height:100%;border-radius:4px}.leader--late .leader__bar{background:var(--viz-late, #d03b3b)}.leader--early .leader__bar{background:var(--viz-good, #0ca30c)}.leader__badge{min-width:5.6em;text-align:center}.leaders-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;font-size:12px;color:var(--text-muted)}.leaders-pager span{margin-right:auto}@media(prefers-reduced-motion:no-preference){.kd .leader__bar{transform-origin:left center;animation:kd-grow .7s .1s cubic-bezier(.2,.7,.2,1) both}}.kd[data-theme=dark] .tile-tab{background:linear-gradient(180deg,#1a3249,#13263a);border-color:#2c4864;box-shadow:inset 0 1px #ffffff0f,0 10px 26px #0006}.kd[data-theme=dark] .tile-tab:hover:not(.is-selected){border-color:#3d5f80}.kd[data-theme=dark] .tile-tab.is-selected{background:linear-gradient(180deg,#1c3650,#14293e)}.kd[data-theme=dark] .card,.kd[data-theme=dark] .attention{background:linear-gradient(180deg,#15293d,#112131);border-color:#26405a;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #00000052}.attn-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px;margin-top:14px}.attn-tile{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:12px;background:var(--surface);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.attn-tile--critical{border-left-color:var(--danger)}.attn-tile--warning{border-left-color:var(--warn)}.attn-tile--info{border-left-color:var(--action)}.attn-tile:hover{border-color:var(--border-strong)}.attn-tile.is-selected{border-color:var(--action);box-shadow:0 0 0 1px var(--action)}.attn-tile:focus-visible{outline:2px solid var(--action);outline-offset:2px}.attn-tile__text{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.attn-tile__text strong{font-size:13.5px;line-height:1.3}.attn-tile--critical .attn__badge{background:var(--danger-soft);color:var(--danger)}.attn-tile--warning .attn__badge{background:var(--warn-soft);color:var(--warn)}.attn-tile--info .attn__badge{background:var(--action-soft);color:var(--action-dark)}.attn-detail{margin-top:14px}.attn-detail,.le-detail{scroll-margin-top:84px}.attn-detail__head{display:flex;align-items:center;gap:14px;padding:12px 14px}.kd[data-theme=dark] .attn-tile{background:linear-gradient(180deg,#1a3249,#13263a);border-top-color:#2c4864;border-right-color:#2c4864;border-bottom-color:#2c4864}.kd[data-theme=dark] .attn-tile.is-selected{border-top-color:var(--action);border-right-color:var(--action);border-bottom-color:var(--action)}@media(prefers-reduced-motion:no-preference){.kd .attn-detail{animation:kd-rise .4s cubic-bezier(.2,.7,.2,1) both}}.dash-filter>.seg{align-self:flex-start}.period-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.month-year{position:relative}.month-year__button{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.month-year__button:hover,.month-year__button[aria-expanded=true]{border-color:var(--action-line, var(--border-strong))}.month-year__caret{color:var(--text-muted);font-size:11px}.month-year__panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:264px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lift)}.month-year__years{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}.month-year__months{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.month-year__cell{padding:7px 0;min-width:56px;border:1px solid transparent;border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.month-year__years .month-year__cell{padding:5px 12px;border-radius:var(--radius-pill)}.month-year__cell:hover:not(:disabled):not(.is-on){border-color:var(--border-strong)}.month-year__cell.is-on{background:var(--action);color:#fff}.month-year__cell:disabled{color:var(--text-muted);opacity:.45;cursor:not-allowed}.month-year__cell:focus-visible,.month-year__button:focus-visible{outline:2px solid var(--action);outline-offset:1px}.month-year__whole{width:100%;margin-top:10px}.kd[data-theme=dark] .month-year__cell.is-on{color:#0b1622}.kd[data-theme=dark] .kpi,.kd[data-theme=dark] .dash-card .kpi{background:linear-gradient(180deg,#1a3249,#13263a);border-color:#2c4864;box-shadow:inset 0 1px #ffffff0f,0 8px 22px #00000052}.kd[data-theme=dark] .kpi--tile.is-link:hover{border-color:#3d5f80}.kd[data-theme=dark] .attn-detail{background:linear-gradient(180deg,#172d43,#122436);border-top-color:#2c4864;border-right-color:#2c4864;border-bottom-color:#2c4864}.breeze{--mark-1: #d6f1e5;--mark-2: #8fcfb9;--mark-vein: rgba(19, 41, 58, .55);--line: #f2faf7;--name: #f3faf7;display:inline-block;overflow:visible}.breeze g,.breeze path,.breeze text{transform-box:view-box}.breeze__stalk,.breeze__leaf{fill:none;stroke:var(--line);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.breeze__leaf{stroke-width:1.8}.breeze__dot{fill:var(--line);opacity:.75}.breeze__mark{transform-origin:46px 100px;filter:drop-shadow(0 0 4px rgba(160,235,215,.16))}.breeze__mark-stalk{fill:none;stroke:var(--mark-2);stroke-width:3.4;stroke-linecap:round}.breeze__mark-stalk--thin{stroke-width:2.4}.breeze__mark-vein{fill:none;stroke:var(--mark-vein);stroke-width:1;stroke-linecap:round}.breeze__tagword{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:4.6px;fill:#e2f0f0b8}.breeze__bullet{fill:#7fe6d6}.breeze__rule{stroke:#7fe6d6;stroke-width:2.6;stroke-linecap:round}.breeze__bullet,.breeze__mdot{transform-box:fill-box;transform-origin:center}.breeze__mdot{fill:#7fe6d6}.breeze--on-light .breeze__mdot{fill:var(--auth-accent-strong)}.breeze__name{font-family:"Kramam Soft",var(--brand-font);font-size:64px;font-weight:500;font-variation-settings:"SOFT" 100,"WONK" 0;letter-spacing:-.01em;fill:var(--name)}.breeze__caron{fill:none;stroke:var(--wordmark-mark, #a5f3fc);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.breeze--on-light{--mark-1: #6cc8b2;--mark-2: #1f7a6c;--mark-vein: rgba(255, 255, 255, .6);--name: #0f3d45}.breeze--on-light .breeze__mark{filter:none}.breeze--on-light .breeze__caron{stroke:var(--auth-accent-strong)}.auth__brand--breeze .breeze{display:block;margin-left:-8px}.brand--breeze{align-items:center;gap:18px}.brand--breeze .brand__tag{position:relative;top:5px;letter-spacing:.4px}.brand--breeze .breeze{display:block}.seg__count{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:var(--radius-pill);background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center}.tile-tab.is-disabled{opacity:.4;cursor:not-allowed}.heat__cell.is-pickable,.heat__total.is-pickable,.heat__name.is-pickable{cursor:pointer}.heat__total.is-pickable,.heat__name.is-pickable{border-radius:6px}.heat__total.is-pickable:hover,.heat__name.is-pickable:hover{background:var(--surface-2)}.heat__cell.is-pickable:hover{filter:brightness(1.08)}.heat__cell.is-picked,.heat__total.is-picked,.heat__name.is-picked{outline:2px solid var(--action);outline-offset:1px}.kpis--pickable>.is-picked .kpi{outline:2px solid var(--action);outline-offset:-2px}.kpis--pickable>div{display:flex}.kpis--pickable>div>.kpi{flex:1}.stage-days{white-space:nowrap}.stage-days.is-here{padding:2px 6px;border-radius:6px;background:var(--action-soft);font-weight:600}.stage-days.is-late{color:var(--viz-late);font-weight:600}.stage-days.is-near{color:var(--viz-soon);font-weight:600}.stage-times .cell-sub{white-space:normal}.workload-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.workload-head p{margin:0;font-size:15px}.workload-head__verdict{display:inline-flex;align-items:center}.dash .infotip{color:var(--text-muted)}.dash .infotip:hover,.dash .infotip.is-open{color:var(--text);background:var(--surface-2)}.infotip__card--guide{max-width:min(360px,calc(100vw - 16px));padding:12px 14px;line-height:1.45}.infotip__title{display:block;margin-bottom:4px;font-weight:600}.infotip__card--guide p+.infotip__label{margin-top:8px}body[data-dash-theme=dark] .infotip__card{background:#172e43;color:#e8eef4;border-color:#3a5670;box-shadow:0 12px 30px #00000073}body[data-dash-theme=dark] .infotip__label{color:#8fa3b6}.mirror{position:relative;width:100%}.mirror svg{display:block}.mirror__band{fill:var(--surface-2)}.mirror__band.is-picked{fill:var(--action-soft);stroke:var(--action);stroke-width:1.5}.strip{display:inline-flex;align-items:center;white-space:nowrap}.strip__cell{display:inline-flex;align-items:center;gap:3px}.strip__join{width:10px;height:2px;margin:0 3px;background:var(--border)}.strip__dot{width:10px;height:10px;border-radius:50%;background:var(--viz-wait)}.strip__cell.is-done .strip__dot{background:var(--viz-good)}.strip__cell.is-running .strip__dot{background:var(--viz-ontrack)}.strip__cell.is-late .strip__dot{background:var(--viz-late)}.strip__cell.is-hold .strip__dot{background:var(--viz-hold)}.strip__cell.is-failed .strip__dot{background:var(--viz-bad);border-radius:2px}.strip__cell.is-waiting .strip__dot{background:none;border:1.5px solid var(--text-muted)}.strip__cell.is-skipped .strip__dot{background:none;border:1.5px dashed var(--border)}.strip__n{font-size:11px;color:var(--text-muted)}.track-projects tr.is-pickable{cursor:pointer}.incident__resolved{margin-top:4px;font-size:13px}.incident-resolve{flex-basis:100%;margin-top:8px}.form-section+.form-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.clock-note{padding:10px 16px;border:1px solid var(--action-line);border-radius:var(--radius-lg);background:var(--action-soft)}.clock-note__toggle{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:600;text-align:left;cursor:pointer}.clock-note__toggle .card__chevron{margin-left:auto}.clock-note__toggle[aria-expanded=true] .card__chevron{transform:rotate(-135deg) translate(-2px,-2px)}.clock-note__toggle:focus-visible{outline:2px solid var(--action);outline-offset:4px;border-radius:4px}.clock-note__icon{display:inline-flex;color:var(--action)}.clock-note__body{padding:6px 0 2px 28px;font-size:14px;color:var(--text)}.clock-note__body p{margin:6px 0 0}.tick-bar__go{margin-left:auto}.project-pills__change{flex:none;margin-left:4px}.tick-bar__cancel{margin-left:auto}.skel{display:block;height:10px;border-radius:5px;background:var(--neutral-soft, rgba(127, 127, 127, .18))}.skel-row td{padding-top:18px;padding-bottom:18px}@keyframes row-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rows-rise>tr:nth-child(-n+10){animation:row-rise .2s ease-out both}.rows-rise>tr:nth-child(2){animation-delay:25ms}.rows-rise>tr:nth-child(3){animation-delay:50ms}.rows-rise>tr:nth-child(4){animation-delay:75ms}.rows-rise>tr:nth-child(5){animation-delay:.1s}.rows-rise>tr:nth-child(6){animation-delay:125ms}.rows-rise>tr:nth-child(7){animation-delay:.15s}.rows-rise>tr:nth-child(8){animation-delay:175ms}.rows-rise>tr:nth-child(9){animation-delay:.2s}.rows-rise>tr:nth-child(10){animation-delay:225ms}@media(prefers-reduced-motion:reduce){.rows-rise>tr{animation:none!important}}.skel--line{display:inline-block;width:320px;max-width:60%;height:12px}.skel--title{display:inline-block;width:360px;max-width:70%;height:1.15em;vertical-align:middle}.scorecard td:first-child{min-width:210px}.hbars__row.is-picked{background:var(--action-soft);outline:2px solid var(--action);outline-offset:-2px}.stage-samples__chips{margin-bottom:12px}.donut__slice.is-picked{stroke:var(--action);stroke-width:2}.donut__legend li.is-pickable{cursor:pointer;border-radius:6px}.donut__legend li.is-pickable:hover,.donut__legend li.is-pickable:focus-visible{background:var(--surface-2)}.donut__legend li.is-picked{outline:2px solid var(--action);outline-offset:-2px;border-radius:6px}.donut__slice.is-pickable{cursor:pointer}.ntabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.ntabs__tab{padding:9px 14px;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer}.ntabs__tab:hover{color:var(--text)}.ntabs__tab.is-on{color:var(--action-dark);border-bottom-color:var(--action)}.ntabs__panel{padding-bottom:96px}.ntabs__panel>.card,.ntabs__panel>.errorbox{margin-top:20px}.nprofiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:20px}.nprofile{gap:6px}.nprofile__name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700}.nprofile__base,.nprofile__dirty{padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nprofile__base{background:var(--accent-soft);color:var(--accent-ink)}.nprofile__dirty{background:var(--warn-soft);color:var(--warn)}.nprofile__desc{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nprofile__lines{flex-direction:row;gap:16px}.nprofile__lines .tile-tab__line strong{display:block}.nprofile--new{display:grid;place-content:center;min-height:108px;border:1px dashed var(--action-line);border-radius:var(--radius-lg);background:transparent;font:inherit;font-weight:600;color:var(--action-dark);cursor:pointer}.nprofile--new:hover{background:var(--action-soft)}.nform{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-top:14px;padding:14px 16px}.nform .field{flex:1 1 220px;margin:0}.nform__actions{display:flex;gap:8px}.ngrid{margin-top:22px;padding:0;overflow:hidden}.ngrid__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:14px 16px 10px}.ngrid__head .tile-showing{margin:0}.ngrid__who{flex:1;margin:0;font-size:13px;color:var(--text-muted)}.ngrid__tools{display:flex;align-items:center;gap:10px}.nswitch{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);cursor:pointer}.nchips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.nkey{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 16px 12px;font-size:12px;color:var(--text-muted)}.nkey span{display:inline-flex;align-items:center;gap:6px}.nkey{margin:0 16px 12px;padding:6px 12px;border-radius:8px;background:var(--surface-2);cursor:default;-webkit-user-select:none;user-select:none}.nkey__label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nkey__swatch{position:relative;display:inline-block;width:12px;height:12px;border:1.5px solid var(--border-strong);border-radius:3px;background:#fff}.nkey__swatch.is-on{border-color:var(--action);background:var(--action)}.nkey__swatch.is-follow.is-on{border-color:#86b3c4;background:#86b3c4}.nkey__swatch.is-changed:after{content:"";position:absolute;top:-4px;right:-4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.ngrid__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.nact{display:inline-flex;align-items:center;gap:6px;font-weight:600}.nact__icon{width:16px;height:16px}.btn--danger.nact{border-color:var(--danger)}.btn--danger.nact:disabled{border-color:var(--danger-line);opacity:.55;cursor:not-allowed}.ngrid__why{font-size:12.5px;color:var(--text-muted)}.nlog__filter{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.ngrid__scroll{max-height:64vh;overflow:auto;border-top:1px solid var(--border)}.ntable{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}.ntable thead{position:sticky;top:0;z-index:3}.ntable thead th{background:var(--surface-2);font-size:12.5px;font-weight:700;text-align:center}.ntable__r1 th{padding:8px 4px 2px}.ntable__r2 th{padding:2px 4px 6px;border-bottom:1px solid var(--border);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.ntable th.ntable__ev{position:sticky;left:0;z-index:1;padding-left:16px;border-bottom:1px solid var(--border);text-align:left}.ntable td{border-bottom:1px solid var(--border);text-align:center;vertical-align:middle}.ntable td.ntable__ev{position:sticky;left:0;z-index:1;min-width:260px;padding:8px 12px 8px 16px;border-right:1px solid var(--border);background:var(--surface);text-align:left}.ntable__grp{border-left:1px solid var(--border)}.ntable__name{font-weight:600}.ntable__lock{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:11.5px;color:var(--text-muted)}.ntable__area td{position:sticky;left:0;padding:7px 16px;background:var(--action-soft);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--action-dark);text-align:left}.ntable__c{position:relative;width:72px;padding:6px 2px}.nbox{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:2px solid var(--border-strong);border-radius:6px;background:#fff;vertical-align:middle;cursor:pointer}.nbox:hover:not(:disabled){border-color:var(--action)}.nbox:focus-visible{outline:2px solid var(--action);outline-offset:2px}.nbox.is-on{border-color:var(--action);background:var(--action)}.nbox.is-on:before{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}.nbox.is-follow.is-on{border-color:#86b3c4;background:#86b3c4}.nbox.is-changed:after{content:"";position:absolute;top:-5px;right:-5px;width:8px;height:8px;border:1.5px solid var(--surface);border-radius:50%;background:var(--accent)}.nbox.is-dirty{outline:2px solid var(--warn);outline-offset:2px}.nbox:disabled{opacity:.35;cursor:not-allowed}.nreset{position:absolute;top:50%;left:calc(50% + 14px);padding:0 2px;border:0;background:none;font:inherit;font-size:13px;color:var(--accent-ink);cursor:pointer;transform:translateY(-50%)}.nna{color:var(--border-strong);opacity:.6}.nlock{width:13px;height:13px;flex:none}.nsave{position:fixed;right:0;bottom:0;left:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--rail);color:var(--rail-ink-strong);box-shadow:0 -6px 20px #00000026}.nsave__who{font-size:13px;color:var(--rail-ink)}.nsave__discard{border:1px solid var(--rail-line);background:transparent;color:var(--rail-ink-strong)}.nlog__customer{display:block;font-size:12px;color:var(--text-muted)}.nlog__detail{white-space:pre-line;font-size:13px}@media(max-width:560px){.nprofiles{grid-template-columns:1fr}}body:has(.nsave) .toast-stack{bottom:84px}.ntable td.ntable__empty{padding:24px 16px;color:var(--text-muted);text-align:left}.ndrawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end}.ndrawer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#11271c52;cursor:default}.ndrawer__panel{position:relative;display:flex;flex-direction:column;width:min(560px,100vw);height:100%;background:var(--surface);box-shadow:-8px 0 30px #0000002e}.ndrawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.ndrawer__head h2{margin:0;font-size:17px}.ndrawer__close{border:0;background:none;font-size:24px;line-height:1;color:var(--text-muted);cursor:pointer}.ndrawer__body{display:grid;align-content:start;gap:14px;padding:16px 20px 32px;overflow-y:auto}.nsum__lead{margin:0;color:var(--text-muted)}.nsum__area h3{margin:4px 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--action-dark)}.nsum__area ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.nsum__area li{display:grid;gap:1px;padding:6px 0;border-bottom:1px solid var(--border)}.nsum__event{font-weight:600}.nsum__who{font-size:13px;color:var(--text-muted)}.nsum__who--none{font-style:italic}.nsum__more{margin:0;font-size:13px}.nchips--flush{padding:0}.nmail{border:1px solid var(--border);border-radius:var(--radius);background:var(--field)}.nmail__subject{margin:0;padding:10px 14px;border-bottom:1px solid var(--border);font-weight:700}.nmail__body{margin:0;padding:12px 14px;white-space:pre-wrap;font-family:inherit;font-size:13.5px;line-height:1.55}.ntable__preview{display:inline-block;margin-left:8px;font-size:12px}.ndrawer__body>.btn{justify-self:start}.nmail__html{width:100%;height:62vh;border:1px solid var(--border);border-radius:var(--radius);background:#e8f0f4}.outbox__from{display:block;margin-top:4px;font-size:12.5px;font-weight:400}.dash-prep{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:360px}.dash-prep.is-on{animation:prep-in .25s ease both}@keyframes prep-in{0%{opacity:0}}.stage-spin{position:relative;flex:none;width:96px;height:96px}.stage-spin--sm{zoom:.6}.stage-spin--xs{zoom:.55}.stage-spin--sm .stage-spin__stage b{font-size:13px}.stage-spin--xs .stage-spin__stage b{font-size:14px}.stage-spin.is-spinning .stage-spin__runner{animation:ring-turn 4.2s linear infinite}@keyframes ring-turn{to{transform:rotate(360deg)}}.dash-slot{position:relative}.dash-busy{position:sticky;top:40vh;z-index:20;height:0}.dash-busy__card{position:absolute;top:0;left:50%;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;transform:translate(-50%);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:999px;box-shadow:var(--shadow-lift);font-size:14px;font-weight:600;white-space:nowrap;animation:prep-in .2s ease .3s both}.stage-spin__runner{position:absolute;top:0;right:0;bottom:0;left:0}.stage-spin__bead{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(var(--a))}.stage-spin__bead:before{content:"";position:absolute;top:11px;left:50%;width:calc(3px + var(--s) * 4px);height:calc(3px + var(--s) * 4px);border-radius:50%;background:var(--text);opacity:calc(.25 + var(--s) * .65);transform:translate(-50%,-50%)}.stage-spin__stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transform:rotate(calc(var(--i) * 90deg))}.stage-spin__stage i{position:absolute;top:1px;left:50%;display:grid;place-items:center;width:20px;height:20px;margin-left:-10px;border:2px solid var(--c);border-radius:50%;background:var(--surface);font-style:normal}.stage-spin__stage b{font-size:11px;font-weight:800;line-height:1;color:var(--c);transform:rotate(calc(var(--i) * -90deg))}.dash-prep__title{margin:0;font-size:15px;font-weight:600;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.dash-prep.is-on,.stage-spin.is-spinning .stage-spin__runner{animation:none}}.ship-form{display:grid;gap:14px}.ship-actions{display:flex;gap:8px}.ship-batches{display:grid;gap:6px}.ship-batch__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ship-batch__row .linkbtn{display:inline;font-size:13px}.ship-batch__samples{margin:4px 0 6px 26px;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}.ship-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.ship-files{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.ship-files li{display:flex;align-items:center;gap:10px}.ship-files .linkbtn{display:inline}.ship-files--edit li.is-removed span:first-child{text-decoration:line-through;color:var(--text-muted)}.ship-follow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.ship-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-muted);vertical-align:1px}.ship-detail-row>td{background:var(--surface)}.ship-actions-cell{display:inline-flex;align-items:center;gap:6px}.ship-icon{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--brand);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.ship-icon svg{width:18px;height:18px}.ship-icon:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-tint)}.ship-icon:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.ship-icon.is-active,.ship-icon.is-active:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:var(--surface)}.ship-icon:disabled{color:var(--border-strong);opacity:.45;cursor:default}.ship-icon__count{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent);color:var(--surface);font-size:10.5px;font-weight:700;line-height:17px;text-align:center}.ship-icon.is-active .ship-icon__count{background:var(--accent-ink)}.ship-panel{margin:2px 0 6px;padding:14px 16px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ship-panel__head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ship-panel__head h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.ship-panel__icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--brand-soft);color:var(--brand)}.ship-panel__icon svg{width:15px;height:15px}.ship-panel__count{padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:700}.ship-panel__close{margin-left:auto;width:28px;height:28px;border:0;border-radius:8px;background:none;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer}.ship-panel__close:hover{background:var(--surface-2);color:var(--text)}.ship-panel__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.ship-card{display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:14px}.ship-card .muted{font-size:13px}.ship-card__toggle{align-self:flex-start;margin-top:2px;font-size:13px}.ship-card__ids{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ship-card__ids span{padding:1px 6px;border-radius:6px;background:var(--surface);border:1px solid var(--border);font-size:12px}.ship-panel__files{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ship-panel__files li{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.ship-panel__files .linkbtn{overflow-wrap:anywhere;text-align:left}.ship-panel__files .muted{margin-left:auto;font-size:13px;white-space:nowrap}.ship-panel__file-icon{display:inline-flex;color:var(--text-muted)}.ship-panel__file-icon svg{width:16px;height:16px}.ship-panel__remarks{margin:0;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.ship-timeline{list-style:none;margin:0;padding:0 0 0 6px}.ship-timeline>li{position:relative;padding:0 0 14px 22px}.ship-timeline>li:before{content:"";position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.ship-timeline>li:not(:last-child):after{content:"";position:absolute;left:4.5px;top:18px;bottom:0;width:1px;background:var(--border-strong);opacity:.5}.ship-timeline>li:last-child{padding-bottom:0}.ship-timeline>li:last-child:before{background:var(--surface);border:2px solid var(--brand);width:6px;height:6px}.ship-timeline__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.ship-timeline__head .muted{font-size:13px}.ship-timeline__lines{margin:6px 0 0;padding:8px 12px;list-style:none;border-radius:var(--radius);background:var(--surface-2);font-size:14px;display:grid;gap:3px;overflow-wrap:anywhere}.content:has(>.cnp-wrap){max-width:none}.cnp-wrap{position:relative;z-index:0;width:fit-content;--cnp-grid: #c9d3cc}.cnp{border-collapse:separate;border-spacing:0;font-size:13px;border-top:1px solid var(--cnp-grid);border-left:1px solid var(--cnp-grid)}.cnp th,.cnp td{border-right:1px solid var(--cnp-grid);border-bottom:1px solid var(--cnp-grid);background:var(--surface)}.cnp thead th{position:sticky;top:0;z-index:2;background:var(--brand-soft);border-bottom-color:var(--brand-tint);color:var(--brand-dark);font-size:11px;font-weight:600;vertical-align:bottom}.cnp .cnp__project{position:sticky;left:0;z-index:1;width:230px;min-width:230px;max-width:230px;padding:8px 14px;text-align:left;font-weight:400}.cnp thead .cnp__project{z-index:3;text-transform:uppercase;letter-spacing:.12em;padding-bottom:12px}.cnp__name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cnp__customer{display:block;font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cnp__count{width:52px;min-width:52px;text-align:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.cnp thead .cnp__count{text-transform:uppercase;letter-spacing:.12em;padding-bottom:12px}.cnp td.cnp__count.is-full{color:var(--action-dark)}.cnp thead .cnp__step{width:70px;min-width:70px;max-width:70px;padding:38px 0 12px;text-align:center;vertical-align:bottom}.cnp__no{position:absolute;top:12px;left:0;right:0;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.cnp__label{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:12px;font-weight:500;line-height:1.2}.cnp__cell{position:relative;height:56px;padding:4px 2px;text-align:center;vertical-align:middle}.cnp__cell input[type=checkbox]{display:block;margin:0 auto;width:17px;height:17px;cursor:pointer;accent-color:var(--action)}.cnp__day{display:block;margin:4px auto 0;padding:0;border:0;background:none;font:inherit;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;cursor:pointer}.cnp__day:hover{color:var(--action-dark);text-decoration:underline}.cnp__picker{position:absolute;left:50%;bottom:4px;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.cnp tbody tr:hover>*{background:var(--surface-2)}.cnp tbody tr.is-focus>*{background:var(--action-soft)}.cnp tbody tr.is-focus>.cnp__project{box-shadow:inset 4px 0 0 var(--action)}.cnp tbody .cnp__cell.is-fresh{background:var(--success-soft);box-shadow:inset 0 0 0 2px var(--success)}.cnp__cell.is-fresh .cnp__day{color:var(--success-strong)}.sop-table td{vertical-align:middle}.sop-table__minor{font-weight:600}.sop-table td:nth-child(4),.sop-table td:nth-child(5){white-space:nowrap}.sop-table__action{text-align:right;white-space:nowrap}.sop-table tr.is-open td{border-bottom-color:transparent}.sop-table__versions>td{padding-top:0;background:var(--surface-2)}.sop-versions{display:grid;gap:2px;margin:0;padding:10px 0 4px;list-style:none}.sop-versions li{display:flex;align-items:flex-start;gap:12px;padding:8px 4px}.sop-versions li+li{border-top:1px solid var(--border)}.sop-versions__main{display:grid;gap:2px;min-width:0}.sop-versions__file{font-weight:600}.sop-versions__remarks{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.sop-label{flex:0 0 auto;min-width:34px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:700;text-align:center}.sop-form{display:grid;gap:14px}.sop-note{padding:10px 12px;border-radius:8px;background:var(--brand-soft);font-size:14px;line-height:1.5}.sop-form__saved-as{margin:0;align-self:center;font-size:14px}.sop-form-wrap{scroll-margin-top:16px}.sop-grid>.table-wrap:last-child{margin:0;border:0;border-top:1px solid var(--border);border-radius:0;overflow-x:auto}.sop-grid .ntable__area td{position:static}.sop-table tr[id]{scroll-margin-top:80px}.batch-details--form{padding:12px 14px 4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.batch-details__head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.batch-details__head h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.batch-details__note{font-size:12px;color:var(--text-muted)}.batch-details__actions{display:flex;gap:8px;margin:4px 0 6px}.batch-details__history{margin-top:12px}.batch-details__history summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted)}.batch-details__history .ship-history{margin-top:8px}.ship-history{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ship-history__who{font-size:12px;font-weight:600;color:var(--text-muted)}.ship-history ul{margin:2px 0 0;padding-left:18px}.batch-table__flag{margin-left:8px;vertical-align:middle}.bd-card{margin-bottom:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.bd-card--flat{margin-bottom:0;padding:0;border:0;box-shadow:none;background:none}.bd-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bd-card__head h4{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}.bd-card__empty{margin:0}.bd-card__foot{display:flex;justify-content:flex-end;margin-top:12px}.bd-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bd-tile{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.bd-tile--wide{grid-column:1 / -1}.bd-tile__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.bd-tile__value{font-size:15px;font-weight:600;word-break:break-word}.bd-sops{display:grid;gap:6px;margin:2px 0 0;padding:0;list-style:none}.bd-sops li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.bd-sops .linkbtn{display:inline;font-weight:600}.bd-sops__where{font-size:12px;font-weight:400;color:var(--text-muted)}.bd-lock{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted)}@media(max-width:760px){.bd-tiles{grid-template-columns:1fr}}.sop-picker{position:relative;min-width:0}.sop-picker__button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:44px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--field);color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.sop-picker__button:hover:not(:disabled){border-color:var(--border-strong)}.sop-picker__button[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.sop-picker__button.is-invalid{border-color:var(--danger)}.sop-picker__button:disabled{cursor:not-allowed;border-style:dashed;color:var(--text-muted)}.sop-picker__summary{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sop-picker__summary.is-empty{color:var(--text-muted)}.sop-picker__chevron{flex-shrink:0;font-size:12px}.sop-picker__panel{position:absolute;z-index:30;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;width:max(100%,340px);max-height:400px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 10px #0000000a,0 16px 36px #0000001f}.sop-picker__group+.sop-picker__group{margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}.sop-picker__group-label{padding:6px 8px 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sop-picker__option{display:flex;align-items:flex-start;gap:10px;padding:8px;border-radius:8px;cursor:pointer;font-size:14px}.sop-picker__option:hover{background:var(--surface-2)}.sop-picker__option input{margin-top:3px}.sop-picker__option small{display:block;font-size:12px;color:var(--text-muted)}.sop-picker__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px}.sop-picker__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px solid var(--border);background:var(--surface-2)}.sop-picker__count{font-size:12px;font-weight:600;color:var(--text-muted)}.dash-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.status-search{width:320px;max-width:100%}.status-batches{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.status-batch{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:120px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.status-batch:hover:not(.is-on){border-color:var(--border-strong)}.status-batch.is-on{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.status-batch:focus-visible{outline:2px solid var(--action);outline-offset:2px}.status-batch__title{font-weight:700;font-size:14px}.status-batch__count{font-size:12px;color:var(--text-muted)}.status-card{margin-top:18px;transition:opacity .25s ease}.status-card.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease .3s}.status-count{margin:0 0 12px;color:var(--text-muted)}.status-count strong{color:var(--text)}.status-count .status-count__late{color:var(--danger)}.status-empty{margin:8px 0 16px}.status-table td.status-cell{white-space:nowrap}.status-cell .badge{text-transform:none}.status-cell .status-progress{background:color-mix(in srgb,var(--viz-active) 18%,transparent);color:var(--text)}.status-cell .status-progress:before{background:var(--viz-active)}.status-late{display:block;margin-top:3px;font-size:12px;font-weight:700;color:var(--danger)}.status-skipped{font-style:italic}.status-views{margin:4px 0 18px}.act-day{--day: var(--action);position:relative;min-width:150px;padding-right:52px;border-left:3px solid var(--day)}.act-day--yesterday{--day: var(--accent)}.act-day--tomorrow{--day: color-mix(in srgb, var(--viz-active) 70%, #fff)}.status-batch.act-day.is-on{border-color:var(--day);box-shadow:inset 0 0 0 1px var(--day);background:color-mix(in srgb,var(--day) 10%,var(--surface))}.act-day:hover:not(.is-on){border-left-color:var(--day)}.act-day:focus-visible{outline-color:var(--day)}.act-day__count{position:absolute;top:50%;right:14px;transform:translateY(-50%);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.act-day__count{color:var(--day)}.act-groups{margin-top:12px;gap:8px}.act-group{flex-direction:row;align-items:baseline;gap:10px;min-width:0;padding:8px 12px}.act-group__title{font-size:13px;font-weight:600}.act-group__count{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.act-group.is-on .act-group__count{color:var(--action)}.kd[data-theme=dark] .act-group{background:var(--surface-2);border-color:color-mix(in srgb,var(--border-strong) 70%,var(--border))}.kd[data-theme=dark] .act-group:hover:not(.is-on){border-color:var(--text-muted)}.act-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}.act-head .status-count{margin:0}.act-table td.status-cell .act-due{background:color-mix(in srgb,var(--viz-active) 18%,transparent);color:var(--text)}.act-table .act-table__act{width:1%;text-align:right;white-space:nowrap}.confirm-dialog{width:min(460px,calc(100vw - 32px))}.confirm-dialog h2{font-size:18px}.confirm-dialog__message p{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--text-muted);white-space:pre-line}.ntabs__panel--plain{padding-bottom:0}.row-panel>td{background:var(--surface-2, transparent)}.role-change{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.role-change .field{min-width:240px}.role-form{display:grid;gap:14px;max-width:640px}.role-form__pages{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));column-gap:14px}.role-form__pages legend,.role-form__pages .field__hint{grid-column:1 / -1}.no-access{max-width:520px;margin:48px auto 0;text-align:center}.no-access__title{margin:0 0 8px;font-size:20px}.no-access__body{margin:0 0 20px;color:var(--text-muted)}.crash{max-width:520px;margin:15vh auto 0;padding:0 16px;text-align:center}.crash__title{margin:0 0 8px;font-size:22px}.crash__body{margin:0 0 20px;color:var(--text-muted)}
