/* ============================================
   吴总年入500W - 科技·大气·简约·奢华
   ============================================ */

/* ===== Reset & Base ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --sidebar-w:260px;
  /* 背景色系 - 深邃暗夜 */
  --bg-page:#0a0e17;
  --bg-page-2:#0d1220;
  --bg-card:rgba(20,26,42,0.6);
  --bg-card-solid:#141a2a;
  --bg-card-hover:rgba(30,38,58,0.8);
  --bg-sidebar:#060912;
  --bg-sidebar-hover:rgba(201,169,110,0.08);
  --bg-sidebar-active:rgba(201,169,110,0.12);
  /* 侧边栏 */
  --bg-sidebar-active-line:#c9a96e;
  /* 文字色系 */
  --text-primary:#f0f2f5;
  --text-secondary:#8892a6;
  --text-tertiary:#5a6478;
  --text-sidebar:#7a8499;
  --text-sidebar-active:#e8c87e;
  /* 边框 */
  --border-color:rgba(255,255,255,0.06);
  --border-light:rgba(255,255,255,0.03);
  --border-gold:rgba(201,169,110,0.2);
  --border-gold-strong:rgba(201,169,110,0.4);
  /* 主色 - 香槟金 */
  --accent:#c9a96e;
  --accent-light:rgba(201,169,110,0.1);
  --accent-glow:rgba(201,169,110,0.3);
  /* 科技蓝 - 辅助 */
  --tech:#4a9eff;
  --tech-light:rgba(74,158,255,0.1);
  /* 状态色 */
  --success:#00d4a3;
  --success-light:rgba(0,212,163,0.1);
  --warning:#ffb960;
  --warning-light:rgba(255,185,96,0.1);
  --danger:#ff5c6c;
  --danger-light:rgba(255,92,108,0.1);
  --purple:#a78bfa;
  --purple-light:rgba(167,139,250,0.1);
  /* 圆角 */
  --radius:16px;
  --radius-sm:12px;
  --radius-xs:6px;
  /* 阴影 */
  --shadow:0 2px 8px rgba(0,0,0,0.3),0 1px 3px rgba(0,0,0,0.2);
  --shadow-lg:0 8px 32px rgba(0,0,0,0.4),0 2px 8px rgba(0,0,0,0.2);
  --shadow-gold:0 4px 20px rgba(201,169,110,0.15);
  /* 过渡 */
  --transition:.25s cubic-bezier(0.4,0,0.2,1);
}

/* ===== AI Manager Decision Cockpit ===== */
.decision-command-center{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.decision-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid rgba(216,180,55,.25);border-radius:16px;background:radial-gradient(circle at 80% 10%,rgba(216,180,55,.16),transparent 36%),linear-gradient(135deg,#121724,#0d111b);box-shadow:0 18px 45px rgba(0,0,0,.22)}.decision-hero h1{font-size:28px;margin:5px 0 8px;color:#f7f8fb}.decision-hero p{color:var(--text-secondary);margin:0;max-width:690px}.decision-eyebrow{font-size:11px;letter-spacing:2px;color:var(--gold,#d8b437);font-weight:800}.decision-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.decision-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.decision-kpi{padding:18px;border-radius:13px;background:var(--bg-card);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.decision-kpi span,.decision-kpi small{color:var(--text-secondary);font-size:12px}.decision-kpi strong{font-size:30px;color:var(--text-primary)}.decision-kpi.danger strong{color:#ff6474}.decision-kpi.warning strong{color:#ffbc61}.decision-kpi.success strong{color:#18d5a6}.decision-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.72fr);gap:18px;align-items:start}.decision-main-column,.decision-side-column{display:flex;flex-direction:column;gap:18px}.decision-panel{margin:0}.decision-subtitle{font-size:12px;color:var(--text-tertiary);margin-top:4px}.decision-signal-list{display:flex;flex-direction:column}.decision-signal{display:grid;grid-template-columns:38px minmax(0,1fr) 130px;gap:14px;align-items:center;padding:16px 2px;border-bottom:1px solid var(--border)}.decision-signal:last-child{border-bottom:0}.decision-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--bg-page);font-weight:800;color:var(--text-secondary)}.decision-signal.critical .decision-rank{background:rgba(255,92,108,.13);color:#ff6474}.decision-signal.warning .decision-rank{background:rgba(255,185,96,.13);color:#ffbc61}.decision-signal-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.decision-signal-title strong{font-size:15px}.decision-level{font-size:10px;padding:3px 7px;border-radius:10px;background:var(--bg-page);color:var(--text-secondary)}.critical .decision-level{background:rgba(255,92,108,.13);color:#ff6474}.warning .decision-level{background:rgba(255,185,96,.13);color:#ffbc61}.good .decision-level{background:rgba(0,212,163,.12);color:#00d4a3}.decision-signal-body p{font-size:12px;color:var(--text-secondary);margin:6px 0}.decision-evidence-row{display:flex;gap:6px;flex-wrap:wrap}.decision-evidence-row span{font-size:10px;color:var(--text-tertiary);background:var(--bg-page);padding:3px 7px;border-radius:8px}.decision-signal-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.decision-signal-meta>strong{font-size:17px}.decision-signal-meta small{color:var(--text-tertiary)}.decision-logic-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.decision-logic-step{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg-page);border-radius:10px;font-size:12px;position:relative}.decision-logic-step b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(216,180,55,.14);color:var(--gold,#d8b437);font-size:11px}.brief-highlight{padding:12px;border-left:3px solid var(--gold,#d8b437);background:rgba(216,180,55,.08);border-radius:6px;margin-bottom:12px;font-weight:700}.manager-brief-card ul{padding-left:18px;margin:10px 0 16px}.manager-brief-card li{margin:8px 0}.manager-brief-card li button{border:0;background:none;color:var(--text-secondary);text-align:left;cursor:pointer;padding:0}.manager-brief-card li button:hover{color:var(--text-primary)}.decision-trust-list{display:flex;flex-direction:column}.decision-trust-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.decision-trust-list>div:last-child{border:0}.decision-trust-list span{color:var(--text-tertiary)}.decision-trust-list b{font-weight:600;text-align:right}.decision-advanced-tools{border:1px solid var(--border);border-radius:13px;background:var(--bg-card);margin:6px 0 28px}.decision-advanced-tools>summary{cursor:pointer;padding:16px 20px;color:var(--text-secondary);font-weight:700}.decision-legacy-content{padding:0 20px 20px}.decision-analysis-summary{padding:12px;background:var(--bg-page);border-radius:10px}.decision-analysis-summary p{margin:8px 0 0}.decision-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.decision-analysis-grid h4,.decision-opposition h4{margin:0 0 10px}.decision-proof,.decision-cause{padding:8px 10px;margin:6px 0;border-radius:8px;background:var(--bg-page);font-size:12px}.decision-proof.muted{color:var(--text-tertiary)}.decision-cause{display:flex;gap:8px}.decision-cause b{color:var(--gold,#d8b437)}.decision-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.decision-plan{position:relative;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--bg-page)}.decision-plan.recommended{border-color:rgba(216,180,55,.65);box-shadow:0 0 0 1px rgba(216,180,55,.15)}.decision-plan h3{margin:3px 0 8px}.decision-plan p{font-size:12px;color:var(--text-secondary);min-height:52px}.decision-plan dl{margin:10px 0}.decision-plan dl>div{display:flex;justify-content:space-between;padding:5px 0;font-size:11px;border-bottom:1px solid var(--border)}.decision-plan dt{color:var(--text-tertiary)}.decision-plan dd{margin:0;font-weight:700}.plan-recommend{position:absolute;right:10px;top:10px;font-size:9px;padding:3px 6px;background:var(--gold,#d8b437);color:#14120a;border-radius:8px;font-weight:800}.plan-worst{font-size:10px;color:#ff8b97;padding:8px;background:rgba(255,92,108,.08);border-radius:7px;margin:10px 0;min-height:48px}.plan-worst b{display:block;margin-bottom:3px}.decision-boundary{font-size:11px;color:var(--text-tertiary);padding:10px;margin-top:14px;border:1px dashed var(--border);border-radius:8px}.decision-ai-loading{padding:22px;text-align:center;color:var(--text-secondary)}
@media(max-width:1050px){.decision-kpis{grid-template-columns:repeat(2,1fr)}.decision-layout{grid-template-columns:1fr}.decision-side-column{display:grid;grid-template-columns:1fr 1fr}.decision-plan-grid{grid-template-columns:1fr}.decision-logic-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.decision-hero{align-items:flex-start;flex-direction:column;padding:20px}.decision-kpis{grid-template-columns:1fr 1fr}.decision-signal{grid-template-columns:30px 1fr}.decision-signal-meta{grid-column:2;align-items:flex-start;text-align:left}.decision-side-column{display:flex}.decision-analysis-grid{grid-template-columns:1fr}}

body{
  font-family:"Microsoft YaHei UI","PingFang SC","HarmonyOS Sans SC","Segoe UI",sans-serif;
  background:var(--bg-page);
  color:var(--text-primary);
  font-size:16px;
  line-height:1.68;
  overflow-x:hidden;
}
body::before{
  content:'';position:fixed;top:0;left:0;right:0;bottom:0;
  background:
    radial-gradient(ellipse at top left,rgba(201,169,110,0.04),transparent 50%),
    radial-gradient(ellipse at bottom right,rgba(74,158,255,0.03),transparent 50%);
  pointer-events:none;z-index:0;
}
a{color:var(--accent);text-decoration:none}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:rgba(201,169,110,0.2);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(201,169,110,0.4)}
::-webkit-scrollbar-track{background:transparent}

/* ===== Layout ===== */
#app{display:flex;min-height:100vh;position:relative;z-index:1}
#sidebar{
  width:var(--sidebar-w);
  background:var(--bg-sidebar);
  position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:100;
  border-right:1px solid var(--border-color);
}
#sidebar::after{
  content:'';position:absolute;top:0;right:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(201,169,110,0.15) 30%,rgba(201,169,110,0.15) 70%,transparent);
}
#main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}

