/* ============ 车辆管理平台 · 深色科技风 ============ */
:root{
  --bg:#0a1220;
  --bg2:#0e1828;
  --panel:#111c30;
  --panel2:#16233c;
  --line:#1f2f4a;
  --ink:#e2e8f0;
  --ink2:#8fa3bd;
  --ink3:#7f91a8;
  --cyan:#22d3ee;
  --blue:#3b82f6;
  --amber:#f59e0b;
  --red:#ef4444;
  --green:#10b981;
  --violet:#a78bfa;
  --r:14px;
  --r2:10px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(34,211,238,.08), transparent 60%),
    radial-gradient(700px 400px at -5% 30%, rgba(59,130,246,.08), transparent 60%),
    var(--bg);
  color:var(--ink);font-size:14px;overflow:hidden;
}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#22365a;border-radius:4px}
::-webkit-scrollbar-track{background:transparent}

/* 顶栏 */
.topbar{
  height:54px;display:flex;align-items:center;gap:14px;padding:0 18px;
  background:rgba(14,24,40,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);position:relative;z-index:30;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:.5px}
.logo .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#22d3ee,#3b82f6);
  display:flex;align-items:center;justify-content:center;font-size:15px;color:#04121f;box-shadow:0 0 18px rgba(34,211,238,.4)}
.logo .tag{font-size:11px;color:var(--cyan);border:1px solid rgba(34,211,238,.4);padding:2px 8px;border-radius:999px;font-weight:400;letter-spacing:1px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  background:var(--panel);border:1px solid var(--line);font-size:12px;color:var(--ink2);font-family:inherit}
.chip b{color:var(--cyan)}
.service-chip[data-state="server"]{color:var(--green);border-color:rgba(16,185,129,.35)}
.service-chip[data-state="legacy"]{color:var(--amber);border-color:rgba(245,158,11,.35)}
.service-chip[data-state="offline"]{color:var(--red);border-color:rgba(239,68,68,.35)}
.weather-chip[data-state="live"]{color:var(--green);border-color:rgba(16,185,129,.35)}
.weather-chip[data-state="partial"],.weather-chip[data-state="empty"],.weather-chip[data-state="stale"],.weather-chip[data-state="refreshing"]{color:var(--amber);border-color:rgba(245,158,11,.35)}
.weather-chip[data-state="unavailable"],.weather-chip[data-state="error"]{color:var(--red);border-color:rgba(239,68,68,.35)}
.weather-stale{color:var(--amber)!important}
.order-weather-summary{display:flex;flex-wrap:wrap;gap:5px;max-width:250px}
.order-weather-summary .pill{white-space:normal;line-height:1.35}
.hamburger{display:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);font-size:16px;cursor:pointer;color:var(--ink)}

/* 布局 */
.app{display:flex;height:calc(100% - 54px);position:relative;z-index:10}

/* 侧边栏 */
.sidebar{
  width:188px;flex-shrink:0;padding:14px 10px;overflow-y:auto;
  background:rgba(14,24,40,.75);border-right:1px solid var(--line);
}
.side-title{font-size:10.5px;color:var(--ink3);letter-spacing:2px;padding:4px 10px 8px;font-weight:600}
.nav-item{
  display:flex;align-items:center;gap:9px;padding:9px 11px;margin-bottom:2px;border-radius:11px;
  width:100%;background:transparent;text-align:left;font-family:inherit;cursor:pointer;font-size:13px;color:var(--ink2);border:1px solid transparent;user-select:none;transition:all .15s;
}
.nav-item .ic{width:26px;height:26px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.nav-item:hover{background:var(--panel);color:var(--ink)}
.nav-item.active{background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(59,130,246,.14));color:var(--cyan);
  border-color:rgba(34,211,238,.35);box-shadow:0 0 16px rgba(34,211,238,.12)}
.nav-item.active .ic{background:rgba(34,211,238,.15);border-color:rgba(34,211,238,.4)}
.nav-item .badge{margin-left:auto;min-width:18px;height:18px;border-radius:9px;font-size:10px;
  display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:0 4px}
.nav-foot{margin-top:12px;padding:10px;border-radius:12px;background:var(--panel2);
  border:1px solid var(--line);font-size:11px;color:var(--ink3);line-height:1.8}

/* 主区 */
.main{flex:1;overflow-y:auto;padding:16px 18px 60px}
.page{display:none;max-width:1080px;margin:0 auto}
.page.on{display:block;animation:fadein .28s ease}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.page-head h2{font-size:19px;font-weight:700;letter-spacing:.5px}
.page-head .sub{font-size:12px;color:var(--ink3);margin-top:3px}
.badge-date{font-size:12px;color:var(--cyan);background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3);
  padding:5px 12px;border-radius:999px}

/* 指标卡 */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;position:relative;overflow:hidden}
.metric::after{content:"";position:absolute;right:-14px;top:-14px;width:56px;height:56px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.12),transparent 70%)}
.metric .ml{font-size:12px;color:var(--ink2);margin-bottom:8px}
.metric .mv{font-size:26px;font-weight:700;line-height:1}
.metric .mv small{font-size:12px;color:var(--ink3);font-weight:400;margin-left:4px}
.metric .ms{font-size:11px;color:var(--ink3);margin-top:6px}
.metric.red .mv{color:var(--red)} .metric.amber .mv{color:var(--amber)}
.metric.green .mv{color:var(--green)} .metric.cyan .mv{color:var(--cyan)}
.metric.blue .mv{color:var(--blue)} .metric.violet .mv{color:var(--violet)}

/* 卡片 */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}
.card-t{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:12px}
.card-t .tag{font-size:10.5px;color:var(--cyan);background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.25);
  padding:2px 8px;border-radius:999px;font-weight:500}
.card-t .more{margin-left:auto;font-size:12px;color:var(--ink3);cursor:pointer}
.card-t .more:hover{color:var(--cyan)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* 表格 */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px}
th{background:var(--panel2);color:var(--ink2);font-weight:500;text-align:left;padding:9px 10px;
  border-bottom:1px solid var(--line);white-space:nowrap;font-size:11.5px;letter-spacing:.5px}
td{padding:9px 10px;border-bottom:1px solid rgba(31,47,74,.6);color:var(--ink);white-space:nowrap}
tr:hover td{background:rgba(34,211,238,.03)}
td .sub{font-size:11px;color:var(--ink3)}
.tbl-note{font-size:11px;color:var(--ink3);margin-top:8px}
.master-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.view-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.view-tools select{min-width:170px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink);font-size:12px;outline:none}
.master-search{display:flex;align-items:center;gap:7px;flex:1;min-width:260px}
.master-search input,.master-toolbar select{padding:8px 11px;border:1px solid var(--line);border-radius:9px;
  background:var(--panel2);color:var(--ink);font-size:12.5px;outline:none;font-family:inherit}
.master-search input{flex:1;min-width:120px}
.master-search input:focus,.master-toolbar select:focus,.evidence-toolbar input:focus{border-color:var(--cyan)}
.result-count{margin-left:auto;font-size:11.5px;color:var(--ink3);white-space:nowrap}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.reference-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.reference-catalog{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.reference-catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.reference-catalog-head h3{font-size:15px;line-height:1.3;text-wrap:balance}.reference-catalog-head p{margin-top:4px;color:var(--ink3);font-size:11px;line-height:1.5}
.reference-toolbar{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.55fr) auto auto;gap:7px;padding:10px 12px;background:rgba(9,23,40,.34);border-bottom:1px solid var(--line)}
.reference-toolbar label,.reference-search{min-width:0}.reference-toolbar input,.reference-toolbar select{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font:inherit;outline:none}
.reference-toolbar input:focus,.reference-toolbar select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.12)}
.reference-entry-list{display:grid}.reference-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 14px;border-bottom:1px solid rgba(31,47,74,.7)}
.reference-entry:last-child{border-bottom:0}.reference-entry[data-lifecycle="archived"] .reference-entry-main{opacity:.78}
.reference-entry-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.reference-entry-title b{font-size:13px;overflow-wrap:anywhere}.reference-entry-title code{padding:2px 6px;border-radius:6px;background:#071524;color:#a5f3fc;border:1px solid #294663;font-size:10.5px;overflow-wrap:anywhere}
.reference-entry-main p{margin-top:5px;color:var(--ink2);font-size:11.5px;line-height:1.5;overflow-wrap:anywhere}.reference-entry-main small{display:block;margin-top:3px;color:var(--ink3);font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
.reference-entry-side{display:flex;align-items:flex-end;gap:5px;flex-direction:column;color:var(--ink3);font-size:10.5px}.reference-entry-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.reference-catalog-state{display:grid;justify-items:center;gap:7px;padding:32px 18px;text-align:center;color:var(--ink3);font-size:11.5px;line-height:1.6}.reference-catalog-state b{color:var(--ink2);font-size:13px}.reference-catalog-state.error b{color:#fecaca}
.reference-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px 14px;color:var(--ink3);font-size:11px}.reference-loading span{height:54px;border-radius:9px;background:linear-gradient(90deg,rgba(31,47,74,.25),rgba(49,78,112,.35),rgba(31,47,74,.25));background-size:200% 100%;animation:automation-loading 1.5s ease-in-out infinite}.reference-loading b{grid-column:1/-1;text-align:center;font-weight:500}
.reference-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--line);color:var(--ink3);font-size:10.5px}.reference-pagination>div{display:flex;gap:6px}
.reference-snapshot-notice strong{color:var(--cyan)}
@media (max-width:900px){.reference-catalog-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  #page-referenceData .page-head .btn,#page-referenceData .reference-catalog .btn,#page-referenceData input,#page-referenceData select{min-height:44px}
  .reference-catalog-head{align-items:stretch;flex-direction:column}.reference-catalog-head .btn{width:100%}
  .reference-toolbar{grid-template-columns:minmax(0,1fr)}.reference-search{grid-column:auto}.reference-toolbar .btn{width:100%}
  .reference-entry{grid-template-columns:minmax(0,1fr)}.reference-entry-side{align-items:center;justify-content:space-between;flex-direction:row}.reference-entry-actions{grid-column:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reference-entry-actions .btn{width:100%}
  .reference-pagination{align-items:stretch;flex-direction:column}.reference-pagination>div{display:grid;grid-template-columns:1fr 1fr}.reference-pagination .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.reference-loading span{animation:none}}
.evidence-toolbar{padding:11px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2)}
.period-field{display:flex;align-items:center;gap:6px;color:var(--ink2);font-size:11.5px;white-space:nowrap}
.evidence-toolbar input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);
  color:var(--ink);font-size:12px;outline:none;font-family:inherit;color-scheme:dark}
