/* ══════════════════════════════════════════════════════════════════════════
   COMMAND DECK — Executive, Device Health, Installation, DFMS Monthly,
   Department and Vendor pages, plus the collapsible sidebar.
   Everything is prefixed dk- / sb- so nothing leaks into the rest of the app.
   ══════════════════════════════════════════════════════════════════════════ */
.page > .deck-legacy{display:none}
/* Opening a redesigned page used to show the old layout for about a second
   while the deck was built. The page is blanked the moment it opens and the
   spinner stands in until the deck is there. */
.page.deck-wait > *:not(.deck){display:none!important}
.page.deck-wait::after{content:"";display:block;width:26px;height:26px;margin:80px auto;border-radius:50%;border:3px solid rgba(124,92,255,.25);border-top-color:#7c5cff;animation:dkSpin .8s linear infinite}
/* The page-level export bar another module adds is replaced by the deck's own Excel / PDF. */
.page:not(.deck-classic) > .deck ~ .export-bar,.page:not(.deck-classic) > .export-bar:has(~ .deck){display:none}
.page.deck-classic > .deck-legacy{display:block}
.page.deck-classic > .deck{background:none;border:0;padding:0;margin:0 0 12px;min-height:0}
.page.deck-classic > .deck::before{display:none}

.deck{--dk-ink:#e9eefb;--dk-ink2:#a8b3cc;--dk-ink3:#65708a;--dk-glass:rgba(16,22,40,.66);--dk-glass2:rgba(26,34,60,.55);--dk-edge:rgba(160,175,210,.13);--dk-edge2:rgba(160,175,210,.24);
  position:relative;isolation:isolate;color:var(--dk-ink);font-family:Inter,system-ui,"Segoe UI",sans-serif;font-size:13px;line-height:1.45;
  border-radius:20px;padding:0 20px 26px;margin:-4px -2px 0;min-height:70vh;overflow:hidden;background:#05070f;border:1px solid var(--dk-edge)}
.deck::before{content:"";position:absolute;inset:-10%;z-index:-1;pointer-events:none;background:
  radial-gradient(40% 30% at 12% 6%,rgba(124,92,255,.26),transparent 70%),radial-gradient(35% 28% at 92% 4%,rgba(34,211,238,.18),transparent 70%),
  radial-gradient(40% 36% at 70% 100%,rgba(244,114,182,.12),transparent 70%);animation:dkDrift 26s ease-in-out infinite alternate}
@keyframes dkDrift{to{transform:translate(2%,-1.5%) scale(1.04)}}
.dk-disp{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.02em}
.dk-mono{font-family:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace}

.dk-hd{position:sticky;top:0;z-index:5;margin:0 -20px 16px;padding:14px 20px 12px;background:linear-gradient(180deg,rgba(5,7,15,.96),rgba(5,7,15,.84));backdrop-filter:blur(14px);border-bottom:1px solid var(--dk-edge)}
.dk-hd-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dk-hd h1{margin:0;font-size:23px;font-weight:700;color:#fff}
.dk-eye{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#22d3ee}
.dk-sp{flex:1}
.dk-f,.dk-sel{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:11px;border:1px solid var(--dk-edge2);background:var(--dk-glass2);color:var(--dk-ink2);font:500 11.5px Inter,sans-serif;white-space:nowrap}
.dk-sel{cursor:pointer;max-width:210px;outline:none}
.dk-sel option{background:#0b1022;color:#e9eefb}
.dk-f b{color:#fff}
.dk-live{border-color:rgba(52,211,153,.45);color:#a7f3d0}
.dk-live i{width:8px;height:8px;border-radius:50%;background:#34d399;animation:dkPulse 2s infinite}
@keyframes dkPulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.dk-bt{height:34px;padding:0 13px;border-radius:11px;border:1px solid var(--dk-edge2);background:var(--dk-glass2);color:#fff;font:600 11.5px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.dk-bt:hover{border-color:rgba(124,92,255,.6)}
.dk-g{border:0;background:linear-gradient(135deg,#7c5cff,#5b8cff);box-shadow:0 8px 22px rgba(124,92,255,.35)}
.dk-seg{display:inline-flex;height:34px;border:1px solid var(--dk-edge2);border-radius:11px;overflow:hidden;background:var(--dk-glass2)}
.dk-seg button{border:0;background:transparent;color:var(--dk-ink2);font:600 11px Inter,sans-serif;padding:0 11px;cursor:pointer}
.dk-seg button.on{background:linear-gradient(135deg,rgba(124,92,255,.6),rgba(34,211,238,.35));color:#fff}
.dk-ticker{margin-top:10px;overflow:hidden;border-radius:10px;border:1px solid var(--dk-edge);background:rgba(0,0,0,.25);height:28px;position:relative}
.dk-ticker div{position:absolute;white-space:nowrap;line-height:28px;font-size:11.5px;color:var(--dk-ink2);animation:dkTick 80s linear infinite}
.dk-ticker b{color:#fff}.dk-ticker em{font-style:normal;margin:0 22px;color:#22d3ee}
@keyframes dkTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.dk-b{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.dk-b > .s2{grid-column:span 2}.dk-b > .s3{grid-column:span 3}.dk-b > .s4{grid-column:span 4}.dk-b > .s5{grid-column:span 5}.dk-b > .s6{grid-column:span 6}
.dk-b > .s7{grid-column:span 7}.dk-b > .s8{grid-column:span 8}.dk-b > .s12{grid-column:span 12}
@media(max-width:1300px){.dk-b > .s2,.dk-b > .s3{grid-column:span 6}.dk-b > .s4,.dk-b > .s5,.dk-b > .s6,.dk-b > .s7,.dk-b > .s8{grid-column:span 12}}
@media(max-width:720px){.dk-b > *{grid-column:span 12!important}.deck{padding:0 12px 20px}.dk-hd{margin:0 -12px 14px;padding:12px}}
.dk-k{position:relative;border-radius:18px;padding:16px 18px;background:var(--dk-glass);border:1px solid var(--dk-edge);backdrop-filter:blur(12px);overflow:hidden;min-width:0}
.dk-k::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;pointer-events:none;background:linear-gradient(140deg,rgba(124,92,255,.45),transparent 35%,transparent 65%,rgba(34,211,238,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.dk-inner{background:rgba(0,0,0,.22)}
.dk-kh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.dk-kt{font:600 13.5px "Space Grotesk",Inter,sans-serif;color:#fff;display:flex;align-items:center;gap:8px}
.dk-ks{font-size:11px;color:var(--dk-ink3);margin-top:2px}
.dk-tag{font:700 9.5px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:rgba(160,175,210,.12);color:var(--dk-ink2);white-space:nowrap}
.dk-tag-live{background:rgba(52,211,153,.14);color:#6ee7b7}
.dk-ch{height:260px}.dk-ch.sm{height:190px}.dk-ch.lg{height:340px}.dk-ch.xl{height:420px}
.dk-sect{display:flex;align-items:center;gap:10px;margin:22px 0 12px;font:700 11px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dk-ink3)}
.dk-sect::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--dk-edge2),transparent)}

.dk-hero{padding:16px 18px 12px}
.dk-lb{font:700 10px Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--dk-ink3);display:flex;align-items:center;gap:7px}
.dk-lb i{width:9px;height:9px;border-radius:3px;display:inline-block}
.dk-val{font-size:30px;font-weight:700;color:#fff;margin:8px 0 2px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-sub{font-size:11px;color:var(--dk-ink2);display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:16px}
.dk-spark{height:46px;margin:8px -6px -4px}
.dk-up{color:#fda4af;font-weight:700}.dk-dn{color:#6ee7b7;font-weight:700}
.dk-glow{position:absolute;width:160px;height:160px;border-radius:50%;right:-60px;top:-60px;filter:blur(40px);opacity:.33;pointer-events:none}

.dk-ins{display:grid;gap:9px}
.dk-in{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 12px;border-radius:13px;background:rgba(0,0,0,.22);border:1px solid var(--dk-edge)}
.dk-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px}
.dk-in b{display:block;font-size:12px;color:#fff}.dk-in span{font-size:11px;color:var(--dk-ink2)}
.dk-in.r .dk-ic{background:rgba(251,113,133,.18)}.dk-in.a .dk-ic{background:rgba(251,191,36,.18)}.dk-in.g .dk-ic{background:rgba(52,211,153,.18)}.dk-in.v .dk-ic{background:rgba(124,92,255,.22)}

.dk-tb{width:100%;border-collapse:separate;border-spacing:0 5px;font-size:12px;color:var(--dk-ink)}
.dk-tb th{font:700 9.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--dk-ink3);text-align:left;padding:0 10px 4px;white-space:nowrap;background:none;border:0}
.dk-tb td{padding:9px 10px;background:rgba(255,255,255,.03);white-space:nowrap;font-variant-numeric:tabular-nums;border:0}
.dk-tb td:first-child{border-radius:10px 0 0 10px}.dk-tb td:last-child{border-radius:0 10px 10px 0}
.dk-tb tr:hover td{background:rgba(124,92,255,.11)}
.dk-tb .r{text-align:right}
/* rk1-3, not g1-3: app.css uses .g2/.g3 as page grids, which pulled medals 2 and 3 off centre. */
.dk-rk{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;font:800 11px "Space Grotesk",sans-serif;background:rgba(160,175,210,.12)}
.dk-rk.rk1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#422006}.dk-rk.rk2{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#111}.dk-rk.rk3{background:linear-gradient(135deg,#fdba74,#c2410c);color:#fff}
.dk-bar{height:7px;border-radius:99px;background:rgba(160,175,210,.14);overflow:hidden;min-width:46px;width:46px}.dk-bar i{display:block;height:100%;border-radius:99px}
.dk-tb td .dk-bar{width:auto;min-width:80px}
.dk-cell{display:flex;gap:8px;align-items:center;justify-content:flex-end}.dk-cell .dk-bar{width:46px!important;min-width:46px!important}
.dk-stk{display:flex;height:8px;border-radius:99px;overflow:hidden;gap:1px;min-width:110px}.dk-stk i{display:block;height:100%}
.dk-pl{display:inline-flex;gap:5px;align-items:center;font:700 10.5px Inter,sans-serif;padding:3px 9px;border-radius:99px;white-space:nowrap}
.dk-pl.ok{background:rgba(52,211,153,.15);color:#6ee7b7}.dk-pl.warn{background:rgba(251,191,36,.15);color:#fcd34d}.dk-pl.bad{background:rgba(251,113,133,.16);color:#fda4af}.dk-pl.off{background:rgba(100,116,139,.2);color:#cbd5e1}
.dk-mini{font-size:10.5px;color:var(--dk-ink3)}
.dk-pod{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end;margin-bottom:12px}
.dk-pod > div{border-radius:14px;padding:12px 10px;text-align:center;background:rgba(0,0,0,.25);border:1px solid var(--dk-edge)}
.dk-pod .p1{background:linear-gradient(180deg,rgba(251,191,36,.25),rgba(0,0,0,.25));border-color:rgba(251,191,36,.45);padding-top:22px}
.dk-pod .p2{background:linear-gradient(180deg,rgba(203,213,225,.18),rgba(0,0,0,.25))}.dk-pod .p3{background:linear-gradient(180deg,rgba(251,146,60,.2),rgba(0,0,0,.25))}
.dk-pod b{display:block;font:700 12px "JetBrains Mono",monospace;color:#fff}.dk-pod em{display:block;font-style:normal;font-size:20px;font-weight:700;color:#fff;margin:4px 0}.dk-pod span{font-size:10.5px;color:var(--dk-ink2)}
.dk-lgd{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--dk-ink2)}.dk-lgd span{display:inline-flex;align-items:center;gap:6px}.dk-lgd i{width:10px;height:10px;border-radius:3px;display:inline-block}
.dk-dt{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center}
.dk-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dk-nums div{border-radius:11px;padding:8px 6px;text-align:center;background:rgba(0,0,0,.25)}
.dk-nums b{display:block;font:700 19px "Space Grotesk",sans-serif}.dk-nums span{font-size:9.5px;color:var(--dk-ink3);text-transform:uppercase;letter-spacing:.06em}
.dk-kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--dk-edge);font-size:12px;color:var(--dk-ink2)}.dk-kv b{font-family:"JetBrains Mono",monospace}
.dk-wait{display:flex;align-items:center;gap:12px;justify-content:center;padding:60px 20px;color:var(--dk-ink2)}
.dk-spin{width:22px;height:22px;border-radius:50%;border:3px solid rgba(124,92,255,.25);border-top-color:#7c5cff;animation:dkSpin .8s linear infinite}
@keyframes dkSpin{to{transform:rotate(360deg)}}
.dk-classic-bar{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,rgba(124,92,255,.18),rgba(34,211,238,.1));border:1px solid rgba(124,92,255,.35);color:var(--text,#e9eefb);font-size:12px}

/* ══════════════════════ SIDEBAR ══════════════════════ */
.sidebar{transition:width .25s cubic-bezier(.2,.9,.3,1),transform .25s}
@media(min-width:881px){.sidebar{position:relative}}
.sidebar .ni.active{background:linear-gradient(135deg,rgba(124,92,255,.32),rgba(34,211,238,.14))!important;border-color:rgba(160,175,210,.24)!important;color:#fff!important;box-shadow:0 6px 18px rgba(124,92,255,.22)}
.sidebar .ni.active::before{content:"";position:absolute;left:-6px;top:7px;bottom:7px;width:3px;border-radius:3px;background:linear-gradient(#7c5cff,#22d3ee)}
.sidebar{overflow-x:hidden!important}
/* The collapse control is the sidebar's status bar: pinned to the bottom edge, always visible, never scrolled away. */
.sb-toggle{position:sticky;bottom:0;z-index:5;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border-radius:0;cursor:pointer;
  border:0!important;border-top:1px solid rgba(160,175,210,.28)!important;background:linear-gradient(135deg,#1e1b4b,#0b1020)!important;color:#e9eefb!important;flex-shrink:0;opacity:1!important;box-shadow:0 -8px 18px rgba(0,0,0,.35)}
.sb-toggle:hover{border-color:rgba(124,92,255,.7)!important;background:linear-gradient(135deg,#312e81,#111827)!important}
.sb-toggle span::before{content:"⟨⟨  Collapse menu";font:600 11px Inter,sans-serif;letter-spacing:.02em}
body.sb-mini .sb-toggle span::before{content:"⟩⟩"}
.sb-tip{position:fixed;z-index:9999;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .12s;white-space:nowrap;font:600 11.5px Inter,sans-serif;color:#fff;
  background:#111827;border:1px solid rgba(160,175,210,.3);padding:6px 10px;border-radius:9px;box-shadow:0 10px 26px rgba(0,0,0,.4)}
@media (min-width:881px){
  body.sb-mini .sidebar{width:78px!important;min-width:78px!important;overflow-x:hidden}
  body.sb-mini .sidebar .sb-title,body.sb-mini .sidebar .sb-sub,body.sb-mini .sidebar .sb-meta,body.sb-mini .sidebar .ni-text,body.sb-mini .sidebar .ni-badge{display:none!important}
  body.sb-mini .sidebar .sb-logo-row{justify-content:center}
  body.sb-mini .sidebar .sb-logo-frame{margin:0 auto;width:48px!important;height:48px!important;border-radius:13px;overflow:hidden;display:grid;place-items:center}
  body.sb-mini .sidebar .sb-logo-frame img{width:44px!important;height:auto!important;object-fit:contain}
  body.sb-mini .sidebar .sb-head{padding:12px 6px!important}
  body.sb-mini .sidebar .sb-section{font-size:0!important;height:1px;margin:10px 16px!important;padding:0!important;background:rgba(160,175,210,.18);overflow:hidden}
  body.sb-mini .sidebar .ni{justify-content:center;width:52px;height:48px;margin:3px auto!important;padding:0!important;border-radius:14px}
  body.sb-mini .sidebar .ni .ni-ico{font-size:19px;margin:0!important}
  body.sb-mini .sidebar .ni.active::before{left:-13px}
  body.sb-mini .sidebar .ni > :not(.ni-ico){display:none!important}
}

/* Tables inside cards wrap instead of running out of the box */
.dk-tb td{white-space:normal;vertical-align:middle}
.dk-tb td.r,.dk-tb td.dk-mono,.dk-tb th{white-space:nowrap}
.dk-wrap{display:flex;flex-wrap:wrap;gap:4px}
.dk-k > div[style*="overflow:auto"]{overflow-x:hidden!important}
/* Event anatomy: ring + readable list */
.dk-anat{display:grid;grid-template-columns:1fr;gap:6px}
.dk-anat-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding-right:4px}
.dk-an{padding:8px 10px;border-radius:11px;background:rgba(0,0,0,.22);border:1px solid var(--dk-edge)}
.dk-an-h{display:grid;grid-template-columns:10px 1fr auto 46px;gap:8px;align-items:center;font-size:12px}
.dk-an-h i{width:10px;height:10px;border-radius:3px;display:inline-block}.dk-an-h b{color:#fff}.dk-an-h span{font-family:"JetBrains Mono",monospace;color:#fff}.dk-an-h em{font-style:normal;color:var(--dk-ink3);text-align:right;font-size:11px}
.dk-an-s{display:grid;grid-template-columns:1fr 70px 40px;gap:8px;align-items:center;font-size:10.5px;color:var(--dk-ink2);margin:5px 0 0 18px}
.dk-an-s span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dk-an-s .dk-bar{width:70px;min-width:70px}.dk-an-s em{font-style:normal;text-align:right;font-family:"JetBrains Mono",monospace}
.dk-an-more{font-size:10px;color:var(--dk-ink3);margin:5px 0 0 18px}

/* Fleet Overview */
.dk-b5{grid-template-columns:repeat(5,minmax(0,1fr))}.dk-b5 > .sx{grid-column:span 1}
@media(max-width:1300px){.dk-b5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dk-fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.dk-q{flex:1;min-width:220px;max-width:none!important;color:#fff!important}
.dk-ftb td{padding:8px 10px}
.dk-fr.critical td:first-child{box-shadow:inset 3px 0 0 #fb7185}.dk-fr.partial td:first-child{box-shadow:inset 3px 0 0 #fbbf24}.dk-fr.ok td:first-child{box-shadow:inset 3px 0 0 #34d399}.dk-fr.none td:first-child{box-shadow:inset 3px 0 0 #64748b}
.dk-dv{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:8px;white-space:nowrap}
.dk-dv.ok{background:rgba(52,211,153,.14);color:#6ee7b7;border:1px solid rgba(52,211,153,.3)}.dk-dv.warn{background:rgba(251,191,36,.12);color:#fcd34d;border:1px solid rgba(251,191,36,.3)}
.dk-dv.bad{background:rgba(251,113,133,.14);color:#fda4af;border:1px solid rgba(251,113,133,.35)}.dk-dv.off{background:rgba(100,116,139,.12);color:#94a3b8;border:1px solid rgba(100,116,139,.25)}
.dk-chipd{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:7px;background:rgba(124,92,255,.14);color:#c4b5fd;white-space:nowrap}
.dk-dots3{display:flex;gap:4px}.dk-dots3 i{width:10px;height:10px;border-radius:50%;display:inline-block}
.dk-dots3 .ok{background:#34d399}.dk-dots3 .warn{background:#fbbf24}.dk-dots3 .bad{background:#fb7185}.dk-dots3 .rm{background:#94a3b8}.dk-dots3 .n0{border:1px solid #475569}
.dk-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;font-size:11.5px;color:var(--dk-ink2)}
.dk-pager .dk-bt[disabled]{opacity:.4;cursor:default}
/* Event Heatmap */
.dk-silent{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.dk-si{padding:10px 12px;border-radius:12px;background:rgba(251,113,133,.07);border:1px solid rgba(251,113,133,.25);display:grid;gap:2px}
.dk-si b{color:#fff;font-size:12px}.dk-si span{font-size:20px;font-weight:700;color:#fda4af}.dk-si em{font-style:normal;font-size:10.5px;color:var(--dk-ink3)}

/* Short status notices (theme change, sync) sit at the bottom corner, never over the header buttons. */
.glass-popup-overlay{top:auto!important;bottom:70px!important;right:20px!important}
.glass-popup-overlay .glass-popup{min-width:220px}
/* Light theme for the redesigned pages */
[data-theme="light"] .deck{--dk-ink:#0f172a;--dk-ink2:#475569;--dk-ink3:#64748b;--dk-glass:#fff;--dk-glass2:#f1f5f9;--dk-edge:#e2e8f0;--dk-edge2:#cbd5e1;background:#f8fafc;color:#0f172a}
[data-theme="light"] .deck .dk-hd{background:rgba(248,250,252,.96)}
[data-theme="light"] .deck .dk-k{background:#fff}
[data-theme="light"] .deck .dk-tb td{background:#f8fafc;color:#0f172a}
[data-theme="light"] .deck .dk-hd h1,[data-theme="light"] .deck .dk-kt,[data-theme="light"] .deck .dk-val{color:#0f172a}
[data-theme="light"] .sidebar .ni.active{color:#1e1b4b!important;background:linear-gradient(135deg,rgba(109,77,255,.16),rgba(34,211,238,.12))!important;border-color:rgba(109,77,255,.3)!important;box-shadow:none}
[data-theme="light"] .sb-toggle{background:#ffffff!important;color:#1e1b4b!important;border-top:1px solid #e2e8f0!important;box-shadow:0 -6px 14px rgba(15,23,42,.06)}

/* Sync is automatic: the manual sync / reload controls are not shown. */
.js-sync-ctl,#al-force-load,#fr-seed,#fr-reload{display:none!important}
/* Header mark: Sync from server ✓ (all synced) / ◐ (part not synced) */
.srv-sync{cursor:help;white-space:nowrap}
.srv-sync .srv-mark{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;font:700 10px Inter,sans-serif;letter-spacing:.04em;vertical-align:middle}
.srv-full{color:#6ee7b7!important;border-color:rgba(52,211,153,.5)!important;background:rgba(52,211,153,.1)!important}
.srv-full .srv-mark{background:#047857;color:#fff}
.srv-partial{color:#fcd34d!important;border-color:rgba(251,191,36,.55)!important;background:rgba(251,191,36,.1)!important}
.srv-partial .srv-mark{background:#f59e0b;color:#111}
[data-theme="light"] .srv-full{color:#166534!important}[data-theme="light"] .srv-partial{color:#92400e!important}

/* ── Card arrangement (Safety Administrator) ─────────────────────────────── */
.rtl-bar{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(34,211,238,.08));border:1px solid rgba(124,92,255,.45);position:sticky;top:8px;z-index:60;backdrop-filter:blur(8px)}
.rtl-bar b{font:700 13px "Space Grotesk",Inter,sans-serif}
.rtl-bar .rtl-hint{font-size:11.5px;opacity:.75;max-width:520px}
.rtl-bar .rtl-sp{flex:1}
.rtl-dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.25);animation:rtlPulse 1.6s ease-in-out infinite}
@keyframes rtlPulse{50%{box-shadow:0 0 0 8px rgba(52,211,153,0)}}
.rtl-on .dk-k{position:relative}
.rtl-on .dk-k::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1.5px dashed rgba(124,92,255,.5);pointer-events:none}
.rtl-h{display:flex;align-items:center;gap:8px;margin:-4px -4px 8px;padding:6px 8px;border-radius:10px;background:rgba(124,92,255,.16);border:1px solid rgba(124,92,255,.4);font:600 11.5px Inter,sans-serif;user-select:none}
.rtl-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rtl-grip{font-size:16px;letter-spacing:-2px;opacity:.85;cursor:grab;touch-action:none;padding:0 4px}
.rtl-grip:active{cursor:grabbing}
.rtl-btns{display:flex;gap:4px;flex:0 0 auto}
.rtl-btns button{width:26px;height:24px;display:grid;place-items:center;border-radius:7px;border:1px solid var(--dk-edge);background:rgba(0,0,0,.28);color:var(--dk-ink);font-size:11px;cursor:pointer;touch-action:manipulation}
.rtl-btns button:hover{border-color:#7c5cff;background:rgba(124,92,255,.22)}
.dk-k.rtl-picked{opacity:.45;outline:2px dashed rgba(124,92,255,.8);outline-offset:-2px}
.dk-k.rtl-flash{animation:rtlFlash .9s ease-out}
@keyframes rtlFlash{0%{box-shadow:0 0 0 0 rgba(52,211,153,.75)}100%{box-shadow:0 0 0 18px rgba(52,211,153,0)}}
.rtl-ghost{position:fixed;z-index:2147483647;pointer-events:none;transform:translate(14px,14px);max-width:260px;padding:7px 12px;border-radius:10px;background:#7c5cff;color:#fff;font:700 12px Inter,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rtl-dragging{user-select:none;cursor:grabbing}
.rtl-slot{border-radius:16px;border:2px dashed rgba(124,92,255,.7);background:rgba(124,92,255,.08)}
[data-theme="light"] .rtl-bar{background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(34,211,238,.06))}
@media(max-width:880px){.rtl-bar .rtl-hint{display:none}}

/* Event anatomy without categories: one row per event type, and any type can
   be left out of the ring */
.dk-an-bar{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:6px 2px}
.dk-an-bar b{font:800 16px "Space Grotesk",Inter,sans-serif}
.dk-an-bar span{font-size:11px;color:var(--dk-mute,#9aa6c2);flex:1}
.dk-an-bar .dk-bt{padding:4px 10px;font-size:11px}
.dk-an-flat{width:100%;text-align:left;cursor:pointer;color:var(--dk-ink);transition:opacity .15s,border-color .15s,transform .12s}
.dk-an-flat:hover{border-color:#7c5cff;transform:translateX(2px)}
.dk-an-flat.off{opacity:.45}
.dk-an-flat.off span{text-decoration:line-through}

.dk-an-flat{display:grid;grid-template-columns:10px 1fr 70px 46px 44px;gap:8px;align-items:center;margin:0 0 6px;padding:6px 8px;border-radius:9px;background:rgba(0,0,0,.22);border:1px solid var(--dk-edge);font-size:11px}
.dk-an-flat i{width:9px;height:9px;border-radius:50%}
.dk-an-flat em{font-style:normal;text-align:right;font-weight:700;color:var(--dk-ink)}
.dk-an-flat u{text-decoration:none;text-align:right;font-size:10.5px;color:var(--dk-mute,#9aa6c2)}

/* A table wider than its card scrolls sideways rather than losing a column */
.dk-tw{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.dk-tw > .dk-tb{min-width:max-content}

/* A card that cannot show its figures says why, in the server's own words.
   Never zeros: on a device page a zero reads as "nothing is working".

   It must span its whole row. Dropped into the device strip's grid it took one
   narrow column and wrapped to one word per line — a paragraph rendered as a
   vertical ribbon, which is how it first shipped. */
.dk-note { grid-column: 1 / -1; width: 100%; box-sizing: border-box;
  border-left: 3px solid #f59e0b; background: rgba(245,158,11,.08); border-radius: 8px;
  padding: 12px 16px; font-size: 13px; line-height: 1.55; }
.dk-note .dk-mini { margin-top: 4px; opacity: .75; }

/* The scorecard's rank column. The badge is inline, so in a row made taller by
   a wrapped name it drifted off the line the badge above it sat on — ranks 2
   and 3 read as misaligned against rank 1. A fixed, centred, middle-aligned
   column puts every badge in the same place whatever the row does. */
.dk-score td:first-child, .dk-score th:first-child { width: 52px; text-align: center; vertical-align: middle; }
.dk-score td:first-child .dk-rk { display: grid; margin: 0 auto; }
