/* ===================================================================
   日间（浅色）主题 —— 2026-10-31 上线，用户定稿「默认浅色」
   原理：结构与暗色完全一致，仅覆盖配色/阴影/发光，切换零重排。
   用法：<html data-theme="light">（/static/theme.js 负责读写 localStorage）
   注意：变量块必须写 html[data-theme="light"]（0,1,1）才能压过各页 :root（0,1,0）
   =================================================================== */

html[data-theme="light"]{
  --bg:#f4f6fa; --panel:#ffffff; --panel2:#fbfcfe; --line:#dbe3ec;
  --cyan:#0b6f9e;      /* 主色：白底对比度 5.6:1 */
  --violet:#6a4fc0;    /* 次色：白底 6.0:1 */
  --txt:#17202b;       /* 正文：白底 16.4:1 */
  --dim:#5a6b80;       /* 说明文字：白底 5.5:1 */
  --green:#0f7a52; --amber:#8f5b00; --red:#c0392b;
  --shadow:0 1px 3px rgba(16,30,54,.07), 0 8px 24px -18px rgba(16,30,54,.28);
}

/* 顶栏主题切换按钮（两套主题共用） */
.themebtn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);
  color:var(--dim);border-radius:7px;padding:5px 11px;cursor:pointer;font-size:12px;
  font-family:inherit;line-height:1.4;transition:.15s}
.themebtn:hover{color:var(--txt);border-color:var(--cyan)}