/* ===== Sidebar ===== */
.sidebar-logo{
  padding:28px 24px 20px;font-size:17px;font-weight:700;
  color:#fff;display:flex;align-items:center;gap:10px;
  letter-spacing:0.5px;
}
.sidebar-logo .logo-icon{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,#c9a96e,#e8c87e);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;box-shadow:0 0 20px rgba(201,169,110,0.3);
}
.sidebar-logo span{color:var(--accent);font-weight:800}
.sidebar-section{padding:4px 0}
.sidebar-section-title{
  padding:10px 24px 6px;font-size:10px;color:var(--text-tertiary);
  text-transform:uppercase;letter-spacing:1.5px;font-weight:600;
}
.sidebar-item{
  display:flex;align-items:center;gap:12px;padding:11px 24px;
  color:var(--text-sidebar);cursor:pointer;font-size:15px;
  transition:var(--transition);border-left:2px solid transparent;
  position:relative;
}
.sidebar-item:hover{background:var(--bg-sidebar-hover);color:#fff}
.sidebar-item.active{
  background:var(--bg-sidebar-active);
  color:var(--text-sidebar-active);
  border-left-color:var(--bg-sidebar-active-line);
}
.sidebar-item.active::after{
  content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:3px;height:60%;border-radius:2px;
  background:var(--accent);box-shadow:0 0 8px var(--accent-glow);
}
.sidebar-item .icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:9px;border:1px solid rgba(201,169,110,.3);background:linear-gradient(145deg,rgba(255,239,190,.24),rgba(201,169,110,.04) 38%,rgba(7,10,17,.92) 72%);box-shadow:inset 1px 1px 1px rgba(255,242,199,.25),inset -2px -3px 7px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);font-family:"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;font-weight:700;color:var(--accent);text-shadow:0 0 12px rgba(201,169,110,.45)}
.sidebar-item.active .icon{border-color:rgba(232,200,126,.7);background:radial-gradient(circle at 32% 24%,rgba(255,244,204,.54),rgba(201,169,110,.25) 33%,rgba(9,12,18,.94) 76%);box-shadow:inset 1px 1px 1px rgba(255,250,222,.45),0 0 15px rgba(201,169,110,.25)}
.sidebar-item .badge{
  margin-left:auto;background:var(--danger);color:#fff;
  font-size:10px;padding:1px 7px;border-radius:10px;font-weight:600;
  box-shadow:0 0 8px rgba(255,92,108,0.3);
}
.attention-list{display:flex;flex-direction:column;gap:12px}.attention-card{border-left:3px solid var(--border-gold)}.attention-card.attention-critical{border-left-color:var(--danger)}.attention-card.attention-high{border-left-color:var(--warning)}.attention-card.attention-medium{border-left-color:var(--accent)}.attention-recommendation{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(201,169,110,.07);border:1px solid rgba(201,169,110,.13);font-size:13px;color:var(--text-secondary)}.upload-security-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin-bottom:16px;border:1px solid rgba(201,169,110,.25);border-radius:var(--radius-sm);background:rgba(201,169,110,.07);font-size:12px;color:var(--text-secondary)}.upload-security-note strong{color:var(--accent);letter-spacing:.06em}
.task-filter-grid{display:grid;grid-template-columns:1.6fr repeat(5,minmax(110px,1fr));gap:10px;align-items:center}@media(max-width:1100px){.task-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.task-filter-grid{grid-template-columns:1fr}}
.saved-view-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.saved-view-select{min-width:180px;max-width:260px}@media(max-width:680px){.saved-view-controls>*{width:100%}.saved-view-select{max-width:none}}
.readiness-list{display:grid;gap:8px}.readiness-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:rgba(255,255,255,.02)}

