/* =========================================================
   tokens.css · 双皮肤 token 底座（省厅指挥端）
   - 经典色(dark) = 汇报态  /  浅色(light) = 业务态
   - 切换通过 html[data-theme="dark|light"] 完成
   - 对齐《双皮肤UI底座》：颜色只在本文件出现具体色值
   ========================================================= */

:root{
  /* 与主题无关：尺寸 / 圆角 */
  --r-sm:6px;  --r-md:8px;  --r-lg:12px;
  --top-h:64px;     --nav-h:42px;     --status-h:36px;
  --side-w:212px;   --side-gap:12px;  --workbar-h:108px;
  --stage-pad-x:16px;

  /* 与主题无关：状态色 / 农业色（业务叠加色，两皮肤共用，地图叠加层也用这些） */
  --ok:#37c98a;        --warn:#ffb547;       --high:#ff3d4f;
  --orange:#ff8a3d;    --yellow:#ffd64a;
  --blue-lvl:#5aa7ff;  --gray-lvl:#7a8aae;
  --wheat-gold:#f6c761; --wheat-gold-2:#d4a843;
  --agri-green:#22c55e; --agri-green-2:#16a34a;

  /* §3：--accent 兜底（历史组件引用，统一指向 ai-purple，随主题解析） */
  --accent: var(--ai-purple);
}

/* =========================================================
   经典色 · 深色汇报态（默认）
   ========================================================= */