.evidence-toolbar .master-search{min-width:210px}
.evidence-table{min-width:980px}
.dispatch-table{min-width:980px}
.dispatch-actions{white-space:normal;min-width:138px}
.dispatch-actions .btn{margin:2px 3px 2px 0}
.dispatch-bulk-approval{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(34,211,238,.24);border-radius:var(--r2);background:rgba(34,211,238,.05)}
.dispatch-bulk-approval label{display:flex;min-height:44px;align-items:center;gap:7px;color:var(--ink2);font-size:11.5px;cursor:pointer}
.dispatch-bulk-approval input,.dispatch-bulk-column input{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--cyan);cursor:pointer}
.dispatch-bulk-approval>span{color:var(--ink2);font-size:11.5px;white-space:nowrap}.dispatch-bulk-approval>span b{color:var(--cyan)}
.dispatch-bulk-approval>small{flex:1;min-width:240px;color:var(--ink3);font-size:10.5px;line-height:1.5}
.dispatch-bulk-approval .btn{margin-left:auto}.dispatch-bulk-column{width:38px;padding-inline:8px;text-align:center}
.dispatch-bulk-conflict{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 12px;border:1px solid rgba(245,158,11,.36);border-radius:var(--r2);background:rgba(245,158,11,.08);color:var(--ink2);font-size:11.5px}
.dispatch-bulk-conflict b{color:var(--amber)}
.dispatch-bulk-check{display:grid;width:44px;height:44px;margin:-8px auto;place-items:center;cursor:pointer}
.operations-table{min-width:1120px}
.operations-actions{white-space:normal;min-width:155px}
.operations-actions .btn{margin:2px 3px 2px 0}
.operations-flags{white-space:normal;min-width:155px;max-width:250px}
.operations-flags .pill{margin:2px 3px 2px 0;white-space:normal;line-height:1.45}
.operations-description{max-width:260px;margin-top:4px;color:var(--ink3);font-size:11px;line-height:1.45;white-space:normal}
.notification-table{min-width:820px}.notification-copy{min-width:280px;max-width:520px;white-space:normal;line-height:1.55}
.notification-copy>div{margin:4px 0;color:var(--ink2);font-size:11.5px}
.notification-automation{padding:0;overflow:hidden}
.notification-automation>.section-title{padding:14px 16px;margin:0;border-bottom:1px solid var(--line)}
.automation-rule-list{display:grid}
.automation-rule-row{display:grid;grid-template-columns:minmax(220px,1.8fr) minmax(110px,.8fr) 88px 72px minmax(112px,.8fr);align-items:center;gap:12px;width:100%;min-height:54px;padding:9px 16px;border:0;border-bottom:1px solid rgba(31,47,74,.72);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.automation-rule-row:hover{background:rgba(34,211,238,.045)}
.automation-rule-row:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.automation-rule-row.selected{background:rgba(34,211,238,.09);box-shadow:inset 3px 0 0 var(--cyan)}
.automation-rule-row>span{min-width:0;color:var(--ink2);font-size:11.5px}
.automation-rule-row>span:first-child{display:grid;gap:3px;color:var(--ink)}
.automation-rule-row small{color:var(--ink3);font-size:10.5px}
.automation-rule-state{font-weight:600;color:#bad9e8!important}
.automation-workspace{padding:16px;background:rgba(9,23,40,.36)}
.automation-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.automation-workspace-head h3{font-size:16px;text-wrap:balance}
.automation-workspace-head p{margin-top:4px;color:var(--ink3);font-size:10.5px;overflow-wrap:anywhere}
.automation-locked-facts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.automation-locked-facts span{padding:5px 8px;border:1px solid #294663;border-radius:7px;background:#0a192b;color:var(--ink2);font-size:10.5px}
.automation-form-grid{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(150px,.65fr);gap:11px}
.automation-form-grid label{display:grid;gap:6px;color:var(--ink2);font-size:11.5px}
.automation-form-grid .wide{grid-column:1/-1}
.automation-form-grid input,.automation-form-grid select,.automation-form-grid textarea,.automation-secondary-actions select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink);font:inherit;outline:none}
.automation-form-grid textarea{min-height:74px;resize:vertical;line-height:1.55}
.automation-form-grid input:focus,.automation-form-grid select:focus,.automation-form-grid textarea:focus,.automation-secondary-actions select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.12)}
.automation-variables{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}
.automation-variables code{padding:3px 6px;border:1px solid #294663;border-radius:6px;background:#071524;color:#a5f3fc;font-size:10.5px}
.automation-sequence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.automation-dirty-note{min-height:18px;margin-top:8px;color:var(--amber);font-size:11px;line-height:1.5}
.automation-sequence>span{color:var(--ink3)}
.automation-sequence .btn{min-width:126px}
.automation-simulation-result{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #275d70;border-radius:10px;background:rgba(34,211,238,.055)}
.automation-simulation-result>div:first-child{display:grid;gap:4px}
.automation-simulation-result span,.automation-simulation-result small{color:var(--ink2);font-size:11px;line-height:1.55}
.automation-simulation-result dl{display:flex;gap:8px;flex-wrap:wrap}
.automation-simulation-result dl>div{min-width:92px;padding:8px 10px;border-radius:8px;background:#0b192a}
.automation-simulation-result dt{color:var(--ink3);font-size:10px}.automation-simulation-result dd{margin-top:3px;color:var(--cyan);font-size:17px;font-weight:700}
.automation-action-status{min-height:18px;margin-top:6px;color:var(--cyan);font-size:11px}
.automation-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.automation-secondary-actions>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.automation-secondary-actions select{width:auto;min-width:190px}
.automation-history{margin-top:12px;color:var(--ink2);font-size:11px}
.automation-history summary{min-height:34px;padding:7px 0;cursor:pointer;color:var(--ink2)}
.automation-history>div{display:grid;grid-template-columns:120px 130px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid rgba(31,47,74,.6)}
.automation-history time{color:var(--ink3)}
.automation-skeleton{height:150px;background:linear-gradient(90deg,rgba(31,47,74,.25),rgba(49,78,112,.35),rgba(31,47,74,.25));background-size:200% 100%;animation:automation-loading 1.5s ease-in-out infinite}
@keyframes automation-loading{to{background-position:-200% 0}}
@media (max-width:700px){
  .automation-rule-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-height:76px;padding:10px 12px}
  .automation-rule-row>span:nth-child(3),.automation-rule-row>span:nth-child(4),.automation-rule-row>span:nth-child(5){font-size:10.5px}
  .automation-rule-row>span:nth-child(5){grid-column:1/-1}
  .automation-workspace{padding:13px 12px}
  .automation-form-grid{grid-template-columns:minmax(0,1fr)}
  .automation-form-grid .wide{grid-column:auto}
  .automation-sequence{display:grid;grid-template-columns:1fr}
  .automation-sequence>span{display:none}
  .automation-sequence .btn,.automation-secondary-actions .btn,.automation-secondary-actions select{width:100%;min-height:44px}
  .automation-secondary-actions,.automation-secondary-actions>div{align-items:stretch;display:grid;grid-template-columns:1fr;width:100%}
  .automation-history>div{grid-template-columns:1fr;gap:3px}
}
@media (prefers-reduced-motion:reduce){.automation-rule-row{transition:none}.automation-skeleton{animation:none}}
.evidence-value{display:flex;align-items:center;gap:6px}
.evidence-meta{font-size:10.5px;color:var(--ink3);margin-top:5px}
td.evidence-reasons{min-width:220px;max-width:310px;white-space:normal;line-height:1.55;color:var(--ink2);font-size:11px}
.empty-state{padding:34px 18px;text-align:center;color:var(--ink3);font-size:12.5px}
.empty-state b{display:block;color:var(--ink2);font-size:14px;margin-bottom:5px}
.connection-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r2);background:var(--panel2);color:var(--ink2);font-size:12px;line-height:1.7;margin-bottom:14px}
.connection-notice strong{color:var(--ink)}
.screen-device-security-note{border-color:#275d70;background:linear-gradient(135deg,rgba(34,211,238,.07),rgba(59,130,246,.04))}
.screen-device-origin-note{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#2d6681;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(15,35,58,.9))}
.screen-device-origin-note>div:first-child{display:grid;gap:7px;min-width:0}
.screen-device-origin-note strong{font-size:14px;color:var(--ink)}
.screen-device-origin-note p{margin:0;color:var(--ink2);font-size:11px;line-height:1.55}
.screen-device-origin-note code{display:block;max-width:100%;padding:8px 10px;border:1px solid #315978;border-radius:7px;background:#071524;color:#a5f3fc;font-size:12px;overflow-wrap:anywhere;user-select:all}
.screen-device-origin-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.screen-device-origin-note.invalid{border-color:#6e5631;background:rgba(245,158,11,.06)}
.screen-device-table{min-width:1040px}
.screen-device-cidrs{display:flex;flex-wrap:wrap;gap:5px;max-width:290px}
.screen-device-cidrs code{padding:3px 7px;border:1px solid #294663;border-radius:6px;background:#091728;color:#b8d8ea;font-size:11px}
.screen-device-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:220px}
.screen-device-secret-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #365878;border-radius:9px;background:#0b192a;color:var(--ink2);font-size:11px}
.screen-device-secret-actions .btn{flex:0 0 auto}
#mf-activationCode[readonly]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;letter-spacing:.08em;color:var(--cyan);background:#081727;border-color:#39708a}
.screen-device-history .section-title{align-items:center}
.screen-device-timeline{display:grid;gap:0}
.screen-device-timeline article{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.screen-device-timeline article:last-child{border-bottom:0}
.screen-device-timeline time{color:var(--ink3);font-size:11px}
.screen-device-timeline article>div{display:grid;gap:4px;min-width:0}
.screen-device-timeline span,.screen-device-timeline small{color:var(--ink2);line-height:1.55;overflow-wrap:anywhere}
.screen-device-timeline small{color:var(--ink3);font-size:10px}
.route-weather-widget>.card-t{margin-bottom:10px}
.route-weather-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;margin:0 0 10px;border:1px solid var(--line);background:var(--line)}
.route-weather-snapshot>span{min-width:0;padding:7px 9px;background:#0f1a2c;color:var(--ink3);font-size:10px;overflow-wrap:anywhere}
.route-weather-snapshot b{display:block;margin-bottom:3px;color:var(--ink2);font-size:9px;font-weight:600}
.route-weather-health{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-1px 0 10px;color:var(--ink3);font-size:10.5px}
.route-weather-alerts{margin:0 0 10px;padding:10px;border:1px solid rgba(239,68,68,.45);border-radius:var(--r2);background:rgba(77,25,35,.35)}
.route-weather-alert-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#fecdd3}
.route-weather-alert-title span{color:#e69ba7;font-size:10px}
.route-weather-alert{margin-top:6px;border:1px solid rgba(239,68,68,.4);background:#271925}
.route-weather-alert.amber{border-color:rgba(245,158,11,.4);background:#2a2418}
.route-weather-alert summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;cursor:pointer;font-size:11px}
.route-weather-alert summary span{min-width:0;overflow-wrap:anywhere}.route-weather-alert summary b{flex:0 0 auto;color:#fecdd3;font-size:10px}.route-weather-alert.amber summary b{color:#fde68a}
.route-weather-alert>div{display:grid;gap:6px;padding:0 9px 9px;color:var(--ink2);font-size:10px;line-height:1.6}.route-weather-alert>div p{margin:0}.route-weather-alert>div span,.route-weather-alerts>p{color:var(--ink3)}
.route-weather-alerts>p{margin-top:8px;font-size:10px}
.route-weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}
.route-weather-item{padding:12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--panel2)}
.route-weather-head,.route-weather-live,.route-weather-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.route-weather-head>div{min-width:0}.route-weather-head b{display:block}.route-weather-head>div span{display:block;margin-top:3px;color:var(--ink3);font-size:10.5px}
.route-weather-status{display:flex!important;align-items:flex-end;gap:5px;flex-direction:column}.route-weather-status .pill{margin:0!important}
.route-weather-live{justify-content:flex-start;align-items:center;margin-top:12px}
.route-weather-live>strong{min-width:72px;color:var(--cyan);font-size:25px}
.route-weather-live>div b,.route-weather-live>div span{display:block}.route-weather-live>div span{margin-top:3px;color:var(--ink2);font-size:11px}
.route-weather-advice{min-height:38px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--ink2);font-size:11px;line-height:1.6}
.route-weather-hourly{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.route-weather-hourly>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink3);font-size:9.5px}.route-weather-hourly>div:first-child b{color:var(--ink2);font-size:10.5px}
.route-weather-hourly-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(82px,1fr);gap:5px;margin-top:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
.route-weather-hourly-list>div{display:grid;gap:2px;padding:6px;border:1px solid #2a3d5d;background:#0f1a2c}.route-weather-hourly-list time,.route-weather-hourly-list small{color:var(--ink3);font-size:9px}.route-weather-hourly-list small{line-height:1.35;overflow-wrap:anywhere}.route-weather-hourly-list b,.route-weather-hourly-list span{font-size:10px}
.route-weather-hourly-empty{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);color:var(--ink3);font-size:10px}
.route-weather-meta{margin-top:8px;color:var(--ink3);font-size:10px;line-height:1.5}.route-weather-meta span:first-child{max-width:62%}
.route-weather-empty{padding:14px;border:1px solid var(--line);border-radius:var(--r2);background:var(--panel2);color:var(--ink2);font-size:12px}
.route-weather-empty b,.route-weather-empty span{display:block}.route-weather-empty span{margin-top:4px;color:var(--ink3)}
.route-weather-unresolved{margin-top:9px;color:var(--ink3);font-size:10.5px}
.route-weather-attribution{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--ink2);font-size:13px;line-height:1.55}.route-weather-attribution b{color:var(--ink);font-weight:650}.route-weather-attribution a{color:var(--cyan);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.dashboard-shell.compact .metric{padding:10px 12px}
.dashboard-shell.compact .metric .mv{font-size:22px}
.dashboard-shell.compact .card{padding:11px 13px}
.dashboard-shell.compact .metrics,.dashboard-shell.compact .grid2{gap:8px}

/* 徽章 */
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}
.pill.cyan{background:rgba(34,211,238,.12);color:var(--cyan);border:1px solid rgba(34,211,238,.3)}
.pill.green{background:rgba(16,185,129,.12);color:var(--green);border:1px solid rgba(16,185,129,.3)}
.pill.amber{background:rgba(245,158,11,.12);color:var(--amber);border:1px solid rgba(245,158,11,.3)}
.pill.red{background:rgba(239,68,68,.12);color:var(--red);border:1px solid rgba(239,68,68,.3)}
.pill.gray{background:rgba(143,163,189,.1);color:var(--ink2);border:1px solid var(--line)}
.pill.blue{background:rgba(59,130,246,.12);color:var(--blue);border:1px solid rgba(59,130,246,.3)}
.pill.violet{background:rgba(167,139,250,.12);color:var(--violet);border:1px solid rgba(167,139,250,.3)}

/* 按钮 */
.btn{padding:7px 15px;border-radius:9px;border:none;cursor:pointer;font-size:12.5px;font-weight:500;
  background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#04121f;transition:all .15s;white-space:nowrap}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn:active{transform:scale(.96)}
.btn.ghost{background:transparent;color:var(--cyan);border:1px solid rgba(34,211,238,.4)}
.btn.danger{background:rgba(239,68,68,.15);color:var(--red);border:1px solid rgba(239,68,68,.4)}
.btn.sm{padding:4px 10px;font-size:11.5px;border-radius:7px}
.btn.green{background:linear-gradient(135deg,#10b981,#22d3ee);color:#04121f}
.btn:disabled,.op-btn:disabled{cursor:not-allowed;opacity:.55;filter:none;transform:none}
.op-btn{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--panel2);
  cursor:pointer;font-size:11.5px;color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;transition:all .15s;margin-right:4px}
.op-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.op-btn.del:hover{border-color:var(--red);color:var(--red)}

/* 首页任务小卡 */
.home-k{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.home-k .hk-v{font-size:20px;font-weight:700}
.home-k .hk-v.cyan{color:var(--cyan)} .home-k .hk-v.blue{color:var(--blue)}
.home-k .hk-v.amber{color:var(--amber)} .home-k .hk-v.green{color:var(--green)}
.home-k .hk-l{font-size:11px;color:var(--ink3);margin-top:3px}

/* 状态流程条 */
.flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px;color:var(--ink3);margin-bottom:14px}
.flow .fstep{display:flex;align-items:center;gap:5px}
.flow .fstep .dot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel2);
  display:flex;align-items:center;justify-content:center;font-size:10.5px;color:var(--ink3)}
.flow .fstep.done .dot{background:linear-gradient(135deg,#10b981,#22d3ee);border-color:transparent;color:#04121f}
.flow .fstep.done{color:var(--green)}
.flow .fstep.cur .dot{background:linear-gradient(135deg,#22d3ee,#3b82f6);border-color:transparent;color:#04121f;
  box-shadow:0 0 10px rgba(34,211,238,.5)}
.flow .fstep.cur{color:var(--cyan);font-weight:600}
.flow .arrow{color:var(--line)}

/* W04 四聚合状态机：沿用现有深色表格与状态色 */
.workflow-state-stack{display:grid;gap:6px;min-width:210px}
.workflow-state-stack>div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:7px}
.workflow-state-stack>div>span:first-child{font-size:10px;color:var(--ink3)}
.workflow-state-stack em{font-size:10.5px;color:var(--ink3);font-style:normal}
.workflow-state-stack small{display:block;color:var(--ink3);font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.workflow-detail-card{border-color:rgba(34,211,238,.3)}
.workflow-detail-card .card-t{justify-content:space-between;gap:12px;flex-wrap:wrap}
.workflow-detail-states{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:12px}
.workflow-detail-states>div{display:grid;gap:5px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);font-size:11px;color:var(--ink3)}
.workflow-detail-history{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.workflow-detail-history li{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:6px 12px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--panel2)}
.workflow-detail-history li:last-child{border-bottom:0}
.workflow-detail-history li div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.workflow-detail-history li div span,.workflow-detail-history time{font-size:10px;color:var(--ink3)}
.workflow-detail-history li p{grid-column:1/-1;margin:0;color:var(--ink2);font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
.workflow-timeline{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid rgba(34,211,238,.24);border-radius:10px;background:rgba(9,23,40,.32)}
.workflow-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.workflow-timeline-head>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.workflow-timeline-head b{font-size:12px;color:var(--ink)}.workflow-timeline-head span:not(.pill){font-size:10px;color:var(--ink3)}
.workflow-timeline-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.workflow-timeline-list li{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;padding:9px 0 9px 1px}
.workflow-timeline-list li:not(:last-child)::before{content:"";position:absolute;left:5px;top:19px;bottom:-1px;width:1px;background:rgba(34,211,238,.28)}
.workflow-timeline-dot{position:relative;z-index:1;width:10px;height:10px;margin-top:3px;border:2px solid var(--cyan);border-radius:50%;background:var(--panel)}
.workflow-timeline-entry{display:grid;gap:3px;min-width:0}.workflow-timeline-entry>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.workflow-timeline-entry b{font-size:11.5px;color:var(--ink)}.workflow-timeline-entry div span{padding:1px 6px;border:1px solid rgba(34,211,238,.25);border-radius:999px;color:var(--cyan);font-size:9.5px}
.workflow-timeline-entry time,.workflow-timeline-entry small{font-size:10px;color:var(--ink3)}.workflow-timeline-entry p{margin:0;color:var(--ink2);font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}.workflow-timeline-note{margin:0;color:var(--ink3);font-size:10px;line-height:1.5}
.workflow-timeline-source-recovery{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid rgba(239,68,68,.42);border-radius:8px;background:rgba(239,68,68,.08)}
.workflow-timeline-source-recovery>div{display:grid;gap:2px;min-width:0}.workflow-timeline-source-recovery strong{color:#fecaca;font-size:10.5px}.workflow-timeline-source-recovery span{color:var(--ink2);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.workflow-timeline-source-recovery .btn{flex:0 0 auto}
.workflow-timeline-error-actions{display:flex;justify-content:flex-end;margin-top:10px}
.workflow-timeline-coverage{display:flex;flex-wrap:wrap;gap:5px 12px;padding:8px 10px;border:1px solid rgba(245,158,11,.38);border-radius:8px;background:rgba(245,158,11,.08);color:var(--ink2);font-size:10px;line-height:1.45}.workflow-timeline-coverage span::before{content:"·";margin-right:5px;color:var(--amber)}
.workflow-timeline-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(22,35,60,.56);color:var(--ink2);font-size:10.5px;line-height:1.5}
.workflow-timeline-pagination span{min-width:0;overflow-wrap:anywhere}.workflow-timeline-pagination .btn{flex:0 0 auto}
.workflow-timeline-pagination.error{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.075);color:#fecaca}
.workflow-timeline-pagination.blocked{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.07)}
.workflow-timeline-pagination.complete{justify-content:center;background:transparent;color:var(--ink3);text-align:center}
.workflow-timeline-empty{padding:12px 0;color:var(--ink3);font-size:10.5px}
.workflow-blockers{grid-column:1/-1;display:grid;gap:5px;margin:6px 0 10px;padding:8px 10px;border:1px solid rgba(245,158,11,.42);border-radius:8px;background:rgba(245,158,11,.09);color:#fcd98d;font-size:10.5px;line-height:1.5}
.workflow-blockers span{overflow-wrap:anywhere}
.workflow-archive-evidence{grid-column:1/-1;display:grid;gap:4px;margin:6px 0 10px;padding:8px 10px;border:1px solid rgba(16,185,129,.3);border-radius:8px;background:rgba(16,185,129,.07);font-size:9.5px;color:var(--ink2)}
.workflow-archive-evidence span{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px;overflow-wrap:anywhere}.workflow-archive-evidence b{color:var(--ink3);font-weight:500}
.document-job-panel{grid-column:1/-1;min-width:0;display:grid;gap:7px;margin:6px 0 10px;padding:10px;border:1px solid rgba(34,211,238,.32);border-radius:8px;background:rgba(34,211,238,.055)}
.document-job-head,.document-job-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.document-job-head b{font-size:11px;color:var(--ink2)}
.document-job-poll{color:var(--cyan);font-size:9.5px}
.document-job-meta{min-width:0;color:var(--ink3);font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.document-job-error{padding:7px 8px;border:1px solid rgba(239,68,68,.32);border-radius:7px;background:rgba(239,68,68,.08);color:#fca5a5;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.document-job-actions .btn{max-width:100%;white-space:normal}

/* 异常清单 */
.anomaly-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px;margin-bottom:7px;font-size:12.5px}
.anomaly-item .ai-ic{width:28px;height:28px;border-radius:8px;background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.3);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.anomaly-item .ai-body{flex:1;min-width:0}
.anomaly-item .ai-t{font-weight:600;margin-bottom:2px}
.anomaly-item .ai-d{font-size:11.5px;color:var(--ink3)}
.anomaly-item .ai-reason{font-size:11px;color:var(--amber);margin-top:3px}
.anomaly-item .ai-ops{display:flex;gap:6px;flex-shrink:0}

/* 表单 */
.f-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.f-item label{display:block;font-size:11.5px;color:var(--ink2);margin-bottom:5px}
.f-item input,.f-item select,.f-item textarea{width:100%;padding:8px 11px;border:1px solid var(--line);border-radius:9px;
  background:var(--panel2);color:var(--ink);font-size:12.5px;outline:none;font-family:inherit}
.f-item textarea{min-height:84px;resize:vertical;line-height:1.6}
.f-item{min-width:0}.f-item input[type=file]{min-width:0;max-width:100%;padding:6px;color:var(--ink2);color-scheme:dark}
.f-item input[type=file]::file-selector-button{margin-right:9px;padding:5px 9px;border:1px solid rgba(34,211,238,.4);
  border-radius:7px;background:transparent;color:var(--cyan);font:inherit;cursor:pointer}
.f-item input:focus,.f-item select:focus,.f-item textarea:focus{border-color:var(--cyan)}
.f-item input::placeholder,.f-item textarea::placeholder{color:var(--ink3)}
.f-item .field-help{font-size:10.5px;color:var(--ink3);margin-top:4px;line-height:1.5}
.form-error{display:none;margin-top:12px;padding:8px 10px;border-radius:9px;background:rgba(239,68,68,.1);
  border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:11.5px;line-height:1.6}
.form-error.on{display:block}

/* 费用票据与 OCR：沿用现有深色卡片、表格和状态色 */
.expense-attachment-workbench{border-color:rgba(34,211,238,.28)}
.admin-request-attachment-list{display:grid;gap:9px;max-height:min(62vh,560px);overflow:auto;padding:2px}
.admin-request-attachment-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);min-width:0}
.admin-request-attachment-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:rgba(34,211,238,.12);color:var(--cyan);font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.admin-request-attachment-copy{display:grid;gap:3px;min-width:0}.admin-request-attachment-copy strong,.admin-request-attachment-copy span,.admin-request-attachment-copy small{overflow-wrap:anywhere}.admin-request-attachment-copy span,.admin-request-attachment-copy small{color:var(--ink3);font-size:11px;line-height:1.45}.admin-request-attachment-note{margin:10px 2px 0;color:var(--ink3);font-size:11px;line-height:1.6}
@media (max-width:560px){.admin-request-attachment-item{grid-template-columns:36px minmax(0,1fr);align-items:start}.admin-request-attachment-mark{width:34px;height:34px}.admin-request-attachment-item>.btn{grid-column:1/-1;width:100%}}
.expense-attachment-head{flex-wrap:wrap}.expense-attachment-head>button{margin-left:auto}
.expense-provider-note{padding:10px 12px;border-left:3px solid var(--cyan);background:var(--panel2);
  color:var(--ink2);font-size:11.5px;line-height:1.7}
.expense-provider-note b{color:var(--ink)}
.expense-attachment-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:11px 0;color:var(--ink3);font-size:11px}
.expense-attachment-list{display:grid;gap:10px}
.expense-attachment-item{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel2);overflow:hidden}
.expense-attachment-summary{display:grid;grid-template-columns:44px minmax(180px,1fr) auto minmax(210px,auto);
  align-items:center;gap:10px;padding:11px 12px}
.expense-file-mark{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(34,211,238,.3);
  border-radius:9px;background:rgba(34,211,238,.08);color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:.4px}
.expense-file-copy{min-width:0}.expense-file-copy b{display:block;overflow-wrap:anywhere}
.expense-file-copy div{margin-top:3px;color:var(--ink3);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}
.expense-attachment-state,.expense-attachment-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.expense-attachment-actions{justify-content:flex-end}
.expense-ocr-error{margin:0 12px 11px;padding:8px 10px;border:1px solid rgba(239,68,68,.3);border-radius:8px;
  background:rgba(239,68,68,.08);color:#fca5a5;font-size:11px;line-height:1.55}
.expense-ocr-review{padding:11px 12px;border-top:1px solid var(--line);background:rgba(8,15,29,.25)}
.expense-ocr-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.expense-ocr-title span{color:var(--ink3);font-size:10.5px;text-align:right}
.expense-ocr-table{min-width:760px}.expense-ocr-table td{white-space:normal;min-width:150px}
.expense-ocr-table td:first-child{min-width:90px}.expense-ocr-table td span{display:block;margin-top:3px;font-size:10px}
.expense-ocr-table .ocr-matched{background:rgba(34,211,238,.05);color:var(--cyan)}
.expense-ocr-table .ocr-different{background:rgba(245,158,11,.05);color:var(--amber)}
.expense-ocr-table .ocr-missing{color:var(--ink3)}
.expense-ocr-empty{padding:12px;border:1px dashed var(--line);border-radius:8px;color:var(--ink2);font-size:11.5px;line-height:1.65}

/* 系统与 API 配置：复用现有卡片、状态色和按钮语言 */
.configuration-card{padding:16px}
.configuration-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.configuration-card-head .card-t{margin-bottom:4px}.configuration-card-head .sub{font-size:11.5px;color:var(--ink3);line-height:1.6}
.configuration-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;color:var(--ink3);font-size:10.5px}
.configuration-meta span{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
.configuration-meta b{color:var(--ink2);font-weight:500}
.configuration-draft{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 12px;border:1px solid rgba(245,158,11,.28);border-radius:var(--r2);background:rgba(245,158,11,.055)}
.configuration-draft>div:first-child{display:flex;flex-direction:column;gap:4px}.configuration-draft>div:first-child span{font-size:10.5px;color:var(--ink3)}
.configuration-draft.configuration-rejected{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.055)}
.configuration-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.configuration-details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.configuration-details summary{cursor:pointer;color:var(--cyan);font-size:11.5px;list-style-position:inside}
.configuration-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px;margin-top:10px}
.configuration-values>div,.configuration-readiness>div{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);min-width:0}
.configuration-values span,.configuration-readiness span{font-size:10px;color:var(--ink3)}
.configuration-values b,.configuration-readiness b{font-size:11.5px;color:var(--ink2);font-weight:500;overflow-wrap:anywhere}
.configuration-readiness{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px;margin-bottom:10px}
.configuration-readiness b.green{color:var(--green)}.configuration-readiness b.amber{color:var(--amber)}.configuration-readiness b.red{color:var(--red)}
.configuration-history{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
.configuration-history>b{font-size:11px;color:var(--ink2);margin-right:3px}
.configuration-onboarding{margin-top:12px;border:1px solid var(--line);border-radius:var(--r2);background:rgba(34,211,238,.025);overflow:hidden}
.configuration-onboarding summary{cursor:pointer;padding:10px 12px;color:var(--cyan);font-size:11.5px;font-weight:600;list-style-position:inside}
.configuration-onboarding[open] summary{border-bottom:1px solid var(--line);background:rgba(34,211,238,.035)}
.configuration-onboarding-body{min-width:0;padding:12px}
.configuration-onboarding-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.configuration-onboarding-title b{font-size:12px;color:var(--ink2)}.configuration-onboarding-title span{font-size:10px;color:var(--ink3)}
.configuration-resource-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.configuration-resource-link{white-space:normal;text-align:center;overflow-wrap:anywhere}
.configuration-onboarding ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;counter-reset:configuration-step}
.configuration-onboarding li{counter-increment:configuration-step;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink2);font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.configuration-onboarding li::before{content:counter(configuration-step);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:rgba(34,211,238,.12);color:var(--cyan);font-size:10px;font-weight:700;vertical-align:top}
.configuration-provider-note{margin:9px 0 0;padding:8px 10px;border-left:3px solid var(--amber);background:rgba(245,158,11,.055);color:var(--ink3);font-size:10.5px;line-height:1.65;overflow-wrap:anywhere}
.settings-inline-state.warning{border-color:color-mix(in oklab,var(--c-warn,#f59e0b) 36%,var(--c-border,#1f2f4a));background:color-mix(in oklab,var(--c-warn,#f59e0b) 7%,var(--c-bg-elevated,#111c30))}
.configuration-current-state>div,.configuration-rejected-notice>div{flex:1}
.configuration-rejected-notice{align-items:flex-start!important}
.configuration-rejected-notice .btn{flex:0 0 auto;margin:0!important}
.agent-dsh-deployment-note{grid-column:1/-1;min-width:0;display:grid;gap:10px;padding:12px;border:1px solid color-mix(in oklab,var(--c-warn,#f59e0b) 36%,var(--c-border,#1f2f4a));border-radius:10px;background:color-mix(in oklab,var(--c-warn,#f59e0b) 7%,var(--c-bg-elevated,#111c30))}
.agent-dsh-deployment-note[data-state="ready"]{border-color:color-mix(in oklab,var(--c-primary,#10b981) 34%,var(--c-border,#1f2f4a));background:color-mix(in oklab,var(--c-primary,#10b981) 6%,var(--c-bg-elevated,#111c30))}
.agent-dsh-deployment-note header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agent-dsh-deployment-note header>div{min-width:0;display:grid;gap:3px}.agent-dsh-deployment-note header span{color:var(--c-warn,#f59e0b);font:600 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px}.agent-dsh-deployment-note header b{font-size:12px}.agent-dsh-deployment-note header small{color:var(--c-muted,#94a3b8);font-size:10px;text-align:right}
.agent-dsh-deployment-note ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.agent-dsh-deployment-note li{min-width:0;display:grid;gap:4px;padding:9px;border:1px solid var(--c-border,#1f2f4a);border-radius:8px;background:color-mix(in oklab,var(--c-surface,#0f1c2e) 88%,transparent)}.agent-dsh-deployment-note li b{font-size:10.5px}.agent-dsh-deployment-note li span,.agent-dsh-deployment-note p{color:var(--c-muted,#94a3b8);font-size:9.5px;line-height:1.5;overflow-wrap:anywhere}.agent-dsh-deployment-note li[data-state="ready"] b{color:var(--c-primary,#10b981)}.agent-dsh-deployment-note li[data-state="blocked"] b{color:var(--c-warn,#f59e0b)}.agent-dsh-deployment-note p{margin:0;padding-top:2px}
@media (max-width:700px){.agent-dsh-deployment-note header{flex-direction:column}.agent-dsh-deployment-note header small{text-align:left}.agent-dsh-deployment-note ol{grid-template-columns:1fr}}
.configuration-diagnostic-log{min-width:0;padding:16px 0;border-bottom:1px solid var(--c-border,var(--line))}
.configuration-diagnostic-log>header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px}
.configuration-diagnostic-log>header>div{min-width:0}
.configuration-diagnostic-log>header span{display:block;margin-bottom:3px;color:var(--c-info,var(--cyan));font:600 8.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.configuration-diagnostic-log h4{margin:0;color:var(--c-fg,var(--ink));font-size:12px;font-weight:600}
.configuration-diagnostic-log>header small{color:var(--c-muted,var(--ink3));font-size:9.5px;white-space:nowrap}
.configuration-diagnostic-log ol{display:grid;gap:0;margin:0;padding:0;list-style:none}
.configuration-diagnostic-log li{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;min-width:0;padding:0 0 12px}
.configuration-diagnostic-log li:not(:last-child)::before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:var(--c-border,var(--line))}
.configuration-diagnostic-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:2px solid var(--c-border,var(--line));border-radius:50%;background:var(--c-bg-elevated,var(--panel))}
.configuration-diagnostic-log li.ready .configuration-diagnostic-marker{border-color:var(--c-primary,var(--green))}
.configuration-diagnostic-log li.warning .configuration-diagnostic-marker{border-color:var(--c-warn,var(--amber))}
.configuration-diagnostic-log li.blocked .configuration-diagnostic-marker{border-color:var(--c-danger,var(--red))}
.configuration-diagnostic-event{min-width:0;padding:10px 11px;border:1px solid var(--c-border,var(--line));border-radius:9px;background:color-mix(in oklab,var(--c-surface,var(--panel2)) 78%,transparent)}
.configuration-diagnostic-log li.blocked .configuration-diagnostic-event{border-color:color-mix(in oklab,var(--c-danger,var(--red)) 24%,var(--c-border,var(--line)))}
.configuration-diagnostic-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.configuration-diagnostic-title span{color:var(--c-muted,var(--ink3));font-size:9.5px}
.configuration-diagnostic-title time{color:var(--c-subtle,var(--ink3));font:500 8.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.configuration-diagnostic-event>b{display:block;color:var(--c-fg,var(--ink));font-size:11px;font-weight:600;line-height:1.45}
.configuration-diagnostic-event p{display:grid;grid-template-columns:44px minmax(0,1fr);gap:5px;margin:5px 0 0;color:var(--c-muted,var(--ink3));font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.configuration-diagnostic-event p strong{color:var(--c-subtle,var(--ink2));font-weight:550}
.configuration-diagnostic-event code{display:inline-block;max-width:100%;margin-top:7px;padding:2px 5px;border-radius:4px;background:var(--c-bg,var(--bg));color:var(--c-subtle,var(--ink3));font-size:8.5px;overflow-wrap:anywhere}
.configuration-diagnostic-empty{padding:12px;border:1px dashed var(--c-border,var(--line));border-radius:9px;color:var(--c-muted,var(--ink3));font-size:10px;line-height:1.55}
.integration-runtime-note{border-color:#275d70;background:rgba(34,211,238,.035)}
.integration-runtime-metrics{margin-bottom:12px}
.integration-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.integration-provider-card{display:grid;align-content:start;gap:12px;margin:0;min-width:0;padding:15px}
.integration-provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.integration-provider-head>div:first-child{min-width:0}.integration-provider-head h3{font-size:14px;color:var(--ink)}
.integration-provider-head p{margin-top:4px;color:var(--ink3);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}
.integration-provider-facts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.integration-provider-facts span{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--ink3);font-size:10.5px}
.integration-provider-facts b{color:var(--ink2);font-weight:600}
.integration-capabilities{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;min-height:31px}
.integration-capability{display:grid;gap:2px;max-width:100%;padding:5px 7px;border:1px solid #294663;border-radius:7px;background:#0a192b}
.integration-capability code{color:#a5f3fc;font-size:10px;overflow-wrap:anywhere}.integration-capability small{color:var(--ink3);font-size:9px}
.integration-no-capability{align-self:center;color:var(--ink3);font-size:10.5px}
.integration-health-empty,.integration-health-error,.integration-health-result{min-height:88px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.integration-health-empty,.integration-health-error{display:grid;align-content:center;gap:4px}.integration-health-empty b,.integration-health-error b{font-size:11.5px;color:var(--ink2)}
.integration-health-empty span,.integration-health-error span{color:var(--ink3);font-size:10.5px;line-height:1.5;overflow-wrap:anywhere}
.integration-health-error{border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.045)}.integration-health-error b{color:var(--red)}
.integration-health-result>div:first-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.integration-health-result dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.integration-health-result dt{color:var(--ink3);font-size:9.5px}.integration-health-result dd{margin-top:2px;color:var(--ink2);font-size:10.5px;overflow-wrap:anywhere}
.integration-health-result p{margin-top:7px;color:var(--ink3);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.integration-health-result p.red{color:var(--red)}
.integration-provider-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding-top:1px}
.integration-test-result,.integration-test-error{padding:8px 10px;border-left:3px solid var(--green);background:rgba(34,197,94,.045);color:var(--ink2);font-size:10.5px;line-height:1.5}
.integration-test-result.not-up{border-color:var(--red);background:rgba(239,68,68,.045)}
.integration-test-error{border-color:var(--red);background:rgba(239,68,68,.045);color:var(--red)}
.integration-permission-note{margin-top:12px}
.integration-runtime-skeleton{height:210px;border-radius:9px;background:linear-gradient(90deg,rgba(31,47,74,.24),rgba(49,78,112,.36),rgba(31,47,74,.24));background-size:200% 100%;animation:automation-loading 1.5s ease-in-out infinite}

/* 弹窗 */
.mask{position:fixed;inset:0;background:rgba(4,12,26,.6);backdrop-filter:blur(3px);z-index:100;
  display:none;align-items:center;justify-content:center;padding:20px}
.mask.on{display:flex;animation:fadein .2s ease}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:100%;max-width:560px;
  max-height:86vh;overflow-y:auto;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:pop .25s ease}
.modal.wide{max-width:980px}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.modal h3{font-size:15px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.modal .f-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.modal .btns{display:flex;gap:10px;margin-top:18px}
.modal .btns .btn{flex:1}

/* 评价星 */
.stars{color:var(--amber);letter-spacing:2px;font-size:12px}
.stars .off{color:var(--ink3)}

/* 进度条 */
.pbar{height:7px;border-radius:4px;background:#1b2c48;overflow:hidden}
.pbar i{display:block;height:100%;border-radius:4px}

/* 大屏卡片 */
.screen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.screen-card{background:linear-gradient(160deg,#111c30,#0e1828);border:1px solid var(--line);
  border-radius:var(--r);padding:14px;position:relative}
.screen-card .sc-t{font-size:12px;color:var(--ink2);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.screen-card .sc-v{font-size:24px;font-weight:700;color:var(--cyan)}

/* 柱状图 */
.bars{display:flex;align-items:flex-end;gap:8px;height:110px;padding:4px 2px 0}
.bars .bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;justify-content:flex-end}
.bars .bar .bv{font-size:10.5px;color:var(--ink2)}
.bars .bar .bt{font-size:10px;color:var(--ink3);white-space:nowrap}
.bars .bar i{width:70%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#22d3ee,#3b82f6);min-height:3px}

/* 油耗质量中心：沿用现有卡片、表格和状态色 */
.fuel-vehicle-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.fuel-quality-table{min-width:1040px}
.fuel-quality-bars{height:150px}
.fuel-quality-bars .fuel-bar-value{font-size:9px;color:var(--ink3)}
.fuel-quality-bars .fuel-bar-value.danger{color:var(--red)}
.fuel-quality-bars .fuel-bar-valid{background:linear-gradient(180deg,#22d3ee,#3b82f6)}
.fuel-quality-bars .fuel-bar-over{background:linear-gradient(180deg,#ef4444,#ef444488)}
.fuel-quality-bars .fuel-bar-muted{background:linear-gradient(180deg,#64748b,#334155)}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.evaluation-table{min-width:1120px}
.evaluation-token-notice{align-items:center}
.evaluation-token-notice>div:nth-child(2){min-width:0;flex:1}
.evaluation-token-notice code{display:inline-block;max-width:100%;margin:5px 0;color:var(--cyan);word-break:break-all;user-select:all}
.token-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.modal-state{min-height:190px;display:grid;place-content:center;justify-items:center;gap:8px;padding:26px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:rgba(10,18,32,.5)}
.modal-state b{font-size:14px}.modal-state span{max-width:520px;color:var(--ink3);font-size:11.5px;line-height:1.65}.modal-state .btn{margin-top:8px}
.modal-state.error{border-color:rgba(239,68,68,.42);background:rgba(127,29,29,.08)}.modal-state.error b{color:#fca5a5}

/* 维修工单行项目：页面只做录入预览，服务端保存后重新汇总 */
.maintenance-line-editor{grid-column:1/-1;min-width:0;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
.maintenance-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.maintenance-line-head>div{display:flex;align-items:baseline;gap:9px}.maintenance-line-head b{font-size:13px}.maintenance-line-head span{font:500 10.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink3)}
.maintenance-line-list{display:grid;gap:8px}
.maintenance-line-item{display:grid;grid-template-columns:48px minmax(0,1fr) 136px;gap:10px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(100deg,rgba(22,35,60,.74),rgba(12,23,40,.82));position:relative}
.maintenance-line-item::before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:2px;border-radius:2px;background:var(--cyan);opacity:.45}
.maintenance-line-order{display:grid;align-content:start;justify-items:center;gap:7px}.maintenance-line-order>b{font:700 15px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cyan)}
.maintenance-line-order>div{display:flex;gap:3px}.maintenance-line-order button,.maintenance-line-remove{border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--ink2);cursor:pointer}
.maintenance-line-order button{width:27px;height:27px}.maintenance-line-order button:disabled,.maintenance-line-remove:disabled{opacity:.3;cursor:not-allowed}
.maintenance-line-fields{display:grid;grid-template-columns:120px minmax(180px,1fr) 105px 130px;gap:8px;min-width:0}
.maintenance-line-fields label{display:grid;align-content:start;gap:5px;min-width:0;color:var(--ink2);font-size:10.5px;font-weight:600;letter-spacing:.2px}
.maintenance-line-fields input,.maintenance-line-fields select{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#0c1728;color:var(--ink);font:12px/1.4 inherit;outline:none}
.maintenance-line-fields input:focus,.maintenance-line-fields select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.08)}
.maintenance-line-amount{display:grid;align-content:center;justify-items:end;gap:6px;padding-left:10px;border-left:1px solid var(--line)}
.maintenance-line-amount span{font-size:10px;color:var(--ink3)}.maintenance-line-amount b{font:700 15px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cyan)}
.maintenance-line-remove{min-width:64px;min-height:30px;padding:4px 10px;color:#fca5a5;font-size:11px}
.maintenance-line-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:11px 12px;border:1px solid rgba(34,211,238,.28);border-radius:10px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(59,130,246,.04))}
.maintenance-line-summary>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px 10px;white-space:nowrap}.maintenance-line-summary span{font-size:10.5px;color:var(--ink3)}.maintenance-line-summary b{font-size:19px;color:var(--cyan)}.maintenance-line-summary small{grid-column:1/-1;color:var(--ink2)}
.maintenance-line-summary p{max-width:460px;color:var(--ink3);font-size:10.5px;line-height:1.55;text-align:right}
.maintenance-editor-gate{margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(10,18,32,.55);color:var(--ink2);font-size:11px;line-height:1.5}
.maintenance-editor-gate[data-state="dirty"]{border-color:rgba(245,158,11,.45);color:#fbbf24}.maintenance-editor-gate[data-state="saved"]{border-color:rgba(16,185,129,.36);color:#6ee7b7}

/* 员工评价：先完整读取只读证据，再开放复核动作 */
.evaluation-detail{display:grid;gap:12px;min-width:0}
.evaluation-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;border:1px solid rgba(34,211,238,.3);border-radius:11px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(59,130,246,.04))}
.evaluation-detail-hero>div{min-width:0}.evaluation-detail-hero span{font:600 9.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.7px;color:var(--cyan)}.evaluation-detail-hero h4{margin:6px 0 4px;font-size:17px}.evaluation-detail-hero p{color:var(--ink3);font-size:10.5px}
.evaluation-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.evaluation-detail-facts>div{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg2)}
.evaluation-detail-facts span,.evaluation-detail-facts b{display:block}.evaluation-detail-facts span{font-size:10px;color:var(--ink3)}.evaluation-detail-facts b{margin-top:4px;font-size:12px;overflow-wrap:anywhere}
.evaluation-detail-warning{display:grid;gap:3px;padding:9px 11px;border-left:3px solid var(--amber);border-radius:0 8px 8px 0;background:rgba(245,158,11,.07);font-size:11px;line-height:1.55}.evaluation-detail-warning span{color:var(--ink2)}
.evaluation-detail-section{min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(10,18,32,.45)}
.evaluation-detail-section .section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.evaluation-detail-section .section-title b{font-size:12.5px}.evaluation-detail-section .section-title span{font-size:10px;color:var(--ink3)}
.evaluation-answer-list,.evaluation-issue-list{display:grid;gap:7px}.evaluation-answer-list article,.evaluation-issue-list article{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}
.evaluation-answer-list article>div,.evaluation-issue-list article>div{display:flex;align-items:flex-start;gap:7px}.evaluation-answer-list article>div>span{display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:5px;background:rgba(34,211,238,.1);color:var(--cyan);font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.evaluation-answer-list b,.evaluation-issue-list b{font-size:11.5px;line-height:1.5}.evaluation-answer-list p,.evaluation-issue-list p{margin-top:6px;color:var(--ink2);font-size:11.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.evaluation-answer-list small{display:block;margin-top:4px;color:var(--ink3)}
.evaluation-issue-list article>div{justify-content:space-between}.evaluation-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.evaluation-review-history{display:grid;gap:8px;list-style:none}.evaluation-review-history li{padding:9px 10px;border-left:2px solid rgba(34,211,238,.38);background:var(--bg2)}.evaluation-review-history li>div{display:flex;justify-content:space-between;gap:8px}.evaluation-review-history b{font-size:11.5px}.evaluation-review-history time{color:var(--ink3);font-size:10px}.evaluation-review-history p{margin-top:5px;color:var(--ink2);font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.evaluation-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-top:1px solid var(--line);background:rgba(10,18,32,.45)}.evaluation-detail-actions p{max-width:390px;color:var(--ink3);font-size:10.5px;line-height:1.55}.evaluation-detail-actions>div{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}

/* 报表与审计：固定目录下载 + 组织隔离审计查询 */
#page-reportsAudit{min-width:0}.reporting-intro{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.reporting-intro>div{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,rgba(34,211,238,.07),rgba(59,130,246,.03))}
.reporting-intro span,.report-card-head span{font:600 9.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px;color:var(--cyan)}.reporting-intro b{display:block;margin:5px 0 3px;font-size:13px}.reporting-intro p{color:var(--ink3);font-size:10.5px;line-height:1.55}
.reporting-section{margin-top:14px}.reporting-section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px;padding:0 2px}.reporting-section-title>div{display:flex;align-items:center;gap:8px}.reporting-section-title>div>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(34,211,238,.38);border-radius:7px;color:var(--cyan);font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.reporting-section-title h3{font-size:14px}.reporting-section-title p{max-width:520px;color:var(--ink3);font-size:10.5px;text-align:right}
.report-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:10px}.report-card{display:grid;align-content:start;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.report-card-head{display:flex;justify-content:space-between;gap:12px}.report-card-head h3{margin:5px 0 3px;font-size:15px}.report-card-head p{color:var(--ink3);font-size:10.5px;line-height:1.5}.report-column-count{height:27px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;color:var(--ink2);font:600 10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.report-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-filter-grid label,.audit-filter-grid label{display:grid;gap:5px;min-width:0;color:var(--ink2);font-size:10.5px;font-weight:600}.report-filter-grid input,.report-filter-grid select,.audit-filter-grid input,.audit-filter-grid select{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#0c1728;color:var(--ink);font:12px/1.4 inherit;outline:none}.report-filter-grid input:focus,.report-filter-grid select:focus,.audit-filter-grid input:focus,.audit-filter-grid select:focus{border-color:var(--cyan)}
.report-columns{padding:8px 9px;border:1px dashed var(--line);border-radius:8px;background:rgba(10,18,32,.42);font-size:10px;line-height:1.55}.report-columns b{display:block;margin-bottom:3px;color:var(--ink2)}.report-columns span{color:var(--ink3);overflow-wrap:anywhere}.report-download{width:100%;margin-top:auto}
.report-export-state{display:grid;gap:2px;padding:8px 9px;border-radius:8px;font-size:10.5px;line-height:1.5}.report-export-state.error{border:1px solid rgba(239,68,68,.38);background:rgba(127,29,29,.08);color:#fecaca}.report-export-state.success{border:1px solid rgba(16,185,129,.35);background:rgba(6,78,59,.08);color:#a7f3d0}.report-export-state span{color:var(--ink2);overflow-wrap:anywhere}
.audit-filter-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(120px,1fr));gap:8px;margin-bottom:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.audit-filter-grid .wide{grid-column:span 2}.audit-filter-actions{display:flex;align-items:end;gap:6px}.audit-filter-actions .btn{flex:1}
.audit-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.audit-view-toolbar>div:first-child{display:grid;gap:3px}.audit-view-toolbar b{font-size:12px}.audit-view-toolbar span{color:var(--ink3);font-size:10.5px}.audit-view-toolbar>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.audit-ledger-notice{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;padding:9px 10px;border:1px solid rgba(34,211,238,.3);border-radius:8px;background:rgba(34,211,238,.05);font-size:10.5px;line-height:1.55}.audit-ledger-notice b{flex:0 0 auto;color:var(--cyan)}.audit-ledger-notice span{color:var(--ink2)}.audit-ledger-notice code,.audit-pii-ledger-table code{color:var(--cyan);font-size:10.5px}.audit-pii-ledger-table{min-width:900px}.audit-pii-ledger-table td:nth-child(4){max-width:280px;overflow-wrap:anywhere}.audit-pii-ledger-table .pill{display:inline-flex;margin:2px 2px 2px 0}
.audit-log-table{min-width:1100px}.audit-log-table code{color:var(--cyan);font-size:10.5px}.audit-summary-cell{max-width:250px;color:var(--ink2);font-size:10.5px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink3);font-size:10.5px}.audit-pagination>div{display:flex;gap:6px}
.audit-detail,.modal-state{grid-column:1/-1}.audit-detail{display:grid;gap:10px;min-width:0}.audit-detail-hero{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(34,211,238,.3);border-radius:10px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(59,130,246,.04))}.audit-detail-hero span{font:600 9.5px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px;color:var(--cyan)}.audit-detail-hero h4{margin:5px 0 3px;font-size:15px}.audit-detail-hero p{color:var(--ink3);font-size:10.5px}
.audit-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.audit-detail-facts>div{padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);min-width:0}.audit-detail-facts span,.audit-detail-facts b,.audit-detail-facts small{display:block}.audit-detail-facts span{color:var(--ink3);font-size:9.5px}.audit-detail-facts b{margin-top:4px;font-size:11.5px;overflow-wrap:anywhere}.audit-detail-facts small{margin-top:3px;color:var(--ink3);font-size:9.5px;overflow-wrap:anywhere}
.audit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.audit-detail-grid article{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--bg2);overflow:hidden}.audit-detail-grid article>div{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;border-bottom:1px solid var(--line)}.audit-detail-grid article>div b{font-size:11px}.audit-detail-grid article>div span{color:var(--ink3);font-size:9.5px}.audit-detail-grid pre{max-height:310px;overflow:auto;padding:9px;color:var(--ink2);font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.audit-detail-note{padding:8px 10px;border-left:3px solid var(--cyan);background:rgba(34,211,238,.05);color:var(--ink3);font-size:10.5px;line-height:1.55}
.quality-explain{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.65}
.quality-explain:last-child{border-bottom:0}
.quality-explain span{color:var(--ink2)}
.quality-reasons{max-width:260px;margin-top:4px;color:var(--ink3);font-size:10.5px;line-height:1.45}
.capability-cell{min-width:210px;white-space:normal;line-height:2}
.table-link{border:0;background:none;color:var(--cyan);font:inherit;font-weight:700;cursor:pointer;padding:2px 0}
.table-link:hover{text-decoration:underline}

/* 雷达/环 */
.ring{width:76px;height:76px;position:relative;flex-shrink:0}
.ring svg{transform:rotate(-90deg)}
.ring .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .num b{font-size:17px;color:var(--cyan)}
.ring .num span{font-size:9px;color:var(--ink3)}

/* 排名 */
.rank-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;margin-bottom:6px;
  background:var(--panel2);border:1px solid var(--line);font-size:12.5px}
.rank-item .rk{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11.5px;font-weight:600;background:#1b2c48;color:var(--ink2);flex-shrink:0}
.rank-item:nth-child(1) .rk{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#1a1000}
.rank-item:nth-child(2) .rk{background:linear-gradient(135deg,#94a3b8,#64748b);color:#0b1220}
.rank-item:nth-child(3) .rk{background:linear-gradient(135deg,#d97706,#b45309);color:#1a1000}
.rank-item .rn{flex:1;font-weight:500}
.rank-item .rs{font-weight:700;color:var(--cyan)}

/* toast */
.toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:#0e3a4a;color:#a5f3fc;border:1px solid rgba(34,211,238,.4);padding:11px 22px;
  border-radius:999px;font-size:13px;z-index:200;opacity:0;pointer-events:none;transition:all .3s}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* 登录层 */
.login-mask{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;
  background:
    radial-gradient(700px 400px at 80% -10%, rgba(34,211,238,.12), transparent 60%),
    radial-gradient(600px 400px at 10% 110%, rgba(59,130,246,.12), transparent 60%),
    #080f1d;
  padding:20px}
.login-mask.on{display:flex}
.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:30px 28px;box-shadow:0 24px 70px rgba(0,0,0,.55);animation:pop .3s ease}
.login-mark{width:58px;height:58px;border-radius:16px;margin:0 auto 14px;font-size:28px;
  background:linear-gradient(135deg,#22d3ee,#3b82f6);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 28px rgba(34,211,238,.35)}
.login-title{text-align:center;font-size:19px;font-weight:700;letter-spacing:1px}
.login-sub{text-align:center;font-size:11.5px;color:var(--ink3);margin-top:5px}
.login-entry-link{display:block;margin:12px auto 0;text-align:center;color:var(--cyan);font-size:12px;text-decoration:none}
.login-entry-link:hover{text-decoration:underline}
.top-right a.chip{text-decoration:none;color:inherit}
.login-opt{margin-top:12px}
.login-btn{width:100%;margin-top:16px;padding:11px;font-size:14px;border-radius:11px}
.login-tip{margin-top:14px;font-size:11px;color:var(--ink3);text-align:center;line-height:1.8}

/* 出车检查模板 · 工业化版本工作台 */
.inspection-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inspection-workbench{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:12px}
.inspection-scope-panel,.inspection-editor-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.inspection-scope-panel{padding:12px;position:sticky;top:0}
.inspection-panel-kicker{font:600 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.8px;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.inspection-scope-list{display:grid;gap:7px}
.inspection-scope{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid transparent;border-radius:10px;background:var(--bg2);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.inspection-scope>span{height:34px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:var(--ink3);background:var(--panel2)}
.inspection-scope div{min-width:0}.inspection-scope b,.inspection-scope small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inspection-scope b{font-size:12.5px}.inspection-scope small{font-size:10.5px;color:var(--ink3);margin-top:3px}
.inspection-scope:hover{border-color:rgba(34,211,238,.3)}
.inspection-scope:disabled{opacity:.55;cursor:wait}
.inspection-scope.active{border-color:rgba(34,211,238,.55);background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(59,130,246,.08));box-shadow:inset 3px 0 0 var(--cyan)}
.inspection-scope.active>span{border-color:rgba(34,211,238,.5);color:var(--cyan)}
.inspection-scope-note{display:grid;gap:5px;margin-top:12px;padding:10px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.65;color:var(--ink3)}
.inspection-scope-note b{color:var(--ink2);font-size:11px}
.inspection-editor-panel{padding:14px 15px;min-width:0}
.inspection-editor-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.inspection-editor-toolbar h3{font-size:18px;letter-spacing:.3px}
.inspection-version-facts{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font:500 10.5px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink3)}
.inspection-template-editor{padding-top:13px}
.inspection-template-meta{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:10px;margin-bottom:16px}
.inspection-template-meta label,.inspection-item-fields label{display:grid;gap:5px;color:var(--ink2);font-size:10.5px;font-weight:600;letter-spacing:.3px}
.inspection-template-meta input,.inspection-template-meta textarea,.inspection-item-fields input,.inspection-item-fields textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#0c1728;color:var(--ink);padding:9px 10px;font:12.5px/1.45 inherit;outline:none;resize:vertical}
.inspection-template-meta textarea{min-height:64px}.inspection-item-fields textarea{min-height:54px}
.inspection-template-meta input:focus,.inspection-template-meta textarea:focus,.inspection-item-fields input:focus,.inspection-item-fields textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.08)}
.inspection-template-editor.read-only input:disabled,.inspection-template-editor.read-only textarea:disabled{opacity:1;color:var(--ink2);background:rgba(10,18,32,.55);-webkit-text-fill-color:var(--ink2)}
.inspection-items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.inspection-items-head>div{display:flex;align-items:baseline;gap:9px}.inspection-items-head b{font-size:13px}.inspection-items-head span{font-size:10.5px;color:var(--ink3)}
.inspection-item-list{display:grid;gap:8px}
.inspection-item{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(100deg,rgba(22,35,60,.75),rgba(12,23,40,.8));position:relative}
.inspection-item::before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:2px;background:var(--cyan);border-radius:2px;opacity:.45}
.inspection-item-order{display:grid;gap:6px;justify-items:center}.inspection-item-order>b{font:700 15px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cyan)}
.inspection-item-order>div{display:flex;gap:3px}.inspection-item-order button,.inspection-item-remove{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--ink2);cursor:pointer}
.inspection-item-order button:disabled{opacity:.3;cursor:not-allowed}.inspection-item-remove{font-size:18px;line-height:1;color:var(--red)}
.inspection-item-fields{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(160px,1fr);gap:8px 10px}.inspection-item-fields .wide{grid-column:1/-1}
.inspection-fail-note{grid-column:1/-1!important;display:flex!important;align-items:center;gap:7px!important;font-size:11.5px!important;color:var(--ink2)!important;font-weight:500!important}
.inspection-fail-note input{width:16px!important;height:16px!important;padding:0!important;accent-color:var(--amber)}
.inspection-template-gate{margin-top:12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(10,18,32,.65);font-size:11.5px;color:var(--ink2);line-height:1.55}
.inspection-template-gate[data-state="dirty"]{border-color:rgba(245,158,11,.45);color:#fbbf24}.inspection-template-gate[data-state="ready"]{border-color:rgba(16,185,129,.45);color:#6ee7b7}
.inspection-command-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.inspection-command-bar .btn{min-width:120px}.inspection-command-bar .btn:last-child{margin-left:auto}
.inspection-impact{margin-top:12px;padding:12px;border:1px solid rgba(34,211,238,.3);border-radius:10px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(59,130,246,.04))}
.inspection-impact-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.inspection-impact-head>div{display:grid;gap:3px}.inspection-impact-head span{font-size:10px;letter-spacing:1.2px;color:var(--cyan);text-transform:uppercase}.inspection-impact-head b{font:600 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.inspection-impact-head small{font-size:10.5px;color:var(--ink3)}
.inspection-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.inspection-impact-grid article{padding:8px;border:1px solid rgba(31,47,74,.8);border-radius:8px;background:rgba(10,18,32,.55)}
.inspection-impact-grid b,.inspection-impact-grid span{display:block}.inspection-impact-grid b{font-size:19px;color:var(--cyan)}.inspection-impact-grid span{font-size:10.5px;color:var(--ink3);margin-top:2px}.inspection-impact p{font-size:10.5px;line-height:1.6;color:var(--ink2)}
.inspection-lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.inspection-version-list,.inspection-history{display:grid;gap:7px}
.inspection-version-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg2)}
.inspection-version-list b,.inspection-version-list span{display:block}.inspection-version-list b{font-size:11.5px}.inspection-version-list span{font-size:10.5px;color:var(--ink3);margin-top:3px}.inspection-version-list code{font-size:10px;color:var(--cyan)}
.inspection-history article{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px}.inspection-history article>span{width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:4px;box-shadow:0 0 0 3px rgba(34,211,238,.1)}
.inspection-history b{font-size:11.5px}.inspection-history p{font-size:11px;line-height:1.5;color:var(--ink2);margin-top:2px}.inspection-history small{display:block;font-size:10px;color:var(--ink3);margin-top:3px}

.agent-safety-note{border-color:rgba(167,139,250,.36);background:linear-gradient(110deg,rgba(124,58,237,.08),rgba(34,211,238,.035))}
.agent-runtime-grid,.agent-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agent-runtime-card,.agent-tool-card{min-width:0;margin-bottom:0}.agent-runtime-card.selected{border-color:rgba(34,211,238,.58);box-shadow:inset 0 0 0 1px rgba(34,211,238,.14)}
.agent-runtime-head,.agent-tool-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.agent-runtime-head h3,.agent-tool-head h3,.agent-run-launch h3{font-size:15px}.agent-runtime-head p,.agent-tool-head p,.agent-run-launch p{margin-top:4px;color:var(--ink3);font-size:10.5px;line-height:1.55;overflow-wrap:anywhere}.agent-runtime-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.agent-runtime-card dl>div,.agent-tool-facts span{padding:8px 9px;border:1px solid rgba(31,47,74,.8);border-radius:8px;background:rgba(9,18,32,.5)}.agent-runtime-card dt{font-size:9.5px;color:var(--ink3)}.agent-runtime-card dd{margin-top:3px;color:var(--ink2);font-size:11px;overflow-wrap:anywhere}
.agent-capabilities{display:flex;gap:6px;flex-wrap:wrap;min-height:24px}.agent-capabilities code,.agent-result code{padding:3px 6px;border:1px solid #294663;border-radius:6px;background:#071524;color:#a5f3fc;font-size:9.5px;overflow-wrap:anywhere}.agent-capabilities span,.agent-runtime-reason{color:var(--ink3);font-size:10.5px}.agent-runtime-reason{min-height:34px;margin:9px 0;line-height:1.55;overflow-wrap:anywhere}
.agent-tool-card>p{margin:10px 0;color:var(--ink2);font-size:11.5px;line-height:1.55}.agent-tool-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.agent-tool-facts span{font-size:10px;color:var(--ink3)}.agent-tool-facts b{display:block;margin-top:3px;color:var(--ink2);font-size:10.5px;overflow-wrap:anywhere}.agent-tool-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.agent-action-result{display:grid;gap:4px;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#091525}.agent-action-result b{font-size:11px}.agent-action-result span{font-size:10.5px;color:var(--ink3);line-height:1.5}.agent-action-result.completed{border-color:rgba(16,185,129,.35)}.agent-action-result.error{border-color:rgba(239,68,68,.42);color:#fecaca}.agent-action-result pre{max-height:190px;margin-top:5px;padding:8px;border-radius:7px;overflow:auto;background:#050d18;color:#b7cadf;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.agent-run-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:12px;align-items:center;margin-top:14px}.agent-run-controls{display:flex;align-items:flex-end;gap:8px}.agent-run-controls label{display:grid;gap:5px;flex:1;color:var(--ink3);font-size:10px}.agent-run-controls select{width:100%;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font:inherit}.agent-run-blocker{grid-column:1/-1;padding:8px 10px;border:1px solid rgba(245,158,11,.38);border-radius:8px;background:rgba(245,158,11,.055);color:#f7cb7c;font-size:10.5px;line-height:1.5}.agent-run-blocker.error{border-color:rgba(239,68,68,.48);color:#fecaca}
.agent-run-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:12px}.agent-run-list{display:grid;align-content:start;gap:6px}.agent-run-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:#0b1728;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.agent-run-row.selected{border-color:var(--cyan);background:rgba(34,211,238,.07)}.agent-run-row span:first-child{display:grid;min-width:0;gap:3px}.agent-run-row b{font-size:11.5px}.agent-run-row small{color:var(--ink3);font-size:9.5px;overflow-wrap:anywhere}.agent-run-detail-wrap{min-width:0;border-left:1px solid var(--line);padding-left:12px}.agent-detail-empty{display:grid;place-items:center;min-height:120px;padding:14px;text-align:center;color:var(--ink3);font-size:11px;line-height:1.6}.agent-detail-empty.error{color:#fecaca}.agent-run-detail{display:grid;gap:10px}.agent-run-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.agent-run-detail-head>div{display:grid;gap:3px;min-width:0}.agent-run-detail-head b{font:10.5px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.agent-run-detail-head small{color:var(--ink3);font-size:9.5px}.agent-result{padding:10px;border:1px solid rgba(167,139,250,.35);border-radius:9px;background:rgba(124,58,237,.06)}.agent-result h4{font-size:11.5px;color:#c4b5fd}.agent-result p{margin:7px 0;color:var(--ink2);font-size:11.5px;line-height:1.65;white-space:pre-wrap}.agent-result>div{display:flex;gap:5px;flex-wrap:wrap;font-size:10px;color:var(--ink3)}.agent-result small{display:block;margin-top:7px;color:var(--ink3);font-size:9.5px}.agent-event-list{display:grid;gap:5px}.agent-event-list>div{display:grid;grid-template-columns:30px 110px 90px minmax(0,1fr);gap:7px;align-items:start;padding:7px;border-bottom:1px solid rgba(31,47,74,.65);font-size:9.5px}.agent-event-list>div>span{color:var(--cyan)}.agent-event-list time{color:var(--ink3)}.agent-event-list code{color:var(--ink2);white-space:normal;overflow-wrap:anywhere}.agent-event-list>p{color:var(--ink3);font-size:10.5px}.agent-skeleton{height:240px;border-radius:10px;background:linear-gradient(90deg,rgba(31,47,74,.25),rgba(49,78,112,.35),rgba(31,47,74,.25));background-size:200% 100%;animation:automation-loading 1.5s ease-in-out infinite}

/* 嵌入式 Agent 工作台 */
#page-agent{max-width:1360px}.agent-page-head{align-items:center}.agent-page-head .head-actions{display:flex;gap:8px;flex-wrap:wrap}
.agent-workbench{display:grid;grid-template-columns:230px minmax(420px,1fr) 300px;grid-template-rows:minmax(0,1fr);height:100%;min-height:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#091423}
.agent-conversations,.agent-inspector{min-width:0;min-height:0;background:#0c1727}.agent-conversations{display:flex;flex-direction:column;border-right:1px solid var(--line)}.agent-inspector{padding:14px;border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior-y:contain}
.agent-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.agent-panel-head>div{display:grid;gap:3px}.agent-panel-head b{font-size:13px}.agent-panel-head span{color:var(--ink3);font-size:10px}.agent-panel-head>button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--cyan);font:inherit;font-size:18px;font-weight:600;line-height:1;cursor:pointer}.agent-panel-head>button:hover{border-color:var(--cyan)}.agent-panel-head>button:disabled{opacity:.45;cursor:not-allowed}
.agent-runtime-rail{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px;border-bottom:1px solid var(--line)}.agent-runtime-switch{display:grid;gap:5px;justify-items:start;min-width:0;padding:8px;border:1px solid transparent;border-radius:8px;background:#111e31;color:var(--ink2);font:inherit;text-align:left;cursor:pointer}.agent-runtime-switch>span{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.agent-runtime-switch .pill{padding:1px 5px;font-size:8.5px}.agent-runtime-switch.selected{border-color:rgba(34,211,238,.48);background:rgba(34,211,238,.08);color:var(--ink)}.agent-runtime-switch:disabled{cursor:default}
.agent-conversation-list{display:grid;align-content:start;gap:3px;flex:1;min-height:0;padding:8px;overflow-y:auto}.agent-conversation-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;padding:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.agent-conversation-row:hover{background:rgba(34,211,238,.045)}.agent-conversation-row.selected{border-color:rgba(34,211,238,.38);background:rgba(34,211,238,.085)}.agent-conversation-row>span:first-child{display:grid;gap:4px;min-width:0}.agent-conversation-row b{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-conversation-row small{color:var(--ink3);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-conversation-meta{display:flex;align-items:center;gap:4px}.agent-conversation-meta em,.agent-conversation-meta i{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--panel2);color:var(--ink3);font-size:9px;font-style:normal}.agent-conversation-meta i{background:rgba(167,139,250,.16);color:#d8b4fe}
.agent-panel-state{padding:22px 10px;color:var(--ink3);font-size:10.5px;line-height:1.6;text-align:center}.agent-panel-state.error{color:#fecaca}.agent-privacy-foot{display:flex;align-items:flex-start;gap:7px;margin:8px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--ink3);font-size:9.5px;line-height:1.5}.agent-privacy-foot span{font-size:12px}
.agent-chat{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#0a1525}.agent-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:59px;padding:11px 16px;border-bottom:1px solid var(--line);background:rgba(17,28,48,.72)}.agent-chat-head>div{display:grid;gap:3px;min-width:0}.agent-chat-head b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-chat-head span{color:var(--ink3);font-size:9.5px}
.agent-chat-log{display:flex;flex-direction:column;gap:18px;flex:1;min-height:0;padding:22px clamp(14px,3vw,36px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-behavior:smooth}.agent-message{display:flex;align-items:flex-start;gap:10px;max-width:82%}.agent-message.user{align-self:flex-end;flex-direction:row-reverse}.agent-message-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#172945;color:var(--cyan);font-size:10px;font-weight:700}.agent-message.user .agent-message-avatar{background:#243454;color:#cbd5e1}.agent-message-body{min-width:0}.agent-message-meta{display:flex;align-items:center;gap:8px;margin:0 2px 5px}.agent-message.user .agent-message-meta{justify-content:flex-end}.agent-message-meta b{font-size:10.5px}.agent-message-meta span{color:var(--ink3);font-size:8.5px}.agent-message-body>p{padding:11px 13px;border:1px solid #263a58;border-radius:4px 12px 12px 12px;background:#111f34;color:#d8e3ef;font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.agent-message.user .agent-message-body>p{border-color:#315473;border-radius:12px 4px 12px 12px;background:#143047;color:#e6f8fb}
.agent-chat-empty{display:grid;place-items:center;align-content:center;gap:10px;flex:1;min-height:0;padding:32px;text-align:center}.agent-chat-empty h3{font-size:17px;text-wrap:balance}.agent-chat-empty>p{max-width:58ch;color:var(--ink2);font-size:11.5px;line-height:1.7}.agent-orbit{position:relative;display:grid;place-items:center;width:62px;height:62px;border:1px solid #335170;border-radius:50%;background:#0d1c2f;color:var(--cyan);font:700 24px/1 Georgia,serif}.agent-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--violet);animation:agent-orbit 3.2s linear infinite}.agent-quick-prompts{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:5px}.agent-quick-prompts button{display:flex;align-items:center;gap:9px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#101e32;color:var(--ink2);font:inherit;font-size:10.5px;cursor:pointer}.agent-quick-prompts button:hover{border-color:#355777;color:var(--ink)}.agent-quick-prompts span{color:var(--cyan)}
.agent-chat-loading{display:grid;place-items:center;align-content:center;gap:8px;flex:1;color:var(--ink3);font-size:10.5px}.agent-chat-loading>span{width:34px;height:34px;border:2px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}.agent-thinking{display:flex;align-items:center;gap:10px;max-width:78%;padding:10px 12px;border:1px solid rgba(34,211,238,.25);border-radius:10px;background:rgba(34,211,238,.045)}.agent-thinking>span{width:18px;height:18px;border:2px solid #2b4864;border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}.agent-thinking>div{display:grid;gap:2px}.agent-thinking b{font-size:10.5px}.agent-thinking small{color:var(--ink3);font-size:9px;line-height:1.45}
.agent-composer-wrap{min-width:0;flex:0 0 auto;padding:10px 14px max(13px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0d192a}.agent-output-modes{display:flex;gap:4px;margin-bottom:7px}.agent-output-modes button{min-height:28px;padding:4px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink3);font:inherit;font-size:9.5px;cursor:pointer}.agent-output-modes button.selected{border-color:#31506d;background:#14243a;color:var(--ink)}.agent-composer{border:1px solid #2b4564;border-radius:10px;background:#0a1422}.agent-composer:focus-within{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.1)}.agent-composer textarea{display:block;width:100%;min-height:72px;max-height:min(180px,24dvh);padding:11px 12px;border:0;outline:0;overflow-y:auto;resize:vertical;background:transparent;color:var(--ink);font:inherit;font-size:12px;line-height:1.6}.agent-composer textarea::placeholder{color:#8295ad}.agent-composer textarea:disabled{opacity:.58}.agent-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px 8px}.agent-composer-foot>span{color:var(--ink3);font-size:8.5px}.agent-composer-foot .btn{min-width:92px}.agent-composer-blocker{display:flex;align-items:center;gap:7px;margin-bottom:7px;padding:7px 9px;border:1px solid rgba(245,158,11,.32);border-radius:8px;background:rgba(245,158,11,.055);color:#f8d28f;font-size:9.5px;line-height:1.45}.agent-composer-blocker span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(245,158,11,.18);font-weight:700}.agent-draft-disclaimer{margin-top:7px;color:#c4b5fd;font-size:9px;line-height:1.5}
.agent-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid var(--line)}.agent-inspector-head>div{display:grid;gap:4px;min-width:0}.agent-inspector-head span{color:var(--ink3);font-size:9px}.agent-inspector-head b{font:9.5px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.agent-task-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.agent-task-facts>div{padding:8px;border:1px solid var(--line);border-radius:8px;background:#101d2f}.agent-task-facts dt{color:var(--ink3);font-size:8.5px}.agent-task-facts dd{margin-top:4px;color:var(--ink2);font-size:9.5px;overflow-wrap:anywhere}.agent-task-error{display:grid;gap:4px;padding:9px;border:1px solid rgba(239,68,68,.35);border-radius:8px;background:rgba(239,68,68,.055)}.agent-task-error b{color:#fecaca;font-size:9.5px}.agent-task-error span{color:#f2b8b8;font-size:9px;line-height:1.5}.agent-task-actions{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.agent-inspector-section{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.agent-inspector-section h4{margin-bottom:8px;color:var(--ink2);font-size:10.5px}
.agent-task-events{display:grid}.agent-task-events>div{display:grid;grid-template-columns:22px 10px minmax(0,1fr);gap:5px;min-height:39px}.agent-task-events>div>span{color:var(--ink3);font-size:8.5px}.agent-task-events i{position:relative;width:7px;height:7px;margin-top:3px;border-radius:50%;background:var(--cyan)}.agent-task-events i::after{content:"";position:absolute;top:9px;bottom:-26px;left:3px;width:1px;background:var(--line)}.agent-task-events>div:last-child i::after{display:none}.agent-task-events p{display:grid;gap:2px}.agent-task-events b{font-size:9.5px}.agent-task-events small{color:var(--ink3);font-size:8.5px}.agent-muted{color:var(--ink3);font-size:9.5px}
.agent-task-switcher{display:grid;gap:4px}.agent-task-switcher button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:7px;background:#101d2f;color:var(--ink2);font:inherit;text-align:left;cursor:pointer}.agent-task-switcher button.selected{border-color:#31506d}.agent-task-switcher span{font-size:9.5px}.agent-task-switcher small{color:var(--ink3);font-size:8px}.agent-inspector-empty{display:grid;gap:8px;align-content:start;color:var(--ink2)}.agent-inspector-empty>b{font-size:12px}.agent-inspector-empty>p{color:var(--ink3);font-size:9.5px;line-height:1.6}.agent-inspector-empty details{margin-top:5px;border-top:1px solid var(--line);padding-top:9px}.agent-inspector-empty summary{cursor:pointer;font-size:10px}.agent-inspector-empty details>div{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid rgba(31,47,74,.6)}.agent-inspector-empty code{color:var(--cyan);font-size:8.5px;overflow-wrap:anywhere}.agent-inspector-empty details span{color:var(--ink3);font-size:8px}
.agent-approval{display:grid;gap:6px;padding:9px;border:1px solid rgba(167,139,250,.38);border-radius:9px;background:rgba(124,58,237,.06)}.agent-approval.contract-error{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.055)}.agent-approval>div:first-child{display:flex;justify-content:space-between;gap:8px}.agent-approval span{color:#c4b5fd;font-size:9.5px}.agent-approval b{font-size:9px}.agent-approval p{color:var(--ink2);font-size:9px;line-height:1.5}.agent-approval-draft{max-height:180px;padding:8px;border:1px solid rgba(167,139,250,.24);border-radius:7px;overflow:auto;background:rgba(7,14,26,.6);color:var(--ink)!important;white-space:pre-wrap;overflow-wrap:anywhere}.agent-approval small{color:var(--ink3);font-size:8.5px}.agent-approval>div:last-child{display:flex;gap:5px;flex-wrap:wrap}.agent-workbench-loading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px;border:1px solid var(--line);border-radius:12px}.agent-workbench-loading span{height:480px;border-radius:9px;background:linear-gradient(90deg,#101d30,#172a42,#101d30);background-size:200% 100%;animation:automation-loading 1.5s ease-in-out infinite}.agent-workbench-loading b{grid-column:1/-1;text-align:center;color:var(--ink3);font-size:10.5px}
@keyframes agent-orbit{from{transform:rotate(0deg) translateX(30px) rotate(0deg)}to{transform:rotate(360deg) translateX(30px) rotate(-360deg)}}
@media (prefers-reduced-motion:reduce){.agent-chat-log{scroll-behavior:auto}.agent-orbit i,.agent-chat-loading>span,.agent-thinking>span{animation:none}}
@media (max-width:1120px){.agent-workbench{grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.agent-inspector{grid-column:1/-1;border-top:1px solid var(--line);border-left:0;max-height:430px}.agent-task-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.agent-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.agent-conversations{max-height:270px;border-right:0;border-bottom:1px solid var(--line)}.agent-conversation-list{max-height:150px}.agent-chat{min-height:0}.agent-task-facts{grid-template-columns:1fr 1fr}}
@media (max-width:480px){#page-agent .agent-page-head .head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.agent-workbench{min-height:0}.agent-panel-head>button,.agent-runtime-switch,.agent-conversation-row,.agent-output-modes button,.agent-quick-prompts button,.agent-composer-foot .btn,.agent-task-actions .btn,.agent-approval .btn,.agent-task-switcher button{min-height:44px}.agent-chat{min-height:0}.agent-chat-log{padding:16px 10px}.agent-message{max-width:94%}.agent-message-avatar{flex-basis:28px;width:28px;height:28px}.agent-composer-wrap{padding:9px 9px max(9px,env(safe-area-inset-bottom))}.agent-output-modes{display:grid;grid-template-columns:1fr 1fr}.agent-composer-foot{align-items:stretch;flex-direction:column}.agent-composer-foot .btn{width:100%}.agent-composer-foot>span{order:2;text-align:center}.agent-quick-prompts{display:grid;grid-template-columns:1fr;width:100%}.agent-quick-prompts button{justify-content:space-between;width:100%}.agent-task-facts{grid-template-columns:1fr 1fr}.agent-inspector{max-height:none}.agent-workbench-loading{grid-template-columns:1fr}.agent-workbench-loading span{height:120px}}

button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--cyan);outline-offset:2px
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* 响应式 */
@media (max-width:860px){
  body{overflow:auto}
  .app{display:block;height:auto}
  .sidebar{position:fixed;top:54px;bottom:0;left:0;z-index:90;width:230px;
    background:rgba(10,18,32,.98);transform:translateX(-100%);transition:transform .25s ease;box-shadow:8px 0 30px rgba(0,0,0,.4)}
  .sidebar.open{transform:translateX(0)}
  .hamburger{display:flex;align-items:center;justify-content:center}
  .main{padding:12px 12px 80px;height:auto}
  .grid2,.grid3{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .topbar{padding:0 10px;gap:6px}
  .logo{font-size:13px;gap:6px;flex-shrink:1;min-width:0}
  .logo .tag{display:none}
  /* 窄屏顶部只保留汉堡+短logo+改密+退出，其他信息在驾驶舱已有 */
  .top-right{gap:6px;flex-shrink:0}
  .topbar .chip:not(.chip-auth){display:none}
  .chip-auth{padding:4px 9px;font-size:11.5px}
  .master-search{min-width:100%}
  .result-count{margin-left:0}
  .period-field{flex:1;min-width:145px;align-items:flex-start;flex-direction:column}
  .period-field input{width:100%}
  .route-weather-meta{display:grid}.route-weather-meta span:first-child{max-width:none}
  .route-weather-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-weather-alert-title{display:grid}.route-weather-alert summary{align-items:flex-start}
  .expense-attachment-summary{grid-template-columns:40px minmax(0,1fr);align-items:start}
  .expense-attachment-state,.expense-attachment-actions{grid-column:1/-1;justify-content:flex-start}
  .expense-attachment-actions .btn{flex:1;min-width:105px}
  .expense-ocr-title{align-items:flex-start;flex-direction:column}.expense-ocr-title span{text-align:left}
  .workflow-detail-states{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-detail-history li{grid-template-columns:1fr}.workflow-detail-history time{grid-row:2}.workflow-detail-history li p{grid-column:auto}
  .screen-device-timeline article{grid-template-columns:1fr;gap:5px}
  .screen-device-actions{min-width:190px}
  .screen-device-origin-note{align-items:stretch;flex-direction:column}
  .screen-device-origin-actions{flex-wrap:wrap}
  .configuration-onboarding ol{grid-template-columns:1fr}
  .configuration-rejected-notice{align-items:stretch!important;flex-direction:column}.configuration-rejected-notice .btn{width:100%;min-height:44px}
  .integration-provider-grid{grid-template-columns:1fr}
  .agent-runtime-grid,.agent-tool-grid,.agent-run-launch,.agent-run-layout{grid-template-columns:1fr}.agent-run-detail-wrap{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.agent-event-list>div{grid-template-columns:28px 1fr}.agent-event-list time,.agent-event-list code{grid-column:2}
  .inspection-workbench{grid-template-columns:1fr}.inspection-scope-panel{position:static}.inspection-scope-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inspection-lower-grid{grid-template-columns:1fr}
  .maintenance-line-item{grid-template-columns:44px minmax(0,1fr)}.maintenance-line-fields{grid-template-columns:1fr 1fr}.maintenance-line-fields .wide{grid-column:1/-1}.maintenance-line-amount{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:8px 0 0;display:flex;align-items:center;justify-content:flex-end}.maintenance-line-summary{align-items:flex-start;flex-direction:column}.maintenance-line-summary p{text-align:left;max-width:none}
  .evaluation-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-detail-split{grid-template-columns:1fr}
  .reporting-intro{grid-template-columns:1fr}.audit-filter-grid{grid-template-columns:1fr 1fr}.audit-filter-grid .wide{grid-column:1/-1}.audit-detail-grid{grid-template-columns:1fr}.audit-detail-grid pre{max-height:220px}
}

@media (max-width:480px){
  .hamburger,.topbar .chip-auth{min-width:44px;min-height:44px}
  .modal .btn,.modal .f-item input,.modal .f-item select,.modal .f-item textarea{min-height:44px}
  #page-screenDevices .btn,#page-screenDevices input,#page-screenDevices select{min-height:44px}
  .route-weather-grid{grid-template-columns:minmax(0,1fr)}
  .route-weather-head{display:grid}.route-weather-status{align-items:flex-start;flex-direction:row;flex-wrap:wrap}
  .route-weather-alert summary{display:grid}
  .expense-attachment-toolbar{align-items:stretch;flex-direction:column}.expense-attachment-toolbar .btn{width:100%}
  .expense-attachment-head>button{width:100%;margin-left:0}
  .workflow-detail-states{grid-template-columns:1fr}
  .workflow-timeline-source-recovery,.workflow-timeline-pagination{align-items:stretch;flex-direction:column}.workflow-timeline-source-recovery .btn,.workflow-timeline-error-actions .btn,.workflow-timeline-pagination .btn{width:100%;min-height:44px}
  .document-job-actions{align-items:stretch;flex-direction:column}.document-job-actions .btn{width:100%}
  .configuration-onboarding-title{align-items:flex-start;flex-direction:column}.configuration-resource-links{align-items:stretch;flex-direction:column}.configuration-resource-link{width:100%}
  .configuration-diagnostic-log>header,.configuration-diagnostic-title{align-items:flex-start;flex-direction:column;gap:4px}.configuration-diagnostic-event p{grid-template-columns:1fr;gap:1px}.configuration-diagnostic-title time{white-space:normal}
  #page-compare .btn{min-height:44px}.integration-provider-head{align-items:flex-start}.integration-provider-actions{display:grid;grid-template-columns:1fr}.integration-provider-actions .btn{width:100%}.integration-health-result dl{grid-template-columns:1fr}
  #page-agent .btn,#page-agent select{min-height:44px}.agent-runtime-head,.agent-tool-head,.agent-run-controls,.agent-run-detail-head{align-items:stretch;display:grid;grid-template-columns:1fr}.agent-runtime-card dl,.agent-tool-facts{grid-template-columns:1fr}.agent-tool-actions{display:grid;grid-template-columns:1fr}.agent-tool-actions .btn,.agent-run-controls .btn{width:100%}.agent-metrics{grid-template-columns:1fr 1fr}
  #page-inspectionTemplates .btn,#page-inspectionTemplates input,#page-inspectionTemplates textarea{min-height:44px}
  .inspection-head-actions,.inspection-command-bar{align-items:stretch}.inspection-head-actions .btn,.inspection-command-bar .btn{width:100%;margin-left:0!important}
  .inspection-scope-list{grid-template-columns:1fr}.inspection-editor-toolbar,.inspection-impact-head{display:grid}.inspection-version-facts{justify-content:flex-start}
  .inspection-template-meta,.inspection-item-fields{grid-template-columns:1fr}.inspection-item-fields .wide{grid-column:auto}
  .inspection-item{grid-template-columns:48px minmax(0,1fr)}.inspection-item-remove{grid-column:1/-1;width:100%;height:44px}
  .inspection-item-order>div{flex-direction:column}.inspection-item-order button{width:44px;height:44px}.inspection-fail-note{min-height:44px}
  .inspection-impact-grid{grid-template-columns:repeat(2,1fr)}
  .inspection-version-list article{grid-template-columns:1fr}.inspection-version-list .btn{width:100%}
  .mask{padding:7px}.modal{max-height:94vh;padding:14px}.modal h3{padding-right:28px}
  .maintenance-line-head{align-items:stretch;flex-direction:column}.maintenance-line-head .btn{width:100%}.maintenance-line-item{grid-template-columns:44px minmax(0,1fr);padding:9px 8px;gap:8px}.maintenance-line-fields{grid-template-columns:1fr 1fr}.maintenance-line-fields .wide{grid-column:1/-1}.maintenance-line-fields input,.maintenance-line-fields select,.maintenance-line-order button,.maintenance-line-remove{min-height:44px}.maintenance-line-order>div{flex-direction:column}.maintenance-line-order button{width:44px;height:44px}.maintenance-line-amount{grid-column:1/-1;padding:9px 0 0;justify-content:space-between}.maintenance-line-remove{min-width:88px}.maintenance-line-summary>div{white-space:normal}
  .evaluation-detail-hero,.evaluation-detail-actions{align-items:stretch;flex-direction:column}.evaluation-detail-facts{grid-template-columns:1fr 1fr}.evaluation-detail-actions>div{display:grid;grid-template-columns:1fr}.evaluation-detail-actions .btn{width:100%;min-height:44px}.evaluation-answer-list article,.evaluation-issue-list article{padding:9px}.evaluation-review-history li>div{display:grid}
  #page-reportsAudit .btn,#page-reportsAudit input,#page-reportsAudit select{min-height:44px}.reporting-section-title{align-items:flex-start;display:grid}.reporting-section-title p{text-align:left}.report-card-grid{grid-template-columns:minmax(0,1fr)}.report-filter-grid,.audit-filter-grid{grid-template-columns:1fr}.audit-filter-grid .wide{grid-column:auto}.audit-filter-actions{display:grid;grid-template-columns:1fr 1fr}.audit-view-toolbar{align-items:stretch;flex-direction:column}.audit-view-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.audit-ledger-notice{display:grid}.audit-pagination{align-items:stretch;flex-direction:column}.audit-pagination>div{display:grid;grid-template-columns:1fr 1fr}.audit-detail-hero{align-items:flex-start;flex-direction:column}.audit-detail-facts{grid-template-columns:1fr}
}

/* 司机资料审核：嵌入司机台账，避免新增重复管理页面。 */
#page-drivers .driver-profile-review-queue{min-width:0;overflow:hidden;padding:0;margin-bottom:12px;background:linear-gradient(145deg,rgba(17,28,48,.98),rgba(12,24,41,.98))}
#page-drivers .driver-profile-review-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);min-width:0}
#page-drivers .driver-profile-review-queue-head .card-t{margin:0;flex-wrap:wrap}
#page-drivers .driver-profile-review-queue-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;min-width:0}
#page-drivers .driver-profile-review-queue-actions input{width:min(260px,40vw);min-width:150px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font:inherit;outline:none}
#page-drivers .driver-profile-review-queue-actions input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.12)}
#page-drivers .driver-profile-review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:12px 16px}
#page-drivers .driver-profile-review-row{display:grid;gap:9px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(9,23,40,.55)}
#page-drivers .driver-profile-review-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
#page-drivers .driver-profile-review-row-main>div{display:grid;gap:3px;min-width:0}
#page-drivers .driver-profile-review-row-main strong{overflow-wrap:anywhere}
#page-drivers .driver-profile-review-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink3);font-size:11px}
#page-drivers .driver-profile-review-row>.btn{justify-self:start}
#page-drivers .driver-profile-review-detail{margin:0 16px 14px;padding:0;border-color:#2d5871;background:rgba(7,20,34,.72)}
#page-drivers .driver-profile-review-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);min-width:0}
#page-drivers .driver-profile-review-detail-head h3{margin-top:4px;font-size:17px;overflow-wrap:anywhere}
#page-drivers .driver-profile-review-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex-shrink:0}
#page-drivers .driver-profile-review-section,#page-drivers .driver-profile-diff{padding:14px 16px;border-bottom:1px solid rgba(31,47,74,.8);min-width:0}
#page-drivers .driver-profile-review-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ink2);font-size:12px}
#page-drivers .driver-profile-review-section-title strong{color:var(--ink);font-size:13px}
#page-drivers .driver-profile-diff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
#page-drivers .driver-profile-diff-grid>div{display:grid;grid-template-columns:minmax(62px,.6fr) minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:rgba(15,31,49,.7);font-size:11px}
#page-drivers .driver-profile-diff-grid span{color:var(--ink3)}
#page-drivers .driver-profile-diff-grid b{color:var(--ink2);overflow-wrap:anywhere}
#page-drivers .driver-profile-diff-grid i{color:var(--cyan);font-style:normal;text-align:center}
#page-drivers .driver-profile-diff-grid strong{color:var(--ink);overflow-wrap:anywhere}
#page-drivers .driver-profile-review-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
#page-drivers .driver-profile-review-doc{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:rgba(15,31,49,.7)}
#page-drivers .driver-profile-review-doc>div{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}
#page-drivers .driver-profile-review-doc strong{font-size:12px;overflow-wrap:anywhere}
#page-drivers .driver-profile-review-doc .btn{justify-self:start}
#page-drivers .driver-profile-doc-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-drivers .driver-profile-review-comment{margin:14px 16px;padding:10px 12px;border:1px solid rgba(34,211,238,.25);border-radius:8px;background:rgba(34,211,238,.05);font-size:12px;line-height:1.55}
#page-drivers .driver-profile-review-comment p{margin-top:4px;color:var(--ink2);overflow-wrap:anywhere}
#page-drivers .driver-profile-review-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:13px 16px}
#page-drivers .driver-profile-review-loading{display:grid;place-items:center;min-height:100px;padding:18px;color:var(--ink3);font-size:12px}
.driver-profile-image-dialog{width:min(760px,calc(100vw - 28px));max-width:100%;max-height:calc(100vh - 28px);padding:14px;border:1px solid #2d5871;border-radius:12px;background:#071722;color:var(--ink);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.driver-profile-image-dialog::backdrop{background:rgba(1,8,14,.78);backdrop-filter:blur(5px)}
.driver-profile-image-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.driver-profile-image-dialog-status{display:grid;place-items:center;min-height:96px;margin:0 0 10px;padding:18px;color:var(--ink3);font-size:12px;text-align:center;border:1px dashed rgba(34,211,238,.28);border-radius:8px;background:rgba(2,11,17,.7)}
.driver-profile-image-dialog-status.is-error{color:#fda4af;border-color:rgba(251,113,133,.42);background:rgba(127,29,29,.16)}
.driver-profile-image-dialog img{display:block;width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:8px;background:#020b11}

@media (max-width:860px){
  #page-drivers .driver-profile-review-queue-head{align-items:stretch;flex-direction:column}
  #page-drivers .driver-profile-review-queue-actions{justify-content:stretch}
  #page-drivers .driver-profile-review-queue-actions input{width:auto;flex:1;min-width:0}
  #page-drivers .driver-profile-review-detail-head{align-items:stretch;flex-direction:column}
  #page-drivers .driver-profile-review-detail-actions{justify-content:flex-start}
  #page-drivers .driver-profile-review-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  #page-drivers .driver-profile-review-queue-head,#page-drivers .driver-profile-review-list{padding-inline:11px}
  #page-drivers .driver-profile-review-queue-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #page-drivers .driver-profile-review-queue-actions input,#page-drivers .driver-profile-review-queue-actions .btn{width:100%;min-height:44px}
  #page-drivers .driver-profile-review-list{grid-template-columns:minmax(0,1fr)}
  #page-drivers .driver-profile-review-detail{margin-inline:11px}
  #page-drivers .driver-profile-review-detail-head,#page-drivers .driver-profile-review-section,#page-drivers .driver-profile-diff{padding-inline:11px}
  #page-drivers .driver-profile-diff-grid,#page-drivers .driver-profile-review-doc-grid{grid-template-columns:minmax(0,1fr)}
  #page-drivers .driver-profile-diff-grid>div{grid-template-columns:minmax(60px,.55fr) minmax(0,1fr) 18px minmax(0,1fr)}
  #page-drivers .driver-profile-review-footer{align-items:stretch;flex-direction:column;padding-inline:11px}
  #page-drivers .driver-profile-review-footer .btn{width:100%;min-height:44px}
}

/* 司机档案详情：以“值班档案卡”组织信息，宽屏双列、窄屏单列，所有
   长文本和第三方返回值均允许换行，避免在移动审批场景横向溢出。 */
#page-drivers .driver-detail-shell{display:grid;gap:14px;min-width:0;padding-bottom:18px}
#page-drivers .driver-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
#page-drivers .driver-detail-head-main{display:grid;gap:5px;min-width:0}
#page-drivers .driver-detail-head-main .btn{justify-self:start;margin-bottom:3px}
#page-drivers .driver-detail-head h2{font-size:25px;letter-spacing:.2px;overflow-wrap:anywhere}
#page-drivers .driver-detail-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex-shrink:0}
#page-drivers .driver-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(250px,.7fr);gap:16px;align-items:center;padding:18px 20px;border:1px solid rgba(34,211,238,.22);border-radius:14px;background:linear-gradient(115deg,rgba(13,39,54,.95),rgba(11,24,40,.94));box-shadow:0 14px 36px rgba(0,0,0,.16);min-width:0}
#page-drivers .driver-detail-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#18c889,#0a8f9a);color:#031218;font-size:32px;font-weight:800;box-shadow:0 8px 24px rgba(16,185,129,.2)}
#page-drivers .driver-detail-identity{display:grid;gap:7px;min-width:0}
#page-drivers .driver-detail-kicker{display:flex;align-items:center;gap:8px;color:var(--cyan);font:600 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.2px}
#page-drivers .driver-detail-identity-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}
#page-drivers .driver-detail-identity-line strong{font-size:21px;overflow-wrap:anywhere}
#page-drivers .driver-detail-identity-line span{color:var(--ink2);font-size:12px;overflow-wrap:anywhere}
#page-drivers .driver-detail-identity p{color:var(--ink3);font-size:12px;overflow-wrap:anywhere}
#page-drivers .driver-detail-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}
#page-drivers .driver-detail-hero-facts>div{display:grid;gap:4px;min-width:0;padding:9px 10px;border:1px solid rgba(31,47,74,.86);border-radius:9px;background:rgba(6,18,29,.56)}
#page-drivers .driver-detail-hero-facts span{color:var(--ink3);font-size:10px;white-space:nowrap}
#page-drivers .driver-detail-hero-facts b{color:var(--ink);font:600 13px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
#page-drivers .driver-detail-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(245,158,11,.42);border-radius:10px;background:linear-gradient(100deg,rgba(95,61,10,.22),rgba(62,39,10,.1));min-width:0}
#page-drivers .driver-detail-pending>div{display:grid;gap:5px;min-width:0}
#page-drivers .driver-detail-pending strong{font-size:13px;overflow-wrap:anywhere}
#page-drivers .driver-detail-pending small{color:var(--ink3);font-size:10.5px;overflow-wrap:anywhere}
#page-drivers .driver-detail-pending .btn{flex-shrink:0}
#page-drivers .driver-detail-partial{padding:10px 12px;border:1px solid rgba(245,158,11,.38);border-radius:9px;background:rgba(245,158,11,.07);color:#fcd34d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
#page-drivers .driver-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
#page-drivers .driver-detail-card{display:grid;align-content:start;gap:12px;min-width:0;margin:0;padding:15px 16px;background:linear-gradient(145deg,rgba(15,31,49,.84),rgba(8,21,35,.88))}
#page-drivers .driver-detail-wide{grid-column:1/-1}
#page-drivers .driver-detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;padding-bottom:10px;border-bottom:1px solid rgba(31,47,74,.82)}
#page-drivers .driver-detail-section-head>div{display:grid;gap:3px;min-width:0}
#page-drivers .driver-detail-section-head h3{font-size:16px;overflow-wrap:anywhere}
#page-drivers .driver-detail-section-head>.sub{max-width:48%;text-align:right;overflow-wrap:anywhere}
#page-drivers .driver-detail-eyebrow{color:var(--cyan);font:600 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.5px}
#page-drivers .driver-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;min-width:0}
#page-drivers .driver-detail-facts>div{display:grid;gap:3px;min-width:0;padding:8px 9px;border:1px solid rgba(31,47,74,.7);border-radius:8px;background:rgba(6,17,28,.45)}
#page-drivers .driver-detail-facts dt{color:var(--ink3);font-size:10px}
#page-drivers .driver-detail-facts dd{margin:0;color:var(--ink);font-size:12px;overflow-wrap:anywhere}
#page-drivers .driver-detail-license{display:grid;grid-template-columns:minmax(100px,.55fr) minmax(0,1fr);gap:12px;align-items:stretch;min-width:0}
#page-drivers .driver-detail-license-class{display:grid;align-content:center;gap:4px;padding:12px;border:1px solid rgba(34,211,238,.25);border-radius:9px;background:rgba(34,211,238,.06)}
#page-drivers .driver-detail-license-class span,#page-drivers .driver-detail-license-dates span{color:var(--ink3);font-size:10px}
#page-drivers .driver-detail-license-class strong{color:var(--cyan);font:700 26px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}
#page-drivers .driver-detail-license-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#page-drivers .driver-detail-license-dates>div{display:grid;align-content:center;gap:4px;padding:10px;border:1px solid rgba(31,47,74,.7);border-radius:9px;background:rgba(6,17,28,.45);min-width:0}
#page-drivers .driver-detail-license-dates b{font-size:12px;overflow-wrap:anywhere}
#page-drivers .driver-detail-note{margin:0;color:var(--ink3);font-size:10.5px;line-height:1.55;overflow-wrap:anywhere}
#page-drivers .driver-detail-documents{grid-column:1/-1;gap:11px}
#page-drivers .driver-detail-doc-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;min-width:0}
#page-drivers .driver-detail-doc{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:9px;border:1px solid rgba(31,47,74,.76);border-radius:9px;background:rgba(6,17,28,.5)}
#page-drivers .driver-detail-doc.is-ready{border-color:rgba(34,211,238,.27)}
#page-drivers .driver-detail-doc-art{display:grid;place-items:center;width:42px;height:50px;border-radius:7px;background:linear-gradient(145deg,rgba(34,211,238,.16),rgba(59,130,246,.09));color:var(--cyan);font-size:22px}
#page-drivers .driver-detail-doc.is-empty .driver-detail-doc-art{background:rgba(148,163,184,.08);color:var(--ink3)}
#page-drivers .driver-detail-doc-copy{display:grid;gap:5px;min-width:0}
#page-drivers .driver-detail-doc-copy>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;min-width:0}
#page-drivers .driver-detail-doc-copy strong{min-width:0;font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}
#page-drivers .driver-detail-doc-copy small{display:block;color:var(--ink3);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:left}
#page-drivers .driver-detail-doc-action{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}
#page-drivers .driver-detail-doc-action .btn{min-height:28px;padding:4px 8px;font-size:10px}
#page-drivers .driver-detail-doc-action .driver-profile-doc-name{display:none}
#page-drivers .driver-detail-availability-list{display:grid;gap:7px;min-width:0}
#page-drivers .driver-detail-availability-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(245,158,11,.22);border-radius:8px;background:rgba(79,52,9,.13);min-width:0}
#page-drivers .driver-detail-availability-list article>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
#page-drivers .driver-detail-availability-list b{font-size:11px;overflow-wrap:anywhere}
#page-drivers .driver-detail-availability-list time{color:var(--ink3);font-size:10px;white-space:nowrap}
#page-drivers .driver-detail-task-list{display:grid;gap:7px;min-width:0}
#page-drivers .driver-detail-task-list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(31,47,74,.74);border-radius:8px;background:rgba(6,17,28,.46);min-width:0}
#page-drivers .driver-detail-task-main{display:grid;gap:4px;min-width:0}
#page-drivers .driver-detail-task-main>strong{font:600 11px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
#page-drivers .driver-detail-task-main>span{justify-self:start}
#page-drivers .driver-detail-task-main p{margin:0;color:var(--ink3);font-size:10.5px;overflow-wrap:anywhere}
#page-drivers .driver-detail-task-route{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink2);font-size:11px}
#page-drivers .driver-detail-task-route span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-drivers .driver-detail-task-route i{color:var(--cyan);font-style:normal;flex-shrink:0}
#page-drivers .driver-detail-task-list time{color:var(--ink3);font-size:10px;white-space:nowrap}
#page-drivers .driver-detail-history{display:grid;gap:0;margin:0;padding:0;list-style:none;min-width:0}
#page-drivers .driver-detail-history li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;position:relative;padding:0 0 13px;min-width:0}
#page-drivers .driver-detail-history li:not(:last-child)::before{content:"";position:absolute;left:5px;top:11px;bottom:0;width:1px;background:rgba(34,211,238,.25)}
#page-drivers .driver-detail-history-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:2px solid var(--cyan);border-radius:50%;background:var(--panel);box-shadow:0 0 0 3px rgba(34,211,238,.08)}
#page-drivers .driver-detail-history-dot.green{border-color:#34d399}.driver-detail-history-dot.amber{border-color:#fbbf24}.driver-detail-history-dot.red{border-color:#fb7185}
#page-drivers .driver-detail-history li>div{display:grid;gap:4px;min-width:0}
#page-drivers .driver-detail-history li>div>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#page-drivers .driver-detail-history li strong{font-size:11.5px}.driver-detail-history li span:not(.driver-detail-history-dot){color:var(--ink3);font-size:10px}
#page-drivers .driver-detail-history p{margin:0;color:var(--ink2);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}
#page-drivers .driver-detail-history time{color:var(--ink3);font-size:9.5px}
#page-drivers .driver-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px;color:var(--ink3);font-size:10px;min-width:0}
#page-drivers .driver-detail-footer>span{overflow-wrap:anywhere}
#page-drivers .driver-detail-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
#page-drivers .driver-detail-skeleton span{height:180px;border-radius:12px;background:linear-gradient(90deg,rgba(16,31,48,.8),rgba(29,52,74,.85),rgba(16,31,48,.8));background-size:200% 100%;animation:automation-loading 1.35s ease-in-out infinite}
#page-drivers .driver-table-row{cursor:pointer;transition:background .16s ease}
#page-drivers .driver-table-row:hover{background:rgba(34,211,238,.045)}
#page-drivers .driver-table-row:focus-within,#page-drivers .driver-table-row:focus{outline:2px solid rgba(34,211,238,.32);outline-offset:-2px}
#page-drivers .driver-row-link{display:inline;max-width:100%;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
#page-drivers .driver-row-link:hover{color:var(--cyan)}

@media (max-width:1120px){
  #page-drivers .driver-detail-hero{grid-template-columns:auto minmax(0,1fr)}
  #page-drivers .driver-detail-hero-facts{grid-column:1/-1}
  #page-drivers .driver-detail-doc-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media (max-width:860px){
  #page-drivers .driver-detail-head{align-items:stretch;flex-direction:column}
  #page-drivers .driver-detail-head-actions{justify-content:flex-start}
  #page-drivers .driver-detail-grid{grid-template-columns:minmax(0,1fr)}
  #page-drivers .driver-detail-wide{grid-column:auto}
  #page-drivers .driver-detail-task-list article{grid-template-columns:minmax(0,1fr) auto}
  #page-drivers .driver-detail-task-route{grid-column:1/-1;order:3}
  #page-drivers .driver-detail-task-list time{justify-self:end}
}
@media (max-width:560px){
  #page-drivers .driver-detail-hero{grid-template-columns:auto minmax(0,1fr);padding:14px}
  #page-drivers .driver-detail-avatar{width:56px;height:56px;border-radius:15px;font-size:25px}
  #page-drivers .driver-detail-identity-line strong{font-size:18px}
  #page-drivers .driver-detail-hero-facts{grid-template-columns:1fr 1fr}
  #page-drivers .driver-detail-hero-facts>div:last-child{grid-column:1/-1}
  #page-drivers .driver-detail-card{padding:13px 11px}
  #page-drivers .driver-detail-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
  #page-drivers .driver-detail-section-head>.sub{max-width:130px}
  #page-drivers .driver-detail-facts{grid-template-columns:1fr}
  #page-drivers .driver-detail-license{grid-template-columns:1fr}
  #page-drivers .driver-detail-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-drivers .driver-detail-doc{grid-template-columns:34px minmax(0,1fr);padding:8px}
  #page-drivers .driver-detail-doc-art{width:34px;height:42px;font-size:18px}
  #page-drivers .driver-detail-pending{align-items:stretch;flex-direction:column}
  #page-drivers .driver-detail-pending .btn{width:100%;min-height:42px}
  /* Availability timestamps are long in zh-CN and must not force a second
     grid column wider than the viewport on phone-sized admin screens. */
  #page-drivers .driver-detail-availability-list article{grid-template-columns:minmax(0,1fr)}
  #page-drivers .driver-detail-availability-list time{white-space:normal;overflow-wrap:anywhere}
  #page-drivers .driver-detail-task-list article{grid-template-columns:1fr}
  #page-drivers .driver-detail-task-route{grid-column:auto;order:initial}
  #page-drivers .driver-detail-task-list time{justify-self:start}
  #page-drivers .driver-detail-footer{align-items:stretch;flex-direction:column}
  #page-drivers .driver-detail-footer .btn{width:100%;min-height:42px}
}
@media (max-width:380px){
  #page-drivers .driver-detail-doc-grid{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){#page-drivers .driver-detail-skeleton span{animation:none}}