/* ===== Topbar ===== */
#topbar{
  background:rgba(10,14,23,0.8);backdrop-filter:blur(20px);
  height:64px;display:flex;align-items:center;padding:0 28px;gap:16px;
  border-bottom:1px solid var(--border-color);
  position:sticky;top:0;z-index:50;
}
.topbar-search{flex:1;max-width:420px;position:relative}
.topbar-search input{
  width:100%;padding:9px 14px 9px 40px;
  border:1px solid var(--border-color);border-radius:var(--radius-sm);
  font-size:14px;background:rgba(255,255,255,0.03);color:var(--text-primary);
  transition:var(--transition);
}
.topbar-search input::placeholder{color:var(--text-tertiary)}
.topbar-search input:focus{
  outline:none;border-color:var(--border-gold-strong);
  background:rgba(255,255,255,0.05);
  box-shadow:0 0 0 3px rgba(201,169,110,0.08);
}
.topbar-search .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:13px}
.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.topbar-btn{
  width:38px;height:38px;border:none;background:rgba(255,255,255,0.03);
  border-radius:var(--radius-sm);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-secondary);transition:var(--transition);position:relative;
  font-size:15px;
}
.topbar-btn:hover{background:rgba(201,169,110,0.08);color:var(--accent)}
.topbar-btn .dot{position:absolute;top:9px;right:9px;width:7px;height:7px;background:var(--danger);border-radius:50%;box-shadow:0 0 6px var(--danger)}.notification-count{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--danger);color:#fff;font-size:10px;line-height:17px;font-weight:700;box-shadow:0 0 8px rgba(255,83,105,.45)}
.topbar-date{font-size:12px;color:var(--text-tertiary);padding:0 8px;letter-spacing:0.3px}
.topbar-user{
  display:flex;align-items:center;gap:10px;padding:5px 14px;
  border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);
  border:1px solid transparent;
}
.topbar-user:hover{background:rgba(201,169,110,0.06);border-color:var(--border-gold)}
.topbar-user .avatar{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,#c9a96e,#e8c87e);
  display:flex;align-items:center;justify-content:center;
  color:#0a0e17;font-size:13px;font-weight:700;
  box-shadow:0 0 12px rgba(201,169,110,0.2);
}
.topbar-user .name{font-size:13px;font-weight:500;color:var(--text-primary)}

/* ===== Content ===== */
#content{padding:28px;flex:1;position:relative;z-index:1}
.page-title{font-size:28px;font-weight:800;margin-bottom:5px;letter-spacing:.4px;line-height:1.32}
.page-desc{font-size:14px;color:var(--text-secondary);margin-bottom:24px}

/* ===== Grid ===== */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}

/* ===== Cards - Glass Morphism ===== */
.card{
  background:var(--bg-card);
  backdrop-filter:blur(12px);
  border:1px solid var(--border-color);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
  transition:var(--transition);
}
.card:hover{border-color:rgba(255,255,255,0.1)}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-title{font-size:17px;font-weight:700;letter-spacing:.2px}
.card-link{font-size:13px;color:var(--accent);cursor:pointer;transition:var(--transition)}
.card-link:hover{color:var(--text-sidebar-active)}

/* ===== KPI Cards ===== */
.kpi-card{
  background:var(--bg-card);
  backdrop-filter:blur(12px);
  border:1px solid var(--border-color);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
  transition:var(--transition);
}
.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,169,110,0.3),transparent);
}
.kpi-card.clickable{cursor:pointer}
.kpi-card.clickable:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg),var(--shadow-gold);
  border-color:var(--border-gold);
}
.kpi-card .kpi-label{font-size:13px;color:var(--text-secondary);margin-bottom:10px;letter-spacing:.3px}
.kpi-card .kpi-value{font-size:30px;font-weight:800;letter-spacing:-.5px;color:#fff}
.kpi-card .kpi-change{font-size:12px;margin-top:8px;display:flex;align-items:center;gap:4px}
.kpi-change.up{color:var(--success)}
.kpi-change.down{color:var(--danger)}
.kpi-card .kpi-icon{
  position:absolute;top:18px;right:18px;width:42px;height:42px;
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.kpi-icon.blue{background:var(--tech-light);color:var(--tech)}
.kpi-icon.green{background:var(--success-light);color:var(--success)}
.kpi-icon.amber{background:var(--warning-light);color:var(--warning)}
.kpi-icon.purple{background:var(--purple-light);color:var(--purple)}
.kpi-icon.red{background:var(--danger-light);color:var(--danger)}
.kpi-icon.gold{background:var(--accent-light);color:var(--accent)}

/* ===== Chart Container ===== */
.chart-wrap{position:relative;height:240px}
.chart-wrap-sm{position:relative;height:180px}

/* ===== Tables ===== */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{
  text-align:left;padding:12px 14px;font-weight:600;
  color:var(--text-secondary);
  border-bottom:1px solid var(--border-color);
  white-space:nowrap;letter-spacing:0.2px;
}
tbody td{padding:12px 14px;border-bottom:1px solid var(--border-light)}
tbody tr{transition:var(--transition)}
tbody tr:hover{background:rgba(201,169,110,0.04)}
tbody tr:last-child td{border-bottom:none}

/* ===== Badges ===== */
.badge{
  display:inline-flex;align-items:center;padding:2px 9px;
  border-radius:4px;font-size:11px;font-weight:600;letter-spacing:0.2px;
}
.badge-blue{background:var(--tech-light);color:var(--tech)}
.badge-green{background:var(--success-light);color:var(--success)}
.badge-amber{background:var(--warning-light);color:var(--warning)}
.badge-red{background:var(--danger-light);color:var(--danger)}
.badge-purple{background:var(--purple-light);color:var(--purple)}
.badge-gray{background:rgba(255,255,255,0.05);color:var(--text-secondary)}
.badge-gold{background:var(--accent-light);color:var(--accent)}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:6px;padding:9px 18px;
  border:1px solid var(--border-color);border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.03);color:var(--text-primary);
  font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);
  letter-spacing:0.2px;
}
.btn:hover{border-color:var(--border-gold);color:var(--accent);background:rgba(201,169,110,0.05)}
.btn-primary{
  background:linear-gradient(135deg,#c9a96e,#d4b87e);
  color:#0a0e17;border-color:transparent;font-weight:600;
  box-shadow:0 0 16px rgba(201,169,110,0.2);
}
.btn-primary:hover{
  background:linear-gradient(135deg,#d4b87e,#e8c87e);
  color:#0a0e17;box-shadow:0 0 24px rgba(201,169,110,0.35);
  transform:translateY(-1px);
}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-danger{color:var(--danger);border-color:rgba(255,92,108,0.3)}
.btn-danger:hover{background:rgba(255,92,108,0.1);color:var(--danger);border-color:var(--danger)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}
.btn-ghost:hover{color:var(--accent);background:rgba(201,169,110,0.05)}

/* ===== Forms ===== */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:600;letter-spacing:.2px}
.form-input,.form-select,.form-textarea{
  width:100%;padding:10px 14px;
  border:1px solid var(--border-color);border-radius:var(--radius-sm);
  font-size:14px;font-family:inherit;
  background:rgba(255,255,255,0.03);color:var(--text-primary);
  transition:var(--transition);
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--border-gold-strong);
  background:rgba(255,255,255,0.05);
  box-shadow:0 0 0 3px rgba(201,169,110,0.08);
}
.form-select option{background:var(--bg-card-solid);color:var(--text-primary)}
.form-textarea{resize:vertical;min-height:60px}
.form-row{display:flex;gap:12px}
.form-row .form-group{flex:1}

