/* ─── CSS VARIABLES (Apple-like Dark) ─── */
:root {
  --bg-base: #111113;
  --bg-card: #1c1c1e;
  --bg-card-2: #242426;
  --bg-hover: #2c2c2e;
  --border: rgba(255,255,255,0.10);
  --border-light: rgba(255,255,255,0.16);
  --text-primary: #f5f5f7;
  --text-secondary: #c7c7cc;
  --text-muted: #8e8e93;
  --accent-blue: #0a84ff;
  --accent-blue-glow: rgba(10,132,255,0.16);
  --accent-green: #30d158;
  --accent-green-glow: rgba(48,209,88,0.16);
  --accent-orange: #ff9f0a;
  --accent-orange-glow: rgba(255,159,10,0.16);
  --accent-red: #ff453a;
  --accent-red-glow: rgba(255,69,58,0.15);
  --accent-purple: #bf5af2;
  --accent-lime: #30d158;
  --radius: 16px;
  --radius-sm: 8px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;overflow-x:hidden;transition:background 0.3s ease,color 0.3s ease;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#3a4055}

/* ─── TAB PANEL ─── */
.tab-panel{display:none;animation:fadeIn 0.25s ease}
.tab-panel.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ─── SECTION TITLE ─── */
.section-title{font-size:20px;font-weight:750;margin-bottom:6px;letter-spacing:0;line-height:1.18}
.section-sub{font-size:12px;color:var(--text-secondary);margin-bottom:20px;line-height:1.55}
.section-sub span{color:var(--accent-lime)}

/* ─── KPI CARDS ─── */
.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;position:relative;overflow:hidden;transition:border-color 0.2s}
.kpi-card:hover{border-color:var(--border-light)}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0}
.kpi-card.blue::before{background:var(--accent-blue)}
.kpi-card.green::before{background:var(--accent-green)}
.kpi-card.orange::before{background:var(--accent-orange)}
.kpi-card.red::before{background:var(--accent-red)}
.kpi-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px}
.kpi-value{font-size:26px;font-weight:800;line-height:1;margin-bottom:4px}
.kpi-card.blue .kpi-value{color:var(--accent-blue)}
.kpi-card.green .kpi-value{color:var(--accent-green)}
.kpi-card.orange .kpi-value{color:var(--accent-orange)}
.kpi-card.red .kpi-value{color:var(--accent-red)}
.kpi-sub{font-size:11px;color:var(--text-secondary)}
.kpi-caption{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}

/* ─── CARD ─── */
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color 0.2s}
.card:hover{border-color:var(--border-light)}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-title{font-size:14px;font-weight:600}

/* ─── GRIDS ─── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.row{display:flex;align-items:center;gap:10px}

/* ─── BADGE ─── */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.badge::before{content:'●';font-size:7px}
.badge.success{background:var(--accent-green-glow);color:var(--accent-green);border:1px solid rgba(48,209,88,0.2)}
.badge.warning{background:var(--accent-orange-glow);color:var(--accent-orange);border:1px solid rgba(255,149,0,0.2)}
.badge.danger{background:var(--accent-red-glow);color:var(--accent-red);border:1px solid rgba(255,69,58,0.2)}
.badge.info{background:var(--accent-blue-glow);color:var(--accent-blue);border:1px solid rgba(0,245,255,0.2)}
.badge.neutral{background:rgba(136,146,164,0.1);color:var(--text-secondary);border:1px solid var(--border)}

