:root{font-family:Poppins,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:light dark;--page-gutter: 24px;--left-rail-w: 300px;--right-panel-w: 400px;--col-gap: 16px;--right-rail-w: 72px;--split-handle-w: 14px;--map-h: clamp(340px, 40vh, 420px);--dial-size: clamp(108px, 9vw, 132px);--cta-bg: rgba(37, 99, 235, .14);--cta-border: rgba(37, 99, 235, .36);--cta-hover-bg: rgba(37, 99, 235, .22);--cta-text: #1d4ed8;--cta-disabled-border: rgba(148, 163, 184, .36);--cta-disabled-text: rgba(15, 23, 42, .45);--progress-chip-bg: rgba(37, 99, 235, .1);--progress-chip-text: #1e3a8a;--gantt-header-bg: rgba(248, 250, 252, .8);--gantt-header-text: #0f172a;--marker-blue: #ffffff00;--layout-navbar-width: 60px;--layout-header-min-height: 60px;--bottom-dash-bg: rgba(15, 23, 42, .75);--bottom-dash-border: rgba(148, 163, 184, .25);--bottom-dash-shadow: 0 20px 42px rgba(2, 6, 23, .3)}[data-theme=light]{--app-bg: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);--sidebar-bg: rgba(255, 255, 255, .98);--sidebar-border: rgba(15, 23, 42, .08);--sidebar-active: linear-gradient(135deg, #2563eb, #38bdf8);--surface-1: #ffffff;--surface-2: #f9fafb;--accent: #2563eb;--accent-warm: #fb923c;--accent-cool: #0ea5e9;--accent-strong: #1d4ed8;--text-primary: #0f172a;--text-muted: #475569;--border-subtle: rgba(148, 163, 184, .28);--map-overlay: rgba(255, 255, 255, .85);--shadow-soft: 0 24px 60px rgba(15, 23, 42, .18);--shadow-strong: 0 40px 90px rgba(37, 99, 235, .25);--card-glow: rgba(59, 130, 246, .18);--icon-muted: #cbd5f5;--schedule-row-bg: #ffffff;--schedule-row-bg-alt: #f6f7fb;--schedule-row-border: rgba(15, 23, 42, .08);--schedule-row-collapsed-bg: rgba(15, 23, 42, .08);--schedule-row-collapsed-border: rgba(15, 23, 42, .18);--gantt-row-collapsed-bg: rgba(37, 99, 235, .16);--gantt-bg: #ffffff;--gantt-project-bg: rgba(37, 99, 235, .12);--gantt-current-period: rgba(255, 153, 82, .16);--gantt-bar-default-bg: rgba(59, 130, 246, .14);--gantt-bar-default-bg-selected: rgba(59, 130, 246, .25);--gantt-bar-default-progress: #2563eb;--gantt-bar-default-progress-selected: #1d4ed8;--gantt-bar-on-track-progress: #1e64f0;--gantt-bar-on-track-progress-selected: #2563eb;--gantt-bar-on-track-bg: rgba(30, 100, 240, .2);--gantt-bar-on-track-bg-selected: rgba(30, 100, 240, .3);--gantt-bar-monitoring-progress: #ff8a3d;--gantt-bar-monitoring-progress-selected: #f97316;--gantt-bar-monitoring-bg: rgba(255, 138, 61, .22);--gantt-bar-monitoring-bg-selected: rgba(255, 138, 61, .32);--gantt-bar-risk-progress: #ff6b3d;--gantt-bar-risk-progress-selected: #fb923c;--gantt-bar-risk-bg: rgba(255, 107, 61, .2);--gantt-bar-risk-bg-selected: rgba(255, 107, 61, .32);--gantt-bar-placeholder-progress: rgba(100, 116, 139, .55);--gantt-bar-placeholder-progress-selected: rgba(51, 65, 85, .72);--gantt-bar-placeholder-bg: rgba(148, 163, 184, .14);--gantt-bar-placeholder-bg-selected: rgba(148, 163, 184, .24);--gantt-bar-collapsed-bg: rgba(37, 99, 235, .16);--gantt-bar-collapsed-bg-selected: rgba(37, 99, 235, .26);--gantt-link: rgba(100, 116, 139, .65);--gantt-link-hover: rgba(59, 130, 246, .85);--gantt-progress-border: rgba(15, 23, 42, .12);--gantt-label-dark: #0f172a;--gantt-label-light: #f8fafc;--gantt-label-halo-for-dark: rgba(248, 250, 252, .88);--gantt-label-halo-for-light: rgba(15, 23, 42, .35);--gantt-label-tag-bg-dark: rgba(248, 250, 252, .92);--gantt-label-tag-bg-light: rgba(30, 41, 59, .82);--gantt-header-bg: rgba(242, 246, 255, .92);--gantt-header-text: #475569;--chip-active-text: #0f172a;--status-on-track: #1e64f0;--status-on-track-muted: rgba(30, 100, 240, .18);--status-at-risk: #ff8a3d;--status-at-risk-muted: rgba(255, 138, 61, .32);--status-delayed: #ff6b3d;--status-delayed-muted: rgba(255, 107, 61, .4);--status-completed: #2563eb;--status-completed-muted: rgba(37, 99, 235, .28);--status-critical: #9333ea;--status-critical-muted: rgba(233, 213, 255, .6);--status-on-track-task: #1e64f0;--status-at-risk-task: #ff8a3d;--status-delayed-task: #ff6b3d;--status-completed-task: #2563eb;--status-critical-task: #7c3aed;--gantt-grid-line: rgba(15, 23, 42, .08);--gantt-grid-fill: var(--surface-1);--gantt-grid-fill-alt: #f5f7fb;--gantt-label: #1f2937;--gantt-tooltip-bg: rgba(255, 255, 255, .98);--gantt-tooltip-text: #0f172a;--trend-progress: rgba(37, 99, 235, .85);--trend-risk: rgba(220, 38, 38, .85);--badge-critical-bg: rgba(147, 51, 234, .15);--badge-critical-text: #6b21a8;--schedule-card-bg: #ffffff;--schedule-card-accent: rgba(59, 130, 246, .1);--schedule-card-shadow: 0 18px 36px rgba(15, 23, 42, .12);--schedule-card-border: rgba(15, 23, 42, .06);--schedule-card-glow: rgba(37, 99, 235, .12);--gantt-task-progress: rgba(15, 23, 42, .08);--schedule-label-color: #111827;--card-light: #ffffff;--card-dark: #f9fafb;--text-text-light: #0f172a;--text-text-dark: #475569;--text-text-dark-high: #0f172a;--border-border-light: rgba(15, 23, 42, .08);--border-border-dark: rgba(15, 23, 42, .08);--bottom-dash-bg: rgba(248, 250, 252, .9);--bottom-dash-border: rgba(148, 163, 184, .3);--bottom-dash-shadow: 0 22px 46px rgba(148, 163, 184, .25)}[data-theme=dark]{--app-bg: #040404;--sidebar-bg: rgba(8, 8, 8, .95);--sidebar-border: rgba(255, 255, 255, .06);--sidebar-active: linear-gradient(145deg, #2563eb, #7c3aed);--surface-1: rgba(10, 10, 10, .94);--surface-2: rgba(15, 15, 15, .98);--accent: #3b82f6;--accent-warm: #fb923c;--accent-cool: #34d399;--accent-strong: #2563eb;--text-primary: #f5f5f5;--text-muted: #a1a1aa;--border-subtle: rgba(255, 255, 255, .08);--map-overlay: rgba(12, 12, 12, .92);--shadow-soft: 0 30px 80px rgba(0, 0, 0, .8);--shadow-strong: 0 60px 110px rgba(0, 0, 0, .85);--card-glow: rgba(59, 130, 246, .28);--icon-muted: rgba(148, 163, 184, .25);--schedule-row-bg: rgba(6, 6, 6, .98);--schedule-row-bg-alt: rgba(12, 12, 12, .96);--schedule-row-border: rgba(255, 255, 255, .06);--schedule-row-collapsed-bg: rgba(15, 23, 42, .6);--schedule-row-collapsed-border: rgba(56, 189, 248, .32);--gantt-row-collapsed-bg: rgba(15, 23, 42, .6);--gantt-bg: #050505;--gantt-project-bg: rgba(47, 129, 247, .16);--gantt-current-period: rgba(255, 153, 82, .22);--gantt-bar-default-bg: rgba(47, 129, 247, .35);--gantt-bar-default-bg-selected: rgba(47, 129, 247, .55);--gantt-bar-default-progress: #2f81f7;--gantt-bar-default-progress-selected: #1d4ed8;--gantt-bar-on-track-progress: #1e64f0;--gantt-bar-on-track-progress-selected: #58a3ff;--gantt-bar-on-track-bg: rgba(30, 100, 240, .36);--gantt-bar-on-track-bg-selected: rgba(30, 100, 240, .52);--gantt-bar-monitoring-progress: #ff8a3d;--gantt-bar-monitoring-progress-selected: #ffb066;--gantt-bar-monitoring-bg: rgba(255, 138, 61, .32);--gantt-bar-monitoring-bg-selected: rgba(255, 138, 61, .45);--gantt-bar-risk-progress: #ff6b3d;--gantt-bar-risk-progress-selected: #ff9b6b;--gantt-bar-risk-bg: rgba(255, 107, 61, .35);--gantt-bar-risk-bg-selected: rgba(255, 107, 61, .48);--gantt-bar-placeholder-progress: rgba(148, 163, 184, .65);--gantt-bar-placeholder-progress-selected: rgba(226, 232, 240, .75);--gantt-bar-placeholder-bg: rgba(59, 130, 246, .28);--gantt-bar-placeholder-bg-selected: rgba(59, 130, 246, .42);--gantt-bar-collapsed-bg: rgba(59, 130, 246, .32);--gantt-bar-collapsed-bg-selected: rgba(59, 130, 246, .5);--gantt-link: #3a3a3a;--gantt-link-hover: #2f81f7;--gantt-progress-border: rgba(0, 0, 0, .9);--gantt-label-dark: #e6e6e6;--gantt-label-light: #e6e6e6;--gantt-label-halo-for-dark: rgba(0, 0, 0, .72);--gantt-label-halo-for-light: rgba(0, 0, 0, .72);--gantt-label-tag-bg-dark: rgba(18, 18, 18, .82);--gantt-label-tag-bg-light: rgba(18, 18, 18, .82);--cta-bg: rgba(37, 99, 235, .3);--cta-border: rgba(59, 130, 246, .45);--cta-hover-bg: rgba(37, 99, 235, .45);--cta-text: #e0f2fe;--cta-disabled-border: rgba(63, 63, 70, .65);--cta-disabled-text: rgba(161, 161, 170, .45);--progress-chip-bg: rgba(59, 130, 246, .28);--progress-chip-text: #f8fafc;--chip-active-text: #f8fafc;--status-on-track: #1e64f0;--status-on-track-muted: rgba(30, 100, 240, .28);--status-at-risk: #ff8a3d;--status-at-risk-muted: rgba(255, 138, 61, .25);--status-delayed: #ff6b3d;--status-delayed-muted: rgba(255, 107, 61, .3);--status-completed: #58a3ff;--status-completed-muted: rgba(88, 163, 255, .3);--status-critical: #c084fc;--status-critical-muted: rgba(192, 132, 252, .32);--status-on-track-task: #1e64f0;--status-at-risk-task: #ff8a3d;--status-delayed-task: #ff6b3d;--status-completed-task: #58a3ff;--status-critical-task: #a855f7;--gantt-grid-line: #1e1e1e;--gantt-grid-fill: #0d0d0d;--gantt-grid-fill-alt: #141414;--gantt-label: #e6e6e6;--gantt-tooltip-bg: rgba(18, 18, 18, .96);--gantt-tooltip-text: #e6e6e6;--trend-progress: rgba(59, 130, 246, .85);--trend-risk: rgba(248, 113, 113, .88);--badge-critical-bg: rgba(192, 132, 252, .25);--badge-critical-text: #ede9fe;--schedule-card-bg: rgba(10, 10, 10, .96);--schedule-card-accent: rgba(59, 130, 246, .22);--schedule-card-shadow: 0 36px 80px rgba(0, 0, 0, .75);--schedule-card-border: rgba(148, 163, 184, .12);--schedule-card-glow: rgba(37, 99, 235, .28);--gantt-task-progress: rgba(0, 0, 0, .45);--schedule-label-color: #fafafa;--gantt-header-bg: #121212;--gantt-header-text: #b3b3b3;--card-light: rgba(10, 10, 10, .94);--card-dark: rgba(15, 15, 15, .98);--text-text-light: #f5f5f5;--text-text-dark: #a1a1aa;--text-text-dark-high: #f5f5f5;--border-border-light: rgba(255, 255, 255, .06);--border-border-dark: rgba(255, 255, 255, .06)}@media (min-width: 1440px){:root{--right-panel-w: 420px}}@keyframes pulse{0%{opacity:.75}50%{opacity:.4}to{opacity:.75}}html,body,#root{height:100%;margin:0;background:var(--app-bg);color:var(--text-primary)}body.rcc-panel-open{overflow:hidden}*{box-sizing:border-box}button.refresh-cta,.refresh-cta{border:1px solid var(--cta-border);background:var(--cta-bg);color:var(--cta-text);border-radius:var(--radius-full);padding:6px 18px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.refresh-cta:hover:not(:disabled){background:var(--cta-hover-bg);transform:translateY(-1px);box-shadow:0 16px 28px #2563eb33}.refresh-cta:disabled{cursor:not-allowed;background:transparent;color:var(--cta-disabled-text);border-color:var(--cta-disabled-border);box-shadow:none;transform:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:var(--radius-full)}.app-shell{display:flex;height:100%;width:100%;overflow:hidden;background:var(--app-bg);color:var(--text-primary)}.content-shell{flex:1;display:flex;overflow:hidden}.content-shell>*{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--layout-navbar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xl);position:relative;z-index:var(--z-dropdown)}.sidebar-logo{width:42px;height:42px;border-radius:var(--radius-2xl);background:var(--sidebar-active);display:grid;place-items:center;font-weight:700;font-size:1.2rem;color:var(--surface-1);box-shadow:var(--shadow-glow)}.sidebar button.nav-btn{border:none;background:none;color:var(--text-muted);cursor:pointer;width:52px;height:52px;border-radius:var(--radius-2xl);display:grid;place-items:center;transition:transform .22s ease,box-shadow .22s ease,color .22s ease,background .22s ease}.sidebar button.nav-btn svg{width:24px;height:24px}.sidebar button.nav-btn:hover{color:var(--text-primary);transform:translateY(-3px)}.sidebar button.nav-btn.active{color:var(--surface-1);background-image:var(--sidebar-active);box-shadow:0 18px 38px #2563eb52}.sidebar button.nav-btn.theme-nav{border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-primary)}.sidebar button.nav-btn.theme-nav:hover{color:var(--surface-1)}.sidebar button.nav-btn.theme-nav.active{border-color:transparent}.sidebar-phase{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:.68rem;font-weight:700;letter-spacing:.14em;background:#94a3b838;color:inherit}.sidebar-footer{margin-top:auto;display:grid;gap:var(--spacing-md);place-items:center}.theme-toggle{width:52px;height:52px;border-radius:var(--radius-2xl);border:1px solid var(--border-subtle);background:var(--surface-1);display:grid;place-items:center;color:var(--text-primary);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.theme-toggle:hover{transform:translateY(-3px);box-shadow:0 14px 34px var(--shadow-soft)}.theme-toggle svg{width:22px;height:22px}.header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 42px 16px;background:linear-gradient(135deg,#0f172abf,#2563eb59);gap:32px;box-shadow:0 28px 60px #0f172a59;position:sticky;top:0;z-index:8}.header-leading{display:flex;flex-direction:column;gap:18px}.header h1{margin:0;font-size:clamp(1.6rem,2vw,1.9rem);letter-spacing:.04em}.header-title-group{display:grid;gap:10px;color:#f8fafcf2}.header-title-group p{margin:0;font-size:.94rem;color:#e2e8f0b3;max-width:640px}.header-metrics{display:flex;flex-wrap:wrap;gap:12px}.metric-chip{display:inline-flex;align-items:baseline;gap:8px;padding:10px 16px;border-radius:var(--radius-full);background:#0f172a73;border:1px solid rgba(148,163,184,.28);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#e2e8f0e6}.metric-chip strong{font-size:1rem;color:#38bdf8f2}.metric-chip.subtle strong{color:#94c5ffe6}.header-controls{display:flex;align-items:center;gap:16px}.phase-toggle{display:inline-flex;background:#0f172a99;padding:8px;border-radius:var(--radius-full);border:1px solid rgba(148,163,184,.25);gap:8px}.phase-toggle button{background:transparent;border:none;color:#e2e8f099;padding:9px 20px;border-radius:var(--radius-full);cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}.phase-toggle button.active{background:#38bdf840;color:#0b1220;transform:translateY(-1px)}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d1}.breadcrumbs-link{background:none;border:none;padding:0;color:inherit;text-decoration:none;cursor:pointer;font-weight:600;transition:color .2s ease}.breadcrumbs-link:hover{color:#9fd9ff;text-decoration:none}.breadcrumbs-label.current{color:var(--surface-1)}.breadcrumbs-separator{opacity:.6}[data-theme=light] .breadcrumbs{color:#475569b3}[data-theme=light] .breadcrumbs-link:hover,[data-theme=light] .breadcrumbs-label.current{color:#9fd9ff}.app-shell.topbar-layout{flex-direction:column;min-height:0;width:100%}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:0 30px;background:radial-gradient(circle at top left,#121f3df2,#020817f2)}.app-topbar__section{display:flex;align-items:center;min-width:0}.app-topbar__section--left{flex:1 1 auto}.app-topbar__section--center{flex:1 1 auto;justify-content:center;text-align:center}.app-topbar__section--right{gap:10px;justify-content:flex-end}.app-topbar__spacer{flex:1 1 auto}.topbar-action-btn{width:44px;height:44px;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.24);background:#0f172a8c;color:#e2e8f0eb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;position:relative}.topbar-action-btn:hover{background:#2563eb38;border-color:#2563eb73;transform:translateY(-1px)}.topbar-action-btn--active{background:#2563eb59!important;border-color:#2563eba6!important;color:#bfdbfefa!important}.topbar-action-btn svg{width:20px;height:20px}.topbar-action-btn--alert{color:#f8fafceb}.topbar-action-btn__badge{position:absolute;top:6px;right:8px;min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-status-error);color:var(--surface-1);font-size:.68rem;font-weight:700;display:grid;place-items:center;padding:0 4px}[data-theme=light] .app-topbar{background:linear-gradient(135deg,#fffffff5,#e2f2ffeb)}[data-theme=light] .topbar-action-btn{border-color:#94a3b859;background:#f8fafcd9;color:#0f172ab8}[data-theme=light] .topbar-action-btn:hover{background:#2563eb2e;color:#0f172aeb;border-color:#2563eb73}[data-theme=light] .topbar-action-btn--active{background:#2563eb40!important;border-color:#2563eb8c!important;color:#2563ebf2!important}[data-theme=light] .header{background:linear-gradient(135deg,#ffffffdb,#e2f2ffc7);color:var(--text-primary)}[data-theme=light] .header-title-group p{color:#475569d9}[data-theme=light] .header-kicker{color:#2563eba6}[data-theme=light] .metric-chip{background:#f8fafca6;border:1px solid rgba(148,163,184,.2);color:#0f172ab8}[data-theme=light] .metric-chip strong{color:var(--accent)}[data-theme=light] .phase-toggle{background:#f8fafcd9;border:1px solid rgba(148,163,184,.22)}[data-theme=light] .phase-toggle button{color:var(--text-muted)}.panel-toggle{position:sticky;top:-10px;margin:0 auto 24px;display:flex;justify-content:center;align-items:center;width:190px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--surface-2);gap:10px;padding:8px 16px;cursor:pointer;color:var(--text-muted);font-size:.92rem;transition:transform .2s ease,background .2s ease;box-shadow:0 12px 24px #0f172a29}.panel-toggle:hover{background:#2563eb52;color:var(--surface-1)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading{display:flex;align-items:center;gap:12px}.section-heading h2{margin:0;font-size:1.14rem}.section-heading .badge{padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);background:#38bdf8;font-weight:600}.section-actions button{border:none;background:#38bdf826;color:var(--text-primary);padding:6px 14px;border-radius:var(--radius-full);font-size:.8rem;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1426c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;z-index:9999}.modal{background:var(--surface-2);border-radius:26px;padding:32px;width:min(540px,92vw);border:1px solid var(--border-subtle);box-shadow:var(--shadow-strong);display:grid;gap:20px}.modal h3{margin:0;font-size:1.28rem}.modal form{display:grid;gap:16px}.modal label{display:grid;gap:6px;font-size:.9rem;color:var(--text-muted)}.modal input,.modal textarea,.modal select{width:100%;padding:12px 14px;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.32);background:#0c14260f;color:var(--text-primary);font-size:.98rem}[data-theme=dark] .modal input,[data-theme=dark] .modal textarea,[data-theme=dark] .modal select{background:#0f172ad9;color:var(--surface-1)}.modal textarea{min-height:90px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:12px}.modal-actions button{padding:11px 20px;border-radius:var(--radius-xl);border:none;font-weight:600;cursor:pointer}.modal-actions .secondary{background:#47556938;color:var(--text-primary)}.modal-actions .primary{background:linear-gradient(135deg,#34d399,#22d3ee);color:var(--text-primary)}.leaflet-control-zoom a,.leaflet-control-scale-line{background:#0f172ae6!important;color:#e2e8f0!important;border:1px solid rgba(148,163,184,.25)!important;box-shadow:none!important}.leaflet-top.leaflet-right .leaflet-control{margin-right:18px;margin-top:18px}[data-theme=light] .leaflet-control-zoom a,[data-theme=light] .leaflet-control-scale-line{background:#ffffffeb!important;color:var(--text-primary)!important}.leaflet-control-attribution{display:none!important}.leaflet-container{background:transparent;position:relative;z-index:0;transform:translateZ(0);will-change:contents;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 1200px){.header{padding:22px}.projects-panel{padding:26px 22px 32px}.landing-wrapper{padding:36px 24px}.login-wrapper{grid-template-columns:1fr}.login-hero{display:none}}.btn-ghost{border:none;padding:8px 12px;border-radius:var(--radius-lg);font-weight:600;color:var(--text-primary);cursor:pointer;background:transparent;transition:background .2s ease,transform .2s ease}.btn-ghost:hover{transform:translateY(-1px);background:#38bdf81f}.btn-ghost.active{background:#38bdf838;color:var(--text-primary)}.modal-form select{width:100%;padding:12px 14px;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.32);background:#0c14260f;color:var(--text-primary);font-size:.98rem}[data-theme=dark] .modal-form select{background:#0f172ad9;color:var(--surface-1)}.modal-form select:focus,.modal-form input:focus,.modal-form textarea:focus{outline:none;border-color:#38bdf899;box-shadow:0 0 0 3px #38bdf82e}.create-btn{position:relative;overflow:hidden}.create-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(255,255,255,.25),transparent 65%);opacity:0;transition:opacity .3s ease}.create-btn:hover:after{opacity:1}@media (max-width: 1200px){.contract-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}.contract-insights{max-height:240px}}.shadow-card{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.contract-pin-circular__container{position:relative;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 10px 15px -3px #0000001a}.contract-pin-circular__value{position:relative;z-index:10;font-size:16px;font-weight:700;color:#1f2937}.contract-pin-circular__badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--color-status-error);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid white;font-weight:700}.contract-pin-circular--active .contract-pin-circular__container{border-width:4px;border-color:var(--accent);box-shadow:0 15px 32px #2563eb59}@keyframes alert-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.contract-pin-circular--has-alerts .contract-pin-circular__badge{animation:alert-blink 1.5s ease-in-out infinite;background:var(--color-status-error)}.contract-pin-circular--has-alerts.contract-pin-circular--active .contract-pin-circular__badge{animation:alert-blink 1s ease-in-out infinite;box-shadow:0 0 10px #ef4444cc}.ccc-floating-panel{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.contract-leaflet{width:100%!important;height:100%!important;z-index:0}.contract-topbar{position:relative;z-index:300;height:50px;background:#fff;border-bottom:1px solid #e5e7eb}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.condensed-text{font-feature-settings:"cond" 1;letter-spacing:-.01em}.font-condensed{font-family:Poppins,sans-serif;font-feature-settings:"cond" 1;letter-spacing:-.01em}.metric-value{font-variant-numeric:tabular-nums;transition:color .2s ease}.global-left-navbar{height:100vh;min-width:60px}.global-left-navbar__logo-image{width:100%;max-width:48px;height:auto;-o-object-fit:contain;object-fit:contain}.global-left-navbar__center{flex:1;overflow-y:auto}.empty-space-50px{height:50px}.global-header{min-height:var(--layout-header-min-height);background:var(--sidebar-bg)}[data-theme=light] .global-header{background:var(--sidebar-bg)}.global-right-navbar{display:flex;flex-direction:column;height:100vh;border-right:none;border-left:1px solid var(--sidebar-border)}.global-right-navbar__top{padding:var(--spacing-sm) 0;display:flex;justify-content:center;align-items:center}.global-right-navbar__center{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;overflow-y:auto}.global-right-navbar__bottom{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.bottom-floating-dash{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:var(--z-toast);pointer-events:none}.page-template--panel-open .bottom-floating-dash{left:calc(50% - (var(--panel-width, 350px) + var(--spacing-sm)) / 2)}.bottom-floating-dash__content{background:var(--bottom-dash-bg);border:1px solid var(--bottom-dash-border);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);pointer-events:auto;padding:10px 16px 8px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.page-template{height:100vh;overflow:hidden;position:relative}.page-template__main{flex:1;min-height:0;overflow:auto}.page-template__main .main:has(.map-section:not(.minimized)){touch-action:none}.page-template__main-bg,.not-found-container{background:var(--app-bg)}.not-found-content{text-align:center}.not-found-404{font-size:120px;font-weight:900;line-height:1;background:linear-gradient(135deg,#2563ebcc,#38bdf8cc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-4px;margin-bottom:8px}.not-found-title{font-size:32px;font-weight:700;color:var(--text-primary);margin:0}.not-found-description{font-size:16px;color:var(--text-muted);margin:0;line-height:1.6}[data-theme=light] .not-found-404{background:linear-gradient(135deg,#2563ebe6,#38bdf8e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.map-pin{position:relative;transition:transform .2s ease,filter .2s ease}.alert-badge-pulse{position:relative}.alert-badge-pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;animation:alert-pulse 2s cubic-bezier(.4,0,.6,1) infinite;z-index:-1;pointer-events:none}.map-tooltip{background:#0f172af2!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:var(--radius-md)!important;padding:0!important;margin:0!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;box-shadow:0 8px 24px #0000004d!important;width:250px!important;max-width:250px!important;min-width:250px!important;box-sizing:border-box!important;overflow:hidden!important}[data-theme=light] .map-tooltip{background:#fffffff2!important;border-color:#94a3b838!important;box-shadow:0 8px 24px #0f172a26!important}.map-tooltip .leaflet-tooltip-content-wrapper{padding:0!important;background:transparent!important;border-radius:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.map-tooltip-content{padding:10px 12px;width:100%;max-width:250px;min-width:0;min-height:80px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.map-tooltip-header{margin-bottom:8px;min-height:20px}.map-tooltip-name{color:var(--text-primary);font-size:.875rem;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}[data-theme=light] .map-tooltip-name{color:#0f172af2}.map-tooltip-metrics{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;flex:1;min-width:0;overflow:hidden}.map-tooltip-metric{display:flex;flex-direction:column;min-width:0}.map-tooltip-metric-label{font-size:.625rem;text-transform:uppercase;font-weight:500;letter-spacing:.05em;color:#e2e8f0b3;margin-bottom:2px}[data-theme=light] .map-tooltip-metric-label{color:#475569b3}.map-tooltip-metric-value{font-size:.8125rem;font-weight:700;color:var(--text-primary);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=light] .map-tooltip-metric-value{color:#0f172af2}.map-tooltip-metric-value--alerts{color:#f87171}[data-theme=light] .map-tooltip-metric-value--alerts{color:#dc2626}.map-tooltip-metric-value--status{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:var(--radius-xs);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-tooltip-metric-value--weather{font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-tooltip-metric-value--status.map-tooltip-status--on-track{background:#22c55e33;color:var(--color-status-success)}.map-tooltip-metric-value--status.map-tooltip-status--monitoring{background:#facc1533;color:#facc15}.map-tooltip-metric-value--status.map-tooltip-status--risk{background:#ef444433;color:var(--color-status-error)}.map-tooltip-metric-value--status.map-tooltip-status--default{background:#94a3b833;color:#94a3b8}.map-tooltip-metric-value--status.map-tooltip-status--delayed,.map-tooltip-metric-value--status.map-tooltip-status--at-risk{background:#ef444433;color:var(--color-status-error)}.map-tooltip-metric-value--status.map-tooltip-status--live,.map-tooltip-metric-value--status.map-tooltip-status--active{background:#22c55e33;color:var(--color-status-success)}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--on-track{background:#22c55e26;color:#16a34a}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--monitoring{background:#facc1526;color:#eab308}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--risk{background:#ef444426;color:#dc2626}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--default{background:#94a3b826;color:#64748b}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--delayed,[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--at-risk{background:#ef444426;color:#dc2626}[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--live,[data-theme=light] .map-tooltip-metric-value--status.map-tooltip-status--active{background:#22c55e26;color:#16a34a}.floating-ai-button.topbar-action-btn{position:fixed;bottom:16px;right:360px;width:62px;height:62px;border-radius:18px;z-index:300}.page-template--panel-open .floating-ai-button.topbar-action-btn{right:calc(360px + var(--panel-width, 350px) + 8px)}.floating-ai-button.topbar-action-btn svg{width:32px;height:32px}.topbar-actions__btn--ai:hover{background:var(--color-action-primary)}.ai-chat-dialog{background:var(--surface-2);border-radius:26px;padding:0;width:min(600px,92vw);max-height:85vh;border:1px solid var(--border-subtle);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden}.ai-chat-dialog__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ai-chat-dialog__title{display:flex;align-items:center;gap:12px}.ai-chat-dialog__title h3{margin:0;font-size:1.28rem;color:var(--text-primary)}.ai-chat-dialog__context{font-size:.875rem;color:var(--text-muted);font-weight:400}.ai-chat-dialog__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background .2s ease,color .2s ease}.ai-chat-dialog__close:hover{background:var(--surface-3);color:var(--text-primary)}.ai-chat-dialog__messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 24px 12px;display:flex;flex-direction:column;gap:16px}.ai-chat-dialog__messages-end{flex-shrink:0;height:4px}.ai-chat-dialog__messages .chat-message-bubble--assistant{max-width:100%;width:100%}.ai-chat-dialog__messages .chat-message-bubble--assistant .chat-message-bubble__content-wrap{width:100%}.ai-chat-dialog__messages .chat-message-bubble--assistant .chat-message-bubble__bubble{background:transparent;border-color:transparent;padding-left:0;padding-right:0}.ai-chat-dialog__messages .markdown-view{overflow-wrap:break-word;word-break:normal;font-size:.875rem;line-height:1.55}.ai-chat-message{display:flex;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message--user{justify-content:flex-end}.ai-chat-message--ai{justify-content:flex-start}.ai-chat-message__content{max-width:75%;padding:12px 16px;border-radius:18px;background:var(--surface-1);border:1px solid var(--border-subtle)}.ai-chat-message--user .ai-chat-message__content{background:linear-gradient(135deg,var(--accent),#7c3aed);color:var(--surface-1);border:none}.ai-chat-message--ai .ai-chat-message__content{background:var(--surface-1);color:var(--text-primary)}.ai-chat-message__content p{margin:0 0 6px;font-size:.95rem;line-height:1.5}.ai-chat-message--user .ai-chat-message__content p{color:var(--surface-1)}.ai-chat-message__content small{font-size:.75rem;color:var(--text-muted);opacity:.7}.ai-chat-message--user .ai-chat-message__content small{color:#fffc}.ai-chat-message--loading .ai-chat-message__content{background:var(--surface-2)}.ai-chat-dialog__quick-prompts{padding:8px 0 4px;border-top:none;flex-shrink:0}.ai-chat-dialog__quick-prompts-label{font-size:.875rem;color:var(--text-muted);margin:0 0 12px;font-weight:500}.ai-chat-dialog__quick-prompts-list{display:flex;flex-wrap:wrap;gap:8px}.ai-chat-dialog__quick-prompt-btn{padding:8px 14px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.ai-chat-dialog__quick-prompt-btn:hover{background:var(--surface-2);border-color:var(--accent);transform:translateY(-1px)}.ai-chat-dialog__header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.ai-chat-dialog__icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background .15s ease,color .15s ease}.ai-chat-dialog__icon-btn:hover{background:var(--surface-3);color:var(--text-primary)}.ai-chat-dialog__status{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--text-muted);font-size:.95rem}.ai-chat-dialog__status--error{color:var(--color-alert, #ef4444)}.ai-chat-dialog__composer{border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--surface-2);display:flex;flex-direction:column;gap:8px;padding-bottom:4px}.ai-chat-dialog__composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 24px 0}.ai-chat-dialog__scope-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full, 999px);background:var(--surface-3);color:var(--text-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48%}.ai-chat-dialog__model-select{margin-left:auto;max-width:52%;padding:4px 10px;border-radius:var(--radius-full, 999px);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-primary);font-size:.75rem;cursor:pointer}.ai-chat-dialog__model-error{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.ai-chat-dialog__send-error{margin:0;padding:0 24px 12px;font-size:.8rem;color:var(--color-alert, #ef4444)}.ai-chat-dialog__input{display:flex;gap:12px;padding:0 24px 16px;flex-shrink:0}.ai-chat-dialog__input input{flex:1;padding:12px 16px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-primary);font-size:.95rem}.ai-chat-dialog__input input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.ai-chat-dialog__send-btn{width:44px;height:44px;border-radius:var(--radius-xl);border:none;background:linear-gradient(135deg,var(--accent),#7c3aed);color:var(--surface-1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.ai-chat-dialog__send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #2563eb4d}.ai-chat-dialog__send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-dialog__limit-banner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) auto 0;max-width:28rem;padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);text-align:center}.ai-chat-dialog__limit-banner-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.ai-chat-dialog__limit-banner-btn{border:none;background:var(--color-action-primary);color:var(--color-text-inverse, #fff);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer}.business-function-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;flex-shrink:0}.business-function-header__left{display:flex;flex-direction:column;gap:4px}.business-function-header__title{font-size:1.75rem;font-weight:600;color:var(--text-primary, rgba(226, 232, 240, .95));margin:0}.business-function-header__subtitle{font-size:.875rem;color:var(--text-muted, rgba(148, 163, 184, .8));margin:0}.business-function-header__right{display:flex;align-items:flex-start}[data-theme=light] .business-function-header__title{color:var(--text-primary, rgba(15, 23, 42, .95))}[data-theme=light] .business-function-header__subtitle{color:var(--text-muted, rgba(71, 85, 105, .8))}.alarm-toast-container{z-index:9999}.alarm-toast-wrapper{padding:0;background:transparent;box-shadow:none}.alarm-toast{display:flex;align-items:center;gap:12px;padding:12px 16px;min-width:320px;max-width:400px;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);cursor:pointer;transition:all .2s ease}.alarm-toast:hover{box-shadow:var(--shadow-strong);transform:translateY(-1px)}[data-theme=dark] .alarm-toast,[data-theme=light] .alarm-toast{background:var(--surface-1);border-color:var(--border-subtle)}.alarm-toast__leading{flex-shrink:0}.alarm-toast__icon-wrapper{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-status-error);color:var(--surface-1)}.alarm-toast__icon{width:20px;height:20px}.alarm-toast__content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.alarm-toast__title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.4}.alarm-toast__subtitle{font-size:.8125rem;color:var(--text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .alarm-toast__title{color:var(--text-primary)}[data-theme=dark] .alarm-toast__subtitle{color:var(--text-muted)}[data-theme=light] .alarm-toast__title{color:var(--text-primary)}[data-theme=light] .alarm-toast__subtitle{color:var(--text-muted)}.alarm-toast__trailing{flex-shrink:0}.alarm-toast__close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.alarm-toast__close-btn:hover{background:var(--surface-2);color:var(--text-primary)}.alarm-toast__close-btn:focus{outline:2px solid var(--accent);outline-offset:2px}[data-theme=dark] .alarm-toast__close-btn{color:var(--text-muted)}[data-theme=dark] .alarm-toast__close-btn:hover{background:var(--surface-2);color:var(--text-primary)}[data-theme=light] .alarm-toast__close-btn{color:var(--text-muted)}[data-theme=light] .alarm-toast__close-btn:hover{background:var(--surface-2);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-xl);border:1px solid transparent;cursor:pointer;font-family:inherit;font-weight:500;line-height:1;position:relative;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease;text-decoration:none;outline-offset:2px}.btn:focus-visible{outline:2px solid rgba(37,99,235,.7)}.btn--small{height:32px;padding:0 12px;font-size:.75rem;border-radius:10px;gap:4px}.btn--small .btn__icon svg{width:14px;height:14px}.btn--medium{height:42px;padding:0 18px;font-size:.875rem;border-radius:var(--radius-xl);gap:6px}.btn--medium .btn__icon svg{width:20px;height:20px}.btn--large{height:52px;padding:0 24px;font-size:1rem;border-radius:var(--radius-2xl);gap:8px}.btn--large .btn__icon svg{width:22px;height:22px}.btn--icon-only{padding:0}.btn--icon-only.btn--small{width:32px}.btn--icon-only.btn--medium{width:44px}.btn--icon-only.btn--large{width:52px}.btn--full-width{width:100%}.btn__icon{display:inline-flex;align-items:center;flex-shrink:0}.btn__label{display:inline-block}.btn__badge{position:absolute;top:6px;right:8px;min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-status-error);color:var(--surface-1);font-size:.68rem;font-weight:700;display:grid;place-items:center;padding:0 4px;pointer-events:none}.btn__badge--dot{min-width:0;width:10px;height:10px;padding:0;top:8px;right:10px}.btn__spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .65s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--elevated{background:#0f172a8c;border-color:#94a3b83d;color:#e2e8f0eb;box-shadow:0 2px 8px #00000040}.btn--elevated:hover:not(.btn--disabled):not(:disabled){background:#2563eb38;border-color:#2563eb73;box-shadow:0 4px 14px #2563eb33}.btn--elevated.btn--active{background:linear-gradient(135deg,#2563eb59,#38bdf859);border-color:#2563eb99;color:#f8fafcfa}.btn--elevated.btn--active:hover:not(.btn--disabled):not(:disabled){background:linear-gradient(135deg,#2563eb73,#38bdf873);border-color:#2563ebb3}.btn--outlined{background:#0f172a4d;border-color:#94a3b866;color:#e2e8f0eb}.btn--outlined:hover:not(.btn--disabled):not(:disabled){background:#2563eb40;border-color:#2563eb8c;transform:translateY(-1px)}.btn--outlined.btn--active{background:#2563eb2e;border-color:#2563eba6;color:#f8fafcfa}.btn--outlined.btn--active:hover:not(.btn--disabled):not(:disabled){background:#2563eb59;border-color:#2563ebbf}.btn--text{background:#0f172a33;border-color:transparent;color:#e2e8f0cc}.btn--text:hover:not(.btn--disabled):not(:disabled){background:#2563eb40;color:#f8fafcfa}.btn--text.btn--active{color:#38bdf8f2}.btn--text.btn--active:hover:not(.btn--disabled):not(:disabled){background:#2563eb4d}.btn--icon{background:#0f172a8c;border-color:#94a3b83d;color:#e2e8f0eb}.btn--icon:hover:not(.btn--disabled):not(:disabled){background:#2563eb38;border-color:#2563eb73;transform:translateY(-1px)}.btn--icon.btn--active{background:linear-gradient(135deg,#2563eb59,#38bdf859);border-color:#2563eb99;color:#f8fafcfa}.btn--icon.btn--active:hover:not(.btn--disabled):not(:disabled){background:linear-gradient(135deg,#2563eb73,#38bdf873);border-color:#2563ebb3}.btn--alert{color:#f87171e6}.btn--alert:hover:not(.btn--disabled):not(:disabled){background:#ef444440;border-color:#ef444480;color:#fca5a5}.btn--alert.btn--active{background:#ef444440;border-color:#ef4444a6;color:#fca5a5}[data-theme=light] .btn--elevated{background:#f8fafcd9;border-color:#94a3b859;color:#0f172ab8;box-shadow:0 2px 6px #00000014}[data-theme=light] .btn--elevated:hover:not(.btn--disabled):not(:disabled){background:#2563eb1a;border-color:#2563eb73;color:#0f172aeb}[data-theme=light] .btn--elevated.btn--active{background:linear-gradient(135deg,#2563eb2e,#38bdf82e);border-color:#2563eb80;color:#0f172af2}[data-theme=light] .btn--elevated.btn--active:hover:not(.btn--disabled):not(:disabled){background:linear-gradient(135deg,#2563eb47,#38bdf847);border-color:#2563eb99}[data-theme=light] .btn--outlined{background:#f8fafc80;border-color:#64748b73;color:#0f172ab8}[data-theme=light] .btn--outlined:hover:not(.btn--disabled):not(:disabled){background:#2563eb33;border-color:#2563eb80;color:#0f172aeb}[data-theme=light] .btn--outlined.btn--active{background:#2563eb1a;border-color:#2563eb99;color:#0f172af2}[data-theme=light] .btn--text{background:#f8fafc66;border-color:transparent;color:#0f172a99}[data-theme=light] .btn--text:hover:not(.btn--disabled):not(:disabled){background:#2563eb33;color:#0f172ae6}[data-theme=light] .btn--text.btn--active{color:#2563eb}[data-theme=light] .btn--icon{background:#f8fafcd9;border-color:#94a3b859;color:#0f172ab8}[data-theme=light] .btn--icon:hover:not(.btn--disabled):not(:disabled){background:#2563eb1a;border-color:#2563eb73;color:#0f172aeb}[data-theme=light] .btn--icon.btn--active{background:linear-gradient(135deg,#2563eb2e,#38bdf82e);border-color:#2563eb80;color:#0f172af2}[data-theme=light] .btn--icon.btn--active:hover:not(.btn--disabled):not(:disabled){background:linear-gradient(135deg,#2563eb47,#38bdf847);border-color:#2563eb99}[data-theme=light] .btn--alert{color:#b91c1cd9}[data-theme=light] .btn--alert:hover:not(.btn--disabled):not(:disabled){background:#ef444433;border-color:#ef444473;color:#b91c1c}[data-theme=light] .btn--alert.btn--active{background:#ef444424;border-color:#ef44448c}.expandable-icon-btn{--eib-expand-duration: .75s;--eib-edge-delay: .35s;display:inline-flex;align-items:center;justify-content:flex-start;height:44px;padding:0;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.24);background:#0f172a8c;color:#e2e8f0eb;box-shadow:var(--shadow-sm);cursor:pointer;font-family:inherit;font-weight:500;font-size:var(--font-size-sm);line-height:1;white-space:nowrap;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),border-color var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),box-shadow var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),color var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay);outline-offset:2px}.expandable-icon-btn:focus-visible{outline:2px solid var(--color-border-focus)}.expandable-icon-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px}.expandable-icon-btn__icon svg{width:20px;height:20px}.expandable-icon-btn__label{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay)}.expandable-icon-btn__label-text{overflow:hidden;min-width:0;opacity:0;transform:translate(10px);padding-right:0;transition:opacity var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),transform var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay),padding-right var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay)}.expandable-icon-btn:hover:not(.expandable-icon-btn--disabled),.expandable-icon-btn:focus-visible:not(.expandable-icon-btn--disabled),.expandable-icon-btn--active{background:#2563eb38;border-color:#2563eb73;color:#f8fafcfa;box-shadow:var(--shadow-md);transition:background var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),border-color var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),box-shadow var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),color var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay)}.expandable-icon-btn:hover:not(.expandable-icon-btn--disabled) .expandable-icon-btn__label,.expandable-icon-btn:focus-visible:not(.expandable-icon-btn--disabled) .expandable-icon-btn__label,.expandable-icon-btn--active .expandable-icon-btn__label{grid-template-columns:1fr;transition:grid-template-columns var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay)}.expandable-icon-btn:hover:not(.expandable-icon-btn--disabled) .expandable-icon-btn__label-text,.expandable-icon-btn:focus-visible:not(.expandable-icon-btn--disabled) .expandable-icon-btn__label-text,.expandable-icon-btn--active .expandable-icon-btn__label-text{opacity:1;transform:translate(0);padding-right:var(--spacing-md);transition:opacity var(--transition-duration-fast) var(--transition-easing) var(--eib-edge-delay),transform var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay),padding-right var(--eib-expand-duration) var(--transition-easing) var(--eib-edge-delay)}.expandable-icon-btn--disabled,.expandable-icon-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}[data-theme=light] .expandable-icon-btn{background:#f8fafcd9;border-color:#94a3b859;color:#0f172ab8}[data-theme=light] .expandable-icon-btn:hover:not(.expandable-icon-btn--disabled),[data-theme=light] .expandable-icon-btn:focus-visible:not(.expandable-icon-btn--disabled),[data-theme=light] .expandable-icon-btn--active{background:#2563eb1a;border-color:#2563eb73;color:#0f172aeb}@media (prefers-reduced-motion: reduce){.expandable-icon-btn__label,.expandable-icon-btn__label-text{transition:none}}.status-badge{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-4xl);font-weight:500}.status-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.status-badge--sm{font-size:.625rem;padding:3px 6px;gap:3px}.status-badge--md{font-size:.75rem;padding:4px 8px;gap:4px}.status-badge--lg{font-size:.875rem;padding:6px 12px;gap:6px}.status-badge--active{background:#22c55e26;color:var(--color-status-success)}[data-theme=light] .status-badge--active{background:#22c55e1f;color:#16a34a}.status-badge--completed{background:#22c55e26;color:var(--color-status-success)}[data-theme=light] .status-badge--completed{background:#22c55e1f;color:#16a34a}.status-badge--pending{background:#94a3b826;color:#94a3b8}[data-theme=light] .status-badge--pending{background:#94a3b81f;color:#64748b}.status-badge--inactive{background:#94a3b826;color:#94a3b8}[data-theme=light] .status-badge--inactive{background:#94a3b81f;color:#64748b}.status-badge--warning{background:#f9731626;color:var(--accent-warm)}[data-theme=light] .status-badge--warning{background:#f973161f;color:#f97316}.status-badge--undermaintenance{background:#fbbf2426;color:#fbbf24}[data-theme=light] .status-badge--undermaintenance{background:#fbbf241f;color:var(--color-status-warning)}.status-badge--maintenance{background:#fbbf2426;color:#fbbf24}[data-theme=light] .status-badge--maintenance{background:#fbbf241f;color:var(--color-status-warning)}.status-badge--delayed{background:#ef444426;color:var(--color-status-error)}[data-theme=light] .status-badge--delayed{background:#ef44441f;color:#dc2626}.status-badge--inprogress{background:#f9731626;color:var(--accent-warm)}[data-theme=light] .status-badge--inprogress{background:#f973161f;color:#f97316}.status-badge--error{background:#dc262626;color:#dc2626}[data-theme=light] .status-badge--error{background:#dc26261f;color:#b91c1c}.status-badge--closed{background:#22c55e26;color:var(--color-status-success)}[data-theme=light] .status-badge--closed{background:#22c55e1f;color:#16a34a}.status-badge--ontrack{background:#10b98126;color:#10b981}[data-theme=light] .status-badge--ontrack{background:#10b9811f;color:#059669}.status-badge--done{background:#22c55e26;color:var(--color-status-success)}[data-theme=light] .status-badge--done{background:#22c55e1f;color:#16a34a}.status-badge--stopped{background:#ef444426;color:var(--color-status-error)}[data-theme=light] .status-badge--stopped{background:#ef44441f;color:#dc2626}.status-badge--alerts,[data-theme=light] .status-badge--alerts{background:#ef4444;color:#fff}.status-badge--total{background:#3b82f626;color:var(--accent)}[data-theme=light] .status-badge--total{background:#3b82f61f;color:var(--accent)}.status-badge--planned{background:#3b82f626;color:var(--accent)}[data-theme=light] .status-badge--planned{background:#3b82f61f;color:var(--accent)}.map-pin-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center;cursor:pointer}.map-pin-container{position:relative;display:flex;align-items:center;justify-content:center;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.map-pin-center{width:4rem;height:4rem;background-color:var(--surface-1);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.map-pin-progress-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transition:clip-path .3s ease}.map-pin-content{position:relative;z-index:10;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.map-pin-value-text{font-size:.875rem;line-height:1.25rem;font-weight:700;color:#334155}.map-pin-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.map-pin-initials-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f1f5f9}.map-pin-initials-text{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:#334155}.map-pin-status-indicator{position:absolute;bottom:0;right:0;width:.75rem;height:.75rem;border:2px solid #fff;border-radius:var(--radius-full);z-index:10}.map-pin-anchor{position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%) rotate(45deg);width:1.5rem;height:1.5rem;background-color:var(--marker-blue)}.map-pin-alert-badge{position:absolute;top:-.5rem;right:-.5rem}.map-pin-card-value-container{position:relative;width:100%;height:100%;overflow:hidden}.map-pin-card-progress-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#2563eb4d,#3b82f6b3,#60a5fa1a);transition:clip-path .3s ease;z-index:0}.map-pin-card-value-text{position:relative;z-index:10;font-family:Poppins,Segoe UI,system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:700;color:#334155;display:flex;align-items:center;justify-content:center;width:100%;height:100%}[data-theme=dark] .map-pin-card-value-text{color:#fff}[data-theme=dark] .map-pin-value-text,[data-theme=dark] .map-pin-initials-text{color:#cbd5e1}[data-theme=dark] .map-pin-initials-container{background-color:#1e293b}.map-pin-border{border:3px solid #fff}[data-theme=light] .map-pin-border{border-color:var(--surface-1)}[data-theme=dark] .map-pin-card-anchor{background:#151e32}[data-theme=light] .map-pin-border-pointer{border-color:var(--surface-1)}.map-pin-card{display:flex;background:var(--marker-blue);border:3px solid #151e32;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 12px #00000026;pointer-events:auto}.map-pin-card-left{width:64px;height:64px;background:var(--surface-1);position:relative;flex-shrink:0}[data-theme=dark] .map-pin-card-left{background:#151e32}.map-pin-card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map-pin-card-initials{width:100%;height:100%;display:none;align-items:center;justify-content:center;font-weight:700;font-size:1rem;background:#e5e7eb;color:#334155}.map-pin-card-anchor{position:absolute;bottom:-7px;left:50%;width:16px;height:16px;background:var(--surface-1);transform:translate(-50%) rotate(45deg);pointer-events:none;border-radius:1.5px}.leaflet-marker-icon{box-sizing:content-box}.map-pin-leaflet-wrapper{overflow:visible!important;pointer-events:none}.map-pin-leaflet-inner{height:0;pointer-events:auto}.map-pin-leaflet-wrapper .map-pin-container{transform:none}.map-pin-card-alert{position:absolute;top:-8px;right:-8px;width:25px;height:25px;background:var(--color-status-error);color:var(--surface-1);font-size:16px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;box-shadow:0 2px 6px #0000004d}[data-theme=dark] .map-pin-card-alert{color:#fff}.map-pin-card-alert:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:inherit;animation:alert-pulse 2s cubic-bezier(.4,0,.6,1) infinite;z-index:-1}@keyframes alert-pulse{0%{transform:scale(1);opacity:.8}70%,to{transform:scale(2.4);opacity:0}}.metric-value{display:inline-flex;flex-direction:column}.metric-value__label{font-size:.75rem;text-transform:uppercase;font-weight:200;font-family:inherit;color:var(--text-text-dark)}.metric-value__value{font-size:.875rem;font-weight:700;font-family:inherit;color:var(--text-text-light)}.metric-value__value--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}[data-theme=dark] .metric-value__value{color:var(--text-text-dark-high)}.progress-bar-wrapper{display:flex;flex-direction:column;gap:.25rem}.progress-bar-labels{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;line-height:1rem;color:#6b7280}.progress-bar-labels--xs{font-size:10px}.progress-bar-labels--sm{font-size:.75rem}.progress-bar-labels--md{font-size:.875rem}.progress-bar-labels--lg{font-size:1rem}.progress-bar-labels--small{font-size:10px}.progress-bar-labels--medium{font-size:.75rem}.progress-bar-labels--large{font-size:.875rem}.progress-bar-track{position:relative;width:100%;border-radius:var(--radius-full);overflow:hidden;background-color:#94a3b838}.progress-bar-expected{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:.3}.progress-bar-actual{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;border-radius:var(--radius-full);transition-property:width,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.progress-bar-indicator{position:absolute;top:0;height:100%;width:2px;opacity:.8;z-index:10}[data-theme=dark] .progress-bar-labels{color:#9ca3af}[data-theme=dark] .progress-bar-track{background-color:#94a3b826}.filter-chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.3) transparent}.filter-chips::-webkit-scrollbar{height:6px}.filter-chips::-webkit-scrollbar-track{background:transparent}.filter-chips::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.filter-chips::-webkit-scrollbar-thumb:hover{background:#94a3b880}.filter-chips__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(148,163,184,.3);border-radius:var(--radius-2xl);background:#1e293b80;color:#e2e8f0cc;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}[data-theme=light] .filter-chips__chip{background:#f1f5f9cc;color:#475569e6;border-color:#94a3b84d}.filter-chips__chip:hover{background:#334155b3;border-color:#94a3b880;color:#e2e8f0f2}[data-theme=light] .filter-chips__chip:hover{background:#e2e8f0e6;color:#0f172af2;border-color:#94a3b866}.filter-chips__chip--active{background:linear-gradient(135deg,#3b82f659,#38bdf859);border-color:#3b82f699;color:#f8fafcfa}[data-theme=light] .filter-chips__chip--active{background:linear-gradient(135deg,#3b82f640,#38bdf840);border-color:#3b82f680;color:#0f172af2}.filter-chips__chip-label{font-weight:inherit}.filter-chips__chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#94a3b84d;color:#e2e8f0f2;font-size:.6875rem;font-weight:600}.filter-chips__chip--active .filter-chips__chip-count{background:#ffffff4d;color:#f8fafcfa}[data-theme=light] .filter-chips__chip-count{background:#94a3b833;color:#475569e6}[data-theme=light] .filter-chips__chip--active .filter-chips__chip-count{background:#3b82f64d;color:#0f172af2}.phase-toggle-small{display:inline-flex;background:#0f172a8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.24);gap:4px;box-shadow:0 2px 8px #00000040}.phase-toggle-small button{background:transparent;border:none;color:#e2e8f0eb;padding:0 12px;height:32px;border-radius:10px;cursor:pointer;font-weight:500;font-size:.75rem;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-family:inherit;outline-offset:2px}.phase-toggle-small button:focus-visible{outline:2px solid rgba(37,99,235,.7)}.phase-toggle-small button:disabled{opacity:.5;cursor:not-allowed}.phase-toggle-small button:hover:not(:disabled){background:#2563eb38;transform:translateY(-1px)}.phase-toggle-small button.active{background:linear-gradient(135deg,#2563eb59,#38bdf859);color:#f8fafcfa}.phase-toggle-small button.active:hover:not(:disabled){background:linear-gradient(135deg,#2563eb73,#38bdf873)}[data-theme=light] .phase-toggle-small{background:#f8fafcd9;border-color:#94a3b859;box-shadow:0 2px 6px #00000014}[data-theme=light] .phase-toggle-small button{color:#0f172ab8}[data-theme=light] .phase-toggle-small button:hover:not(:disabled){background:#2563eb1a;border-color:#2563eb73;color:#0f172aeb}[data-theme=light] .phase-toggle-small button.active{background:linear-gradient(135deg,#2563eb2e,#38bdf82e);border-color:#2563eb80;color:#0f172af2}[data-theme=light] .phase-toggle-small button.active:hover:not(:disabled){background:linear-gradient(135deg,#2563eb47,#38bdf847);border-color:#2563eb99}.timeline-event-tile{display:flex;flex-direction:column;gap:0;padding:12px 14px;margin-bottom:4px;margin-top:4px;background:var(--surface-1);border-left:4px solid #3b82f6;border-radius:var(--radius-md);transition:all .2s ease;width:100%;min-width:0;box-sizing:border-box}[data-theme=dark] .timeline-event-tile{background:#1e293bcc;border-left-color:var(--accent)}.timeline-event-tile:hover{box-shadow:0 4px 16px #0000001f}[data-theme=dark] .timeline-event-tile:hover{box-shadow:0 4px 16px #0006}.timeline-event-tile__header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:0;min-width:0}.timeline-event-tile__title-section{display:flex;flex-direction:column;flex:1;min-width:0;justify-content:center}.timeline-event-tile__title{font-family:Inter,sans-serif;font-weight:700;font-size:14px;line-height:1.35;color:#111827;margin:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}[data-theme=dark] .timeline-event-tile__title{color:#e2e8f0fa}.timeline-event-tile__subtitle{font-family:Inter,sans-serif;font-weight:500;font-size:12px;line-height:1.35;color:#6b7280;margin:0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}[data-theme=dark] .timeline-event-tile__subtitle{color:#94a3b8d9}.timeline-event-tile__badge-container{display:flex;align-items:center;flex-shrink:0}.timeline-event-tile__divider{height:1px;background:#e5e7eb;margin:8px 0}[data-theme=dark] .timeline-event-tile__divider{background:#94a3b833}.timeline-event-tile__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;padding-top:2px}.timeline-event-tile__metric-item{display:flex;flex-direction:column;min-width:0}.performance-timeline{display:flex;flex-direction:column;width:100%;background:var(--surface-1);border:1px solid #e5e7eb;border-radius:var(--radius-lg);overflow:hidden}[data-theme=dark] .performance-timeline{background:#0f172af2;border-color:#94a3b833}.performance-timeline__header{display:flex;align-items:center;padding:16px 20px;background:var(--surface-2);border-bottom:1px solid #e5e7eb}[data-theme=dark] .performance-timeline__header{background:#1e293b99;border-bottom-color:#94a3b833}.performance-timeline__title{font-family:Inter,sans-serif;font-weight:700;font-size:18px;line-height:1.5;color:#111827;margin:0}[data-theme=dark] .performance-timeline__title{color:#e2e8f0f2}.performance-timeline__content{display:flex;flex-direction:column;gap:0;padding:0;max-height:800px;overflow-y:auto}.performance-timeline__row{display:grid;grid-template-columns:72px 40px 1fr;gap:4px;align-items:stretch;padding:0 8px;transition:background-color .2s ease}[data-theme=dark] .performance-timeline__row{border-bottom-color:#94a3b81a}.performance-timeline__row:last-child{border-bottom:none}.performance-timeline__date{display:flex;align-items:center;justify-content:flex-end;min-width:0;align-self:center}.performance-timeline__date-text{font-family:Inter,sans-serif;font-weight:500;font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .performance-timeline__date-text{color:#94a3b8cc}.performance-timeline__timeline-track{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;position:relative;min-width:40px}.performance-timeline__timeline-track .performance-timeline__line{display:block;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:#e5e7eb;z-index:0}[data-theme=dark] .performance-timeline__timeline-track .performance-timeline__line{background:#94a3b833}.performance-timeline__dot{width:20px;height:20px;background-color:var(--accent);border:2px solid #ffffff;border-radius:50%;position:relative;z-index:1;flex-shrink:0;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .performance-timeline__dot{border-color:#0f172af2}.performance-timeline__tile-container{display:flex;align-items:stretch;min-width:0}.performance-timeline__tile-container .timeline-event-tile{flex:1;min-width:0}.performance-timeline--empty{padding:60px 20px;text-align:center}.performance-timeline__empty{color:#6b7280;font-family:Inter,sans-serif}[data-theme=dark] .performance-timeline__empty{color:#94a3b8cc}.performance-timeline__empty p{margin:0;font-size:14px}.performance-timeline__month-group{margin-bottom:48px}.performance-timeline__month-group:last-child{margin-bottom:0}.performance-timeline__month-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}[data-theme=dark] .performance-timeline__month-header{border-bottom-color:#94a3b833}.performance-timeline__month-label{font-family:Inter,sans-serif;font-weight:700;font-size:16px;color:#111827;text-transform:capitalize}[data-theme=dark] .performance-timeline__month-label{color:#e2e8f0f2}.performance-timeline__month-year{font-family:Inter,sans-serif;font-weight:500;font-size:14px;color:#6b7280}[data-theme=dark] .performance-timeline__month-year{color:#94a3b8cc}.performance-timeline__events{display:flex;flex-direction:column;gap:0;padding-left:32px;position:relative}.performance-timeline__event-wrapper{display:flex;gap:20px;position:relative;margin-bottom:24px}.performance-timeline__event-wrapper:last-child{margin-bottom:0}.performance-timeline__event-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}.performance-timeline__event-dot{width:12px;height:12px;border-radius:50%;border:3px solid #ffffff;box-shadow:0 0 0 2px currentColor,0 2px 8px #0000001a;z-index:2;position:relative}[data-theme=dark] .performance-timeline__event-dot{border-color:#0f172af2;box-shadow:0 0 0 2px currentColor,0 2px 8px #0000004d}.performance-timeline__event-line{position:absolute;top:12px;left:50%;transform:translate(-50%);width:2px;height:calc(100% + 24px);background:linear-gradient(to bottom,#e5e7eb,#e5e7eb);z-index:1}[data-theme=dark] .performance-timeline__event-line{background:linear-gradient(to bottom,#94a3b84d,#94a3b84d)}.performance-timeline__event-wrapper:last-child .performance-timeline__event-line{display:none}.performance-timeline__event-card{flex:1;background:var(--surface-1);border:1px solid #e5e7eb;border-left:4px solid;border-radius:var(--radius-lg);padding:20px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}[data-theme=dark] .performance-timeline__event-card{background:#1e293b99;border-color:#94a3b84d;box-shadow:0 1px 3px #0003}.performance-timeline__event-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}[data-theme=dark] .performance-timeline__event-card:hover{box-shadow:0 4px 12px #0000004d}.performance-timeline__event-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.performance-timeline__event-date{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-md);flex-shrink:0}[data-theme=dark] .performance-timeline__event-date{background:#33415566}.performance-timeline__event-day{font-family:Inter,sans-serif;font-weight:700;font-size:20px;line-height:1;color:#111827}[data-theme=dark] .performance-timeline__event-day{color:#e2e8f0f2}.performance-timeline__event-month{font-family:Inter,sans-serif;font-weight:500;font-size:12px;color:#6b7280;text-transform:uppercase;margin-top:4px}[data-theme=dark] .performance-timeline__event-month{color:#94a3b8cc}.performance-timeline__event-title-section{flex:1;display:flex;flex-direction:column;gap:4px}.performance-timeline__event-category{font-family:Inter,sans-serif;font-weight:600;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .performance-timeline__event-category{color:#94a3b8cc}.performance-timeline__event-title{font-family:Inter,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#111827;margin:0}[data-theme=dark] .performance-timeline__event-title{color:#e2e8f0f2}.performance-timeline__event-body{display:flex;flex-direction:column;gap:12px}.performance-timeline__event-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.performance-timeline__meta-item{display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:13px;color:#6b7280}[data-theme=dark] .performance-timeline__meta-item{color:#94a3b8cc}.performance-timeline__meta-item svg{width:14px;height:14px;color:#9ca3af}.performance-timeline__meta-badge{padding:4px 8px;background:#f3f4f6;border-radius:var(--radius-sm);font-weight:500;font-size:12px;color:#374151}[data-theme=dark] .performance-timeline__meta-badge{background:#33415566;color:#e2e8f0e6}.performance-timeline__event-message{font-family:Inter,sans-serif;font-size:14px;line-height:1.6;color:#374151;padding:12px;background:var(--surface-2);border-radius:var(--radius-md)}[data-theme=dark] .performance-timeline__event-message{color:#e2e8f0e6;background:#33415566}.performance-timeline__equipment{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.performance-timeline__equipment-card{padding:16px;background:var(--surface-2);border:1px solid #e5e7eb;border-radius:var(--radius-md);transition:all .2s ease}[data-theme=dark] .performance-timeline__equipment-card{background:#33415566;border-color:#94a3b84d}.performance-timeline__equipment-card:hover{box-shadow:0 2px 8px #0000001a}.performance-timeline__equipment-header{margin-bottom:12px}.performance-timeline__equipment-name{font-family:Inter,sans-serif;font-weight:600;font-size:14px;color:#111827}[data-theme=dark] .performance-timeline__equipment-name{color:#e2e8f0f2}.performance-timeline__equipment-metrics{display:flex;gap:16px}.performance-timeline__equipment-metric{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center}.performance-timeline__metric-label{font-family:Inter,sans-serif;font-weight:500;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .performance-timeline__metric-label{color:#94a3b8cc}.performance-timeline__event-additional{font-family:Inter,sans-serif;font-size:13px;color:#6b7280;font-style:italic}[data-theme=dark] .performance-timeline__event-additional{color:#94a3b8cc}.performance-timeline__event-location{display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:13px;color:#6b7280;padding-top:8px;border-top:1px solid #e5e7eb}[data-theme=dark] .performance-timeline__event-location{color:#94a3b8cc;border-top-color:#94a3b833}.performance-timeline__event-location svg{width:12px;height:12px;color:#9ca3af}.performance-timeline--empty{min-height:400px}.performance-timeline__empty{display:flex;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.performance-timeline__empty p{font-family:Inter,sans-serif;font-size:14px;color:#6b7280;margin:0}[data-theme=dark] .performance-timeline__empty p{color:#94a3b8cc}@media (max-width: 768px){.performance-timeline__header{flex-direction:column;align-items:stretch}.performance-timeline__header-actions{flex-direction:column;width:100%}.performance-timeline__map-btn,.performance-timeline__year-btn{width:100%;justify-content:center}.performance-timeline__events{padding-left:20px}.performance-timeline__event-header{flex-direction:column;gap:12px}.performance-timeline__equipment{grid-template-columns:1fr}}.datatable-wrapper{width:100%;display:flex;flex-direction:column;gap:16px}.datatable-table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle, rgba(148, 163, 184, .1));background:var(--surface-2, rgba(15, 15, 15, .98));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .datatable-table-wrapper{background:var(--surface-2, rgba(249, 250, 251, .95));border-color:var(--border-subtle, rgba(148, 163, 184, .15))}.datatable-table{width:100%;border-collapse:collapse;font-size:13px}.datatable-table th,.datatable-table td{padding:12px 14px;border-bottom:1px solid var(--border-subtle, rgba(148, 163, 184, .1));vertical-align:middle}.datatable-table thead th{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, rgba(148, 163, 184, .8));background:var(--surface-1, rgba(15, 23, 42, .78));position:sticky;top:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}[data-theme=light] .datatable-table thead th{background:var(--surface-1, rgba(248, 250, 252, .85));color:var(--text-muted, rgba(71, 85, 105, .8))}.datatable-header--sortable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.datatable-header--sortable:hover{background:var(--surface-1, rgba(15, 23, 42, .9))!important}[data-theme=light] .datatable-header--sortable:hover{background:var(--surface-1, rgba(241, 245, 249, .95))!important}.datatable-header-content{display:flex;align-items:center;gap:6px}.datatable-sort-icon{opacity:.6;transition:opacity .2s ease}.datatable-sort-icon--inactive{opacity:.3}.datatable-header--sortable:hover .datatable-sort-icon{opacity:.8}.datatable-table td{color:var(--text-primary, rgba(226, 232, 240, .95))}[data-theme=light] .datatable-table td{color:var(--text-primary, rgba(15, 23, 42, .95))}.datatable-row{transition:background-color .2s ease;cursor:pointer}.datatable-row:hover{background:var(--surface-1, rgba(15, 23, 42, .6))}[data-theme=light] .datatable-row:hover{background:var(--surface-1, rgba(241, 245, 249, .9))}.datatable-row:hover td{background:transparent}.datatable-loading,.datatable-empty{padding:48px 24px;text-align:center;color:var(--text-muted, rgba(148, 163, 184, .8));font-size:14px}.datatable-loading{color:var(--text-primary, rgba(96, 210, 255, .8))}.datatable-pagination{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--border-subtle, rgba(148, 163, 184, .28))}.datatable-pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.datatable-pagination-items-per-page{display:flex;align-items:center;gap:8px}.datatable-pagination-items-label{font-size:.875rem;color:var(--text-muted, rgba(148, 163, 184, .8))}.datatable-pagination-items-select{padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle, rgba(148, 163, 184, .2));background:var(--surface-1, rgba(15, 23, 42, .78));color:var(--text-primary, rgba(226, 232, 240, .95));font-size:.875rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}[data-theme=light] .datatable-pagination-items-select{background:var(--surface-1, rgba(248, 250, 252, .85));border-color:var(--border-subtle, rgba(148, 163, 184, .22));color:var(--text-primary, rgba(15, 23, 42, .95))}.datatable-pagination-items-select:hover{border-color:var(--border-subtle, rgba(148, 163, 184, .4))}.datatable-pagination-items-select:focus{outline:none;border-color:#60d2ff80}.datatable-pagination-nav{display:flex;align-items:center;gap:12px}.datatable-pagination-info{font-size:.875rem;color:var(--text-muted, rgba(148, 163, 184, .8));min-width:60px;text-align:center}@media (max-width: 1200px){.datatable-table-wrapper{overflow-x:auto}.datatable-table{min-width:800px}}.textarea{display:flex;flex-direction:column;gap:var(--spacing-xs);font-family:inherit}.textarea--full-width{width:100%}.textarea__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.textarea__field{display:block;width:100%;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);outline:none;line-height:var(--line-height-normal);transition:border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing),background var(--transition-duration-fast) var(--transition-easing)}.textarea__field::-moz-placeholder{color:var(--color-text-muted);opacity:.6}.textarea__field::placeholder{color:var(--color-text-muted);opacity:.6}.textarea__field:hover:not(:disabled){border-color:var(--color-action-primary)}.textarea__field:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.textarea--sm .textarea__field{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.textarea--md .textarea__field{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);border-radius:var(--radius-md)}.textarea--lg .textarea__field{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.textarea--resize-none .textarea__field{resize:none}.textarea--resize-vertical .textarea__field{resize:vertical}.textarea--resize-both .textarea__field{resize:both}.textarea--error .textarea__field{border-color:var(--color-status-error)}.textarea--error .textarea__field:focus{border-color:var(--color-status-error);box-shadow:0 0 0 3px var(--color-status-error-muted)}.textarea__error-text{font-size:var(--font-size-xs);color:var(--color-status-error);line-height:var(--line-height-snug)}.textarea__helper-text{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-snug)}.textarea--disabled{opacity:.5;cursor:not-allowed}.textarea--disabled .textarea__field{cursor:not-allowed;pointer-events:none}.textarea--disabled .textarea__label{cursor:not-allowed}.select{display:flex;flex-direction:column;gap:var(--spacing-xs);font-family:inherit}.select--full-width{width:100%}.select__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.select__wrapper{position:relative;display:flex;align-items:center}.select__field{display:block;width:100%;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:var(--line-height-snug);transition:border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing),background var(--transition-duration-fast) var(--transition-easing)}.select__field:hover:not(:disabled){border-color:var(--color-action-primary)}.select__field:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.select__icon{position:absolute;right:var(--spacing-sm);pointer-events:none;color:var(--color-text-muted);display:flex;align-items:center;transition:color var(--transition-duration-fast) var(--transition-easing)}.select__wrapper:hover .select__icon{color:var(--color-action-primary)}.select--sm .select__field{height:32px;padding:0 var(--spacing-2xl) 0 var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.select--sm .select__icon{right:var(--spacing-xs)}.select--sm .select__icon svg{width:14px;height:14px}.select--md .select__field{height:40px;padding:0 var(--spacing-3xl) 0 var(--spacing-md);font-size:var(--font-size-md);border-radius:var(--radius-md)}.select--md .select__icon svg{width:16px;height:16px}.select--lg .select__field{height:48px;padding:0 var(--spacing-4xl) 0 var(--spacing-lg);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.select--lg .select__icon svg{width:18px;height:18px}.select__field option[value=""]{color:var(--color-text-muted)}.select--error .select__field{border-color:var(--color-status-error)}.select--error .select__field:focus{border-color:var(--color-status-error);box-shadow:0 0 0 3px var(--color-status-error-muted)}.select__error-text{font-size:var(--font-size-xs);color:var(--color-status-error);line-height:var(--line-height-snug)}.select__helper-text{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-snug)}.select--disabled{opacity:.5;cursor:not-allowed}.select--disabled .select__field{cursor:not-allowed;pointer-events:none}.select--disabled .select__label{cursor:not-allowed}.switch{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.switch__track{position:relative;display:inline-flex;align-items:center;border-radius:var(--radius-full);background:var(--color-border-default);transition:background var(--transition-duration-normal) var(--transition-easing),box-shadow var(--transition-duration-normal) var(--transition-easing);flex-shrink:0}.switch__thumb{position:absolute;border-radius:var(--radius-full);background:var(--color-text-primary);box-shadow:var(--shadow-xs);transition:transform var(--transition-duration-normal) var(--transition-easing)}.switch--sm .switch__track{width:32px;height:18px}.switch--sm .switch__thumb{width:14px;height:14px;left:2px}.switch--sm.switch--checked .switch__thumb{transform:translate(14px)}.switch--md .switch__track{width:40px;height:22px}.switch--md .switch__thumb{width:18px;height:18px;left:2px}.switch--md.switch--checked .switch__thumb{transform:translate(18px)}.switch--lg .switch__track{width:50px;height:28px}.switch--lg .switch__thumb{width:22px;height:22px;left:3px}.switch--lg.switch--checked .switch__thumb{transform:translate(22px)}.switch--checked .switch__track{background:var(--color-action-primary)}.switch--checked .switch__thumb{background:var(--color-bg-surface)}.switch__input:focus-visible+.switch__track{box-shadow:var(--shadow-focus-ring)}.switch__label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.switch--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.checkbox{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox__box{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--color-border-default);border-radius:var(--radius-xs);background:transparent;flex-shrink:0;transition:background var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing)}.checkbox:hover:not(.checkbox--disabled) .checkbox__box{border-color:var(--color-action-primary)}.checkbox__check{display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:opacity var(--transition-duration-fast) var(--transition-easing),transform var(--transition-duration-fast) var(--transition-easing);color:var(--color-bg-surface)}.checkbox--sm .checkbox__box{width:16px;height:16px;border-radius:var(--radius-xs)}.checkbox--sm .checkbox__check svg{width:10px;height:10px}.checkbox--md .checkbox__box{width:20px;height:20px;border-radius:var(--radius-xs)}.checkbox--md .checkbox__check svg{width:13px;height:13px}.checkbox--lg .checkbox__box{width:24px;height:24px;border-radius:var(--radius-sm)}.checkbox--lg .checkbox__check svg{width:16px;height:16px}.checkbox--checked .checkbox__box{background:var(--color-action-primary);border-color:var(--color-action-primary)}.checkbox--checked .checkbox__check{opacity:1;transform:scale(1)}.checkbox--indeterminate .checkbox__box{background:var(--color-action-primary);border-color:var(--color-action-primary)}.checkbox--indeterminate .checkbox__check{opacity:1;transform:scale(1)}.checkbox__input:focus-visible+.checkbox__box{box-shadow:var(--shadow-focus-ring)}.checkbox__label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.checkbox--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-full);font-family:inherit;font-weight:var(--font-weight-medium);white-space:nowrap;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;transition:background var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing)}.chip--clickable{cursor:pointer}.chip--clickable:hover{box-shadow:var(--shadow-xs)}.chip--sm{height:24px;padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}.chip--sm .chip__icon svg{width:12px;height:12px}.chip--sm .chip__delete svg{width:12px;height:12px}.chip--md{height:30px;padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.chip--md .chip__icon svg{width:14px;height:14px}.chip--md .chip__delete svg{width:14px;height:14px}.chip__icon{display:inline-flex;align-items:center;flex-shrink:0}.chip__label{overflow:hidden;text-overflow:ellipsis}.chip__delete{display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer;border:none;background:none;padding:0;margin-left:var(--spacing-2xs);border-radius:var(--radius-full);opacity:.7;transition:opacity var(--transition-duration-fast) var(--transition-easing);color:inherit}.chip__delete:hover{opacity:1}.chip--filled.chip--default{background:var(--color-border-default);color:var(--color-text-primary)}.chip--outlined.chip--default{background:transparent;border-color:var(--color-border-default);color:var(--color-text-primary)}.chip--filled.chip--primary{background:var(--color-status-info-muted);color:var(--color-status-info)}.chip--outlined.chip--primary{background:transparent;border-color:var(--color-status-info);color:var(--color-status-info)}.chip--filled.chip--success{background:var(--color-status-success-muted);color:var(--color-status-success)}.chip--outlined.chip--success{background:transparent;border-color:var(--color-status-success);color:var(--color-status-success)}.chip--filled.chip--warning{background:var(--color-status-warning-muted);color:var(--color-status-warning)}.chip--outlined.chip--warning{background:transparent;border-color:var(--color-status-warning);color:var(--color-status-warning)}.chip--filled.chip--error{background:var(--color-status-error-muted);color:var(--color-status-error)}.chip--outlined.chip--error{background:transparent;border-color:var(--color-status-error);color:var(--color-status-error)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-family:inherit;font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1}.badge--sm{min-width:18px;height:18px;padding:0 var(--spacing-xs);font-size:var(--font-size-2xs)}.badge--md{min-width:22px;height:22px;padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}.badge--lg{min-width:26px;height:26px;padding:0 var(--spacing-sm);font-size:var(--font-size-sm)}.badge--dot{padding:0;min-width:0}.badge--dot.badge--sm{width:6px;height:6px}.badge--dot.badge--md{width:8px;height:8px}.badge--dot.badge--lg{width:10px;height:10px}.badge--default{background:var(--color-border-default);color:var(--color-text-primary)}.badge--primary{background:var(--color-status-info-muted);color:var(--color-status-info)}.badge--success{background:var(--color-status-success-muted);color:var(--color-status-success)}.badge--warning{background:var(--color-status-warning-muted);color:var(--color-status-warning)}.badge--error{background:var(--color-status-error-muted);color:var(--color-status-error)}.badge--info{background:var(--color-status-info-muted);color:var(--color-status-info)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade-in var(--transition-duration-normal) var(--transition-easing)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-dialog{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - var(--spacing-3xl) * 2);border-radius:var(--radius-2xl);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-lg);animation:modal-slide-up var(--transition-duration-normal) var(--transition-easing);overflow:hidden}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-dialog--sm{max-width:400px}.modal-dialog--md{max-width:560px}.modal-dialog--lg{max-width:760px}.modal-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal-dialog__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}.modal-dialog__close-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary, var(--text-secondary));cursor:pointer;flex-shrink:0;transition:background var(--transition-duration-fast) var(--transition-easing),color var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),transform var(--transition-duration-fast) var(--transition-easing)}.modal-dialog__close-btn:hover{background:color-mix(in srgb,var(--color-status-error, #ef4444) 12%,transparent);border-color:color-mix(in srgb,var(--color-status-error, #ef4444) 30%,transparent);color:var(--color-status-error, #ef4444)}.modal-dialog__close-btn:active{background:color-mix(in srgb,var(--color-status-error, #ef4444) 18%,transparent);transform:scale(.96)}.modal-dialog__close-btn:focus-visible{outline:2px solid var(--color-border-focus, var(--color-action-primary, var(--accent)));outline-offset:2px}[data-theme=light] .modal-dialog__close-btn{color:var(--color-text-secondary, var(--text-secondary))}[data-theme=light] .modal-dialog__close-btn:hover{background:color-mix(in srgb,var(--color-status-error, #dc2626) 10%,transparent);border-color:color-mix(in srgb,var(--color-status-error, #dc2626) 28%,transparent);color:var(--color-status-error, #dc2626)}[data-theme=dark] .modal-dialog__close-btn{color:var(--color-text-secondary, var(--text-secondary))}[data-theme=dark] .modal-dialog__close-btn:hover{background:color-mix(in srgb,var(--color-status-error, #ef4444) 18%,transparent);border-color:color-mix(in srgb,var(--color-status-error, #ef4444) 40%,transparent);color:var(--color-status-error, #f87171)}.modal-dialog__body{padding:var(--spacing-xl);overflow-y:auto;flex:1 1 auto;font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-primary)}.modal-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--border-subtle);flex-shrink:0}[data-theme=light] .modal-overlay{background:#00000059}[data-theme=light] .modal-dialog{background:var(--surface-1);border-color:var(--border-subtle);box-shadow:var(--shadow-lg)}.markdown-view{color:inherit;font-size:inherit;line-height:var(--line-height-relaxed, 1.6);word-wrap:break-word;overflow-wrap:anywhere}.markdown-view>*:first-child{margin-top:0}.markdown-view>*:last-child{margin-bottom:0}.markdown-view p{margin:0 0 var(--spacing-sm, 8px)}.markdown-view p:last-child{margin-bottom:0}.markdown-view h1,.markdown-view h2,.markdown-view h3,.markdown-view h4,.markdown-view h5,.markdown-view h6{margin:var(--spacing-md, 12px) 0 var(--spacing-sm, 8px);font-weight:var(--font-weight-semibold, 600);line-height:var(--line-height-snug, 1.3);color:var(--color-text-primary, var(--text-primary))}.markdown-view h1{font-size:var(--font-size-xl, 1.25rem)}.markdown-view h2{font-size:var(--font-size-lg, 1.125rem)}.markdown-view h3{font-size:var(--font-size-md, 1rem)}.markdown-view h4,.markdown-view h5,.markdown-view h6{font-size:var(--font-size-sm, .875rem)}.markdown-view strong{font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, var(--text-primary))}.markdown-view em{font-style:italic}.markdown-view del{text-decoration:line-through;color:var(--color-text-muted, var(--text-muted))}.markdown-view ul,.markdown-view ol{margin:0 0 var(--spacing-sm, 8px);padding-left:var(--spacing-xl, 24px)}.markdown-view ul:last-child,.markdown-view ol:last-child{margin-bottom:0}.markdown-view li{margin:var(--spacing-2xs, 2px) 0}.markdown-view li>p{margin:0}.markdown-view li::marker{color:var(--color-text-muted, var(--text-muted))}.markdown-view input[type=checkbox]{margin-right:var(--spacing-xs, 6px);vertical-align:middle}.markdown-view a{color:var(--color-action-primary, var(--accent));text-decoration:underline;text-underline-offset:2px}.markdown-view a:hover{text-decoration:none}.markdown-view code{font-family:var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.875em;padding:.15em .4em;background:var(--color-bg-elevated, var(--surface-2));border:1px solid var(--color-border-subtle, var(--surface-3));border-radius:var(--radius-sm, 4px);color:var(--color-text-primary, var(--text-primary))}.markdown-view pre{margin:0 0 var(--spacing-sm, 8px);padding:var(--spacing-md, 12px);background:var(--color-bg-elevated, var(--surface-2));border:1px solid var(--color-border-subtle, var(--surface-3));border-radius:var(--radius-md, 8px);overflow-x:auto;line-height:var(--line-height-snug, 1.4)}.markdown-view pre code{padding:0;background:transparent;border:none;border-radius:0;font-size:.875rem;white-space:pre}.markdown-view blockquote{margin:0 0 var(--spacing-sm, 8px);padding:var(--spacing-xs, 6px) var(--spacing-md, 12px);border-left:3px solid var(--color-border-subtle, var(--surface-3));color:var(--color-text-muted, var(--text-muted));background:var(--color-bg-elevated, var(--surface-2));border-radius:0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0}.markdown-view blockquote>*:last-child{margin-bottom:0}.markdown-view table{width:100%;margin:0 0 var(--spacing-sm, 8px);border-collapse:collapse;font-size:var(--font-size-sm, .875rem);display:block;overflow-x:auto}.markdown-view thead{background:var(--color-bg-elevated, var(--surface-2))}.markdown-view th,.markdown-view td{padding:var(--spacing-xs, 6px) var(--spacing-sm, 10px);border:1px solid var(--color-border-subtle, var(--surface-3));text-align:left;vertical-align:top}.markdown-view th{font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, var(--text-primary))}.markdown-view tbody tr:nth-child(2n){background:var(--color-bg-elevated, var(--surface-2))}.markdown-view hr{margin:var(--spacing-md, 12px) 0;border:0;border-top:1px solid var(--color-border-subtle, var(--surface-3))}.markdown-view img{max-width:100%;height:auto;border-radius:var(--radius-sm, 4px)}.menu{position:relative;display:inline-flex}.menu__trigger{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu__trigger:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.menu__dropdown{position:absolute;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown);min-width:180px;max-width:250px;max-height:calc(100vh - var(--spacing-xl));overflow-y:auto;padding:var(--spacing-xs) 0;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-1);box-shadow:var(--shadow-md);animation:menu-enter var(--transition-duration-fast) var(--transition-easing)}.menu__dropdown--left{left:0}.menu__dropdown--right{right:0}@keyframes menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu__item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);text-align:left;cursor:pointer;transition:background var(--transition-duration-fast) var(--transition-easing),color var(--transition-duration-fast) var(--transition-easing)}.menu__item:hover:not(.menu__item--disabled),.menu__item:focus-visible:not(.menu__item--disabled){background:var(--color-action-primary-hover);color:var(--text-primary);outline:none}.menu__item-icon{display:inline-flex;align-items:center;flex-shrink:0;width:16px;height:16px;color:var(--text-muted)}.menu__item-icon svg{width:16px;height:16px}.menu__item-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.menu__item--danger,.menu__item--danger .menu__item-icon{color:var(--color-status-error)}.menu__item--danger:hover:not(.menu__item--disabled),.menu__item--danger:focus-visible:not(.menu__item--disabled){background:var(--color-action-danger-hover);color:var(--color-status-error)}.menu__item--success,.menu__item--success .menu__item-icon{color:var(--color-status-success)}.menu__item--success:hover:not(.menu__item--disabled),.menu__item--success:focus-visible:not(.menu__item--disabled){background:var(--color-action-success-hover);color:var(--color-status-success)}.menu__item--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.menu__divider{height:1px;margin:var(--spacing-xs) 0;background:var(--border-subtle)}[data-theme=light] .menu__dropdown{background:var(--surface-1);border-color:var(--border-subtle);box-shadow:var(--shadow-md)}[data-theme=light] .menu__item:hover:not(.menu__item--disabled),[data-theme=light] .menu__item:focus-visible:not(.menu__item--disabled){background:var(--color-action-primary-hover)}.tooltip__trigger{display:inline-flex}.tooltip{position:absolute;z-index:var(--z-toast);pointer-events:none;animation:tooltip-enter var(--transition-duration-fast) var(--transition-easing)}@keyframes tooltip-enter{0%{opacity:0}to{opacity:1}}.tooltip--top{animation-name:tooltip-enter-top}@keyframes tooltip-enter-top{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip--bottom{animation-name:tooltip-enter-bottom}@keyframes tooltip-enter-bottom{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip--left{animation-name:tooltip-enter-left}@keyframes tooltip-enter-left{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.tooltip--right{animation-name:tooltip-enter-right}@keyframes tooltip-enter-right{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.tooltip__content{max-width:260px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);box-shadow:var(--shadow-md);white-space:normal;word-wrap:break-word}[data-theme=light] .tooltip__content{background:var(--surface-1);border-color:var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-md)}.tabs{display:flex;flex-direction:column}.tabs__list{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.tabs--full-width .tabs__list{width:100%}.tabs--full-width .tabs__tab{flex:1;justify-content:center}.tabs__tab{display:inline-flex;align-items:center;gap:var(--spacing-xs);border:none;background:transparent;font-family:inherit;font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--text-muted);cursor:pointer;white-space:nowrap;position:relative;transition:color var(--transition-duration-fast) var(--transition-easing),background var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing)}.tabs__tab:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.tabs--sm .tabs__tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.tabs--md .tabs__tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.tabs--lg .tabs__tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md)}.tabs__tab-icon{display:inline-flex;align-items:center;flex-shrink:0}.tabs__tab-icon svg{width:14px;height:14px}.tabs--lg .tabs__tab-icon svg{width:16px;height:16px}.tabs__tab-label{display:inline-block}.tabs__tab--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.tabs--line .tabs__list{border-bottom:1px solid var(--border-subtle);gap:0}.tabs--line .tabs__tab{border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs--line .tabs__tab:hover:not(.tabs__tab--disabled){color:var(--text-primary);border-bottom-color:var(--border-subtle)}.tabs--line .tabs__tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:var(--font-weight-semibold)}.tabs--line .tabs__tab--active:hover{border-bottom-color:var(--accent)}.tabs--pill .tabs__list{gap:var(--spacing-xs);padding:var(--spacing-2xs);background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.tabs--pill .tabs__tab{border-radius:var(--radius-md)}.tabs--pill .tabs__tab:hover:not(.tabs__tab--disabled):not(.tabs__tab--active){color:var(--text-primary);background:var(--color-action-primary-hover)}.tabs--pill .tabs__tab--active{background:var(--accent);color:var(--surface-1);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.tabs--enclosed .tabs__list{gap:0;border-bottom:1px solid var(--border-subtle)}.tabs--enclosed .tabs__tab{border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px}.tabs--enclosed .tabs__tab:hover:not(.tabs__tab--disabled):not(.tabs__tab--active){color:var(--text-primary);background:var(--color-action-primary-hover)}.tabs--enclosed .tabs__tab--active{color:var(--text-primary);font-weight:var(--font-weight-semibold);border-color:var(--border-subtle);background:var(--surface-1)}[data-theme=light] .tabs--pill .tabs__list{background:var(--surface-2);border-color:var(--border-subtle)}[data-theme=light] .tabs--pill .tabs__tab--active{background:var(--accent);color:var(--surface-1)}[data-theme=light] .tabs--enclosed .tabs__tab--active{background:var(--surface-1);border-color:var(--border-subtle)}.card{display:flex;flex-direction:column;border:1px solid transparent;font-family:var(--font-family-primary);color:var(--color-text-primary);transition:background var(--transition-duration-normal) var(--transition-easing),border-color var(--transition-duration-normal) var(--transition-easing),box-shadow var(--transition-duration-normal) var(--transition-easing),transform var(--transition-duration-normal) var(--transition-easing)}button.card{cursor:pointer;text-align:inherit;font:inherit;line-height:inherit;width:100%}.card--padding-none{padding:0}.card--padding-sm{padding:var(--spacing-sm)}.card--padding-md{padding:var(--spacing-lg)}.card--padding-lg{padding:var(--spacing-2xl)}.card--radius-sm{border-radius:var(--radius-sm)}.card--radius-md{border-radius:var(--radius-lg)}.card--radius-lg{border-radius:var(--radius-2xl)}.card--default{background:var(--color-bg-surface);border-color:var(--color-border-default)}.card--outlined{background:transparent;border-color:var(--color-border-default)}.card--elevated{background:var(--color-bg-surface);border-color:var(--color-border-subtle);box-shadow:var(--shadow-md)}.card--filled{background:var(--color-bg-elevated);border-color:transparent}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--color-action-primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.card--interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card--interactive:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}[data-theme=light] .card--default{background:var(--color-bg-surface);border-color:var(--color-border-default)}[data-theme=light] .card--outlined{background:transparent;border-color:var(--color-border-default)}[data-theme=light] .card--elevated{background:var(--color-bg-surface);border-color:var(--color-border-subtle);box-shadow:var(--shadow-md)}[data-theme=light] .card--filled{background:var(--color-bg-elevated)}[data-theme=light] .card--interactive:hover{border-color:var(--color-action-primary);box-shadow:var(--shadow-glow)}.spinner{--spinner-color: var(--color-action-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.spinner__track{display:block;border-radius:var(--radius-full);border-style:solid;border-color:var(--spinner-color);border-top-color:transparent;animation:spinner-rotate var(--transition-duration-slow) linear infinite;animation-duration:.7s}.spinner--sm .spinner__track{width:16px;height:16px;border-width:2px}.spinner--md .spinner__track{width:24px;height:24px;border-width:2.5px}.spinner--lg .spinner__track{width:36px;height:36px;border-width:3px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.app-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background:var(--app-bg);color:var(--text-primary)}.app-splash__message{font-size:var(--font-size-sm);color:var(--text-muted)}.skeleton{display:block;width:100%}.skeleton__line,.skeleton__card{display:block;background:linear-gradient(90deg,var(--color-bg-surface) 25%,var(--color-bg-elevated, var(--surface-1)) 37%,var(--color-bg-surface) 63%);background-size:400% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer calc(var(--transition-duration-slow) * 4) ease-in-out infinite}.skeleton__line{height:var(--spacing-md);margin-bottom:var(--spacing-sm)}.skeleton__line:last-child{margin-bottom:0;width:60%}.skeleton__card{height:var(--spacing-3xl);border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.async-boundary{position:relative}.async-boundary__refetch-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);opacity:.5;z-index:var(--z-overlay);pointer-events:none}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);text-align:center}.error-state__title{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.error-state__message{color:var(--color-text-muted, var(--text-muted))}.dashboard-skeleton{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);display:flex;background:var(--app-bg)}.dashboard-skeleton__rail{width:var(--layout-navbar-width, 60px);flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;background:var(--sidebar-bg, var(--color-bg-surface));border-right:1px solid var(--sidebar-border, var(--color-border-subtle))}.dashboard-skeleton__rail-item{width:28px}.dashboard-skeleton__rail-item .skeleton__card{height:28px;border-radius:var(--radius-md)}.dashboard-skeleton__body{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-skeleton__header{min-height:var(--layout-header-min-height, 60px);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:0 var(--spacing-lg)}.dashboard-skeleton__crumbs{width:220px}.dashboard-skeleton__crumbs .skeleton__line{margin-bottom:0}.dashboard-skeleton__actions{display:flex;gap:var(--spacing-sm)}.dashboard-skeleton__action{width:32px}.dashboard-skeleton__action .skeleton__card{height:32px;border-radius:var(--radius-full)}.dashboard-skeleton__content{position:relative;flex:1;margin:0 var(--spacing-lg) var(--spacing-lg);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-2, var(--color-bg-surface))}.dashboard-skeleton__map{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-1, var(--color-bg-surface));opacity:.6}.dashboard-skeleton__cards{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);width:300px;max-width:40%;display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-skeleton__card .skeleton__card{height:92px;border-radius:var(--radius-lg)}.dashboard-skeleton__dash{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-full);background:var(--bottom-dash-bg, var(--color-bg-surface));border:1px solid var(--bottom-dash-border, var(--color-border-subtle));box-shadow:var(--shadow-soft)}.dashboard-skeleton__dash-item{width:36px}.dashboard-skeleton__dash-item .skeleton__card{height:36px;border-radius:var(--radius-md)}.divider{display:flex;align-items:center;border:none;flex-shrink:0}.divider--horizontal{width:100%;height:1px;background:var(--color-border-default)}.divider--horizontal.divider--with-label{height:auto;background:transparent;gap:var(--spacing-md)}.divider--horizontal.divider--with-label:before,.divider--horizontal.divider--with-label:after{content:"";flex:1;height:1px;background:var(--color-border-default)}.divider--vertical{width:1px;align-self:stretch;background:var(--color-border-default)}.divider__label{font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;line-height:var(--line-height-snug);text-transform:uppercase;letter-spacing:.04em}.divider--horizontal.divider--spacing-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.divider--horizontal.divider--spacing-md{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.divider--horizontal.divider--spacing-lg{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.divider--vertical.divider--spacing-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.divider--vertical.divider--spacing-md{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.divider--vertical.divider--spacing-lg{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}[data-theme=light] .divider--horizontal{background:var(--color-border-default)}[data-theme=light] .divider--horizontal.divider--with-label{background:transparent}[data-theme=light] .divider--horizontal.divider--with-label:before,[data-theme=light] .divider--horizontal.divider--with-label:after{background:var(--color-border-default)}[data-theme=light] .divider--vertical{background:var(--color-border-default)}[data-theme=light] .divider__label{color:var(--color-text-muted)}.chat-date-divider{width:100%;padding:var(--spacing-xs) 0;position:sticky;top:var(--spacing-xs, 6px);z-index:var(--z-sticky, 5);pointer-events:none}.chat-date-divider__pill{padding:var(--spacing-2xs, 4px) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium, 500);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:var(--radius-full);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .08))}.context-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}.context-menu{position:fixed;z-index:1000;min-width:200px;padding:4px;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--surface-2, rgba(15, 15, 15, .98));border:1px solid var(--border-subtle, rgba(148, 163, 184, .3));box-shadow:0 8px 24px #0006}[data-theme=light] .context-menu{background:var(--surface-2, rgba(249, 250, 251, .98));border-color:var(--border-subtle, rgba(148, 163, 184, .3));box-shadow:0 8px 24px #0f172a1f}.context-menu__item{width:100%;display:block;padding:10px 16px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;text-align:left;font-size:14px;color:var(--text-primary, rgba(226, 232, 240, .95));transition:background-color .15s ease,color .15s ease}[data-theme=light] .context-menu__item{color:var(--text-primary, rgba(15, 23, 42, .95))}.context-menu__item:hover{background:#60d2ff26}[data-theme=light] .context-menu__item:hover{background:var(--surface-1, rgba(241, 245, 249, .9))}.context-menu__item--danger{color:#fecaca}[data-theme=light] .context-menu__item--danger{color:#b91c1c}.floating-panel-list-phase{margin-top:.5rem}.floating-panel-list-phase-header{margin:.5rem 0 .25rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.floating-panel-list{display:flex;flex-direction:column;gap:.5rem}.floating-panel-list-item-wrapper{position:relative}.floating-panel-list-item{position:relative;border-radius:.75rem;background-color:var(--surface-1);border:1px solid transparent;box-shadow:0 12px 30px #00000014;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}[data-theme=dark] .floating-panel-list-item{background-color:#1e293b99;box-shadow:0 12px 30px #02061747}.floating-panel-list-item:hover{background-color:var(--surface-2);transform:translateY(-1px)}[data-theme=dark] .floating-panel-list-item:hover{background-color:#334155cc}.floating-panel-list-item--active{background-color:#eff6ffcc;border-color:#dbeafe80;box-shadow:0 14px 34px #94a3b83d}[data-theme=dark] .floating-panel-list-item--active{background-color:#1e293bcc;border-color:#3b82f64d;box-shadow:0 14px 34px #02061759}.floating-panel-list-item-clickable{cursor:pointer;display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}.floating-panel-list-item-clickable:focus{outline:none}.floating-panel-list-item-clickable:focus-visible{outline:2px solid var(--color-action-primary, var(--accent));outline-offset:2px}.floating-panel-list-item-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .75rem .5rem}.floating-panel-list-item-main{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.floating-panel-list-item-icon{width:1rem;height:1rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.625rem;flex-shrink:0;background-color:#9ca3af;color:var(--text-primary)}[data-theme=dark] .floating-panel-list-item-icon{background-color:#94a3b899}.floating-panel-list-item--active .floating-panel-list-item-icon{background-color:var(--accent);color:var(--surface-1)}.floating-panel-list-item-icon--inactive{background-color:#bfdbfe;color:var(--accent)}[data-theme=dark] .floating-panel-list-item-icon--inactive{background-color:#3b82f633;color:#60a5fa}.floating-panel-list-item-icon-svg{width:.75rem;height:.75rem}.floating-panel-list-main{flex:1;min-width:0}.floating-panel-list-main--has-alerts{padding-right:3rem}.floating-panel-list-title{display:block;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-panel-list-title--active{color:var(--accent);font-weight:600}[data-theme=dark] .floating-panel-list-title--active{color:#60a5fa}.floating-panel-list-meta{display:block;margin-top:2px;font-size:.625rem;color:var(--text-muted)}.floating-panel-list-progress{padding:0 .75rem .5rem}.floating-panel-list-alert-badge{position:absolute;top:.5rem;right:.5rem}.dotted-progress-bar{display:flex;align-items:center;gap:var(--spacing-xs, .25rem);width:100%}.dotted-progress-bar__dot{flex:1;min-width:0;height:var(--spacing-sm, .5rem);max-height:var(--spacing-sm, .5rem);border-radius:var(--radius-full, 9999px);background:var(--color-bg-muted);transition:background-color var(--transition-duration-fast, .15s) var(--transition-easing, ease)}.dotted-progress-bar__dot--filled{background:var(--color-action-primary)}.radio-group{display:flex;gap:var(--spacing-md)}.radio-group--column{flex-direction:column}.radio-group--row{flex-direction:row;flex-wrap:wrap}.radio{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio__circle{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--color-border-default);border-radius:var(--radius-full);background:transparent;flex-shrink:0;transition:background var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing)}.radio:hover:not(.radio--disabled) .radio__circle{border-color:var(--color-action-primary)}.radio__dot{border-radius:var(--radius-full);background:transparent;transition:background var(--transition-duration-fast) var(--transition-easing),transform var(--transition-duration-fast) var(--transition-easing);transform:scale(0)}.radio-group--sm .radio__circle{width:16px;height:16px}.radio-group--sm .radio__dot{width:8px;height:8px}.radio-group--md .radio__circle{width:20px;height:20px}.radio-group--md .radio__dot{width:10px;height:10px}.radio-group--lg .radio__circle{width:24px;height:24px}.radio-group--lg .radio__dot{width:12px;height:12px}.radio--checked .radio__circle{border-color:var(--color-action-primary)}.radio--checked .radio__dot{background:var(--color-action-primary);transform:scale(1)}.radio__input:focus-visible+.radio__circle{box-shadow:var(--shadow-focus-ring)}.radio__label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug)}.radio--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.text-field{display:inline-flex;flex-direction:column;gap:var(--spacing-xs);font-family:var(--font-family-primary)}.text-field--full-width{width:100%}.text-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug);-webkit-user-select:none;-moz-user-select:none;user-select:none}.text-field__wrapper{display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);transition:border-color var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing),background var(--transition-duration-fast) var(--transition-easing)}.text-field__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--color-text-primary);font-family:inherit;line-height:var(--line-height-normal)}.text-field__input::-moz-placeholder{color:var(--color-text-muted);opacity:.7}.text-field__input::placeholder{color:var(--color-text-muted);opacity:.7}.text-field__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-muted);transition:color var(--transition-duration-fast) var(--transition-easing)}.text-field__helper{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-snug)}.text-field__helper--error{color:var(--color-status-error)}.text-field--sm .text-field__wrapper{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.text-field--sm .text-field__input{font-size:var(--font-size-xs);height:28px}.text-field--sm .text-field__icon svg{width:14px;height:14px}.text-field--md .text-field__wrapper{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.text-field--md .text-field__input{font-size:var(--font-size-md);height:36px}.text-field--md .text-field__icon svg{width:16px;height:16px}.text-field--lg .text-field__wrapper{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg)}.text-field--lg .text-field__input{font-size:var(--font-size-base);height:44px}.text-field--lg .text-field__icon svg{width:20px;height:20px}.text-field__wrapper:hover:not(.text-field--disabled .text-field__wrapper){border-color:var(--color-action-primary)}.text-field__wrapper:focus-within{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.text-field__wrapper:focus-within .text-field__icon{color:var(--color-action-primary)}.text-field--error .text-field__wrapper{border-color:var(--color-status-error)}.text-field--error .text-field__wrapper:focus-within{border-color:var(--color-status-error);box-shadow:0 0 0 3px var(--color-status-error-muted)}.text-field--error .text-field__label,.text-field--error .text-field__icon{color:var(--color-status-error)}.text-field--disabled{opacity:.5;cursor:not-allowed}.text-field--disabled .text-field__wrapper{pointer-events:none;background:var(--color-bg-elevated)}.text-field--disabled .text-field__input{cursor:not-allowed}[data-theme=light] .text-field__wrapper{background:var(--color-bg-surface);border-color:var(--color-border-default)}[data-theme=light] .text-field__label,[data-theme=light] .text-field__input{color:var(--color-text-primary)}[data-theme=light] .text-field__input::-moz-placeholder{color:var(--color-text-muted)}[data-theme=light] .text-field__input::placeholder{color:var(--color-text-muted)}[data-theme=light] .text-field__wrapper:hover:not(.text-field--disabled .text-field__wrapper){border-color:var(--color-action-primary)}[data-theme=light] .text-field__wrapper:focus-within{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}[data-theme=light] .text-field--error .text-field__wrapper{border-color:var(--color-status-error)}[data-theme=light] .text-field--error .text-field__wrapper:focus-within{box-shadow:0 0 0 3px var(--color-status-error-muted)}[data-theme=light] .text-field--disabled .text-field__wrapper{background:var(--color-bg-elevated)}.chat-message-bubble{display:flex;max-width:85%}.chat-message-bubble--user{align-self:flex-end;align-items:flex-end}.chat-message-bubble--assistant{align-self:flex-start;align-items:flex-start}.chat-message-bubble__content-wrap{display:flex;flex-direction:column;gap:4px;max-width:100%}.chat-message-bubble--user .chat-message-bubble__content-wrap{align-items:flex-end}.chat-message-bubble__sender{font-size:.75rem;color:var(--text-muted, rgba(148, 163, 184, .8));font-weight:500;padding:0 4px}[data-theme=light] .chat-message-bubble__sender{color:#475569b3}.chat-message-bubble__bubble{padding:10px 14px;border-radius:var(--radius-lg, 12px);background:#1e293b99;border:1px solid rgba(148,163,184,.1);color:var(--text-primary, rgba(226, 232, 240, .95));font-size:.875rem;line-height:1.5;word-wrap:break-word}[data-theme=light] .chat-message-bubble__bubble{background:#fffc;border-color:#94a3b826;color:var(--text-primary, rgba(15, 23, 42, .95))}.chat-message-bubble--user .chat-message-bubble__bubble{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.chat-message-bubble--assistant .chat-message-bubble__bubble{color:var(--text-primary, rgba(226, 232, 240, .95))}[data-theme=light] .chat-message-bubble--assistant .chat-message-bubble__bubble{color:var(--text-primary, rgba(15, 23, 42, .95))}.chat-message-bubble__bubble p{margin:0 0 4px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.chat-message-bubble__bubble p:last-child{margin-bottom:0}.chat-message-bubble__footer{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.chat-message-bubble__time{display:block;font-size:10px;opacity:.7}.chat-message-bubble--user .chat-message-bubble__time{opacity:.9}.chat-message-bubble__badge{display:inline-block;padding:2px 6px;border-radius:10px;background:#3b82f64d;color:#bfdbfef2;font-size:.625rem;font-weight:600;text-transform:uppercase}[data-theme=light] .chat-message-bubble__badge{background:#3b82f633;color:#2563ebe6}.chat-message-bubble__avatar{flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold, 600)}.chat-message-bubble__forwarded{font-size:var(--font-size-xs);font-style:italic;color:var(--color-text-muted, var(--text-muted));padding:0 var(--spacing-xs)}.chat-message-bubble__reply-quote{display:flex;flex-direction:column;border-left:2px solid var(--color-action-primary, var(--accent));padding-left:var(--spacing-sm);margin-bottom:var(--spacing-xs);opacity:.85}.chat-message-bubble__reply-quote-author{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold, 600)}.chat-message-bubble__reply-quote-text{font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message-bubble__context-chip{display:inline-block;margin-top:var(--spacing-xs);border:1px solid var(--color-border-subtle, rgba(148, 163, 184, .25));background:transparent;color:inherit;border-radius:var(--radius-full);padding:2px var(--spacing-sm);font-size:var(--font-size-xs);cursor:pointer}.chat-message-bubble__context-chip:disabled{cursor:default}.chat-message-bubble--deleted .chat-message-bubble__bubble{font-style:italic;opacity:.7}.chat-message-bubble__deleted-text{margin:0}.composer-mention-popover{position:absolute;bottom:calc(100% + var(--spacing-xs));left:0;right:0;max-height:320px;background:var(--color-bg-surface, var(--surface-1));border:1px solid var(--color-border-subtle, var(--surface-3));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown, 50);display:flex;flex-direction:column;overflow:hidden;animation:composer-mention-popover-in .16s var(--transition-easing, ease)}@keyframes composer-mention-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.composer-mention-popover__header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-subtle, var(--surface-3));background:var(--color-bg-elevated, var(--surface-2));flex-shrink:0}.composer-mention-popover__hint{font-size:var(--font-size-2xs, .6875rem);color:var(--color-text-muted, var(--text-muted))}.composer-mention-popover__hint strong{color:var(--color-action-primary, var(--accent));font-weight:var(--font-weight-semibold, 600)}.composer-mention-popover__count{font-size:var(--font-size-2xs, .6875rem);color:var(--color-text-muted, var(--text-muted));padding:2px var(--spacing-sm);border:1px solid var(--color-border-subtle, var(--surface-3));border-radius:var(--radius-full, 999px);background:var(--color-bg-surface, var(--surface-1))}.composer-mention-popover__list{overflow-y:auto;padding:var(--spacing-xs);display:flex;flex-direction:column;gap:var(--spacing-xs)}.composer-mention-popover__status{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted, var(--text-muted));font-size:var(--font-size-sm, .875rem)}.composer-mention-popover__status--error{color:var(--color-status-error, var(--text-muted))}.composer-mention-popover__item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary, var(--text-primary));font-size:var(--font-size-sm, .875rem);text-align:left;cursor:pointer;font-family:inherit;transition:background var(--transition-duration-fast, .15s) var(--transition-easing, ease),border-color var(--transition-duration-fast, .15s) var(--transition-easing, ease)}.composer-mention-popover__item--active,.composer-mention-popover__item:hover{background:color-mix(in srgb,var(--color-action-primary, var(--accent)) 10%,transparent);border-color:color-mix(in srgb,var(--color-action-primary, var(--accent)) 25%,transparent)}.composer-mention-popover__item-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-2xl, 24px);height:var(--spacing-2xl, 24px);border-radius:var(--radius-sm);color:var(--color-action-primary, var(--accent));background:color-mix(in srgb,var(--color-action-primary, var(--accent)) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-action-primary, var(--accent)) 28%,transparent);flex-shrink:0}.composer-mention-popover__item-value{font-weight:var(--font-weight-medium, 500);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-mention-popover__item-hint{font-size:var(--font-size-2xs, .6875rem);color:var(--color-text-muted, var(--text-muted));flex-shrink:0}.chat-composer{container-type:inline-size;container-name:composer;display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.chat-composer__wrap{position:relative;display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-composer__form{background:#0f172ab8;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--color-border-subtle, rgba(148, 163, 184, .18));border-radius:var(--radius-lg);padding:var(--spacing-sm);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:border-color var(--transition-duration-fast) var(--transition-easing)}[data-theme=light] .chat-composer__form{background:#f8fafcc7}.chat-composer__form:focus-within{border-color:var(--color-action-primary, var(--accent))}.chat-composer__row{width:100%}.chat-composer__field{position:relative;flex:1 1 auto;min-width:0}.chat-composer__textarea{width:100%;resize:none;border:none;background:transparent;color:var(--color-text-primary, var(--text-primary));font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal, 1.5);min-height:calc(var(--line-height-normal, 1.5) * 1em);max-height:calc(var(--line-height-normal, 1.5) * 6em);overflow-y:auto;outline:none}.chat-composer__textarea::-moz-placeholder{color:var(--color-text-muted, var(--text-muted))}.chat-composer__textarea::placeholder{color:var(--color-text-muted, var(--text-muted))}.chat-composer__textarea--mirrored{position:relative;z-index:1;padding:0;color:transparent;caret-color:var(--color-text-primary, var(--text-primary))}.chat-composer__highlight{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;margin:0;padding:0;overflow:hidden;pointer-events:none;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;font-family:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-normal, 1.5);color:var(--color-text-primary, var(--text-primary))}.chat-composer__mention-token{color:var(--color-action-primary, var(--accent));background:color-mix(in srgb,var(--color-action-primary, var(--accent)) 12%,transparent);border-radius:var(--radius-xs, 3px)}.chat-composer__tool{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4xl, 40px);height:var(--spacing-4xl, 40px);padding:0;background:transparent;color:var(--color-text-muted);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;transition:background var(--transition-duration-fast) var(--transition-easing),color var(--transition-duration-fast) var(--transition-easing),border-color var(--transition-duration-fast) var(--transition-easing),transform var(--transition-duration-fast) var(--transition-easing),box-shadow var(--transition-duration-fast) var(--transition-easing)}.chat-composer__tool:hover:not(:disabled){background:color-mix(in srgb,var(--color-action-primary, var(--accent)) 12%,transparent);color:var(--color-action-primary, var(--accent));border-color:var(--color-action-primary, var(--accent));transform:translateY(-1px)}.chat-composer__tool:active:not(:disabled){transform:translateY(0)}.chat-composer__tool:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring);border-color:var(--color-border-focus, var(--accent))}.chat-composer__tool:disabled{opacity:.45;cursor:not-allowed}.chat-composer__tool--send{background:var(--color-action-primary, var(--accent));color:var(--color-text-on-action, #fff);border-color:transparent}.chat-composer__tool--send:hover:not(:disabled){background:var(--color-action-primary, var(--accent));color:var(--color-text-on-action, #fff);box-shadow:var(--shadow-md);transform:translateY(-1px)}.chat-composer__attach-anchor{position:relative;flex:0 0 auto}.chat-composer__attach-menu{position:absolute;bottom:calc(100% + var(--spacing-xs));left:0;z-index:var(--z-dropdown);min-width:12rem;background:var(--color-bg-surface, var(--surface-1));border:1px solid var(--color-border-subtle, rgba(148, 163, 184, .18));border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-xs)}.chat-composer__attach-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;border:none;background:transparent;color:var(--color-text-primary, var(--text-primary));border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer}.chat-composer__attach-menu-item:hover:not(:disabled){background:var(--color-bg-elevated)}.chat-composer__attach-menu-item:disabled{opacity:.5;cursor:not-allowed}.chat-composer__context-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex:0 0 auto;border:1px solid var(--color-border-subtle, rgba(148, 163, 184, .18));background:transparent;color:var(--color-text-muted);border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);cursor:pointer}.chat-composer__context-chip:disabled{cursor:default}.chat-composer__reply,.chat-composer__note{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm)}.chat-composer__reply-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.chat-composer__reply-author{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold, 600);color:var(--color-action-primary, var(--accent))}.chat-composer__reply-text{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-composer__reply-dismiss{flex:0 0 auto;border:none;background:transparent;color:var(--color-text-muted, var(--text-muted));cursor:pointer;padding:var(--spacing-xs)}.chat-composer__error{font-size:var(--font-size-xs);color:var(--color-status-error, #ef4444);padding:0 var(--spacing-xs)}.chat-composer__disclaimer{font-size:var(--font-size-xs);color:var(--color-text-muted, var(--text-muted));text-align:center}@container composer (max-width: 420px){.chat-composer--auto .chat-composer__form{padding:var(--spacing-xs)}.chat-composer--auto .chat-composer__context-chip-label{display:none}}.chat-composer--compact .chat-composer__form{padding:var(--spacing-xs)}.chat-composer--compact .chat-composer__context-chip-label{display:none}.route-error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh}
