/* ============================================================
   江苏奥维运维管理平台 · 靛蓝现代主题 (Indigo Modern)
   独立覆盖层：不改原 Vite 打包产物，卸载只需移除 index.html 中本文件引用
   结构：1 主题变量 → 2 侧边栏 → 3 顶栏 → 4 按钮/控件 → 5 卡片
        → 6 欢迎横幅 → 7 滚动条/细节
   ============================================================ */

/* ---------- 1. 全局主题变量（shadcn 语义层换肤） ---------- */
:root{
  --background:#f4f5fb;
  --foreground:#23234a;
  --card:#ffffff;
  --card-foreground:#23234a;
  --popover:#ffffff;
  --popover-foreground:#23234a;
  --primary:#6366f1;
  --primary-foreground:#ffffff;
  --secondary:#f1f2fb;
  --secondary-foreground:#33356b;
  --muted:#f1f2fb;
  --muted-foreground:#6b6b91;
  --accent:#eceefe;
  --accent-foreground:#4f46e5;
  --destructive:#ef4444;
  --border:#e7e8f5;
  --input:#dcdeef;
  --ring:#6366f1;
  /* 侧边栏：纯色兜底（bg-sidebar 走 background-color），真实渐变见第 2 节 */
  --sidebar:#312e81;
  --sidebar-foreground:rgba(255,255,255,.80);
  --sidebar-primary:#8b5cf6;
  --sidebar-primary-foreground:#ffffff;
  --sidebar-accent:rgba(255,255,255,.15);
  --sidebar-accent-foreground:#ffffff;
  --sidebar-border:rgba(255,255,255,.12);
  --sidebar-ring:rgba(255,255,255,.45);
  --radius:.7rem;
}

