@charset "UTF-8";.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--c-bg: #f6f8fb;--c-surface: #fff;--c-surface-2: #eef2f7;--c-border: #dbe2ea;--c-text: #1c2733;--c-text-muted: #5b6b7c;--c-primary: #2563eb;--c-primary-700: #1d4ed8;--c-primary-50: #eff5ff;--c-success: #166534;--c-warning: #92400e;--c-danger: #b91c1c;--c-info: #0e7490;--c-success-bg: #e9f7ef;--c-warning-bg: #fdf3e7;--c-danger-bg: #fdecec;--c-info-bg: #e6f6f9;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--r-ctl: 6px;--r-card: 12px;--r-pill: 999px;--e1: 0 1px 2px rgb(16 32 55 / 4%), 0 2px 8px rgb(16 32 55 / 6%);--e2: 0 6px 20px rgb(16 32 55 / 10%), 0 2px 6px rgb(16 32 55 / 6%);--e3: 0 16px 40px rgb(16 32 55 / 18%);--nav-w: 232px;--nav-w-collapsed: 60px;--top-h: 56px;--font: "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, helvetica, arial, sans-serif;color-scheme:light}[data-theme=dark]{--c-bg: #0f1722;--c-surface: #161f2c;--c-surface-2: #1d2836;--c-border: #2a3849;--c-text: #e6edf5;--c-text-muted: #93a2b5;--c-primary: #5b8cff;--c-primary-700: #7aa2ff;--c-primary-50: #1a2740;--c-success: #4ade80;--c-warning: #fbbf24;--c-danger: #f87171;--c-info: #22d3ee;--c-success-bg: #10241a;--c-warning-bg: #2a1f0e;--c-danger-bg: #2a1414;--c-info-bg: #0e2228;--e1: 0 1px 2px rgb(0 0 0 / 40%);--e2: 0 4px 12px rgb(0 0 0 / 45%);--e3: 0 12px 32px rgb(0 0 0 / 60%);color-scheme:dark}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root,[data-theme=dark]{--c-border: currentcolor}}html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-tertiary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container: light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem var(--font);--mat-sys-body-large-font: var(--font);--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem var(--font);--mat-sys-body-medium-font: var(--font);--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem var(--font);--mat-sys-body-small-font: var(--font);--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem var(--font);--mat-sys-display-large-font: var(--font);--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem var(--font);--mat-sys-display-medium-font: var(--font);--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem var(--font);--mat-sys-display-small-font: var(--font);--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem var(--font);--mat-sys-headline-large-font: var(--font);--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem var(--font);--mat-sys-headline-medium-font: var(--font);--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem var(--font);--mat-sys-headline-small-font: var(--font);--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem var(--font);--mat-sys-label-large-font: var(--font);--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem var(--font);--mat-sys-label-medium-font: var(--font);--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem var(--font);--mat-sys-label-small-font: var(--font);--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem var(--font);--mat-sys-title-large-font: var(--font);--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem var(--font);--mat-sys-title-medium-font: var(--font);--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem var(--font);--mat-sys-title-small-font: var(--font);--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: var(--c-primary);--mat-sys-on-primary: #fff;--mat-sys-primary-container: var(--c-primary-50);--mat-sys-on-primary-container: var(--c-primary-700);--mat-sys-background: var(--c-bg);--mat-sys-on-background: var(--c-text);--mat-sys-surface: var(--c-surface);--mat-sys-on-surface: var(--c-text);--mat-sys-surface-container: var(--c-surface-2);--mat-sys-on-surface-variant: var(--c-text-muted);--mat-sys-outline: var(--c-border);--mat-sys-outline-variant: var(--c-border);--mat-sys-error: var(--c-danger);--mat-sys-on-error: #fff;--mat-sys-error-container: var(--c-danger-bg);--mat-sys-corner-medium: var(--r-ctl);--mat-sys-corner-large: var(--r-card)}.muted{color:var(--c-text-muted)}.small{font-size:12px}.mono{font-family:ui-monospace,sfmono-regular,menlo,monospace}.flex{display:flex;align-items:center;gap:8px}.between{display:flex;align-items:center;justify-content:space-between;gap:8px}.split{display:grid;grid-template-columns:200px 1fr;gap:var(--s-4)}@media(width<=900px){.split{grid-template-columns:1fr}}.grid{display:grid;gap:var(--s-4)}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media(width<=1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr}}@media(width<=760px){.g2,.g4{grid-template-columns:1fr}}.wrap{flex-wrap:wrap}.mt2{margin-top:8px}.mt3{margin-top:12px}.mt4{margin-top:16px}.mb0{margin-bottom:0}*{box-sizing:border-box}html,body{margin:0;padding:0}app-root{display:block}body{font-family:var(--font);background:var(--c-bg);color:var(--c-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:8px}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--r-ctl);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--c-surface-2)}.btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn.primary:hover{background:var(--c-primary-700)}[data-theme=dark] .btn.primary{background:#2c5fd9;border-color:#2c5fd9}[data-theme=dark] .btn.primary:hover{background:#2456c4}.btn.danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn.success{border-color:var(--c-success);color:var(--c-success);background:transparent}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--c-surface-2)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn.block{width:100%;justify-content:center}.iconbtn{width:34px;height:34px;border-radius:var(--r-ctl);border:1px solid transparent;background:transparent;color:var(--c-text-muted);display:grid;place-items:center;cursor:pointer;position:relative}.iconbtn:hover{background:var(--c-surface-2);color:var(--c-text)}.iconbtn .dot{position:absolute;top:6px;right:7px;width:7px;height:7px;background:var(--c-danger);border-radius:50%;border:2px solid var(--c-surface)}.kbd{font-size:11px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:5px;padding:1px 6px;color:var(--c-text-muted)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:var(--r-pill);font-size:11px;font-weight:700;background:var(--c-surface-2);color:var(--c-text-muted)}.badge.b-danger{background:var(--c-danger);color:#fff}.badge.b-primary{background:var(--c-primary);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--c-surface-2);color:var(--c-text);white-space:nowrap;flex:none}.chip .d{width:7px;height:7px;border-radius:50%;background:currentcolor}.st-new{color:#475569;background:#eef1f5}.st-assigned{color:#1d4ed8;background:#e7eefe}.st-progress{color:#4338ca;background:#ebe9fe}.st-pending{color:var(--c-warning);background:var(--c-warning-bg)}.st-resolved{color:var(--c-success);background:var(--c-success-bg)}.st-closed{color:#475569;background:#eef1f5}.st-cancelled{color:#94a3b8;background:#f1f3f6}[data-theme=dark] .chip[class*=st-]{filter:saturate(1.1)}.pr-critical{color:var(--c-danger);background:var(--c-danger-bg)}.pr-high{color:#9a3412;background:#fdeee2}.pr-medium{color:var(--c-warning);background:var(--c-warning-bg)}.pr-low{color:var(--c-success);background:var(--c-success-bg)}.prcell{appearance:none;border:0;border-radius:var(--r-pill);padding:3px 12px;font-family:inherit;font-size:12px;font-weight:600;text-align:center;text-align-last:center;cursor:pointer}.sev-outage{color:var(--c-danger);background:var(--c-danger-bg)}.sev-maintenance{color:var(--c-warning);background:var(--c-warning-bg)}.sev-info{color:var(--c-info);background:var(--c-info-bg)}.sla{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.sla.compact{flex-wrap:wrap;align-items:flex-start;row-gap:2px}.sla .bar{width:70px;height:6px;border-radius:6px;background:var(--c-surface-2);overflow:hidden}.sla .bar i{display:block;height:100%;border-radius:6px}.sla.ok{color:var(--c-success)}.sla.ok .bar i{background:var(--c-success)}.sla.risk{color:var(--c-warning)}.sla.risk .bar i{background:var(--c-warning)}.sla.breach{color:var(--c-danger)}.sla.breach .bar i{background:var(--c-danger)}.tablewrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);overflow-x:auto;box-shadow:var(--e1)}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--c-border);background:var(--c-surface);position:sticky;top:0}table.tbl td{padding:10px 12px;border-bottom:1px solid var(--c-border);vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr:hover{background:var(--c-surface-2);cursor:pointer}table.tbl.compact td,table.tbl.compact th{padding:6px 12px}.tbl .num{font-weight:700;color:var(--c-primary);white-space:nowrap}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);box-shadow:var(--e1)}.card .ch{padding:13px 16px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:10px}.card .ch h3{font-size:14px;font-weight:700;letter-spacing:-.01em;margin:0}.card .cb{padding:16px}.card .cf{padding:12px 16px;border-top:1px solid var(--c-border);background:var(--c-surface-2);border-radius:0 0 var(--r-card) var(--r-card)}.kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:16px 18px;box-shadow:var(--e1);transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.kpi.accent-l{border-left:3px solid var(--c-primary)}.kpi .lbl{font-size:11px;color:var(--c-text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.kpi .val{font-size:28px;font-weight:750;margin-top:7px;letter-spacing:-.02em;line-height:1.1}.kpi .val.ok{color:var(--c-success)}.kpi .val.warn{color:var(--c-warning)}.kpi .val.danger,.kpi .val.bad{color:var(--c-danger)}.kpi .val.freeze{font-size:16px;padding-top:8px;line-height:1.3}.kpi .trend{font-size:12px;margin-top:5px;color:var(--c-text-muted)}.kpi .trend.up{color:var(--c-success)}.kpi .trend.down{color:var(--c-danger)}button.kpi:hover,a.kpi:hover{box-shadow:var(--e2);transform:translateY(-2px);border-color:var(--c-primary);cursor:pointer}.row-actions{display:flex;gap:6px;justify-content:flex-end}.board{display:flex;gap:var(--s-4);overflow-x:auto;padding-bottom:var(--s-4)}.col{flex:0 0 290px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-card);display:flex;flex-direction:column;max-height:calc(100vh - 220px)}.col .colh{padding:10px 12px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;border-bottom:1px solid var(--c-border)}.col .colh .wip{margin-left:auto;font-size:11px;color:var(--c-text-muted)}.col .cards{padding:10px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.kcard{background:var(--c-surface);border:1px solid var(--c-border);border-radius:9px;padding:11px;box-shadow:var(--e1);cursor:grab;transition:box-shadow .14s ease,transform .14s ease,border-color .14s ease}.kcard:hover{box-shadow:var(--e2);transform:translateY(-1px);border-color:var(--c-primary)}.kcard:active{cursor:grabbing}.kcard .kt{font-weight:600;font-size:13px;margin:4px 0 8px}.kcard .km{display:flex;align-items:center;gap:8px;justify-content:space-between}.kcard .km .left{display:flex;align-items:center;gap:6px}.timeline{display:flex;flex-direction:column;gap:14px}.entry{display:flex;gap:12px}.entry .ava{flex:none}.entry .body{flex:1;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;padding:12px 14px}.entry.note .body{background:var(--c-warning-bg);border-color:#f4d9a8}.entry.system{align-items:center;color:var(--c-text-muted);font-size:12px}.entry.system .body{background:transparent;border:none;padding:4px 0}.entry .meta{font-size:12px;color:var(--c-text-muted);margin-bottom:5px;display:flex;gap:8px;align-items:center}.entry .meta .who{color:var(--c-text);font-weight:650}.composer{margin-top:var(--s-4)}.composer .tabs{display:flex;gap:4px;margin-bottom:8px}.composer .tabs button{border:1px solid var(--c-border);background:var(--c-surface);border-radius:6px;padding:6px 12px;font-weight:600;font-size:12px;cursor:pointer}.composer .tabs button.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.composer .editorwrap .tiptap{min-height:84px;outline:none}.composer .editorwrap .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--c-text-muted);float:left;height:0;pointer-events:none}.toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-4)}.seg{display:inline-flex;border:1px solid var(--c-border);border-radius:var(--r-ctl);overflow:hidden}.seg button{height:32px;padding:0 12px;border:none;background:var(--c-surface);color:var(--c-text-muted);font-weight:600;font-size:12px;cursor:pointer}.seg button.active{background:var(--c-primary);color:#fff}.input,.select{height:34px;border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-ctl);padding:0 10px;color:var(--c-text);font-size:13px}textarea.input{height:auto;padding:8px 10px;width:100%;resize:vertical;font-family:inherit}.searchbox{position:relative;display:inline-flex;align-items:center}.searchbox>.ic{position:absolute;left:9px;display:inline-flex;color:var(--c-text-muted);pointer-events:none}.searchbox>.input{width:100%;padding-left:30px}label.f{display:block;font-size:12px;font-weight:600;color:var(--c-text-muted);margin-bottom:4px}.field{margin-bottom:var(--s-4)}.qf a,.qf button.qf-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-ctl);color:var(--c-text);font-size:13px;font-weight:550;width:100%;border:none;background:transparent;cursor:pointer;text-align:left}.qf a:hover,.qf button.qf-item:hover{background:var(--c-surface-2);text-decoration:none}.qf a.active,.qf button.qf-item.active{background:var(--c-primary-50);color:var(--c-primary-700)}.qf a .badge,.qf button.qf-item .badge{margin-left:auto}.qf .group{font-size:11px;text-transform:uppercase;color:var(--c-text-muted);font-weight:700;padding:12px 10px 4px}.avatar{width:30px;height:30px;border-radius:50%;background:#c7d2fe;color:#3730a3;display:grid;place-items:center;font-weight:700;font-size:12px}[data-theme=dark] .avatar{background:#33406b;color:#c7d2fe}.avatar.sm{width:24px;height:24px;font-size:11px}.avatar.lg{width:44px;height:44px;font-size:16px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:6px;padding:2px 8px}.note-card{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--c-border);box-shadow:inset 3px 0 0 transparent;transition:background .14s ease,box-shadow .14s ease}.note-card:last-child{border-bottom:none}.note-card:hover{background:var(--c-surface-2);box-shadow:inset 3px 0 0 var(--c-primary)}.note-card .dot{width:7px;height:7px;border-radius:50%;background:var(--c-primary);margin-top:6px;flex:none}.note-card .dot.read{background:var(--c-border)}.note-card .t{font-weight:600}.note-card .age{margin-left:auto}.empty{text-align:center;padding:48px 16px;color:var(--c-text-muted)}.empty .big{font-size:40px;margin-bottom:8px}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-card);font-size:13px;font-weight:550;margin-bottom:var(--s-4)}.banner.warn{background:var(--c-warning-bg);color:var(--c-warning);border:1px solid #f4d9a8}.banner.danger{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid #f5c2c2}.banner.info{background:var(--c-info-bg);color:var(--c-info);border:1px solid #b6e3ec}.banner.success{background:var(--c-success-bg);color:var(--c-success);border:1px solid #b7e4c7}.progress{height:8px;background:var(--c-surface-2);border-radius:6px;overflow:hidden}.progress i{display:block;height:100%;background:var(--c-primary);border-radius:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--c-border)}.checklist li.done{color:var(--c-text-muted);text-decoration:line-through}.check{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--c-border);display:grid;place-items:center;flex:none;font-size:11px}.check.on{background:var(--c-success);border-color:var(--c-success);color:#fff}.kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--c-border);font-size:13px}.kv:last-child{border-bottom:none}.kv .k{color:var(--c-text-muted)}.barchart{display:flex;align-items:flex-end;gap:10px;height:140px;padding-top:10px}.barchart .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%}.barchart .b i{width:100%;max-width:36px;background:var(--c-primary);border-radius:6px 6px 0 0;display:block}.barchart .b span{font-size:11px;color:var(--c-text-muted)}.gauge{position:relative;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;margin:0 auto}.gauge .g-inner{position:absolute;inset:12px;border-radius:50%;background:var(--c-surface);display:grid;place-items:center}.gauge .g-val{font-size:22px;font-weight:750}.heat{display:grid;grid-template-columns:auto repeat(5,1fr);gap:4px;font-size:12px}.heat .hc{height:34px;border-radius:6px;display:grid;place-items:center;font-weight:700;color:#fff}.heat .axis{display:grid;place-items:center;color:var(--c-text-muted);font-weight:600}.page{padding:var(--s-5) var(--s-6);max-width:1500px;margin:0 auto}.app>.main>router-outlet+*{display:block;box-sizing:border-box;padding:var(--s-5) var(--s-6);max-width:1500px;margin:0 auto}.page.narrow{max-width:880px}.pagehead{display:flex;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-5)}.pagehead .crumbs{font-size:12px;color:var(--c-text-muted);margin-bottom:4px}.pagehead h1{font-size:22px}.pagehead .sub{color:var(--c-text-muted);margin-top:3px;font-size:13px}.pagehead .actions{margin-left:auto;display:flex;gap:var(--s-2);align-items:center}
