/* ===== 浅色主题覆盖层 v2 ===== */
html.light{color-scheme:light}
html.light{--background:#ffffff;--foreground:#1f2328;--card:#ffffff;--card-foreground:#1f2328;
--popover:#ffffff;--popover-foreground:#1f2328;--primary:#dc3545;--primary-foreground:#fff;
--secondary:#f6f8fa;--secondary-foreground:#1f2328;--muted:#f6f8fa;--muted-foreground:#57606a;
--accent:#bc4c00;--accent-foreground:#fff;--destructive:#cf222e;--border:#d0d7de;--input:#d0d7de;--ring:#dc3545;
--sidebar:#f6f8fa;--sidebar-foreground:#1f2328;--sidebar-primary:#dc3545;--sidebar-primary-foreground:#fff;
--sidebar-accent:#eaeef2;--sidebar-accent-foreground:#1f2328;--sidebar-border:#d0d7de;--sidebar-ring:#dc3545;
--sidebar-background:210 17% 98%}
html.light body{background:#f6f8fa !important;color:#1f2328 !important}
html.light{scrollbar-color:#c9d1d9 #f6f8fa}
html.light ::-webkit-scrollbar{width:10px;height:10px}
html.light ::-webkit-scrollbar-track{background:#f6f8fa}
html.light ::-webkit-scrollbar-thumb{background:#c9d1d9;border-radius:6px}
html.light ::selection{background:#b6d7ff;color:#1f2328}
html.light .bg-white\/5{background-color:rgba(31,35,40,.04) !important}
html.light .hover\:bg-white\/5:hover{background-color:rgba(31,35,40,.04) !important}
html.light .bg-white\/10{background-color:rgba(31,35,40,.06) !important}
html.light .hover\:bg-white\/10:hover{background-color:rgba(31,35,40,.06) !important}
html.light .bg-white\/15{background-color:rgba(31,35,40,.08) !important}
html.light .border-white\/5{border-color:rgba(31,35,40,.06) !important}
html.light .border-white\/10{border-color:rgba(31,35,40,.10) !important}
html.light .border-white\/15{border-color:rgba(31,35,40,.14) !important}
html.light :where(.divide-\[\#21262d\]>:not(:last-child)){border-color:#d0d7de !important}
html.light .\!border-\[\#30363d\]{border-color:#d0d7de !important}
html.light .border-\[\#3a4250\]{border-color:#d0d7de !important}
html.light .border-\[\#8b949e\]{border-color:#d0d7de !important}
html.light .border-\[\#8b949e\]\/30{border-color:color-mix(in srgb, #d0d7de 30%, transparent) !important}
html.light .border-\[\#58a6ff\]{border-color:#0969da !important}
html.light .border-\[\#161b22\]{border-color:#d0d7de !important}
html.light .border-\[\#484f58\]{border-color:#d8dee4 !important}
html.light .border-\[\#21262d\]{border-color:#d0d7de !important}
html.light .border-\[\#30363d\]{border-color:#d0d7de !important}
html.light .border-\[\#30363d\]\/30{border-color:color-mix(in srgb, #d0d7de 30%, transparent) !important}
html.light .border-\[\#30363d\]\/50{border-color:color-mix(in srgb, #d0d7de 50%, transparent) !important}
html.light .\!bg-\[\#21262d\]{background-color:#eaeef2 !important}
html.light .bg-\[\#0d1117\]{background-color:#f6f8fa !important}
html.light .bg-\[\#0d1117\]\/80{background-color:color-mix(in srgb, #f6f8fa 80%, transparent) !important}
html.light .bg-\[\#1c2128\]{background-color:#ffffff !important}
html.light .bg-\[\#1f6feb\]{background-color:#ddf4ff !important}
html.light .bg-\[\#2d333b\]{background-color:#eaeef2 !important}
html.light .bg-\[\#8b949e\]{background-color:#eaeef2 !important}
html.light .bg-\[\#161b22\]{background-color:#ffffff !important}
html.light .bg-\[\#262c36\]{background-color:#eaeef2 !important}
html.light .bg-\[\#21262d\]{background-color:#eaeef2 !important}
html.light .bg-\[\#21262d\]\/50{background-color:color-mix(in srgb, #eaeef2 50%, transparent) !important}
html.light .bg-\[\#30363d\]{background-color:#d0d7de !important}
html.light .bg-\[\#30363d\]\/50{background-color:color-mix(in srgb, #d0d7de 50%, transparent) !important}
html.light .fill-\[\#1c2128\]{fill:#24292f !important}
html.light .\!text-\[\#8b949e\]{color:#57606a !important}
html.light .text-\[\#6e7681\]{color:#6e7781 !important}
html.light .text-\[\#8b949e\]{color:#57606a !important}
html.light .text-\[\#58a6ff\]{color:#0969da !important}
html.light .text-\[\#484f58\]{color:#6e7781 !important}
html.light .text-\[\#30363d\]{color:#6e7781 !important}
html.light .text-\[\#c9d1d9\]{color:#24292f !important}
html.light .text-\[\#e6edf3\]{color:#1f2328 !important}
html.light .placeholder-\[\#8b949e\]::placeholder{color:#57606a !important}
html.light .placeholder-\[\#484f58\]::placeholder{color:#6e7781 !important}
html.light .file\:border-\[\#30363d\]::file-selector-button{border-color:#d0d7de !important}
html.light .file\:bg-\[\#21262d\]::file-selector-button{background-color:#eaeef2 !important}
html.light .file\:text-\[\#c9d1d9\]::file-selector-button{color:#24292f !important}
html.light .placeholder\:text-\[\#484f58\]::placeholder{color:#6e7781 !important}
@media (hover:hover){html.light .hover\:border-\[\#8b949e\]:hover{border-color:#d0d7de !important}}
@media (hover:hover){html.light .hover\:border-\[\#8b949e\]\/50:hover{border-color:color-mix(in srgb, #d0d7de 50%, transparent) !important}}
@media (hover:hover){html.light .hover\:border-\[\#58a6ff\]:hover{border-color:#0969da !important}}
@media (hover:hover){html.light .hover\:border-\[\#58a6ff\]\/50:hover{border-color:color-mix(in srgb, #0969da 50%, transparent) !important}}
@media (hover:hover){html.light .hover\:border-\[\#484f58\]:hover{border-color:#d8dee4 !important}}
@media (hover:hover){html.light .hover\:border-\[\#30363d\]:hover{border-color:#d0d7de !important}}
@media (hover:hover){html.light .hover\:bg-\[\#0d1117\]:hover{background-color:#f6f8fa !important}}
@media (hover:hover){html.light .hover\:bg-\[\#0d1117\]\/50:hover{background-color:color-mix(in srgb, #f6f8fa 50%, transparent) !important}}
@media (hover:hover){html.light .hover\:bg-\[\#1c2128\]:hover{background-color:#ffffff !important}}
@media (hover:hover){html.light .hover\:bg-\[\#1c2333\]:hover{background-color:#f6f8fa !important}}
@media (hover:hover){html.light .hover\:bg-\[\#161b22\]:hover{background-color:#ffffff !important}}
@media (hover:hover){html.light .hover\:bg-\[\#21262d\]:hover{background-color:#eaeef2 !important}}
@media (hover:hover){html.light .hover\:bg-\[\#30363d\]:hover{background-color:#d0d7de !important}}
@media (hover:hover){html.light .hover\:text-\[\#c9d1d9\]:hover{color:#24292f !important}}
@media (hover:hover){html.light .hover\:text-\[\#e6edf3\]:hover{color:#1f2328 !important}}
html.light .focus\:border-\[\#58a6ff\]:focus{border-color:#0969da !important}
html.light .focus\:bg-\[\#0d1117\]:focus{background-color:#f6f8fa !important}
html.light .focus\:bg-\[\#1c2128\]:focus{background-color:#ffffff !important}
@media (hover:hover){html.light .data-\[state\=open\]\:hover\:bg-\[\#1c2128\][data-state=open]:hover{background-color:#ffffff !important}}
@media (hover:hover){html.light .data-\[state\=open\]\:hover\:text-\[\#e6edf3\][data-state=open]:hover{color:#1f2328 !important}}
html.light .data-\[state\=selected\]\:bg-\[\#1c2128\][data-state=selected]{background-color:#ffffff !important}
html.light .\[\&_tr\]\:border-\[\#21262d\] tr{border-color:#d0d7de !important}
/* ===== 语义色在浅色下的加深（保证对比度） ===== */
html.light .text-red-300,html.light .text-red-400{color:#cf222e !important}
html.light .text-green-300,html.light .text-green-400,html.light .text-emerald-400{color:#1a7f37 !important}
html.light .text-blue-300,html.light .text-blue-400{color:#0969da !important}
html.light .text-cyan-300,html.light .text-cyan-400{color:#1b7c83 !important}
html.light .text-orange-300,html.light .text-orange-400{color:#bc4c00 !important}
html.light .text-yellow-300,html.light .text-yellow-400,html.light .text-amber-400{color:#9a6700 !important}
html.light .text-purple-300,html.light .text-purple-400{color:#8250df !important}
html.light .text-rose-400{color:#cf222e !important}
html.light .text-gray-300,html.light .text-gray-400,html.light .text-slate-400{color:#57606a !important}
/* 深色语义底纹 → 浅色柔和底纹 */
html.light .bg-green-950\/20,html.light .bg-green-950\/30{background-color:rgba(26,127,55,.07) !important}
html.light .border-green-900\/50{border-color:rgba(26,127,55,.25) !important}
html.light .bg-red-950\/20,html.light .bg-red-950\/30{background-color:rgba(207,34,46,.06) !important}
html.light .border-red-900\/50{border-color:rgba(207,34,46,.25) !important}
html.light .bg-yellow-950\/20,html.light .bg-amber-950\/20{background-color:rgba(154,103,0,.08) !important}
html.light .bg-blue-950\/20{background-color:rgba(9,105,218,.07) !important}
/* 遮罩：浅色下别太黑 */
html.light .bg-black\/70,html.light .bg-black\/80{background-color:rgba(15,23,42,.45) !important}
html.light .bg-black\/60,html.light .bg-black\/50{background-color:rgba(15,23,42,.35) !important}
/* 弹窗/提示：内联深色底也要压住 */
html.light [data-sonner-toast]{background:#ffffff !important;border-color:#d0d7de !important;color:#1f2328 !important;box-shadow:0 8px 24px rgba(31,35,40,.12) !important}
html.light [data-sonner-toast] [data-title]{color:#1f2328 !important}
html.light [data-sonner-toast] [data-description]{color:#57606a !important}
/* react-admin / MUI 运行时样式兜底 */
html.light .MuiPaper-root{background-color:#ffffff !important;color:#1f2328 !important}
html.light .MuiTableCell-root{border-color:#d0d7de !important;color:#1f2328 !important}
html.light .MuiInputBase-input{color:#1f2328 !important}
html.light .MuiSvgIcon-root{color:#57606a}
html.light [role="dialog"]{color:#1f2328}
/* 卡片阴影：深色靠发光，浅色改柔和投影 */
html.light .shadow-lg{box-shadow:0 6px 18px rgba(31,35,40,.10) !important}
html.light .shadow-2xl{box-shadow:0 12px 32px rgba(31,35,40,.14) !important}
/* 图片/图标不反色 */
html.light img,html.light canvas,html.light video{filter:none !important}
/* ===== 日夜切换按钮 ===== */
.zaka-theme-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;
  border-radius:9999px;border:1px solid #30363d;background:#161b22;color:#e6edf3;cursor:pointer;padding:0;
  transition:background-color .15s,border-color .15s,color .15s,transform .15s;margin-left:4px}
.zaka-theme-btn:hover{background:#21262d;border-color:#8b949e;transform:scale(1.06)}
.zaka-theme-btn:active{transform:scale(.94)}
.zaka-theme-btn svg{width:17px;height:17px;display:block}
html.light .zaka-theme-btn{background:#ffffff;border-color:#d0d7de;color:#1f2328}
html.light .zaka-theme-btn:hover{background:#f6f8fa;border-color:#8b949e}
.zaka-theme-btn.zaka-floating{position:fixed;top:12px;right:12px;z-index:99998;box-shadow:0 4px 14px rgba(0,0,0,.25)}
