@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap);:root{--bg:#f4f6fb;--panel:#fff;--border:#e5e7eb;--text:#0f172a;--muted:#6b7280;--accent:#2563eb;--accent-soft:#e0e7ff;--danger:#dc2626;--success:#10b981;--shadow:0 12px 30px #0f172a14;--radius:12px;--table-header:#f9fafb;--pill-bg:#f3f4f6;--input-bg:#fff;color-scheme:light}body[data-theme=dark]{--bg:#0b0f17;--panel:#111827;--border:#1f2937;--text:#e5e7eb;--muted:#9ca3af;--accent:#60a5fa;--accent-soft:#1e293b;--danger:#f87171;--success:#34d399;--shadow:0 12px 30px #00000073;--table-header:#0f172a;--pill-bg:#1f2937;--input-bg:#111827;color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#fff 0,#f4f6fb 55%,#e9eef8 100%);color:#0f172a;color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif}body[data-theme=dark]{background:radial-gradient(circle at top,#0b0f17 0,#0b0f17 45%,#0f172a 100%)}.app-shell{margin:0 auto;max-width:none;min-height:100vh;padding:16px 18px 32px;width:100%}.grid{display:flex;flex-direction:column;gap:12px}.login-shell{background:linear-gradient(45deg,#c4b5fd,#7dd3fc 45%,#1d4ed8);max-width:100%;min-height:100vh;padding:24px 18px 32px}.login-main{display:grid;min-height:calc(100vh - 80px);place-items:center}.login-panel{width:min(420px,92vw)}.login-brand{align-items:center;display:flex;gap:12px;margin-bottom:10px}h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;margin:0}h1{font-size:22px}h2{font-size:18px}h3{font-size:16px}h4{font-size:14px}.help-text{color:#64748b;font-size:12px;margin:6px 0 0}.help-icon{align-items:center;background:#94a3b81f;border:1px solid #64748b66;border-radius:50%;color:#64748b;display:inline-flex;font-size:11px;height:16px;justify-content:center;margin-left:6px;width:16px}.help-panel{background:#f8fafcb3;border:1px dashed #94a3b880;border-radius:8px;color:#475569;font-size:12px;margin-top:8px;padding:8px 10px}.help-panel summary{color:#334155;cursor:pointer;font-weight:600;list-style:none}.help-panel summary::-webkit-details-marker{display:none}body[data-theme=dark] .help-text{color:#94a3b8}body[data-theme=dark] .help-icon{background:#1e293b80;border-color:#94a3b859;color:#cbd5f5}body[data-theme=dark] .help-panel{background:#0f172a80;border-color:#94a3b859;color:#cbd5f5}.public-tenant-shell{background:radial-gradient(circle at 15% 10%,#fff7ed 0,#fef3c7 18%,#e2e8f0 58%,#cbd5f5 100%);min-height:100vh;padding:40px 24px 56px}.public-hero{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1200px}.public-hero__content h1{font-size:clamp(28px,4vw,44px);line-height:1.05;margin-bottom:12px}.public-hero__stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.public-hero__stats div{background:#ffffffa6;border-radius:14px;box-shadow:0 10px 24px #1e293b14;padding:14px}.stat-number{display:block;font-size:20px;font-weight:600}.stat-label{color:#6b7280;color:var(--muted);font-size:12px}.public-hero__card{background:#fff;border:1px solid #94a3b859;border-radius:20px;box-shadow:0 18px 45px #0f172a1f;padding:24px}.public-card__header h2{font-size:20px}.public-form{grid-gap:16px;display:grid;gap:16px}.public-form input,.public-form select,.public-form textarea{background:#f8fafc;border:1px solid #94a3b873;border-radius:12px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.public-form textarea{resize:vertical}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.public-form label span{color:#1e293b;display:block;font-size:12px;margin-bottom:6px}.public-form button.primary{background:linear-gradient(120deg,#ea580c,#f97316);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px}.public-form button.primary:disabled{cursor:not-allowed;opacity:.7}.public-error{background:#fee2e2;border-radius:12px;color:#991b1b;font-size:13px;padding:10px 12px}.public-success{grid-gap:12px;background:#ecfdf3;border-radius:14px;color:#065f46;display:grid;gap:12px;grid-template-columns:auto 1fr;padding:16px}.public-success svg{font-size:20px}.public-link{color:#0f172a;display:inline-block;font-weight:600;margin-top:6px}.public-steps{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:42px auto 0;max-width:1200px}.public-step{background:#fffc;border-radius:16px;box-shadow:0 12px 30px #0f172a14;padding:18px}.step-number{color:#ea580c;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.public-hero__content,.public-step h3{color:#0f172a}@media (max-width:720px){.public-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.floating-help{background:#fff;background:var(--panel);border:1px solid #94a3b866;border-radius:12px;box-shadow:0 12px 40px #0f172a1f;height:320px;max-height:calc(100vh - 24px);max-width:calc(100vw - 24px);min-height:180px;min-width:260px;overflow:hidden;position:fixed;resize:both;-webkit-user-select:none;user-select:none;width:320px;z-index:960}.floating-help.dragging{box-shadow:0 16px 50px #0f172a2e}.floating-help-header{align-items:center;border-bottom:1px solid #94a3b84d;cursor:grab;display:flex;gap:8px;justify-content:space-between;padding:10px 12px}.floating-help.dragging .floating-help-header{cursor:grabbing}.floating-help-title{align-items:center;color:#1f2937;display:inline-flex;font-weight:600;gap:8px}.floating-help-body{color:#475569;font-size:12px;max-height:calc(100% - 44px);overflow-y:auto;padding:10px 12px 12px}.floating-help-body p{margin:0 0 6px}.floating-help-body ul{grid-gap:6px;display:grid;gap:6px;margin:0;padding-left:16px}.floating-help.modal-foreground{z-index:1100}.floating-help-details{margin-top:10px}.floating-help-details,.floating-help-footer{border-top:1px dashed #94a3b859;padding-top:8px}.floating-help-footer{grid-gap:4px;color:#6b7280;color:var(--muted);display:grid;font-size:11px;gap:4px;margin-top:12px}.floating-help.collapsed .floating-help-body{display:none}.floating-help.collapsed{height:48px!important;min-height:48px!important;resize:none}body[data-theme=dark] .floating-help{border-color:#94a3b833;box-shadow:0 12px 40px #0f172a66}body[data-theme=dark] .floating-help-title{color:#e2e8f0}.about-versions{grid-gap:8px;display:grid;gap:8px;margin-top:4px}.about-version-row{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:10px 12px}.about-version-label{color:#6b7280;color:var(--muted);font-weight:600}.about-version-note{color:#6b7280;color:var(--muted);font-size:12px;margin-top:10px}body[data-theme=dark] .floating-help-body{color:#cbd5f5}.heading{align-items:center;display:flex;gap:8px}.heading-icon{align-items:center;display:inline-flex;flex:0 0 auto;justify-content:center;opacity:.75}.heading-icon svg{height:1em;width:1em}.sparkline rect{fill:#94a3b8}body[data-theme=dark] .sparkline rect{fill:#cbd5f5}.app-body{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:220px 1fr}.quick-palette{align-items:flex-start;display:flex;inset:0;justify-content:center;padding-top:80px;position:fixed;z-index:999}.quick-backdrop{background:#0006;inset:0;position:absolute}.quick-palette-inner{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);color:#0f172a;color:var(--text);min-width:min(680px,90vw);padding:12px 12px 10px;position:relative;z-index:1000}.quick-palette-header{align-items:center;color:#6b7280;color:var(--muted);display:flex;font-size:12px;justify-content:space-between;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.quick-palette input{background:#fff;background:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);padding:10px 12px;width:100%}.quick-palette-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:320px;overflow:auto}.quick-item{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;display:flex;gap:10px;padding:10px 12px;text-align:left}.quick-item:hover{background:#f9fafb;background:var(--table-header)}.quick-type{color:#6b7280;color:var(--muted);font-size:12px;min-width:64px;text-transform:uppercase}.quick-label{font-weight:600}.app-body.sidebar-collapsed{grid-template-columns:72px 1fr}.sidebar{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 110px);overflow:auto;padding:10px;position:-webkit-sticky;position:sticky;top:84px}.sidebar.collapsed{padding:10px 6px}.sidebar-title{color:#6b7280;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.sidebar-header{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:10px}.sidebar.collapsed .sidebar-title{height:0;margin:0;opacity:0;overflow:hidden;width:0}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar-link{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#0f172a;color:var(--text);display:flex;gap:8px;margin-bottom:6px;padding:7px 10px;text-align:left;width:100%}.sidebar-icon{display:inline-flex;font-size:14px}.sidebar-label{flex:1 1}.sidebar.collapsed .sidebar-link{gap:0;justify-content:center;padding:7px 6px}.sidebar.collapsed .sidebar-label{display:none}.sidebar-link.active{background:#e0e7ff;background:var(--accent-soft);border-color:#e0e7ff;border-color:var(--accent-soft);color:#2563eb;color:var(--accent)}.sidebar-divider{background:#e5e7eb;background:var(--border);height:1px;margin:8px 0;opacity:.8;width:100%}.sidebar-footer,.sidebar-nav{display:flex;flex-direction:column}.sidebar-footer{gap:6px;margin-top:auto}.sidebar-option{align-items:center;border-radius:10px;color:#0f172a;color:var(--text);display:flex;gap:8px;padding:6px 8px}.sidebar-option-label{flex:1 1;font-size:12px}.sidebar.collapsed .sidebar-option{gap:6px;justify-content:center}.sidebar.collapsed .sidebar-option-label{display:none}.filter-row{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:10px;padding:8px 10px}.filter-row label{display:flex;flex-direction:column;font-size:12px;gap:4px}.filter-row .checkbox-inline{align-items:center;flex-direction:row}@media (max-width:1100px){.app-body{grid-template-columns:1fr}.sidebar{max-height:none;position:static}}.topbar{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);justify-content:space-between;margin-bottom:12px;padding:10px 14px}.brand,.topbar{align-items:center;display:flex}.brand{gap:12px}.brand h1{font-size:20px;letter-spacing:-.3px;margin:0}.hero-dot{background:#10b981;border-radius:50%;height:10px;width:10px}.nav-actions{align-items:center;display:flex;gap:10px}.mode-toggle{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;display:inline-flex;gap:8px;padding:4px 8px}.mode-label{color:#6b7280;color:var(--muted);font-size:12px}.mode-label.active{color:#0f172a;color:var(--text);font-weight:600}.theme-switch-row{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:180px}.panel{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);padding:10px 12px}.panel.tall{display:flex;flex-direction:column;min-height:0}.panel-scroll{max-height:calc(100vh - 210px);overflow:auto;padding-right:4px}.panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.panel-body{padding:6px 0 0}.dashboard-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:12px}.dashboard-card{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-height:110px;padding:10px 12px}.dashboard-value{font-size:20px;font-weight:600;letter-spacing:-.02em}.progress-meter{background:#f9fafb;background:var(--table-header);border-radius:999px;height:6px;overflow:hidden}.progress-meter span{background:linear-gradient(90deg,#2563eb,#38bdf8);background:linear-gradient(90deg,var(--accent),#38bdf8);display:block;height:100%}.spark-bars{align-items:flex-end;display:flex;gap:4px;height:36px}.spark-bars span{background:#2563eb;background:var(--accent);border-radius:3px 3px 2px 2px;opacity:.85;width:6px}.spark-bars span:nth-child(2n){background:#38bdf8}.spark-empty{color:#6b7280;color:var(--muted);font-size:11px}.panel-actions{align-items:center;display:flex;gap:8px}.eyebrow{color:#6b7280;color:var(--muted);font-size:10px;letter-spacing:.16em;margin:0;text-transform:uppercase}.pill{align-items:center;background:#f3f4f6;background:var(--pill-bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;color:#374151;display:inline-flex;font-size:11px;gap:6px;padding:4px 10px}.muted{color:#6b7280;color:var(--muted)}.strong{font-weight:600}.table-wrap{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;overflow-x:auto;width:100%}.compact-table{border-collapse:collapse;font-size:12px;width:100%}.compact-table td,.compact-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);padding:6px 8px;vertical-align:top}.compact-table th{background:#f9fafb;background:var(--table-header);color:#6b7280;color:var(--muted);font-size:11px;letter-spacing:.12em;text-align:left;text-transform:uppercase}.compact-table tbody tr:hover{background:#2563eb0f}body[data-theme=dark] .compact-table tbody tr:hover{background:#60a5fa1f}.summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:12px}.summary-card{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);padding:10px 12px}.summary-card h4{margin-top:6px}.project-complexity-grid .scatter-card{grid-column:span 2;min-height:220px}.scatter-chart{margin-top:8px}.scatter-bg{fill:#252c3c0a;stroke:#252c3c1f}.scatter-grid{stroke:#252c3c26;stroke-dasharray:3 3}.scatter-point{fill:#ef4444;opacity:.85}.scatter-label{fill:#6b7280;fill:var(--muted);font-size:7px;letter-spacing:.14em;text-transform:uppercase}.weighted-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.weighted-row{grid-gap:6px;display:grid;gap:6px}.weighted-label{display:flex;font-size:12px;gap:8px;justify-content:space-between}.weighted-bar{background:#f9fafb;background:var(--table-header);border-radius:999px;height:6px;overflow:hidden}.weighted-bar span{background:linear-gradient(90deg,#2563eb,#38bdf8);background:linear-gradient(90deg,var(--accent),#38bdf8);display:block;height:100%}.stats-controls{margin:6px 0 10px}.coverage-wrap{margin-bottom:12px}.coverage-bar{background:#f9fafb;background:var(--table-header);border-radius:999px;height:6px;overflow:hidden}.coverage-bar span{background:linear-gradient(90deg,#22c55e,#f59e0b);display:block;height:100%}.project-stats-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.project-stats-table .sticky-col{background:#fff;background:var(--panel);left:0;min-width:180px;position:-webkit-sticky;position:sticky;z-index:3}.project-stats-table .sticky-col.second{background:#fff;background:var(--panel);left:180px;min-width:160px;z-index:3}.project-stats-table th.sticky-col,.project-stats-table th.sticky-col.second,.user-stats-table thead th{background:#f9fafb;background:var(--table-header)}.user-stats-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.user-stats-table.compact td{padding:4px 6px}.user-stats-table.compact .cell-sub{display:none}.team-stats-table thead th{background:#f9fafb;background:var(--table-header);position:-webkit-sticky;position:sticky;top:0;z-index:2}.team-stats-table.compact td{padding:4px 6px}.team-stats-table.compact .cell-sub{display:none}.project-stats-table.compact td{padding:4px 6px}.project-stats-table.compact .cell-sub{display:none}.gap-pill{align-items:center;background:#f3f4f6;background:var(--pill-bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;display:inline-flex;font-weight:600;justify-content:center;padding:4px 8px}.gap-pill.good{background:#dcfce7;border-color:#bbf7d0;color:#166534}.gap-pill.warn{background:#fef3c7;border-color:#fde68a;color:#92400e}.gap-pill.bad{background:#fee2e2;border-color:#fecaca;color:#991b1b}.gap-cell{border-radius:8px}.gap-cell.gap-0{background:#f0fdf4}.gap-cell.gap-1{background:#ecfeff}.gap-cell.gap-2{background:#fff7ed}.gap-cell.gap-3{background:#fee2e2}body[data-theme=dark] .gap-pill.good{background:#064e3b;border-color:#047857;color:#a7f3d0}body[data-theme=dark] .gap-pill.warn{background:#78350f;border-color:#92400e;color:#fde68a}body[data-theme=dark] .gap-pill.bad{background:#7f1d1d;border-color:#991b1b;color:#fecaca}body[data-theme=dark] .gap-cell.gap-0{background:#052e16}body[data-theme=dark] .gap-cell.gap-1{background:#0f172a}body[data-theme=dark] .gap-cell.gap-2{background:#3f1d0b}body[data-theme=dark] .gap-cell.gap-3{background:#3f0c0c}.skill-matrix th.skill-col{padding:4px 6px;text-align:center;vertical-align:bottom;white-space:nowrap;width:26px}.skill-matrix{min-width:100%;width:-webkit-max-content;width:max-content}.skill-matrix th.skill-group{background:#fff;background:var(--panel);color:#6b7280;color:var(--muted);font-size:10px;letter-spacing:.12em;text-align:center;text-transform:uppercase}.skill-matrix th.skill-col span{display:inline-block;font-size:10px;letter-spacing:.08em;transform:rotate(180deg);writing-mode:vertical-rl}.skill-matrix td.heat-cell{font-feature-settings:"tnum";border-radius:6px;color:#0f172a;font-variant-numeric:tabular-nums;text-align:center}.skill-matrix td{min-width:36px}.skill-matrix thead th{background:#fff;background:var(--panel)}.skill-matrix th:first-child{z-index:4}.skill-matrix td:first-child,.skill-matrix th:first-child{background:#fff;background:var(--panel);left:0;position:-webkit-sticky;position:sticky}.skill-matrix td:first-child{font-weight:600;z-index:2}.skill-matrix td.heat-0{background:#f8fafc}.skill-matrix td.heat-1{background:#eef2ff}.skill-matrix td.heat-2{background:#e0f2fe}.skill-matrix td.heat-3{background:#dbeafe}.skill-matrix td.heat-4{background:#bfdbfe}.skill-matrix td.heat-5{background:#93c5fd}.skill-matrix td.heat-6{background:#60a5fa}.skill-matrix td.heat-7{background:#3b82f6;color:#f8fafc}.skill-matrix td.heat-8{background:#2563eb;color:#f8fafc}.skill-matrix td.heat-9{background:#1d4ed8;color:#f8fafc}.skill-matrix td.heat-10{background:#1e40af;color:#f8fafc}body[data-theme=dark] .skill-matrix td.heat-0{background:#0f172a;color:#e2e8f0}body[data-theme=dark] .skill-matrix td.heat-1{background:#111827;color:#e2e8f0}body[data-theme=dark] .skill-matrix td.heat-2{background:#1f2937;color:#e2e8f0}body[data-theme=dark] .skill-matrix td.heat-3{background:#1e3a8a;color:#e2e8f0}body[data-theme=dark] .skill-matrix td.heat-4{background:#1d4ed8;color:#f8fafc}body[data-theme=dark] .skill-matrix td.heat-5{background:#2563eb;color:#f8fafc}body[data-theme=dark] .skill-matrix td.heat-6{background:#3b82f6;color:#f8fafc}body[data-theme=dark] .skill-matrix td.heat-7{background:#60a5fa;color:#0f172a}body[data-theme=dark] .skill-matrix td.heat-8{background:#93c5fd;color:#0f172a}body[data-theme=dark] .skill-matrix td.heat-9{background:#bfdbfe;color:#0f172a}body[data-theme=dark] .skill-matrix td.heat-10{background:#e0f2fe;color:#0f172a}.matrix-actions{flex-wrap:wrap;gap:12px}.heat-legend,.matrix-actions{align-items:center;display:flex}.heat-legend{font-size:11px;gap:6px}.heat-bar{align-items:center;display:inline-flex;gap:2px}.heat-swatch{border:1px solid #0f172a1a;border-radius:3px;height:12px;width:12px}.heat-swatch.heat-0{background:#f8fafc}.heat-swatch.heat-1{background:#eef2ff}.heat-swatch.heat-2{background:#e0f2fe}.heat-swatch.heat-3{background:#dbeafe}.heat-swatch.heat-4{background:#bfdbfe}.heat-swatch.heat-5{background:#93c5fd}.heat-swatch.heat-6{background:#60a5fa}.heat-swatch.heat-7{background:#3b82f6}.heat-swatch.heat-8{background:#2563eb}.heat-swatch.heat-9{background:#1d4ed8}.heat-swatch.heat-10{background:#1e40af}body[data-theme=dark] .heat-swatch{border-color:#94a3b84d}body[data-theme=dark] .heat-swatch.heat-0{background:#0f172a}body[data-theme=dark] .heat-swatch.heat-1{background:#111827}body[data-theme=dark] .heat-swatch.heat-2{background:#1f2937}body[data-theme=dark] .heat-swatch.heat-3{background:#1e3a8a}body[data-theme=dark] .heat-swatch.heat-4{background:#1d4ed8}body[data-theme=dark] .heat-swatch.heat-5{background:#2563eb}body[data-theme=dark] .heat-swatch.heat-6{background:#3b82f6}body[data-theme=dark] .heat-swatch.heat-7{background:#60a5fa}body[data-theme=dark] .heat-swatch.heat-8{background:#93c5fd}body[data-theme=dark] .heat-swatch.heat-9{background:#bfdbfe}body[data-theme=dark] .heat-swatch.heat-10{background:#e0f2fe}.compact-table tr.active{background:#fef3c7}body[data-theme=dark] .compact-table tr.active{background:#1f2937;color:#f3f4f6}.ant-table-tbody>tr.active>td{background:#fef3c7}body[data-theme=dark] .ant-table-tbody>tr.active>td{background:#1f2937;color:#f3f4f6}.table-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.audit-filter{display:flex;flex-direction:column;font-size:11px;gap:4px}.audit-filter input,.audit-filter select{min-width:120px}.help-tip{align-items:center;background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;color:#6b7280;color:var(--muted);cursor:help;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-left:6px;width:16px}.prediction-row.highlight{background:#22c55e1f}body[data-theme=dark] .prediction-row.highlight{background:#22c55e2e}.simulator-scroll{max-height:240px;overflow:auto;padding-right:4px}.availability-summary{margin-top:6px}.availability-grid{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;margin-top:10px;max-height:360px;overflow:auto}.availability-row{grid-column-gap:6px;align-items:center;column-gap:6px;display:grid;grid-template-columns:70px 36px repeat(7,36px);justify-content:start}.availability-row+.availability-row{border-top:1px solid #e5e7eb;border-top:1px solid var(--border)}.availability-header{background:#fff;background:var(--panel);position:-webkit-sticky;position:sticky;top:0;z-index:2}.availability-time{padding:4px 6px}.availability-day,.availability-time{color:#6b7280;color:var(--muted);font-size:11px}.availability-day{letter-spacing:.12em;padding:6px 0;text-align:center;text-transform:uppercase}.availability-slot{background:#f9fafb;background:var(--table-header);border:1px solid #e5e7eb;border:1px solid var(--border);cursor:pointer;height:18px;width:36px}.availability-slot.active{background:#2563eb;background:var(--accent);border-color:#2563eb;border-color:var(--accent)}.availability-slot:disabled{cursor:not-allowed;opacity:.6}.table-actions .actions{margin-top:0}button,input,select,textarea{font-family:inherit;font-size:12px}input,select,textarea{background:#fff;background:var(--input-bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);padding:5px 8px}input,select{height:30px}textarea{min-height:60px}input:focus,select:focus,textarea:focus{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26;outline:none}button{background:#f9fafb;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#0f172a;color:var(--text);cursor:pointer;padding:5px 10px}button:hover{border-color:#cbd5f5}body[data-theme=dark] button:hover{border-color:#334155}.icon-button{border-radius:8px;justify-content:center;padding:4px 6px}.button-icon,.icon-button{align-items:center;display:inline-flex}.button-icon{line-height:0;margin-right:6px}button .button-icon svg{height:1em;width:1em}button.primary{background:#2563eb;background:var(--accent);border-color:#2563eb;border-color:var(--accent);color:#fff}button.secondary{background:#e0e7ff;background:var(--accent-soft);border-color:#0000;color:#2563eb;color:var(--accent)}button.ghost{background:#0000;border-color:#0000;color:#4b5563}button.ghost.small{font-size:11px;padding:2px 6px}.export-button{border:1px solid #e5e7eb;border:1px solid var(--border);color:#0f172a;color:var(--text);padding:4px 10px}.export-button:before{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v10"/><path d="m7 11 5 5 5-5"/><path d="M5 21h14"/></svg>') no-repeat 50%/contain;content:"";display:inline-block;height:12px;margin-right:6px;opacity:.9;vertical-align:-2px;width:12px}button.danger{background:#fee2e2;border-color:#fecaca;color:#dc2626;color:var(--danger)}button:disabled{cursor:not-allowed;opacity:.6}.checkboxes{display:flex;flex-wrap:wrap;gap:6px 12px}.checkboxes.column{flex-direction:column}.checkbox-inline{align-items:center;display:flex;gap:8px}.checkbox-inline input[type=checkbox]{accent-color:var(--primary);height:14px;width:14px}.checkboxes .checkbox-inline input[type=checkbox]{height:13px;width:13px}.fields{grid-gap:10px;display:grid;gap:10px}.fields.inline{gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.fields.inline.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.map-visual{background:linear-gradient(135deg,#252c3c0f,#252c3c05);border:1px solid #252c3c14;border-radius:16px;padding:14px}.world-map{height:auto;width:100%}.map-base{opacity:.9}.map-node{fill:#1666d2a6;stroke:#1666d2e6;stroke-width:2}.map-node-country{fill:#e85c3ab3;stroke:#e85c3af2;stroke-width:1.5}.map-label{fill:#252c3cb3;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.map-details{grid-gap:12px;display:grid;gap:12px}.panel-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.compact-table .group-row td{background:#252c3c0f;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.complexity-groups{grid-gap:12px;display:grid;gap:12px;max-height:520px;overflow:auto;padding-right:4px}.complexity-group{background:#252c3c08;border:1px solid #252c3c14;border-radius:12px;padding:8px 10px 12px}.complexity-group summary{color:#252c3cb3;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.08em;margin:4px 0 8px;text-transform:uppercase}.complexity-group summary::marker{color:#252c3c99}.mini-table{background:#252c3c0a;border:1px solid #252c3c14;border-radius:12px;padding:10px 12px}.mini-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}@media (max-width:960px){.map-layout{grid-template-columns:1fr}.project-complexity-grid .scatter-card{grid-column:span 1}}.fields>label{align-items:center}.fields .field-group,.fields>label{grid-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:140px minmax(0,1fr)}.fields .field-group{align-items:start}.fields .checkboxes .checkbox-inline{align-items:center;display:flex;gap:8px}.fields .field-group>span,.fields>label>.ant-typography,.fields>label>span{color:#6b7280;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.fields .field-group .ant-input,.fields .field-group .ant-select,.fields .field-group input,.fields .field-group select,.fields .field-group textarea,.fields>label .ant-input,.fields>label .ant-select,.fields>label input,.fields>label select,.fields>label textarea{align-self:stretch}.fields .field-group .ant-input,.fields .field-group .ant-select,.fields .field-group .checkboxes,.fields .field-group input,.fields .field-group select,.fields .field-group textarea,.fields>label .ant-input,.fields>label .ant-select,.fields>label input,.fields>label select,.fields>label textarea{grid-column:2}.fields .field-group .checkbox-inline label{font-size:13px;letter-spacing:normal;text-transform:none}.fields label>div{grid-column:2}.fields label>.ant-typography,.fields label>span{grid-column:1}.fields label small{grid-column:2}.fields label.required>.ant-typography:after,.fields label.required>span:after{color:#dc2626;color:var(--danger);content:" *"}@media (max-width:720px){.fields label{grid-template-columns:1fr}.fields label .ant-input,.fields label .ant-select,.fields label input,.fields label select,.fields label small,.fields label textarea,.fields label>.ant-typography,.fields label>span{grid-column:1}}.actions{align-items:center;display:flex;gap:8px;margin-top:12px}.actions .spacer{flex:1 1}.monospace{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.audit-state{margin:0;max-height:220px;overflow:auto;white-space:pre-wrap}.footer-bar{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);margin-top:16px;padding:0 0 8px}.modal-overlay{background:#0f172a73;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:1000}.modal{background:#fff;background:var(--panel);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 12px 30px #0f172a14;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:min(90vh,840px);overflow:hidden;width:min(760px,96vw)}.modal.wide{width:min(1180px,96vw)}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:10px 14px}.modal .form-block,.modal .panel-body{overflow-y:auto;padding:10px 14px 14px}.ant-btn{border-radius:6px}.ant-table{background:#0000;font-size:12px}.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-container{border:none}.ant-table-wrapper .ant-table-container{border-radius:10px;overflow:hidden}.ant-table-thead>tr>th{background:#f9fafb;background:var(--table-header);color:#6b7280;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.ant-table-tbody>tr>td,.ant-table-thead>tr>th{padding:6px 8px}.ant-table-tbody>tr:hover>td{background:#2563eb0f}body[data-theme=dark] .ant-table-tbody>tr:hover>td{background:#60a5fa1f}body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}
/*# sourceMappingURL=main.ecd3cd22.css.map*/