:root{--brand: #0176d3;--brand-hover: #014486;--brand-active: #032d60;--brand-contrast: #ffffff;--brand-weak: #eef4ff;--brand-weak-border: #c9e0ff;--accent: #1b96ff;--accent-weak: #e8f4ff;--bg: #f3f3f3;--surface: #ffffff;--surface-alt: #f9f9fa;--surface-sunken: #f3f3f3;--overlay: rgba(8, 7, 7, .45);--border: #e5e5e5;--border-strong: #c9c9c9;--border-subtle: #eef0f2;--text: #181818;--text-secondary: #444444;--text-muted: #747474;--text-inverse: #ffffff;--link: var(--brand);--success: #2e844a;--success-weak: #ebf7e6;--warning: #fe9339;--warning-weak: #fef1e6;--error: #ba0517;--error-weak: #fef1ee;--info: #0176d3;--info-weak: #eef4ff;--hue-low: #747474;--hue-low-weak: #f3f3f3;--hue-medium: #0176d3;--hue-medium-weak: #eef4ff;--hue-high: #fe9339;--hue-high-weak: #fef1e6;--hue-critical: #ba0517;--hue-critical-weak: #fef1ee;--hue-neutral: #747474;--hue-neutral-weak: #f3f3f3;--obj-case: #f2a200;--obj-contact: #9050e9;--obj-account: #08a69e;--obj-knowledge: #0d9488;--sp-0: 0;--sp-1: 2px;--sp-2: 4px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--sp-7: 24px;--sp-8: 32px;--sp-9: 40px;--sp-10: 48px;--radius-sm: 3px;--radius: 5px;--radius-md: 7px;--radius-lg: 10px;--radius-pill: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-base: 1.45;--shadow-xs: 0 1px 1px rgba(22, 28, 40, .06);--shadow-sm: 0 1px 3px rgba(22, 28, 40, .1), 0 1px 2px rgba(22, 28, 40, .06);--shadow-md: 0 4px 12px rgba(22, 28, 40, .12);--shadow-lg: 0 12px 32px rgba(22, 28, 40, .18);--ring: 0 0 0 3px color-mix(in srgb, var(--brand) 28%, transparent);--nav-rail-w: 220px;--nav-rail-w-collapsed: 50px;--topbar-h: 50px;--tabbar-h: 38px;--subtabbar-h: 32px;--utilbar-h: 36px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .18s;--z-sticky: 50;--z-drawer: 600;--z-modal: 700;--z-toast: 800;--z-popover: 900}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.app-shell{display:grid;grid-template-columns:var(--nav-rail-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar topbar" "rail main";height:100vh;width:100vw;overflow:hidden}.app-shell.is-collapsed{grid-template-columns:var(--nav-rail-w-collapsed) 1fr}.topbar{grid-area:topbar;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 9%,var(--surface)),var(--surface) 50%,color-mix(in srgb,#f4923b 7%,var(--surface)));border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3) 0 0;z-index:var(--z-sticky)}.topbar__hamburger{flex:0 0 auto;width:var(--topbar-h);height:var(--topbar-h);display:grid;place-items:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.topbar__hamburger:hover{background:var(--surface-sunken);color:var(--text)}.topbar__brand{display:flex;align-items:center;gap:var(--sp-3);flex:0 0 auto;padding-right:var(--sp-4);border-right:1px solid var(--border);height:60%;text-decoration:none}.topbar__brand:hover{text-decoration:none}.topbar__logo{height:26px;width:auto;max-width:130px;object-fit:contain;display:block}.topbar__appname{font-weight:var(--fw-semibold);font-size:var(--fs-md);color:var(--text);white-space:nowrap}.topbar__search{flex:1 1 480px;display:flex;justify-content:center;min-width:0}.topbar__utils{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.topbar__util{width:34px;height:34px;display:grid;place-items:center;border:none;background:transparent;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;text-decoration:none}.topbar__util:hover{background:var(--surface-sunken);color:var(--brand);text-decoration:none}.topbar__divider{width:1px;height:24px;background:var(--border);margin:0 var(--sp-2)}.nav-rail{grid-area:rail;background:var(--surface);border-right:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;overflow:hidden}.nav-rail__scroll{flex:1 1 auto;overflow-y:auto;overflow-x:visible;padding:var(--sp-3) var(--sp-3) var(--sp-6)}.nav-rail__group+.nav-rail__group{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-subtle)}.nav-rail__group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--sp-3) var(--sp-3) var(--sp-2);font-weight:var(--fw-semibold)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);margin-bottom:1px;border-radius:var(--radius);color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;overflow:visible;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-item:hover{background:var(--surface-sunken);text-decoration:none;color:var(--text)}.nav-item.is-active{background:var(--brand-weak);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.nav-item__icon{flex:0 0 auto;width:20px;display:grid;place-items:center;line-height:1}.nav-rail.is-collapsed .nav-item{justify-content:center}.nav-rail.is-collapsed .nav-item__label{display:none}.nav-item__tip{display:none;position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#181818;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:4px 8px;border-radius:var(--radius);white-space:nowrap;box-shadow:var(--shadow-md);z-index:var(--z-popover);pointer-events:none}.nav-rail.is-collapsed .nav-item:hover .nav-item__tip{display:block}.gsearch{position:relative;flex:1 1 480px;max-width:520px}.gsearch__input{width:100%}.gsearch__panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-popover);max-height:70vh;overflow-y:auto;padding:var(--sp-2)}.gsearch__group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:var(--fw-semibold);padding:var(--sp-3) var(--sp-3) var(--sp-2)}.gsearch__item{display:flex;flex-direction:column;gap:1px;padding:var(--sp-3);border-radius:var(--radius);cursor:pointer}.gsearch__item:hover,.gsearch__item.is-active{background:var(--brand-weak)}.gsearch__item-title{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text)}.gsearch__item-sub{font-size:var(--fs-sm);color:var(--text-muted)}.gsearch__empty{padding:var(--sp-6);text-align:center;color:var(--text-muted);font-size:var(--fs-base)}.presence{position:relative}.presence__btn{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.presence__btn:hover{border-color:var(--border-strong)}.presence__dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.presence__dot.is-available{background:var(--success)}.presence__dot.is-busy{background:var(--error)}.presence__dot.is-away{background:var(--warning)}.presence__dot.is-offline{background:var(--text-muted)}.presence__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-popover);padding:var(--sp-2)}.presence__option{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius);cursor:pointer;font-size:var(--fs-base)}.presence__option:hover{background:var(--surface-sunken)}.workspace{grid-area:main;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1100px 560px at -5% -8%,color-mix(in srgb,var(--brand) 13%,transparent),transparent 58%),radial-gradient(900px 620px at 106% 112%,color-mix(in srgb,#f4923b 11%,transparent),transparent 55%),var(--bg)}.sla-banner{display:flex;align-items:center;gap:var(--sp-3);flex:0 0 auto;padding:var(--sp-2) var(--sp-5);font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;border-bottom:1px solid rgba(0,0,0,.08);color:#fff}.sla-banner--breach{background:var(--error)}.sla-banner--risk{background:var(--warning);color:#3b2300}.sla-banner__icon,.sla-banner__text{flex:0 0 auto}.sla-banner__cta{margin-left:var(--sp-2);font-size:var(--fs-sm);opacity:.85;text-decoration:underline}.sla-banner__close{margin-left:auto;display:grid;place-items:center;width:22px;height:22px;border:none;background:#ffffff2e;color:inherit;border-radius:var(--radius-sm);cursor:pointer;flex:0 0 auto}.sla-banner__close:hover{background:#ffffff52}.sla-banner--risk .sla-banner__close{background:#0000001a}.sla-banner--risk .sla-banner__close:hover{background:#0000002e}.ws-tabs{flex:0 0 auto}.tabbar{display:flex;align-items:stretch;height:var(--tabbar-h);background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;flex:0 0 auto}.tabbar:empty{display:none}.tab{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3) 0 var(--sp-4);border-right:1px solid var(--border-subtle);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;max-width:220px;position:relative;background:var(--surface-alt)}.tab:hover{background:var(--surface-sunken)}.tab.is-active{background:var(--surface);color:var(--text);font-weight:var(--fw-semibold);box-shadow:inset 0 -3px 0 var(--brand)}.tab__title{overflow:hidden;text-overflow:ellipsis}.tab__close{display:grid;place-items:center;width:18px;height:18px;border-radius:var(--radius-sm);color:var(--text-muted)}.tab__close:hover{background:var(--border);color:var(--text)}.subtabbar{display:flex;align-items:stretch;height:var(--subtabbar-h);background:var(--surface-sunken);border-bottom:1px solid var(--border);overflow-x:auto;padding:0 var(--sp-3);gap:var(--sp-2)}.subtab{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);margin:4px 0;border-radius:var(--radius);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;max-width:200px}.subtab:hover{background:var(--surface)}.subtab.is-active{background:var(--surface);color:var(--brand);font-weight:var(--fw-semibold);box-shadow:inset 0 0 0 1px var(--border)}.subtab__home{color:var(--text-muted)}.subtab__title{overflow:hidden;text-overflow:ellipsis}.subtab__close{display:grid;place-items:center;width:16px;height:16px;border-radius:var(--radius-sm);color:var(--text-muted)}.subtab__close:hover{background:var(--border);color:var(--text)}.workspace__body{flex:1 1 auto;overflow:auto;padding:var(--sp-4)}.util-bar{flex:0 0 auto;height:var(--utilbar-h);display:flex;align-items:stretch;background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-sticky)}.util-bar__slot{position:relative;display:flex}.util-bar__btn{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border:none;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.util-bar__btn:hover{background:var(--surface-sunken);color:var(--text)}.util-bar__btn.is-open{background:var(--brand-weak);color:var(--brand)}.util-bar__spacer{flex:1 1 auto}.util-bar__panel{position:absolute;bottom:calc(100% + 0px);left:0;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);z-index:var(--z-popover);overflow:hidden}.util-bar__panel-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface-alt);border-bottom:1px solid var(--border-subtle);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.util-bar__panel-body{padding:var(--sp-4)}.util-bar__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-1)}.util-bar__list li{padding:var(--sp-3);border-radius:var(--radius);font-size:var(--fs-base);cursor:pointer}.util-bar__list li:hover{background:var(--surface-sunken)}.util-bar__notes{width:100%;min-height:90px;resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--sp-3);font-family:inherit;font-size:var(--fs-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:inherit;font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);-webkit-user-select:none;user-select:none}.btn:disabled,.btn.is-disabled{opacity:.5;cursor:not-allowed}.btn--sm{height:26px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn--md{height:32px;padding:0 var(--sp-4);font-size:var(--fs-base)}.btn--lg{height:40px;padding:0 var(--sp-6);font-size:var(--fs-md)}.btn--block{width:100%}.btn--primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.btn--primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn--primary:active:not(:disabled){background:var(--brand-active)}.btn--neutral{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn--neutral:hover:not(:disabled){background:var(--surface-sunken)}.btn--destructive{background:var(--error);border-color:var(--error);color:#fff}.btn--destructive:hover:not(:disabled){background:#a82e29;border-color:#a82e29}.btn--ghost{background:transparent;border-color:transparent;color:var(--brand)}.btn--ghost:hover:not(:disabled){background:var(--brand-weak)}.icon-btn{display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease),color var(--dur-fast)}.icon-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--sm{width:26px;height:26px;font-size:var(--fs-md)}.icon-btn--md{width:32px;height:32px;font-size:var(--fs-lg)}.icon-btn--lg{width:40px;height:40px;font-size:var(--fs-xl)}.icon-btn--solid{background:var(--surface);border-color:var(--border)}.input,.textarea,.select{width:100%;font-family:inherit;font-size:var(--fs-base);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input,.select{height:32px;padding:0 var(--sp-3)}.textarea{padding:var(--sp-3);min-height:72px;resize:vertical;line-height:var(--lh-base)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:not-allowed}.input--invalid,.textarea--invalid,.select--invalid{border-color:var(--error)}.input--invalid:focus,.textarea--invalid:focus,.select--invalid:focus{box-shadow:0 0 0 3px var(--error-weak)}.input--sm,.select--sm{height:26px;font-size:var(--fs-sm)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;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 fill='%238a94a6' d='M3 4.5L6 7.5 9 4.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center;padding-right:var(--sp-7);cursor:pointer}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap__icon{position:absolute;left:var(--sp-3);color:var(--text-muted);pointer-events:none;display:grid;place-items:center}.input-wrap--has-icon .input{padding-left:var(--sp-8)}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.field__required{color:var(--error);margin-left:2px}.field__hint{font-size:var(--fs-sm);color:var(--text-muted)}.field__error{font-size:var(--fs-sm);color:var(--error)}.checkbox{display:inline-flex;align-items:center;gap:var(--sp-3);cursor:pointer;font-size:var(--fs-base);-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;width:0;height:0}.checkbox__box{width:16px;height:16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface);color:transparent;font-size:11px;flex:0 0 auto;transition:all var(--dur-fast) var(--ease)}.checkbox input:checked+.checkbox__box{background:var(--brand);border-color:var(--brand);color:#fff}.checkbox input:focus-visible+.checkbox__box{box-shadow:var(--ring)}.checkbox input:disabled+.checkbox__box{opacity:.5}.badge{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1;padding:3px var(--sp-3);border-radius:var(--radius-pill);white-space:nowrap;border:1px solid transparent}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge--solid{color:#fff}.tag{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);padding:2px var(--sp-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);white-space:nowrap}.tag__remove{cursor:pointer;color:var(--text-muted);font-size:var(--fs-md);line-height:1}.tag__remove:hover{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.card--pad{padding:var(--sp-4)}.card--hover{transition:box-shadow var(--dur) var(--ease),border-color var(--dur);cursor:pointer}.card--hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.panel__header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-alt)}.panel--collapsible>.panel__header:hover{background:var(--surface-sunken, var(--surface-alt))}.panel.is-collapsed>.panel__header{border-bottom:none}.panel__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.panel__subtitle{font-size:var(--fs-sm);color:var(--text-muted)}.panel__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.panel__body{padding:var(--sp-4)}.panel__body--flush{padding:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;z-index:var(--z-modal);animation:overlay-in var(--dur) var(--ease)}@keyframes overlay-in{0%{opacity:0}}.modal{margin:auto;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;animation:modal-in var(--dur) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}.modal--sm{max-width:420px}.modal--lg{max-width:760px}.modal--xl{max-width:1040px}.modal__header,.drawer__header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-subtle)}.modal__title,.drawer__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.modal__close,.drawer__close{margin-left:auto}.modal__body,.drawer__body{padding:var(--sp-6);overflow-y:auto;flex:1 1 auto}.modal__footer,.drawer__footer{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-top:1px solid var(--border-subtle);background:var(--surface-alt)}.drawer-overlay{justify-content:flex-end}.drawer{background:var(--surface);box-shadow:var(--shadow-lg);width:100%;max-width:460px;height:100%;display:flex;flex-direction:column;animation:drawer-in var(--dur) var(--ease)}.drawer--wide{max-width:640px}@keyframes drawer-in{0%{transform:translate(100%)}}.tabs{display:flex;align-items:stretch;gap:var(--sp-1);border-bottom:1px solid var(--border)}.tabs__tab{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;border:none;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs__tab:hover{color:var(--text)}.tabs__tab.is-active{color:var(--brand);border-bottom-color:var(--brand)}.tabs__tab:disabled{opacity:.5;cursor:not-allowed}.table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.dgrid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}.dgrid th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--surface-alt);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);white-space:nowrap}.dgrid th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dgrid th.is-sortable:hover{color:var(--text)}.dgrid__sort{margin-left:var(--sp-2);color:var(--text-muted);font-size:9px}.dgrid th.is-sorted .dgrid__sort{color:var(--brand)}.dgrid td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);color:var(--text);vertical-align:middle}.dgrid tbody tr:last-child td{border-bottom:none}.dgrid tbody tr.is-clickable{cursor:pointer}.dgrid tbody tr.is-clickable:hover td{background:var(--brand-weak)}.dgrid--striped tbody tr:nth-child(2n) td{background:var(--surface-sunken)}.dgrid--striped tbody tr.is-clickable:hover td{background:var(--brand-weak)}.dgrid__empty,.dgrid__empty td{padding:0}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:var(--fw-semibold);flex:0 0 auto;text-transform:uppercase;-webkit-user-select:none;user-select:none;position:relative}.avatar--xs{width:22px;height:22px;font-size:9px}.avatar--sm{width:28px;height:28px;font-size:var(--fs-xs)}.avatar--md{width:36px;height:36px;font-size:var(--fs-base)}.avatar--lg{width:48px;height:48px;font-size:var(--fs-lg)}.avatar__presence{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface)}.toaster{position:fixed;bottom:var(--sp-6);right:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);z-index:var(--z-toast);max-width:380px}.toast{display:flex;align-items:flex-start;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--text-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--sp-4) var(--sp-4);animation:toast-in var(--dur) var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}}.toast.is-leaving{animation:toast-out var(--dur) var(--ease) forwards}@keyframes toast-out{to{opacity:0;transform:translate(16px)}}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--error)}.toast--info{border-left-color:var(--info)}.toast__icon{font-size:var(--fs-lg);line-height:1.2;flex:0 0 auto}.toast--success .toast__icon{color:var(--success)}.toast--error .toast__icon{color:var(--error)}.toast--info .toast__icon{color:var(--info)}.toast__msg{flex:1 1 auto;font-size:var(--fs-base);color:var(--text)}.toast__close{flex:0 0 auto;cursor:pointer;color:var(--text-muted);font-size:var(--fs-md)}.toast__close:hover{color:var(--text)}.spinner{display:inline-block;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin .7s linear infinite}.spinner--sm{width:16px;height:16px}.spinner--md{width:24px;height:24px;border-width:3px}.spinner--lg{width:40px;height:40px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.spinner-center{display:grid;place-items:center;padding:var(--sp-9)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-10) var(--sp-6);color:var(--text-muted)}.empty-state__icon{font-size:40px;margin-bottom:var(--sp-4);opacity:.6}.empty-state__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-secondary);margin:0 0 var(--sp-2)}.empty-state__desc{font-size:var(--fs-base);max-width:360px;margin:0 0 var(--sp-5)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-5);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--sp-2)}.kpi__head{display:flex;align-items:center;gap:var(--sp-3)}.kpi__icon{width:34px;height:34px;border-radius:var(--radius);display:grid;place-items:center;background:var(--brand-weak);color:var(--brand);font-size:var(--fs-lg);flex:0 0 auto}.kpi__label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:var(--fw-medium)}.kpi__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1.1;color:var(--text)}.kpi__delta{font-size:var(--fs-sm);font-weight:var(--fw-medium);display:inline-flex;align-items:center;gap:var(--sp-1)}.kpi__delta.is-up{color:var(--success)}.kpi__delta.is-down{color:var(--error)}.kpi__delta.is-flat{color:var(--text-muted)}.split{display:grid;gap:var(--sp-6);align-items:start}.split--main-right{grid-template-columns:320px 1fr}.split--main-left{grid-template-columns:1fr 340px}@media (max-width: 900px){.split--main-right,.split--main-left{grid-template-columns:1fr}}.breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--sp-4);flex-wrap:wrap}.breadcrumb__item{color:var(--text-secondary)}.breadcrumb__item.is-current{color:var(--text);font-weight:var(--fw-medium)}.breadcrumb__sep{color:var(--text-muted)}.page-header{display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6)}.page-header__titles{flex:1 1 auto;min-width:0}.page-header__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0;line-height:1.2}.page-header__subtitle{font-size:var(--fs-base);color:var(--text-muted);margin:var(--sp-1) 0 0}.page-header__actions{display:flex;gap:var(--sp-3);flex:0 0 auto}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.grid-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-5)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.scroll-y{overflow-y:auto}.app-shell.dock-left-open{grid-template-columns:0 1fr}.app-shell.dock-left-open .nav-rail{width:0;min-width:0;border-right:none;overflow:hidden;pointer-events:none}.case-console{container-type:inline-size;container-name:caseconsole}.case-grid{display:grid;grid-template-columns:minmax(300px,320px) minmax(0,1fr) minmax(320px,360px);gap:var(--sp-3);align-items:start;padding:var(--sp-3);flex:1 1 auto;min-height:0;overflow:hidden}.case-grid>.case-col{min-width:0;display:grid;gap:var(--sp-3);align-content:start;max-height:100%;overflow-y:auto;overflow-x:hidden}.case-grid>.case-col>*{min-width:0}@container caseconsole (max-width: 1140px){.case-grid{grid-template-columns:minmax(280px,320px) minmax(0,1fr);overflow-y:auto}.case-grid>.case-col{max-height:none;overflow:visible}.case-grid>.case-col--right{grid-column:1 / -1}}@container caseconsole (max-width: 720px){.case-grid{grid-template-columns:1fr}.case-grid>.case-col--right{grid-column:auto}}@supports not (container-type: inline-size){@media (max-width: 1200px){.case-grid{grid-template-columns:minmax(280px,320px) minmax(0,1fr);overflow-y:auto}.case-grid>.case-col{max-height:none;overflow:visible}.case-grid>.case-col--right{grid-column:1 / -1}}@media (max-width: 860px){.case-grid{grid-template-columns:1fr}.case-grid>.case-col--right{grid-column:auto}}}.sec-card__head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface-alt);cursor:pointer;-webkit-user-select:none;user-select:none}.sec-card.is-collapsed .sec-card__head{border-bottom:none}.sec-card__head:hover{background:var(--surface-sunken, var(--surface-alt))}.sec-card__chevron{display:inline-flex;flex:0 0 auto;color:var(--text-secondary);transition:transform var(--dur-fast, .12s) var(--ease, ease)}.sec-card.is-collapsed .sec-card__chevron{transform:rotate(-90deg)}