/* ===== Kanban ===== */
.kanban{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}
.kanban-col{
  flex:1;min-width:280px;
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border-color);
  border-radius:var(--radius);padding:14px;
}
.kanban-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 4px}
.kanban-col-title{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--text-primary)}
.kanban-col-count{font-size:11px;color:var(--text-secondary);background:rgba(255,255,255,0.05);padding:2px 9px;border-radius:10px}
.kanban-card{
  background:var(--bg-card-solid);
  border:1px solid var(--border-color);
  border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;
  cursor:pointer;transition:var(--transition);
}
.kanban-card:hover{
  border-color:var(--border-gold);
  box-shadow:var(--shadow);
  transform:translateY(-1px);
}
.kanban-card-title{font-size:13px;font-weight:500;margin-bottom:8px;color:var(--text-primary)}
.kanban-card-meta{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ===== Progress ===== */
.progress{height:5px;background:rgba(255,255,255,0.05);border-radius:3px;overflow:hidden}
.progress-bar{height:100%;border-radius:3px;transition:width .3s ease}
.progress-bar.blue{background:linear-gradient(90deg,#4a9eff,#2d7ff9)}
.progress-bar.green{background:linear-gradient(90deg,#00d4a3,#00b890)}
.progress-bar.amber{background:linear-gradient(90deg,#ffb960,#ffa040)}
.progress-bar.red{background:linear-gradient(90deg,#ff5c6c,#e04050)}
.progress-bar.gold{background:linear-gradient(90deg,#c9a96e,#e8c87e)}

/* ===== Timeline ===== */
.timeline{position:relative;padding-left:26px}
.timeline::before{content:'';position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--border-color)}
.timeline-item{position:relative;padding-bottom:18px}
.timeline-item::before{
  content:'';position:absolute;left:-23px;top:4px;width:10px;height:10px;
  border-radius:50%;background:var(--accent);
  border:2px solid var(--bg-page);box-shadow:0 0 0 2px var(--accent);
}
.timeline-item.success::before{background:var(--success);box-shadow:0 0 0 2px var(--success)}
.timeline-item.warning::before{background:var(--warning);box-shadow:0 0 0 2px var(--warning)}
.timeline-item.danger::before{background:var(--danger);box-shadow:0 0 0 2px var(--danger)}
.timeline-time{font-size:11px;color:var(--text-tertiary)}
.timeline-title{font-size:13px;font-weight:500;margin:3px 0}
.timeline-desc{font-size:12px;color:var(--text-secondary)}

/* ===== Modal ===== */
.modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);
  z-index:200;display:flex;align-items:center;justify-content:center;
}
.modal-box{
  background:var(--bg-card-solid);
  border:1px solid var(--border-color);
  border-radius:var(--radius);
  width:540px;max-width:90vw;max-height:85vh;overflow-y:auto;
  box-shadow:0 24px 80px rgba(0,0,0,0.5);
}
.modal-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,169,110,0.4),transparent);
}
.modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--border-color);
}
.modal-title{font-size:16px;font-weight:600;letter-spacing:0.3px}
.modal-close{
  width:30px;height:30px;border:none;background:transparent;
  font-size:20px;cursor:pointer;color:var(--text-secondary);
  border-radius:6px;transition:var(--transition);
}
.modal-close:hover{background:rgba(255,255,255,0.05);color:var(--text-primary)}
.modal-body{padding:22px}
.modal-footer{
  display:flex;justify-content:flex-end;gap:10px;
  padding:14px 22px;border-top:1px solid var(--border-color);
}

/* ===== Toast ===== */
.toast-container{position:fixed;top:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px}
.toast{
  background:var(--bg-card-solid);
  border:1px solid var(--border-color);
  border-radius:var(--radius-sm);
  padding:12px 18px;
  box-shadow:var(--shadow-lg);
  display:flex;align-items:center;gap:10px;font-size:13px;
  animation:slideIn .3s cubic-bezier(0.4,0,0.2,1);
  min-width:260px;border-left:3px solid var(--accent);
}
.toast.success{border-left-color:var(--success)}
.toast.error{border-left-color:var(--danger)}
.toast.warning{border-left-color:var(--warning)}
@keyframes slideIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ===== Misc ===== */
.empty-state{text-align:center;padding:56px 20px;color:var(--text-tertiary)}
.empty-state .icon{font-size:44px;margin-bottom:14px;opacity:0.5}
.flex{display:flex}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.flex-center{display:flex;align-items:center;gap:8px}
.gap-8{gap:8px}
.gap-12{gap:12px}
.gap-16{gap:16px}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mb-8{margin-bottom:8px}
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.text-sm{font-size:12px}
.text-secondary{color:var(--text-secondary)}
.text-tertiary{color:var(--text-tertiary)}
.text-success{color:var(--success)}
.text-danger{color:var(--danger)}
.text-warning{color:var(--warning)}
.text-amber{color:var(--warning)}
.text-right{text-align:right}
.text-center{text-align:center}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.w-full{width:100%}
.cursor-pointer{cursor:pointer}
.divider{height:1px;background:var(--border-color);margin:18px 0}
.tag{display:inline-block;padding:2px 9px;border-radius:4px;font-size:11px;background:rgba(255,255,255,0.05);color:var(--text-secondary)}
.sticky-table thead{position:sticky;top:0;background:var(--bg-card-solid);z-index:5}

/* ===== CRM Filter Bar ===== */
.crm-filter-bar{padding:14px 0;border-bottom:1px solid var(--border-light);margin-bottom:14px}
.crm-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crm-filter-search{flex:1;min-width:200px;max-width:340px;padding:8px 14px}
.crm-filter-select{width:auto;min-width:120px;padding:8px 12px;font-size:12px}
.crm-clear-btn{white-space:nowrap}
.crm-filter-count{font-size:12px;color:var(--text-secondary);margin-top:8px}

/* ===== Project Filter Bar ===== */
.project-filter-bar{
  display:flex;align-items:center;gap:12px;
  padding:12px 18px;
  background:rgba(201,169,110,0.04);
  border-radius:var(--radius-sm);
  margin-bottom:20px;
  border:1px solid var(--border-gold);
}
.project-filter-bar .filter-label{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;letter-spacing:0.3px}
.project-filter-select{
  width:auto;min-width:180px;padding:8px 14px;font-size:13px;
  border-color:var(--border-gold);background:rgba(255,255,255,0.03);color:var(--text-primary);
}
.project-filter-select:focus{border-color:var(--accent)}
.project-active-tag{cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 12px;font-size:12px;font-weight:600;transition:var(--transition)}
.project-active-tag:hover{opacity:0.8}
.project-filter-bar .filter-count{font-size:12px;color:var(--text-secondary);margin-left:auto}

/* ===== Login Page ===== */
.login-page{
  position:fixed;top:0;left:0;right:0;bottom:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-page);z-index:999;
}
.login-page::before{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background:
    radial-gradient(ellipse at 30% 20%,rgba(201,169,110,0.06),transparent 50%),
    radial-gradient(ellipse at 70% 80%,rgba(74,158,255,0.04),transparent 50%);
  pointer-events:none;
}
.login-box{
  position:relative;width:420px;max-width:90vw;
  background:var(--bg-card-solid);
  border:1px solid var(--border-color);
  border-radius:18px;padding:44px 40px;
  box-shadow:0 24px 80px rgba(0,0,0,0.5);
}
.login-box::before{
  content:'';position:absolute;top:0;left:20%;right:20%;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
}
.login-logo{
  text-align:center;margin-bottom:32px;
}
.login-logo .logo-icon{
  width:56px;height:56px;border-radius:16px;margin:0 auto 16px;
  background:linear-gradient(135deg,#c9a96e,#e8c87e);
  display:flex;align-items:center;justify-content:center;
  font-size:28px;box-shadow:0 0 30px rgba(201,169,110,0.3);
}
.login-logo h1{font-size:22px;font-weight:700;color:#fff;letter-spacing:0.5px}
.login-logo p{font-size:13px;color:var(--text-secondary);margin-top:6px}
.login-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:1px solid var(--border-color)}
.login-tab{
  flex:1;padding:10px;text-align:center;font-size:14px;font-weight:500;
  color:var(--text-secondary);cursor:pointer;transition:var(--transition);
  border-bottom:2px solid transparent;
}
.login-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.login-form .form-input{padding:12px 16px;font-size:14px}
.login-btn{
  width:100%;padding:13px;font-size:15px;font-weight:600;
  background:linear-gradient(135deg,#c9a96e,#e8c87e);
  color:#0a0e17;border:none;border-radius:var(--radius-sm);
  cursor:pointer;transition:var(--transition);
  box-shadow:0 0 20px rgba(201,169,110,0.2);letter-spacing:0.5px;
}
.login-btn:hover{box-shadow:0 0 32px rgba(201,169,110,0.35);transform:translateY(-1px)}
.login-btn:disabled{opacity:0.5;cursor:not-allowed}
.login-error{color:var(--danger);font-size:12px;margin-top:8px;text-align:center}
.login-hint{font-size:12px;color:var(--text-tertiary);text-align:center;margin-top:20px;line-height:1.8}
.login-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-tertiary);font-size:12px}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border-color)}
.login-quick-btn{
  width:100%;padding:11px;font-size:13px;
  background:rgba(255,255,255,0.03);border:1px solid var(--border-color);
  color:var(--text-secondary);border-radius:var(--radius-sm);
  cursor:pointer;transition:var(--transition);
}
.login-quick-btn:hover{border-color:var(--border-gold);color:var(--accent)}