:root[data-theme="dark"]{
  --bg-deep:#0a1124;  --bg-page:#0e1730;
  --bg-panel:#152244; --bg-panel-2:#1a2a52;
  --bg-card:#1e2f5f;  --bg-hover:#243a72;
  --bd-soft:#27396b;  --bd:#324b8a;  --bd-strong:#4a67b3;
  --tx-1:#eaf0ff; --tx-2:#b9c5e6; --tx-3:#8294c4; --tx-4:#5b6da0;

  --gov-blue:#2b6cff;  --gov-blue-2:#4a8bff;  --tech-cyan:#3edaf4;
  --ai-purple:#a974ff; --ai-purple-soft:rgba(169,116,255,.14);

  /* 语义化背景 */
  --body-bg: radial-gradient(ellipse 1400px 800px at 50% -200px,#143a6f 0%,#0e1730 38%,#0a1124 100%);
  --body-bg-emergency: radial-gradient(ellipse 1400px 800px at 50% -200px,#5a1a26 0%,#1c0a14 38%,#0a020a 100%);
  --top-bg:    linear-gradient(90deg,#0b1732 0%,#10264a 50%,#0b1732 100%);
  --nav-bg:    linear-gradient(90deg,#0a142a 0%,#0e1f3e 100%);
  --status-bg: linear-gradient(90deg,#0a132a 0%,#101e3d 100%);
  --sidenav-bg:linear-gradient(180deg,rgba(15,30,60,.96),rgba(10,20,40,.92));
  --panel-bg:  linear-gradient(180deg,rgba(20,40,75,.96),rgba(15,30,60,.96));
  --panel-bg-soft: linear-gradient(180deg,rgba(15,30,60,.55),rgba(8,18,38,.65));
  --card-bg:   rgba(15,30,60,.75);
  --hover-bg:  rgba(43,108,255,.06);
  --modal-bg:  linear-gradient(135deg,rgba(20,36,72,.96),rgba(10,20,40,.96));
  --overlay-bg: rgba(0,0,0,.55);

  --text-main:var(--tx-1); --text-soft:var(--tx-2);
  --text-mute:var(--tx-3); --text-faint:var(--tx-4);
  --border:var(--bd); --border-soft:var(--bd-soft);

  --table-head-bg: rgba(15,30,60,.65);
  --table-row-hover: rgba(43,108,255,.06);
  --table-border: rgba(39,57,107,.5);

  --shadow-soft: 0 6px 20px rgba(0,0,0,.45);
  --shadow-card: 0 0 14px rgba(62,218,244,.12);

  --doc-paper-bg:#ffffff; --doc-paper-text:#111111; --doc-paper-border:#d8e2f0;

  /* 地图底图色（深色＝与 map.js 现值一致，零回归） */
  --map-sea-top:      rgba(15,28,50,.6);
  --map-sea-bottom:   rgba(8,18,35,.95);
  --map-land:         rgba(20,40,70,.55);
  --map-land-stroke:  #3a5275;
  --map-land-stroke-2:#5a8ab8;
  --map-label:        #d0dce8;   /* 地名/城市主标注 */
  --map-label-soft:   #7f9bb8;   /* 副标注 */
  --map-sea-label:    #3a5a85;   /* 渤海/黄海 */
  --map-river:        #c9943a;   /* 黄河 */
  --map-overlay-bg:     rgba(8,18,38,.7);     /* 深态：深玻璃浮窗 */
  --map-overlay-border: var(--bd-soft);
  /* §4 下拉选中态 / §5 地图 tooltip（深态：原值，零回归） */
  --dropdown-active-bg:   rgba(62,218,244,.12);
  --dropdown-active-text: var(--text-main);
  --map-tooltip-bg:     rgba(8,18,38,.95);
  --map-tooltip-text:   #ffffff;
  --map-tooltip-border: rgba(62,218,244,.45);
}

/* =========================================================
   浅色 · 业务态
   ========================================================= */
:root[data-theme="light"]{
  --bg-deep:#f2f6fb;  --bg-page:#f7f9fc;
  --bg-panel:#ffffff; --bg-panel-2:#f8fbff;
  --bg-card:#ffffff;  --bg-hover:#eef5ff;
  --bd-soft:#dde6f2;  --bd:#c7d5e8;  --bd-strong:#a9c1df;
  --tx-1:#102033; --tx-2:#4f647d; --tx-3:#7e90a6; --tx-4:#9cacbf;

  --gov-blue:#2457d6;  --gov-blue-2:#4b82f1;  --tech-cyan:#1fa6d8;
  --ai-purple:#8459e6; --ai-purple-soft:rgba(132,89,230,.10);

  --body-bg:#f3f6fb;
  --body-bg-emergency: linear-gradient(180deg,#fbeaec 0%,#f5dadc 100%);
  --top-bg:    linear-gradient(90deg,#0f2f63 0%,#16457f 100%);  /* 顶栏保持深蓝政务感 */
  --nav-bg:    #ffffff;
  --status-bg: #f8fbff;
  --sidenav-bg:#ffffff;
  --panel-bg:  #ffffff;
  --panel-bg-soft:#f8fbff;
  --card-bg:   #ffffff;
  --hover-bg:  #eef5ff;
  --modal-bg:  #ffffff;
  --overlay-bg: rgba(31,55,98,.28);

  --text-main:var(--tx-1); --text-soft:var(--tx-2);
  --text-mute:var(--tx-3); --text-faint:var(--tx-4);
  --border:var(--bd); --border-soft:var(--bd-soft);

  --table-head-bg: #f1f5fb;
  --table-row-hover: #eef5ff;
  --table-border: #e3eaf3;

  --shadow-soft: 0 6px 18px rgba(31,55,98,.10);
  --shadow-card: 0 1px 4px rgba(31,55,98,.06);

  --doc-paper-bg:#ffffff; --doc-paper-text:#111111; --doc-paper-border:#d8e2f0;

  /* 地图底图色（浅色＝白底 + 中灰蓝描边，遵《底座》建议、不大块深色填充） */
  --map-sea-top:      #eaf2fb;
  --map-sea-bottom:   #f7f9fc;
  --map-land:         #ffffff;
  --map-land-stroke:  #9bb4dc;
  --map-land-stroke-2:#c7d5e8;
  --map-label:        #3d4659;
  --map-label-soft:   #6b7589;
  --map-sea-label:    #9bb4dc;
  --map-river:        #b9833a;
  --map-overlay-bg:     rgba(255,255,255,.92);  /* 浅态：白玻璃浮窗 */
  --map-overlay-border: #dde6f2;

  /* P0-1：补齐浅色业务态 token —— 表单 / 上传 / 顶栏控件 / toast */
  --toast-bg:#ffffff;
  --form-bg:#ffffff;
  --form-border:#d8e2f0;
  --form-label:#64748b;
  --form-required:#d93b4f;
  --form-focus:var(--gov-blue);
  --upload-bg:#ffffff;
  --upload-border:dashed 1px #d8e2f0;
  --upload-hover:#eef5ff;
  /* 顶栏专用：浅色态顶栏仍为深蓝，控件用白色透明系 */
  --top-control-bg:rgba(255,255,255,.10);
  --top-control-bg-weak:rgba(255,255,255,.06);
  --top-control-border:rgba(255,255,255,.18);
  --top-control-text:rgba(255,255,255,.85);
  --top-control-mute:rgba(255,255,255,.55);
  /* §4 下拉选中态 / §5 地图 tooltip（浅态：政务蓝 / 白底浮窗） */
  --dropdown-active-bg:   #eef5ff;
  --dropdown-active-text: var(--gov-blue);
  --map-tooltip-bg:     #ffffff;
  --map-tooltip-text:   var(--text-main);
  --map-tooltip-border: #d8e2f0;
}

/* 没设 data-theme 时按经典色兜底 */
:root:not([data-theme]){
  --bg-deep:#0a1124;  --bg-page:#0e1730;  --bg-panel:#152244; --bg-panel-2:#1a2a52;
  --bg-card:#1e2f5f;  --bg-hover:#243a72;
  --bd-soft:#27396b;  --bd:#324b8a;  --bd-strong:#4a67b3;
  --tx-1:#eaf0ff; --tx-2:#b9c5e6; --tx-3:#8294c4; --tx-4:#5b6da0;
  --gov-blue:#2b6cff; --gov-blue-2:#4a8bff; --tech-cyan:#3edaf4; --ai-purple:#a974ff;
}

/* 顶栏在两皮肤下都保持深蓝政务底，因此其文字/边框/底色 token 固定为浅色系 */
.topbar{
  --tx-1:#eaf0ff; --tx-2:#b9c5e6; --tx-3:#8294c4; --tx-4:#5b6da0;
  --text-main:#eaf0ff; --text-soft:#b9c5e6; --text-mute:#8294c4; --text-faint:#5b6da0;
  --border:#324b8a; --border-soft:#27396b;
  /* 顶栏始终深底，故顶栏内胶囊/按钮用到的背景 token 也钉成深色，避免浅色态在深蓝顶栏里出现白块 */
  --card-bg:rgba(15,30,60,.75); --bg-card:#1e2f5f; --hover-bg:rgba(43,108,255,.06);
}

*{margin:0; padding:0; box-sizing:border-box;}
html,body{
  background:var(--body-bg);
  color:var(--text-main);
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  font-size:13px; line-height:1.55;
  min-width:1366px; min-height:900px; overflow-x:auto;
  transition: background .25s ease, color .25s ease;
}
body.emergency{ background:var(--body-bg-emergency); }
button{font-family:inherit; cursor:pointer; border:none; outline:none; background:none; color:inherit;}
a{color:inherit; text-decoration:none;}
input,textarea{font-family:inherit;}

::-webkit-scrollbar{width:6px; height:6px;}
::-webkit-scrollbar-thumb{background:var(--bd); border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--bd-strong);}
::-webkit-scrollbar-track{background:transparent;}
