/* =========================================================
   TMS v9.2 统一视觉层
   CSS only，避免再次影响按钮点击。
   ========================================================= */

/* 全局文字层级 */
body{
  color:var(--tms-text-primary)!important;
}
#c h1,#c h2,#c h3,#c h4,
.modal h1,.modal h2,.modal h3{
  color:var(--tms-text-primary)!important;
}
#c :is(.sub,.muted,.desc,.note,.help,.meta,.small-text){
  color:var(--tms-text-muted)!important;
}

/* 导航：弱化一级块，保留识别度 */
html[data-tms-theme] #n .nav-title{
  background:transparent !important;
  border:1px solid transparent !important;
  border-left:3px solid color-mix(in srgb,var(--tms-brand) 68%,transparent) !important;
  border-radius:var(--tms-radius-sm)!important;
  padding-left:10px!important;
  font-weight:600!important;
  color:var(--tms-text-secondary)!important;
  box-shadow:none!important;
}
html[data-tms-theme] #n .nav-title:hover{
  background:color-mix(in srgb,var(--tms-brand) 7%,var(--tms-bg-sidebar))!important;
  color:var(--tms-text-primary)!important;
}
html[data-tms-theme] #n .nav-group:not(.collapsed)>.nav-title{
  background:color-mix(in srgb,var(--tms-brand) 9%,var(--tms-bg-sidebar))!important;
  color:var(--tms-text-primary)!important;
}
html[data-tms-theme] #n .nav-items button{
  border-radius:7px!important;
  color:var(--tms-text-muted)!important;
}
html[data-tms-theme] #n .nav-items button:hover{
  color:var(--tms-text-primary)!important;
  background:color-mix(in srgb,var(--tms-brand) 6%,transparent)!important;
}
html[data-tms-theme] #n .nav-items button.active,
html[data-tms-theme] #n .nav-items button[aria-current="page"]{
  color:#fff!important;
  background:color-mix(in srgb,var(--tms-brand) 32%,var(--tms-bg-sidebar))!important;
  border-left:3px solid var(--tms-brand)!important;
}

/* 统一卡片 */
#c :is(
  .card,.box,.panel,.ops-card,.opsx-panel,.opsx-card,.exec-card,
  .customer-list-card,.customer-section,.customer-tab,.project-rel-card,
  .future-date-card,.billing-group,.fin-kpi,.builder-card,.bill-section,
  .shared-trip-box,.co-project-card
){
  border-radius:var(--tms-radius-md)!important;
  border:1px solid var(--tms-border)!important;
  background:var(--tms-bg-panel)!important;
  color:var(--tms-text-primary)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.08)!important;
}

/* 可点击卡片才上浮 */
#c :is(
  .customer-list-card,.project-row-v21,.ops-shortcut,.quick-item,
  .future-date-card,.dispatch-card
){
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
#c :is(
  .customer-list-card,.project-row-v21,.ops-shortcut,.quick-item,
  .future-date-card,.dispatch-card
):hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--tms-brand) 35%,var(--tms-border))!important;
  box-shadow:0 9px 26px rgba(0,0,0,.12)!important;
}

/* 按钮状态 */
#c button:not(.nav-title),
.modal button{
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,filter .15s ease!important;
  border-radius:var(--tms-radius-sm)!important;
}
#c button:not(.nav-title):hover,
.modal button:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(22,119,255,.18)!important;
}
#c button:not(.nav-title):active,
.modal button:active{
  transform:translateY(0)!important;
}
.btn-ghost:hover,.smallbtn:hover{
  border-color:var(--tms-brand)!important;
}

/* Focus 可访问性 */
#c :is(input,select,textarea):focus,
.modal :is(input,select,textarea):focus{
  outline:none!important;
  border-color:var(--tms-brand)!important;
  box-shadow:
    0 0 0 3px color-mix(in srgb,var(--tms-brand) 20%,transparent),
    inset 0 1px 3px rgba(0,0,0,.05)!important;
}

/* 表格 */
#c table{
  border-radius:var(--tms-radius-md)!important;
  overflow:hidden;
}
#c table thead th{
  background:var(--tms-bg-panel-soft)!important;
  color:var(--tms-text-secondary)!important;
  font-weight:600!important;
}
#c table tbody td{
  color:var(--tms-text-primary)!important;
}
#c table tbody tr:hover td{
  background:color-mix(in srgb,var(--tms-brand) 5%,var(--tms-bg-panel))!important;
}
#c table tbody tr.selected td,
#c table tbody tr:has(input[type="checkbox"]:checked) td{
  background:color-mix(in srgb,var(--tms-brand) 10%,var(--tms-bg-panel))!important;
}

/* 状态色 */
.status-success,.badge.success,.tag.success{color:var(--tms-success)!important}
.status-warning,.badge.warning,.tag.warning{color:var(--tms-warning)!important}
.status-danger,.badge.danger,.tag.danger{color:var(--tms-danger)!important}

/* 弹窗 / 下拉 */
.modal>div,
#themePanel,
.theme-panel{
  background:var(--tms-bg-panel)!important;
  color:var(--tms-text-primary)!important;
  border-color:var(--tms-border)!important;
}

/* 统一圆角/间距（只覆盖常见组件，不批量改全局硬编码） */
#c :is(.toolbar,.filter-panel,.table-wrap,.section-note,.page-note){
  border-radius:var(--tms-radius-md)!important;
}
#c :is(.toolbar,.filter-panel){
  gap:var(--tms-space-sm)!important;
}

/* SVG 图标沿用 currentColor，不使用 Emoji */
#n svg,.tms-nav-title-icon svg{
  stroke:currentColor!important;
}

/* 浅色主题保持克制阴影 */
html[data-tms-theme="light"] #c :is(.card,.box,.panel,.exec-card,.customer-list-card){
  box-shadow:0 4px 16px rgba(15,23,42,.06)!important;
}

/* 深色主题进一步避免纯白背景突兀 */
:is(
  html[data-tms-theme="navy"],
  html[data-tms-theme="graphite"],
  html[data-tms-theme="indigo"]
) #c :is(
  .card,.box,.panel,.exec-card,.customer-list-card,.customer-section,
  .customer-tab,.future-date-card,.billing-group,.builder-card,.bill-section
){
  background:var(--tms-bg-panel)!important;
  color:var(--tms-text-primary)!important;
}

/* 移动端：不增加任何遮罩/事件，只调整视觉 */
@media(max-width:900px){
  #c{padding-left:12px!important;padding-right:12px!important}
  #c :is(.card,.box,.panel,.exec-card){border-radius:10px!important}
}