/* ===== Sync Status ===== */
.sync-status{
  display:flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:20px;
  font-size:11px;font-weight:500;
  background:rgba(0,212,163,0.08);color:var(--success);
  border:1px solid rgba(0,212,163,0.15);
}
.sync-status.offline{
  background:rgba(255,185,96,0.08);color:var(--warning);
  border-color:rgba(255,185,96,0.15);
}
.sync-status .dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}

/* ===== AI Assistant Panel ===== */
#ai-float-btn{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;cursor:pointer;z-index:9998;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold),#D4A017);box-shadow:0 4px 20px rgba(212,160,23,0.4);transition:all .3s}
#ai-float-btn:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(212,160,23,0.6)}
#ai-float-btn.hidden{transform:scale(0);opacity:0;pointer-events:none}
.ai-float-icon{font-size:18px;font-weight:700;color:#1a1a2e;font-family:system-ui}
.ai-float-icon::after{content:'';position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--success);border:2px solid #1a1a2e}

.ai-panel{position:fixed;right:24px;bottom:24px;width:460px;max-width:calc(100vw - 48px);height:600px;max-height:calc(100vh - 48px);
  background:rgba(26,26,46,0.98);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;
  display:flex;flex-direction:column;z-index:9999;transform:translateY(20px) scale(0.95);opacity:0;pointer-events:none;transition:all .3s;
  box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.ai-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}

.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;
  border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(212,160,23,0.08),transparent)}
.ai-panel-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--gold)}
.ai-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;
  background:linear-gradient(135deg,var(--gold),#D4A017);color:#1a1a2e;font-size:12px;font-weight:700}
.ai-panel-actions{display:flex;gap:4px}
.ai-panel-actions button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 8px;border-radius:6px;font-size:13px;transition:all .2s}
.ai-panel-actions button:hover{background:rgba(255,255,255,0.05);color:var(--text)}
.ai-panel-close{font-size:20px !important}

.ai-quick-actions{display:flex;gap:6px;padding:8px 12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.ai-quick-btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;
  background:rgba(212,160,23,0.08);border:1px solid rgba(212,160,23,0.2);color:var(--gold)}
.ai-quick-btn:hover{background:rgba(212,160,23,0.15);transform:translateY(-1px)}

.ai-panel-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.ai-panel-body::-webkit-scrollbar{width:4px}
.ai-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}

.ai-welcome{text-align:center;padding:32px 16px;color:var(--text-secondary)}
.ai-welcome-icon{width:48px;height:48px;border-radius:12px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold),#D4A017);color:#1a1a2e;font-size:18px;font-weight:700}
.ai-welcome p{margin:4px 0;font-size:13px}