/* ─── PROGRESS ─── */
.progress-track{height:6px;background:var(--bg-card-2);border-radius:99px;overflow:hidden;position:relative}
.progress-fill{height:100%;border-radius:99px;transition:width 1.2s cubic-bezier(0.4,0,0.2,1)}
.progress-fill.green{background:linear-gradient(90deg,#16a34a,#30d158)}
.progress-fill.blue{background:linear-gradient(90deg,#0080cc,#00f5ff)}
.progress-fill.orange{background:linear-gradient(90deg,#cc7700,#ff9500)}
.progress-fill.red{background:linear-gradient(90deg,#cc2200,#ff453a)}
.progress-fill.gray{background:var(--bg-hover)}
.progress-fill.lime{background:linear-gradient(90deg,#a0cb00,#cafd00);box-shadow:0 0 10px rgba(202,253,0,0.3)}

/* ─── TABLE ─── */
.data-table{width:100%;border-collapse:collapse}
.data-table th{text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.data-table td{padding:11px 12px;font-size:12px;border-bottom:1px solid var(--border);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--bg-hover)}

/* ─── BUDGET STAGE ─── */
.budget-stage{margin-bottom:16px}
.budget-stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.budget-stage-name{font-size:13px;font-weight:500}
.budget-stage-amounts{font-size:11px;color:var(--text-secondary)}
.budget-stage-amounts strong{color:var(--text-primary)}
.budget-stage-pct{font-size:12px;font-weight:700}

/* ─── ALERT BANNER ─── */
.alert-banner{background:rgba(255,149,0,0.07);border:1px solid rgba(255,149,0,0.25);border-radius:var(--radius-sm);padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;font-size:13px}
.alert-banner .icon{font-size:16px;flex-shrink:0}
.alert-banner strong{color:var(--accent-orange)}

/* ─── GANTT ─── */
.gantt-wrap{overflow-x:auto}
.gantt-header{display:grid;grid-template-columns:180px minmax(420px,1fr) 112px;gap:12px;padding:0 0 8px;border-bottom:2px solid var(--border-light);margin-bottom:4px}
.gantt-header span{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em}
.gantt-row{display:grid;grid-template-columns:180px minmax(420px,1fr) 112px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.gantt-row:last-child{border-bottom:none}
.gantt-row>.badge{justify-self:end;max-width:none;min-width:96px;justify-content:center}
.gantt-name{font-size:12px;font-weight:500}
.gantt-bar-wrap{position:relative;height:28px}
.gantt-bar{position:absolute;height:100%;border-radius:6px;display:flex;align-items:center;padding:0 10px;font-size:10px;font-weight:700;color:#fff}

/* ─── MILESTONE ─── */
.milestone-item{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.milestone-item:last-child{border-bottom:none}
.milestone-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}
.milestone-dot.done{background:var(--accent-green)}
.milestone-dot.active{background:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange)}
.milestone-dot.wait{background:var(--bg-hover);border:2px solid var(--border-light)}
.milestone-date{font-size:11px;color:var(--text-muted);white-space:nowrap;min-width:70px}
.milestone-title{font-size:13px;font-weight:500}
.milestone-today{color:var(--accent-orange)}

/* ─── QUALITY TAB ─── */
.q-hero{display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,rgba(48,209,88,0.08),rgba(48,209,88,0.02));border:1px solid rgba(48,209,88,0.18);border-radius:var(--radius);padding:24px 28px;margin-bottom:20px}
.q-index-wrap{position:relative;width:96px;height:96px;flex-shrink:0}
.q-index-wrap svg{width:96px;height:96px}
.q-index-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;line-height:1}
.q-index-big{font-size:26px;color:var(--accent-green)}
.q-index-max{font-size:11px;color:var(--text-muted);margin-top:2px}
.q-hero-text{flex:1}
.q-hero-title{font-size:17px;font-weight:700;margin-bottom:6px}
.q-hero-sub{font-size:13px;color:var(--text-secondary);line-height:1.6}
.table-context{font-size:12px;color:var(--text-secondary);margin-bottom:10px;font-style:italic}
.q-code{font-size:10px;color:var(--text-muted);font-weight:400}
.photo-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}
.defect-caption{font-size:11px;color:var(--text-secondary);margin-top:8px;line-height:1.5}
.materials-sub{font-size:11px;color:var(--text-muted);margin-bottom:10px}
.mat-note{font-size:10px;color:var(--accent-orange);margin-top:2px}
.defect-map{background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;position:relative;height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.defect-map-label{position:absolute;top:10px;left:12px;font-size:11px;color:var(--text-secondary)}
.defect-plan{position:relative;width:100%;height:100%;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.015));border:1px solid var(--border);overflow:hidden}
.plan-room{position:absolute;border:2px solid rgba(142,142,147,0.55);background:rgba(255,255,255,0.025);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em}
.plan-room.living{left:4%;top:12%;width:40%;height:52%}
.plan-room.kitchen{left:44%;top:12%;width:26%;height:28%}
.plan-room.hall{left:44%;top:40%;width:26%;height:24%}
.plan-room.master{left:70%;top:12%;width:26%;height:36%}
.plan-room.bath{left:70%;top:48%;width:26%;height:16%}
.plan-room.bedroom{left:4%;top:64%;width:34%;height:28%}
.plan-room.cabinet{left:38%;top:64%;width:34%;height:28%}
.plan-room.terrace{left:72%;top:64%;width:24%;height:28%;border-style:dashed}
.plan-wall{position:absolute;background:rgba(142,142,147,0.55);border-radius:2px}
.plan-wall.w1{left:4%;right:4%;top:11%;height:3px}
.plan-wall.w2{left:4%;right:4%;bottom:8%;height:3px}
.plan-wall.w3{left:3%;top:12%;bottom:8%;width:3px}
.plan-wall.w4{right:3%;top:12%;bottom:8%;width:3px}
.plan-door{position:absolute;background:var(--bg-card-2);border:2px solid rgba(142,142,147,0.55);border-top:none;border-radius:0 0 999px 999px;width:34px;height:18px}
.plan-door.d1{left:41%;top:61%;transform:rotate(0)}
.plan-door.d2{left:66%;top:37%;transform:rotate(90deg)}
.defect-dot{position:absolute;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,0.55);z-index:2}
.defect-dot.open{background:var(--accent-red)}
.defect-dot.closed{background:var(--accent-green)}
.defect-grid-bg{display:none}
.defect-cell{background:rgba(255,255,255,0.02);border-radius:3px}
.shield-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(48,209,88,0.07),rgba(0,245,255,0.05));border:1px solid rgba(48,209,88,0.15);border-radius:var(--radius);padding:18px 24px;margin-top:16px}
.shield-banner-icon{font-size:32px;flex-shrink:0}
.shield-banner-text{font-size:13px;color:var(--text-secondary);line-height:1.6}

/* ─── RISKS TAB ─── */
.risk-hero{border-radius:var(--radius);padding:24px 28px;margin-bottom:20px;display:flex;align-items:center;gap:20px}
.risk-hero.red{background:linear-gradient(135deg,rgba(255,69,58,0.14),rgba(255,69,58,0.04));border:1.5px solid rgba(255,69,58,0.35)}
.risk-hero-icon{font-size:44px;flex-shrink:0;line-height:1}
.risk-hero-body{flex:1}
.risk-hero-title{font-size:22px;font-weight:800;margin-bottom:6px;line-height:1.2}
.risk-hero.red .risk-hero-title{color:#ff6b60}
.risk-hero-sub{font-size:14px;color:var(--text-secondary);line-height:1.5}
.risk-hero-badge{background:rgba(255,69,58,0.18);color:#ff6b60;font-size:12px;font-weight:700;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,69,58,0.30);white-space:nowrap}
.risk-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.risk-card-v2{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(14px);animation:rc-appear 0.4s ease forwards}
.risk-card-v2:hover{transform:translateY(-3px)}
.risk-card-v2.rc-red{border-left:3px solid var(--accent-red)}
.risk-card-v2.rc-orange{border-left:3px solid var(--accent-orange)}
.risk-card-v2.rc-blue{border-left:3px solid var(--accent-blue)}
.rc-header{display:flex;align-items:flex-start;gap:12px}
.rc-emoji{font-size:28px;line-height:1;flex-shrink:0;margin-top:2px}
.rc-title{font-size:14px;font-weight:700;line-height:1.3}
.rc-desc{font-size:12px;color:var(--text-secondary);line-height:1.6}
.rc-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.rc-status{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px}
.rc-status.taking-action{background:rgba(255,69,58,0.12);color:#ff6b60;border:1px solid rgba(255,69,58,0.25)}
.rc-status.watching{background:rgba(255,149,0,0.12);color:var(--accent-orange);border:1px solid rgba(255,149,0,0.25)}
.rc-status.controlled{background:rgba(0,245,255,0.12);color:var(--accent-blue);border:1px solid rgba(0,245,255,0.25)}
.rc-bar-wrap{display:flex;flex-direction:column;gap:4px;min-width:80px}
.rc-bar-track{height:4px;background:var(--bg-card-2);border-radius:99px;overflow:hidden}
.rc-bar-fill{height:100%;border-radius:99px;width:0;transition:width 1.2s cubic-bezier(0.4,0,0.2,1)}
.rc-bar-fill.red{background:linear-gradient(90deg,#cc2200,#ff453a)}
.rc-bar-fill.orange{background:linear-gradient(90deg,#cc7700,#ff9500)}
.rc-bar-fill.blue{background:linear-gradient(90deg,#0080cc,#00f5ff)}
.rc-bar-label{font-size:10px;color:var(--text-muted)}
@keyframes rc-appear{to{opacity:1;transform:translateY(0)}}
.autopilot-banner{background:linear-gradient(135deg,rgba(255,69,58,0.08),rgba(255,69,58,0.03));border:1px solid rgba(255,69,58,0.25);border-radius:var(--radius);padding:16px 20px;margin-top:16px;display:flex;align-items:flex-start;gap:14px}
.autopilot-badge{background:var(--accent-red);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;white-space:nowrap;margin-top:2px}
.autopilot-title{font-size:13px;font-weight:700;margin-bottom:4px;color:var(--accent-red)}
.autopilot-text{font-size:12px;color:var(--text-secondary);line-height:1.5}
.autopilot-pct{margin-left:auto;font-size:28px;font-weight:800;color:var(--accent-red);white-space:nowrap}
.autopilot-pct span{font-size:12px;color:var(--text-secondary);display:block;text-align:right}
.black-box{background:linear-gradient(135deg,#111111,#0d0d0d);border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius);padding:20px;margin-top:16px}
.black-box-title{font-size:16px;font-weight:700;margin-bottom:4px}
.black-box-sub{font-size:11px;color:var(--text-secondary);margin-bottom:16px}
.black-box-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bbs{text-align:center}
.bbs-val{font-size:24px;font-weight:800;color:var(--accent-lime)}
.bbs-label{font-size:10px;color:var(--text-muted);margin-top:3px;text-transform:uppercase}

/* ─── DOCS TAB ─── */
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.doc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all 0.2s}
.doc-card:hover{border-color:var(--accent-lime);background:var(--bg-card-2)}
.doc-icon{font-size:28px;margin-bottom:10px}
.doc-name{font-size:13px;font-weight:600;margin-bottom:4px}
.doc-count{font-size:11px;color:var(--text-secondary);margin-bottom:10px}
.xray-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}
.xray-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.xray-badge{background:rgba(225,178,255,0.12);border:1px solid rgba(225,178,255,0.25);color:var(--accent-purple);font-size:10px;font-weight:700;padding:3px 10px;border-radius:4px;text-transform:uppercase}
.xray-title{font-size:15px;font-weight:700}
.xray-content{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.xray-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.xray-item-text{font-size:12px}
.xray-item-text strong{color:var(--accent-purple)}
.xray-note{font-size:12px;color:var(--accent-green);margin-top:12px}
.passport-card{background:linear-gradient(135deg,#111111,#141414);border:1px solid rgba(202,253,0,0.15);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}
.passport-card::before{content:'ЦПО';position:absolute;right:20px;top:20px;font-size:60px;font-weight:900;color:rgba(202,253,0,0.04);pointer-events:none;font-family:'Manrope',sans-serif}
.passport-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.passport-title{font-size:20px;font-weight:800;font-family:'Manrope',sans-serif}
.passport-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}
.passport-qr{width:60px;height:60px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:28px}
.passport-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ps-val{font-size:20px;font-weight:700}
.ps-val.green{color:var(--accent-green)}
.ps-val.blue{color:var(--accent-blue)}
.ps-val.orange{color:var(--accent-orange)}
.ps-label{font-size:10px;color:var(--text-secondary);margin-top:3px;line-height:1.3}

/* ─── CHART WRAP ─── */
.chart-wrap{position:relative;height:220px}

/* ─── DASHBOARD SECTIONS ─── */
#tab-dashboard{position:relative;overflow:hidden;background:#0a0a0a;min-height:100vh}
.dash-content{position:relative;z-index:2;padding:28px 32px 60px}
#particleCanvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}

/* Scroll reveal */
.reveal{opacity:1;transform:none;transition:opacity 0.5s ease,transform 0.5s ease}
.reveal.visible{opacity:1;transform:none}

/* ─── GAME LEVELS ─── */
.gl-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}
.gl-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border-radius:18px;min-width:108px;cursor:pointer;transition:transform 0.24s cubic-bezier(0.34,1.56,0.64,1);position:relative;overflow:hidden}
.gl-item:hover{transform:translateY(-5px) scale(1.04)}
.gl-badge{font-size:10px;font-weight:800;letter-spacing:0.08em;padding:3px 11px;border-radius:20px}
.gl-name{font-size:11px;font-weight:600;text-align:center;line-height:1.3}
.gl-check,.gl-lock{width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.gl-pct{font-size:14px;font-weight:700}
.gl-item.done{background:linear-gradient(135deg,rgba(202,253,0,0.13),rgba(202,253,0,0.02));border:1px solid rgba(202,253,0,0.30)}
.gl-item.done .gl-badge{background:rgba(202,253,0,0.20);color:#cafd00}
.gl-item.done .gl-name{color:#e5ff80}
.gl-item.done .gl-check{color:#cafd00}
.gl-item.done::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(202,253,0,0.12),transparent);animation:level-shine 4s ease-in-out infinite}
@keyframes level-shine{0%{left:-60%}40%,100%{left:140%}}
.gl-item.active{background:linear-gradient(135deg,rgba(202,253,0,0.17),rgba(0,245,255,0.06));border:1px solid rgba(202,253,0,0.36);animation:level-glow 2.2s ease-in-out infinite}
@keyframes level-glow{0%,100%{box-shadow:0 0 18px rgba(202,253,0,0.18)}50%{box-shadow:0 0 34px rgba(202,253,0,0.38),0 0 60px rgba(202,253,0,0.12)}}
.gl-item.active .gl-badge{background:rgba(202,253,0,0.25);color:#cafd00}
.gl-item.active .gl-name{color:#e5ff80}
.gl-item.active .gl-pct{color:#cafd00}
.gl-item.warn{background:linear-gradient(135deg,rgba(255,149,0,0.11),rgba(255,149,0,0.02));border:1px solid rgba(255,149,0,0.30)}
.gl-item.warn .gl-badge{background:rgba(255,149,0,0.20);color:var(--accent-orange)}
.gl-item.warn .gl-name{color:#ffbe5c}
.gl-item.warn .gl-pct{color:var(--accent-orange)}
.gl-item.locked{background:rgba(255,255,255,0.012);border:1px solid rgba(255,255,255,0.04);opacity:0.40}
.gl-item.locked .gl-badge{background:rgba(255,255,255,0.05);color:#555}
.gl-item.locked .gl-name,.gl-item.locked .gl-lock{color:#555}

/* ─── INSIGHT CARDS ─── */
.insights-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.insights-scroll::-webkit-scrollbar{display:none}
.insight-card{min-width:240px;max-width:256px;border-radius:22px;padding:22px 20px 18px;scroll-snap-align:start;flex-shrink:0;backdrop-filter:blur(20px);cursor:pointer;transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1);opacity:0;animation:ic-appear 0.5s ease forwards;position:relative;overflow:hidden}
.insight-card:hover{transform:translateY(-8px) scale(1.025)}
.insight-card:nth-child(1){animation-delay:0.08s}
.insight-card:nth-child(2){animation-delay:0.18s}
.insight-card:nth-child(3){animation-delay:0.28s}
.insight-card:nth-child(4){animation-delay:0.38s}
@keyframes ic-appear{to{opacity:1;transform:translateY(0)}}
.insight-card.red{background:linear-gradient(150deg,rgba(255,69,58,0.14),rgba(255,69,58,0.02) 80%);border:1px solid rgba(255,69,58,0.26)}
.insight-card.orange{background:linear-gradient(150deg,rgba(255,149,0,0.14),rgba(255,149,0,0.02) 80%);border:1px solid rgba(255,149,0,0.26)}
.insight-card.lime{background:linear-gradient(150deg,rgba(202,253,0,0.12),rgba(202,253,0,0.02) 80%);border:1px solid rgba(202,253,0,0.22)}
.insight-card.cyan{background:linear-gradient(150deg,rgba(0,245,255,0.12),rgba(0,245,255,0.02) 80%);border:1px solid rgba(0,245,255,0.22)}
.ic-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:20px}
.insight-card.red .ic-icon{background:rgba(255,69,58,0.16)}
.insight-card.orange .ic-icon{background:rgba(255,149,0,0.16)}
.insight-card.lime .ic-icon{background:rgba(202,253,0,0.14)}
.insight-card.cyan .ic-icon{background:rgba(0,245,255,0.12)}
.ic-title{font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;margin-bottom:8px;line-height:1.3}
.ic-text{font-size:12px;color:var(--text-secondary);line-height:1.6}
.ic-tag{font-size:10px;color:var(--text-muted);margin-top:14px;text-transform:uppercase;letter-spacing:0.07em;font-weight:600}

/* ─── KPI STRIP ─── */
.kpi-strip{display:flex;gap:10px;width:100%;flex-wrap:wrap}
.kpi-pill{flex:1;min-width:130px;background:rgba(255,255,255,0.022);border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;gap:5px;backdrop-filter:blur(20px)}
.kpi-dot-row{display:flex;align-items:center;gap:6px}
.kpi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.kpi-dot.lime{background:#cafd00;box-shadow:0 0 7px rgba(202,253,0,0.7)}
.kpi-dot.green{background:#30d158;box-shadow:0 0 7px rgba(48,209,88,0.7)}
.kpi-dot.red{background:var(--accent-red);box-shadow:0 0 7px rgba(255,69,58,0.7)}
.kpi-dot.orange{background:var(--accent-orange);box-shadow:0 0 7px rgba(255,149,0,0.7)}
.kpi-dot.cyan{background:#00f5ff;box-shadow:0 0 7px rgba(0,245,255,0.7)}
.kpi-dot-lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;font-weight:700}
.kpi-val{font-family:'Manrope',sans-serif;font-size:22px;font-weight:800;color:#f0f4ff;line-height:1;letter-spacing:0}
.kpi-lbl{font-size:10px;color:var(--text-secondary)}

/* ─── TEAM ─── */
.team-grid{display:flex;gap:12px;flex-wrap:wrap}
.team-card{flex:1;min-width:152px;background:rgba(255,255,255,0.022);border:1px solid rgba(255,255,255,0.06);border-radius:22px;padding:22px 16px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;backdrop-filter:blur(20px);transition:border-color 0.2s,transform 0.2s}
.team-card:hover{border-color:rgba(202,253,0,0.2);transform:translateY(-3px)}
.team-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;position:relative;flex-shrink:0}
.team-online{position:absolute;bottom:1px;right:1px;width:13px;height:13px;background:#30d158;border-radius:50%;border:2.5px solid #0a0a0a;box-shadow:0 0 8px rgba(48,209,88,0.6)}
.team-name{font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;text-align:center}
.team-role{font-size:11px;color:var(--text-secondary);text-align:center;line-height:1.3}

/* ─── ASK MANAGER ─── */
.ask-manager{display:flex;align-items:center;gap:18px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:22px;padding:18px 22px;width:100%;backdrop-filter:blur(20px);transition:border-color 0.25s}
.ask-manager:hover{border-color:rgba(202,253,0,0.2)}
.am-avatar{width:50px;height:50px;background:#cafd00;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;font-size:22px;box-shadow:0 0 22px rgba(202,253,0,0.3)}
.am-dot{position:absolute;bottom:1px;right:1px;width:13px;height:13px;background:#30d158;border-radius:50%;border:2.5px solid #0a0a0a;box-shadow:0 0 8px rgba(48,209,88,0.6)}
.am-text{flex:1;min-width:0}
.am-name{font-family:'Manrope',sans-serif;font-size:15px;font-weight:700}
.am-role{font-size:11px;color:var(--text-secondary);margin-top:2px}
.am-btn{background:#cafd00;border:none;border-radius:14px;padding:12px 24px;font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;color:#000;cursor:pointer;transition:opacity 0.2s,transform 0.2s;white-space:nowrap;letter-spacing:0.02em;box-shadow:0 4px 20px rgba(202,253,0,0.25)}
.am-btn:hover{opacity:0.88;transform:scale(1.05)}

/* ─── MANAGER MODAL ─── */
.manager-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity 0.22s ease}
.manager-modal.open{opacity:1;pointer-events:auto}
.manager-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.58);backdrop-filter:blur(8px)}
.manager-modal__panel{position:relative;width:min(520px,100%);background:linear-gradient(145deg,#171a20,#0f1115);border:1px solid rgba(255,255,255,0.09);border-radius:28px;padding:18px;box-shadow:0 30px 90px -20px rgba(0,0,0,0.7);transform:translateY(18px) scale(0.98);transition:transform 0.24s cubic-bezier(0.23,1,0.32,1)}
.manager-modal.open .manager-modal__panel{transform:translateY(0) scale(1)}
.manager-modal__top{display:flex;align-items:center;gap:13px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.07)}
.manager-modal__name{font-family:'Manrope',sans-serif;font-size:16px;font-weight:900;color:#fff}
.manager-modal__status{font-size:11px;color:rgba(255,255,255,0.5);margin-top:2px}
.manager-modal__close{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.72);font-size:22px;line-height:1;cursor:pointer;transition:background 0.2s,color 0.2s}
.manager-modal__close:hover{background:rgba(255,255,255,0.08);color:#fff}
.manager-modal__messages{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding:16px 2px 14px}
.manager-msg{max-width:86%;border-radius:18px;padding:12px 14px;font-size:13px;line-height:1.45}
.manager-msg--manager{align-self:flex-start;background:rgba(255,255,255,0.065);color:rgba(255,255,255,0.86);border-top-left-radius:6px}
.manager-msg--user{align-self:flex-end;background:#cafd00;color:#000;border-top-right-radius:6px;font-weight:600}
.manager-chip{align-self:flex-start;border:1px solid rgba(202,253,0,0.22);background:rgba(202,253,0,0.08);color:#cafd00;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer;transition:background 0.2s,transform 0.2s}
.manager-chip:hover{background:rgba(202,253,0,0.14);transform:translateX(2px)}
.manager-modal__composer{display:flex;gap:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.07)}
.manager-modal__composer input{flex:1;min-width:0;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.09);border-radius:14px;padding:12px 14px;color:#fff;font-size:13px;outline:none}
.manager-modal__composer input:focus{border-color:rgba(202,253,0,0.38);box-shadow:0 0 0 3px rgba(202,253,0,0.08)}
.manager-modal__composer button{border:none;border-radius:14px;background:#cafd00;color:#000;padding:0 18px;font-family:'Manrope',sans-serif;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap}

/* ─── MINI STICKY BAR ─── */
.mini-bar{position:sticky;top:14px;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 22px;margin-bottom:26px;background:rgba(18,20,26,0.78);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(255,255,255,0.08);border-radius:999px;box-shadow:0 14px 50px -18px rgba(0,0,0,0.65),0 0 0 1px rgba(255,255,255,0.02) inset}
.mb-item{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.mb-sep{width:1px;height:22px;background:rgba(255,255,255,0.08);flex-shrink:0}
.mb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.mb-dot.lime{background:#cafd00;box-shadow:0 0 10px rgba(202,253,0,0.75)}
.mb-dot.cyan{background:#00f5ff;box-shadow:0 0 10px rgba(0,245,255,0.75)}
.mb-dot.green{background:#30d158;box-shadow:0 0 10px rgba(48,209,88,0.75)}
.mb-dot.orange{background:#ff9500;box-shadow:0 0 10px rgba(255,149,0,0.75)}
.mb-dot.red{background:#ff453a;box-shadow:0 0 10px rgba(255,69,58,0.75);animation:dot-pulse 1.8s infinite}
.mb-col{display:flex;flex-direction:column;line-height:1;min-width:0}
.mb-val{font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;color:#fff;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.mb-unit{font-size:11px;font-weight:600;color:rgba(255,255,255,0.45)}
.mb-lbl{font-size:9.5px;color:rgba(255,255,255,0.4);margin-top:3px;text-transform:uppercase;letter-spacing:0.1em;font-weight:700}

/* ─── SMART HEADLINE ─── */
.smart-headline{font-family:'Manrope',sans-serif;font-size:44px;font-weight:900;line-height:1.12;letter-spacing:0;color:rgba(255,255,255,0.96);margin-bottom:28px;max-width:920px}
.smart-headline .sh-lime{background:linear-gradient(135deg,#cafd00 0%,#00f5ff 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.smart-headline .sh-red{color:#ff6b60}

/* ─── HERO V3 ─── */
.hero-v3{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(300px,1fr);gap:18px;margin-bottom:30px}
@media(max-width:1100px){.hero-v3{grid-template-columns:1fr}}

.rings-card{background:linear-gradient(145deg,#171a20,#0f1115);border:1px solid rgba(255,255,255,0.07);border-radius:32px;padding:26px 28px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.rings-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 85% 25%,rgba(202,253,0,0.08),transparent 60%);pointer-events:none}
.rings-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at 15% 85%,rgba(0,245,255,0.05),transparent 60%);pointer-events:none}
.rings-status{position:relative;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(255,69,58,0.1);border:1px solid rgba(255,69,58,0.28);border-radius:999px;font-size:11px;font-weight:700;color:#ff6b60;align-self:flex-start;cursor:pointer;animation:pulse-red 2s infinite;transition:background 0.2s}
.rings-status:hover{background:rgba(255,69,58,0.18)}
.rs-dot{width:7px;height:7px;background:#ff453a;border-radius:50%;animation:dot-pulse 1.6s infinite}
.rings-wrap{position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:6px auto 6px}
.rings-svg{width:100%;height:100%;display:block}
.rings-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}
.rc-pct{font-family:'Manrope',sans-serif;font-size:78px;font-weight:900;line-height:1;letter-spacing:0;background:linear-gradient(135deg,#cafd00 0%,#00f5ff 60%,#e1b2ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-variant-numeric:tabular-nums;filter:drop-shadow(0 0 24px rgba(202,253,0,0.18))}
.rc-sym{font-size:0.48em;margin-left:2px}
.rc-label{font-size:10.5px;color:rgba(255,255,255,0.42);text-transform:uppercase;letter-spacing:0.18em;margin-top:10px;font-weight:800}
.rc-days{font-size:12px;color:rgba(255,255,255,0.5);margin-top:8px;font-weight:500}
.rings-legend{display:flex;justify-content:center;gap:28px;margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06);position:relative}
.rl-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,0.55)}
.rl-item b{color:#fff;font-family:'Manrope',sans-serif;font-weight:800;font-variant-numeric:tabular-nums;margin-left:2px}
.rl-sw{width:10px;height:10px;border-radius:3px}
.rl-sw.outer{background:linear-gradient(135deg,#cafd00,#00f5ff)}
.rl-sw.inner{background:linear-gradient(135deg,#ff9500,#ffd700)}

/* ─── AI CARD V3 ─── */
.ai-card{background:#fff;color:#0a0a0a;border-radius:32px;padding:24px 24px 22px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.ai-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:10px}
.ai-title{font-family:'Manrope',sans-serif;font-size:16px;font-weight:900;color:#0a0a0a;letter-spacing:0}
.ai-sub{font-size:11px;color:rgba(0,0,0,0.45);margin-top:2px}
.ai-live{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,0.05);padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;color:#0a0a0a;letter-spacing:0.06em;white-space:nowrap}
.ai-live-dot{width:6px;height:6px;border-radius:50%;background:#30d158;animation:dot-pulse 1.6s infinite;box-shadow:0 0 6px rgba(48,209,88,0.8)}
.ai-list{display:flex;flex-direction:column;gap:8px;flex:1}
.ai-item{display:flex;align-items:center;gap:11px;padding:10px 14px;background:#f6f6f7;border-radius:14px;border-left:3px solid;cursor:pointer;transition:transform 0.2s ease,background 0.2s ease}
.ai-item:hover{background:#eeeef1;transform:translateX(3px)}
.ai-item.red{border-left-color:#ff453a}
.ai-item.orange{border-left-color:#ff9500}
.ai-item.lime{border-left-color:#87c100}
.ai-it-icon{font-size:16px;line-height:1;flex-shrink:0}
.ai-it-body{flex:1;min-width:0}
.ai-it-title{font-family:'Manrope',sans-serif;font-size:12.5px;font-weight:800;color:#0a0a0a;line-height:1.3;margin-bottom:2px}
.ai-it-text{font-size:11px;color:rgba(0,0,0,0.5);line-height:1.4}
.ai-it-arrow{color:rgba(0,0,0,0.28);font-size:16px;transition:transform 0.2s,color 0.2s;flex-shrink:0}
.ai-item:hover .ai-it-arrow{transform:translateX(4px);color:#0a0a0a}
.ai-cta{margin-top:14px;display:flex;align-items:center;justify-content:space-between;background:#0a0a0a;color:#cafd00;font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;padding:13px 20px;border:none;border-radius:16px;cursor:pointer;transition:background 0.2s,transform 0.2s}
.ai-cta:hover{background:#1a1a1a;transform:translateY(-2px)}
.ai-cta span{transition:transform 0.2s}
.ai-cta:hover span{transform:translateX(4px)}

/* ─── TILT HOST ─── */
.tilt-host{transform-style:preserve-3d;transition:transform 0.32s cubic-bezier(0.23,1,0.32,1);will-change:transform}

/* ─── SECTION HEADERS ─── */
.section{margin-bottom:28px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}
.sec-title{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;color:rgba(255,255,255,0.55);text-transform:uppercase;letter-spacing:0.14em}
.sec-hint{font-size:11px;color:rgba(255,255,255,0.32);font-weight:500}

/* ─── INVEST CTA V2 ─── */
.invest-cta{position:relative;background:linear-gradient(145deg,#141518,#0d0f12);border:1px solid rgba(202,253,0,0.15);border-radius:32px;padding:32px 34px;margin-bottom:24px;overflow:hidden}
.ic-glow{position:absolute;top:-30%;right:-10%;width:60%;height:170%;background:radial-gradient(ellipse at center,rgba(202,253,0,0.13),transparent 60%);pointer-events:none}
.ic-head{position:relative;margin-bottom:22px}
.ic-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(202,253,0,0.1);border:1px solid rgba(202,253,0,0.22);color:#cafd00;padding:5px 13px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.13em;margin-bottom:14px}
.ic-h3{font-family:'Manrope',sans-serif;font-size:26px;font-weight:900;line-height:1.15;letter-spacing:0;color:#fff}
.ic-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;position:relative}
.ic-stat{text-align:center;padding:18px 12px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.05);border-radius:18px;transition:border-color 0.2s,transform 0.2s}
.ic-stat:hover{border-color:rgba(202,253,0,0.22);transform:translateY(-2px)}
.ics-v{font-family:'Manrope',sans-serif;font-size:28px;font-weight:900;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.ics-v.lime{color:#cafd00}
.ics-v.cyan{color:#00f5ff}
.ics-v.green{color:#30d158}
.ics-l{font-size:10.5px;color:rgba(255,255,255,0.45);margin-top:7px;line-height:1.3}
.ic-btn{position:relative;display:inline-flex;align-items:center;gap:10px;background:#cafd00;color:#000;border:none;padding:14px 26px;border-radius:16px;font-family:'Manrope',sans-serif;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 6px 30px -8px rgba(202,253,0,0.55);transition:transform 0.2s,box-shadow 0.2s;letter-spacing:0.01em}
.ic-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px -6px rgba(202,253,0,0.72)}
.ic-btn span{transition:transform 0.2s;display:inline-block}
.ic-btn:hover span{transform:translateX(5px)}

/* ─── THEME EXTRA VARS ─── */
:root{
  --surface-glass:rgba(18,20,26,0.78);
  --surface-glass-border:rgba(255,255,255,0.08);
  --surface-card-grad:linear-gradient(145deg,#171a20,#0f1115);
  --surface-invert-bg:#ffffff;
  --surface-invert-fg:#0a0a0a;
  --headline-color:rgba(255,255,255,0.96);
  --sidebar-bg:rgba(0,0,0,0.4);
  --sidebar-border:rgba(255,255,255,0.05);
  --header-bg:rgba(10,10,10,0.78);
  --header-border:rgba(255,255,255,0.05);
  --hdr-chip-bg:rgba(255,255,255,0.05);
  --hdr-chip-border:rgba(255,255,255,0.1);
  --hdr-chip-fg:rgba(255,255,255,0.5);
}
html.light{
  --bg-base:#f5f5f7;
  --bg-card:#ffffff;
  --bg-card-2:#f2f3f5;
  --bg-hover:#eef0f3;
  --border:rgba(29,29,31,0.10);
  --border-light:rgba(29,29,31,0.16);
  --text-primary:#1d1d1f;
  --text-secondary:#515761;
  --text-muted:#86868b;
  --accent-blue:#007aff;
  --accent-blue-glow:rgba(0,122,255,0.11);
  --accent-green:#34c759;
  --accent-green-glow:rgba(52,199,89,0.12);
  --accent-orange:#ff9f0a;
  --accent-orange-glow:rgba(255,159,10,0.13);
  --accent-red:#ff3b30;
  --accent-red-glow:rgba(255,59,48,0.11);
  --accent-purple:#af52de;
  --accent-lime:#68cc45;
  --surface-glass:rgba(255,255,255,0.82);
  --surface-glass-border:rgba(29,29,31,0.09);
  --surface-card-grad:linear-gradient(180deg,#ffffff 0%,#fbfbfd 100%);
  --surface-invert-bg:#1d1d1f;
  --surface-invert-fg:#ffffff;
  --headline-color:#1d1d1f;
  --sidebar-bg:rgba(255,255,255,0.78);
  --sidebar-border:rgba(29,29,31,0.10);
  --header-bg:rgba(255,255,255,0.78);
  --header-border:rgba(29,29,31,0.10);
  --hdr-chip-bg:rgba(29,29,31,0.045);
  --hdr-chip-border:rgba(29,29,31,0.09);
  --hdr-chip-fg:#515761;
}

/* ─── MAIN WRAP ─── */
.main-wrap{margin-left:288px;min-height:100vh;width:auto}
@media(max-width:900px){.main-wrap{margin-left:0}}

/* ─── APP HEADER ─── */
.app-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);padding:14px 28px}
.hdr-title{font-size:17px;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-meta{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot-sep{opacity:0.5}
.hdr-risk{background:rgba(255,69,58,0.1);border:1px solid rgba(255,69,58,0.25);padding:6px 14px;font-size:12px;font-weight:600;color:#ff6b60;flex-shrink:0}
.hdr-date{background:var(--hdr-chip-bg);border:1px solid var(--hdr-chip-border);color:var(--hdr-chip-fg);padding:6px 14px;font-size:12px;white-space:nowrap;flex-shrink:0}
.hdr-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#cafd00,#00f5ff);display:flex;align-items:center;justify-content:center;color:#000;font-weight:900;font-size:13px;cursor:pointer;font-family:'Manrope',sans-serif;flex-shrink:0}

/* ─── BURGER ─── */
.burger-btn{display:none;width:40px;height:40px;background:var(--hdr-chip-bg);border:1px solid var(--hdr-chip-border);border-radius:12px;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0}
.burger-btn span{width:18px;height:2px;background:var(--text-primary);border-radius:1px;transition:transform 0.3s,opacity 0.3s}
body.sidebar-open .burger-btn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.sidebar-open .burger-btn span:nth-child(2){opacity:0}
body.sidebar-open .burger-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:900px){.burger-btn{display:flex}}

/* ─── THEME TOGGLE ─── */
.theme-toggle{width:36px;height:36px;border-radius:50%;background:var(--hdr-chip-bg);border:1px solid var(--hdr-chip-border);cursor:pointer;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.2s;overflow:hidden}
.theme-toggle:hover{background:var(--bg-hover);transform:translateY(-2px)}
.th-icon{position:absolute;font-size:16px;line-height:1;transition:opacity 0.3s,transform 0.4s cubic-bezier(0.5,1.4,0.5,1)}
html:not(.light) .th-light{opacity:0;transform:rotate(180deg) scale(0.5)}
html:not(.light) .th-dark{opacity:1;transform:rotate(0) scale(1)}
html.light .th-dark{opacity:0;transform:rotate(-180deg) scale(0.5)}
html.light .th-light{opacity:1;transform:rotate(0) scale(1)}

/* ─── SIDEBAR ─── */
.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);transition:transform 0.32s cubic-bezier(0.4,0,0.2,1),background 0.3s ease}
@media(max-width:900px){.app-sidebar{transform:translateX(-100%);width:280px}body.sidebar-open .app-sidebar{transform:translateX(0);box-shadow:0 30px 60px -10px rgba(0,0,0,0.5)}body.sidebar-open{overflow:hidden}}
#sidebarBackdrop{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:49;opacity:0;pointer-events:none;transition:opacity 0.3s ease;backdrop-filter:blur(4px)}
body.sidebar-open #sidebarBackdrop{opacity:1;pointer-events:auto}
@media(min-width:901px){#sidebarBackdrop{display:none}}

/* ─── SMART HEADLINE COLOR VAR ─── */
.smart-headline{color:var(--headline-color)}

/* ─── DARK THEME OVERRIDES ─── */
html:not(.light) body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",sans-serif;background:var(--bg-base)}
html:not(.light) .font-headline,
html:not(.light) .smart-headline,
html:not(.light) .section-title,
html:not(.light) .sec-title,
html:not(.light) .card-title,
html:not(.light) .kpi-value,
html:not(.light) .hdr-title,
html:not(.light) .passport-title,
html:not(.light) .risk-hero-title,
html:not(.light) .q-hero-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,sans-serif;letter-spacing:0}
html:not(.light) #tab-dashboard{background:#111113}
html:not(.light) .dash-content{background:linear-gradient(180deg,#111113 0%,#171719 58%,#111113 100%)}
html:not(.light) #particleCanvas{opacity:0.22}
html:not(.light) .smart-headline{font-size:40px;font-weight:800;line-height:1.12;max-width:1060px;margin-bottom:28px;color:#f5f5f7}
html:not(.light) .smart-headline .sh-lime{background:linear-gradient(135deg,#30d158 0%,#0a84ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html:not(.light) .smart-headline .sh-red{color:#ff453a}
html:not(.light) .rings-card{background:linear-gradient(180deg,#1c1c1e 0%,#18181a 100%);border-color:var(--border);box-shadow:0 20px 52px -34px rgba(0,0,0,0.9)}
html:not(.light) .rings-card::before{background:radial-gradient(ellipse 70% 60% at 85% 25%,rgba(48,209,88,0.08),transparent 62%)}
html:not(.light) .rings-card::after{background:radial-gradient(ellipse 52% 42% at 15% 88%,rgba(10,132,255,0.08),transparent 65%)}
html:not(.light) .rings-status{background:rgba(255,69,58,0.10);border-color:rgba(255,69,58,0.22);color:#ff6961;box-shadow:none}
html:not(.light) .rc-pct{background:linear-gradient(135deg,#30d158 0%,#64d2ff 55%,#0a84ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:none}
html:not(.light) .rc-label{color:#8e8e93;letter-spacing:0.13em}
html:not(.light) .rc-days{color:#c7c7cc}
html:not(.light) .rings-svg circle[stroke^="rgba(255"]{stroke:#2c2c2e !important}
html:not(.light) .ai-card{background:#f5f5f7;color:#1d1d1f;box-shadow:0 20px 52px -34px rgba(0,0,0,0.9)}
html:not(.light) .ai-title{color:#1d1d1f}
html:not(.light) .ai-sub{color:#6e6e73}
html:not(.light) .ai-live{background:rgba(29,29,31,0.06);color:#1d1d1f}
html:not(.light) .ai-item{background:#ffffff;border-left-width:4px}
html:not(.light) .ai-item:hover{background:#f2f3f5}
html:not(.light) .ai-it-title{color:#1d1d1f}
html:not(.light) .ai-it-text{color:#6e6e73}
html:not(.light) .ai-it-arrow{color:#86868b}
html:not(.light) .ai-item:hover .ai-it-arrow{color:#1d1d1f}
html:not(.light) .ai-cta{background:#0a84ff;color:#fff;box-shadow:0 12px 28px -16px rgba(10,132,255,0.75)}
html:not(.light) .mini-bar{background:rgba(28,28,30,0.84);border-color:var(--surface-glass-border);box-shadow:0 14px 40px -26px rgba(0,0,0,0.9)}
html:not(.light) .mb-val{color:var(--text-primary)}
html:not(.light) .mb-unit,html:not(.light) .mb-lbl{color:var(--text-muted)}
html:not(.light) .sec-title{color:#a1a1a6;font-size:12px;letter-spacing:0.08em}
html:not(.light) .sec-hint{color:#8e8e93}
html:not(.light) .insight-card{background:#1c1c1e;border-color:var(--border);box-shadow:0 12px 34px -26px rgba(0,0,0,0.9)}
html:not(.light) .insight-card.red{box-shadow:inset 0 3px 0 rgba(255,69,58,0.65),0 12px 34px -26px rgba(0,0,0,0.9)}
html:not(.light) .insight-card.orange{box-shadow:inset 0 3px 0 rgba(255,159,10,0.65),0 12px 34px -26px rgba(0,0,0,0.9)}
html:not(.light) .insight-card.lime{box-shadow:inset 0 3px 0 rgba(48,209,88,0.65),0 12px 34px -26px rgba(0,0,0,0.9)}
html:not(.light) .insight-card.cyan{box-shadow:inset 0 3px 0 rgba(10,132,255,0.65),0 12px 34px -26px rgba(0,0,0,0.9)}
html:not(.light) .gl-item{border-radius:20px;box-shadow:none}
html:not(.light) .gl-item.done{background:rgba(48,209,88,0.09);border-color:rgba(48,209,88,0.22)}
html:not(.light) .gl-item.done .gl-badge{background:rgba(48,209,88,0.14);color:#30d158}
html:not(.light) .gl-item.done .gl-name,html:not(.light) .gl-item.done .gl-check{color:#30d158}
html:not(.light) .gl-item.active{background:linear-gradient(135deg,rgba(48,209,88,0.10),rgba(10,132,255,0.10));border-color:rgba(10,132,255,0.26);animation:none}
html:not(.light) .gl-item.active .gl-badge{background:rgba(10,132,255,0.14);color:#64d2ff}
html:not(.light) .gl-item.active .gl-name,html:not(.light) .gl-item.active .gl-pct{color:#64d2ff}
html:not(.light) .gl-item.warn{background:rgba(255,159,10,0.10);border-color:rgba(255,159,10,0.26)}
html:not(.light) .gl-item.warn .gl-badge{background:rgba(255,159,10,0.15);color:#ffd60a}
html:not(.light) .gl-item.warn .gl-name,html:not(.light) .gl-item.warn .gl-pct{color:#ffd60a}
html:not(.light) .gl-item.locked{background:#1c1c1e;border-color:var(--border);opacity:1}
html:not(.light) .gl-item.locked .gl-badge{background:#2c2c2e;color:#8e8e93}
html:not(.light) .gl-item.locked .gl-name,html:not(.light) .gl-item.locked .gl-lock{color:#8e8e93}
html:not(.light) .card,
html:not(.light) .kpi-card,
html:not(.light) .doc-card,
html:not(.light) .xray-section,
html:not(.light) .passport-card,
html:not(.light) .risk-card-v2,
html:not(.light) .team-card,
html:not(.light) .ask-manager{background:#1c1c1e;border-color:var(--border);box-shadow:0 12px 30px -26px rgba(0,0,0,0.9)}
html:not(.light) .section-title{font-size:26px;font-weight:800;color:var(--text-primary);margin-bottom:8px}
html:not(.light) .section-sub{font-size:14px;color:var(--text-secondary);line-height:1.5;max-width:900px}
html:not(.light) .section-sub span{color:#0a84ff}
html:not(.light) .card-title{color:var(--text-primary);font-weight:750}
html:not(.light) .badge{font-size:9px;padding:4px 8px;letter-spacing:0.02em;border-width:1px;line-height:1.1}
html:not(.light) .badge.success{background:rgba(48,209,88,0.12);color:#30d158;border-color:rgba(48,209,88,0.26)}
html:not(.light) .badge.warning{background:rgba(255,159,10,0.14);color:#ffd60a;border-color:rgba(255,159,10,0.28)}
html:not(.light) .badge.danger{background:rgba(255,69,58,0.13);color:#ff6961;border-color:rgba(255,69,58,0.26)}
html:not(.light) .badge.info{background:rgba(10,132,255,0.14);color:#64d2ff;border-color:rgba(10,132,255,0.26)}
html:not(.light) .badge.neutral{background:#2c2c2e;color:#c7c7cc;border-color:var(--border)}
html:not(.light) .progress-fill.lime{background:#30d158;box-shadow:none}
html:not(.light) .progress-fill.blue{background:#0a84ff}
html:not(.light) .progress-fill.orange{background:#ff9f0a}
html:not(.light) .progress-fill.green{background:#30d158}
html:not(.light) .q-hero{background:rgba(48,209,88,0.08);border-color:rgba(48,209,88,0.22)}
html:not(.light) .risk-hero.red{background:rgba(255,69,58,0.10);border-color:rgba(255,69,58,0.26)}
html:not(.light) .risk-hero.red .risk-hero-title{color:#ff6961}
html:not(.light) .risk-hero-badge{background:rgba(255,69,58,0.13);border-color:rgba(255,69,58,0.26);color:#ff6961}
html:not(.light) .invest-cta{background:#1c1c1e;border-color:var(--border);box-shadow:0 22px 58px -34px rgba(0,0,0,0.9)}
html:not(.light) .ic-btn,html:not(.light) .am-btn{background:#0a84ff;color:#fff;box-shadow:0 12px 28px -16px rgba(10,132,255,0.75)}
html:not(.light) .nav-active{background:rgba(10,132,255,0.14) !important;border-color:rgba(10,132,255,0.26) !important;color:#64d2ff !important}
html:not(.light) .app-sidebar .text-\[\#cafd00\],
html:not(.light) .app-sidebar .text-\[\#30d158\]{color:#30d158 !important}
html:not(.light) .app-sidebar .bg-\[\#cafd00\]{background:#0a84ff !important;color:#fff !important}

/* ─── LIGHT THEME OVERRIDES ─── */
html.light body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",sans-serif;background:var(--bg-base)}
html.light .font-headline,
html.light .smart-headline,
html.light .section-title,
html.light .sec-title,
html.light .card-title,
html.light .kpi-value,
html.light .hdr-title,
html.light .passport-title,
html.light .risk-hero-title,
html.light .q-hero-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,sans-serif;letter-spacing:0}
html.light #tab-dashboard{background:var(--bg-base)}
html.light #particleCanvas{opacity:0.16;mix-blend-mode:multiply}
html.light .dash-content{background:linear-gradient(180deg,#f5f5f7 0%,#ffffff 58%,#f5f5f7 100%)}
html.light .smart-headline{font-size:40px;font-weight:800;line-height:1.12;max-width:1060px;margin-bottom:28px;color:#1d1d1f}
html.light .smart-headline .sh-lime{background:linear-gradient(135deg,#34c759 0%,#007aff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html.light .smart-headline .sh-red{color:#ff3b30}
html.light .rings-card{background:var(--surface-card-grad);border-color:var(--border);box-shadow:0 18px 48px -28px rgba(0,0,0,0.28),0 1px 2px rgba(0,0,0,0.04)}
html.light .rings-card::before{background:radial-gradient(ellipse 70% 60% at 85% 25%,rgba(52,199,89,0.08),transparent 62%)}
html.light .rings-card::after{background:radial-gradient(ellipse 52% 42% at 15% 88%,rgba(0,122,255,0.07),transparent 65%)}
html.light .rings-status{background:#fff2f2;border-color:rgba(255,59,48,0.22);color:#d70015;box-shadow:none}
html.light .rc-pct{background:linear-gradient(135deg,#34c759 0%,#00c7be 55%,#007aff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:none}
html.light .rc-label{color:#86868b;letter-spacing:0.13em}
html.light .rc-days{color:#515761}
html.light .rings-legend{border-top-color:var(--border)}
html.light .rl-item{color:var(--text-secondary)}
html.light .rl-item b{color:var(--text-primary)}
html.light #ringOuter{filter:none}
html.light .rings-svg circle[stroke^="rgba(255"]{stroke:#e5e5ea !important}
html.light .ai-card{background:#1d1d1f;color:#fff;box-shadow:0 18px 48px -28px rgba(0,0,0,0.4)}
html.light .ai-title{color:#fff}
html.light .ai-sub{color:rgba(255,255,255,0.62)}
html.light .ai-live{background:rgba(255,255,255,0.10);color:#fff}
html.light .ai-item{background:rgba(255,255,255,0.075);border-left-width:4px}
html.light .ai-item:hover{background:rgba(255,255,255,0.12)}
html.light .ai-it-title{color:#fff}
html.light .ai-it-text{color:rgba(255,255,255,0.64)}
html.light .ai-it-arrow{color:rgba(255,255,255,0.38)}
html.light .ai-item:hover .ai-it-arrow{color:#fff}
html.light .ai-cta{background:#007aff;color:#fff;box-shadow:0 12px 28px -16px rgba(0,122,255,0.7)}
html.light .ai-cta:hover{background:#006ee6}
html.light .mini-bar{background:rgba(255,255,255,0.84);border-color:var(--surface-glass-border);box-shadow:0 14px 40px -26px rgba(0,0,0,0.28),0 1px 0 rgba(255,255,255,0.9) inset}
html.light .mb-val{color:var(--text-primary)}
html.light .mb-unit,html.light .mb-lbl{color:var(--text-muted)}
html.light .mb-sep{background:var(--border)}
html.light .sec-title{color:#6e6e73;font-size:12px;letter-spacing:0.08em}
html.light .sec-hint{color:#86868b}
html.light .insight-card{box-shadow:0 12px 34px -26px rgba(0,0,0,0.35)}
html.light .insight-card.red{background:#fff;border-color:rgba(255,59,48,0.18);box-shadow:inset 0 3px 0 rgba(255,59,48,0.55),0 12px 34px -26px rgba(0,0,0,0.35)}
html.light .insight-card.orange{background:#fff;border-color:rgba(255,159,10,0.22);box-shadow:inset 0 3px 0 rgba(255,159,10,0.58),0 12px 34px -26px rgba(0,0,0,0.35)}
html.light .insight-card.lime{background:#fff;border-color:rgba(52,199,89,0.2);box-shadow:inset 0 3px 0 rgba(52,199,89,0.54),0 12px 34px -26px rgba(0,0,0,0.35)}
html.light .insight-card.cyan{background:#fff;border-color:rgba(0,122,255,0.18);box-shadow:inset 0 3px 0 rgba(0,122,255,0.5),0 12px 34px -26px rgba(0,0,0,0.35)}
html.light .ic-title{color:var(--text-primary)}
html.light .ic-text{color:var(--text-secondary)}
html.light .ic-tag{color:#86868b}
html.light .gl-item{border-radius:20px;box-shadow:none}
html.light .gl-item.done{background:#f0fff4;border-color:rgba(52,199,89,0.22)}
html.light .gl-item.done .gl-badge{background:rgba(52,199,89,0.13);color:#248a3d}
html.light .gl-item.done .gl-name,html.light .gl-item.done .gl-check{color:#248a3d}
html.light .gl-item.active{background:linear-gradient(135deg,#f0fff4,#eef7ff);border-color:rgba(0,122,255,0.2);animation:none;box-shadow:0 18px 55px -34px rgba(0,122,255,0.45)}
html.light .gl-item.active .gl-badge{background:rgba(0,122,255,0.10);color:#007aff}
html.light .gl-item.active .gl-name,html.light .gl-item.active .gl-pct{color:#007aff}
html.light .gl-item.warn{background:#fff8eb;border-color:rgba(255,159,10,0.25)}
html.light .gl-item.warn .gl-badge{background:rgba(255,159,10,0.14);color:#b86200}
html.light .gl-item.warn .gl-name,html.light .gl-item.warn .gl-pct{color:#b86200}
html.light .gl-item.locked{background:#f7f8fa;border-color:rgba(29,29,31,0.08);opacity:1}
html.light .gl-item.locked .gl-badge{background:#ebedf0;color:#86868b}
html.light .gl-item.locked .gl-name,html.light .gl-item.locked .gl-lock{color:#86868b}
html.light .team-card{background:var(--bg-card);border-color:var(--border);box-shadow:0 12px 30px -24px rgba(0,0,0,0.24)}
html.light .team-name{color:var(--text-primary)}
html.light .team-online{border-color:#fff}
html.light .ask-manager{background:var(--bg-card);border-color:var(--border)}
html.light .am-name{color:var(--text-primary)}
html.light .am-dot{border-color:#fff}
html.light .invest-cta{background:#1d1d1f;border-color:rgba(29,29,31,0.12);box-shadow:0 22px 58px -34px rgba(0,0,0,0.45)}
html.light .ic-chip{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);color:#a6e22e}
html.light .ic-btn,html.light .am-btn{background:#007aff;color:#fff;box-shadow:0 12px 28px -16px rgba(0,122,255,0.7)}
html.light .manager-modal__panel{background:#fff;border-color:var(--border);box-shadow:0 30px 90px -26px rgba(10,16,32,0.35)}
html.light .manager-modal__top,html.light .manager-modal__composer{border-color:var(--border)}
html.light .manager-modal__name{color:var(--text-primary)}
html.light .manager-modal__status{color:var(--text-muted)}
html.light .manager-modal__close{background:rgba(10,16,32,0.04);border-color:var(--border);color:var(--text-secondary)}
html.light .manager-msg--manager{background:rgba(10,16,32,0.05);color:var(--text-primary)}
html.light .manager-modal__composer input{background:rgba(10,16,32,0.04);border-color:var(--border);color:var(--text-primary)}
html.light .section-title{font-size:26px;font-weight:800;color:var(--text-primary);margin-bottom:8px}
html.light .section-sub{font-size:14px;color:var(--text-secondary);line-height:1.5;max-width:900px}
html.light .section-sub span{color:#007aff}
html.light .card,
html.light .kpi-card,
html.light .doc-card,
html.light .xray-section,
html.light .passport-card,
html.light .risk-card-v2{background:#fff;border-color:var(--border);box-shadow:0 12px 30px -26px rgba(0,0,0,0.25)}
html.light .card-title{color:var(--text-primary);font-weight:750}
html.light .kpi-label{color:var(--text-muted);letter-spacing:0.04em}
html.light .kpi-card.blue .kpi-value{color:#007aff}
html.light .kpi-card.green .kpi-value{color:#248a3d}
html.light .kpi-card.orange .kpi-value{color:#b86200}
html.light .kpi-card.red .kpi-value{color:#d70015}
html.light .badge{font-size:9px;padding:4px 8px;letter-spacing:0.02em;border-width:1px;line-height:1.1}
html.light .badge.success{background:#eaf8ee;color:#248a3d;border-color:rgba(52,199,89,0.25)}
html.light .badge.warning{background:#fff4df;color:#b86200;border-color:rgba(255,159,10,0.28)}
html.light .badge.danger{background:#fff0ef;color:#d70015;border-color:rgba(255,59,48,0.24)}
html.light .badge.info{background:#eef6ff;color:#005eb8;border-color:rgba(0,122,255,0.22)}
html.light .badge.neutral{background:#f2f3f5;color:#6e6e73;border-color:rgba(29,29,31,0.10)}
html.light .data-table th{color:#86868b;border-bottom-color:rgba(29,29,31,0.12)}
html.light .data-table td{color:var(--text-secondary);border-bottom-color:rgba(29,29,31,0.08)}
html.light .data-table td strong,
html.light .budget-stage-name,
html.light .milestone-title,
html.light .doc-name,
html.light .xray-title{color:var(--text-primary)}
html.light .progress-track{background:#e9ebef}
html.light .progress-fill.green{background:#34c759}
html.light .progress-fill.blue{background:#007aff}
html.light .progress-fill.orange{background:#ff9f0a}
html.light .progress-fill.red{background:#ff3b30}
html.light .progress-fill.lime{background:#34c759;box-shadow:none}
html.light .alert-banner{background:#fff8eb;border-color:rgba(255,159,10,0.25);color:var(--text-secondary)}
html.light .alert-banner strong{color:#b86200}
html.light .q-hero{background:#f0fff4;border-color:rgba(52,199,89,0.22)}
html.light .risk-hero.red{background:#fff2f2;border-color:rgba(255,59,48,0.24)}
html.light .risk-hero.red .risk-hero-title{color:#d70015}
html.light .risk-hero-badge{background:#fff;border-color:rgba(255,59,48,0.22);color:#d70015}
html.light .defect-map{background:#f2f3f5;border-color:var(--border)}
html.light .defect-cell{background:rgba(255,255,255,0.52)}
html.light .passport-card::before{color:rgba(0,122,255,0.05)}
html.light .passport-qr{background:#f2f3f5}
html.light .nav-active{background:rgba(0,122,255,0.10) !important;border-color:rgba(0,122,255,0.22) !important;color:#007aff !important}
html.light .app-sidebar .text-white{color:var(--text-primary) !important}
html.light .app-sidebar .text-white\/5,html.light .app-sidebar .text-white\/10,html.light .app-sidebar .text-white\/25,html.light .app-sidebar .text-white\/30,html.light .app-sidebar .text-white\/40,html.light .app-sidebar .text-white\/50,html.light .app-sidebar .text-white\/60{color:var(--text-muted) !important}
html.light .app-sidebar .bg-white\/\[0\.04\],html.light .app-sidebar .bg-white\/\[0\.08\],html.light .app-sidebar .bg-white\/5,html.light .app-sidebar .bg-white\/10{background:rgba(10,16,32,0.04) !important}
html.light .app-sidebar [class*="border-white"]{border-color:var(--border) !important}
html.light .app-sidebar{box-shadow:14px 0 40px -34px rgba(0,0,0,0.35)}
html.light .app-sidebar .text-\[\#cafd00\],
html.light .app-sidebar .text-\[\#30d158\]{color:#34c759 !important}
html.light .app-sidebar .bg-\[\#cafd00\]{background:#007aff !important;color:#fff !important}
html.light .app-sidebar .bg-\[\#ff9500\]{background:#ff9f0a !important}
html.light .app-sidebar .bg-\[\#ff453a\]{background:#ff3b30 !important}
html.light .nav-btn:not(.nav-active){color:#6e6e73 !important}
html.light .nav-btn:not(.nav-active):hover{background:rgba(29,29,31,0.045) !important;color:var(--text-primary) !important}
html.light .data-table tr:hover td{background:rgba(10,16,32,0.03)}
html.light ::-webkit-scrollbar-thumb{background:rgba(10,16,32,0.14)}
html.light ::-webkit-scrollbar-thumb:hover{background:rgba(10,16,32,0.24)}
html.light .gantt-bar[style*="#333"]{background:rgba(10,16,32,0.12) !important}
html.light .milestone-dot.wait{background:rgba(10,16,32,0.08);border-color:var(--border-light)}
html.light .defect-map{background:#eef1f6}
html.light .defect-cell{background:rgba(10,16,32,0.02)}

/* ─── RESPONSIVE: TABLETS ─── */
@media(max-width:1200px){.kpi-row{grid-template-columns:repeat(2,1fr)}.doc-grid{grid-template-columns:repeat(2,1fr)}.risk-cards-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── RESPONSIVE: iPad / small laptop ─── */
@media(max-width:1100px){.hero-v3{grid-template-columns:1fr}}

/* ─── RESPONSIVE: MOBILE ─── */
@media(max-width:900px){
  .app-header{padding:11px 14px;gap:8px}
  .hdr-title{font-size:14px}
  .hdr-meta{display:none}
  .hdr-risk{padding:5px 10px;font-size:10px;gap:6px}
  .hdr-risk-txt{display:none}
  .hdr-date{display:none}
  .dash-content{padding:16px 14px 40px}
  .mini-bar{padding:8px 14px;gap:12px;border-radius:22px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none;top:8px}
  .mini-bar::-webkit-scrollbar{display:none}
  .mb-sep{display:none}
  .mb-item{flex:0 0 auto;padding-right:4px}
  .mb-val{font-size:15px}
  .smart-headline{font-size:24px;line-height:1.18;margin-bottom:20px}
  .hero-v3{gap:14px;margin-bottom:22px}
  .rings-card,.ai-card{padding:20px 18px;border-radius:24px}
  .rings-wrap{max-width:260px}
  .rc-pct{font-size:58px}
  .invest-cta{padding:22px 20px;border-radius:24px;margin-bottom:20px}
  .ic-h3{font-size:20px}
  .ic-stats{grid-template-columns:1fr;gap:10px}
  .ic-stat{padding:14px 12px}
  .ic-btn{width:100%;justify-content:center}
  .section{margin-bottom:22px}
  .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .team-card{min-width:0;padding:16px 10px 14px;border-radius:18px}
  .team-avatar{width:46px;height:46px;font-size:18px}
  .gl-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .gl-item{min-width:0;padding:12px 6px 10px;border-radius:14px}
  .gl-name{font-size:10px}
  .gl-pct{font-size:12px}
  .insight-card{min-width:220px;max-width:240px;padding:18px 16px 14px;border-radius:18px}
  .ask-manager{padding:14px 16px;gap:12px;border-radius:18px;flex-wrap:wrap}
  .am-btn{padding:10px 18px;font-size:12px}
  .am-avatar{width:44px;height:44px;font-size:18px}
  .am-text{flex:1 1 120px}
  .manager-modal{padding:12px}
  .manager-modal__panel{border-radius:22px;padding:14px}
  .manager-modal__composer{flex-direction:column}
  .manager-modal__composer button{height:42px}
  .tab-panel > div[style*="padding:24px"]{padding:16px 14px !important}
  .section-title{font-size:17px;margin-bottom:4px}
  .section-sub{font-size:11px;margin-bottom:14px;line-height:1.5}
  .kpi-row{grid-template-columns:1fr 1fr !important;gap:10px !important}
  .tab-panel div[style*="grid-template-columns:repeat(4,1fr)"]{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
  .grid-2{grid-template-columns:1fr !important;gap:12px !important}
  .xray-content{grid-template-columns:1fr !important;gap:14px}
  .kpi-card{padding:14px 16px}
  .kpi-value{font-size:22px}
  .card{padding:16px}
  .card-header{flex-wrap:wrap;gap:8px}
  .data-table{font-size:11px}
  .data-table th,.data-table td{padding:8px 6px}
  .budget-stage-header{flex-wrap:wrap;gap:6px}
  .gantt-wrap{min-width:100%;overflow-x:auto}
  .gantt-header,.gantt-row{grid-template-columns:minmax(92px,120px) minmax(260px,1fr) 96px;gap:8px}
  .gantt-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .doc-grid{grid-template-columns:1fr !important;gap:10px}
  .doc-card{padding:14px}
  .risk-cards-grid{grid-template-columns:1fr !important;gap:10px}
  .risk-card-v2{padding:14px}
  .q-hero{flex-direction:column;text-align:center;padding:18px;gap:14px}
  .q-index-wrap{width:80px;height:80px}
  .q-index-wrap svg{width:80px;height:80px}
  .q-hero-title{font-size:15px}
  .q-hero-sub{font-size:12px}
  .risk-hero{flex-direction:column;text-align:center;padding:18px;gap:12px}
  .risk-hero-badge{align-self:center}
  .risk-hero-title{font-size:18px}
  .risk-hero-sub{font-size:13px}
  .autopilot-banner{flex-wrap:wrap;padding:14px;gap:10px}
  .autopilot-pct{margin-left:0;font-size:24px}
  .black-box-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .bbs-val{font-size:20px}
  .passport-stats{grid-template-columns:repeat(2,1fr);gap:10px}
  .xray-section,.shield-banner{padding:16px}
  .shield-banner{flex-direction:column;text-align:center}
  .alert-banner{font-size:12px;padding:10px 12px}
  .defect-map{height:160px}
}

/* ─── RESPONSIVE: iPhone ─── */
@media(max-width:480px){
  .hero-v3{gap:12px}
  .smart-headline{font-size:22px}
  .rc-pct{font-size:54px}
  .rings-wrap{max-width:220px}
  .kpi-row{grid-template-columns:1fr !important}
  .tab-panel div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important}
  .hdr-avatar{width:32px;height:32px;font-size:12px}
  .theme-toggle{width:32px;height:32px}
  .burger-btn{width:36px;height:36px}
  .hdr-risk{padding:4px 8px;min-width:0}
  .gl-row{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}
  .passport-stats{grid-template-columns:1fr}
  .black-box-stats{grid-template-columns:1fr;gap:6px}
  .sidebar-prj,.mx-3{margin:0 10px !important}
  .nav-btn{padding:10px 12px !important}
  .invest-cta{padding:18px 16px}
  .ic-h3{font-size:18px}
  .passport-card{padding:18px}
  .passport-title{font-size:17px}
  .ic-btn{padding:12px;font-size:13px}
}

/* ─── SYSTEM REDESIGN 2026-04-30: neutral shadcn-like theme ─── */
:root {
  --card: #ffffff;
  --ring: #a1a1a1;
  --input: #e5e5e5;
  --muted: #f5f5f5;
  --accent: #f5f5f5;
  --border: #e5e5e5;
  --radius: 0.625rem;
  --chart-1: #91c5ff;
  --chart-2: #3a81f6;
  --chart-3: #2563ef;
  --chart-4: #1a4eda;
  --chart-5: #1f3fad;
  --popover: #ffffff;
  --primary: #171717;
  --sidebar: #fafafa;
  --spacing: 0.25rem;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --secondary: #f5f5f5;
  --background: #ffffff;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --foreground: #0a0a0a;
  --destructive: #e7000b;
  --sidebar-ring: #a1a1a1;
  --sidebar-accent: #f5f5f5;
  --sidebar-border: #e5e5e5;
  --card-foreground: #0a0a0a;
  --sidebar-primary: #171717;
  --muted-foreground: #737373;
  --accent-foreground: #171717;
  --popover-foreground: #0a0a0a;
  --primary-foreground: #fafafa;
  --sidebar-foreground: #0a0a0a;
  --secondary-foreground: #171717;
  --destructive-foreground: #ffffff;
  --sidebar-accent-foreground: #171717;
  --sidebar-primary-foreground: #fafafa;

  --bg-base: var(--background);
  --bg-card: var(--card);
  --bg-card-2: var(--secondary);
  --bg-hover: var(--accent);
  --border-light: #d4d4d4;
  --text-primary: var(--foreground);
  --text-secondary: #525252;
  --text-muted: var(--muted-foreground);
  --accent-blue: var(--chart-2);
  --accent-blue-glow: rgba(58, 129, 246, 0.10);
  --accent-green: #16a34a;
  --accent-green-glow: rgba(22, 163, 74, 0.10);
  --accent-orange: #d97706;
  --accent-orange-glow: rgba(217, 119, 6, 0.10);
  --accent-red: var(--destructive);
  --accent-red-glow: rgba(231, 0, 11, 0.10);
  --accent-purple: var(--chart-4);
  --accent-lime: var(--chart-2);
  --surface-glass: var(--card);
  --surface-glass-border: var(--border);
  --surface-card-grad: var(--card);
  --surface-invert-bg: var(--primary);
  --surface-invert-fg: var(--primary-foreground);
  --headline-color: var(--foreground);
  --sidebar-bg: var(--sidebar);
  --header-bg: rgba(255, 255, 255, 0.92);
  --header-border: var(--border);
  --hdr-chip-bg: var(--secondary);
  --hdr-chip-border: var(--border);
  --hdr-chip-fg: var(--muted-foreground);
  --shadow-card: 0 1px 2px rgba(0,0,0,0.05), 0 10px 28px -24px rgba(0,0,0,0.45);
  --shadow-card-hover: 0 1px 2px rgba(0,0,0,0.06), 0 18px 38px -28px rgba(0,0,0,0.50);
}

html.dark:not(.light),
html:not(.light) {
  --card: #0a0a0a;
  --ring: #525252;
  --input: #262626;
  --muted: #262626;
  --accent: #262626;
  --border: #262626;
  --chart-1: #91c5ff;
  --chart-2: #3a81f6;
  --chart-3: #2563ef;
  --chart-4: #1a4eda;
  --chart-5: #1f3fad;
  --popover: #0a0a0a;
  --primary: #fafafa;
  --sidebar: #0a0a0a;
  --secondary: #262626;
  --background: #0a0a0a;
  --foreground: #fafafa;
  --destructive: #ff4d4f;
  --sidebar-ring: #525252;
  --sidebar-accent: #262626;
  --sidebar-border: #262626;
  --card-foreground: #fafafa;
  --sidebar-primary: #fafafa;
  --muted-foreground: #a1a1a1;
  --accent-foreground: #fafafa;
  --popover-foreground: #fafafa;
  --primary-foreground: #0a0a0a;
  --sidebar-foreground: #fafafa;
  --secondary-foreground: #fafafa;
  --destructive-foreground: #ffffff;
  --sidebar-accent-foreground: #fafafa;
  --sidebar-primary-foreground: #0a0a0a;

  --bg-base: var(--background);
  --bg-card: var(--card);
  --bg-card-2: var(--secondary);
  --bg-hover: var(--accent);
  --border-light: #404040;
  --text-primary: var(--foreground);
  --text-secondary: #d4d4d4;
  --text-muted: var(--muted-foreground);
  --accent-blue: var(--chart-2);
  --accent-blue-glow: rgba(58, 129, 246, 0.18);
  --accent-green: #22c55e;
  --accent-green-glow: rgba(34, 197, 94, 0.14);
  --accent-orange: #f59e0b;
  --accent-orange-glow: rgba(245, 158, 11, 0.14);
  --accent-red: var(--destructive);
  --accent-red-glow: rgba(255, 77, 79, 0.14);
  --accent-purple: var(--chart-4);
  --accent-lime: var(--chart-2);
  --surface-glass: var(--card);
  --surface-glass-border: var(--border);
  --surface-card-grad: var(--card);
  --surface-invert-bg: var(--primary);
  --surface-invert-fg: var(--primary-foreground);
  --headline-color: var(--foreground);
  --sidebar-bg: var(--sidebar);
  --header-bg: rgba(10, 10, 10, 0.92);
  --header-border: var(--border);
  --hdr-chip-bg: var(--secondary);
  --hdr-chip-border: var(--border);
  --hdr-chip-fg: var(--muted-foreground);
  --shadow-card: none;
  --shadow-card-hover: none;
}

html.light {
  color-scheme: light;
}

html.dark:not(.light),
html:not(.light) {
  color-scheme: dark;
}

html,
body {
  font-family: var(--font-sans) !important;
  background: var(--background) !important;
  color: var(--foreground) !important;
  letter-spacing: 0;
}

body {
  line-height: 1.5;
}

#particleCanvas {
  display: none !important;
}

.main-wrap {
  background: var(--background);
}

.app-header {
  background: var(--header-bg) !important;
  border-bottom: 1px solid var(--header-border) !important;
  padding: 14px 28px !important;
  box-shadow: none !important;
}

.hdr-title,
.smart-headline,
.section-title,
.sec-title,
.card-title,
.kpi-value,
.passport-title,
.risk-hero-title,
.q-hero-title {
  font-family: var(--font-sans) !important;
  letter-spacing: 0 !important;
}

.hdr-title {
  color: var(--foreground) !important;
  font-weight: 650 !important;
}

.hdr-meta,
.hdr-date {
  color: var(--muted-foreground) !important;
}

.hdr-risk {
  background: var(--secondary) !important;
  border-color: var(--border) !important;
  color: var(--foreground) !important;
  animation: none !important;
}

.hdr-risk .bg-\[\#ff453a\],
.hdr-risk span:first-child {
  background: var(--destructive) !important;
  animation: none !important;
}

.hdr-avatar {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}

.theme-toggle,
.burger-btn {
  background: var(--secondary) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
}

.app-sidebar {
  background: var(--sidebar) !important;
  border-right: 1px solid var(--sidebar-border) !important;
  color: var(--sidebar-foreground) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

.app-sidebar .border-b,
.app-sidebar .border-t,
.app-sidebar [class*="border-white"] {
  border-color: var(--sidebar-border) !important;
}

.app-sidebar .text-\[\#cafd00\],
.app-sidebar .text-\[\#30d158\] {
  color: var(--sidebar-foreground) !important;
}

.app-sidebar [class*="text-white/"],
.app-sidebar .text-white\/25,
.app-sidebar .text-white\/30,
.app-sidebar .text-white\/40,
.app-sidebar .text-white\/50,
.app-sidebar .text-white\/60 {
  color: var(--muted-foreground) !important;
}

.app-sidebar .text-white {
  color: var(--sidebar-foreground) !important;
}

.app-sidebar .bg-white\/\[0\.04\],
.app-sidebar .bg-white\/\[0\.08\],
.app-sidebar .bg-white\/5,
.app-sidebar .bg-white\/10 {
  background: var(--sidebar-accent) !important;
}

.app-sidebar .bg-\[\#cafd00\],
.app-sidebar .bg-\[\#ff9500\],
.app-sidebar .bg-\[\#ff453a\] {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
}

.app-sidebar .rounded-2xl,
.app-sidebar .rounded-xl {
  border-radius: var(--radius) !important;
}

.brand-logo,
.project-progress-value,
.sidebar-quality-value {
  color: var(--sidebar-foreground) !important;
}

.project-progress-fill {
  background: var(--chart-2) !important;
  box-shadow: none !important;
}

.nav-mini-badge {
  background: var(--secondary) !important;
  color: var(--secondary-foreground) !important;
  border: 1px solid var(--border) !important;
}

.sidebar-primary-btn {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
  border: 1px solid var(--primary) !important;
  border-radius: var(--radius) !important;
}

.hdr-risk-dot {
  background: var(--destructive) !important;
  animation: none !important;
  box-shadow: none !important;
}

.nav-btn {
  border: 1px solid transparent !important;
  border-radius: var(--radius) !important;
  color: var(--muted-foreground) !important;
  background: transparent !important;
  font-weight: 500 !important;
}

.nav-btn:hover {
  background: var(--sidebar-accent) !important;
  color: var(--sidebar-foreground) !important;
}

.nav-active {
  background: var(--sidebar-accent) !important;
  border-color: var(--sidebar-border) !important;
  color: var(--sidebar-foreground) !important;
}

#tab-dashboard,
.dash-content {
  background: var(--background) !important;
}

.dash-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 36px 64px !important;
}

.mini-bar {
  position: static !important;
  width: 100%;
  border-radius: var(--radius) !important;
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 12px 16px !important;
  margin-bottom: 24px !important;
}

.mb-val {
  color: var(--foreground) !important;
  font-weight: 700 !important;
}

.mb-unit,
.mb-lbl,
.mb-sep {
  color: var(--muted-foreground) !important;
}

.mb-dot.lime,
.mb-dot.cyan,
.mb-dot.green,
.mb-dot.orange,
.mb-dot.red,
.rl-sw.outer,
.rl-sw.inner {
  background: var(--chart-2) !important;
  box-shadow: none !important;
}

.mb-dot.orange {
  background: var(--accent-orange) !important;
}

.mb-dot.green {
  background: var(--accent-green) !important;
}

.mb-dot.red {
  background: var(--destructive) !important;
}

.smart-headline {
  max-width: 1180px !important;
  color: var(--foreground) !important;
  font-size: clamp(30px, 4.2vw, 54px) !important;
  font-weight: 720 !important;
  line-height: 1.07 !important;
  margin: 0 0 28px !important;
}

.smart-headline .sh-lime {
  color: var(--chart-2) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.smart-headline .sh-red {
  color: var(--destructive) !important;
}

.hero-v3 {
  grid-template-columns: minmax(420px, 1fr) minmax(360px, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
}

.card,
.kpi-card,
.rings-card,
.ai-card,
.insight-card,
.gl-item,
.team-card,
.ask-manager,
.invest-cta,
.doc-card,
.xray-section,
.passport-card,
.risk-card-v2,
.black-box,
.q-hero,
.risk-hero,
.defect-map,
.manager-modal__panel {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.card:hover,
.kpi-card:hover,
.rings-card:hover,
.ai-card:hover,
.insight-card:hover,
.gl-item:hover,
.team-card:hover,
.ask-manager:hover,
.doc-card:hover,
.risk-card-v2:hover {
  border-color: var(--ring) !important;
  box-shadow: var(--shadow-card-hover) !important;
  transform: none !important;
}

.kpi-card::before,
.rings-card::before,
.rings-card::after,
.invest-cta::before,
.invest-cta::after,
.passport-card::before,
.gl-item.done::after {
  display: none !important;
}

.card-title,
.section-title,
.q-hero-title,
.risk-hero-title,
.passport-title,
.ic-h3,
.ai-title,
.team-name,
.am-name,
.xray-title,
.doc-name,
.milestone-title,
.budget-stage-name {
  color: var(--foreground) !important;
}

.section-title {
  font-size: 24px !important;
  font-weight: 700 !important;
}

.section-sub,
.q-hero-sub,
.risk-hero-sub,
.ic-copy,
.ai-sub,
.ai-it-text,
.ic-text,
.team-role,
.am-role,
.passport-meta,
.defect-caption,
.materials-sub,
.table-context,
.milestone-date,
.budget-stage-amounts,
.kpi-sub,
.kpi-caption {
  color: var(--muted-foreground) !important;
}

.kpi-label,
.sec-title {
  color: var(--muted-foreground) !important;
  letter-spacing: 0.02em !important;
}

.kpi-value,
.kpi-card.blue .kpi-value,
.kpi-card.green .kpi-value,
.kpi-card.orange .kpi-value,
.kpi-card.red .kpi-value {
  color: var(--foreground) !important;
  font-weight: 720 !important;
}

.rings-status,
.ai-live,
.ic-chip,
.rc-status,
.risk-hero-badge {
  background: var(--secondary) !important;
  color: var(--secondary-foreground) !important;
  border: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.rs-dot,
.ai-live-dot {
  background: var(--destructive) !important;
}

.rings-wrap {
  max-width: 360px !important;
}

.rings-svg #ringOuter {
  stroke: var(--chart-2) !important;
  filter: none !important;
}

.rings-svg #ringInner {
  stroke: var(--chart-4) !important;
  filter: none !important;
}

.rings-svg circle:not(#ringOuter):not(#ringInner) {
  stroke: var(--secondary) !important;
}

.rc-pct,
.rc-sym,
.rl-item b {
  color: var(--chart-2) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
}

.rc-label,
.rc-days,
.rl-item {
  color: var(--muted-foreground) !important;
}

.rings-legend {
  border-top: 1px solid var(--border) !important;
}

.ai-item,
.manager-msg--manager,
.passport-qr,
.ps,
.bbs,
.ic-stat,
.defect-plan,
.plan-room,
.manager-modal__composer input {
  background: var(--secondary) !important;
  border-color: var(--border) !important;
  color: var(--foreground) !important;
}

.ai-item {
  border-left: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
}

.ai-item.red,
.ai-item.orange,
.ai-item.lime,
.ai-item.cyan {
  border-left: 3px solid var(--chart-2) !important;
}

.ai-item.red {
  border-left-color: var(--destructive) !important;
}

.ai-item.orange {
  border-left-color: var(--accent-orange) !important;
}

.ai-item.lime {
  border-left-color: var(--accent-green) !important;
}

.ai-it-title,
.ic-title,
.rc-title,
.autopilot-title {
  color: var(--foreground) !important;
}

.ai-it-arrow {
  color: var(--muted-foreground) !important;
}

.ai-cta,
.ic-btn,
.am-btn,
.manager-modal__composer button {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
  border: 1px solid var(--primary) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  font-family: var(--font-sans) !important;
}

.ai-cta:hover,
.ic-btn:hover,
.am-btn:hover,
.manager-modal__composer button:hover {
  opacity: 0.88;
  transform: none !important;
}

.insight-card {
  min-width: 260px !important;
  max-width: 280px !important;
  padding: 20px !important;
}

.insight-card.red,
.insight-card.orange,
.insight-card.lime,
.insight-card.cyan {
  background: var(--card) !important;
  border-color: var(--border) !important;
  box-shadow: var(--shadow-card) !important;
}

.ic-icon {
  background: var(--secondary) !important;
  border: 1px solid var(--border);
}

.gl-row {
  gap: 14px !important;
}

.gl-item {
  background: var(--card) !important;
  border-color: var(--border) !important;
  min-width: 112px !important;
  animation: none !important;
}

.gl-badge {
  background: var(--secondary) !important;
  color: var(--muted-foreground) !important;
}

.gl-item.done .gl-check,
.gl-item.done .gl-name,
.gl-item.done .gl-badge {
  color: var(--accent-green) !important;
}

.gl-item.active .gl-pct,
.gl-item.active .gl-name,
.gl-item.active .gl-badge {
  color: var(--chart-2) !important;
}

.gl-item.warn .gl-pct,
.gl-item.warn .gl-name,
.gl-item.warn .gl-badge {
  color: var(--accent-orange) !important;
}

.gl-item.locked {
  opacity: 1 !important;
}

.gl-item.locked .gl-name,
.gl-item.locked .gl-lock {
  color: var(--muted-foreground) !important;
}

.team-avatar,
.am-avatar {
  background: var(--secondary) !important;
  color: var(--foreground) !important;
  border: 1px solid var(--border) !important;
}

.team-online,
.am-dot {
  background: var(--accent-green) !important;
  border-color: var(--card) !important;
}

.progress-track,
.rc-bar-track {
  background: var(--secondary) !important;
}

.progress-fill.green,
.rc-bar-fill.green {
  background: var(--accent-green) !important;
}

.progress-fill.blue,
.rc-bar-fill.blue {
  background: var(--chart-2) !important;
}

.progress-fill.orange,
.rc-bar-fill.orange {
  background: var(--accent-orange) !important;
}

.progress-fill.red,
.rc-bar-fill.red {
  background: var(--destructive) !important;
}

.progress-fill.gray,
.progress-fill.lime {
  background: var(--chart-2) !important;
  box-shadow: none !important;
}

.badge {
  border-radius: 999px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  font-weight: 650 !important;
  padding: 6px 10px !important;
  text-transform: none !important;
}

.badge.success {
  background: rgba(22, 163, 74, 0.10) !important;
  color: var(--accent-green) !important;
  border-color: rgba(22, 163, 74, 0.25) !important;
}

.badge.warning {
  background: rgba(217, 119, 6, 0.10) !important;
  color: var(--accent-orange) !important;
  border-color: rgba(217, 119, 6, 0.25) !important;
}

.badge.danger {
  background: rgba(231, 0, 11, 0.10) !important;
  color: var(--destructive) !important;
  border-color: rgba(231, 0, 11, 0.25) !important;
}

.badge.info {
  background: rgba(58, 129, 246, 0.10) !important;
  color: var(--chart-2) !important;
  border-color: rgba(58, 129, 246, 0.25) !important;
}

.badge.neutral {
  background: var(--secondary) !important;
  color: var(--muted-foreground) !important;
  border-color: var(--border) !important;
}

.data-table th {
  color: var(--muted-foreground) !important;
  border-bottom-color: var(--border) !important;
  letter-spacing: 0.02em !important;
}

.data-table td {
  color: var(--muted-foreground) !important;
  border-bottom-color: var(--border) !important;
}

.data-table td strong {
  color: var(--foreground) !important;
}

.data-table tr:hover td {
  background: var(--secondary) !important;
}

.alert-banner,
.autopilot-banner,
.shield-banner {
  background: var(--secondary) !important;
  color: var(--foreground) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius) !important;
}

.alert-banner strong {
  color: var(--accent-orange) !important;
}

.q-index-big,
.ps-val.green,
.kpi-card.green .kpi-value {
  color: var(--accent-green) !important;
}

.ps-val.blue {
  color: var(--chart-2) !important;
}

.ps-val.orange {
  color: var(--accent-orange) !important;
}

.risk-hero.red .risk-hero-title,
.autopilot-pct,
.rc-status.taking-action,
.rc-red .rc-title {
  color: var(--destructive) !important;
}

.doc-card:hover {
  background: var(--secondary) !important;
}

.doc-icon {
  background: var(--secondary) !important;
}

.passport-card {
  overflow: hidden;
}

.manager-modal__backdrop {
  background: rgba(0,0,0,0.42) !important;
  backdrop-filter: blur(8px);
}

.manager-modal__top,
.manager-modal__composer {
  border-color: var(--border) !important;
}

.manager-modal__close {
  background: var(--secondary) !important;
  color: var(--muted-foreground) !important;
  border-color: var(--border) !important;
}

.manager-chip {
  background: var(--secondary) !important;
  color: var(--foreground) !important;
  border-color: var(--border) !important;
}

input,
textarea,
select {
  background: var(--card) !important;
  color: var(--foreground) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius) !important;
}

input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--ring) !important;
  box-shadow: 0 0 0 3px rgba(58,129,246,0.12) !important;
}

::-webkit-scrollbar-thumb {
  background: var(--border-light) !important;
}

@media(max-width:1100px) {
  .hero-v3 {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:900px) {
  .app-header {
    padding: 10px 14px !important;
  }

  .dash-content {
    padding: 16px 14px 44px !important;
  }

  .smart-headline {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.12 !important;
  }

  .mini-bar {
    overflow-x: auto !important;
    border-radius: var(--radius) !important;
  }

  .rings-card,
  .ai-card,
  .card,
  .kpi-card,
  .insight-card,
  .invest-cta,
  .ask-manager {
    border-radius: var(--radius) !important;
  }

  .gl-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .insight-card {
    min-width: 230px !important;
  }
}

@media(max-width:480px) {
  .kpi-row,
  .tab-panel div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr !important;
  }

  .gl-row,
  .team-grid {
    grid-template-columns: 1fr !important;
  }
}