/* =========================== 查询主页 =========================== */
html[data-theme="light"] body{background:var(--bg)}
html[data-theme="light"] .header{background:linear-gradient(180deg,#ffffff 0%,#f7fafd 100%);
  border-bottom:1px solid var(--line)}
html[data-theme="light"] h1{background:linear-gradient(90deg,#0b6f9e,#6a4fc0);
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* 标签页：选中态用实色下划线 + 白底，不用发光 */
html[data-theme="light"] .tab{background:#eef2f7;border-color:var(--line);color:#5a6b80}
html[data-theme="light"] .tab:hover{color:var(--txt);border-color:#b9c7d6}
html[data-theme="light"] .tab.on{background:#fff;color:var(--cyan);border-color:var(--cyan);
  box-shadow:inset 0 -2px 0 var(--cyan);font-weight:600}

/* KPI 卡：柔和投影替代霓虹脉冲 */
html[data-theme="light"] .kpi{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="light"] .kpi:hover{border-color:var(--cyan);
  box-shadow:0 2px 6px rgba(11,111,158,.14),0 10px 26px -16px rgba(11,111,158,.45)}
html[data-theme="light"] .kpi::after{display:none}
html[data-theme="light"] .kpi .val,
html[data-theme="light"] .kpi.v .val,
html[data-theme="light"] .kpi.g .val{text-shadow:none}
html[data-theme="light"] .kpi .lab{color:var(--dim)}

/* 控件 */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] .pwdin{background:#fff;border-color:var(--line);color:var(--txt)}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus{border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(11,111,158,.12)}
html[data-theme="light"] .btn{background:#e8f4fa;border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .btn:hover{background:#d9edf8;box-shadow:none}
html[data-theme="light"] .btn.ghost{background:#fff;border-color:var(--line);color:var(--dim)}
html[data-theme="light"] .toolbar,
html[data-theme="light"] .card,
html[data-theme="light"] .tablecard{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="light"] .card h3{color:var(--dim)}

/* 表格：浅灰表头 + 斑马纹 */
html[data-theme="light"] th{background:#f0f4f9;color:#546278;border-bottom:1px solid #dbe3ec}
html[data-theme="light"] td{border-bottom:1px solid #eef2f7}
html[data-theme="light"] tbody tr:nth-child(even){background:#fafcfe}
html[data-theme="light"] tbody tr:hover{background:#eff6fc}
html[data-theme="light"] td.date{color:#6b7c92}

/* 徽标：浅底深字 */
html[data-theme="light"] .c-招标公告{color:#0b6f9e;border-color:#a9d3e6;background:#e8f4fa}
html[data-theme="light"] .c-中标结果{color:#0f7a52;border-color:#a7d9c4;background:#e7f6ef}
html[data-theme="light"] .c-更正终止{color:#8f5b00;border-color:#e8cd9a;background:#fdf3e3}
html[data-theme="light"] .c-其他{color:#5a6b80;border-color:var(--line);background:#f4f6fa}
html[data-theme="light"] .rel{color:var(--violet);border-color:#c3b6e8;background:#f1ecfb}
html[data-theme="light"] .rel.zero{color:#8a97a8;border-color:#dbe3ec;background:none}
html[data-theme="light"] .dom-it{color:#0b6f9e;border-color:#a9d3e6;background:#e8f4fa}
html[data-theme="light"] .dom-unk{color:#8f5b00;border-color:#e8cd9a;background:#fdf3e3}
html[data-theme="light"] .dom-non{color:#5a6b80;border-color:#d6dee8;background:#f1f4f8}

/* 分页 */
html[data-theme="light"] .pager{color:var(--dim)}
html[data-theme="light"] .pager button{background:#fff;border-color:var(--line);color:var(--txt)}
html[data-theme="light"] .pager button.on{border-color:var(--cyan);color:var(--cyan);background:#e8f4fa}

/* 弹窗：白卡 + 中性遮罩 */
html[data-theme="light"] .mask{background:rgba(23,32,43,.45)}
html[data-theme="light"] .modal{background:#fff;border-color:var(--line);
  box-shadow:0 24px 64px -24px rgba(16,30,54,.45)}
html[data-theme="light"] .modal h2{color:#17202b}
html[data-theme="light"] .close{color:var(--dim)}
html[data-theme="light"] .srcline{color:var(--dim);border-top-color:var(--line)}
html[data-theme="light"] .runinfo{color:var(--dim)}
html[data-theme="light"] .runinfo .it{background:#f7fafc;border-color:var(--line)}
html[data-theme="light"] .runinfo .it b{color:var(--cyan)}

/* 关联公告时间轴 */
html[data-theme="light"] .relbox{border-top-color:var(--line)}
html[data-theme="light"] .relbox h4{color:var(--violet)}
html[data-theme="light"] .relitem{background:#fff;border-color:var(--line)}
html[data-theme="light"] .relitem:hover{border-color:var(--violet);
  box-shadow:0 2px 10px -6px rgba(106,79,192,.6)}
html[data-theme="light"] .relitem.self{border-color:var(--cyan);background:#eff7fc}
html[data-theme="light"] .relitem .d{color:var(--dim)}
html[data-theme="light"] .relitem .t .ti{color:var(--txt)}
html[data-theme="light"] .relitem .t .meta{color:var(--dim)}
html[data-theme="light"] .relitem .a{color:var(--green)}
html[data-theme="light"] .empty{color:var(--dim)}

/* 顶栏内联灰色手机号，浅底需提亮 */
html[data-theme="light"] .header span[style*="3f5266"]{color:#93a1b3 !important}

/* 自建日期选择器（原为硬编码深色） */
html[data-theme="light"] .drbtn{background:#fff;border-color:var(--line);color:var(--txt)}
html[data-theme="light"] .drbtn:hover,
html[data-theme="light"] .drbtn.on{border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .drpop{background:#fff;border-color:var(--line);
  box-shadow:0 18px 44px -18px rgba(16,30,54,.42)}
html[data-theme="light"] .drpresets span{background:#f7fafc;color:var(--dim)}
html[data-theme="light"] .drpresets span:hover{border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .drgrid .day:hover{background:#eff6fc}
html[data-theme="light"] .drgrid .day.mute{color:#b3bfcd}
html[data-theme="light"] .drgrid .day.sel{background:#d9edf8;border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .drgrid .day.inrange{background:#eff7fc}
html[data-theme="light"] .drgrid .day.today{color:var(--amber)}

/* 修改密码 / 关注弹窗内的提示条 */
html[data-theme="light"] .pwdmsg.ok{color:#0f7a52;border-color:#a7d9c4;background:#e7f6ef}
html[data-theme="light"] .pwdmsg.err{color:#c0392b;border-color:#eeb4ae;background:#fdecea}

/* =========================== 登录页 =========================== */
html[data-theme="light"] .login-body,
html[data-theme="light"] body.login-body{
  background:radial-gradient(circle at 50% 0%,#e9f1fa 0%,#f4f6fa 58%)}
html[data-theme="light"] .box .card{background:#fff;border-color:var(--line);
  box-shadow:0 18px 50px -28px rgba(16,30,54,.4)}
html[data-theme="light"] .box .tab{background:#f7fafc}
html[data-theme="light"] .box .tab.on{background:#e8f4fa;color:var(--cyan);
  border-color:var(--cyan);box-shadow:none}
html[data-theme="light"] .box .btn{background:#e8f4fa;border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .box .btn:hover{background:#d9edf8;box-shadow:none}
html[data-theme="light"] .box .msg.ok{color:#0f7a52;border-color:#a7d9c4;background:#e7f6ef}
html[data-theme="light"] .box .msg.err{color:#c0392b;border-color:#eeb4ae;background:#fdecea}
html[data-theme="light"] .box .msg.info{color:#8f5b00;border-color:#e8cd9a;background:#fdf3e3}
html[data-theme="light"] .box .hint{color:#6b7c92}
html[data-theme="light"] .box .foot{color:#93a1b3}

/* =========================== 管理后台 =========================== */
html[data-theme="light"] .admin .header,
html[data-theme="light"] body.admin-header{background:linear-gradient(180deg,#fff,#f7fafd)}
html[data-theme="light"] .admin .tab{background:#f7fafc}
html[data-theme="light"] .admin .tab.on{background:#e8f4fa;color:var(--cyan);border-color:var(--cyan)}
html[data-theme="light"] .admin a.btn,
html[data-theme="light"] .admin button.btn{background:#fff;border-color:var(--cyan);color:var(--cyan)}
html[data-theme="light"] .admin button.btn.ghost{background:#fff;border-color:var(--line);color:var(--dim)}
html[data-theme="light"] .admin table{background:#fff;border-color:var(--line)}
html[data-theme="light"] .admin th{background:#f0f4f9;color:#546278}
html[data-theme="light"] .admin tr:hover td{background:#eff6fc}
html[data-theme="light"] .admin .kpi{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="light"] .admin .kpi .v{text-shadow:none}
html[data-theme="light"] .admin .kpi .l{color:var(--dim)}
html[data-theme="light"] .admin .sect{color:var(--cyan)}
html[data-theme="light"] .admin .st-pending{color:#8f5b00;border-color:#e8cd9a;background:#fdf3e3}
html[data-theme="light"] .admin .st-approved{color:#0f7a52;border-color:#a7d9c4;background:#e7f6ef}
html[data-theme="light"] .admin .st-rejected{color:#c0392b;border-color:#eeb4ae;background:#fdecea}
html[data-theme="light"] .admin .msg.ok{color:#0f7a52;border-color:#a7d9c4;background:#e7f6ef}
html[data-theme="light"] .admin .msg.err{color:#c0392b;border-color:#eeb4ae;background:#fdecea}
html[data-theme="light"] .admin input.sel,
html[data-theme="light"] .admin select.sel{background:#fff;border-color:var(--line);color:var(--txt)}
html[data-theme="light"] .admin .mono{color:#6b7c92}