.ai-msg{display:flex;flex-direction:column;max-width:90%;animation:ai-msg-in .3s ease}
.ai-msg-user{align-self:flex-end;align-items:flex-end}
.ai-msg-assistant{align-self:flex-start;align-items:flex-start}
@keyframes ai-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.ai-msg-content{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;word-break:break-word}
.ai-msg-user .ai-msg-content{background:linear-gradient(135deg,var(--gold),#D4A017);color:#1a1a2e;border-bottom-right-radius:4px}
.ai-msg-assistant .ai-msg-content{background:rgba(255,255,255,0.05);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text)}

.ai-msg-content h2,.ai-msg-content h3,.ai-msg-content h4{margin:8px 0 4px;color:var(--gold)}
.ai-msg-content h2{font-size:15px}.ai-msg-content h3{font-size:14px}.ai-msg-content h4{font-size:13px}
.ai-msg-content ul{margin:4px 0;padding-left:20px}
.ai-msg-content li{margin:2px 0}
.ai-msg-content pre{background:rgba(0,0,0,0.3);padding:8px 12px;border-radius:6px;overflow-x:auto;font-size:12px;margin:4px 0}
.ai-msg-content strong{color:var(--gold)}

.ai-typing{display:inline-flex;gap:4px}
.ai-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);animation:ai-typing-bounce 1.4s ease infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes ai-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}

.ai-panel-input{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}
.ai-panel-input textarea{flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:10px;
  padding:8px 12px;color:var(--text);font-size:13px;font-family:inherit;resize:none;outline:none;transition:border-color .2s}
.ai-panel-input textarea:focus{border-color:var(--gold)}
#ai-send-btn{padding:8px 16px;border-radius:10px;border:none;cursor:pointer;font-size:13px;font-weight:600;
  background:linear-gradient(135deg,var(--gold),#D4A017);color:#1a1a2e;transition:all .2s}
#ai-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,160,23,0.3)}
#ai-send-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}

/* AI content modal (for reports/diagnosis displayed in full) */
.ai-result-modal{max-width:800px}
.ai-result-content{padding:20px;max-height:70vh;overflow-y:auto}
.ai-result-content h1,.ai-result-content h2,.ai-result-content h3{color:var(--gold);margin:12px 0 6px}
.ai-result-content h1{font-size:20px}.ai-result-content h2{font-size:17px}.ai-result-content h3{font-size:15px}
.ai-result-content ul{padding-left:20px;margin:6px 0}
.ai-result-content li{margin:3px 0;font-size:14px}
.ai-result-content p{font-size:14px;line-height:1.7;margin:6px 0}
.ai-result-content pre{background:rgba(0,0,0,0.3);padding:12px;border-radius:8px;overflow-x:auto;font-size:13px;margin:8px 0}
.ai-result-content strong{color:var(--gold)}
.ai-result-content table{width:100%;border-collapse:collapse;margin:8px 0}
.ai-result-content td,.ai-result-content th{border:1px solid var(--border);padding:6px 10px;font-size:13px}

/* AI loading button states */
.ai-loading-bar{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}
.ai-loading-bar .ai-spin{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:ai-spin 0.8s linear infinite}
@keyframes ai-spin{to{transform:rotate(360deg)}}

/* ===== Workbench navigation & industry controls =====
   Quiet, light navigation inspired by the compact task-row reference. */
#sidebar{
  --sidebar-ink:#292b2f;
  --sidebar-muted:#777a80;
  --sidebar-line:#ddd9d2;
  --sidebar-tint:#ebe8e2;
  display:flex;
  flex-direction:column;
  background:#f7f5f1;
  border-right:1px solid var(--sidebar-line);
  box-shadow:4px 0 18px rgba(20,22,28,.08);
  scrollbar-color:#cbc6bd transparent;
}
#sidebar::after{display:none}
#sidebar .sidebar-logo{
  min-height:72px;
  padding:18px 20px;
  color:var(--sidebar-ink);
  border-bottom:1px solid var(--sidebar-line);
  letter-spacing:.2px;
}
#sidebar .sidebar-logo .logo-icon{
  width:34px;height:34px;border-radius:9px;
  color:#fff;background:#34363b;
  box-shadow:none;
}
#sidebar .sidebar-logo span{color:#806a43}
#sidebar .sidebar-section{padding:8px 10px 2px}
#sidebar .sidebar-section-title{
  padding:7px 10px 5px;
  color:#96928b;
  font-size:10px;
  letter-spacing:1.2px;
}
#sidebar .sidebar-item{
  min-height:40px;
  gap:10px;
  margin:2px 0;
  padding:8px 10px;
  color:var(--sidebar-muted);
  font-size:13px;
  font-weight:500;
  border:1px solid transparent;
  border-left-width:1px;
  border-radius:7px;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
#sidebar .sidebar-item:hover{
  color:var(--sidebar-ink);
  background:#efede8;
  border-color:#e2ded7;
}
#sidebar .sidebar-item.active{
  color:#24262a;
  background:#e8e5df;
  border-color:#d9d4cb;
  box-shadow:inset 3px 0 0 #8b7550;
}
#sidebar .sidebar-item.active::after{display:none}
#sidebar .sidebar-item .icon{
  width:22px;height:22px;
  color:#777a80;
  filter:grayscale(1);
  opacity:.86;
}
#sidebar .sidebar-item.active .icon{color:#5f5038;opacity:1}
#sidebar .sidebar-item .badge{
  background:#716047;
  box-shadow:none;
  min-width:20px;
  text-align:center;
}

