/* Selected direction: 水波瓷蓝浅色. These selectors affect the isolated staff overview only. */
body:has(.modular-overview) { min-width:0; }
.shell:has(.modular-overview) { --blue:#487d9e; --blue-hover:#376680; --blue-soft:#e8f1f4; --ink:#233b4c; --muted:#52697a; --line:#dce7ec; --bg:#dbe9ed; --surface:#fdfefe; --surface-muted:#edf4f5; }
.shell:has(.modular-overview) .sidebar { background:rgb(232 241 242 / 96%); border-right-color:#d4e3e8; }
.shell:has(.modular-overview) .nav-item.active { background:#fdfefe; color:#376680; box-shadow:0 4px 10px rgb(68 107 128 / 9%); }
.shell:has(.modular-overview) .workspace { position:relative; isolation:isolate; background:#dbe9ed; }
.shell:has(.modular-overview) .workspace::before,.shell:has(.modular-overview) .workspace::after { content:""; position:fixed; z-index:-1; pointer-events:none; width:490px; height:490px; border:2px solid rgb(139 186 192 / 28%); border-radius:50%; box-shadow:0 0 0 33px rgb(165 200 204 / 15%),0 0 0 72px rgb(157 191 197 / 18%),0 0 0 110px rgb(176 207 210 / 14%); animation:md-water-drift 18s ease-in-out infinite alternate; }
.shell:has(.modular-overview) .workspace::before { top:-275px; right:-230px; }
.shell:has(.modular-overview) .workspace::after { left:180px; bottom:-355px; animation-delay:-8s; }
.shell:has(.modular-overview.md-motion-paused) .workspace::before,.shell:has(.modular-overview.md-motion-paused) .workspace::after { animation-play-state:paused; }
@keyframes md-water-drift { from{transform:translate(0,0) scale(1);} to{transform:translate(-22px,15px) scale(1.08);} }
.modular-overview { --md-series-0:#487d9e; --md-series-1:#258c80; --md-series-2:#b77a50; --md-series-3:#7b87a4; --md-series-4:#7a6f98; --md-series-5:#8799a3; margin-bottom:22px; }
.modular-overview [hidden] { display:none!important; }
.modular-overview:not(:has(.md-grid.is-editing)) .md-edit-note { display:none; }
.md-status:empty { display:none; }
.md-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.md-toolbar h2 { font-size:15px; margin:0; }
.md-toolbar p,.md-toolbar small { margin:4px 0 0; font-size:12px; color:var(--muted); }
.md-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.md-actions .button { min-height:38px; }
.md-edit-note { border-radius:12px; padding:12px 14px; background:#ecf4f6; color:#3c5c70; margin:0 0 16px; font-size:13px; }
.md-add-panel { display:flex; gap:8px; flex-wrap:wrap; background:var(--surface); padding:14px; border:1px solid var(--line); border-radius:16px; margin-bottom:16px; box-shadow:0 5px 14px rgb(68 107 128 / 7%); }
.md-add-panel .button { flex:1 1 125px; }
.md-editor { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; }
.md-editor.has-inspector { grid-template-columns:minmax(0,1fr) 270px; }
.md-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:88px; gap:16px; align-items:stretch; min-width:0; }
.md-widget { min-width:0; min-height:0; display:flex; flex-direction:column; position:relative; padding:19px; background:var(--surface); border:1px solid #d7e5eb; border-bottom:3px solid #cbdde4; border-radius:18px; box-shadow:0 7px 17px rgb(69 105 129 / 9%),0 2px 3px rgb(68 107 128 / 12%),inset 0 1px 0 #fff; overflow:hidden; transition:box-shadow 220ms ease,border-color 220ms ease; }
.md-widget.is-selected { border-color:#689aaf; box-shadow:0 8px 20px rgb(68 107 128 / 17%),0 0 0 2px rgb(72 125 158 / 12%); }
.md-widget.is-moving { opacity:.65; }
.md-widget.is-drop { outline:3px solid #487d9e; outline-offset:3px; background:#edf7fa; }
.md-widget.is-resizing { outline:2px solid #487d9e; outline-offset:2px; }
.md-span-3 { grid-column:span 3; }.md-span-4 { grid-column:span 4; }.md-span-6 { grid-column:span 6; }.md-span-8 { grid-column:span 8; }.md-span-12 { grid-column:span 12; }
.md-rows-2 { grid-row:span 2; }.md-rows-3 { grid-row:span 3; }.md-rows-4 { grid-row:span 4; }.md-rows-5 { grid-row:span 5; }
.md-widget-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex:none; margin-bottom:12px; }
.md-widget-head h2 { font-size:15px; font-weight:600; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.md-number .md-widget-head h2 { font-size:13px; color:var(--muted); font-weight:500; }
.md-widget-head-actions { display:flex; gap:5px; align-items:center; flex:none; }
.md-widget-head-actions .button { padding:3px 7px; min-height:27px; font-size:12px; }
.md-widget-main { min-height:0; min-width:0; flex:1; overflow:auto; scrollbar-width:thin; scrollbar-color:#b9cdd7 #edf4f5; }
.md-number .md-widget-main { display:flex; flex-direction:column; justify-content:center; }
.md-grid.is-editing .md-number .md-widget-main { justify-content:flex-start; }
.md-grid.is-editing .md-number-value { font-size:25px; margin:0; }
/* The selected module's full rule remains in its settings; edit controls need their own space. */
.md-grid.is-editing .md-widget>.md-widget-note { display:none; }
.md-number-value { display:block; font-size:30px; line-height:1.2; letter-spacing:-.025em; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; margin:0 0 10px; }
.md-source-label { font-size:11px; color:#52697a; margin:0 0 4px; overflow-wrap:anywhere; }
.md-widget-note { font-size:12px; color:#52697a; line-height:1.5; margin:6px 0 0; overflow-wrap:anywhere; }
.md-widget-controls { display:flex; gap:5px; flex-wrap:wrap; padding-top:10px; margin-top:9px; border-top:1px solid var(--line); flex:none; }
.md-widget-controls .button { min-height:29px; padding:3px 8px; font-size:12px; }
[data-md-drag] { cursor:grab; touch-action:none; }
[data-md-drag] { font-size:0!important; width:28px; padding:4px!important; }
[data-md-drag]::before { content:""; display:block; margin:auto; width:12px; height:18px; background:radial-gradient(circle,currentColor 1px,transparent 1.7px) 0 0/6px 6px; }
[data-md-drag]:active { cursor:grabbing; }
[data-md-resize] { position:absolute; right:4px; bottom:4px; width:23px; height:23px; padding:2px!important; cursor:nwse-resize; touch-action:none; color:#4a7790!important; background:transparent!important; border:0!important; }
[data-md-resize] { font-size:0!important; }
[data-md-resize]::before { content:""; display:block; width:13px; height:13px; margin:auto; background:repeating-linear-gradient(135deg,transparent 0 3px,currentColor 3px 4px,transparent 4px 6px); clip-path:polygon(100% 0,100% 100%,0 100%); }
.md-chart-host { min-height:135px; height:calc(100% - 50px); max-height:310px; min-width:0; }
.md-chart { display:block; width:100%; height:100%; overflow:visible; }
.md-chart text { font-size:12px; fill:#52697a; font-family:inherit; }
.md-chart .md-chart-value { fill:#233b4c; font-weight:500; }
.md-chart .md-chart-grid { stroke:#e1e9ed; stroke-width:1; }
.md-chart .md-chart-zero { stroke:#b8cbd5; stroke-width:1; }
.md-chart .md-line-segment { fill:none; stroke:#487d9e; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.md-chart .md-ring-hole { fill:#fdfefe; }
.md-chart .md-ring-total { font-size:27px; fill:#233b4c; font-weight:600; }
.md-chart .md-unknown-mark { fill:#97652a; }
.md-chart .md-empty-chart { fill:#52697a; }
.md-color-0 { fill:var(--md-series-0); background:var(--md-series-0); }.md-color-1 { fill:var(--md-series-1); background:var(--md-series-1); }.md-color-2 { fill:var(--md-series-2); background:var(--md-series-2); }.md-color-3 { fill:var(--md-series-3); background:var(--md-series-3); }.md-color-4 { fill:var(--md-series-4); background:var(--md-series-4); }.md-color-5 { fill:var(--md-series-5); background:var(--md-series-5); }
.md-negative { fill:#b63832; background:#b63832; }
.md-state-legend { display:flex; flex-wrap:wrap; gap:7px 13px; font-size:12px; color:#52697a; margin:9px 0 0; }
.md-state-legend span { display:inline-flex; align-items:center; gap:5px; }
.md-state-legend i { width:8px; height:8px; border-radius:3px; display:inline-block; }
.md-chart-legend { display:flex; flex-wrap:wrap; gap:7px 13px; list-style:none; margin:9px 0 0; padding:0; font-size:12px; color:#52697a; }
.md-chart-legend li { display:inline-flex; align-items:center; gap:5px; }
.md-chart-legend i { display:inline-block; width:8px; height:8px; border-radius:3px; flex:none; }
.md-data-details { font-size:12px; margin-top:9px; }
.md-data-details summary { color:#376680; cursor:pointer; padding:4px 0; }
.md-table-scroll { min-width:0; width:100%; overflow:auto; }
table.md-table { width:100%; border-collapse:collapse; font-size:12px; }
table.md-table th { text-align:left; color:#52697a; background:#f1f6f7; font-weight:500; }
table.md-table th,table.md-table td { padding:10px 9px; border-bottom:1px solid #e5edf0; vertical-align:top; overflow-wrap:anywhere; }
table.md-table td[data-type="money"],table.md-table td[data-type="count"] { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
table.md-table .button { min-height:27px; padding:3px 7px; }
.md-table-search { display:grid; width:100%; gap:5px; color:var(--muted); font-size:12px; margin:0 0 10px; }
.md-table-search input { width:100%; border:1px solid var(--line); border-radius:10px; background:#fdfefe; color:var(--ink); padding:8px 10px; font-size:13px; }
.md-table-search input::placeholder { color:#52697a; opacity:1; }
.md-inspector { min-width:0; background:#fdfefe; border:1px solid #d3e2e8; border-bottom:3px solid #cbdde4; border-radius:18px; box-shadow:0 7px 18px rgb(68 107 128 / 10%); padding:19px; position:sticky; top:90px; }
.md-inspector-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.md-inspector-head h2,.md-inspector h3 { font-size:15px; margin:0; }
.md-config-form { display:grid; gap:13px; }
.md-field { display:grid; gap:5px; min-width:0; }
.md-field>span { font-size:12px; color:#52697a; }
.md-field input,.md-field select { width:100%; min-width:0; height:38px; border:1px solid #cfdee6; border-radius:10px; padding:7px 9px; background:#fdfefe; color:#233b4c; }
.md-inspector-note { margin:14px 0 0; padding-top:12px; border-top:1px solid #dce7ec; font-size:12px; line-height:1.6; color:#52697a; }
.md-status { font-size:12px; color:#3b6278; min-height:21px; margin-top:10px; }
.md-status.error { color:#a5312a; }
.md-empty { grid-column:1/-1; background:#fdfefe; border:1px dashed #b4cbd7; border-radius:18px; text-align:center; padding:40px 20px; grid-row:span 3; }
.md-empty p { color:#52697a; }
.dashboard-classic { background:#fdfefe; border:1px solid #d7e5eb; border-radius:18px; margin-top:20px; padding:0 20px; }
.dashboard-classic>summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; padding:16px 0; font-size:14px; font-weight:500; }
.dashboard-classic>summary small { color:#52697a; font-size:12px; font-weight:400; }
.dashboard-classic[open]>summary { border-bottom:1px solid #dce7ec; margin-bottom:20px; }
.dashboard-classic .dashboard-panel { box-shadow:none; }
@media (max-width:1250px) { .md-editor.has-inspector { grid-template-columns:minmax(0,1fr); }.md-inspector { position:static; grid-row:1; }.md-config-form { grid-template-columns:repeat(3,minmax(0,1fr)); }.md-number-value { font-size:25px; }.md-grid>.md-span-3,.md-grid>.md-span-4 { grid-column:span 6; } }
@media (max-width:800px) { .md-grid>.md-widget:not(.md-number) { grid-column:span 12; }.md-grid>.md-number { grid-column:span 6; }.md-config-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.md-widget { padding:17px; }.dashboard-classic { padding:0 14px; }.dashboard-classic>summary { flex-wrap:wrap; } }
@media (max-width:560px) { .md-toolbar { align-items:flex-start; }.md-actions { width:100%; }.md-actions .button { flex:1 1 auto; }.md-widget { padding:15px; }.md-number-value { font-size:23px; }.md-widget-head { margin-bottom:8px; }.md-number .md-widget-head h2 { font-size:12px; }.md-number .md-widget-note { font-size:11px; }.md-grid { gap:12px; }.md-grid.is-editing>.md-number { grid-column:span 12; }.md-config-form { grid-template-columns:minmax(0,1fr); }[data-md-drag],[data-md-resize] { display:none!important; }.md-widget-controls .button { flex:1; min-height:40px; }.md-inspector { padding:17px; }.md-chart-host { min-height:130px; }table.md-table { min-width:390px; }.md-data-details table.md-table { min-width:260px; } }
@media (pointer:coarse) { [data-md-drag],[data-md-resize] { display:none!important; }.md-field input,.md-field select,.md-table-search input { font-size:16px; min-height:44px; }.modular-overview .button { min-height:44px; } }
@media (prefers-reduced-motion:reduce) { .shell:has(.modular-overview) .workspace::before,.shell:has(.modular-overview) .workspace::after { animation:none; }.md-widget { transition:none; } }