body{background:#f4f5fb;color:#23234a}

/* ---------- 2. 深靛渐变侧边栏 ---------- */
.bg-sidebar{
  background-image:linear-gradient(180deg,#1e1b4b 0%,#2a2770 45%,#312e81 78%,#3b36a0 100%) !important;
  background-color:#312e81 !important;
}
[class*=sidebar-wrapper]{background:transparent}
/* 侧边栏内所有主文字 / 次要文字转白色系 */
[data-slot=sidebar] .text-foreground{color:#ffffff !important}
[data-slot=sidebar] .text-muted-foreground{color:rgba(255,255,255,.55) !important}
[data-slot=sidebar] .text-sidebar-foreground{color:rgba(255,255,255,.80) !important}
/* 分组标题 */
[data-slot=sidebar] .sidebar-label,
[data-slot=sidebar] [class*=sidebar-label]{
  color:rgba(255,255,255,.42) !important;
  letter-spacing:.08em;
}
/* 菜单项默认态 / 悬停态 / 选中态 */
[data-slot=sidebar] .peer\/menu-button{color:rgba(255,255,255,.78)}
[data-slot=sidebar] .peer\/menu-button:hover{
  background:rgba(255,255,255,.10) !important;color:#ffffff !important;
}
[data-slot=sidebar] .peer\/menu-button[data-active="true"]{
  background:linear-gradient(90deg,rgba(255,255,255,.20),rgba(255,255,255,.04)) !important;
  color:#ffffff !important;font-weight:600;
  box-shadow:inset 3px 0 0 #c4b5fd;
}
/* 侧边栏分隔线、边框淡化 */
[data-slot=sidebar] .border-border{border-color:rgba(255,255,255,.10) !important}
[data-slot=sidebar] button[class*=ghost],
[data-slot=sidebar] [class*=sidebar-trigger]{color:rgba(255,255,255,.7)}

/* ---------- 3. 顶栏：毛玻璃 + 细紫边 ---------- */
header{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid #e7e8f5 !important;
  box-shadow:0 1px 10px rgba(79,70,200,.06) !important;
}

/* ---------- 4. 主按钮渐变 / 主色文本 / 聚焦 ---------- */
.bg-primary{
  background-image:linear-gradient(135deg,#6366f1,#7c5cf0 55%,#8b5cf6) !important;
  background-color:#6366f1 !important;
  border:none;
  box-shadow:0 4px 14px rgba(124,92,240,.26);
  transition:box-shadow .18s ease,transform .18s ease;
}
.bg-primary:hover{box-shadow:0 7px 22px rgba(124,92,240,.40);transform:translateY(-1px)}
.text-primary{color:#6366f1 !important}
.border-primary{border-color:#6366f1 !important}
*:focus-visible{--tw-ring-color:#6366f1 !important;outline:none}
input:focus,textarea:focus,select:focus,[role=combobox]:focus{
  border-color:#6366f1 !important;
  box-shadow:0 0 0 3px rgba(99,102,241,.14) !important;
  outline:none;
}
/* 激活的 Tab / 选中底色 */
[role=tab][data-state=active]{color:#4f46e5}

/* ---------- 5. 卡片：靛系柔影、统一圆角 ---------- */
.bg-card{
  box-shadow:0 4px 18px rgba(79,70,200,.07) !important;
  border-color:#e9eaf6 !important;
}
.rounded-lg{border-radius:.8rem}
.rounded-md{border-radius:.6rem}
/* 表头、分隔线用靛系浅灰 */
.border-border{border-color:#e9eaf6}

/* ---------- 6. 工作台欢迎横幅：实色靛紫渐变 + 白字 ---------- */
main .space-y-6 > :first-child .bg-gradient-to-r{
  background-image:linear-gradient(120deg,#6366f1 0%,#7c5cf0 48%,#8b5cf6 100%) !important;
  border:none !important;
  box-shadow:0 12px 32px rgba(124,92,240,.30) !important;
  position:relative;overflow:hidden;border-radius:1rem !important;
}
main .space-y-6 > :first-child .bg-gradient-to-r::after{
  content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none;
}
main .space-y-6 > :first-child .bg-gradient-to-r h2,
main .space-y-6 > :first-child .bg-gradient-to-r .text-foreground{color:#ffffff !important}
main .space-y-6 > :first-child .bg-gradient-to-r .text-muted-foreground{color:rgba(255,255,255,.86) !important}
main .space-y-6 > :first-child .bg-gradient-to-r .text-primary{color:#ffffff !important}
main .space-y-6 > :first-child .bg-gradient-to-r [class*=bg-primary\/]{background:rgba(255,255,255,.20) !important;color:#fff}
main .space-y-6 > :first-child .bg-gradient-to-r .border-border{border-color:rgba(255,255,255,.20) !important}

/* ---------- 7. 滚动条 / 选中文本 / 细节 ---------- */
::selection{background:rgba(124,92,240,.22)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#c6c8ea;border-radius:10px;border:2px solid #f4f5fb}
::-webkit-scrollbar-thumb:hover{background:#a6a9dc}
::-webkit-scrollbar-track{background:transparent}
/* 链接/可点击行 hover 微靛 */
[role=button]:hover,a.hover\:bg-accent:hover,tr.hover\:bg-muted\/50:hover{ }
/* 下拉菜单 / 弹窗圆角统一 */
[role=dialog],[role=menu],[role=listbox]{border-radius:.9rem}

/* ---------- 8. 妙搭运行时行内样式旧主蓝 → 靛蓝（表格“查看”等操作按钮） ---------- */
[style*="36, 99, 235"],[style*="36,99,235"],
[style*="20, 95, 255"],[style*="20,95,255"],
[style*="#2463eb"],[style*="#145fff"]{
  color:#6366f1 !important;
  border-color:#6366f1 !important;
}
[style*="36, 99, 235"]:hover,[style*="36,99,235"]:hover{color:#4f46e5 !important}

/* ---------- 9. 登录页：品牌主色与渐变按钮同步 ---------- */
.bg-gradient-to-r.from-blue-600,.bg-gradient-to-br.from-blue-600,
.bg-gradient-to-r.from-primary,.bg-gradient-to-br.from-primary{
  background-image:linear-gradient(135deg,#6366f1,#7c5cf0 55%,#8b5cf6) !important;
}


/* ============================================================
   10. 项目成本页（Project Cost）补充样式
   结构：10.1 补齐 Tailwind 未打包工具类 → 10.2 成本构成堆叠条
        → 10.3 业务经理排行 → 10.4 图例 → 10.5 维度 Tab
   ============================================================ */

/* 10.1 补齐 Tailwind 未打包的工具类 */
.text-sky-600{color:#0284c7}
.text-\[11px\]{font-size:11px;line-height:1.15}
.border-border\/60{border-color:rgba(231,232,245,.6)}
.min-w-\[180px\]{min-width:180px}
.last\:border-0:last-child{border-bottom-width:0}
.hover\:bg-muted\/30:hover{background-color:rgba(241,242,251,.45)}
@media(min-width:768px){
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1280px){
  .xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* 10.2 成本构成堆叠条 */
.stack-wrap{width:100%}
.stack{display:flex;height:30px;border-radius:8px;overflow:hidden;background:#eef0fa}
.stack-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden}
.s-internal{background:linear-gradient(90deg,#6366f1,#818cf8)}
.s-crew{background:linear-gradient(90deg,#0ea5c4,#34c2de)}
.s-equip{background:linear-gradient(90deg,#10b981,#34d399)}

/* 10.3 业务经理排行 */
.rank-row{display:grid;grid-template-columns:64px 1fr 76px;align-items:center;gap:10px}
.rank-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-track{height:20px;background:#eef0fa;border-radius:5px;overflow:hidden}
.rank-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#6366f1,#818cf8);display:flex;align-items:center;justify-content:flex-end;padding-right:7px;color:#fff;font-size:10px;font-weight:600;min-width:44px}
.rank-meta{font-size:11px;color:#6b6b91;text-align:right;white-space:nowrap}

/* 10.4 图例 */
.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:2px}
.dot-internal{background:#6366f1}
.dot-crew{background:#0ea5c4}
.dot-equip{background:#10b981}

/* 10.5 维度 Tab */
.tab-btn{padding:8px 16px;margin-bottom:-1px;font-size:13px;color:#6b6b91;border-bottom:2px solid transparent;font-weight:600;transition:color .15s,border-color .15s}
.tab-btn:hover{color:#4f46e5}
.tab-btn.on{color:#4f46e5;border-bottom-color:#6366f1}
