@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/poppins-pxiEyp8kv8JHgFVrJJbecmNE-CJDn6rn8.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/poppins-pxiEyp8kv8JHgFVrJJnecmNE-by3JarPu.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/poppins-pxiEyp8kv8JHgFVrJJfecg-cpxAROuN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLGT9Z11lFc-K-BIdkeU1p.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLGT9Z1JlFc-K-CK-6C4Hw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLGT9Z1xlFQ-C8OXljZJ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLEj6Z11lFc-K-STEjXBNN.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLEj6Z1JlFc-K-CAhIAdZj.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLEj6Z1xlFQ-zEkxB9Mr.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLCz7Z11lFc-K-O-jipLrW.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLCz7Z1JlFc-K-cby-RkWa.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/poppins-pxiByp8kv8JHgFVrLCz7Z1xlFQ-Qrb0O0WB.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-50: #EEF2FF;--primary-100: #E0E7FF;--primary-200: #C7D2FE;--primary-300: #A5B4FC;--primary-400: #818CF8;--primary-500: #6366F1;--primary-600: #4F46E5;--primary-700: #4338CA;--primary-800: #3730A3;--primary-900: #312E81;--neutral-0: #FFFFFF;--neutral-50: #F8FAFC;--neutral-100: #F1F5F9;--neutral-200: #E7EBF0;--neutral-300: #CFD6E0;--neutral-400: #98A2B3;--neutral-500: #667085;--neutral-600: #475467;--neutral-700: #344054;--neutral-800: #1D2939;--neutral-900: #101828;--success-50: #ECFDF5;--success-100: #D1FAE5;--success-600: #059669;--success-700: #047857;--warning-50: #FFFBEB;--warning-100: #FEF3C7;--warning-600: #D97706;--warning-700: #B45309;--error-50: #FEF2F2;--error-100: #FEE2E2;--error-600: #DC2626;--error-700: #B91C1C;--info-50: var(--primary-50);--info-600: var(--primary-600);--bg: #FFFFFF;--surface: #FFFFFF;--surface-muted: var(--neutral-50);--border: var(--neutral-200);--border-strong: var(--neutral-300);--text: var(--neutral-900);--text-secondary:var(--neutral-600);--text-muted: var(--neutral-500);--text-inverse: #FFFFFF;--focus-ring: 0 0 0 3px var(--primary-100);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans: "Poppins", sans-serif;--font-mono: "Poppins", sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 21px;--text-2xl: 26px;--text-3xl: 32px;--text-4xl: 38px;--weight-regular: 400;--weight-medium: 500;--weight-semibold:600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed:1.65;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);--shadow-xl: 0 20px 24px -4px rgba(16, 24, 40, .1), 0 8px 8px -4px rgba(16, 24, 40, .04);--sidebar-width: 268px;--sidebar-rail-width: 72px;--topbar-height: 68px;--appbar-height: 64px;--transition: .15s cubic-bezier(.4, 0, .2, 1);--chart-1: var(--primary-700);--chart-2: var(--primary-500);--chart-3: var(--primary-300);--chart-4: var(--neutral-300);--chart-muted: var(--neutral-200);--chart-line: var(--primary-600);--chart-area: color-mix(in srgb, var(--primary-400) 28%, transparent);--chart-good: linear-gradient(90deg, var(--primary-500) 0%, var(--primary-700) 100%);--chart-partial: linear-gradient(90deg, var(--primary-200) 0%, var(--primary-400) 100%);--chart-bar-top: var(--primary-400);--chart-bar-bottom: var(--primary-700)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{font-family:var(--font-sans)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--text)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{margin:0}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--primary-700)}button,input,select,textarea,optgroup,option{font-family:var(--font-sans);font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--neutral-300);border:3px solid var(--bg);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:40px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-600);color:var(--text-inverse);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled),a.btn-primary:hover:not(:disabled){background:var(--primary-700);color:var(--text-inverse)}.btn-primary:active:not(:disabled),a.btn-primary:active:not(:disabled){background:var(--primary-800);color:var(--text-inverse)}.btn-danger{background:var(--error-600);color:var(--text-inverse)}.btn-danger:hover:not(:disabled),a.btn-danger:hover:not(:disabled){background:var(--error-700);color:var(--text-inverse)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-secondary);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--neutral-50);color:var(--text);border-color:var(--neutral-400)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--neutral-100);color:var(--text)}.btn-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--primary-700);cursor:pointer;text-decoration:none;white-space:nowrap}.btn-link:hover{color:var(--primary-800);text-decoration:underline}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{height:46px;padding:0 var(--space-6);font-size:var(--text-md)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2)}.label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.label .inline-spinner{margin-left:var(--space-2);vertical-align:middle;font-weight:var(--weight-regular);font-size:var(--text-xs)}.label .spinner{width:11px;height:11px;border-width:1.5px}.input,.select,.textarea{width:100%;padding:0 var(--space-3);height:40px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.textarea{height:auto;min-height:84px;padding:var(--space-3);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--neutral-400)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--neutral-50);color:var(--text-muted);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error-600)}.password-field{position:relative}.password-field .input{padding-right:2.75rem}.password-toggle{position:absolute;top:50%;right:.625rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition),background var(--transition)}.password-toggle:hover:not(:disabled){color:var(--text-secondary);background:var(--neutral-100)}.password-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%23667085' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.field-hint{font-size:var(--text-sm);color:var(--text-muted)}.field-required{color:var(--error-600);font-weight:var(--weight-semibold)}.field-error{font-size:var(--text-sm);color:var(--error-600);font-weight:var(--weight-medium)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border)}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.card-body{padding:var(--space-6)}.card-body-flush{padding:0}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--space-3)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;white-space:nowrap}.badge-neutral{background:var(--neutral-100);color:var(--neutral-700)}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-error{background:var(--error-50);color:var(--error-700)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table thead th{padding:var(--space-3) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}.table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--neutral-50)}.table-clickable tbody tr{cursor:pointer}.table-clickable tbody tr.is-selected{background:var(--primary-50)}.table-clickable tbody tr:focus-visible{outline:2px solid var(--primary-400);outline-offset:-2px}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cell-strong{font-weight:var(--weight-medium);color:var(--text)}.cell-muted{color:var(--text-muted)}.cell-mono{font-family:var(--font-sans);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center}.state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-500)}.state-icon-warning{background:var(--warning-50);color:var(--warning-600)}.state-icon-error{background:var(--error-50);color:var(--error-600)}.state-title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.state-text{font-size:var(--text-base);color:var(--text-muted);max-width:44ch}.skeleton{background:linear-gradient(90deg,var(--neutral-100) 25%,var(--neutral-200) 37%,var(--neutral-100) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-text{height:12px}.skeleton-row{height:44px;border-radius:var(--radius-md)}.spinner{width:16px;height:16px;border:2px solid var(--primary-200);border-top-color:var(--primary-600);border-radius:var(--radius-full);animation:spin .7s linear infinite}.spinner-light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base)}.banner-info{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-800)}.banner-success{background:var(--success-50);border-color:var(--success-100);color:var(--success-700)}.banner-warning{background:var(--warning-50);border-color:var(--warning-100);color:var(--warning-700)}.banner-error{background:var(--error-50);border-color:var(--error-100);color:var(--error-700)}.banner-title{font-weight:var(--weight-semibold)}.banner-body{flex:1;display:flex;flex-direction:column;gap:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-6);background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .15s ease}.modal{width:100%;max-width:520px;max-height:calc(100vh - var(--space-12));display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:modal-in .18s cubic-bezier(.16,1,.3,1)}.modal-lg{max-width:720px}.modal-xl{max-width:920px;width:calc(100vw - var(--space-8))}.modal-xl .modal-body{max-height:min(78vh,780px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border)}.modal-body{padding:var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--space-3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-region{position:fixed;top:var(--space-6);right:var(--space-6);bottom:auto;z-index:600;display:flex;flex-direction:column;gap:var(--space-3);width:min(380px,calc(100vw - var(--space-6) * 2));pointer-events:none}.toast-region>*{pointer-events:auto}.toast{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + 2px);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary-600);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toast-in .22s cubic-bezier(.16,1,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translate(16px) scale(.98)}to{opacity:1;transform:none}}.toast-icon{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;margin-top:1px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-600)}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.toast-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);line-height:var(--leading-tight)}.toast-message{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);overflow-wrap:anywhere}.toast-errid{align-self:flex-start;margin-top:4px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--neutral-100);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.toast-action{align-self:flex-start;margin-top:var(--space-2);padding:0;border:0;background:none;color:var(--primary-600);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.toast-action:hover{color:var(--primary-700)}.toast-close{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;margin:-1px -4px 0 0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.toast-close:hover{background:var(--neutral-100);color:var(--text)}.toast-success{border-left-color:var(--success-600)}.toast-success .toast-icon{background:var(--success-50);color:var(--success-600)}.toast-success .toast-timer{background:var(--success-600)}.toast-warning{border-left-color:var(--warning-600)}.toast-warning .toast-icon{background:var(--warning-50);color:var(--warning-600)}.toast-warning .toast-timer{background:var(--warning-600)}.toast-error{border-left-color:var(--error-600)}.toast-error .toast-icon{background:var(--error-50);color:var(--error-600)}.toast-error .toast-timer{background:var(--error-600)}.toast-info .toast-timer{background:var(--primary-600)}.progress{height:6px;background:var(--neutral-100);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;border-radius:var(--radius-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border)}.tab{padding:var(--space-3) var(--space-4);border:none;border-bottom:2px solid transparent;background:none;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--text)}.tab-active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.tabs-segment{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--neutral-50, var(--neutral-100));gap:2px;margin-bottom:var(--space-4)}.tabs-segment .tab{border-bottom:none;border-radius:calc(var(--radius-md) - 1px);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.tabs-segment .tab-active{background:var(--surface);color:var(--primary-700);box-shadow:var(--shadow-sm);border-bottom-color:transparent}.filter-bar .tabs-sub{border-bottom:none;flex-shrink:0;flex-wrap:wrap;gap:var(--space-1)}.filter-bar .tabs-sub .tab{border-bottom:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.filter-bar .tabs-sub .tab-active{background:var(--primary-50);color:var(--primary-700);border-bottom-color:transparent;font-weight:var(--weight-semibold)}.alerts-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.escalation-info-heading{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.escalation-info-copy{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-muted)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-2{display:flex;flex-direction:column;gap:var(--space-2)}.stack-6{display:flex;flex-direction:column;gap:var(--space-6)}.row{display:flex;align-items:center;gap:var(--space-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.row-wrap{flex-wrap:wrap}.grow{flex:1}.skeleton-stack{display:grid;gap:var(--space-2)}.skeleton-list{display:grid;gap:var(--space-4);padding:var(--space-4)}.card-body>.skeleton-list{padding:0}.skeleton-list-row{display:flex;align-items:flex-start;gap:var(--space-3)}.skeleton-chart{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4)}.skeleton-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-2);height:100%}.skeleton-chart-col .skeleton:first-child{width:100%}.inline-spinner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.route-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:300;pointer-events:none;background:transparent}.route-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));border-radius:0 var(--radius-full) var(--radius-full) 0;animation:route-progress-creep 8s cubic-bezier(.1,.8,.2,1) forwards}@keyframes route-progress-creep{0%{width:0}25%{width:42%}60%{width:72%}to{width:90%}}.route-progress-done{animation:route-progress-finish .2s ease-out forwards}@keyframes route-progress-finish{to{width:100%;opacity:0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none!important;background:var(--neutral-100)}.spinner{animation-duration:1.6s}.route-progress-bar{animation:none!important;width:60%}.route-progress-done{animation:none!important;width:100%}}.boot-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:var(--bg)}.boot-splash-label{font-size:var(--text-sm);color:var(--text-muted)}.boot-splash-track{width:168px;height:3px;border-radius:var(--radius-full);background:var(--neutral-100);overflow:hidden}.boot-splash-fill{display:block;width:40%;height:100%;border-radius:var(--radius-full);background:var(--primary-600);animation:boot-sweep 1.2s ease-in-out infinite}@keyframes boot-sweep{0%{transform:translate(-110%)}to{transform:translate(360%)}}@media(prefers-reduced-motion:reduce){.boot-splash-fill{animation-duration:2.4s}}.mfa-qr-wrap{display:flex;justify-content:center;padding:var(--space-4);margin-top:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.mfa-qr{display:block;border-radius:var(--radius-sm)}.mfa-qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4)}.mfa-manual-toggle{margin-top:var(--space-2);padding-left:0}.mfa-manual-key{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);background:var(--neutral-50);border-radius:var(--radius-md)}.mfa-secret{display:block;padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;word-break:break-all;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.recovery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.recovery-grid code{display:block;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-md)}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--bg);overflow-x:clip;transition:grid-template-columns var(--transition)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);transition:transform var(--transition),border-color var(--transition),width var(--transition)}.brand{display:flex;align-items:center;gap:var(--space-3);min-height:var(--appbar-height);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0}.logo{display:inline-flex;align-items:center;gap:var(--space-3)}.logo-word{font-weight:var(--weight-bold);letter-spacing:-.03em;line-height:1;color:var(--text)}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:1.2}.brand-sub{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-powered{flex-shrink:0;margin-top:auto;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex;justify-content:center}.powered-by{display:flex;flex-direction:column;align-items:center;gap:6px}.powered-by-label{font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);line-height:1}.powered-by-logo{display:block;height:22px;width:auto;max-width:120px;object-fit:contain;object-position:center}.powered-by-on-dark .powered-by-label{color:#ffffffa6}.setup-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.setup-checklist li{display:flex;flex-direction:column;gap:4px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted)}.setup-checklist li.is-todo{border-color:var(--primary-200);background:var(--primary-50)}.setup-checklist li.is-done{opacity:.72}.setup-checklist strong{font-size:var(--text-sm);color:var(--text)}.setup-checklist span{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}.auth-powered{margin-top:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--border);display:flex;justify-content:center}.auth-powered .powered-by{align-items:center}.auth-powered .powered-by-logo{height:26px;max-width:140px}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade var(--dur-fast) linear both}.onboarding-backdrop.is-fullscreen{padding:0;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.onboarding-panel{position:relative;width:min(100%,520px);max-height:min(92vh,720px);overflow:auto;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-6) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xl)}.onboarding-panel.is-fullscreen{width:100%;max-width:none;max-height:none;height:100%;min-height:100%;border-radius:0;border:none;box-shadow:none;justify-content:center;align-items:center;padding:var(--space-8)}.onboarding-panel.is-fullscreen .onboarding-step{width:min(100%,36rem);align-items:center}.onboarding-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease)}.onboarding-close:hover{background:var(--neutral-100);color:var(--text)}.onboarding-dismiss-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-6);border-radius:inherit;background:#fffffff5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.onboarding-progress{display:flex;flex-direction:column;gap:var(--space-2);padding-right:var(--space-8)}.onboarding-progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.onboarding-progress-phase{color:var(--primary-600);text-transform:none;letter-spacing:normal;font-size:var(--text-sm)}.onboarding-progress-track{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.onboarding-progress-seg{height:4px;border-radius:var(--radius-full);background:var(--neutral-200);transition:background var(--dur-base) var(--ease)}.onboarding-progress-seg.is-active{background:var(--primary-400)}.onboarding-progress-seg.is-done{background:var(--primary-600)}.onboarding-step{display:flex;flex-direction:column;gap:var(--space-5);min-height:200px}.onboarding-hero,.onboarding-form{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);line-height:1.25}.onboarding-lead{margin:0;font-size:var(--text-base);color:var(--text-secondary);line-height:1.5}.onboarding-text{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.onboarding-text-center{text-align:center}.onboarding-foot{display:flex;align-items:center;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2)}.onboarding-foot-stack{flex-direction:column;align-items:stretch}.onboarding-foot-stack .grow{display:none}.onboarding-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4) 0 var(--space-2);text-align:center}.onboarding-success-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);background:var(--success-50);color:var(--success-600);animation:onboarding-pop var(--dur-base) var(--ease-out) both}.onboarding-success-lg .onboarding-success-icon{width:72px;height:72px;animation:onboarding-pop-lg var(--dur-slow) var(--ease-out) both}.onboarding-success-label{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);line-height:1.35;animation:rise var(--dur-base) var(--ease-out) 80ms both}.onboarding-success-lg .onboarding-success-label{font-size:var(--text-xl)}.pending-diff-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.pending-diff-row:last-child{border-bottom:none}.pending-diff-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary)}.pending-diff-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.pending-diff-tag{display:inline-block;margin-bottom:4px;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pending-diff-tag-new{color:var(--primary-600)}.pending-diff-cols p{margin:0;font-size:var(--text-sm);color:var(--text)}.user-skill-sections{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.user-skill-sections.is-embedded{margin-top:0;padding-top:0;border-top:none}.user-skill-sections.is-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.user-skill-sections.is-columns>.user-skill-on-file{grid-column:1 / -1}.user-form-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);align-items:start}.user-form-layout.is-single{grid-template-columns:minmax(0,1fr);max-width:28rem}.user-form-panel{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.user-form-panel-title{margin:0;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.user-form-grid .span-full{grid-column:1 / -1}@media(max-width:768px){.user-form-layout,.user-skill-sections.is-columns,.user-form-grid{grid-template-columns:minmax(0,1fr)}}.user-skill-intro,.user-skill-on-file{margin:0}.user-skill-existing{display:flex;flex-direction:column;gap:var(--space-3)}.user-skill-existing-head,.user-skill-add-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.user-cert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.user-cert-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.user-cert-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)}.user-cert-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.user-cert-row-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:2px}.user-cert-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--neutral-50)}.user-cert-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.user-cert-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.user-skill-form{min-width:0}.cert-upload{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface)}.cert-upload.is-disabled{opacity:.55;pointer-events:none}.cert-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.cert-upload-trigger{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);cursor:pointer;white-space:nowrap}.cert-upload-trigger:hover{border-color:var(--primary-300);color:var(--primary-700)}.cert-upload-meta{flex:1;min-width:0;font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-skill-section{display:flex;flex-direction:column;gap:var(--space-3)}.user-skill-toggle{align-items:flex-start;gap:var(--space-3);cursor:pointer}.user-skill-toggle strong{display:block;font-size:var(--text-sm);color:var(--text)}.user-skill-fields{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted)}.file-input{padding:var(--space-2) var(--space-3);cursor:pointer}.file-input::file-selector-button{margin-right:var(--space-3);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.file-input::file-selector-button:hover{border-color:var(--primary-300)}.nav-section{padding:var(--space-4) var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--neutral-400);text-transform:uppercase;letter-spacing:.06em}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.nav-link:hover{background:var(--neutral-100);color:var(--text)}.nav-link-active{background:var(--primary-50);color:var(--primary-700)}.nav-link svg{flex-shrink:0}.nav-count{margin-left:auto;padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--neutral-100);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted)}.nav-link-active .nav-count{background:var(--primary-100);color:var(--primary-700)}.nav-count-alert{background:var(--error-50);color:var(--error-700)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.main{display:flex;flex-direction:column;min-width:0}.page-title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.page{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.page-below-toolbar{padding-top:var(--space-4)}.page-narrow{max-width:880px}.config-board{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.config-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.config-board-head-action{align-items:center;border-bottom:none;padding:var(--space-5)}.config-board-head-action .btn{flex-shrink:0}.config-board-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold)}.config-board-sub{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.config-rows{display:flex;flex-direction:column}.config-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);align-items:start}.config-row:last-child{border-bottom:none}.config-row-focused{background:var(--primary-50);box-shadow:inset 0 0 0 1px var(--primary-200)}.config-row-copy{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.config-row-label{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.config-info-btn{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition),background var(--transition)}.config-info-btn:hover,.config-info-btn.is-open{color:var(--primary-700);background:var(--primary-50, var(--neutral-50))}.config-row-hint{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.config-row-copy .banner{margin-top:var(--space-1)}.config-row-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.config-input-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.config-input-wrap .input{width:7.5rem;text-align:right}.config-unit{font-size:var(--text-sm);color:var(--text-muted);min-width:2.5rem}.config-row-meta{grid-column:1 / -1;font-size:var(--text-xs);color:var(--text-muted)}.config-row-toggle{align-items:center}.config-row-weights,.config-row-threshold{grid-template-columns:minmax(0,1fr)}.config-row-weights .config-row-controls,.config-row-threshold .config-row-controls{grid-column:1 / -1;flex-direction:column;align-items:stretch;width:100%}.config-weights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.config-weight-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.config-weight-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.config-weight-hint{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.config-weights-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.config-weights-total{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.config-weights-total.is-invalid{color:var(--error-600, #dc2626)}.config-threshold-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4)}.config-threshold-field{display:flex;flex-direction:column;gap:var(--space-1)}.config-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.config-switch input{position:absolute;opacity:0;width:0;height:0}.config-switch-track{position:relative;width:2.75rem;height:1.5rem;border-radius:999px;background:var(--border-strong, var(--border));transition:background .15s ease;flex-shrink:0}.config-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform .15s ease}.config-switch input:checked+.config-switch-track{background:var(--accent, #2563eb)}.config-switch input:checked+.config-switch-track:after{transform:translate(1.25rem)}.config-switch input:disabled+.config-switch-track{opacity:.5}.config-switch-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);min-width:1.75rem}.config-danger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-2);padding:var(--space-5);border:1px solid var(--error-100);background:var(--error-50);border-radius:var(--radius-lg)}.config-danger-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--error-700)}.config-danger-text{margin:4px 0 0;font-size:var(--text-sm);color:var(--error-700);max-width:48ch}@media(max-width:640px){.config-row{grid-template-columns:1fr}.config-danger,.config-board-head-action{flex-direction:column;align-items:stretch}.config-board-head-action .btn{width:100%}}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.kpi-grid.has-action{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.kpi-grid,.kpi-grid.has-action,.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.kpi-grid,.kpi-grid.has-action,.kpi-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{display:flex;flex-direction:column;gap:6px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition),background var(--transition)}.kpi-link{cursor:pointer;text-decoration:none;color:inherit;outline:none}.kpi-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--primary-200);background:var(--primary-50)}.kpi-link:focus-visible{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.kpi-link:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.kpi-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1.25}.kpi-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-600)}.kpi-icon-success{background:var(--success-50);color:var(--success-600)}.kpi-icon-warning{background:var(--warning-50);color:var(--warning-600)}.kpi-icon-error{background:var(--error-50);color:var(--error-600)}.kpi-value-row{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.kpi-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.kpi-prev{font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:var(--neutral-400);opacity:.85;line-height:1}.kpi-meta{font-size:var(--text-xs);color:var(--text-muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-change{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 6px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:1}.kpi-change svg{flex-shrink:0}.kpi-change-up{color:var(--success-700);background:var(--success-50)}.kpi-change-down{color:var(--error-700);background:var(--error-50)}.kpi-change-flat{color:var(--neutral-500);background:var(--neutral-100);font-weight:var(--weight-medium)}.kpi-action{text-decoration:none;color:inherit;cursor:pointer;border-style:dashed;border-color:var(--primary-200);background:linear-gradient(145deg,var(--primary-50) 0%,var(--surface) 70%);justify-content:space-between;flex-direction:row;align-items:center;gap:var(--space-3)}.kpi-action:hover{border-style:solid;border-color:var(--primary-400);background:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-action:focus-visible{border-style:solid;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.kpi-action-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.kpi-action-title{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--primary-700);letter-spacing:-.01em;line-height:1.3}.kpi-action:hover .kpi-action-title{color:var(--primary-800)}.kpi-action-art{flex-shrink:0;display:grid;place-items:center;opacity:.95}.page-dashboard{background:var(--neutral-50);margin:0;border-radius:0}.dash-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.dash-welcome-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.dash-welcome-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.25;margin:0}.dash-welcome-text{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.dash-priority{overflow:visible}.dash-priority .dash-priority-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.dash-priority-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.01em}.dash-priority-head-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-left:auto}.dash-priority-head-group{display:inline-flex;align-items:center;gap:var(--space-3)}.dash-priority-head-msg{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.dash-priority-body{display:grid;grid-template-columns:1fr;gap:0}.dash-priority-body.is-split{grid-template-columns:1fr 1fr}@media(max-width:900px){.dash-priority-body.is-split{grid-template-columns:1fr}}.dash-priority-block{display:flex;flex-direction:column;min-width:0;min-height:0}.dash-priority-body.is-split .dash-priority-block+.dash-priority-block{border-left:1px solid var(--border)}@media(max-width:900px){.dash-priority-body.is-split .dash-priority-block+.dash-priority-block{border-left:0;border-top:1px solid var(--border)}}.dash-priority-link{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--primary-700);text-decoration:none;white-space:nowrap}.dash-priority-link:hover{color:var(--primary-800);text-decoration:underline}.dash-priority-table{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.dash-priority-row{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto 16px;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-5);color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}.dash-priority-table li:last-child .dash-priority-row{border-bottom:0}.dash-priority-row:hover{background:var(--primary-50)}.dash-priority-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-priority-row:hover .dash-priority-name{color:var(--primary-700)}.dash-priority-meta{font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.dash-priority-row .operator-code{font-size:var(--text-xs)}.dm-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}@media(max-width:1100px){.dm-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dm-quick-grid{grid-template-columns:1fr}}.dm-quick-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:inherit;text-decoration:none;min-height:72px;transition:border-color var(--transition),background var(--transition)}.dm-quick-card:hover{border-color:var(--primary-300);background:var(--primary-50)}.dm-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--primary-100);color:var(--primary-700);flex-shrink:0}.dm-quick-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dm-quick-copy strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dm-quick-copy span{font-size:var(--text-xs);color:var(--text-muted);line-height:1.35}.dm-attention-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--border-subtle, var(--border))}.dm-attention-row:last-child{border-bottom:0}.dm-attention-row:hover .cell-strong{color:var(--primary-700)}.kpi-tone-warn .kpi-value{color:var(--warning-700, var(--error-700))}.dash-welcome-date{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.dash-welcome-date-mark{display:grid;place-items:center;color:var(--text-muted)}.dash-period{position:relative;flex-shrink:0}.dash-period-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.dash-period-btn:hover,.dash-period-btn.is-open{border-color:var(--primary-300);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md)}.dash-period-btn:focus-visible{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.dash-period-mark{display:grid;place-items:center;color:var(--text-muted)}.dash-period-label{min-width:5.5rem;text-align:left}.dash-period-menu{right:0;left:auto;width:auto;min-width:11rem;margin-top:6px}.dash-period-menu .popover-item.is-active{color:var(--primary-700);background:var(--primary-50);font-weight:var(--weight-semibold)}.dash-card-foot{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--primary-700)}.dash-card-foot:hover{color:var(--primary-800)}.dash-card-foot.dash-view-all:hover{color:var(--primary-900)}.dash-charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:stretch}.dash-charts>.card{display:flex;flex-direction:column;min-width:0}.dash-charts>.card>.card-header{padding:var(--space-4) var(--space-5)}.dash-charts>.card>.card-body{flex:1;display:flex;flex-direction:column;padding:var(--space-3) var(--space-5) var(--space-4)}.dash-charts>.card>.card-body>.cat-chart{flex:1}.dash-charts .card-title{font-size:var(--text-base)}.dash-charts .card-subtitle{font-size:var(--text-xs)}@media(max-width:900px){.dash-charts{grid-template-columns:1fr}}.dash-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:stretch}.dash-triple>.card{display:flex;flex-direction:column;min-width:0;min-height:0}.dash-triple>.card>.card-header{padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-shrink:0}.dash-triple>.card>.card-body,.dash-triple>.card>.card-body.stack{flex:1 1 auto;min-height:0;overflow:hidden;padding:var(--space-3) var(--space-5) var(--space-4)}.dash-triple .dash-card-fill{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;height:100%}.dash-triple .dash-card-scroll{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.dash-triple .dash-card-fill>.cat-chart{flex:1 1 auto;min-height:180px;justify-content:center}.dash-triple .dash-card-fill>.cat-chart .cat-svg{max-height:none;flex:1 1 auto;height:100%;min-height:180px}.dash-triple .dash-card-foot{margin-top:auto;flex-shrink:0;padding-top:var(--space-1)}.dash-triple .dash-card-caption{margin:auto 0 0;flex-shrink:0;font-size:var(--text-sm)}.dash-triple .card-title{font-size:var(--text-base)}.dash-triple .card-subtitle{font-size:var(--text-xs)}@media(max-width:1180px){.dash-triple{grid-template-columns:1fr 1fr}}@media(max-width:780px){.dash-triple{grid-template-columns:1fr}}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}@media(max-width:1180px){.dash-grid{grid-template-columns:1fr}}.card-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.dash-view-all{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-300);background:var(--primary-50);color:var(--primary-800);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background var(--transition),border-color var(--transition),color var(--transition)}.dash-view-all:hover{background:var(--primary-100);border-color:var(--primary-500);color:var(--primary-900)}.dash-view-all:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-100)}.dash-view-all-wrap{position:relative;display:inline-flex}.dash-matrix-tip{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:240px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}.dash-view-all-wrap:hover .dash-matrix-tip,.dash-view-all-wrap:focus-within .dash-matrix-tip{opacity:1;visibility:visible;transform:translateY(0)}.dash-matrix-tip-title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.dash-matrix-tip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.dash-matrix-tip-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.dash-matrix-tip-foot{margin:var(--space-3) 0 0;padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);line-height:1.35}.dash-card-foot.dash-view-all{margin-top:auto;align-self:flex-start}.page-dashboard .card{transition:box-shadow var(--transition),border-color var(--transition);overflow:visible}.page-dashboard .card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md)}.dash-view-all-wrap:hover,.dash-view-all-wrap:focus-within{z-index:5}.chart-view-toggle{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-50, var(--neutral-100));gap:2px}.chart-view-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition),color var(--transition)}.chart-view-btn:hover{color:var(--text);background:var(--surface)}.chart-view-btn.is-active{background:var(--surface);color:var(--primary-700);box-shadow:var(--shadow-sm)}.cat-chart{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:180px;padding:var(--space-5) var(--space-4);text-align:center}.chart-empty-visual{position:relative;width:132px;height:88px;display:grid;place-items:center}.chart-empty-svg{width:120px;height:72px}.chart-empty-grid{stroke:var(--border)}.chart-empty-bar{fill:var(--primary-200, #c7d2fe);transform-origin:bottom center;transform-box:fill-box}.chart-empty-line{stroke:var(--primary-400, #818cf8);fill:none;stroke-dasharray:160;stroke-dashoffset:160}.chart-empty-dot{fill:var(--primary-600, #4f46e5);opacity:0}.chart-empty-badge{position:absolute;right:4px;bottom:2px;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--primary-700);box-shadow:var(--shadow-sm)}.chart-empty-title{margin-top:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.chart-empty-text{margin:0;max-width:32ch;font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.chart-empty-list-frame{fill:var(--primary-50, #eef2ff);stroke:var(--primary-200, #c7d2fe);stroke-width:1.5}.chart-empty-list-row{fill:var(--primary-200, #c7d2fe)}.chart-empty-list-dot{fill:var(--primary-400, #818cf8)}.chart-empty-metric{fill:var(--primary-50, #eef2ff);stroke:var(--primary-200, #c7d2fe);stroke-width:1.5}.cat-svg{width:100%;height:auto;max-height:240px;aspect-ratio:420 / 200;display:block}.cat-grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.cat-axis-line{stroke:var(--border-strong, var(--neutral-300, #cbd5e1));stroke-width:1;vector-effect:non-scaling-stroke}.cat-axis-tick,.cat-axis-label,.cat-point-value{font-family:inherit}.cat-axis-tick{fill:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.cat-axis-label{fill:var(--text-secondary);font-weight:500}.cat-point-value{font-weight:600;fill:var(--text);font-variant-numeric:tabular-nums}.cat-line-path{stroke:var(--chart-line);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cat-area-path{pointer-events:none}.cat-bar-rect{transition:height var(--transition),y var(--transition)}.cat-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-height:0}.cat-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1.2;color:var(--text-muted);max-width:100%}.cat-swatch{width:7px;height:7px;border-radius:2px;flex-shrink:0}.cat-unit{margin-left:auto;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.esg-section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-3)}.kpi-grid-esg{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.kpi-grid-esg{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.kpi-grid-esg{grid-template-columns:1fr 1fr}}.esg-panel{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-6);background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.esg-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.esg-panel-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.esg-panel-subtitle{margin:2px 0 0;font-size:var(--text-sm);color:var(--text-muted)}.esg-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}.esg-group{min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.esg-group+.esg-group{padding-left:var(--space-6);border-left:1px solid var(--border)}.esg-group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.esg-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3) var(--space-4);margin:0}.esg-metric{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0}.esg-metric dt{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-medium)}.esg-metric-value{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}.esg-metric-value.is-good{color:var(--primary-700)}.esg-metric-value.is-warn{color:var(--primary-800)}.esg-metric-unit{margin-left:2px;font-size:var(--text-base);font-weight:var(--weight-medium)}.esg-metric-meta{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.esg-panel-note{margin:0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-relaxed)}@media(max-width:1100px){.esg-split{grid-template-columns:1fr;gap:var(--space-5)}.esg-group+.esg-group{padding-left:0;border-left:0;padding-top:var(--space-5);border-top:1px solid var(--border)}}@media(max-width:720px){.esg-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.esg-panel{padding:var(--space-4)}}.donut-row{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.donut{position:relative;flex-shrink:0}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.donut-total{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.donut-total-label{font-size:var(--text-xs);color:var(--text-muted)}.legend{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-width:180px}.legend-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base)}.legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label{flex:1;color:var(--text-secondary)}.legend-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.matrix-wrap{overflow-x:auto}.matrix{width:100%;border-collapse:separate;border-spacing:0}.matrix th,.matrix td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border)}.matrix thead th{position:sticky;top:0;z-index:2;background:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;white-space:nowrap}.matrix thead th:first-child,.matrix tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;min-width:220px;box-shadow:1px 0 0 var(--border)}.matrix thead th:first-child{z-index:3}.matrix tbody tr:hover td,.matrix tbody tr:hover td:first-child{background:var(--neutral-50)}.matrix tbody td{text-align:center}.grade-cell{display:inline-grid;place-items:center;width:30px;height:26px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.grade-c{background:var(--success-50);color:var(--success-700)}.grade-p{background:var(--warning-50);color:var(--warning-700)}.grade-n{background:var(--error-50);color:var(--error-700)}.grade-none{background:var(--neutral-100);color:var(--neutral-400)}.grade-cell-expired{box-shadow:inset 0 0 0 1.5px var(--error-600)}.operator-cell{display:flex;align-items:center;gap:var(--space-3)}.operator-name{font-weight:var(--weight-medium)}.operator-code{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono)}.qual-cell{display:flex;align-items:center;gap:var(--space-3);min-width:130px}.qual-track{flex:1}.qual-value{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.assign-hero{display:flex;justify-content:center;align-items:center;min-height:min(62vh,560px);padding:var(--space-6) var(--space-4)}.assign-hero-card{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);text-align:center}.assign-hero-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:var(--radius-lg);background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-100)}.assign-hero-title{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text);line-height:1.2}.assign-hero-copy{margin:calc(var(--space-2) * -1) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.assign-hero-fields{display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.assign-hero-select{min-height:48px;font-size:var(--text-md);font-weight:var(--weight-medium)}.assign-hero-cta{width:100%;min-height:48px;font-size:var(--text-md);justify-content:center}.assign-toolbar{display:flex;justify-content:center;margin-bottom:var(--space-5);padding:var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.assign-toolbar-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:var(--space-3);width:100%;max-width:420px}.assign-toolbar-field{flex:1 1 220px;min-width:180px}.assign-toolbar-cta{flex:0 0 auto;min-height:42px}.rec-card{padding:var(--space-5);border:1px solid var(--primary-200);border-radius:var(--radius-lg);background:var(--primary-50)}.rec-head{display:flex;align-items:center;gap:var(--space-4)}.rec-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-full);background:var(--primary-600);color:var(--text-inverse);font-weight:var(--weight-semibold);font-size:var(--text-md);flex-shrink:0}.rec-name{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.rec-meta{font-size:var(--text-sm);color:var(--text-secondary)}.rec-score{margin-left:auto;text-align:right}.rec-score-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--primary-700);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.rec-score-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.assign-result-card .card-header{border-bottom:1px solid var(--border)}.assign-pick-intro{margin:0;padding:var(--space-4) var(--space-5) 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.assign-pick-intro strong{color:var(--text);font-weight:var(--weight-semibold)}.assign-pick{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5)}.assign-pick-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-full);background:var(--primary-600);color:var(--text-inverse);font-weight:var(--weight-semibold);font-size:var(--text-md);flex-shrink:0}.assign-pick-main{flex:1;min-width:0}.assign-pick-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.assign-pick-meta{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.assign-pick-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.assign-pick-expiry{font-size:var(--text-xs);color:var(--text-secondary)}.assign-pick-match{flex-shrink:0;text-align:right;padding-left:var(--space-3)}.assign-pick-match-value{display:block;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--primary-700);font-variant-numeric:tabular-nums;line-height:1.1}.assign-pick-match-label{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.assign-pick-note{padding:0 var(--space-5) var(--space-4)}.assign-pick-foot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface-muted)}.assign-row-flag{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--warning-700)}.breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.breakdown-item{display:flex;flex-direction:column;gap:var(--space-2)}.breakdown-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.breakdown-label{font-size:var(--text-sm);color:var(--text-secondary)}.breakdown-weight{font-size:var(--text-xs);color:var(--text-muted)}.breakdown-value{font-size:var(--text-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.need-source{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:help}.need-source-flag{background:var(--error-50);color:var(--error-700)}.need-source-gap{background:var(--warning-50);color:var(--warning-700)}.need-source-renewal{background:var(--primary-50);color:var(--primary-700)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}}.auth-panel{display:grid;place-items:center;padding:var(--space-8);background:var(--surface)}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-5)}.auth-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.auth-brand-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--text)}.auth-brand-sub{font-size:var(--text-sm);color:var(--text-muted)}.auth-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:var(--space-6);padding:var(--space-16);background:linear-gradient(150deg,var(--primary-600) 0%,var(--primary-800) 55%,var(--primary-900) 100%);color:var(--text-inverse)}.auth-aside>.auth-matrix{z-index:0}.auth-aside:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(80% 55% at 28% 50%,rgba(49,46,129,.55) 0%,transparent 78%),linear-gradient(100deg,rgba(49,46,129,.45) 6%,transparent 62%)}.auth-aside>div{position:relative;z-index:1}.auth-aside h2{color:var(--text-inverse);font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.15}.auth-aside p{margin-top:var(--space-3);color:var(--primary-100);font-size:var(--text-md);line-height:var(--leading-relaxed);max-width:38ch}.auth-points{display:flex;flex-direction:column;gap:var(--space-4)}.auth-point{display:flex;align-items:flex-start;gap:var(--space-3)}.auth-point-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-full);background:#ffffff29;color:#fff;flex-shrink:0}.auth-point-text{font-size:var(--text-base);color:var(--primary-50);padding-top:2px}.demo-hint{padding:var(--space-3) var(--space-4);background:var(--neutral-50);border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-muted)}.demo-hint code{font-family:var(--font-mono);color:var(--text-secondary);font-size:var(--text-xs)}.demo-accounts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-2)}.demo-account{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-xs);text-align:left;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.demo-account:hover{border-color:var(--primary-400);background:var(--primary-50)}.demo-account strong{display:block;color:var(--text);font-weight:var(--weight-semibold)}.demo-account span{color:var(--text-muted);font-family:var(--font-mono)}.filter-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.filter-bar-trailing{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.filter-bar-controls-row{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0}.filter-bar-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;flex-wrap:wrap}.filter-bar-compact .search-field{flex:0 1 280px;max-width:320px;min-width:160px;margin-left:auto}.filter-bar-compact.filter-bar-controls-end .search-field{margin-left:0;flex:1 1 auto;min-width:8rem;max-width:14rem}.filter-bar-controls-end .filter-bar-trailing{flex-wrap:nowrap;justify-content:flex-end}.filter-bar-controls-end .filter-bar-controls-row{flex:1 1 auto;justify-content:flex-end;max-width:100%}@media(max-width:640px){.filter-bar-controls-end .filter-bar-controls-row{flex-wrap:wrap;justify-content:flex-start}.filter-bar-compact.filter-bar-controls-end .search-field{flex:1 1 100%;max-width:none}}.filter-bar .select,.filter-bar .select-filter{width:auto;flex:0 0 auto;min-width:10.5rem;max-width:14rem}.view-switch{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-50, var(--neutral-100));gap:2px;flex-shrink:0}.view-switch-btn{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap}.view-switch-btn:hover{color:var(--text);background:var(--surface)}.view-switch-btn.is-active{background:var(--surface);color:var(--primary-700);box-shadow:var(--shadow-sm)}.search-field{position:relative;flex:1;min-width:180px}.filter-bar>.row{flex-wrap:wrap}.search-field .input{padding-left:36px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--neutral-400);pointer-events:none}.list-view-toggle{display:inline-flex;padding:2px;background:var(--neutral-100);border-radius:var(--radius-md);gap:2px;flex-shrink:0}.list-view-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:6px 10px;border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;transition:background var(--transition),color var(--transition)}.list-view-btn:hover{color:var(--text);background:var(--surface)}.list-view-btn.is-active{background:var(--surface);color:var(--primary-700);box-shadow:var(--shadow-sm)}.sortable-th{padding:0!important;white-space:nowrap}.sortable-th-btn{display:inline-flex;align-items:center;gap:6px;width:100%;padding:10px 12px;border:0;background:transparent;font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:inherit;cursor:pointer;text-align:inherit}.sortable-th-btn:hover,.sortable-th.is-sorted .sortable-th-btn{color:var(--primary-700)}.sortable-th-indicator{font-size:11px;opacity:.45;font-weight:400;text-transform:none;letter-spacing:0}.sortable-th.is-sorted .sortable-th-indicator{opacity:1}.sortable-th-wrap{display:inline-flex;align-items:center;gap:2px;width:100%}.sortable-th-wrap .sortable-th-btn{width:auto;flex:1;min-width:0}.info-tip{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.info-tip-btn{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition),background var(--transition)}.info-tip-btn:hover,.info-tip-btn[aria-expanded=true]{color:var(--primary-700);background:var(--primary-50, var(--neutral-50))}.info-tip-popover{position:absolute;z-index:50;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:min(300px,80vw);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:left;font-weight:var(--weight-normal);text-transform:none;letter-spacing:normal}.info-tip-popover:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border)}.info-tip-lead{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);line-height:1.45}.info-tip-body,.info-tip-fix{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.info-tip-fix{margin-bottom:0;color:var(--text-muted)}.quarantine-hint{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);background:var(--warning-50, #fffbeb);border:1px solid var(--warning-100, #fef3c7);border-radius:var(--radius-lg)}.quarantine-status{display:inline-flex;align-items:center;gap:var(--space-1)}.account-subnav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.account-subnav-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition)}.account-subnav-link:hover{border-color:var(--primary-300);color:var(--primary-700)}.account-subnav-link.is-active{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.audit-categories{display:flex;flex-wrap:wrap;gap:var(--space-2)}.audit-cat{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-full);padding:6px 12px;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.audit-cat:hover{border-color:var(--primary-300);color:var(--primary-700)}.audit-cat.is-active{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.table-audit{table-layout:auto;width:100%}.table-audit th,.table-audit td{vertical-align:top}.table-audit .col-when{width:10.5rem;white-space:nowrap}.table-audit .col-category{width:7.5rem;white-space:nowrap}.table-audit .col-code{width:5.5rem;white-space:nowrap}.table-audit .col-actor{width:9rem}.table-audit .col-summary{min-width:12rem;max-width:22rem}.audit-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}.audit-row{cursor:pointer}.audit-row:hover td{background:var(--neutral-50)}.audit-row:focus-visible{outline:2px solid var(--primary-400);outline-offset:-2px}.audit-detail{display:flex;flex-direction:column;gap:var(--space-4);padding:0}.audit-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);font-size:var(--text-sm)}.audit-detail-label{display:block;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.audit-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin:0}.audit-detail-item{min-width:0;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.audit-detail-item dt{margin:0 0 4px;font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize}.audit-detail-item dd{margin:0;font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono)}.list-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);padding:var(--space-4)}.list-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0}.list-card-title{font-weight:var(--weight-semibold);color:var(--text)}.list-card-meta{font-size:var(--text-sm);color:var(--text-muted)}.list-card-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.list-card-clickable{cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.list-card-clickable:hover{border-color:var(--primary-200);box-shadow:var(--shadow-sm)}.list-card-clickable:focus-visible{outline:2px solid var(--primary-400);outline-offset:2px}.user-detail{display:flex;flex-direction:column;gap:var(--space-5)}.user-detail-hero{margin:0}.user-detail-identity{flex:1;min-width:0}.user-detail-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.user-detail-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:720px){.user-detail-panels{grid-template-columns:1fr}.user-detail-hero .record-stat{margin-left:0;text-align:left;width:100%}}.user-detail-panel{padding:var(--space-4);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0}.user-detail-panel-title{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.user-detail-panel .audit-detail-grid{grid-template-columns:1fr}.modal-tabs{display:flex;gap:var(--space-1);padding:3px;margin-bottom:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-50, var(--surface-muted));width:fit-content}.modal-tab{padding:var(--space-2) var(--space-4);border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition),color var(--transition)}.modal-tab:hover{color:var(--text)}.modal-tab.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.station-edit-form{display:flex;flex-direction:column;gap:var(--space-4)}.label-required{color:var(--error-600)}.user-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-card{gap:var(--space-3)}.user-card-head{display:flex;align-items:center;gap:var(--space-3)}.user-card-head-text{min-width:0;flex:1}.user-card-code{font-size:var(--text-sm);margin-top:var(--space-1)}.user-card-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-3);margin:0;font-size:var(--text-sm)}.user-card-details dt{margin:0;color:var(--text-muted);font-weight:var(--weight-medium)}.user-card-details dd{margin:0;color:var(--text);min-width:0}.user-card-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.user-review-flags{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.user-review-flag{cursor:pointer;border:none;font:inherit;line-height:inherit;transition:filter .14s ease,transform .14s ease}.user-review-flag:hover{filter:brightness(.95)}.user-review-flag:active{transform:translateY(1px)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start}.detail-grid>*{min-width:0}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr}}.definition{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:var(--space-3) var(--space-4);min-width:0}.definition dt{font-size:var(--text-sm);color:var(--text-muted)}.definition dd{margin:0;min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);overflow-wrap:anywhere;word-break:break-word}.page-back{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:0;border:none;background:none;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--transition)}.page-back:hover{color:var(--text)}.definition-link{color:inherit;text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.definition-link:hover{text-decoration:underline}.cert-detail-modal{display:flex;flex-direction:column;gap:var(--space-4)}.cert-detail-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border)}.cert-detail-hero-expiring{background:linear-gradient(135deg,var(--primary-50) 0%,var(--surface) 100%);border-color:var(--primary-200)}.cert-detail-hero-quarantine{background:linear-gradient(135deg,var(--warning-50, #fffbeb) 0%,var(--surface) 100%);border-color:var(--warning-100, #fef3c7)}.cert-detail-hero-main{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.cert-detail-hero-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.cert-detail-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.cert-detail-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.cert-detail-stat{text-align:right;flex-shrink:0}.cert-detail-stat-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text)}.cert-detail-hero-quarantine .cert-detail-stat-value{color:var(--warning-700, #b45309)}.cert-detail-stat-label{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cert-detail-panel{padding:var(--space-4);background:var(--neutral-50);border:1px solid var(--border);border-radius:var(--radius-lg)}.cert-detail-panel-title{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.cert-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.cert-detail-field{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.cert-detail-field-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.cert-detail-field-value{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);overflow-wrap:anywhere;word-break:break-word}.record-header{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap}.record-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);font-size:var(--text-xl);font-weight:var(--weight-semibold);flex-shrink:0}.record-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em}.record-meta{font-size:var(--text-base);color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word}.record-stat{text-align:right;margin-left:auto}.record-stat-value{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.record-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}@media(max-width:1024px){.app,.app.app-sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;width:var(--sidebar-width);transform:translate(-100%);transition:transform var(--transition);box-shadow:var(--shadow-xl)}.sidebar-open{transform:translate(0)}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#10182866}.page{padding-left:var(--space-4);padding-right:var(--space-4)}}@media(min-width:1025px){.sidebar-scrim{display:none}}@media(max-width:640px){.page{padding:var(--space-4);gap:var(--space-4)}.kpi-value{font-size:var(--text-xl)}.detail-grid,.dash-grid{grid-template-columns:1fr}}.coverage{display:flex;flex-direction:column;gap:var(--space-2)}.coverage-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.coverage-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.coverage-count{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.coverage-count strong{color:var(--text);font-variant-numeric:tabular-nums}.coverage-track{display:flex;height:8px;background:var(--neutral-100);border-radius:var(--radius-full);overflow:hidden}.coverage-seg{display:block;height:100%}.seg-good{background:var(--chart-good)}.seg-warn{background:var(--chart-partial)}.coverage-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.coverage-meta .meta-warn{color:var(--primary-700)}.coverage-meta .meta-bad{color:var(--primary-800)}.timeline-overdue{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-md);color:var(--primary-800);font-size:var(--text-base)}.timeline-overdue a{margin-left:auto;white-space:nowrap}.timeline{display:flex;align-items:flex-end;gap:5px;height:132px}.tl-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.tl-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.tl-bar{width:100%;background:var(--chart-good);border-radius:var(--radius-sm) var(--radius-sm) 2px 2px;transition:filter var(--transition)}.tl-col:hover .tl-bar{filter:brightness(.92)}.tl-bar-empty{background:var(--chart-muted)}.tl-count{font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;min-height:14px}.tl-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.next-step{display:flex;align-items:flex-start;gap:var(--space-3)}.next-dot{width:9px;height:9px;border-radius:var(--radius-full);margin-top:6px;flex-shrink:0}.next-upgrade{background:var(--chart-2)}.next-renew{background:var(--chart-1)}.next-start{background:var(--chart-3)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--space-4) var(--space-4);background:#1018286b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.palette{width:100%;max-width:580px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;max-height:66vh}.palette-input{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);color:var(--text-muted)}.palette-input input{flex:1;border:none;outline:none;background:none;font-size:var(--text-lg);color:var(--text)}.palette-input input::placeholder{color:var(--neutral-400)}.palette-list{overflow-y:auto;padding:var(--space-2)}.palette-tip{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);line-height:1.35}.palette-tip svg{flex-shrink:0;color:var(--primary-600)}.palette-group{padding:var(--space-2) var(--space-3) var(--space-1);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.palette-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-radius:var(--radius-md);background:none;text-align:left;cursor:pointer;color:var(--text)}.palette-row-active{background:var(--primary-50)}.palette-icon{color:var(--text-muted);display:flex}.palette-row-active .palette-icon{color:var(--primary-600)}.palette-label{font-size:var(--text-base);font-weight:var(--weight-medium)}.palette-hint{margin-left:auto;font-size:var(--text-sm);color:var(--text-muted)}.palette-empty{padding:var(--space-8);text-align:center;color:var(--text-muted);font-size:var(--text-base)}.palette-empty-sm{padding:var(--space-3) var(--space-3) var(--space-2);text-align:left}.palette-foot{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:var(--neutral-50);font-size:var(--text-xs);color:var(--text-muted)}.palette-foot span{display:inline-flex;align-items:center;gap:4px}.palette-foot-hint{margin-left:auto}kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary)}.matrix thead th{top:0}.table-wrap .table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}.matrix-wrap,.table-scroll{max-height:none}.nav-link .nav-count{margin-left:auto}.page-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6);align-items:start}.page-split>*{min-width:0}.page-split-wide{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-6);align-items:start}@media(max-width:1180px){.page-split,.page-split-wide{grid-template-columns:minmax(0,1fr)}}.rail{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:calc(var(--appbar-height) + var(--space-6))}@media(max-width:1180px){.rail{position:static}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--space-5);align-items:start}.card-grid-sm{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.table-lead th:first-child,.table-lead td:first-child{width:100%}.table-lead th:not(:first-child),.table-lead td:not(:first-child){white-space:nowrap}.rail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.rail-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4)}.rail-stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0}.rail-stat+.rail-stat{border-top:1px solid var(--line, var(--border))}.rail-stat-label{font-size:var(--text-base);color:var(--text-secondary)}.rail-stat-value{font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.rail-note{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-relaxed)}.list-board{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.list-board .filter-bar{margin-bottom:0;padding:var(--space-4) var(--space-5);border:none;border-radius:0;border-bottom:1px solid var(--border);background:transparent}.list-board .search-field{flex:0 1 320px;max-width:360px;min-width:200px;margin-left:0}.list-board .filter-bar-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.list-board .filter-bar-trailing{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto}.list-board .filter-bar.filter-bar-controls-end .filter-bar-controls-row{flex-wrap:nowrap}.list-board .table-wrap{border:none;border-radius:0;box-shadow:none;flex:1;min-width:0}.list-board .pagination{border-top:1px solid var(--border);padding:var(--space-3) var(--space-5);margin:0}.list-board .empty-state,.list-board .error-state{padding:var(--space-8) var(--space-5)}.list-board .list-cards{padding:var(--space-4) var(--space-5)}.setting{display:flex;flex-direction:column;height:100%}.setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.setting-name{font-family:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold)}.setting-help{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal)}.setting-body{margin-top:var(--space-4);flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.setting-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.demo-account{transition:border-color .14s ease,background .14s ease,transform .14s ease}.demo-account:active{transform:translateY(1px)}.demo-account-filled{border-color:var(--success-600);border-style:solid;background:var(--success-50)}.demo-account-filled span{color:var(--success-700);font-family:var(--font-sans)}.appbar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-3);height:var(--appbar-height);padding:0 var(--space-6);background:var(--surface);border-bottom:1px solid var(--border)}.appbar-page{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-3)}.appbar-title{min-width:0;flex:0 1 auto;display:flex;flex-direction:column;justify-content:center;line-height:1.2}.appbar-title .page-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-title .page-subtitle{margin-top:2px;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-page-actions{margin-left:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);flex-shrink:0}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-8) 0}.appbar-back{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background var(--transition),color var(--transition),border-color var(--transition)}.appbar-back:hover{background:var(--neutral-100);color:var(--text);border-color:var(--border-strong)}.cert-doc-cell{min-width:0;max-width:220px}.cert-doc-name{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-doc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.cert-doc-actions .btn{min-height:28px;padding:0 var(--space-3)}.tabs-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.tabs-row>.tabs{margin:0;flex:1;min-width:0}.tabs-row>.btn{flex-shrink:0;margin-left:auto}.appbar-icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius-md);background:none;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.appbar-icon-btn:hover{background:var(--neutral-100);color:var(--text)}.appbar-icon-btn-open{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700)}.appbar-badge{position:absolute;top:-4px;right:-5px;min-width:14px;height:14px;padding:0 3px;display:grid;place-items:center;border-radius:var(--radius-full);border:1.5px solid var(--surface);background:var(--error-600);color:#fff;font-size:9.5px;font-weight:var(--weight-semibold);line-height:1;font-variant-numeric:tabular-nums}.appbar-search{display:flex;align-items:center;gap:var(--space-3);flex:0 1 320px;width:320px;max-width:320px;min-width:0;height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-50);color:var(--text-muted);font:inherit;font-size:var(--text-sm);text-align:left;cursor:text;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.appbar-search:hover{background:var(--surface);border-color:var(--border-strong)}.appbar-search:focus-visible{background:var(--surface);border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.appbar-search-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.appbar-search-kbd{flex-shrink:0;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);font-family:var(--font-mono);font-size:10px;line-height:1.4}.appbar-menu{position:relative;flex-shrink:0}.appbar-menu .appbar-icon-btn{margin-right:var(--space-1)}.appbar-user{display:flex;align-items:center;gap:var(--space-2);max-width:220px;padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:none;color:var(--text-muted);cursor:pointer;text-align:left;transition:background var(--transition),border-color var(--transition)}.appbar-user:hover{background:var(--neutral-100)}.appbar-user-open{background:var(--primary-50);border-color:var(--primary-200)}.appbar-user-text{min-width:0;display:flex;flex-direction:column;line-height:1.25}.appbar-user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-user-role{font-size:var(--text-xs);color:var(--text-muted)}.popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:40;width:268px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.popover-wide{width:380px}.popover-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.popover-title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.popover-identity{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);background:var(--neutral-50)}.popover-identity-text{min-width:0;display:flex;flex-direction:column;gap:2px;align-items:flex-start}.popover-identity-name{font-size:var(--text-base);font-weight:var(--weight-semibold)}.popover-identity-sub{font-size:var(--text-xs);color:var(--text-muted);max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.popover-body{padding:var(--space-2);max-height:340px;overflow-y:auto}.popover-body-divided{border-top:1px solid var(--border)}.popover-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:none;color:var(--text-secondary);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.popover-item:hover{background:var(--neutral-100);color:var(--text)}.popover-item-danger:hover{background:var(--error-50);color:var(--error-700)}.popover-row{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:none;font:inherit;text-align:left;cursor:pointer;transition:background var(--transition)}.popover-row:hover{background:var(--neutral-50)}.popover-row-body{min-width:0;display:flex;flex-direction:column;gap:2px}.popover-row-title{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.popover-row-text{font-size:var(--text-sm);color:var(--text-secondary)}.popover-row-meta{font-size:var(--text-xs);color:var(--text-muted)}.popover-dot{width:8px;height:8px;margin-top:6px;border-radius:var(--radius-full);flex-shrink:0}.dot-high{background:var(--error-600)}.dot-low{background:var(--warning-600)}.popover-empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.popover-clear{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);text-align:center}.popover-clear-mark{display:grid;place-items:center;width:38px;height:38px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--success-50);color:var(--success-600)}.popover-clear-title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.popover-clear-text{font-size:var(--text-sm);color:var(--text-muted)}.popover-foot{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border);background:var(--neutral-50);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--primary-600);text-decoration:none}.popover-foot:hover{background:var(--primary-50)}@media(min-width:1025px){.app-sidebar-collapsed{grid-template-columns:var(--sidebar-rail-width) 1fr}.app-sidebar-collapsed .sidebar{width:var(--sidebar-rail-width);overflow-x:hidden}.app-sidebar-collapsed .brand{justify-content:center;padding-left:var(--space-2);padding-right:var(--space-2)}.app-sidebar-collapsed .brand-text,.app-sidebar-collapsed .sidebar-org,.app-sidebar-collapsed .nav-section,.app-sidebar-collapsed .nav-link-label,.app-sidebar-collapsed .nav-count,.app-sidebar-collapsed .sidebar-powered{display:none}.app-sidebar-collapsed .nav{padding-left:var(--space-2);padding-right:var(--space-2);align-items:stretch}.app-sidebar-collapsed .nav-link{justify-content:center;padding-left:var(--space-2);padding-right:var(--space-2);position:relative}.app-sidebar-collapsed .nav-link-alert:after{content:"";position:absolute;top:6px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--error-600);border:1.5px solid var(--surface)}}@media(max-width:1024px){.appbar{padding-left:var(--space-3);padding-right:var(--space-3)}}@media(max-width:1280px){.appbar-search{flex-basis:220px;width:220px;max-width:220px}.appbar-search-kbd{display:none}}@media(max-width:1080px){.appbar-search{flex:0 0 36px;width:36px;max-width:36px;padding:0;justify-content:center}.appbar-search-text{display:none}}@media(max-width:820px){.appbar-user{max-width:none}.appbar-user-text{display:none}.appbar-user>svg{display:none}}@media(max-width:640px){.appbar-title .page-subtitle,.appbar-page-actions .btn-secondary{display:none}.popover-wide{width:min(340px,calc(100vw - var(--space-6)))}.popover{right:calc(var(--space-3) * -1)}}.health-page{display:flex;flex-direction:column;gap:var(--space-4)}.health-page .card-header{padding:var(--space-3) var(--space-4)}.health-page .card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.health-page .card-subtitle{font-size:var(--text-xs)}.health-toolbar{display:inline-flex;align-items:center;gap:var(--space-3)}.health-autorefresh{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.health-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);margin:0}.health-summary-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.health-summary-tile{padding:var(--space-3);gap:4px;box-shadow:none}.health-summary-tile .kpi-value{font-size:var(--text-lg);line-height:1.2}.health-summary-tile .kpi-label{font-size:10px}.health-component-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.health-component{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--neutral-50);min-height:0}.health-latency{margin-left:var(--space-2);font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.health-metric-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.health-metric-list li{display:flex;justify-content:space-between;gap:var(--space-2);font-size:10px;color:var(--text-muted);text-transform:capitalize}.health-metric-list strong{color:var(--text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;text-transform:none}.health-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4);align-items:start}.health-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-3);margin:0}.health-fact{min-width:0}.health-fact dt{font-size:10px;color:var(--text-muted);font-weight:var(--weight-medium);margin:0 0 1px}.health-fact dd{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);word-break:break-word;line-height:1.3}.health-fact-cap{text-transform:capitalize}.health-fact-muted{font-weight:var(--weight-medium);color:var(--text-muted);font-size:var(--text-xs)}.health-meter{margin-top:var(--space-3);height:6px;border-radius:var(--radius-full);background:var(--neutral-100);overflow:hidden}.health-meter-fill{height:100%;background:var(--primary-500);border-radius:inherit;transition:width var(--transition)}.health-dep-grid{display:flex;flex-direction:column;gap:0}.health-dep{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.health-dep:last-child{border-bottom:none;padding-bottom:0}.health-dep:first-child{padding-top:0}.health-dep-main{min-width:0}.health-dep-main .cell-strong{font-size:var(--text-sm)}.health-dep-main .cell-muted{font-size:11px!important}.health-dep-status{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}@media(max-width:1200px){.health-component-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-three-col{grid-template-columns:1fr 1fr}.health-three-col>.card:last-child{grid-column:1 / -1}}@media(max-width:900px){.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-three-col{grid-template-columns:1fr}.health-three-col>.card:last-child{grid-column:auto}}@media(max-width:640px){.health-summary-grid,.health-summary-grid-4,.health-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-facts{grid-template-columns:1fr}.health-toolbar{width:100%;justify-content:space-between}}:root{--ease-out: cubic-bezier(.16, 1, .3, 1);--ease: cubic-bezier(.4, 0, .2, 1);--dur-micro: .12s;--dur-fast: .18s;--dur-base: .26s;--dur-slow: .4s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.animate-in{animation:rise var(--dur-base) var(--ease-out) both}.table tbody tr,.matrix tbody tr{animation:rise var(--dur-fast) var(--ease-out) both}.table tbody tr:nth-child(1),.matrix tbody tr:nth-child(1){animation-delay:0ms}.table tbody tr:nth-child(2),.matrix tbody tr:nth-child(2){animation-delay:15ms}.table tbody tr:nth-child(3),.matrix tbody tr:nth-child(3){animation-delay:30ms}.table tbody tr:nth-child(4),.matrix tbody tr:nth-child(4){animation-delay:45ms}.table tbody tr:nth-child(5),.matrix tbody tr:nth-child(5){animation-delay:60ms}.table tbody tr:nth-child(6),.matrix tbody tr:nth-child(6){animation-delay:75ms}.table tbody tr:nth-child(7),.matrix tbody tr:nth-child(7){animation-delay:90ms}.table tbody tr:nth-child(8),.matrix tbody tr:nth-child(8){animation-delay:105ms}.table tbody tr:nth-child(n+9),.matrix tbody tr:nth-child(n+9){animation-delay:.12s}.kpi-grid>*{animation:rise var(--dur-base) var(--ease-out) both}.kpi-grid>*:nth-child(1){animation-delay:0ms}.kpi-grid>*:nth-child(2){animation-delay:40ms}.kpi-grid>*:nth-child(3){animation-delay:80ms}.kpi-grid>*:nth-child(4){animation-delay:.12s}.kpi-grid>*:nth-child(5){animation-delay:.16s}.kpi-grid>*:nth-child(6){animation-delay:.2s}@keyframes draw-arc{0%{stroke-dashoffset:var(--arc-len)}}.donut-arc{animation:draw-arc .62s var(--ease-out) both}.breakdown-item{animation:rise var(--dur-base) var(--ease-out) both}.breakdown-item:nth-child(1){animation-delay:60ms}.breakdown-item:nth-child(2){animation-delay:.13s}.breakdown-item:nth-child(3){animation-delay:.2s}.breakdown-item:nth-child(4){animation-delay:.27s}.rec-card{animation:rise var(--dur-slow) var(--ease-out) both}@keyframes grow-bar{0%{transform:scaleX(0)}}.progress-bar{transform-origin:left center;animation:grow-bar var(--dur-slow) var(--ease-out) both}@keyframes settle{0%{background:var(--primary-50)}to{background:transparent}}.row-changed{animation:settle 1.4s var(--ease-out) both}.nav-link{transition:background var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease),transform var(--dur-micro) var(--ease)}.nav-link:active{transform:scale(.985)}.grade-cell{transition:transform var(--dur-micro) var(--ease),box-shadow var(--dur-micro) var(--ease)}.matrix tbody td:hover .grade-cell{transform:scale(1.14)}.btn:active:not(:disabled){transform:translateY(1px)}.card{transition:box-shadow var(--dur-base) var(--ease)}.fade-in{animation:fade var(--dur-fast) linear both}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}.palette{animation:palette-in .16s var(--ease-out) both}@keyframes onboarding-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes onboarding-pop-lg{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.animate-in,.table tbody tr,.matrix tbody tr,.kpi-grid>*,.donut-arc,.breakdown-item,.rec-card,.progress-bar,.row-changed,.fade-in,.palette,.onboarding-success-icon,.onboarding-success-label{animation:none!important}.nav-link,.grade-cell,.btn,.card{transition:none!important}}@keyframes cell-in{0%{opacity:0;transform:translateY(4px) scale(.82)}to{opacity:1;transform:none}}.logo-mark-animated rect{transform-origin:center;transform-box:fill-box}.logo-mark-animated>rect:first-child{animation:rise .42s var(--ease-out) both}.logo-mark-animated g>g:nth-child(3) rect{animation:cell-in .38s var(--ease-out) both;animation-delay:.2s}.logo-mark-animated g>g:nth-child(2) rect{animation:cell-in .38s var(--ease-out) both;animation-delay:.34s}.logo-mark-animated g>g:nth-child(1) rect{animation:cell-in .38s var(--ease-out) both;animation-delay:.48s}.auth-matrix{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;animation:fade 1.2s ease-out .2s forwards}.auth-form>*{animation:rise .38s var(--ease-out) both}.auth-form>*:nth-child(1){animation-delay:60ms}.auth-form>*:nth-child(2){animation-delay:.13s}.auth-form>*:nth-child(3){animation-delay:.19s}.auth-form>*:nth-child(4){animation-delay:.25s}.auth-form>*:nth-child(5){animation-delay:.31s}.auth-form>*:nth-child(6){animation-delay:.37s}.auth-aside>div{animation:rise .52s var(--ease-out) both}.auth-aside>div:nth-of-type(1){animation-delay:.32s}.auth-aside>div:nth-of-type(2){animation-delay:.46s}.auth-point{animation:rise .4s var(--ease-out) both}.auth-point:nth-child(1){animation-delay:.56s}.auth-point:nth-child(2){animation-delay:.65s}.auth-point:nth-child(3){animation-delay:.74s}.auth-point:nth-child(4){animation-delay:.83s}@keyframes check-draw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.auth-point-mark svg path{stroke-dasharray:24;animation:check-draw .34s var(--ease-out) both}.auth-point:nth-child(1) .auth-point-mark svg path{animation-delay:.7s}.auth-point:nth-child(2) .auth-point-mark svg path{animation-delay:.79s}.auth-point:nth-child(3) .auth-point-mark svg path{animation-delay:.88s}.auth-point:nth-child(4) .auth-point-mark svg path{animation-delay:.97s}@keyframes toast-out{to{opacity:0;transform:translate(16px) scale(.97)}}.toast-leaving{animation:toast-out .18s var(--ease) both}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-timer{position:absolute;left:0;right:0;bottom:0;height:2px;transform-origin:left center;animation:toast-timer linear both;border-radius:0 0 var(--radius-md) var(--radius-md)}@keyframes chart-empty-bar{0%{transform:scaleY(.15);opacity:.35}to{transform:scaleY(1);opacity:1}}@keyframes chart-empty-draw{to{stroke-dashoffset:0}}@keyframes chart-empty-dot{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes chart-empty-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.chart-empty{animation:chart-empty-rise var(--dur-base) var(--ease-out) both}.chart-empty-bar-1{animation:chart-empty-bar .42s var(--ease-out) 40ms both}.chart-empty-bar-2{animation:chart-empty-bar .42s var(--ease-out) .1s both}.chart-empty-bar-3{animation:chart-empty-bar .42s var(--ease-out) .16s both}.chart-empty-bar-4{animation:chart-empty-bar .42s var(--ease-out) .22s both}.chart-empty-line{animation:chart-empty-draw .56s var(--ease-out) 80ms both}.chart-empty-dot{animation:chart-empty-dot .28s var(--ease-out) .42s both}.chart-empty-dot-2{animation-delay:.5s}.chart-empty-dot-3{animation-delay:.58s}.chart-empty-badge{animation:chart-empty-rise var(--dur-base) var(--ease-out) .2s both}@media(prefers-reduced-motion:reduce){.logo-mark-animated>rect:first-child,.logo-mark-animated g>g rect,.auth-matrix,.auth-form>*,.auth-aside>div,.auth-point,.auth-point-mark svg path,.toast-leaving,.toast-timer,.chart-empty,.chart-empty-bar-1,.chart-empty-bar-2,.chart-empty-bar-3,.chart-empty-bar-4,.chart-empty-line,.chart-empty-dot,.chart-empty-badge{animation:none!important}.auth-matrix{opacity:1}.chart-empty-line{stroke-dashoffset:0}.chart-empty-dot{opacity:1}}