/* Optional hooks used by the module/task navigation renderer. */
.sidebar-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-item-actions{display:flex;align-items:center;gap:2px;margin-left:auto;opacity:0;transition:opacity .16s ease}
.sidebar-item:hover .sidebar-item-actions,.sidebar-item.active .sidebar-item-actions{opacity:1}
.sidebar-action,.sidebar-pin,.sidebar-collapse,.module-pin,.module-collapse{
  width:26px;height:26px;padding:0;
  display:inline-grid;place-items:center;
  color:#85827c;background:transparent;border:0;border-radius:6px;
  cursor:pointer;transition:background-color .16s ease,color .16s ease;
}
.sidebar-action:hover,.sidebar-pin:hover,.sidebar-collapse:hover,.module-pin:hover,.module-collapse:hover{
  color:#34363b;background:#dcd8d1;
}
.sidebar-pin.is-pinned,.module-pin.is-pinned,[aria-pressed="true"].sidebar-pin,[aria-pressed="true"].module-pin{color:#705b38;background:#ded8cd}
.sidebar-section-heading{display:flex;align-items:center;justify-content:space-between;padding-right:8px}
.sidebar-section.is-collapsed .sidebar-item{display:none}

/* Shared industry context bar: works with either button chips or data attributes. */
.industry-toolbar,.industry-filter-bar,.workspace-context-bar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 16px;padding:10px 12px;
  background:rgba(247,245,241,.96);
  color:#34363b;
  border:1px solid #dedad3;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(16,18,24,.08);
}
.industry-toolbar-label,.industry-filter-label,.workspace-context-label{
  margin-right:2px;color:#77736d;font-size:12px;font-weight:600;
}
.industry-chip,.industry-filter-chip,[data-industry-filter]{
  min-height:30px;padding:5px 11px;
  color:#66635e;background:#fff;
  border:1px solid #dcd8d1;border-radius:16px;
  font:500 12px/1.2 inherit;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.industry-chip:hover,.industry-filter-chip:hover,[data-industry-filter]:hover{color:#302f2d;border-color:#bdb6aa;background:#f3f0eb}
.industry-chip.active,.industry-filter-chip.active,[data-industry-filter].active,[data-industry-filter][aria-pressed="true"]{
  color:#fff;background:#615640;border-color:#615640;
}
.industry-manage,.industry-add{
  min-height:30px;padding:5px 10px;
  color:#6d6252;background:transparent;border:1px dashed #bcb5aa;border-radius:7px;
  cursor:pointer;font:600 12px/1.2 inherit;
}

/* A persistent, visually recognisable manual source/upload entry. */
.manual-upload-entry,.source-upload-entry,.resource-upload-entry{
  display:flex;align-items:center;gap:10px;
  min-height:44px;padding:10px 13px;
  color:var(--text-primary);background:rgba(201,169,110,.055);
  border:1px dashed rgba(201,169,110,.38);border-radius:10px;
  cursor:pointer;transition:background-color .16s ease,border-color .16s ease;
}
.manual-upload-entry:hover,.source-upload-entry:hover,.resource-upload-entry:hover{
  background:rgba(201,169,110,.1);border-color:rgba(201,169,110,.68);
}
.manual-upload-entry .icon,.source-upload-entry .icon,.resource-upload-entry .icon{
  width:28px;height:28px;display:grid;place-items:center;border-radius:7px;
  color:var(--accent);background:rgba(201,169,110,.12);
}

/* The existing global project filter now also carries the workspace industry context. */
.project-filter-bar{
  gap:8px;flex-wrap:wrap;
  background:rgba(247,245,241,.96);
  color:#34363b;border-color:#dedad3;
  box-shadow:0 2px 8px rgba(16,18,24,.08);
}
.project-filter-bar .filter-label{color:#6d6252}
.project-filter-bar .form-select{
  color:#34363b;background:#fff;border-color:#d6d1c9;
}
.project-filter-bar .filter-count{color:#77736d}

@media(max-width:760px){
  .industry-toolbar,.industry-filter-bar,.workspace-context-bar{align-items:flex-start;overflow-x:auto;flex-wrap:nowrap}
  .industry-chip,.industry-filter-chip,[data-industry-filter]{flex:0 0 auto}
  .sidebar-item-actions{opacity:1}
}

/* Command-core status marker uses an allowed semantic span after HTML sanitization. */
.command-core-status span{width:7px;height:7px;border-radius:50%;background:#7f8b9d}.command-core.is-active .command-core-status span{background:#00d4a3;box-shadow:0 0 12px rgba(0,212,163,.85)}

/* ===== Smart command core: factual status, restrained black-gold 3D treatment ===== */
.command-core{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:18px;min-height:266px;overflow:hidden;margin:0 0 24px;padding:28px 30px;border:1px solid rgba(201,169,110,.34);border-radius:20px;background:radial-gradient(ellipse at 82% 45%,rgba(201,169,110,.14),transparent 36%),linear-gradient(120deg,rgba(18,23,35,.97),rgba(9,12,19,.98));box-shadow:0 18px 42px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.04)}
.command-core::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 42%,rgba(201,169,110,.08) 42.1%,transparent 42.25%);opacity:.55}
.command-core-copy{position:relative;z-index:2;align-self:center;max-width:690px}.command-core-kicker{font-size:11px;letter-spacing:1.9px;font-weight:800;color:#e6c36f}.command-core h2{margin:5px 0 7px;font-size:27px;line-height:1.35;color:#f6f1e5}.command-core p{max-width:600px;margin:0;color:#b5bdca;font-size:14px}.command-core-metrics{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 14px}.command-core-metric{min-width:106px;padding:9px 12px;text-align:left;color:#bec6d2;background:rgba(4,8,14,.42);border:1px solid rgba(201,169,110,.18);border-radius:12px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.command-core-metric:hover{transform:translateY(-2px);border-color:rgba(232,200,126,.7);background:rgba(201,169,110,.11)}.command-core-metric strong{display:block;color:#f4d37f;font-size:22px;line-height:1.1}.command-core-metric span{font-size:12px}.command-core-actions{display:flex;gap:8px;flex-wrap:wrap}.command-core-signal{display:flex;align-items:center;gap:8px;margin-top:13px;color:#8792a5;font-size:12px}.command-core-signal span{color:#e0bd66}.command-core-signal button{min-width:0;max-width:360px;overflow:hidden;color:#d5dce7;background:none;border:0;cursor:pointer;text-overflow:ellipsis;white-space:nowrap}.command-core-signal button:hover{color:#f0cd77}
.command-core-visual{position:relative;min-height:208px;isolation:isolate;overflow:hidden}.command-kun{position:absolute;z-index:2;right:-6px;bottom:-34px;width:min(390px,100%);max-height:274px;object-fit:contain;object-position:center;filter:drop-shadow(0 19px 17px rgba(0,0,0,.6)) saturate(.94);animation:command-kun-breathe 8s ease-in-out infinite}.command-orbit{position:absolute;z-index:1;left:49%;top:51%;border:1px solid rgba(222,181,77,.4);border-radius:50%;pointer-events:none}.command-orbit-a{width:310px;height:116px;transform:translate(-50%,-50%) rotate(-15deg);box-shadow:0 0 17px rgba(201,169,110,.12);animation:command-orbit 18s linear infinite}.command-orbit-b{width:220px;height:190px;transform:translate(-50%,-50%) rotate(36deg);border-color:rgba(74,158,255,.18);animation:command-orbit-reverse 24s linear infinite}.command-orbit-node{position:absolute;z-index:3;width:10px;height:10px;border-radius:50%;background:#f1ca6a;box-shadow:0 0 0 4px rgba(241,202,106,.12),0 0 19px rgba(241,202,106,.8);animation:command-node 8s linear infinite}.command-orbit-node-a{left:23%;top:34%}.command-orbit-node-b{right:20%;bottom:23%;width:7px;height:7px;background:#67b5ff;box-shadow:0 0 0 4px rgba(103,181,255,.1),0 0 16px rgba(103,181,255,.65);animation-delay:-4s}.command-core-status{position:absolute;z-index:4;right:2px;top:5px;display:flex;align-items:center;gap:6px;padding:6px 9px;color:#c6ceda;background:rgba(4,8,14,.68);border:1px solid rgba(201,169,110,.22);border-radius:99px;font-size:11px;backdrop-filter:blur(8px)}.command-core-status i{width:7px;height:7px;border-radius:50%;background:#7f8b9d}.command-core.is-active .command-core-status i{background:#00d4a3;box-shadow:0 0 12px rgba(0,212,163,.85)}.command-core.is-active .command-orbit-a{animation-duration:7s}
@keyframes command-kun-breathe{0%,100%{transform:translate3d(0,0,0) rotate(-.35deg)}50%{transform:translate3d(-4px,-7px,0) rotate(.35deg)}}@keyframes command-orbit{to{transform:translate(-50%,-50%) rotate(345deg)}}@keyframes command-orbit-reverse{to{transform:translate(-50%,-50%) rotate(-324deg)}}@keyframes command-node{0%,100%{transform:translate(0,0) scale(.9)}50%{transform:translate(9px,-6px) scale(1.13)}}
@media(max-width:900px){.command-core{grid-template-columns:1fr;padding:22px}.command-core::before{background:none}.command-core-visual{min-height:188px}.command-kun{left:50%;right:auto;transform:translateX(-50%);bottom:-44px;width:350px}.command-core-status{right:12px}}@media(max-width:560px){.command-core{padding:18px}.command-core h2{font-size:23px}.command-core-metric{flex:1;min-width:88px}.command-core-visual{min-height:170px}.command-kun{width:310px}.command-core-signal button{max-width:210px}}@media(prefers-reduced-motion:reduce){.command-kun,.command-orbit,.command-orbit-node{animation:none!important}}

/* ===== Final visual system: restrained black-gold, overriding an obsolete light-nav fragment ===== */
#sidebar{--sidebar-ink:#edf1f7;--sidebar-muted:#98a4b8;--sidebar-line:rgba(201,169,110,.18);--sidebar-tint:rgba(201,169,110,.08);background:linear-gradient(180deg,#070a11,#090d17 64%,#060810);border-right:1px solid var(--sidebar-line);box-shadow:10px 0 34px rgba(0,0,0,.28)}
#sidebar::after{display:block}#sidebar .sidebar-logo{min-height:0;padding:28px 24px 20px;color:#fff;border-bottom:0;letter-spacing:.5px}#sidebar .sidebar-logo .logo-icon{width:36px;height:36px;color:#10131a;background:linear-gradient(135deg,#b99245,#f0d382);box-shadow:0 0 20px rgba(201,169,110,.3)}#sidebar .sidebar-logo span{color:var(--accent)}#sidebar .sidebar-section{padding:4px 0}#sidebar .sidebar-section-title{padding:10px 24px 6px;color:var(--text-tertiary);font-size:10px;letter-spacing:1.5px}
#sidebar .sidebar-item{min-height:0;gap:12px;margin:0;padding:12px 24px;color:var(--text-sidebar);font-size:16px;font-weight:600;border:0;border-left:2px solid transparent;border-radius:0;background:transparent}#sidebar .sidebar-item:hover{color:#fff;background:rgba(201,169,110,.08);border-color:transparent}#sidebar .sidebar-item.active{color:var(--text-sidebar-active);background:linear-gradient(90deg,rgba(201,169,110,.16),rgba(201,169,110,.04));border-left-color:var(--accent);box-shadow:none}#sidebar .sidebar-item.active::after{display:block}
#sidebar .sidebar-item .icon{width:26px;height:26px;color:var(--accent);border:1px solid rgba(201,169,110,.3);border-radius:9px;background:linear-gradient(145deg,rgba(255,239,190,.24),rgba(201,169,110,.04) 38%,rgba(7,10,17,.92) 72%);filter:none;opacity:1;box-shadow:inset 1px 1px 1px rgba(255,242,199,.25),inset -2px -3px 7px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);text-shadow:0 0 12px rgba(201,169,110,.45)}#sidebar .sidebar-item.active .icon{color:#f2d27d;border-color:rgba(232,200,126,.7);background:radial-gradient(circle at 32% 24%,rgba(255,244,204,.54),rgba(201,169,110,.25) 33%,rgba(9,12,18,.94) 76%);box-shadow:inset 1px 1px 1px rgba(255,250,222,.45),0 0 15px rgba(201,169,110,.25)}#sidebar .sidebar-item .badge{background:var(--danger);box-shadow:0 0 8px rgba(255,92,108,.3)}
.sidebar-action,.sidebar-pin,.sidebar-collapse,.module-pin,.module-collapse{color:#a6b1c2}.sidebar-action:hover,.sidebar-pin:hover,.sidebar-collapse:hover,.module-pin:hover,.module-collapse:hover{color:#f0d382;background:rgba(201,169,110,.12)}.sidebar-pin.is-pinned,.module-pin.is-pinned,[aria-pressed="true"].sidebar-pin,[aria-pressed="true"].module-pin{color:#f0d382;background:rgba(201,169,110,.16)}
.industry-toolbar,.industry-filter-bar,.workspace-context-bar,.project-filter-bar{background:rgba(12,17,27,.82);color:var(--text-primary);border-color:rgba(201,169,110,.22);box-shadow:0 8px 22px rgba(0,0,0,.18)}.industry-toolbar-label,.industry-filter-label,.workspace-context-label,.project-filter-bar .filter-label,.project-filter-bar .filter-count{color:var(--text-secondary)}.industry-chip,.industry-filter-chip,[data-industry-filter]{color:var(--text-secondary);background:rgba(255,255,255,.025);border-color:rgba(201,169,110,.2)}.industry-chip:hover,.industry-filter-chip:hover,[data-industry-filter]:hover{color:#f1d47e;border-color:rgba(232,200,126,.62);background:rgba(201,169,110,.09)}.industry-chip.active,.industry-filter-chip.active,[data-industry-filter].active,[data-industry-filter][aria-pressed="true"]{color:#18130a;background:linear-gradient(135deg,#b99245,#ecd080);border-color:#ecd080}.project-filter-bar .form-select{color:var(--text-primary);background:#111724;border-color:rgba(201,169,110,.25)}
.kpi-icon.blue,.kpi-icon.green,.kpi-icon.red,.kpi-icon.purple,.kpi-icon.amber{color:#f0d382;background:linear-gradient(145deg,rgba(255,235,175,.25),rgba(201,169,110,.10) 45%,rgba(8,11,18,.9));border:1px solid rgba(201,169,110,.28);box-shadow:inset 1px 1px 1px rgba(255,245,211,.2),inset -2px -3px 8px rgba(0,0,0,.44),0 4px 14px rgba(0,0,0,.25)}
