/* ── RESET & BASE ── */
*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow:hidden;}
body{font-family:'Inter','Lato',sans-serif;background:var(--bg);color:var(--text);font-size:14px;display:flex;flex-direction:column;}

/* ── TYPOGRAPHY: single unified font for all elements ── */
*,h1,h2,h3,h4,h5,h6,
button,input,select,textarea,
.data-tbl,.data-tbl th,.data-tbl td,
.feeds-tbl,.feeds-tbl th,.feeds-tbl td,
.regBody td,.regBody th,#regBody td,#regBody th{
  font-family:'Inter','Lato',sans-serif;
}
/* ===== MANIPAL HOSPITALS LOGO ===== */
.sb-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px 6px;
}
.sb-logo-img{
  width:100%;
  max-width:190px;
  height:auto;
  border-radius:6px;
  display:block;
}

/* ── FONT SIZES ── */
/* Page Titles  18px */
.page-hd-left h1,
.page-hd-left h2{ font-size:18px; font-weight:800; line-height:1.2; }
/* Section Titles  13px */
.card>h3, .card>[style*='font-size:.95rem'],
.feeds-card h3, .mini-cal h4,
.kpi-ring-card .krc-lbl{ font-size:13px; }
/* KPI Numbers  26px */
.krc-val{ font-size:26px; font-weight:900; line-height:1; }
/* Compact ops pills numbers */
.ops-val{ font-size:20px; }
/* Sidebar menu items  14-16px */
.sb-item, .sb-lbl{ font-size:15px; }
/* Sidebar section label — keep compact */
.sb-section{ font-size:10px; letter-spacing:1.6px; }
/* Table headers  14-16px */
.data-tbl th, .feeds-tbl th{ font-size:14px; font-weight:700; }
/* Table data cells  13-14px */
.data-tbl td, .feeds-tbl td{ font-size:13px; }
/* Buttons  14-15px */
.btn, .btn-primary, .btn-outline,
.btn-export, .btn-sm,
.back-btn, .aa-tab,
.ctf-btn, .tb-search-btn, .tb-help{ font-size:14px; }
/* Chart time-filter pills — slightly smaller */
.ctf-btn{ font-size:13px; }
:root{
  /* ── Brand Colors ── */
  --primary:#0066B2;--primary-dk:#004D8C;--primary-lt:#E6F0FA;--primary-100:#C2DAEA;
  --accent:#00D4AA;--accent-dk:#00A888;--accent-lt:#E0FAF5;
  --secondary:#A1C3D1;
  /* ── Sidebar ── */
  --sb:#FFFFFF;--sb-hover:#E6F0FA;--sb-active:#0066B2;
  /* ── Layout ── */
  --bg:#EDE8DF;--card:#FFFFFF;--border:#E2E8F0;
  --text:#111827;--muted:#6B7280;--light:#F9FAFB;
  /* ── State Colors ── */
  --green:#27AE60;--red:#E63946;--orange:#E67E22;--purple:#8E44AD;
  /* ── Shadows ── */
  --shadow:0 2px 12px rgba(0,102,178,.09);--shadow-md:0 6px 24px rgba(0,102,178,.13);--shadow-lg:0 12px 40px rgba(0,102,178,.18);
  --radius:14px;--radius-sm:9px;
}

/* ════════════════════════════════════
   DARK MODE — CSS Variable Overrides
════════════════════════════════════ */
[data-theme="dark"]{
  --primary:#3B82F6;--primary-dk:#2563EB;--primary-lt:#1E3A5F;--primary-100:#1E3A5F;
  --accent:#00C4AA;--accent-lt:#0D2E2A;
  --sb:#1A2332;--sb-hover:#243447;--sb-active:#2563EB;
  --bg:#0F1923;--card:#1C2B3A;--border:#2A3A4A;
  --text:#E2E8F0;--muted:#94A3B8;--light:#1C2B3A;
  --shadow:0 2px 12px rgba(0,0,0,.4);--shadow-md:0 6px 24px rgba(0,0,0,.5);--shadow-lg:0 12px 40px rgba(0,0,0,.6);
}

/* Dark mode — specific element overrides */
[data-theme="dark"] body { background:var(--bg); color:var(--text); }
[data-theme="dark"] .topbar { background:#1A2332; border-bottom:1px solid #2A3A4A; }
[data-theme="dark"] .sidebar { background:#1A2332; border-right:1px solid #2A3A4A; }
[data-theme="dark"] .sb-brand-name { color:#E2E8F0; }
[data-theme="dark"] .card { background:#1C2B3A; border:1px solid #2A3A4A; }
[data-theme="dark"] .tbl-card { background:#1C2B3A; }
[data-theme="dark"] table thead tr { background:#243447 !important; }
[data-theme="dark"] td { border-bottom-color:#2A3A4A; color:#E2E8F0; }
[data-theme="dark"] th { color:#94A3B8; }
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background:#243447 !important;
  color:#E2E8F0 !important;
  border-color:#2A3A4A !important;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color:#64748B !important; }
[data-theme="dark"] .au-input { background:#243447; color:#E2E8F0; border-color:#2A3A4A; }
[data-theme="dark"] .ph-card { background:#1C2B3A; border-color:#2A3A4A; }
[data-theme="dark"] .kpi-ring-card { background:#1C2B3A; }
[data-theme="dark"] .ops-card { background:#1C2B3A; }
[data-theme="dark"] .login-card { background:#1C2B3A; }
[data-theme="dark"] .login-input-wrap input { background:#243447; color:#E2E8F0; border-color:#2A3A4A; }
[data-theme="dark"] .pl-hfbar,
[data-theme="dark"] .us-filter-bar,
[data-theme="dark"] .dc-filter-bar,
[data-theme="dark"] .mr-filter-bar,
[data-theme="dark"] .sh-filter-bar { background:#1C2B3A; border-color:#2A3A4A; }
[data-theme="dark"] .ppm-table thead tr { background:#243447; }
[data-theme="dark"] .ppm-table tbody tr:hover td { background:#243447; }
[data-theme="dark"] .au-section { background:#1C2B3A; border-color:#2A3A4A; }
[data-theme="dark"] .au-section-hd { background:#243447; }
[data-theme="dark"] .au-progress-card,
[data-theme="dark"] .au-recent-card,
[data-theme="dark"] .au-step-bar { background:#1C2B3A; border-color:#2A3A4A; }
[data-theme="dark"] .page-footer { background:#1A2332; border-top-color:#2A3A4A; color:#94A3B8; }
[data-theme="dark"] .notif-panel { background:#1C2B3A; border-color:#2A3A4A; }
[data-theme="dark"] .notif-item:hover { background:#243447; }
[data-theme="dark"] .edit-modal,
[data-theme="dark"] .bu-modal { background:#1C2B3A; }
[data-theme="dark"] .ar-chip { background:#243447; border-color:#2A3A4A; color:#E2E8F0; }
[data-theme="dark"] .ar-nil { color:#64748B; }
[data-theme="dark"] .au-hint { color:#94A3B8; }

/* Dark mode toggle button */
.dm-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;
  background:#F3F4F6;color:#374151;
  transition:background .2s,color .2s;flex-shrink:0;
}
.dm-toggle:hover{ background:#E5E7EB; }
[data-theme="dark"] .dm-toggle{ background:#243447;color:#E2E8F0; }
[data-theme="dark"] .dm-toggle:hover{ background:#2A3A4A; }

/* ════════════════════════════════════
   TOP BAR  — Modern Redesign
════════════════════════════════════ */
/* Badge pulse animation */
@keyframes notifPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(230,57,70,.7);}
  60%{box-shadow:0 0 0 7px rgba(230,57,70,0);}
}
@keyframes badgePop{from{transform:scale(0)}to{transform:scale(1)}}
/* Search bar shimmer */
@keyframes searchFocus{from{box-shadow:0 0 0 0 rgba(0,212,170,.4)}to{box-shadow:0 0 0 4px rgba(0,212,170,.2)}}

.topbar{
  height:auto;
  background:#EDE8DF;
  display:flex;align-items:center;padding:10px 16px;gap:0;
  flex-shrink:0;position:relative;z-index:500;
}
.topbar-inner{
  display:flex;align-items:center;gap:10px;
  background:#ffffff;border-radius:14px;padding:7px 14px;
  width:100%;box-shadow:0 2px 10px rgba(0,0,0,.08);
  border:1px solid #E5E7EB;
}

/* ── Hamburger ── */
.tb-hamburger{
  width:38px;height:38px;border:none;
  background:#F3F4F6;border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#374151;transition:all .18s;flex-shrink:0;
}
.tb-hamburger:hover{background:#E5E7EB;}
.tb-hamburger:active{transform:scale(.95);}

/* ══ Manipal Hospitals Logo Component ══ */
.tb-logo{display:flex;align-items:center;gap:0;flex-shrink:0;}
.tb-logo-img{height:38px;width:auto;border-radius:14px;display:block;}
.tb-logo-pill{display:flex;align-items:center;gap:0;background:#ffffff;border-radius:13px;padding:5px 14px 5px 5px;box-shadow:0 2px 6px rgba(229,90,29,.18),0 6px 24px rgba(229,90,29,.12),inset 0 1px 0 rgba(255,255,255,.9);flex-shrink:0;cursor:pointer;position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;}
.tb-logo-pill::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,107,53,.06) 0%,transparent 65%);opacity:0;transition:opacity .22s;pointer-events:none;border-radius:inherit;}
.tb-logo-pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(229,90,29,.25),0 12px 36px rgba(229,90,29,.15),inset 0 1px 0 rgba(255,255,255,.9);}
.tb-logo-pill:hover::before{opacity:1;}
.mh-icon-badge{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:8px;background:linear-gradient(145deg,#FFF0E8 0%,#FFE0CC 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.9),inset 0 -1px 2px rgba(229,90,29,.1);flex-shrink:0;margin-right:9px;transition:transform .22s ease;}
.tb-logo-pill:hover .mh-icon-badge{transform:scale(1.06);}
.mh-logo-icon{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(229,90,29,.35));transition:filter .22s;}
.tb-logo-pill:hover .mh-logo-icon{filter:drop-shadow(0 3px 8px rgba(229,90,29,.5));}
.mh-logo-text{height:42px;width:auto;object-fit:contain;flex-shrink:0;filter:contrast(1.08) saturate(1.1);}
/* Size variants */
.logo-standard .mh-icon-badge{width:60px;height:60px;border-radius:11px;margin-right:12px;}
.logo-standard .mh-logo-icon{width:46px;height:46px;}
.logo-standard .mh-logo-text{height:56px;}
.logo-large .mh-icon-badge{width:88px;height:88px;border-radius:16px;margin-right:16px;}
.logo-large .mh-logo-icon{width:66px;height:66px;}
.logo-large .mh-logo-text{height:82px;}
/* Background variants */
.logo-on-light{background:#fff;}
.logo-on-dark{background:rgba(255,255,255,.12);box-shadow:0 2px 16px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(8px);}
.logo-on-dark .mh-icon-badge{background:linear-gradient(145deg,rgba(255,240,232,.15) 0%,rgba(255,224,204,.1) 100%);}
.logo-on-dark .mh-logo-text{filter:brightness(10) saturate(0);}
.logo-on-brand{background:linear-gradient(135deg,#FF6B35 0%,#E8520A 100%);box-shadow:0 4px 20px rgba(232,82,10,.4),inset 0 1px 0 rgba(255,255,255,.2);}
.logo-on-brand .mh-icon-badge{background:rgba(255,255,255,.2);}
.logo-on-brand .mh-logo-text{filter:brightness(10) saturate(0);}
.tb-logo-name{font-size:.78rem;font-weight:900;color:#fff;line-height:1.2;letter-spacing:.2px;}
.tb-logo-sub{font-size:.57rem;color:rgba(255,255,255,.65);letter-spacing:.3px;}

/* ── Vertical divider ── */
.tb-sep{width:1px;height:28px;background:#E5E7EB;flex-shrink:0;border-radius:1px;}

/* ── Search bar ── */
.tb-search{flex:1;max-width:480px;position:relative;}
.tb-search input{
  width:100%;padding:9px 90px 9px 38px;
  border:1.5px solid #E5E7EB;border-radius:24px;
  font-size:.82rem;outline:none;
  background:#F9FAFB;color:#111827;
  transition:all .2s;
}
.tb-search input::placeholder{color:#9CA3AF;}
.tb-search input:focus{
  background:#fff;border-color:#2563EB;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.tb-search-ic{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:#9CA3AF;pointer-events:none;
}
.tb-search-btn{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);
  background:#2563EB;
  color:#fff;border:none;border-radius:20px;
  padding:6px 14px;font-size:.72rem;font-weight:700;cursor:pointer;
  transition:all .18s;white-space:nowrap;
  display:flex;align-items:center;gap:5px;
}
.tb-search-btn:hover{background:#1D4ED8;transform:translateY(-50%) scale(1.02);}
.tb-search-btn:active{transform:translateY(-50%) scale(.97);}

/* ── Global Search Panel ── */
.gs-panel{
  display:none;
  position:absolute;
  top:calc(100% + 8px); left:0; right:0;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:14px;
  box-shadow:0 8px 32px rgba(0,0,0,.14);
  z-index:9000;
  max-height:420px;
  overflow-y:auto;
  padding:6px 0;
}
.gs-panel.gs-open{ display:block; }
.gs-group-lbl{
  padding:8px 14px 4px;
  font-size:.68rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:#9CA3AF;
}
.gs-item{
  display:flex; align-items:center; gap:10px;
  padding:8px 14px; cursor:pointer;
  transition:background .12s;
}
.gs-item:hover, .gs-item.gs-active{
  background:#EFF6FF;
}
.gs-item-icon{
  width:32px; height:32px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:.85rem;
}
.gs-ic-asset{ background:#EFF6FF; color:#2563EB; }
.gs-ic-wo{    background:#FEF3C7; color:#D97706; }
.gs-ic-ppm{   background:#DCFCE7; color:#16A34A; }
.gs-ic-page{  background:#F3F4F6; color:#6B7280; }
.gs-item-body{ flex:1; min-width:0; }
.gs-item-title{
  font-size:.83rem; font-weight:600; color:#111827;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gs-item-sub{
  font-size:.73rem; color:#6B7280;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gs-item-badge{
  font-size:.65rem; font-weight:700; letter-spacing:.04em;
  padding:2px 7px; border-radius:20px; flex-shrink:0;
}
.gs-badge-asset{ background:#DBEAFE; color:#1D4ED8; }
.gs-badge-wo{    background:#FDE68A; color:#92400E; }
.gs-badge-ppm{   background:#BBF7D0; color:#15803D; }
.gs-badge-page{  background:#F3F4F6; color:#4B5563; }
.gs-empty{
  padding:20px 14px; text-align:center;
  font-size:.83rem; color:#9CA3AF;
}
.gs-footer{
  border-top:1px solid #F3F4F6;
  padding:7px 14px;
  font-size:.75rem; color:#6B7280; text-align:center;
  cursor:pointer;
}
.gs-footer:hover{ color:#2563EB; }
[data-theme="dark"] .gs-panel{
  background:#1E293B; border-color:#334155;
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
[data-theme="dark"] .gs-group-lbl{ color:#475569; }
[data-theme="dark"] .gs-item:hover,
[data-theme="dark"] .gs-item.gs-active{ background:#0F172A; }
[data-theme="dark"] .gs-item-title{ color:#E2E8F0; }
[data-theme="dark"] .gs-item-sub{ color:#64748B; }
[data-theme="dark"] .gs-ic-page{ background:#0F172A; color:#94A3B8; }
[data-theme="dark"] .gs-badge-page{ background:#0F172A; color:#94A3B8; }
[data-theme="dark"] .gs-footer{ border-top-color:#334155; color:#64748B; }
[data-theme="dark"] .gs-footer:hover{ color:#60A5FA; }
@media(max-width:768px){
  .gs-panel{ border-radius:10px; }
}

/* ── Right actions group ── */
.tb-right{display:flex;align-items:center;gap:4px;margin-left:auto;}

/* ── Icon buttons ── */
.tb-icon-btn{
  width:38px;height:38px;border-radius:50%;border:none;
  background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#6B7280;
  position:relative;transition:all .18s;
}
.tb-icon-btn:hover{background:#F3F4F6;color:#374151;}
.tb-icon-btn:active{transform:scale(.93);}

/* ── Notification badge ── */
.tb-badge{
  position:absolute;top:-2px;right:-2px;
  background:var(--red);color:#fff;
  min-width:16px;height:16px;border-radius:8px;
  border:2px solid #fff;
  padding:0 3px;font-size:9px;font-weight:800;line-height:12px;
  display:flex;align-items:center;justify-content:center;
  animation:notifPulse 2s ease-in-out infinite;
}
.tb-badge[data-count="0"],.tb-badge:empty{display:none;}

/* ── Date chip ── */
.tb-date{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.72rem;font-weight:500;color:#374151;white-space:nowrap;
  background:#fff;padding:6px 13px;border-radius:20px;
  border:1.5px solid #E5E7EB;
}

/* ── Reports outlined button ── */
.tb-help{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:20px;
  background:#fff;color:#374151;font-size:.74rem;font-weight:600;
  border:1.5px solid #E5E7EB;cursor:pointer;
  transition:all .18s;white-space:nowrap;
}
.tb-help:hover{background:#F9FAFB;border-color:#D1D5DB;}
.tb-help:active{transform:scale(.97);}

/* ── User profile chip ── */
.tb-user{
  display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;
  border-radius:24px;cursor:pointer;border:1.5px solid #E5E7EB;
  background:#fff;transition:all .18s;
}
.tb-user:hover{background:#F9FAFB;border-color:#D1D5DB;}

.tb-avatar{
  width:32px;height:32px;border-radius:50%;
  background:#1E3A5F;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;color:#fff;flex-shrink:0;
}
.tb-user-name{font-size:.74rem;font-weight:700;color:#111827;letter-spacing:.1px;}
.tb-user-role{font-size:.6rem;color:#6B7280;}
.tb-user-caret{color:#9CA3AF;font-size:.6rem;line-height:1;}

/* ── Responsive: Tablet (≤1200px) — hide date, messages ── */
@media(max-width:1200px){
  .tb-date{display:none;}
  .tb-msg-btn{display:none;}
  .tb-search{max-width:340px;}
}
/* ── Responsive: Tablet narrow (≤1000px) — smaller search ── */
@media(max-width:1000px){
  .tb-search{max-width:240px;}
  .tb-help{padding:7px 12px;font-size:.7rem;}
  .tb-user-role{display:none;}
  .topbar{padding:0 12px;gap:8px;}
}
/* ── Responsive: Mobile (≤700px) — minimal header ── */
@media(max-width:700px){
  .tb-search{display:none;}
  .tb-date{display:none;}
  .tb-help{display:none;}
  .tb-user-name,.tb-user-role{display:none;}
  .tb-avatar{width:30px;height:30px;}
}

/* ── Date in topbar (legacy) ── */
.tb-divider{width:1px;height:24px;background:#E5E7EB;border-radius:1px;flex-shrink:0;}

/* ── Notification Panel ── */
.notif-wrap{position:relative;}
.notif-panel{display:none;position:absolute;top:46px;right:0;width:330px;background:#fff;
  border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:600;}
.notif-panel.open{display:block;}
.notif-hd{padding:13px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.notif-hd h4{font-size:.83rem;font-weight:800;}
.notif-hd span{font-size:.68rem;color:var(--accent);cursor:pointer;font-weight:600;}
.notif-list{max-height:300px;overflow-y:auto;}
.notif-item{display:flex;gap:10px;padding:11px 16px;border-bottom:1px solid #F5F7FA;cursor:pointer;align-items:flex-start;transition:background .15s;}
.notif-item:hover{background:#F8FAFF;}
.notif-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.ni-red{background:#E63946;}.ni-orange{background:#E67E22;}.ni-blue{background:#24559D;}.ni-green{background:#27AE60;}
.notif-msg{font-size:.75rem;color:var(--text);line-height:1.4;font-weight:600;}
.notif-sub{font-size:.64rem;color:var(--muted);margin-top:2px;}
.notif-empty{padding:24px;text-align:center;color:var(--muted);font-size:.78rem;}

/* ════════════════════════════════════
   APP BODY — SIDEBAR + CONTENT
════════════════════════════════════ */
.app-body{display:flex;flex:1;min-height:0;overflow:hidden;}

/* ── SIDEBAR ── */
.sidebar{
  width:248px;background:#FFFFFF;display:flex;flex-direction:column;
  flex-shrink:0;overflow-y:auto;transition:width .25s ease;
  border-right:1px solid #E2E8F0;
}
.sidebar.collapsed{width:0;overflow:hidden;}
.sidebar::-webkit-scrollbar{width:3px;}
.sidebar::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:3px;}

/* ── Brand Header — clean, no heavy blue block ── */
.sb-brand{padding:16px 14px 12px;border-bottom:1px solid #E2E8F0;background:#fff;}
.sb-brand-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.sb-brand-icon{
  width:32px;height:32px;border-radius:8px;
  background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.sb-brand-text{display:flex;flex-direction:column;gap:1px;min-width:0;}
.sb-brand-name{font-size:13px;font-weight:800;color:var(--text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-brand-sub{font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-brand-pills{display:flex;gap:6px;flex-wrap:wrap;}
.sb-brand-pill{
  display:inline-flex;align-items:center;gap:4px;
  background:#F3F4F6;color:var(--muted);
  font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:20px;
  border:1px solid #E2E8F0;
}
/* Keep totalBadge using pill style */
#totalBadge{display:inline-flex;align-items:center;gap:4px;background:#F3F4F6;color:var(--muted);font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid #E2E8F0;}

/* ── Nav ── */
.sb-nav{flex:1;padding:8px 8px;}

/* Section labels — uppercase, generous spacing ── */
.sb-section{
  font-size:10px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--muted);
  padding:18px 10px 5px 10px;
}

/* Nav items — consistent padding, comfortable tap target ── */
.sb-item{
  display:flex;align-items:center;gap:9px;
  padding:8px 10px 8px 12px;
  border-radius:8px;cursor:pointer;
  color:var(--text);font-weight:600;font-size:13px;
  transition:all .18s;user-select:none;margin-bottom:1px;white-space:nowrap;
  border-left:3px solid transparent;
}
.sb-item:hover{background:var(--primary-lt);color:var(--primary);}
.sb-item:hover .sb-ic{background:var(--primary-lt);}

/* Active — subtle left-border accent + light tint, NOT a full blue pill ── */
.sb-item.active{
  background:var(--primary-lt);color:var(--primary);
  border-left:3px solid var(--primary);
  border-radius:0 8px 8px 0;
}

/* Icons — 28×28 rounded square with soft gray bg ── */
.sb-item .sb-ic{
  width:28px;height:28px;border-radius:7px;
  background:#F3F4F6;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;transition:background .18s;
}
.sb-item.active .sb-ic{background:rgba(0,102,178,.12);}
.sb-item .sb-lbl{flex:1;font-size:13px;}

/* Count badges — contained pill with subtle border ── */
.sb-cnt{
  background:#F3F4F6;color:var(--muted);
  font-size:11px;font-weight:700;
  padding:2px 7px;border-radius:10px;
  border:1px solid #E2E8F0;
  margin-left:auto;
}
.sb-item.active .sb-cnt{
  background:rgba(0,102,178,.1);
  color:var(--primary);
  border-color:rgba(0,102,178,.2);
}
.sb-item:hover .sb-cnt{background:rgba(0,102,178,.08);color:var(--primary);}
.sb-warn{color:var(--orange)!important;}
.sb-warn:hover{color:var(--primary)!important;}
.sb-footer{padding:12px 14px;border-top:1px solid var(--border);}
.sb-footer-info{font-size:11px;color:var(--muted);line-height:1.6;}
.sb-footer-assets{font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px;}

/* ════════════════════════════════════
   CONTENT AREA & PAGES
════════════════════════════════════ */
.content-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--bg);}
.page{display:none;padding:28px 28px 32px;animation:pgIn .25s ease;}
.page.active{display:block;}
@keyframes pgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.page-hd{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;}
.page-hd-left h1{font-weight:800;color:var(--text);}
.page-hd-left p{font-size:.75rem;color:var(--muted);margin-top:4px;}
.breadcrumb{font-size:.68rem;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:5px;}
.bc-sep{opacity:.4;}.bc-cur{color:var(--primary);font-weight:700;}
.bc-link{cursor:pointer;transition:color .15s;}
.bc-link:hover{color:var(--primary);text-decoration:underline;}

/* ── PAGE HEADER CARD (redesigned) ── */
.ph-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:18px 24px 20px;margin-bottom:20px;box-shadow:0 1px 6px rgba(0,0,0,.05);}
.ph-back-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;font-size:12px;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:20px;cursor:pointer;transition:background .15s,border-color .15s;margin-bottom:10px;}
.ph-back-btn:hover{background:#F3F4F6;border-color:#9CA3AF;}
.ph-breadcrumb{font-size:.67rem;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:12px;}
.ph-breadcrumb .bc-sep{opacity:.4;font-size:.75rem;}
.ph-breadcrumb .bc-link{cursor:pointer;transition:color .15s;}
.ph-breadcrumb .bc-link:hover{color:var(--primary);}
.ph-breadcrumb .bc-cur{color:var(--primary);font-weight:700;}
.ph-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ph-title-group{display:flex;align-items:center;gap:14px;}
.ph-icon{width:42px;height:42px;background:#EFF6FF;border:1.5px solid #BFDBFE;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.ph-title{font-size:22px;font-weight:800;color:var(--text);line-height:1.2;}
.ph-subtitle{font-size:12px;color:var(--muted);margin-top:3px;}
.ph-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ph-count-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;color:#374151;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:20px;}
.ph-btn-outline{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:12px;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;transition:background .15s;}
.ph-btn-outline:hover{background:#F9FAFB;}
.ph-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:700;color:#fff;background:#1E3A8A;border:none;border-radius:8px;cursor:pointer;transition:background .15s;}
.ph-btn-primary:hover{background:#1e40af;}

/* ── SECTION HEADER ── */
.sec{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);
  margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.sec::after{content:'';flex:1;height:1px;background:var(--border);}

/* ════════════════════════════════════
   KPI CARDS
════════════════════════════════════ */
.kpi-row{display:grid;gap:18px;margin-bottom:24px;}
.kpi-r6{grid-template-columns:repeat(6,1fr);}
.kpi-r4{grid-template-columns:repeat(4,1fr);}
.kpi-r3{grid-template-columns:repeat(3,1fr);}
.kpi-r7{grid-template-columns:repeat(7,1fr);}
.kpi-card{background:var(--card);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);
  position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;}
.kc-blue::before{background:linear-gradient(90deg,#24559D,#11B3AD);}
.kc-green::before{background:linear-gradient(90deg,#27AE60,#2ECC71);}
.kc-red::before{background:linear-gradient(90deg,#E63946,#ff6b6b);}
.kc-orange::before{background:linear-gradient(90deg,#E67E22,#F4A261);}
.kc-purple::before{background:linear-gradient(90deg,#8E44AD,#BB8FCE);}
.kc-teal::before{background:linear-gradient(90deg,#11B3AD,#80CBC4);}
.kc-dark::before{background:linear-gradient(90deg,#1E2139,#24559D);}
.kpi-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.kpi-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.kc-blue .kpi-card-icon{background:#E8F0FB;}.kc-green .kpi-card-icon{background:#EAFAF1;}
.kc-red .kpi-card-icon{background:#FDEDEC;}.kc-orange .kpi-card-icon{background:#FEF5E7;}
.kc-purple .kpi-card-icon{background:#F5EEF8;}.kc-teal .kpi-card-icon{background:#E0F5F4;}
.kc-dark .kpi-card-icon{background:rgba(36,85,157,.1);}
.kpi-card-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px;}
.kpi-card-val{font-size:1.75rem;font-weight:900;line-height:1;margin-bottom:3px;}
.kc-blue .kpi-card-val{color:#24559D;}.kc-green .kpi-card-val{color:#27AE60;}
.kc-red .kpi-card-val{color:#E63946;}.kc-orange .kpi-card-val{color:#E67E22;}
.kc-purple .kpi-card-val{color:#8E44AD;}.kc-teal .kpi-card-val{color:#11B3AD;}
.kc-dark .kpi-card-val{color:#1E2139;}
.kpi-card-sub{font-size:.67rem;color:var(--muted);}
.kpi-bar{background:#F0F2F5;border-radius:6px;height:4px;margin-top:10px;}
.kpi-bar-fill{height:4px;border-radius:6px;transition:width 1.2s cubic-bezier(.4,0,.2,1);}

/* ── RING KPI CARDS (reference style) ── */
.kpi-ring-card{background:#fff;border-radius:16px;padding:24px;min-height:155px;
  box-shadow:0 2px 14px rgba(36,85,157,.09),0 1px 3px rgba(0,0,0,.04);
  border:1px solid #E2E8F0;transition:transform .22s,box-shadow .22s,border-color .22s;cursor:pointer;position:relative;}
.kpi-ring-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(36,85,157,.16);border-color:#93C5FD;}
.kpi-ring-card:active{transform:translateY(-1px);box-shadow:0 4px 14px rgba(36,85,157,.12);}
.krc-nav-hint{position:absolute;bottom:12px;right:16px;font-size:.65rem;font-weight:700;color:var(--primary);opacity:0;transition:opacity .2s;letter-spacing:.3px;}
.kpi-ring-card:hover .krc-nav-hint{opacity:1;}
.ops-kpi-mini{background:#F3F4F6;border-radius:14px;padding:16px 12px;
  box-shadow:0 2px 10px rgba(36,85,157,.07),0 1px 3px rgba(0,0,0,.04);
  text-align:center;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;border:1.5px solid transparent;}
.ops-kpi-mini:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(36,85,157,.13);border-color:#93C5FD;}
.ops-kpi-mini:active{transform:translateY(0);}
.ops-kpi-mini.ops-zero{opacity:.45;filter:grayscale(.5);}
.ops-lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;}
.ops-val{font-size:20px;font-weight:900;line-height:1;}
.ops-sub{font-size:10px;color:var(--muted);margin-top:4px;}
.ops-trend{font-size:.7rem;font-weight:700;margin-top:4px;}
.trend-up{color:#27AE60;}.trend-dn{color:#E63946;}.trend-fl{color:var(--muted);}
.krc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.krc-icon-wrap{width:44px;height:44px;border-radius:12px;border:none;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;}
.krc-blue-ring{background:#EFF6FF;color:#2563EB;}
.krc-orange-ring{background:#FFF7ED;color:#D97706;}
.krc-purple-ring{background:#F5F3FF;color:#7C3AED;}
.krc-green-ring{background:#F0FDFA;color:#059669;}
.krc-red-ring{background:#FEF2F2;color:#DC2626;}
/* % badge on Critical card top-right */
.krc-pct-badge{font-size:11px;font-weight:800;color:#DC2626;background:#FEE2E2;padding:3px 8px;border-radius:12px;border:1px solid #FECACA;}
/* Header pills — Live indicator + date */
.page-hd-right-pills{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.hd-live-pill{display:inline-flex;align-items:center;gap:5px;background:#F0FDF4;color:#16A34A;font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;border:1px solid #BBF7D0;}
.hd-live-dot{width:7px;height:7px;border-radius:50%;background:#16A34A;animation:livePulse 2s ease-in-out infinite;}
@keyframes livePulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hd-date-pill{display:inline-flex;align-items:center;background:#fff;color:var(--text);font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;border:1px solid #E2E8F0;}
.krc-val{font-weight:900;line-height:1;margin-bottom:4px;}
.krc-val-blue{color:#2563EB;}.krc-val-orange{color:#D97706;}
.krc-val-purple{color:#7C3AED;}.krc-val-green{color:#059669;}.krc-val-red{color:#DC2626;}
.krc-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.krc-sub{font-size:12px;color:var(--muted);margin-top:4px;}
.kpi-sparkline{width:100%;height:36px;display:block;margin-top:10px;opacity:.8;}

/* ── CHART TIME FILTER ── */
.chart-timefilter{display:flex;gap:3px;background:var(--bg);border-radius:8px;padding:3px;}
.ctf-btn{padding:4px 9px;border:none;background:transparent;border-radius:6px;font-weight:600;
  cursor:pointer;color:var(--muted);transition:all .15s;}
.ctf-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px rgba(0,0,0,.1);}
.ctf-btn:hover:not(.active){background:rgba(255,255,255,.5);color:var(--text);}

/* ── FEEDS TABLE ── */
.feeds-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 12px rgba(30,33,57,.07);border:1px solid var(--border);}
.feeds-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;
  padding-bottom:12px;border-bottom:1px solid var(--border);}
.feeds-hd-l{display:flex;align-items:center;gap:10px;}
.feeds-hd-icon{width:36px;height:36px;background:#EFF6FF;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.feeds-hd h3{font-size:13px;font-weight:800;}
.feeds-hd p{font-size:11px;color:var(--muted);margin-top:2px;}
.feeds-actions{display:flex;gap:0;flex-shrink:0;}
.feeds-act-btn{padding:6px 14px;border-radius:0;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid #D1D5DB;background:#fff;color:var(--muted);}
.feeds-act-btn:first-child{border-radius:7px 0 0 7px;}
.feeds-act-btn:last-child{border-radius:0 7px 7px 0;border-left:none;}
.feeds-act-btn.active{background:#1E293B;color:#fff;border-color:#1E293B;z-index:1;}
.feeds-act-btn:hover:not(.active){color:var(--text);}
.feeds-tbl{width:100%;border-collapse:collapse;font-size:.74rem;}
.feeds-tbl th{padding:7px 10px;text-align:left;font-size:.63rem;font-weight:700;color:var(--muted);letter-spacing:.5px;
  border-bottom:1px solid #F0F2F5;background:#FAFAFA;}
.feeds-tbl td{padding:9px 10px;border-bottom:1px solid #F5F7FA;}
.feeds-tbl tbody tr:hover td{background:#F8FAFF;}
.feeds-tbl tbody tr:last-child td{border-bottom:none;}
.feeds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:8px;}
.feeds-empty-icon{width:48px;height:48px;background:#F3F4F6;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9CA3AF;margin-bottom:4px;}
.feeds-empty-title{font-size:13px;font-weight:700;color:var(--text);}
.feeds-empty-sub{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5;}
.feeds-empty-btns{display:flex;gap:8px;margin-top:6px;}
.feeds-empty-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s;}
.feeds-empty-btn:hover{border-color:#6B7280;}

/* ── MINI CALENDAR ── */
.mini-cal{background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 12px rgba(30,33,57,.07);border:1px solid var(--border);}
.mc-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.mc-hd-l{display:flex;align-items:center;gap:10px;}
.mc-hd-icon{width:36px;height:36px;background:#EFF6FF;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.mc-hd h3{font-size:13px;font-weight:800;line-height:1.2;}
.mc-hd p{font-size:11px;color:var(--muted);margin-top:2px;}
.mc-month{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;}
.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.mc-dow{text-align:center;font-size:10px;font-weight:600;color:#9CA3AF;padding:5px 0;}
.mc-day{text-align:center;font-size:13px;font-weight:500;padding:6px 2px;border-radius:8px;cursor:default;
  min-height:38px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px;}
.mc-day:not(.empty):not(.today):hover{background:#F0F4FF;}
.mc-day.past{color:#CBD5E1;}
.mc-day.today{background:#2563EB!important;color:#fff!important;font-weight:800;border-radius:8px;}
.mc-day.empty{pointer-events:none;}
.mc-dots{display:flex;gap:2px;margin-top:3px;flex-wrap:wrap;justify-content:center;}
.mc-dot{width:5px;height:5px;border-radius:50%;display:inline-block;}
.mc-dot-blue{background:#3B82F6;}.mc-dot-pink{background:#EC4899;}
.mc-dot-amber{background:#F59E0B;}.mc-dot-green{background:#10B981;}
.mc-dot-red{background:#E63946;}.mc-dot-purple{background:#8B5CF6;}
.mc-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #EEF2F7;}
.mc-leg{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);}
.mc-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* ════════════════════════════════════
   DASHBOARD LAYOUT
════════════════════════════════════ */
.db-row{display:grid;gap:16px;margin-bottom:16px;}
.db-row-73{grid-template-columns:1fr 300px;}
.db-row-55{grid-template-columns:1fr 1fr;}
.db-row-64{grid-template-columns:1.5fr 1fr;}

/* ── CARD ── */
.card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--border);}
.card-hd{display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.card-hd-l{display:flex;align-items:center;gap:9px;}
.card-ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.ci-b{background:#EBF3FB;color:#2563EB;}.ci-g{background:#EAFAF1;color:#059669;}
.ci-o{background:#FEF5E7;color:#D97706;}.ci-p{background:#F5EEF8;color:#7C3AED;}
.ci-r{background:#FDEDEC;color:#DC2626;}.ci-t{background:#E0F5F4;color:#0D9488;}
/* Chart time-filter — individual outlined buttons */
.chart-timefilter{display:flex;gap:4px;}
.ctf-btn{padding:4px 10px;border:1.5px solid #D1D5DB;border-radius:6px;background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted);transition:all .15s;}
.ctf-btn.active{background:#1E293B;color:#fff;border-color:#1E293B;}
.ctf-btn:hover:not(.active){border-color:#9CA3AF;color:var(--text);}
/* Operations Activity card KPI boxes */
.ops-act-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 14px;}
.ops-act-kpi{background:#F9FAFB;border-radius:10px;padding:10px 12px;border:1px solid #F3F4F6;}
.ops-act-lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;}
.ops-act-val{font-size:20px;font-weight:900;color:var(--text);line-height:1;}
.ops-act-val-red{color:#DC2626;}
/* Card header menu button */
.card-menu-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px 6px;border-radius:6px;font-size:16px;font-weight:900;line-height:1;letter-spacing:1px;}
.card-menu-btn:hover{background:var(--bg);color:var(--text);}
/* Criticality card download button */
.crit-dl-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1.5px solid #E2E8F0;background:#fff;cursor:pointer;margin:8px auto 0;transition:all .15s;}
.crit-dl-btn:hover{border-color:var(--primary);color:var(--primary);}
.card-hd h3{font-size:13px;font-weight:800;color:var(--text);}
.card-hd p{font-size:11px;color:var(--muted);margin-top:1px;}
canvas{max-height:300px;}
canvas.kpi-sparkline{max-height:36px;}

/* ── CONSOLIDATED ALERT BAR ── */
/* ── ALERT BANNER (new light design) ── */
.ab-bar{display:flex;align-items:center;gap:0;padding:9px 16px;border-radius:14px;background:#fff;border:1px solid #E5E7EB;box-shadow:0 1px 4px rgba(0,0,0,.05);}
.ab-label{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-right:14px;border-right:1.5px solid #E5E7EB;margin-right:14px;}
.ab-label-txt{font-size:10.5px;font-weight:800;letter-spacing:1.3px;color:#9CA3AF;text-transform:uppercase;}
.ab-items{display:flex;flex-wrap:wrap;gap:6px;flex:1;align-items:center;}
.ab-item{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;background:#F9FAFB;border:1px solid #E5E7EB;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;}
.ab-item:hover{border-color:#D1D5DB;background:#F3F4F6;}
.ab-item-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.ab-item-cnt{background:#E63946;color:#fff;font-size:10.5px;font-weight:800;padding:1px 8px;border-radius:10px;margin-left:2px;}
.ab-view-all{display:flex;align-items:center;gap:3px;margin-left:auto;padding-left:14px;border-left:1.5px solid #E5E7EB;font-size:12px;font-weight:600;color:#6B7280;cursor:pointer;white-space:nowrap;transition:color .15s;flex-shrink:0;background:none;border-top:none;border-bottom:none;border-right:none;}
.ab-view-all:hover{color:#374151;}
.ab-clear{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:14px;background:#fff;border:1px solid #E5E7EB;font-size:12px;font-weight:500;color:#16A34A;}

/* ── ALERTS PANEL ── */
.alert-item{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:9px;
  font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-bottom:7px;}
.alert-item:hover{opacity:.85;}
.ai-red{background:#FDEDEC;color:#C0392B;border-left:3px solid #E63946;}
.ai-orange{background:#FEF5E7;color:#7D4C00;border-left:3px solid #E67E22;}
.ai-blue{background:#EEF4FB;color:#1A3F7A;border-left:3px solid #24559D;}
.ai-green{background:#EAFAF1;color:#1E6A3A;border-left:3px solid #27AE60;}
.ai-cnt{margin-left:auto;background:rgba(0,0,0,.08);padding:2px 7px;border-radius:8px;font-size:.63rem;}

/* ── RECENT ACTIVITY ── */
.act-list{display:flex;flex-direction:column;}
.act-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #F5F7FA;align-items:flex-start;}
.act-item:last-child{border-bottom:none;}
.act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.act-msg{font-size:.75rem;font-weight:600;color:var(--text);line-height:1.3;}
.act-sub{font-size:.65rem;color:var(--muted);margin-top:2px;}
.act-time{font-size:.62rem;color:var(--muted);white-space:nowrap;margin-left:auto;padding-left:6px;}
.ra-filter-row{display:flex;align-items:center;gap:8px;}
.ra-filter-lbl{font-size:12px;font-weight:500;color:var(--muted);}
.ra-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 20px;gap:8px;}
.ra-empty-icon{width:52px;height:52px;background:#F3F4F6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9CA3AF;margin-bottom:4px;}
.ra-empty-title{font-size:14px;font-weight:700;color:var(--text);}
.ra-empty-sub{font-size:12px;color:var(--muted);text-align:center;line-height:1.6;max-width:500px;}
.ra-empty-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.ra-empty-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s;}
.ra-empty-btn:hover{border-color:#6B7280;}

/* ── QUICK ACTIONS ── */
.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.qa-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;
  background:#fff;border:1.5px solid #E5E7EB;border-radius:12px;cursor:pointer;
  transition:all .2s;text-align:center;}
.qa-btn:hover{border-color:#D1D5DB;box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px);}
.qa-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;}
.qa-lbl{font-size:.68rem;font-weight:600;color:var(--text);line-height:1.35;text-align:center;}

/* ── ASSET PREVIEW TABLE ── */
.preview-wrap{overflow-x:auto;}
.preview-table{width:100%;border-collapse:collapse;font-size:12px;}
.preview-table thead tr{background:#F9FAFB;}
.preview-table th{padding:9px 12px;text-align:left;font-weight:700;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:1.5px solid #E5E7EB;}
.preview-table th:first-child{border-radius:0;}.preview-table th:last-child{border-radius:0;}
.preview-table td{padding:9px 12px;border-bottom:1px solid #F5F7FA;}
.preview-table tbody tr:hover td{background:#F8FAFF;}
.preview-table tbody tr:last-child td{border-bottom:none;}

/* ── ALERT NOTIFICATION ROWS ── */
.an-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:9px;border:1.5px solid #E5E7EB;margin-bottom:8px;background:#fff;cursor:pointer;transition:all .15s;}
.an-row:last-child{margin-bottom:0;}
.an-row-crit{background:#FEF2F2;border-color:#FECACA;}
.an-row:not(.an-row-crit):hover{border-color:#D1D5DB;}
.an-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.an-txt{font-size:13px;font-weight:600;color:var(--text);flex:1;}
.an-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800;background:#E63946;color:#fff;}

/* ════════════════════════════════════
   MAIN TABLE
════════════════════════════════════ */
.tbl-card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:18px;overflow-x:auto;}
.tbl-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--border);}
.tbl-hd h3{font-size:.82rem;font-weight:800;}
.badge{font-size:.64rem;background:var(--bg);color:var(--muted);padding:3px 9px;border-radius:8px;font-weight:600;}
table{width:100%;border-collapse:collapse;font-size:.74rem;}
thead tr{background:var(--primary);}
th{padding:9px 12px;text-align:left;font-weight:700;color:#fff;font-size:.67rem;letter-spacing:.3px;white-space:nowrap;}
th:first-child{border-radius:8px 0 0 0;}th:last-child{border-radius:0 8px 0 0;}
td{padding:8px 12px;border-bottom:1px solid #F5F7FA;color:var(--text);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;}
tbody tr:hover td{background:#F8FAFF;}tbody tr:last-child td{border-bottom:none;}

/* ── FILTER BAR ── */
.fbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;padding:11px 15px;
  border-radius:11px;box-shadow:var(--shadow);margin-bottom:14px;}
.fbar label{font-size:.68rem;font-weight:700;color:var(--muted);}
.fbar select,.fbar input{padding:6px 10px;border:1.5px solid var(--border);border-radius:8px;
  font-size:.76rem;outline:none;background:#fff;color:var(--text);transition:border-color .2s;}
.fbar select:focus,.fbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(17,179,173,.1);}

/* ── STATUS TAGS ── */
.tag-crit{background:#FDEDEC;color:#C0392B;padding:2px 9px;border-radius:20px;font-weight:700;font-size:10px;}
.tag-hi{background:#FEF5E7;color:#E67E22;padding:2px 9px;border-radius:20px;font-weight:700;font-size:10px;}
.tag-nc{background:#EAFAF1;color:#1E8449;padding:2px 9px;border-radius:20px;font-weight:700;font-size:10px;}
.tag-yes{background:#E8F8F5;color:#1ABC9C;padding:2px 9px;border-radius:20px;font-weight:700;font-size:10px;}
.tag-no{background:#F5F5F5;color:#95A5A6;padding:2px 9px;border-radius:20px;font-weight:700;font-size:10px;}
.tag-ok{background:#EAFAF1;color:#27AE60;padding:2px 9px;border-radius:20px;font-weight:700;font-size:.64rem;}
.tag-nok{background:#FDEDEC;color:#E63946;padding:2px 9px;border-radius:20px;font-weight:700;font-size:.64rem;}
.tag-na{background:#F0F2F5;color:#7F8C8D;padding:2px 9px;border-radius:20px;font-weight:700;font-size:.64rem;}
.tag-pending{background:#FEF5E7;color:#E67E22;padding:2px 9px;border-radius:20px;font-weight:700;font-size:.64rem;}
.tag-done{background:#EAFAF1;color:#27AE60;padding:2px 9px;border-radius:20px;font-weight:700;font-size:.64rem;}

/* ── PAGINATION ── */
.pag{display:flex;align-items:center;justify-content:space-between;margin-top:12px;flex-wrap:wrap;gap:8px;}
.pag-info{font-size:.69rem;color:var(--muted);}
.pag-btns{display:flex;gap:4px;}
.pag-btn{padding:4px 9px;border:1.5px solid var(--border);border-radius:6px;cursor:pointer;
  font-size:.69rem;font-weight:600;background:#fff;color:var(--text);transition:all .2s;}
.pag-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}
.pag-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.pag-btn:disabled{opacity:.4;cursor:default;}

/* â•â• ASSET REGISTER â€" Enhanced UI â•â• */
.ar-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.ar-breadcrumb .bc-link{font-size:.72rem;color:var(--muted);cursor:pointer;padding:2px 8px;border-radius:6px;transition:all .15s;}
.ar-breadcrumb .bc-link:hover{background:var(--primary-lt);color:var(--primary);}
.ar-breadcrumb .bc-sep{color:var(--border);font-size:1rem;opacity:.6;}
.ar-breadcrumb .bc-cur{font-size:.72rem;font-weight:700;color:var(--primary);background:var(--primary-lt);padding:2px 8px;border-radius:6px;}
.ar-page-title{font-size:1.25rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.ar-title-icon{width:40px;height:40px;background:#EFF6FF;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.ar-page-sub{font-size:.75rem;color:var(--muted);margin-top:2px;margin-left:52px;}
.ar-filter-panel{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);margin-bottom:16px;border:1.5px solid var(--border);}
.ar-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;}
.ar-filter-title{font-size:.75rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;white-space:nowrap;}
.ar-filter-search-row{margin-bottom:14px;}
.ar-filter-groups{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:12px;}
/* Table header action buttons */
.ar-tbl-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;}
.ar-tbl-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-lt);}
/* Page header action buttons */
.ar-hd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.ar-hd-btn:hover{border-color:var(--primary);color:var(--primary);}
.ar-hd-btn-dark{border-color:#374151;background:#fff;color:#111827;}
.ar-hd-btn-dark:hover{border-color:#111827;background:#F9FAFB;}
.ar-filter-group{display:flex;flex-direction:column;gap:10px;}
.ar-filter-group-label{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);display:flex;align-items:center;gap:5px;padding-bottom:7px;border-bottom:1.5px solid var(--border);}
.ar-filter-row{display:flex;flex-direction:column;gap:3px;}
.ar-filter-lbl{font-size:.68rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:4px;}
.ar-fselect{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:.76rem;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s;outline:none;cursor:pointer;}
.ar-fselect:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(17,179,173,.12);}
.ar-search-wrap{position:relative;}
.ar-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:.95rem;color:var(--muted);pointer-events:none;}
.ar-search-input{width:100%;padding:11px 36px 11px 38px;border:1.5px solid #D1D5DB;border-radius:10px;font-size:13px;color:var(--text);background:#fff;transition:all .2s;outline:none;box-sizing:border-box;}
.ar-search-input:focus{border-color:#6B7280;box-shadow:none;}
.ar-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:.8rem;padding:3px 6px;border-radius:4px;transition:color .15s;display:none;}
.ar-search-clear:hover{color:var(--text);background:var(--bg);}
.ar-chips-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border);margin-top:4px;}
.ar-chips-label{font-size:.62rem;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;white-space:nowrap;}
.ar-chips{display:flex;flex-wrap:wrap;gap:5px;}
.ar-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--primary-lt);color:var(--primary);border-radius:20px;font-size:.67rem;font-weight:700;border:1.5px solid rgba(36,85,157,.18);}
.ar-chip-x{cursor:pointer;opacity:.6;margin-left:3px;line-height:1;font-size:.75rem;}
.ar-chip-x:hover{opacity:1;}
.ar-table-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
.ar-table-title{display:flex;align-items:center;gap:10px;}
.ar-table-title h3{margin:0;font-size:.92rem;font-weight:800;color:var(--text);}
.ar-badge-count{font-size:.72rem;background:#EFF6FF;color:#2563EB;padding:3px 11px;border-radius:20px;font-weight:700;border:1px solid #BFDBFE;}
.ar-bulk-bar{display:none;align-items:center;gap:8px;padding:7px 14px;background:#EFF6FF;border-radius:8px;font-size:.74rem;font-weight:600;color:#1D4ED8;border:1.5px solid #BFDBFE;}
.ar-bulk-bar.visible{display:flex;}
.ar-col-sort{cursor:pointer;user-select:none;white-space:nowrap;}
.ar-col-sort:hover{opacity:.85;}
.ar-sort-ic{font-size:.6rem;opacity:.4;margin-left:2px;}
.ar-sort-ic.asc,.ar-sort-ic.desc{opacity:1;}
#regBody tr{transition:background .12s;}
#regBody tr:nth-child(even){background:#FAFBFC;}
#regBody tr:hover td{background:#EFF6FF!important;}
#regBody td{padding:10px 12px;vertical-align:middle;border-bottom:1px solid #F0F4F8;}
.ar-serial{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;font-size:.7rem;cursor:default;vertical-align:middle;}
.ar-nil{color:#CBD5E1;font-size:.76rem;}
.ar-qa{display:flex;gap:4px;opacity:0;transition:opacity .15s;}
#regBody tr:hover .ar-qa{opacity:1;}
.ar-qa-btn{background:none;border:1.5px solid var(--border);border-radius:6px;padding:3px 7px;cursor:pointer;font-size:.68rem;color:var(--muted);transition:all .15s;white-space:nowrap;}
.ar-qa-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--primary-lt);}
.ar-qa-btn.del:hover{border-color:#E63946;color:#E63946;background:#FEF2F2;}
.ar-sel-cb{width:14px;height:14px;cursor:pointer;accent-color:var(--primary);}
.ar-crit{display:inline-flex;align-items:center;padding:2px 9px;border-radius:12px;font-size:.64rem;font-weight:800;letter-spacing:.2px;}
.ar-crit.critical{background:#FEE2E2;color:#B91C1C;}
.ar-crit.high{background:#FEF3C7;color:#92400E;}
.ar-crit.non-critical{background:#D1FAE5;color:#065F46;}
.ar-crit.unknown{background:#F1F5F9;color:#94A3B8;}
.ar-yes{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.64rem;font-weight:700;background:#DCFCE7;color:#15803D;}
.ar-no{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.64rem;font-weight:700;background:#F1F5F9;color:#94A3B8;}
.ar-unit{font-size:.68rem;font-weight:700;color:var(--primary);background:var(--primary-lt);padding:2px 8px;border-radius:6px;white-space:nowrap;}

/* â•â• ASSET REGISTER â€" Enhanced UI â•â• */
.ar-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.ar-breadcrumb .bc-link{font-size:.72rem;color:var(--muted);cursor:pointer;padding:2px 8px;border-radius:6px;transition:all .15s;}
.ar-breadcrumb .bc-link:hover{background:var(--primary-lt);color:var(--primary);}
.ar-breadcrumb .bc-sep{color:var(--border);font-size:1rem;opacity:.6;}
.ar-breadcrumb .bc-cur{font-size:.72rem;font-weight:700;color:var(--primary);background:var(--primary-lt);padding:2px 8px;border-radius:6px;}
.ar-page-title{font-size:1.25rem;font-weight:800;color:var(--text);display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.ar-title-icon{width:40px;height:40px;background:#EFF6FF;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.ar-page-sub{font-size:.75rem;color:var(--muted);margin-top:2px;margin-left:52px;}
.ar-filter-panel{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);margin-bottom:16px;border:1.5px solid var(--border);}
.ar-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;}
.ar-filter-title{font-size:.75rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;white-space:nowrap;}
.ar-filter-search-row{margin-bottom:14px;}
.ar-filter-groups{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:12px;}
/* Table header action buttons */
.ar-tbl-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;}
.ar-tbl-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-lt);}
/* Page header action buttons */
.ar-hd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #D1D5DB;border-radius:8px;background:#fff;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.ar-hd-btn:hover{border-color:var(--primary);color:var(--primary);}
.ar-hd-btn-dark{border-color:#374151;background:#fff;color:#111827;}
.ar-hd-btn-dark:hover{border-color:#111827;background:#F9FAFB;}
.ar-filter-group{display:flex;flex-direction:column;gap:10px;}
.ar-filter-group-label{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);display:flex;align-items:center;gap:5px;padding-bottom:7px;border-bottom:1.5px solid var(--border);}
.ar-filter-row{display:flex;flex-direction:column;gap:3px;}
.ar-filter-lbl{font-size:.68rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:4px;}
.ar-fselect{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:.76rem;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s;outline:none;cursor:pointer;}
.ar-fselect:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(17,179,173,.12);}
.ar-search-wrap{position:relative;}
.ar-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:.95rem;color:var(--muted);pointer-events:none;}
.ar-search-input{width:100%;padding:11px 36px 11px 38px;border:1.5px solid #D1D5DB;border-radius:10px;font-size:13px;color:var(--text);background:#fff;transition:all .2s;outline:none;box-sizing:border-box;}
.ar-search-input:focus{border-color:#6B7280;box-shadow:none;}
.ar-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:.8rem;padding:3px 6px;border-radius:4px;transition:color .15s;display:none;}
.ar-search-clear:hover{color:var(--text);background:var(--bg);}
.ar-chips-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border);margin-top:4px;}
.ar-chips-label{font-size:.62rem;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;white-space:nowrap;}
.ar-chips{display:flex;flex-wrap:wrap;gap:5px;}
.ar-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--primary-lt);color:var(--primary);border-radius:20px;font-size:.67rem;font-weight:700;border:1.5px solid rgba(36,85,157,.18);}
.ar-chip-x{cursor:pointer;opacity:.6;margin-left:3px;line-height:1;font-size:.75rem;}
.ar-chip-x:hover{opacity:1;}
.ar-table-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
.ar-table-title{display:flex;align-items:center;gap:10px;}
.ar-table-title h3{margin:0;font-size:.92rem;font-weight:800;color:var(--text);}
.ar-badge-count{font-size:.72rem;background:#EFF6FF;color:#2563EB;padding:3px 11px;border-radius:20px;font-weight:700;border:1px solid #BFDBFE;}
.ar-bulk-bar{display:none;align-items:center;gap:8px;padding:7px 14px;background:#EFF6FF;border-radius:8px;font-size:.74rem;font-weight:600;color:#1D4ED8;border:1.5px solid #BFDBFE;}
.ar-bulk-bar.visible{display:flex;}
.ar-col-sort{cursor:pointer;user-select:none;white-space:nowrap;}
.ar-col-sort:hover{opacity:.85;}
.ar-sort-ic{font-size:.6rem;opacity:.4;margin-left:2px;}
.ar-sort-ic.asc,.ar-sort-ic.desc{opacity:1;}
#regBody tr{transition:background .12s;}
#regBody tr:nth-child(even){background:#FAFBFC;}
#regBody tr:hover td{background:#EFF6FF!important;}
#regBody td{padding:10px 12px;vertical-align:middle;border-bottom:1px solid #F0F4F8;}
.ar-serial{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;font-size:.7rem;cursor:default;vertical-align:middle;}
.ar-nil{color:#CBD5E1;font-size:.76rem;}
.ar-qa{display:flex;gap:4px;opacity:0;transition:opacity .15s;}
#regBody tr:hover .ar-qa{opacity:1;}
.ar-qa-btn{background:none;border:1.5px solid var(--border);border-radius:6px;padding:3px 7px;cursor:pointer;font-size:.68rem;color:var(--muted);transition:all .15s;white-space:nowrap;}
.ar-qa-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--primary-lt);}
.ar-qa-btn.del:hover{border-color:#E63946;color:#E63946;background:#FEF2F2;}
.ar-sel-cb{width:14px;height:14px;cursor:pointer;accent-color:var(--primary);}
.ar-crit{display:inline-flex;align-items:center;padding:2px 9px;border-radius:12px;font-size:.64rem;font-weight:800;letter-spacing:.2px;}
.ar-crit.critical{background:#FEE2E2;color:#B91C1C;}
.ar-crit.high{background:#FEF3C7;color:#92400E;}
.ar-crit.non-critical{background:#D1FAE5;color:#065F46;}
.ar-crit.unknown{background:#F1F5F9;color:#94A3B8;}
.ar-yes{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.64rem;font-weight:700;background:#DCFCE7;color:#15803D;}
.ar-no{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.64rem;font-weight:700;background:#F1F5F9;color:#94A3B8;}
.ar-unit{font-size:.68rem;font-weight:700;color:var(--primary);background:var(--primary-lt);padding:2px 8px;border-radius:6px;white-space:nowrap;}

/* â•â• ADD/UPLOAD ASSET â€" Enhanced UI â•â• */
.au-page-title{font-size:1.45rem;font-weight:900;color:var(--text);display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.au-title-icon{width:38px;height:38px;background:#EFF6FF;border:2px solid #BFDBFE;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.au-page-sub{font-size:.75rem;color:var(--muted);margin-top:2px;margin-left:50px;}
/* Tabs — individual outlined buttons */
.au-tabs{display:flex;gap:0;margin-bottom:20px;width:fit-content;}
.au-tab{display:flex;align-items:center;gap:7px;padding:8px 18px;border:1.5px solid #D1D5DB;border-radius:0;background:#fff;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;}
.au-tab:first-child{border-radius:8px 0 0 8px;}
.au-tab:last-child{border-radius:0 8px 8px 0;border-left:none;}
.au-tab.active{background:#fff;color:var(--text);border-color:#374151;font-weight:700;z-index:1;}
.au-tab:hover:not(.active){background:#F9FAFB;color:var(--text);}
.au-tab-icon{display:flex;align-items:center;}
.au-tab-label{font-weight:inherit;}
/* Grid layout */
.au-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start;}
.au-form-col{display:flex;flex-direction:column;gap:14px;}
.au-form-card{background:#fff;border-radius:14px;padding:24px;box-shadow:var(--shadow);border:1.5px solid var(--border);}
/* Each section is its own card */
.au-section{background:#fff;border-radius:14px;border:1.5px solid var(--border);overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.au-section-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;user-select:none;}
.au-section-hd-inner{display:flex;align-items:center;gap:10px;}
.au-section-body{padding:0 20px 20px;}
.au-section-num{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;}
.au-section-num-inactive{background:#E5E7EB;color:#6B7280;}
.au-section-title{font-size:14px;font-weight:700;color:var(--text);}
.au-section-tag{font-size:12px;font-weight:500;color:var(--muted);}
.au-optional-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);font-weight:500;}
/* Field grid */
.au-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.au-field-grid-3{grid-template-columns:1fr 1fr 1fr;}
.au-field{display:flex;flex-direction:column;gap:5px;}
.au-label{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.au-req{font-size:11px;font-weight:600;color:#DC2626;background:#FEF2F2;border:1px solid #FECACA;border-radius:4px;padding:1px 6px;}
.au-input{padding:9px 12px;border:1.5px solid #D1D5DB;border-radius:8px;font-size:13px;outline:none;background:#fff;color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box;}
.au-input:focus{border-color:#6B7280;box-shadow:none;}
.au-input.valid{border-color:#27AE60;background:#F0FDF4;}
.au-input.invalid{border-color:#E63946;background:#FFF5F5;}
.au-hint{font-size:11px;min-height:14px;margin-top:1px;color:var(--muted);}
.au-hint.ok{color:#27AE60;font-weight:600;}
.au-hint.err{color:#E63946;font-weight:600;}
/* Form progress sidebar */
.au-progress-card{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);border:1.5px solid var(--border);margin-bottom:14px;}
.au-progress-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:14px;}
.au-progress-step{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #F3F4F6;}
.au-progress-step:last-child{border-bottom:none;padding-bottom:0;}
.au-progress-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px;transition:background .25s,color .25s;}
.au-progress-num-active{background:var(--primary);color:#fff;}
.au-progress-num-inactive{background:#E5E7EB;color:#9CA3AF;}
.au-progress-num-done{background:#16A34A;color:#fff;}
.au-progress-info{flex:1;}
.au-progress-label{font-size:13px;font-weight:600;color:var(--text);}
.au-progress-label-inactive{color:#6B7280;font-weight:500;}
.au-progress-label-done{color:#16A34A;font-weight:600;}
.au-progress-sub{font-size:11px;color:var(--muted);margin-top:1px;}
.au-progress-sub-done{font-size:11px;color:#16A34A;margin-top:1px;}
.au-toggle-row{display:flex;flex-direction:column;gap:0;margin-bottom:12px;}
.au-toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:10px 12px;border-radius:10px;background:var(--bg);border:1.5px solid var(--border);transition:border-color .15s;}
.au-toggle-label:hover{border-color:var(--accent);}
.au-toggle-switch{position:relative;width:38px;height:22px;flex-shrink:0;}
.au-toggle-switch input{opacity:0;width:0;height:0;position:absolute;}
.au-toggle-slider{position:absolute;inset:0;background:#CBD5E1;border-radius:22px;transition:background .2s;}
.au-toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.au-toggle-switch input:checked+.au-toggle-slider{background:var(--primary);}
.au-toggle-switch input:checked+.au-toggle-slider::before{transform:translateX(16px);}
.au-toggle-title{font-size:.8rem;font-weight:700;color:var(--text);}
.au-toggle-sub{font-size:.65rem;color:var(--muted);margin-top:1px;}
.au-sub-fields{padding:12px 12px 4px 62px;}
.au-btn-row{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1.5px solid var(--border);}
/* ── Section field-preview chips (visible when section is collapsed) ── */
.au-field-preview{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 14px;border-top:1px solid #f0f0f0;}
.au-field-chip{display:inline-flex;align-items:center;padding:4px 13px;background:#F3F4F6;color:#6B7280;border-radius:20px;font-size:11px;font-weight:500;border:1px solid #E5E7EB;}
/* ── Maintenance header chips (PPM / AMC / Calibration) ── */
.au-maint-chips{display:inline-flex;align-items:center;gap:5px;}
.au-maint-chip{display:inline-flex;align-items:center;padding:3px 9px;background:#EFF6FF;color:#1D4ED8;border-radius:12px;font-size:11px;font-weight:600;border:1px solid #BFDBFE;}
/* ── Step progress bar (bottom of form) ── */
.au-step-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:#fff;border-radius:14px;border:1.5px solid var(--border);margin-top:10px;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.au-step-info{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);font-weight:500;}
.au-step-progress-track{width:72px;height:3px;background:#E5E7EB;border-radius:2px;overflow:hidden;}
.au-step-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s;}
.au-step-actions{display:flex;align-items:center;gap:8px;}
.au-btn-cancel{padding:8px 16px;font-size:13px;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;transition:background .15s;}
.au-btn-cancel:hover{background:#F9FAFB;}
.au-btn-draft{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;transition:background .15s;}
.au-btn-draft:hover{background:#F9FAFB;}
.au-btn-save-asset{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;font-size:13px;font-weight:700;color:#fff;background:#1E3A8A;border:none;border-radius:8px;cursor:pointer;transition:background .15s;}
.au-btn-save-asset:hover{background:#1e40af;}
/* chevron rotation */
.au-chevron{transition:transform .2s;display:inline-flex;}
.au-recent-card{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--shadow);border:1.5px solid var(--border);}
.au-recent-hd{margin-bottom:14px;}
.au-recent-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:.88rem;font-weight:800;color:var(--text);}
.au-recent-badge{background:#F3F4F6;color:var(--muted);border-radius:10px;padding:2px 9px;font-size:.67rem;font-weight:700;border:1px solid #E5E7EB;}
.au-success-banner{background:#ECFDF5;border:1.5px solid #A7F3D0;border-radius:8px;padding:8px 12px;font-size:.76rem;font-weight:700;color:#065F46;animation:auFadeIn .3s ease;}
@keyframes auFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.au-recent-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px;gap:10px;}
.au-recent-empty-icon{font-size:2.5rem;opacity:.25;}
.au-recent-empty-title{font-size:.82rem;font-weight:700;color:var(--muted);}
.au-recent-empty-sub{font-size:.71rem;color:var(--muted);text-align:center;line-height:1.5;}
.au-recent-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);margin-bottom:8px;transition:border-color .15s;background:#fff;}
.au-recent-item:hover{border-color:var(--accent);}
.au-recent-item-icon{width:34px;height:34px;border-radius:8px;background:var(--primary-lt);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.au-recent-item-info{flex:1;min-width:0;}
.au-recent-item-code{font-size:.68rem;font-weight:800;color:var(--primary);}
.au-recent-item-name{font-size:.79rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.au-recent-item-meta{font-size:.64rem;color:var(--muted);margin-top:2px;}
.au-recent-item-actions{display:flex;gap:4px;flex-shrink:0;}
.au-ia-btn{background:none;border:1.5px solid var(--border);border-radius:6px;padding:3px 7px;cursor:pointer;font-size:.66rem;color:var(--muted);transition:all .15s;}
.au-ia-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--primary-lt);}
.au-ia-btn.del:hover{border-color:#E63946;color:#E63946;background:#FEF2F2;}

/* ── FORMS ── */
.form-card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px;}
.form-card h3{font-size:.87rem;font-weight:800;color:var(--primary);margin-bottom:16px;
  padding-bottom:11px;border-bottom:1px solid var(--border);}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:14px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px;}
.form-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px;}
.form-group{display:flex;flex-direction:column;gap:5px;}
.form-group label{font-size:.69rem;font-weight:700;color:var(--muted);}
.form-group input,.form-group select,.form-group textarea{
  padding:8px 11px;border:1.5px solid var(--border);border-radius:8px;
  font-size:.8rem;outline:none;background:#fff;color:var(--text);font-family:inherit;
  transition:border-color .2s,box-shadow .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(17,179,173,.1);}
.form-group textarea{resize:vertical;min-height:70px;}
.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:13px;border-top:1px solid var(--border);}

/* ── BACK BUTTON ── */
.back-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 14px 5px 10px;
  background:var(--primary-lt);color:var(--primary);border:1.5px solid var(--primary);
  border-radius:20px;font-weight:700;cursor:pointer;margin-bottom:12px;
  transition:all .2s;white-space:nowrap;}
.back-btn:hover{background:var(--primary);color:#fff;}
.back-btn-ic{font-size:.85rem;line-height:1;}
/* Add Asset Tabs */
.aa-tabs{display:flex;gap:4px;margin-bottom:18px;background:var(--bg);border-radius:10px;padding:4px;width:fit-content;}
.aa-tab{padding:7px 22px;border-radius:8px;border:none;background:transparent;font-size:.78rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;}
.aa-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 6px rgba(36,85,157,.13);}
.aa-tab:hover:not(.active){background:rgba(36,85,157,.06);color:var(--primary);}
/* Bulk Upload */
.bulk-drop-zone{border:2px dashed var(--border);border-radius:12px;padding:32px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);}
.bulk-drop-zone:hover,.bulk-drop-zone.dragover{border-color:var(--primary);background:var(--primary-lt);}
.bulk-stat-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:.73rem;font-weight:600;}
.bulk-row-ok{background:#F0FDF4;}
.bulk-row-err{background:#FFF5F5;}

/* ── BUTTONS ── */
.btn{padding:7px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s;}
.btn:hover{background:var(--accent-dk);}
.btn-primary{padding:7px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s;}
.btn-primary:hover{background:var(--primary-dk);}
.btn-outline{padding:6px 14px;background:#fff;color:var(--muted);border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-export{padding:6px 14px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s;}
.btn-export:hover{background:var(--primary-dk);}
.btn-sm{padding:3px 9px;font-size:12px;border-radius:5px;border:none;cursor:pointer;font-weight:700;}
.btn-sm-danger{background:#FDEDEC;color:#E63946;}.btn-sm-danger:hover{background:#E63946;color:#fff;}
.btn-sm-edit{background:#EBF5FB;color:#2471A3;border:1px solid #AED6F1;}.btn-sm-edit:hover{background:#2471A3;color:#fff;}

/* ── EDIT MODAL ── */
.edit-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:9000;display:none;align-items:center;justify-content:center;}
.edit-modal-overlay.open{display:flex;}
.edit-modal{background:#fff;border-radius:14px;padding:28px 32px;width:660px;max-width:96vw;max-height:88vh;overflow-y:auto;box-shadow:0 12px 48px rgba(0,0,0,.22);}
.edit-modal-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.edit-modal-title span{font-size:1.2rem;}
.edit-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;}
.edit-modal-grid .ef-full{grid-column:1/-1;}
.ef-group label{font-size:.76rem;color:var(--muted);font-weight:600;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em;}
.ef-group input,.ef-group select,.ef-group textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-size:.82rem;color:var(--text);background:#fff;outline:none;}
.ef-group input:focus,.ef-group select:focus,.ef-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,85,157,.1);}
.ef-group textarea{min-height:62px;resize:vertical;}
.edit-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border);}

/* ── DUE ALERTS BANNER ── */
.due-alert-bar{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px 40px 12px 14px;border-radius:10px;margin-bottom:10px;border-left:5px solid;}
.due-alert-overdue{background:#FEECEC;border-color:#E63946;}
.due-alert-urgent{background:#FEF3E2;border-color:#E67E22;}
.due-alert-due30{background:#EAF4FF;border-color:#2980B9;}
.dab-icon{font-size:1.15rem;flex-shrink:0;margin-top:1px;}
.dab-text{flex:1;min-width:180px;font-size:.87rem;line-height:1.5;}
.dab-items{width:100%;display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.dab-chip{font-size:.73rem;padding:2px 8px;border-radius:10px;font-weight:500;}
.dab-chip-red{background:#FADBD8;color:#922B21;}
.dab-chip-orange{background:#FDEBD0;color:#784212;}
.dab-chip-blue{background:#D6EAF8;color:#1A5276;}
.dab-close{position:absolute;top:8px;right:10px;background:none;border:none;cursor:pointer;font-size:1rem;color:#888;line-height:1;padding:2px 4px;border-radius:4px;}
.dab-close:hover{background:rgba(0,0,0,.08);}
.sb-due-badge{display:none;background:#E63946;color:#fff;font-size:.55rem;font-weight:900;padding:1px 5px;border-radius:8px;margin-left:4px;}
.auto-sched-badge{display:none;font-size:.62rem;font-weight:700;color:#059669;background:#D1FAE5;padding:2px 8px;border-radius:10px;margin-left:6px;vertical-align:middle;animation:autoBadgePop .25s ease;}
@keyframes autoBadgePop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}

/* ── CHECKLIST ── */
.chk-table{width:100%;border-collapse:collapse;font-size:.75rem;}
.chk-table thead tr{background:var(--primary);}
.chk-table th{padding:8px 11px;color:#fff;font-weight:700;font-size:.67rem;text-align:left;}
.chk-table th:first-child{border-radius:8px 0 0 0;}.chk-table th:last-child{border-radius:0 8px 0 0;}
.chk-table td{padding:7px 9px;border-bottom:1px solid #F5F7FA;}
.chk-table tbody tr:hover td{background:#F8FAFF;}
.radio-grp{display:flex;gap:5px;}
.radio-grp label{display:flex;align-items:center;gap:3px;cursor:pointer;padding:3px 7px;
  border-radius:5px;border:1.5px solid var(--border);font-size:.69rem;font-weight:600;transition:all .2s;}
.radio-grp input[type=radio]{display:none;}
.radio-ok:has(input:checked){background:#EAFAF1;border-color:#27AE60;color:#27AE60;}
.radio-nok:has(input:checked){background:#FDEDEC;border-color:#E63946;color:#E63946;}
.radio-na:has(input:checked){background:#F0F2F5;border-color:#95A5A6;color:#7F8C8D;}
.chk-remark{padding:4px 7px;border:1.5px solid var(--border);border-radius:5px;font-size:.69rem;width:100%;outline:none;}
.chk-remark:focus{border-color:var(--accent);}

/* ── METER DISPLAY ── */
.meter-display{background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:var(--radius);
  padding:20px;color:#fff;margin-bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.meter-stat{text-align:center;}
.meter-stat-val{font-size:1.55rem;font-weight:900;}
.meter-stat-lbl{font-size:.67rem;opacity:.8;margin-top:3px;}

/* ── ALERT BANNER ── */
.alert{padding:10px 14px;border-radius:9px;margin-bottom:13px;font-size:.77rem;font-weight:600;display:flex;align-items:center;gap:9px;}
.alert-info{background:#EEF4FB;color:#24559D;border-left:4px solid #24559D;}

/* ── UNIT CARDS ── */
/* == UNIT SUMMARY -- Enhanced UI == */
/* ── Unit grid & cards (redesigned) ── */
.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px;margin-bottom:18px;}
.unit-card{background:#fff;border-radius:16px;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.05);border:1.5px solid #E5E7EB;transition:transform .18s,box-shadow .18s;overflow:hidden;display:flex;flex-direction:column;}
.unit-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1);}
.uc-header{padding:16px 16px 12px;display:flex;align-items:flex-start;gap:10px;}
.uc-icon{width:38px;height:38px;border-radius:10px;background:#EFF6FF;border:1px solid #BFDBFE;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.uc-name{font-size:.88rem;font-weight:800;color:#111827;line-height:1.3;flex:1;}
.uc-alert-badge{display:inline-flex;align-items:center;gap:5px;font-size:.67rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0;}
.uc-alert-badge.urgent{background:#FEF2F2;color:#B91C1C;}
.uc-alert-badge.warn{background:#FFFBEB;color:#92400E;}
.uc-alert-badge.good{background:#F0FDF4;color:#166534;}
.uc-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0;}
.uc-dot-red{background:#EF4444;}.uc-dot-orange{background:#F59E0B;}.uc-dot-green{background:#22C55E;}
.uc-nums{display:grid;grid-template-columns:1fr 1fr;padding:0 16px 8px;}
.uc-num-cell{padding:2px 0;}
.uc-num{font-size:1.65rem;font-weight:800;color:#111827;line-height:1;}
.uc-num-lbl{font-size:.58rem;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.05em;margin-top:3px;}
.uc-pct-area{padding:4px 16px 12px;}
.uc-pct-track{width:100%;height:3px;background:#F3F4F6;border-radius:2px;overflow:hidden;margin-bottom:5px;}
.uc-pct-fill{height:100%;border-radius:2px;}
.uc-pct-lbl{font-size:.64rem;font-weight:600;}
.uc-maint{display:grid;grid-template-columns:1fr 1fr;padding:11px 16px 12px;border-top:1px solid #F3F4F6;gap:6px;}
.uc-maint-cell{display:flex;align-items:center;gap:7px;}
.uc-maint-icon{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.uc-maint-val{font-size:.82rem;font-weight:700;color:#111827;line-height:1;}
.uc-maint-lbl{font-size:.58rem;color:#9CA3AF;margin-top:2px;}
.uc-actions{padding:12px 16px 16px;display:flex;gap:8px;}
.uc-btn{flex:1;padding:8px 10px;border-radius:8px;font-size:.73rem;font-weight:700;border:1.5px solid #E5E7EB;background:#fff;color:#374151;cursor:pointer;transition:all .15s;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.uc-btn:hover{border-color:#93C5FD;color:#2563EB;background:#EFF6FF;}
.uc-btn.primary{background:#1E3A8A;color:#fff;border-color:#1E3A8A;}
.uc-btn.primary:hover{background:#1e40af;border-color:#1e40af;}
/* ── Unit filter bar (redesigned) ── */
.us-filter-bar{background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 1px 4px rgba(0,0,0,.05);display:flex;gap:10px;align-items:center;margin-bottom:20px;border:1.5px solid #E5E7EB;}
.us-search-wrap{position:relative;flex:1;min-width:200px;display:flex;align-items:center;}
.us-search-wrap svg{position:absolute;left:10px;pointer-events:none;color:#9CA3AF;}
.us-search-input{width:100%;padding:8px 12px 8px 32px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:.8rem;outline:none;background:#F9FAFB;color:#374151;transition:border-color .15s,background .15s;}
.us-search-input:focus{border-color:#93C5FD;background:#fff;}
.us-filter-select{padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:.8rem;color:#374151;background:#fff;outline:none;cursor:pointer;}
.us-count-badge{display:inline-flex;align-items:center;padding:6px 14px;font-size:.75rem;font-weight:600;color:#374151;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:20px;white-space:nowrap;}
.us-reset-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:.78rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s;}
.us-reset-btn:hover{background:#F9FAFB;}
.us-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:.85rem;}
.us-summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.us-stat-card{background:#fff;border-radius:16px;padding:20px 22px 16px;box-shadow:0 1px 6px rgba(0,0,0,.05);border:1.5px solid #E5E7EB;position:relative;display:flex;flex-direction:column;}
.us-sc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;}
.us-sc-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.us-sc-pct-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;}
.us-stat-num{font-size:2rem;font-weight:800;color:#111827;line-height:1;margin-bottom:5px;}
.us-stat-lbl{font-size:.63rem;font-weight:700;color:#6B7280;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;}
.us-stat-sub{font-size:.72rem;color:#9CA3AF;margin-bottom:14px;}
.us-sc-bar-row{display:flex;align-items:center;gap:8px;margin-top:auto;}
.us-sc-bar-track{flex:1;height:3px;background:#F3F4F6;border-radius:2px;overflow:hidden;}
.us-sc-bar-fill{height:100%;border-radius:2px;}
.us-sc-bar-lbl{font-size:.62rem;font-weight:600;color:#9CA3AF;white-space:nowrap;}
.us-filter-bar{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap;}
.us-search-wrap{position:relative;flex:1;min-width:200px;}
.us-search-input{width:100%;padding:9px 32px 9px 34px;border:1.5px solid var(--border);border-radius:9px;font-size:.82rem;outline:none;transition:border-color .15s;}
.us-search-input:focus{border-color:var(--primary);}
.us-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.us-filter-select{padding:9px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.82rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.us-count-badge{font-size:.72rem;color:var(--muted);white-space:nowrap;}
.us-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:.85rem;}
/* == PPM TRACKER -- Enhanced UI == */
.ppm-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.ppm-kpi{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);border-top:4px solid var(--border);}
.ppm-kpi.overdue{border-top-color:#DC2626;}
.ppm-kpi.soon{border-top-color:#D97706;}
.ppm-kpi.month{border-top-color:#2563EB;}
.ppm-kpi.total{border-top-color:#11B3AD;}
.ppm-kpi-num{font-size:1.8rem;font-weight:900;line-height:1;margin-bottom:4px;}
.ppm-kpi.overdue .ppm-kpi-num{color:#DC2626;}
.ppm-kpi.soon .ppm-kpi-num{color:#D97706;}
.ppm-kpi.month .ppm-kpi-num{color:#2563EB;}
.ppm-kpi.total .ppm-kpi-num{color:#11B3AD;}
.ppm-kpi-lbl{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.ppm-kpi-sub{font-size:.7rem;color:var(--muted);margin-top:2px;}
/* ── PPM filter bar (redesigned) ── */
.ppm-fbar{background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 1px 4px rgba(0,0,0,.05);display:flex;gap:10px;align-items:center;margin-bottom:14px;border:1.5px solid #E5E7EB;flex-wrap:wrap;}
.ppm-search-wrap{position:relative;flex:1;min-width:200px;display:flex;align-items:center;}
.ppm-search-wrap svg{position:absolute;left:10px;pointer-events:none;color:#9CA3AF;}
.ppm-search-input{width:100%;padding:8px 12px 8px 32px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:.8rem;outline:none;background:#F9FAFB;color:#374151;transition:border-color .15s,background .15s;}
.ppm-search-input:focus{border-color:#93C5FD;background:#fff;}
.ppm-filter-sel{padding:8px 14px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:.8rem;color:#374151;background:#fff;outline:none;cursor:pointer;transition:border-color .15s;}
.ppm-filter-sel:focus{border-color:#93C5FD;}
.ppm-rec-pill{display:inline-flex;align-items:center;padding:6px 14px;font-size:.75rem;font-weight:600;color:#374151;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:20px;white-space:nowrap;flex-shrink:0;}
.ppm-reset-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:.78rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0;}
.ppm-reset-btn:hover{background:#F9FAFB;}
/* ── PPM table card header ── */
.ppm-tbl-hd-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1.5px solid #F3F4F6;}
.ppm-tbl-icon{width:32px;height:32px;border-radius:9px;background:#DCFCE7;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ppm-tbl-title{font-size:.9rem;font-weight:800;color:#111827;}
.ppm-tbl-count{font-size:.72rem;font-weight:600;color:#9CA3AF;background:#F3F4F6;padding:2px 10px;border-radius:10px;margin-left:4px;}
/* ── PPM table (redesigned) ── */
.ppm-table{width:100%;border-collapse:collapse;}
.ppm-table thead tr{background:#FAFBFC;}
.ppm-table th{padding:10px 14px;text-align:left;font-size:.61rem;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:1.5px solid #E5E7EB;}
.ppm-table td{padding:13px 14px;font-size:.8rem;color:#374151;border-bottom:1px solid #F3F4F6;vertical-align:middle;}
.ppm-table tbody tr:last-child td{border-bottom:none;}
.ppm-table tbody tr:hover td{background:#F9FAFB;}
.ppm-td-num{color:#9CA3AF!important;font-size:.7rem!important;font-weight:600;width:36px;}
.ppm-td-name{font-weight:700;color:#111827!important;min-width:160px;}
.ppm-td-unit{color:#6B7280!important;font-size:.78rem!important;}
.ppm-td-date{color:#374151;font-size:.78rem!important;white-space:nowrap;}
/* ── PPM status badges ── */
.ppm-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:.67rem;font-weight:600;white-space:nowrap;}
.ppm-status.overdue{background:#FEE2E2;color:#B91C1C;}
.ppm-status.soon{background:#FEF3C7;color:#92400E;}
.ppm-status.month{background:#EFF6FF;color:#1D4ED8;}
.ppm-status.ontrack{background:#DCFCE7;color:#166534;}
.ppm-status.nodate{background:#F3F4F6;color:#6B7280;}
/* ── PPM criticality dot-badge ── */
.ppm-crit{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;font-size:.67rem;font-weight:600;}
.ppm-crit.critical{background:#FEF2F2;color:#B91C1C;}
.ppm-crit.high{background:#FFFBEB;color:#92400E;}
.ppm-crit.non-critical{background:#F0FDF4;color:#166534;}
.ppm-crit.unknown{background:#F3F4F6;color:#6B7280;}
.ppm-crit-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;display:inline-block;}
/* ── PPM frequency badge ── */
.ppm-freq{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:.67rem;font-weight:600;background:#EFF6FF;color:#1D4ED8;}
/* ── PPM schedule action button ── */
.ppm-sched-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;font-size:.72rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;cursor:pointer;white-space:nowrap;transition:all .15s;}
.ppm-sched-btn:hover{border-color:#93C5FD;color:#2563EB;background:#EFF6FF;}
/* == PPM EMAIL REMINDER == */
.ppm-email-banner{display:flex;align-items:center;gap:12px;background:#FFFBEB;border:1.5px solid #FCD34D;border-radius:11px;padding:12px 16px;margin-bottom:14px;flex-wrap:wrap;}
.ppm-email-banner-icon{font-size:1.2rem;flex-shrink:0;}
.ppm-email-banner-text{flex:1;font-size:.82rem;color:#92400E;font-weight:600;min-width:160px;}
.ppm-email-banner-text b{color:#78350F;}
.ppm-email-banner-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;background:#D97706;color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;}
.ppm-email-banner-btn:hover{background:#B45309;}
.ppm-email-banner-close{background:none;border:none;color:#D97706;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px;flex-shrink:0;line-height:1;}
.ppm-email-banner-close:hover{background:#FEF3C7;}
/* Email Modal Overlay */
.ppm-email-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:9000;align-items:center;justify-content:center;}
.ppm-email-overlay.open{display:flex;}
.ppm-email-modal{background:#fff;border-radius:16px;width:min(600px,95vw);max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.25);display:flex;flex-direction:column;}
.ppm-em-hd{padding:20px 22px 14px;border-bottom:1.5px solid #F3F4F6;display:flex;align-items:center;justify-content:space-between;}
.ppm-em-hd-left{display:flex;align-items:center;gap:10px;}
.ppm-em-hd-icon{width:36px;height:36px;background:#FFFBEB;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.ppm-em-hd-title{font-size:.95rem;font-weight:800;color:#111827;}
.ppm-em-hd-sub{font-size:.72rem;color:#6B7280;margin-top:1px;}
.ppm-em-close{background:none;border:none;font-size:1.3rem;color:#9CA3AF;cursor:pointer;padding:4px 7px;border-radius:6px;line-height:1;}
.ppm-em-close:hover{background:#F3F4F6;color:#374151;}
.ppm-em-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px;}
.ppm-em-row{display:flex;flex-direction:column;gap:5px;}
.ppm-em-lbl{font-size:.74rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.03em;}
.ppm-em-input{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:.82rem;color:#111827;outline:none;transition:border-color .15s;}
.ppm-em-input:focus{border-color:#D97706;box-shadow:0 0 0 3px rgba(217,119,6,0.1);}
.ppm-em-preview{background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:8px;padding:12px 14px;font-size:.75rem;color:#374151;line-height:1.6;white-space:pre-wrap;max-height:220px;overflow-y:auto;font-family:monospace;}
.ppm-em-summary-chips{display:flex;gap:8px;flex-wrap:wrap;}
.ppm-em-chip{padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:700;}
.ppm-em-chip.overdue{background:#FEE2E2;color:#B91C1C;}
.ppm-em-chip.soon{background:#FEF3C7;color:#92400E;}
.ppm-em-chip.total{background:#DCFCE7;color:#166534;}
.ppm-em-ft{padding:14px 22px 18px;border-top:1.5px solid #F3F4F6;display:flex;gap:10px;justify-content:flex-end;}
.ppm-em-send-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;background:#D97706;color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:800;cursor:pointer;transition:background .15s;}
.ppm-em-send-btn:hover{background:#B45309;}
.ppm-em-cancel-btn{padding:9px 18px;background:#F9FAFB;color:#374151;border:1.5px solid #E5E7EB;border-radius:9px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;}
.ppm-em-cancel-btn:hover{background:#F3F4F6;}
/* == PPM LOG FORM -- Enhanced UI == */
.pl-section{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:18px;}
.pl-section-hd{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1.5px solid var(--border);}
.pl-section-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#11B3AD);color:#fff;font-size:.78rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pl-section-title{font-size:1rem;font-weight:800;color:var(--text);}
.pl-section-sub{font-size:.72rem;color:var(--muted);margin-top:1px;}
.pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pl-grid.full{grid-template-columns:1fr;}
.pl-label{font-size:.75rem;font-weight:700;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.pl-req{font-size:.58rem;background:#E63946;color:#fff;border-radius:4px;padding:1px 5px;font-weight:700;}
.pl-input,.pl-select,.pl-textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.82rem;color:var(--text);background:#fff;outline:none;transition:border-color .15s;font-family:inherit;}
.pl-input:focus,.pl-select:focus,.pl-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,85,157,.08);}
.pl-textarea{resize:vertical;min-height:90px;line-height:1.5;}
.pl-auto-badge{display:none;font-size:.65rem;font-weight:700;background:#D1FAE5;color:#065F46;border-radius:12px;padding:2px 8px;margin-left:6px;}
.pl-dismiss-alert{background:#EEF4FB;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:.78rem;color:#24559D;font-weight:600;}
.pl-dismiss-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:#94A3B8;font-size:1rem;line-height:1;padding:2px 6px;border-radius:4px;}
.pl-dismiss-btn:hover{background:#E2E8F0;color:var(--text);}
.ph-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ph-top-row .ph-back-btn{margin-bottom:0;}
.ppl-info-banner{background:#FFFBEB;border:1.5px solid #FDE68A;border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.ppl-info-icon{width:32px;height:32px;background:#FEF3C7;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ppl-info-body{flex:1;}
.ppl-info-title{font-size:13px;font-weight:700;color:#92400E;margin-bottom:3px;}
.ppl-info-sub{font-size:12px;color:#78350F;line-height:1.5;}
.ppl-info-close{margin-left:auto;background:none;border:none;cursor:pointer;color:#94A3B8;padding:2px 4px;border-radius:4px;flex-shrink:0;line-height:1;}
.ppl-info-close:hover{background:#FEF3C7;color:#78350F;}
.pl-btn-row{display:flex;justify-content:flex-end;gap:10px;padding-top:6px;}
.pl-success{background:#ECFDF5;border:1.5px solid #A7F3D0;border-radius:12px;padding:18px 22px;display:none;margin-bottom:18px;animation:plFadeIn .3s ease;}
@keyframes plFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pl-success-title{font-size:1rem;font-weight:800;color:#065F46;margin-bottom:4px;}
.pl-success-sub{font-size:.78rem;color:#047857;margin-bottom:14px;}
.pl-success-actions{display:flex;gap:10px;}
.pl-success-btn{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid #A7F3D0;background:#fff;color:#065F46;transition:all .15s;}
.pl-success-btn:hover{background:#D1FAE5;}
.pl-hist-fbar{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.pl-hist-sel{padding:8px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.pl-hist-date{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;}
/* == PPM LOG FORM REDESIGN == */
.pl-layout{display:flex;gap:20px;align-items:flex-start;}
.pl-main{flex:1;min-width:0;}
.pl-sidebar{width:220px;flex-shrink:0;position:sticky;top:24px;}
@media(max-width:800px){.pl-layout{flex-direction:column;}.pl-sidebar{width:100%;position:static;}}
.pl-sb-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow);}
.pl-sb-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:10px;padding-bottom:8px;border-bottom:1.5px solid var(--border);}
.pl-prog-step{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid #F3F4F6;}
.pl-prog-step:last-child{border-bottom:none;}
.pl-prog-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px;}
.pl-prog-num.ps-active{background:#1E3A8A;color:#fff;}
.pl-prog-num.ps-inactive{background:#F3F4F6;color:#9CA3AF;}
.pl-prog-name{font-size:12px;font-weight:700;color:var(--text);}
.pl-prog-name.ps-inactive{color:var(--muted);}
.pl-prog-sub{font-size:10px;color:var(--muted);margin-top:1px;}
.pl-tip-item{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--text);line-height:1.4;padding:5px 0;}
.pl-tip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.pl-section-num.pl-sn-blue{background:#1E3A8A;}
.pl-section-num.pl-sn-green{background:#15803D;}
.pl-section-num.pl-sn-purple{background:#7C3AED;}
.pl-section-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pl-section-icon.pl-sn-blue{background:#DBEAFE;color:#1D4ED8;}
.pl-section-icon.pl-sn-green{background:#DCFCE7;color:#15803D;}
.pl-section-icon.pl-sn-purple{background:#EDE9FE;color:#7C3AED;}
.pl-section-num.pl-sn-orange{background:#B45309;}
.pl-section-icon.pl-sn-orange{background:#FEF3C7;color:#D97706;}
.pl-section-num.pl-sn-red{background:#B91C1C;}
.pl-section-icon.pl-sn-red{background:#FEE2E2;color:#EF4444;}
.pl-section-num.pl-sn-teal{background:#0F766E;}
.pl-section-icon.pl-sn-teal{background:#CCFBF1;color:#0D9488;}
.pl-hint{font-size:11px;color:var(--muted);margin-top:4px;}
.pl-step-bar{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;box-shadow:var(--shadow);}
.pl-step-dots{display:flex;align-items:center;}
.pl-sd{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.pl-sd-active{background:#1E3A8A;}
.pl-sd-inactive{background:#E5E7EB;}
.pl-sd-line{width:28px;height:2px;background:#E5E7EB;flex-shrink:0;}
.pl-step-lbl{font-size:12px;color:var(--muted);font-weight:600;margin-left:12px;}
.pl-hfbar{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:12px 18px;display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap;box-shadow:var(--shadow);}
.pl-hfbar-lbl{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;}
.pl-hfbar-sel{padding:6px 10px;border:1.5px solid var(--border);border-radius:7px;font-size:12px;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.pl-hfbar-date{padding:6px 10px;border:1.5px solid var(--border);border-radius:7px;font-size:12px;color:var(--text);background:#fff;outline:none;width:120px;}
.pl-hfbar-reset{padding:6px 14px;border:1.5px solid var(--border);border-radius:7px;font-size:12px;font-weight:600;background:#fff;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
.pl-hfbar-reset:hover{background:#F3F4F6;}
.pl-hist-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--border);}
.pl-hist-title-group{display:flex;align-items:center;gap:10px;}
.pl-hist-icon{width:30px;height:30px;background:#DCFCE7;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pl-hist-title{font-size:13px;font-weight:800;color:var(--text);}
.pl-hist-count{font-size:11px;background:#F3F4F6;color:var(--muted);padding:3px 10px;border-radius:20px;font-weight:600;}
.pl-empty{text-align:center;padding:36px 20px;}
.pl-empty-icon{width:44px;height:44px;background:#F3F4F6;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.pl-empty-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;}
.pl-empty-sub{font-size:12px;color:var(--muted);}
/* == AMC TRACKER -- Enhanced UI == */
.amc-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.amc-kpi{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);border-top:4px solid var(--border);}
.amc-kpi.total{border-top-color:#11B3AD;}
.amc-kpi.expiring{border-top-color:#D97706;}
.amc-kpi.expired{border-top-color:#DC2626;}
.amc-kpi.active{border-top-color:#16A34A;}
.amc-kpi-num{font-size:1.8rem;font-weight:900;line-height:1;margin-bottom:4px;}
.amc-kpi.total .amc-kpi-num{color:#11B3AD;}
.amc-kpi.expiring .amc-kpi-num{color:#D97706;}
.amc-kpi.expired .amc-kpi-num{color:#DC2626;}
.amc-kpi.active .amc-kpi-num{color:#16A34A;}
.amc-kpi-lbl{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.amc-kpi-sub{font-size:.7rem;color:var(--muted);margin-top:2px;}
.amc-fbar{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:12px 18px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.amc-search-wrap{position:relative;flex:1;min-width:200px;}
.amc-search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.amc-search-input{width:100%;padding:8px 10px 8px 34px;border:1.5px solid var(--border);border-radius:9px;font-size:.82rem;outline:none;transition:border-color .15s;background:#fff;}
.amc-search-input:focus{border-color:var(--primary);}
.amc-filter-sel{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.82rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.amc-filter-sel:focus{border-color:var(--primary);}
.amc-rec-pill{display:inline-flex;align-items:center;padding:6px 14px;font-size:.72rem;font-weight:600;color:#374151;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:20px;white-space:nowrap;}
.amc-reset-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:.78rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s;}
.amc-reset-btn:hover{background:#F9FAFB;}
.amc-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap;}
.amc-status .amc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.amc-status.active{background:#D1FAE5;color:#065F46;}
.amc-status.active .amc-dot{background:#16A34A;}
.amc-status.expiring{background:#FEF3C7;color:#92400E;}
.amc-status.expiring .amc-dot{background:#D97706;}
.amc-status.critical{background:#FEE2E2;color:#B91C1C;}
.amc-status.critical .amc-dot{background:#EF4444;}
.amc-status.expired{background:#FEE2E2;color:#B91C1C;}
.amc-status.expired .amc-dot{background:#EF4444;}
.amc-status.nodate{background:#F3F4F6;color:#9CA3AF;}
.amc-freq{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.68rem;font-weight:700;}
.amc-freq.freq-quarterly{background:#EDE9FE;color:#7C3AED;}
.amc-freq.freq-monthly{background:#DBEAFE;color:#1D4ED8;}
.amc-freq.freq-yearly{background:#DCFCE7;color:#15803D;}
.amc-freq.freq-other{background:#F3F4F6;color:#6B7280;}
.ar-crit{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap;}
.ar-crit.critical{background:#FEE2E2;color:#B91C1C;}
.ar-crit.critical::before{content:'';width:6px;height:6px;border-radius:50%;background:#EF4444;flex-shrink:0;}
.ar-crit.high{background:#FEF3C7;color:#92400E;}
.ar-crit.high::before{content:'';width:6px;height:6px;border-radius:50%;background:#F59E0B;flex-shrink:0;}
.ar-crit.non-critical{background:#F3F4F6;color:#6B7280;}
#amcBody tr:hover td{background:#F8FAFF;}
#amcBody td{padding:11px 12px;vertical-align:middle;}
.amc-tbl-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--border);}
.amc-tbl-title-group{display:flex;align-items:center;gap:10px;}
.amc-tbl-icon{width:30px;height:30px;background:#EDE9FE;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.amc-tbl-title{font-size:13px;font-weight:800;color:var(--text);}
.amc-tbl-count{font-size:11px;background:#F3F4F6;color:var(--muted);padding:3px 10px;border-radius:20px;font-weight:600;}
.amc-view-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:.72rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:7px;cursor:pointer;transition:all .15s;}
.amc-view-btn:hover{border-color:var(--primary);color:var(--primary);}
/* == AMC LOG FORM -- Enhanced UI == */
.al-star-row{display:flex;gap:6px;align-items:center;margin-top:4px;}
.al-star{font-size:1.4rem;cursor:pointer;color:#D1D5DB;transition:color .15s;line-height:1;}
.al-star.on{color:#F59E0B;}
.al-star:hover,.al-star:hover~.al-star{color:#D1D5DB;}
.al-cost-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.al-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.82rem;font-weight:700;color:var(--muted);pointer-events:none;}
.al-cost-input{padding-left:28px;}
.al-success{background:#ECFDF5;border:1.5px solid #A7F3D0;border-radius:12px;padding:18px 22px;display:none;margin-bottom:18px;animation:plFadeIn .3s ease;}
.al-success-title{font-size:1rem;font-weight:800;color:#065F46;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.al-success-sub{font-size:.78rem;color:#047857;margin-bottom:14px;}
.al-success-actions{display:flex;gap:10px;}
.al-success-btn{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid #A7F3D0;background:#fff;color:#065F46;transition:all .15s;}
.al-success-btn:hover{background:#D1FAE5;}
.al-hist-fbar{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.al-hist-sel{padding:8px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.al-hist-date{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;}
/* == CALIBRATION -- Enhanced UI == */
.cb-result-pass{background:#D1FAE5;color:#065F46;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:800;}
.cb-result-fail{background:#FEE2E2;color:#B91C1C;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:800;}
.cb-result-cond{background:#FEF3C7;color:#92400E;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:800;}
.cb-result-oot{background:#F1F5F9;color:#64748B;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:800;}
.cb-success{background:#ECFDF5;border:1.5px solid #A7F3D0;border-radius:12px;padding:18px 22px;display:none;margin-bottom:18px;animation:plFadeIn .3s ease;}
.cb-success-title{font-size:1rem;font-weight:800;color:#065F46;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.cb-success-sub{font-size:.78rem;color:#047857;margin-bottom:14px;}
.cb-success-actions{display:flex;gap:10px;}
.cb-success-btn{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid #A7F3D0;background:#fff;color:#065F46;transition:all .15s;}
.cb-success-btn:hover{background:#D1FAE5;}
.cb-env-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;}
.cb-hist-fbar{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.cb-hist-sel{padding:8px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.cb-hist-date{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;}
/* == WORK ORDERS -- Redesigned UI == */
/* Header buttons */
.wo-btn-export{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px solid var(--primary);background:#fff;color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;}
.wo-btn-export:hover{background:var(--primary-lt);}
.wo-btn-new{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px rgba(0,102,178,.25);}
.wo-btn-new:hover{background:var(--primary-dk);}
/* KPI Cards */
.wo-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.wo-kpi-card{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;align-items:center;gap:16px;}
.wo-kpi-card--yellow{justify-content:flex-end;}
.wo-kpi-card-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wo-kpi-card-content{flex:1;}
.wo-kpi-card-label{font-size:.62rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;}
.wo-kpi-card-value{font-size:1.9rem;font-weight:900;line-height:1;color:#111827;margin-bottom:3px;}
.wo-kpi-card-sub{font-size:.68rem;color:var(--muted);}
/* Legacy compat */
.wo-kpi{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);border-top:4px solid var(--border);}
.wo-kpi-num{font-size:1.8rem;font-weight:900;line-height:1;margin-bottom:4px;}
.wo-kpi-lbl{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.wo-kpi-sub{font-size:.7rem;color:var(--muted);margin-top:2px;}
.wo-num-display{background:linear-gradient(135deg,var(--primary-lt),#E0F2FE);border:1.5px solid #BFDBFE;border-radius:9px;padding:10px 14px;display:flex;align-items:center;gap:10px;}
.wo-num-label{font-size:.65rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;}
.wo-num-value{font-size:1.1rem;font-weight:900;color:var(--primary);letter-spacing:.04em;}
.wo-priority{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:800;white-space:nowrap;}
.wo-priority.critical{background:#FEE2E2;color:#B91C1C;}
.wo-priority.high{background:#FEF3C7;color:#92400E;}
.wo-priority.medium{background:#DBEAFE;color:#1E40AF;}
.wo-priority.low{background:#D1FAE5;color:#065F46;}
.wo-status{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap;}
.wo-status.open{background:#FEE2E2;color:#B91C1C;}
.wo-status.progress{background:#FEF3C7;color:#92400E;}
.wo-status.closed{background:#D1FAE5;color:#065F46;}
.wo-status.waiting{background:#E0F2FE;color:#0369A1;}
.wo-status.other{background:#F1F5F9;color:#64748B;}
.wo-chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}
.wo-chk-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.78rem;cursor:pointer;}
.wo-chk-item input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;}
.wo-cost-calc{background:var(--bg);border-radius:10px;padding:12px 16px;margin-top:12px;border:1.5px solid var(--border);}
.wo-cost-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.8rem;}
.wo-cost-row.total{border-top:1.5px solid var(--border);margin-top:6px;padding-top:8px;font-weight:800;font-size:.9rem;color:var(--primary);}
.wo-success{background:#ECFDF5;border:1.5px solid #A7F3D0;border-radius:12px;padding:18px 22px;display:none;margin-bottom:18px;animation:plFadeIn .3s ease;}
.wo-success-title{font-size:1rem;font-weight:800;color:#065F46;margin-bottom:4px;}
.wo-success-sub{font-size:.78rem;color:#047857;margin-bottom:12px;}
.wo-success-actions{display:flex;gap:10px;}
.wo-success-btn{padding:7px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid #A7F3D0;background:#fff;color:#065F46;transition:all .15s;}
.wo-success-btn:hover{background:#D1FAE5;}
.wo-hist-fbar{background:#fff;border-radius:12px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.wo-hist-sel{padding:8px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;cursor:pointer;}
.wo-hist-date{padding:8px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.8rem;color:var(--text);background:#fff;outline:none;}
/* ===== DAILY CHECKLIST UPGRADE ===== */
.dc-kpi-bar{display:flex;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.dc-kpi{flex:1;min-width:140px;background:#fff;border-radius:10px;padding:14px 18px;border-top:3px solid #e5e7eb;box-shadow:var(--shadow);}
.dc-kpi.ok{border-top-color:#10B981;}.dc-kpi.issues{border-top-color:#EF4444;}.dc-kpi.na{border-top-color:#6B7280;}.dc-kpi.total{border-top-color:#6366F1;}
.dc-kpi-lbl{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.dc-kpi-val{font-size:1.8rem;font-weight:800;color:var(--dark);line-height:1.1;margin:4px 0 2px;}
.dc-kpi-sub{font-size:.7rem;color:var(--muted);}
.dc-progress-wrap{background:#fff;border-radius:10px;padding:12px 18px;margin-bottom:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;}
.dc-progress-bar{flex:1;height:10px;background:#E5E7EB;border-radius:5px;overflow:hidden;}
.dc-progress-fill{height:100%;background:linear-gradient(90deg,#10B981,#34D399);border-radius:5px;transition:width .4s;}
.dc-progress-label{font-size:.78rem;font-weight:700;color:var(--dark);white-space:nowrap;}
.dc-status-ok{display:inline-block;background:#D1FAE5;color:#065F46;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:700;}
.dc-status-nok{display:inline-block;background:#FEE2E2;color:#991B1B;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:700;}
.dc-status-na{display:inline-block;background:#F3F4F6;color:#6B7280;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:700;}
.dc-status-attn{display:inline-block;background:#FEF3C7;color:#92400E;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:700;}
.dc-radio-grp{display:flex;gap:4px;flex-wrap:wrap;}
.dc-radio-grp label{cursor:pointer;padding:3px 9px;border-radius:6px;font-size:.7rem;font-weight:600;border:1.5px solid #e5e7eb;background:#f9fafb;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;}
.dc-radio-grp input[type=radio]{width:12px;height:12px;margin:0;}
.dc-radio-grp label:has(input:checked).dc-rl-ok{background:#D1FAE5;color:#065F46;border-color:#10B981;}
.dc-radio-grp label:has(input:checked).dc-rl-nok{background:#FEE2E2;color:#991B1B;border-color:#EF4444;}
.dc-radio-grp label:has(input:checked).dc-rl-na{background:#F3F4F6;color:#6B7280;border-color:#9CA3AF;}
.dc-radio-grp label:has(input:checked).dc-rl-attn{background:#FEF3C7;color:#92400E;border-color:#F59E0B;}
.dc-issue-row{display:none;background:#FFF7F7;border:1px solid #FECACA;border-radius:6px;padding:6px 10px;margin-top:4px;}
.dc-issue-row.show{display:block;}
.dc-issue-sev{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.dc-issue-sev strong{font-size:.7rem;color:var(--dark);}
.dc-issue-sev label{font-size:.7rem;cursor:pointer;display:inline-flex;align-items:center;gap:3px;}
.dc-empty{text-align:center;padding:30px 20px;background:#F8FAFC;border-radius:12px;border:2px dashed #CBD5E1;margin-top:10px;}
.dc-empty-icon{font-size:2.5rem;margin-bottom:8px;}
.dc-empty-steps{text-align:left;display:inline-block;margin:8px 0;font-size:.8rem;color:var(--muted);line-height:2;}
.dc-success{display:none;background:linear-gradient(135deg,#D1FAE5,#A7F3D0);border:1.5px solid #6EE7B7;border-radius:12px;padding:16px 20px;margin:12px 0;animation:fadeIn .4s;}
.dc-success-hd{font-size:1rem;font-weight:700;color:#065F46;margin-bottom:8px;}
.dc-success-row{display:flex;gap:10px;flex-wrap:wrap;}
.dc-success-btn{padding:7px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:#065F46;border:1.5px solid #10B981;}
.dc-hist-fbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#fff;border-radius:10px 10px 0 0;border-bottom:1px solid var(--border);}
.dc-hist-sel,.dc-hist-date{height:32px;border:1.5px solid var(--border);border-radius:6px;padding:0 8px;font-size:.78rem;background:#fff;}
/* == DAILY CHECKLIST REDESIGN == */
.dc-pg-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.dc-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1.5px solid #E5E7EB;background:#fff;color:#374151;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;}
.dc-back-btn:hover{background:#F9FAFB;}
.dc-btn-export{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px solid var(--primary);background:#fff;color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;}
.dc-btn-export:hover{background:var(--primary-lt);}
.dc-btn-new{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px rgba(0,102,178,.25);}
.dc-btn-new:hover{background:var(--primary-dk);}
.dc-pg-icon{width:42px;height:42px;background:#EFF6FF;border-radius:10px;border:1.5px solid #BFDBFE;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.dc-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.dc-kpi-card{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;flex-direction:column;}
.dc-kpi-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0;}
.dc-kpi-card-val{font-size:2rem;font-weight:900;line-height:1;margin-bottom:6px;color:#111827;}
.dc-kpi-card-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px;}
.dc-kpi-card-sub{font-size:.68rem;color:var(--muted);flex:1;margin-bottom:14px;}
.dc-kpi-card-bar-track{height:4px;background:#F3F4F6;border-radius:2px;overflow:hidden;margin-bottom:4px;}
.dc-kpi-card-bar{height:100%;border-radius:2px;transition:width .4s;}
.dc-kpi-card-bar-lbl{font-size:.62rem;color:var(--muted);}
.dc-section-hd{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1.5px solid var(--border);margin-bottom:18px;}
.dc-section-icon{width:30px;height:30px;border-radius:8px;background:#EFF6FF;color:#2563EB;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dc-section-title{font-size:1rem;font-weight:800;color:var(--text);line-height:1.2;}
.dc-section-sub{font-size:.72rem;color:var(--muted);margin-top:1px;}
.dc-ready-box{background:#F8F9FA;border-radius:12px;padding:40px 24px;text-align:center;margin-top:16px;}
.dc-ready-icon{width:52px;height:52px;background:#EFF6FF;border-radius:12px;border:1.5px solid #BFDBFE;display:flex;align-items:center;justify-content:center;color:#2563EB;margin:0 auto 16px;}
.dc-ready-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:16px;}
.dc-ready-steps{list-style:none;padding:0;text-align:left;display:inline-flex;flex-direction:column;gap:10px;}
.dc-ready-step{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted);}
.dc-ready-step-num{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dc-filter-bar{background:#fff;border-radius:12px;padding:12px 18px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.dc-filter-group{display:flex;align-items:center;gap:7px;}
.dc-filter-lbl{font-size:.75rem;font-weight:700;color:var(--muted);white-space:nowrap;}
.dc-filter-sel{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;cursor:pointer;}
.dc-filter-input{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;}
.dc-filter-reset{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--border);background:#fff;color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;}
.dc-filter-reset:hover{background:#F9FAFB;}
.dc-hist-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.dc-hist-hd{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.dc-hist-hd-icon{width:32px;height:32px;background:#EFF6FF;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.dc-hist-hd-title{font-size:.9rem;font-weight:800;color:var(--text);}
.dc-hist-count{margin-left:auto;background:#F3F4F6;color:#6B7280;border-radius:20px;padding:3px 12px;font-size:.72rem;font-weight:700;}
.dc-hist-empty{padding:48px 24px;text-align:center;}
.dc-hist-empty-icon{width:52px;height:52px;background:#F3F4F6;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:#9CA3AF;}
.dc-hist-empty-title{font-size:.9rem;font-weight:700;color:#374151;margin-bottom:4px;}
.dc-hist-empty-sub{font-size:.78rem;color:#9CA3AF;}
.dc-hist-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#FAFAFA;}
.dc-hist-showing{font-size:.75rem;color:var(--muted);}
/* ===== METER READING UPGRADE ===== */
.mr-prev-box{background:#EFF6FF;border:1.5px solid #BFDBFE;border-radius:8px;padding:10px 14px;font-size:.78rem;color:#1E3A8A;margin-top:6px;display:none;}
.mr-prev-box strong{font-size:1.05rem;font-weight:800;}
.mr-prev-box .mr-prev-meta{font-size:.7rem;color:#3B82F6;margin-top:3px;}
/* == METER READING REDESIGN == */
.mr-pg-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.mr-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1.5px solid #E5E7EB;background:#fff;color:#374151;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;}
.mr-back-btn:hover{background:#F9FAFB;}
.mr-btn-export{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px solid var(--primary);background:#fff;color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;}
.mr-btn-new{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px rgba(0,102,178,.25);}
.mr-pg-icon{width:42px;height:42px;background:#FFF7ED;border-radius:10px;border:1.5px solid #FED7AA;display:flex;align-items:center;justify-content:center;color:#EA580C;flex-shrink:0;}
.mr-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.mr-kpi-card{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;flex-direction:column;}
.mr-kpi-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0;}
.mr-kpi-card-val{font-size:2rem;font-weight:900;line-height:1;margin-bottom:6px;color:#111827;}
.mr-kpi-card-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px;}
.mr-kpi-card-sub{font-size:.68rem;color:var(--muted);flex:1;}
.mr-section-hd{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1.5px solid var(--border);margin-bottom:18px;}
.mr-section-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mr-section-title{font-size:1rem;font-weight:800;color:var(--text);line-height:1.2;}
.mr-section-sub{font-size:.72rem;color:var(--muted);margin-top:1px;}
.mr-type-grp{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.mr-type-pill{position:relative;flex:1;min-width:100px;}
.mr-type-pill input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.mr-type-pill label{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border:2px solid #E5E7EB;border-radius:10px;background:#F9FAFB;cursor:pointer;transition:all .18s;text-align:center;width:100%;box-sizing:border-box;}
.mr-type-pill label .mr-tp-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.mr-type-pill label .mr-tp-name{font-size:.78rem;font-weight:700;color:#374151;}
.mr-type-pill label .mr-tp-unit{font-size:.62rem;color:var(--muted);}
.mr-type-pill input[type=radio]:checked + label{border-color:var(--primary);background:#EFF6FF;}
.mr-type-pill.mr-elec input[type=radio]:checked + label{border-color:#3B82F6;background:#EFF6FF;}
.mr-type-pill.mr-diesel input[type=radio]:checked + label{border-color:#F97316;background:#FFF7ED;}
.mr-type-pill.mr-water input[type=radio]:checked + label{border-color:#06B6D4;background:#ECFEFF;}
.mr-type-pill.mr-gas input[type=radio]:checked + label{border-color:#22C55E;background:#F0FDF4;}
.mr-cond-grp-new{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.mr-cond-pill{position:relative;}
.mr-cond-pill input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.mr-cond-pill label{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #E5E7EB;border-radius:8px;background:#F9FAFB;cursor:pointer;transition:all .18s;font-size:.78rem;font-weight:600;color:#374151;}
.mr-cond-pill.mr-good input[type=radio]:checked + label{border-color:#10B981;background:#D1FAE5;color:#065F46;}
.mr-cond-pill.mr-fair input[type=radio]:checked + label{border-color:#F59E0B;background:#FEF3C7;color:#92400E;}
.mr-cond-pill.mr-maint input[type=radio]:checked + label{border-color:#EF4444;background:#FEE2E2;color:#991B1B;}
.mr-cond-pill.mr-faulty input[type=radio]:checked + label{border-color:#DC2626;background:#FEE2E2;color:#7F1D1D;}
.mr-calc-card{background:linear-gradient(135deg,#F0FDF4,#D1FAE5);border:1.5px solid #6EE7B7;border-radius:12px;padding:16px 18px;margin-top:14px;}
.mr-calc-card .mr-calc-formula{font-size:.82rem;font-weight:700;color:#065F46;margin-bottom:10px;font-family:monospace;}
.mr-calc-card .mr-calc-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;padding:4px 0;border-bottom:1px solid rgba(16,185,129,.2);}
.mr-calc-card .mr-calc-row:last-of-type{border-bottom:none;}
.mr-calc-card .mr-calc-total{font-size:1.1rem;font-weight:900;color:#15803D;margin-top:10px;padding-top:10px;border-top:2px solid #6EE7B7;}
.mr-charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px;}
.mr-chart-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.mr-chart-hd{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;}
.mr-chart-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:10px;}
.mr-chart-title{font-size:.9rem;font-weight:800;color:var(--text);}
.mr-chart-sub{font-size:.72rem;color:var(--muted);margin-top:2px;}
.mr-filter-bar{background:#fff;border-radius:12px;padding:12px 18px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.mr-filter-lbl{font-size:.75rem;font-weight:700;color:var(--muted);white-space:nowrap;}
.mr-filter-sel{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;cursor:pointer;}
.mr-filter-input{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;}
.mr-filter-reset{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--border);background:#fff;color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;margin-left:auto;}
.mr-hist-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.mr-hist-hd{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.mr-hist-hd-icon{width:32px;height:32px;background:#FFF7ED;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#EA580C;flex-shrink:0;}
.mr-hist-hd-title{font-size:.9rem;font-weight:800;color:var(--text);}
.mr-hist-count-badge{margin-left:auto;background:#F3F4F6;color:#6B7280;border-radius:20px;padding:3px 12px;font-size:.72rem;font-weight:700;}
.mr-hist-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#FAFAFA;}
.mr-hist-showing{font-size:.75rem;color:var(--muted);}
.mr-calc-box{background:#F0FDF4;border:1.5px solid #BBF7D0;border-radius:8px;padding:10px 14px;font-size:.78rem;color:#14532D;margin-top:6px;display:none;}
.mr-calc-box .mr-calc-formula{font-size:.82rem;font-weight:700;margin-bottom:6px;}
.mr-calc-box .mr-calc-row{display:flex;justify-content:space-between;font-size:.75rem;padding:2px 0;}
.mr-calc-box .mr-calc-total{font-size:.95rem;font-weight:800;color:#15803D;border-top:1px solid #BBF7D0;padding-top:6px;margin-top:4px;}
.mr-warn{background:#FEF3C7;border:1.5px solid #FCD34D;border-radius:8px;padding:10px 14px;font-size:.78rem;color:#92400E;margin-top:6px;display:none;}
.mr-warn-hd{font-weight:700;margin-bottom:4px;font-size:.82rem;}
.mr-cond-grp{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.mr-cond-grp label{cursor:pointer;padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:600;border:1.5px solid #e5e7eb;background:#f9fafb;display:inline-flex;align-items:center;gap:4px;}
.mr-cond-grp label:has(input:checked){background:#D1FAE5;color:#065F46;border-color:#10B981;}
.mr-cond-grp label:has(input[value="Faulty"]:checked){background:#FEE2E2;color:#991B1B;border-color:#EF4444;}
.mr-cond-grp label:has(input[value="Needs Maintenance"]:checked){background:#FEF3C7;color:#92400E;border-color:#F59E0B;}
.mr-success{display:none;background:linear-gradient(135deg,#D1FAE5,#A7F3D0);border:1.5px solid #6EE7B7;border-radius:12px;padding:16px 20px;margin:12px 0;animation:fadeIn .4s;}
.mr-success-hd{font-size:1rem;font-weight:700;color:#065F46;margin-bottom:8px;}
.mr-success-row{display:flex;gap:10px;flex-wrap:wrap;}
.mr-success-btn{padding:7px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:#065F46;border:1.5px solid #10B981;}
/* ===== SHIFT HANDOVER - DARK GLASSMORPHISM THEME ===== */
.sh-dark-card{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:var(--shadow);border:1px solid #E5E7EB;margin-bottom:20px;}
.sh-progress{display:flex;gap:0;margin-bottom:28px;position:relative;}
.sh-progress::before{content:'';position:absolute;top:18px;left:0;right:0;height:2px;background:#E2E8F0;z-index:0;}
.sh-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1;}
.sh-step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;border:2px solid #E2E8F0;background:#F1F5F9;color:#94a3b8;transition:all .3s;}
.sh-step.active .sh-step-circle{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 12px rgba(0,102,178,.3);}
.sh-step.done .sh-step-circle{background:#D1FAE5;border-color:#10B981;color:#10B981;}
.sh-step-lbl{font-size:.65rem;color:var(--muted);text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.sh-step.active .sh-step-lbl{color:var(--primary);}
.sh-step.done .sh-step-lbl{color:#10B981;}
.sh-section-hd{display:flex;align-items:center;gap:10px;padding:16px 0 14px;border-bottom:1.5px solid var(--border);margin-bottom:18px;margin-top:8px;}
.sh-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.sh-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.sh-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sh-lbl{font-size:.7rem;font-weight:600;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em;display:block;}
.sh-lbl .sh-req{color:#f87171;}
.sh-input,.sh-select{width:100%;padding:9px 12px;background:#F9FAFB;border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:.82rem;outline:none;transition:border-color .2s;}
.sh-input:focus,.sh-select:focus{border-color:var(--primary);background:#EFF6FF;}
.sh-input::placeholder{color:#9CA3AF;}
.sh-select option{background:#fff;color:var(--text);}
.sh-textarea{width:100%;padding:10px 12px;background:#F9FAFB;border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:.8rem;resize:vertical;min-height:90px;outline:none;transition:border-color .2s;font-family:inherit;}
.sh-textarea:focus{border-color:var(--primary);background:#EFF6FF;}
.sh-textarea::placeholder{color:#9CA3AF;}
/* Shift Pills */
.sh-shift-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px;}
.sh-pill{cursor:pointer;padding:14px 10px;border-radius:10px;border:2px solid #E5E7EB;background:#F9FAFB;text-align:center;transition:all .2s;}
.sh-pill:hover{border-color:var(--primary);background:#EFF6FF;}
.sh-pill.selected{border-color:var(--primary);background:#EFF6FF;box-shadow:0 2px 8px rgba(0,102,178,.15);}
.sh-pill-icon{font-size:1.2rem;margin-bottom:4px;}
.sh-pill-name{font-size:.75rem;font-weight:700;color:#374151;}
.sh-pill-time{font-size:.62rem;color:#64748b;margin-top:2px;}
.sh-pill.selected .sh-pill-name{color:var(--primary);}
.sh-pill.selected .sh-pill-time{color:var(--primary);}
/* Equipment Cards */
.sh-eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sh-eq-card{border-radius:12px;padding:16px;border:1.5px solid;}
.sh-eq-card.running{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.06);}
.sh-eq-card.breakdown{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.06);}
.sh-eq-card.pending{border-color:rgba(0,212,170,.4);background:rgba(0,212,170,.06);}
.sh-eq-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.sh-eq-badge{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em;}
.sh-eq-badge.running{background:rgba(16,185,129,.2);color:#10b981;}
.sh-eq-badge.breakdown{background:rgba(245,158,11,.2);color:#f59e0b;}
.sh-eq-badge.pending{background:rgba(0,212,170,.2);color:#00d4aa;}
.sh-eq-title{font-size:.72rem;font-weight:700;color:var(--dark,var(--text));}
/* Status Button Group */
.sh-status-grp{display:flex;gap:10px;margin-top:6px;}
.sh-status-btn{flex:1;padding:11px;border-radius:10px;border:1.5px solid var(--border);background:#F9FAFB;color:var(--muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;text-align:center;}
.sh-status-btn:hover{transform:translateY(-1px);}
.sh-status-btn.sel-normal{background:rgba(16,185,129,.2);border-color:#10b981;color:#10b981;box-shadow:0 0 20px rgba(16,185,129,.2);}
.sh-status-btn.sel-caution{background:rgba(245,158,11,.2);border-color:#f59e0b;color:#f59e0b;box-shadow:0 0 20px rgba(245,158,11,.2);}
.sh-status-btn.sel-critical{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444;box-shadow:0 0 20px rgba(239,68,68,.2);}
/* Actions Footer */
.sh-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);}
.sh-footer-left{display:flex;gap:10px;}
.sh-footer-right{display:flex;gap:10px;}
.sh-btn{padding:10px 22px;border-radius:10px;font-size:.82rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;}
.sh-btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--muted);}
.sh-btn-ghost:hover{border-color:#94a3b8;color:var(--text);}
.sh-btn-draft{background:#F8FAFC;border:1.5px solid var(--border);color:var(--muted);}
.sh-btn-draft:hover{background:rgba(0,212,170,.25);}
.sh-btn-submit{background:var(--primary);color:#fff;box-shadow:0 4px 16px rgba(0,102,178,.3);}
.sh-btn-submit:hover{background:var(--primary-dk);transform:translateY(-1px);}
.sh-success{display:none;background:linear-gradient(135deg,rgba(0,212,170,.15),rgba(0,212,170,.08));border:1.5px solid rgba(0,212,170,.4);border-radius:12px;padding:16px 20px;margin:12px 0;animation:fadeIn .4s;}
.sh-success-hd{font-size:1rem;font-weight:700;color:#00d4aa;margin-bottom:8px;}
.sh-success-row{display:flex;gap:10px;flex-wrap:wrap;}
.sh-success-btn{padding:7px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;background:rgba(0,212,170,.15);color:#00d4aa;border:1.5px solid rgba(0,212,170,.4);}
/* hidden status input */
#shStatus{display:none;}

/* == SHIFT HANDOVER REDESIGN == */
.sh-pg-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.sh-back-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1.5px solid #E5E7EB;background:#fff;color:#374151;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;}
.sh-back-btn:hover{background:#F9FAFB;}
.sh-btn-export2{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1.5px solid var(--primary);background:#fff;color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;}
.sh-btn-new{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px rgba(0,102,178,.25);}
.sh-pg-icon{width:42px;height:42px;background:#EFF6FF;border-radius:10px;border:1.5px solid #BFDBFE;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.sh-section-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sh-section-title{font-size:1rem;font-weight:800;color:var(--text);line-height:1.2;}
.sh-section-sub{font-size:.72rem;color:var(--muted);margin-top:1px;}
.sh-eq-card.running{border-color:#A7F3D0;background:#F0FDF4;}
.sh-eq-card.breakdown{border-color:#FED7AA;background:#FFF7ED;}
.sh-eq-card.pending{border-color:#BFDBFE;background:#EFF6FF;}
.sh-eq-hd-new{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px 8px 0 0;margin:-16px -16px 12px -16px;}
.sh-eq-hd-new.running{background:#D1FAE5;}
.sh-eq-hd-new.breakdown{background:#FED7AA;}
.sh-eq-hd-new.pending{background:#DBEAFE;}
.sh-hist-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #E5E7EB;}
.sh-hist-hd{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.sh-hist-hd-icon{width:32px;height:32px;background:#EFF6FF;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#2563EB;flex-shrink:0;}
.sh-hist-hd-title{font-size:.9rem;font-weight:800;color:var(--text);}
.sh-hist-count-badge{margin-left:auto;background:#F3F4F6;color:#6B7280;border-radius:20px;padding:3px 12px;font-size:.72rem;font-weight:700;}
.sh-hist-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#FAFAFA;}
.sh-hist-showing{font-size:.75rem;color:var(--muted);}
.sh-filter-bar{background:#fff;border-radius:12px;padding:12px 18px;box-shadow:var(--shadow);border:1px solid #E5E7EB;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.sh-filter-lbl{font-size:.75rem;font-weight:700;color:var(--muted);white-space:nowrap;}
.sh-filter-sel{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;cursor:pointer;}
.sh-filter-input{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-size:.78rem;background:#fff;color:var(--text);outline:none;}
.sh-filter-reset{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--border);background:#fff;color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;margin-left:auto;}


/* ── CATEGORY CARDS ── */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(162px,1fr));gap:12px;margin-bottom:18px;}
.cat-card{background:#fff;border-radius:14px;padding:20px 16px 16px;box-shadow:0 1px 4px rgba(0,0,0,.05);border:1.5px solid #E5E7EB;cursor:pointer;text-align:center;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;flex-direction:column;align-items:center;}
.cat-card:hover{border-color:#93C5FD;box-shadow:0 4px 14px rgba(37,99,235,.12);transform:translateY(-3px);}
.cat-card.cat-active{border-color:#2563EB;box-shadow:0 4px 14px rgba(37,99,235,.18);}
.cat-icon-badge{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:11px;flex-shrink:0;}
.cat-name{font-size:.72rem;font-weight:600;color:#6B7280;margin-bottom:6px;line-height:1.3;}
.cat-count{font-size:1.65rem;font-weight:800;color:#111827;line-height:1;}
.cat-sub{font-size:.63rem;margin-top:5px;min-height:14px;}
.cat-sub-critical{color:#EF4444;display:flex;align-items:center;justify-content:center;gap:3px;}
.cat-sub-none{color:#9CA3AF;}
/* ── Category filter bar (redesigned) ── */
.cat-fbar{display:flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:12px;border:1.5px solid #E5E7EB;box-shadow:0 1px 4px rgba(0,0,0,.04);margin-bottom:14px;flex-wrap:wrap;}
.cat-fbar-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#9CA3AF;flex-shrink:0;}
.cat-fbar-search{position:relative;display:flex;align-items:center;}
.cat-fbar-search svg{position:absolute;left:9px;color:#9CA3AF;pointer-events:none;}
.cat-fbar-search input{padding:6px 10px 6px 30px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:.78rem;outline:none;background:#F9FAFB;color:#374151;width:220px;transition:border-color .15s,background .15s;}
.cat-fbar-search input:focus{border-color:#93C5FD;background:#fff;}
.cat-fbar-reset{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;font-size:.76rem;font-weight:600;color:#374151;background:#fff;border:1.5px solid #D1D5DB;border-radius:8px;cursor:pointer;transition:background .15s;}
.cat-fbar-reset:hover{background:#F9FAFB;}
.cat-fbar-hint{font-size:.72rem;color:#9CA3AF;flex:1;}
.cat-fbar-count{display:inline-flex;align-items:center;padding:5px 13px;font-size:.76rem;font-weight:600;color:#374151;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:20px;flex-shrink:0;}

/* ── CHARTS GRID ── */
.charts-g2{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px;}
.charts-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:16px;}

/* ── PAGE FOOTER ── */
.page-footer{padding:14px 26px;font-size:.67rem;color:var(--muted);background:#fff;
  border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.page-footer img{height:18px;opacity:.4;}

/* ── RESPONSIVE ── */
@media(max-width:1300px){.kpi-r6{grid-template-columns:repeat(3,1fr);}.kpi-r7{grid-template-columns:repeat(4,1fr);}}
@media(max-width:1100px){.db-row-73{grid-template-columns:1fr;}.db-row-55{grid-template-columns:1fr;}.db-row-64{grid-template-columns:1fr;}}
@media(max-width:900px){.kpi-r6{grid-template-columns:repeat(2,1fr);}.kpi-r4{grid-template-columns:repeat(2,1fr);}
  .charts-g2,.charts-g3{grid-template-columns:1fr;}.form-grid{grid-template-columns:1fr 1fr;}
  .form-grid-4{grid-template-columns:1fr 1fr;}.meter-display{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.kpi-r6,.kpi-r4{grid-template-columns:1fr 1fr;}}

/* ── BULK UPLOAD MODAL ── */
.bu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;}
.bu-modal{background:#fff;border-radius:16px;width:100%;max-width:860px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.25);}
.bu-modal-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1.5px solid #E5E7EB;flex-shrink:0;}
.bu-modal-title{display:flex;align-items:center;gap:10px;}
.bu-modal-title h2{font-size:1.1rem;font-weight:800;color:#111827;margin:0;}
.bu-modal-title .bu-icon{width:36px;height:36px;background:#EFF6FF;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563EB;}
.bu-close{background:none;border:none;cursor:pointer;color:#6B7280;font-size:20px;padding:4px 8px;border-radius:8px;line-height:1;}
.bu-close:hover{background:#F3F4F6;color:#111827;}
.bu-modal-body{padding:20px 24px;overflow-y:auto;flex:1;}
.bu-steps{display:flex;gap:0;margin-bottom:20px;border:1.5px solid #E5E7EB;border-radius:10px;overflow:hidden;}
.bu-step{flex:1;padding:10px 14px;font-size:12px;font-weight:600;color:#6B7280;background:#F9FAFB;text-align:center;border-right:1.5px solid #E5E7EB;transition:all .2s;}
.bu-step:last-child{border-right:none;}
.bu-step.active{background:#EFF6FF;color:#2563EB;}
.bu-step.done{background:#F0FDF4;color:#16A34A;}
.bu-step span{display:block;font-size:10px;font-weight:400;margin-top:2px;opacity:.8;}
.bu-drop{border:2px dashed #CBD5E1;border-radius:12px;padding:36px 20px;text-align:center;cursor:pointer;transition:all .2s;background:#FAFAFA;margin-bottom:16px;}
.bu-drop:hover,.bu-drop.drag-over{border-color:#2563EB;background:#EFF6FF;}
.bu-drop-icon{width:48px;height:48px;background:#EFF6FF;border-radius:12px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;color:#2563EB;}
.bu-drop h3{font-size:.95rem;font-weight:700;color:#111827;margin-bottom:4px;}
.bu-drop p{font-size:.78rem;color:#6B7280;}
.bu-drop input[type=file]{display:none;}
.bu-tpl-type-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.bu-tpl-type-btn:hover{filter:brightness(.93);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.12);}
.bu-tpl-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#16A34A;color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .2s;}
.bu-tpl-btn:hover{background:#15803D;}
.bu-stats{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.bu-stat{flex:1;min-width:100px;background:#F9FAFB;border:1.5px solid #E5E7EB;border-radius:10px;padding:10px 14px;text-align:center;}
.bu-stat-val{font-size:1.4rem;font-weight:900;line-height:1;margin-bottom:3px;}
.bu-stat-lbl{font-size:.7rem;color:#6B7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.bu-stat.stat-total .bu-stat-val{color:#374151;}
.bu-stat.stat-valid .bu-stat-val{color:#16A34A;}
.bu-stat.stat-error .bu-stat-val{color:#DC2626;}
.bu-filter-bar{display:flex;gap:6px;margin-bottom:10px;}
.bu-filter-btn{padding:5px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:.75rem;font-weight:600;background:#fff;cursor:pointer;transition:all .2s;color:#6B7280;}
.bu-filter-btn.active{background:#2563EB;color:#fff;border-color:#2563EB;}
.bu-preview-wrap{overflow-x:auto;border:1.5px solid #E5E7EB;border-radius:10px;margin-bottom:16px;max-height:260px;overflow-y:auto;}
.bu-preview-tbl{width:100%;border-collapse:collapse;font-size:.72rem;}
.bu-preview-tbl thead{position:sticky;top:0;z-index:2;}
.bu-preview-tbl th{background:#F9FAFB;padding:8px 10px;text-align:left;font-weight:700;color:#6B7280;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:1.5px solid #E5E7EB;}
.bu-preview-tbl td{padding:7px 10px;border-bottom:1px solid #F5F7FA;color:#374151;vertical-align:top;}
.bu-preview-tbl tbody tr:hover td{background:#F8FAFF;}
.bu-preview-tbl tbody tr.row-valid td:first-child{border-left:3px solid #16A34A;}
.bu-preview-tbl tbody tr.row-error td:first-child{border-left:3px solid #DC2626;}
.bu-err-pills{display:flex;flex-wrap:wrap;gap:3px;}
.bu-err-pill{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA;border-radius:4px;padding:2px 6px;font-size:.62rem;font-weight:600;}
.bu-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.65rem;font-weight:700;white-space:nowrap;}
.bu-badge-ok{background:#DCFCE7;color:#15803D;}
.bu-badge-err{background:#FEE2E2;color:#B91C1C;}
.bu-modal-ft{padding:14px 24px;border-top:1.5px solid #E5E7EB;display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;}
.bu-btn{padding:9px 20px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1.5px solid transparent;transition:all .2s;display:flex;align-items:center;gap:6px;}
.bu-btn-outline{background:#fff;border-color:#E5E7EB;color:#374151;}
.bu-btn-outline:hover{background:#F9FAFB;}
.bu-btn-primary{background:#0066B2;color:#fff;border-color:#0066B2;}
.bu-btn-primary:hover{background:#004D8C;}
.bu-btn-primary:disabled{opacity:.5;cursor:not-allowed;}
.bu-btn-tpl{background:#F0FDF4;color:#16A34A;border-color:#BBF7D0;}
.bu-btn-tpl:hover{background:#DCFCE7;}

/* ══ QR CODE MODAL ══ */
.qr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9500;display:none;align-items:center;justify-content:center;}
.qr-overlay.open{display:flex;}
.qr-modal{background:#fff;border-radius:18px;width:340px;max-width:95vw;padding:28px 24px 22px;box-shadow:0 24px 64px rgba(0,0,0,.3);text-align:center;}
.qr-modal-asset{font-size:1rem;font-weight:800;color:#111827;margin-bottom:2px;}
.qr-modal-unit{font-size:.76rem;color:#6B7280;margin-bottom:16px;}
.qr-canvas-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.qr-code-pill{font-family:monospace;font-size:.82rem;background:#F3F4F6;border-radius:6px;padding:5px 14px;display:inline-block;color:#374151;margin-bottom:10px;letter-spacing:.5px;}
.qr-scan-hint{font-size:.68rem;color:#9CA3AF;margin-bottom:18px;line-height:1.5;}
.qr-modal-btns{display:flex;gap:10px;justify-content:center;}
.qr-dl-btn{padding:9px 20px;background:#2563EB;color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;}
.qr-dl-btn:hover{background:#1D4ED8;}
.qr-cl-btn{padding:9px 20px;background:#F3F4F6;color:#374151;border:none;border-radius:9px;font-size:.82rem;font-weight:600;cursor:pointer;}
.qr-cl-btn:hover{background:#E5E7EB;}

/* ══ MOBILE QR SCAN ACTION POPUP ══ */
.qrs-overlay{position:fixed;inset:0;background:#0B1120;z-index:9999;display:none;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;}
.qrs-overlay.open{display:flex;}
.qrs-hospital-icon{font-size:2.6rem;margin-bottom:6px;}
.qrs-brand{font-size:.75rem;font-weight:700;color:#38BDF8;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.qrs-asset-name{font-size:1.25rem;font-weight:800;color:#F1F5F9;text-align:center;margin-bottom:6px;line-height:1.3;}
.qrs-code-badge{font-family:monospace;font-size:.8rem;color:#94A3B8;background:rgba(255,255,255,.07);padding:4px 14px;border-radius:20px;margin-bottom:4px;display:inline-block;}
.qrs-unit{font-size:.73rem;color:#475569;margin-bottom:28px;text-align:center;}
.qrs-prompt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#334155;margin-bottom:14px;}
.qrs-btns{display:flex;flex-direction:column;gap:11px;width:100%;max-width:310px;}
.qrs-btn{padding:15px 18px;border:none;border-radius:14px;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:14px;text-align:left;-webkit-tap-highlight-color:transparent;transition:filter .15s;}
.qrs-btn:active{filter:brightness(.88);}
.qrs-btn-icon{font-size:1.5rem;flex-shrink:0;}
.qrs-btn-body{flex:1;}
.qrs-btn-sub{font-size:.69rem;font-weight:400;opacity:.78;display:block;margin-top:2px;}
.qrs-chk{background:#0D9488;color:#fff;}
.qrs-ppm{background:#2563EB;color:#fff;}
.qrs-amc{background:#D97706;color:#fff;}
.qrs-footer{margin-top:26px;font-size:.62rem;color:#1E293B;text-align:center;line-height:1.7;}

/* ══ BULK QR MODAL ══ */
.bqr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9600;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;}
.bqr-overlay.open{display:flex;}
.bqr-modal{background:#fff;border-radius:18px;width:100%;max-width:880px;padding:28px 28px 24px;box-shadow:0 24px 64px rgba(0,0,0,.3);}
.bqr-modal-hd{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px;}
.bqr-modal-title{font-size:1.05rem;font-weight:800;color:#111827;}
.bqr-modal-sub{font-size:.75rem;color:#6B7280;margin-top:3px;}
.bqr-modal-actions{display:flex;gap:8px;flex-shrink:0;}
.bqr-pdf-btn{padding:9px 20px;background:#2563EB;color:#fff;border:none;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s;}
.bqr-pdf-btn:hover{background:#1D4ED8;}
.bqr-cl-btn{padding:9px 16px;background:#F3F4F6;color:#374151;border:none;border-radius:9px;font-size:.82rem;font-weight:600;cursor:pointer;}
.bqr-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;}
.bqr-item{border:1.5px solid #E5E7EB;border-radius:12px;padding:14px 12px 10px;text-align:center;width:148px;background:#FAFAFA;}
.bqr-qr-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:8px;}
.bqr-asset-name{font-size:.72rem;font-weight:700;color:#111827;line-height:1.3;word-break:break-word;}
.bqr-code-pill{font-family:monospace;font-size:.68rem;background:#EFF6FF;color:#1D4ED8;border-radius:4px;padding:2px 8px;margin-top:4px;display:inline-block;}
.bqr-unit{font-size:.62rem;color:#9CA3AF;margin-top:3px;}
/* ── LOGIN OVERLAY ── */
#mhel-login-overlay{
  position:fixed;inset:0;z-index:99999;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(163,210,232,0.55) 0%, transparent 48%),
    radial-gradient(ellipse at 100% 100%, rgba(160,225,205,0.45) 0%, transparent 48%),
    #EDE8DF;
  display:flex;align-items:center;justify-content:center;
  font-family:'Inter','Lato',sans-serif;
}
#mhel-login-overlay.hidden{display:none;}
.login-card{
  background:#fff;
  border-radius:22px;
  padding:40px 44px 36px;
  width:100%;max-width:420px;
  box-shadow:0 8px 40px rgba(0,0,0,0.10),0 2px 8px rgba(0,0,0,0.06);
  display:flex;flex-direction:column;align-items:center;
}
/* Logo + title block */
.login-header{
  display:flex;flex-direction:column;align-items:center;
  margin-bottom:8px;width:100%;
}
.login-mh-logo{
  height:52px;width:auto;object-fit:contain;margin-bottom:14px;
  display:block;
}
.login-title{
  font-size:1.12rem;font-weight:700;color:#111827;
  letter-spacing:-.2px;text-align:center;line-height:1.3;
}
.login-subtitle{
  font-size:.76rem;color:#E5680A;
  margin-top:4px;text-align:center;font-weight:500;
}
/* Divider */
.login-divider{
  width:100%;height:1px;background:#E5E7EB;
  margin:20px 0;
}
/* Form */
.login-form{width:100%;}
.login-field{width:100%;margin-bottom:16px;}
.login-field label{
  display:block;font-size:.76rem;font-weight:500;
  color:#374151;margin-bottom:6px;
}
.login-input-wrap{position:relative;width:100%;}
.login-input-icon{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:#9CA3AF;pointer-events:none;display:flex;align-items:center;
}
.login-input-wrap input{
  width:100%;padding:11px 14px 11px 38px;
  border:1.5px solid #E5E7EB;border-radius:10px;
  font-size:.875rem;color:#111827;outline:none;
  background:#fff;transition:border-color .2s,box-shadow .2s;
  font-family:inherit;
}
.login-input-wrap input::placeholder{color:#9CA3AF;}
.login-input-wrap input:focus{
  border-color:#2563EB;
  box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.login-input-wrap input.login-input-error{
  border-color:#DC2626;
  box-shadow:0 0 0 3px rgba(220,38,38,.1);
}
/* Error */
.login-error{
  width:100%;background:#FEF2F2;border:1px solid #FECACA;
  border-radius:8px;padding:8px 12px;
  font-size:.75rem;color:#DC2626;font-weight:500;
  display:none;margin-bottom:12px;text-align:center;
}
/* Sign in button */
.login-btn{
  width:100%;padding:12px 20px;
  background:#1E3A8A;
  color:#fff;border:none;border-radius:10px;
  font-size:.9rem;font-weight:600;
  cursor:pointer;transition:background .2s,transform .15s;
  font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:2px;
}
.login-btn:hover{background:#1e40af;transform:translateY(-1px);}
.login-btn:active{transform:translateY(0);}
/* Bottom footer */
.login-footer-row{
  display:flex;align-items:center;gap:8px;
  font-size:.72rem;color:#9CA3AF;margin-top:6px;
}
.login-version-badge{
  display:inline-flex;align-items:center;
  border:1.5px solid #D1D5DB;border-radius:20px;
  padding:2px 10px;font-size:.7rem;color:#6B7280;font-weight:600;
  background:#F9FAFB;
}
/* Logout button */
#mhel-logout-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:20px;
  background:#FEF2F2;color:#DC2626;font-size:.74rem;font-weight:700;
  border:1.5px solid #FECACA;cursor:pointer;transition:all .18s;
  font-family:inherit;
}
#mhel-logout-btn:hover{background:#FEE2E2;}

/* ══════════════════════════════════════════════
   MOBILE FIXES — Complete responsive overhaul
══════════════════════════════════════════════ */

/* 1. iOS momentum scrolling on content area */
.content-area{
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

/* 2. Mobile sidebar — slide-in overlay */
#mob-backdrop{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.45);z-index:4999;
  backdrop-filter:blur(2px);
}
#mob-backdrop.show{display:block;}

/* 3. Login card — handle virtual keyboard on mobile */
@media(max-width:600px){
  #mhel-login-overlay{
    align-items:flex-start;
    padding:20px 16px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .login-card{
    margin-top:auto;margin-bottom:auto;
    padding:28px 22px 24px;
  }
}

/* ═══════════════════════════════════════════════════════════
   PULL TO REFRESH
═══════════════════════════════════════════════════════════ */
.ptr-indicator{
  position:absolute; top:0; left:0; right:0;
  display:flex; align-items:center; justify-content:center; gap:8px;
  height:0; overflow:hidden;
  background:var(--bg,#F4F0E8);
  transition:height .2s ease;
  z-index:100; pointer-events:none;
  font-size:.8rem; font-weight:600; color:#2563EB;
}
.ptr-indicator.ptr-visible{ height:56px; }
.ptr-indicator.ptr-refreshing{ height:56px; }
.ptr-spinner{
  width:20px; height:20px; border-radius:50%;
  border:2.5px solid #BFDBFE;
  border-top-color:#2563EB;
  flex-shrink:0;
  transition:transform .15s ease;
}
.ptr-refreshing .ptr-spinner{
  animation:ptr-spin .7s linear infinite;
}
@keyframes ptr-spin{ to{ transform:rotate(360deg); } }
[data-theme="dark"] .ptr-indicator{ color:#60A5FA; }
[data-theme="dark"] .ptr-spinner{ border-color:#1E3A5F; border-top-color:#60A5FA; }

/* ═══════════════════════════════════════════════════════════
   MOBILE BOTTOM NAV
═══════════════════════════════════════════════════════════ */
.mob-bottom-nav{
  display:none; /* hidden on desktop */
}
@media(max-width:768px){
  .mob-bottom-nav{
    display:flex;
    position:fixed; bottom:0; left:0; right:0;
    z-index:4000;
    background:#fff;
    border-top:1px solid #E5E7EB;
    box-shadow:0 -4px 20px rgba(0,0,0,.10);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    align-items:flex-end; justify-content:space-around;
  }
  [data-theme="dark"] .mob-bottom-nav{
    background:#0F172A; border-top-color:#1E293B;
  }
  /* Push content area up so bottom nav doesn't overlap */
  .content-area{ padding-bottom:74px; }

  /* Each nav item */
  .mbn-item{
    display:flex; flex-direction:column; align-items:center;
    gap:3px; flex:1; padding:4px 2px;
    background:none; border:none; cursor:pointer;
    color:#9CA3AF; font-size:.62rem; font-weight:600;
    letter-spacing:.01em; transition:color .18s;
    -webkit-tap-highlight-color:transparent;
    min-width:0;
  }
  .mbn-item.active{ color:#2563EB; }
  [data-theme="dark"] .mbn-item{ color:#475569; }
  [data-theme="dark"] .mbn-item.active{ color:#60A5FA; }

  .mbn-icon{ width:22px; height:22px; flex-shrink:0; }

  /* Center FAB button */
  .mbn-center{ position:relative; top:-10px; flex:1.2; }
  .mbn-fab{
    width:50px; height:50px; border-radius:16px;
    background:linear-gradient(135deg,#2563EB,#1D4ED8);
    display:flex; align-items:center; justify-content:center;
    color:#fff; box-shadow:0 4px 14px rgba(37,99,235,.45);
    margin:0 auto 2px; transition:transform .15s, box-shadow .15s;
  }
  .mbn-center:active .mbn-fab{
    transform:scale(.93);
    box-shadow:0 2px 8px rgba(37,99,235,.35);
  }
  .mbn-center.active .mbn-fab{
    background:linear-gradient(135deg,#1D4ED8,#1E40AF);
  }
  .mbn-center{ color:#2563EB; }
  [data-theme="dark"] .mbn-center{ color:#60A5FA; }
  [data-theme="dark"] .mbn-fab{
    background:linear-gradient(135deg,#1D4ED8,#1E3A8A);
  }
}

/* ═══════════════════════════════════════════════════════════
   WHO MADE CHANGES
═══════════════════════════════════════════════════════════ */
.who-chip{
  display:inline-flex; align-items:center; gap:4px;
  font-size:.65rem; color:#6B7280; font-weight:500;
  margin-top:3px; white-space:nowrap;
}
.who-avatar{
  width:18px; height:18px; border-radius:50%;
  background:linear-gradient(135deg,#2563EB,#7C3AED);
  color:#fff; font-size:.55rem; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; letter-spacing:0;
}
.who-chip.who-edited .who-avatar{
  background:linear-gradient(135deg,#D97706,#B45309);
}
.who-name{ max-width:80px; overflow:hidden; text-overflow:ellipsis; }
.who-wrap{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
}
[data-theme="dark"] .who-chip{ color:#64748B; }

/* ═══════════════════════════════════════════════════════════
   REQUIRED FIELD HIGHLIGHTS
═══════════════════════════════════════════════════════════ */
@keyframes rf-shake{
  0%,100%{ transform:translateX(0); }
  15%{ transform:translateX(-6px); }
  35%{ transform:translateX(6px); }
  55%{ transform:translateX(-4px); }
  75%{ transform:translateX(4px); }
  90%{ transform:translateX(-2px); }
}
/* Error state for inputs and selects */
.rf-error,
.rf-error + .ss-btn {  /* also highlight smart-select button */
  border-color:#EF4444 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.18) !important;
  animation:rf-shake .4s ease;
}
/* Label hint that appears next to Required badge when error */
.pl-req.rf-req-active{
  background:#EF4444;
  animation:rf-shake .4s ease;
}
/* Smooth transition back to normal */
.pl-input.rf-ok, .pl-select.rf-ok{
  border-color:#22C55E !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.12) !important;
  transition:border-color .3s, box-shadow .3s;
}
/* Error message hint below a field */
.rf-hint{
  font-size:.7rem; color:#EF4444; font-weight:600;
  margin-top:3px; display:flex; align-items:center; gap:4px;
  animation:toast-slide-in .2s ease;
}
[data-theme="dark"] .rf-error,
[data-theme="dark"] .rf-error + .ss-btn{
  border-color:#F87171 !important;
  box-shadow:0 0 0 3px rgba(248,113,113,.18) !important;
}
[data-theme="dark"] .pl-input.rf-ok, [data-theme="dark"] .pl-select.rf-ok{
  border-color:#4ADE80 !important;
}

/* ═══════════════════════════════════════════════════════════
   INLINE EDITING
═══════════════════════════════════════════════════════════ */
.ie-cell{
  cursor:pointer;
  display:inline-flex; align-items:center; gap:4px;
  border-radius:6px;
  padding:2px 4px;
  transition:background .15s;
  position:relative;
}
.ie-cell:hover{ background:rgba(37,99,235,.08); }
.ie-cell::after{
  content:'✎';
  font-size:.6rem; opacity:0; color:#2563EB;
  transition:opacity .15s;
  line-height:1;
}
.ie-cell:hover::after{ opacity:1; }
[data-theme="dark"] .ie-cell:hover{ background:rgba(96,165,250,.1); }

/* Inline input that replaces cell content */
.ie-input{
  font-size:.82rem; font-weight:500;
  border:1.5px solid #2563EB;
  border-radius:6px; padding:3px 8px;
  outline:none; background:#fff;
  color:#111827;
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
  min-width:100px;
}
select.ie-input{ padding:3px 6px; cursor:pointer; }
input[type="date"].ie-input{ padding:2px 6px; }
[data-theme="dark"] .ie-input{
  background:#1E293B; color:#E2E8F0; border-color:#60A5FA;
  box-shadow:0 0 0 3px rgba(96,165,250,.15);
}
/* Save/cancel buttons shown next to inline input */
.ie-actions{
  display:inline-flex; align-items:center; gap:3px;
  margin-left:4px;
}
.ie-save{
  background:#2563EB; color:#fff; border:none;
  border-radius:5px; padding:3px 8px;
  font-size:.73rem; font-weight:700; cursor:pointer;
}
.ie-save:hover{ background:#1D4ED8; }
.ie-cancel{
  background:#F3F4F6; color:#6B7280; border:none;
  border-radius:5px; padding:3px 7px;
  font-size:.73rem; cursor:pointer;
}
.ie-cancel:hover{ background:#E5E7EB; }
[data-theme="dark"] .ie-cancel{ background:#334155; color:#94A3B8; }

/* ═══════════════════════════════════════════════════════════
   BULK ACTIONS
═══════════════════════════════════════════════════════════ */
/* Checkbox column header */
.ba-th{
  width:36px; text-align:center; padding:0 6px;
}
.ba-all-chk, .ba-row-chk{
  width:16px; height:16px; cursor:pointer;
  accent-color:#2563EB;
}
/* Row highlight when checked */
tr.ba-selected{
  background:rgba(37,99,235,.07) !important;
}
[data-theme="dark"] tr.ba-selected{
  background:rgba(37,99,235,.15) !important;
}

/* Floating toolbar */
.ba-toolbar{
  position:fixed;
  bottom:20px; left:50%; transform:translateX(-50%);
  z-index:8000;
  animation:ba-slide-up .22s ease;
}
@keyframes ba-slide-up{
  from{ opacity:0; transform:translateX(-50%) translateY(20px); }
  to{   opacity:1; transform:translateX(-50%) translateY(0); }
}
.ba-toolbar-inner{
  display:flex; align-items:center; gap:8px;
  background:#1E293B; color:#fff;
  border-radius:14px; padding:10px 18px;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  white-space:nowrap;
}
.ba-count{
  font-size:.82rem; font-weight:700; color:#93C5FD;
  margin-right:4px;
}
.ba-divider{
  width:1px; height:20px; background:#334155;
}
.ba-btn{
  display:flex; align-items:center; gap:5px;
  padding:6px 13px; border-radius:8px;
  font-size:.78rem; font-weight:600;
  border:none; cursor:pointer;
  transition:background .15s;
}
.ba-btn-danger{
  background:#EF4444; color:#fff;
}
.ba-btn-danger:hover{ background:#DC2626; }
.ba-btn-export{
  background:#2563EB; color:#fff;
}
.ba-btn-export:hover{ background:#1D4ED8; }
.ba-btn-clear{
  background:#334155; color:#CBD5E1;
}
.ba-btn-clear:hover{ background:#475569; }
@media(max-width:768px){
  .ba-toolbar{ bottom:calc(74px + env(safe-area-inset-bottom) + 8px); width:90%; }
  .ba-toolbar-inner{ flex-wrap:wrap; justify-content:center; }
}

/* ═══════════════════════════════════════════════════════════
   DATE PICKER SHORTCUTS
═══════════════════════════════════════════════════════════ */
.dp-panel{
  position:fixed; z-index:9600;
  background:#fff; border:1px solid #E5E7EB;
  border-radius:12px;
  box-shadow:0 8px 28px rgba(0,0,0,.15);
  padding:8px;
  min-width:200px;
}
.dp-panel-arrow{
  position:absolute; top:-6px; left:16px;
  width:12px; height:12px;
  background:#fff; border-left:1px solid #E5E7EB; border-top:1px solid #E5E7EB;
  transform:rotate(45deg);
}
.dp-presets{
  display:flex; flex-wrap:wrap; gap:5px;
}
.dp-chip{
  padding:5px 11px; border-radius:20px;
  font-size:.76rem; font-weight:600;
  cursor:pointer; white-space:nowrap;
  border:1.5px solid #E5E7EB;
  background:#F9FAFB; color:#374151;
  transition:background .13s, border-color .13s, color .13s;
  -webkit-tap-highlight-color:transparent;
}
.dp-chip:hover{
  background:#EFF6FF; border-color:#BFDBFE; color:#2563EB;
}
.dp-chip.dp-range{
  background:#FEF3C7; border-color:#FDE68A; color:#92400E;
}
.dp-chip.dp-range:hover{
  background:#FDE68A; border-color:#F59E0B; color:#78350F;
}
[data-theme="dark"] .dp-panel{
  background:#1E293B; border-color:#334155;
  box-shadow:0 8px 28px rgba(0,0,0,.4);
}
[data-theme="dark"] .dp-panel-arrow{
  background:#1E293B; border-color:#334155;
}
[data-theme="dark"] .dp-chip{
  background:#0F172A; border-color:#334155; color:#CBD5E1;
}
[data-theme="dark"] .dp-chip:hover{
  background:#1E3A5F; border-color:#2563EB; color:#60A5FA;
}
[data-theme="dark"] .dp-chip.dp-range{
  background:#1C1A0A; border-color:#78350F; color:#FCD34D;
}

/* Subtle "today" indicator on date inputs */
input[type="date"].dp-has-today::after{ content:'Today'; }

/* ═══════════════════════════════════════════════════════════
   SMART SELECT
═══════════════════════════════════════════════════════════ */
/* Hide the native select when smart UI is active */
select.ss-hidden{ position:absolute; opacity:0; pointer-events:none; width:0; height:0; }

/* The visual button replacing the native select */
.ss-btn{
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; cursor:pointer;
  background:#fff; border:1.5px solid #D1D5DB;
  border-radius:8px; padding:0 12px;
  font-size:.85rem; color:#111827; font-weight:500;
  transition:border-color .18s, box-shadow .18s;
  min-height:38px; width:100%; box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  white-space:nowrap; overflow:hidden;
}
.ss-btn:hover{ border-color:#2563EB; }
.ss-btn.ss-open{ border-color:#2563EB; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.ss-btn-text{ flex:1; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.ss-btn-text.ss-placeholder{ color:#9CA3AF; font-weight:400; }
.ss-btn-caret{
  flex-shrink:0; color:#9CA3AF;
  transition:transform .18s;
}
.ss-btn.ss-open .ss-btn-caret{ transform:rotate(180deg); }

/* For pl-select sized inputs */
.pl-select.ss-hidden + .ss-btn,
.pl-hfbar-sel.ss-hidden + .ss-btn{ height:38px; }

/* Floating panel */
.ss-panel{
  position:fixed; z-index:9500;
  background:#fff; border:1px solid #E5E7EB;
  border-radius:12px;
  box-shadow:0 8px 32px rgba(0,0,0,.16);
  min-width:220px; max-width:360px;
  overflow:hidden;
}
.ss-search-wrap{
  display:flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-bottom:1px solid #F3F4F6;
}
.ss-search-ic{ flex-shrink:0; }
.ss-search-input{
  flex:1; border:none; outline:none;
  font-size:.85rem; color:#111827;
  background:transparent;
}
.ss-opts{
  max-height:220px; overflow-y:auto;
  padding:4px 0;
}
.ss-opt{
  padding:8px 14px; cursor:pointer;
  font-size:.84rem; color:#374151;
  display:flex; align-items:center; gap:8px;
  transition:background .1s;
}
.ss-opt:hover, .ss-opt.ss-active{ background:#EFF6FF; color:#2563EB; }
.ss-opt.ss-selected{ font-weight:600; color:#1D4ED8; }
.ss-opt.ss-selected::after{
  content:'✓'; margin-left:auto;
  font-size:.8rem; color:#2563EB;
}
.ss-no-opts{
  padding:12px 14px; font-size:.82rem;
  color:#9CA3AF; text-align:center;
}
[data-theme="dark"] .ss-btn{
  background:#1E293B; border-color:#334155; color:#E2E8F0;
}
[data-theme="dark"] .ss-btn:hover,
[data-theme="dark"] .ss-btn.ss-open{ border-color:#2563EB; }
[data-theme="dark"] .ss-btn-text.ss-placeholder{ color:#475569; }
[data-theme="dark"] .ss-panel{
  background:#1E293B; border-color:#334155;
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
[data-theme="dark"] .ss-search-wrap{ border-bottom-color:#0F172A; }
[data-theme="dark"] .ss-search-input{ color:#E2E8F0; }
[data-theme="dark"] .ss-opt{ color:#CBD5E1; }
[data-theme="dark"] .ss-opt:hover,
[data-theme="dark"] .ss-opt.ss-active{ background:#0F172A; color:#60A5FA; }
[data-theme="dark"] .ss-opt.ss-selected{ color:#60A5FA; }
[data-theme="dark"] .ss-no-opts{ color:#475569; }

/* ═══════════════════════════════════════════════════════════
   BREADCRUMB BAR
═══════════════════════════════════════════════════════════ */
.mhel-breadcrumb-bar{
  background:var(--card,#fff);
  border-bottom:1px solid var(--border,#E5E7EB);
  padding:0 24px;
  height:36px;
  display:flex; align-items:center;
  position:sticky; top:56px; z-index:800;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.mhel-bc-nav{
  display:flex; align-items:center; gap:0;
  font-size:.78rem; font-weight:500;
  white-space:nowrap; overflow:hidden;
}
.mhel-bc-item{
  display:flex; align-items:center; gap:4px;
  color:#6B7280; cursor:pointer;
  padding:3px 6px; border-radius:6px;
  transition:background .15s, color .15s;
  text-decoration:none;
}
.mhel-bc-item:hover{ background:#F3F4F6; color:#111827; }
.mhel-bc-item.bc-current{
  color:#2563EB; cursor:default; font-weight:600;
}
.mhel-bc-item.bc-current:hover{ background:transparent; }
.mhel-bc-sep{
  color:#D1D5DB; font-size:.85rem;
  padding:0 1px; user-select:none;
}
[data-theme="dark"] .mhel-breadcrumb-bar{
  background:var(--card,#1E293B);
  border-bottom-color:#334155;
}
[data-theme="dark"] .mhel-bc-item{ color:#94A3B8; }
[data-theme="dark"] .mhel-bc-item:hover{ background:#0F172A; color:#E2E8F0; }
[data-theme="dark"] .mhel-bc-item.bc-current{ color:#60A5FA; }
[data-theme="dark"] .mhel-bc-sep{ color:#475569; }
/* Recently visited chips */
.mhel-breadcrumb-bar{
  justify-content:space-between;
}
.mhel-recent-pages{
  display:flex; align-items:center; gap:5px;
  flex-shrink:0; margin-left:auto; padding-left:10px;
}
.mhel-recent-lbl{
  font-size:.68rem; color:#9CA3AF; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase;
  margin-right:2px; white-space:nowrap;
}
.mhel-recent-chip{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 9px; border-radius:20px;
  background:#F3F4F6; border:1px solid #E5E7EB;
  color:#374151; font-size:.72rem; font-weight:500;
  cursor:pointer; white-space:nowrap;
  transition:background .15s, color .15s, border-color .15s;
  -webkit-tap-highlight-color:transparent;
}
.mhel-recent-chip:hover{
  background:#EFF6FF; border-color:#BFDBFE; color:#2563EB;
}
[data-theme="dark"] .mhel-recent-chip{
  background:#1E293B; border-color:#334155; color:#94A3B8;
}
[data-theme="dark"] .mhel-recent-chip:hover{
  background:#1E3A5F; border-color:#2563EB; color:#60A5FA;
}
[data-theme="dark"] .mhel-recent-lbl{ color:#475569; }
@media(max-width:768px){
  .mhel-breadcrumb-bar{ padding:0 12px; top:50px; }
  .mhel-bc-item{ padding:2px 4px; font-size:.72rem; }
  .mhel-recent-pages{ display:none; } /* hide on mobile — saves space */
}

/* ═══════════════════════════════════════════════════════════
   FLOATING ACTION BUTTON (FAB)
═══════════════════════════════════════════════════════════ */
#mhel-fab{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:3500;
  width:52px; height:52px;
  border-radius:16px;
  background:linear-gradient(135deg,#2563EB,#1D4ED8);
  color:#fff;
  border:none; cursor:pointer;
  box-shadow:0 6px 20px rgba(37,99,235,.45);
  display:flex; align-items:center; justify-content:center;
  transition:transform .18s, box-shadow .18s, opacity .2s;
  opacity:0; pointer-events:none; /* hidden by default */
}
#mhel-fab.fab-visible{
  opacity:1; pointer-events:auto;
}
#mhel-fab:active{
  transform:scale(.92);
  box-shadow:0 3px 10px rgba(37,99,235,.35);
}
@media(max-width:768px){
  #mhel-fab{
    right:16px;
    bottom:calc(74px + env(safe-area-inset-bottom) + 12px);
  }
}
[data-theme="dark"] #mhel-fab{
  background:linear-gradient(135deg,#1D4ED8,#1E3A8A);
  box-shadow:0 6px 20px rgba(37,99,235,.35);
}

/* ═══════════════════════════════════════════════════════════
   DRAFT / AUTO-SAVE
═══════════════════════════════════════════════════════════ */
.mhel-draft-banner{
  display:flex; align-items:center; gap:10px;
  background:#EFF6FF; border:1.5px solid #BFDBFE;
  border-radius:12px; padding:10px 16px; margin-bottom:14px;
  font-size:.83rem; color:#1D4ED8; font-weight:500;
  animation:toast-slide-in .25s ease;
}
[data-theme="dark"] .mhel-draft-banner{
  background:#1E2A3A; border-color:#2563EB; color:#93C5FD;
}
.mhel-draft-banner span{ flex:1; }
.mhel-draft-banner button{
  background:none; border:1.5px solid #2563EB; border-radius:7px;
  color:#2563EB; font-size:.77rem; font-weight:700;
  padding:4px 12px; cursor:pointer; white-space:nowrap;
  transition:background .15s;
}
.mhel-draft-banner button:hover{ background:#DBEAFE; }
[data-theme="dark"] .mhel-draft-banner button:hover{ background:#1E3A5F; }
.mhel-draft-indicator{
  display:inline-flex; align-items:center; gap:4px;
  font-size:.74rem; font-weight:600; color:#16A34A;
  background:#DCFCE7; padding:4px 10px; border-radius:6px;
  transition:opacity .5s; pointer-events:none;
}

/* ═══════════════════════════════════════════════════════════
   EMPTY STATES
═══════════════════════════════════════════════════════════ */
.mhel-empty{
  text-align:center; padding:48px 24px;
}
.mhel-empty-icon{
  width:64px; height:64px; border-radius:20px;
  background:#F1F5F9; color:#94A3B8;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px;
}
[data-theme="dark"] .mhel-empty-icon{ background:#1E293B; color:#475569; }
.mhel-empty-title{
  font-size:.98rem; font-weight:700;
  color:var(--text,#111827); margin-bottom:6px;
}
.mhel-empty-sub{
  font-size:.82rem; color:#9CA3AF;
  line-height:1.6; max-width:300px;
  margin:0 auto 20px;
}
.mhel-empty-btns{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.mhel-empty-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 18px; border-radius:10px;
  background:#1E3A5F; color:#fff; border:none;
  font-size:.8rem; font-weight:600; cursor:pointer;
  transition:background .15s;
}
.mhel-empty-btn:hover{ background:#24559D; }

/* ═══════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
═══════════════════════════════════════════════════════════ */
#toast-container{
  position:fixed; bottom:24px; right:24px; z-index:9999;
  display:flex; flex-direction:column; gap:10px;
  align-items:flex-end; pointer-events:none;
}
.mhel-toast{
  display:flex; align-items:center; gap:10px;
  padding:13px 14px 13px 16px; border-radius:14px;
  min-width:240px; max-width:360px;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
  font-size:.84rem; font-weight:600; color:#fff;
  pointer-events:all; position:relative; overflow:hidden;
  animation:toast-slide-in .28s ease;
}
@keyframes toast-slide-in{
  from{ transform:translateX(110%); opacity:0; }
  to  { transform:translateX(0);    opacity:1; }
}
.mhel-toast.toast-out{
  animation:toast-slide-out .28s ease forwards;
}
@keyframes toast-slide-out{
  to{ transform:translateX(110%); opacity:0; }
}
.mhel-toast.t-success{ background:#16A34A; }
.mhel-toast.t-error  { background:#DC2626; }
.mhel-toast.t-warning{ background:#D97706; }
.mhel-toast.t-info   { background:#2563EB; }
.mhel-toast-icon{ flex-shrink:0; display:flex; align-items:center; }
.mhel-toast-msg{ flex:1; line-height:1.45; word-break:break-word; }
.mhel-toast-close{
  flex-shrink:0; background:rgba(255,255,255,.22);
  border:none; border-radius:6px; color:#fff;
  width:22px; height:22px; cursor:pointer;
  font-size:15px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.mhel-toast-close:hover{ background:rgba(255,255,255,.38); }
.mhel-toast-progress{
  position:absolute; bottom:0; left:0; height:3px;
  background:rgba(255,255,255,.38); border-radius:0 0 14px 14px;
  animation:toast-progress 3.5s linear forwards;
}
@keyframes toast-progress{
  from{ width:100%; }
  to  { width:0%; }
}
@media(max-width:768px){
  #toast-container{ bottom:14px; right:10px; left:10px; align-items:stretch; }
  .mhel-toast{ min-width:0; max-width:100%; }
}

/* ═══════════════════════════════════════════════════════════
   CONFIRMATION DIALOG
═══════════════════════════════════════════════════════════ */
.mhel-confirm-overlay{
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.45); z-index:10000;
  align-items:center; justify-content:center;
  padding:20px; backdrop-filter:blur(3px);
}
.mhel-confirm-overlay.open{ display:flex; }
.mhel-confirm-card{
  background:var(--card,#fff); border-radius:22px;
  padding:32px 28px 24px; max-width:380px; width:100%;
  text-align:center; box-shadow:0 24px 64px rgba(0,0,0,.22);
  animation:mhel-cfm-in .2s ease;
}
@keyframes mhel-cfm-in{
  from{ transform:scale(.88); opacity:0; }
  to  { transform:scale(1);   opacity:1; }
}
.mhel-confirm-icon-wrap{
  width:60px; height:60px; border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px; background:#FEF2F2; color:#DC2626;
}
.mhel-confirm-icon-wrap.info{ background:#EFF6FF; color:#2563EB; }
.mhel-confirm-title{
  font-size:1.08rem; font-weight:800;
  color:var(--text,#111827); margin-bottom:8px;
}
.mhel-confirm-msg{
  font-size:.86rem; color:#6B7280;
  line-height:1.6; margin-bottom:26px;
}
.mhel-confirm-actions{ display:flex; gap:10px; }
.mhel-confirm-cancel{
  flex:1; padding:12px; border:1.5px solid #E5E7EB;
  border-radius:11px; background:transparent;
  color:var(--text,#374151); font-size:.9rem;
  font-weight:600; cursor:pointer; transition:background .15s;
}
.mhel-confirm-cancel:hover{ background:#F9FAFB; }
.mhel-confirm-ok{
  flex:1; padding:12px; border:none;
  border-radius:11px; background:#DC2626; color:#fff;
  font-size:.9rem; font-weight:700; cursor:pointer;
  transition:background .15s;
}
.mhel-confirm-ok:hover{ background:#B91C1C; }
.mhel-confirm-ok.ok-blue{ background:#2563EB; }
.mhel-confirm-ok.ok-blue:hover{ background:#1D4ED8; }
[data-theme="dark"] .mhel-confirm-cancel:hover{ background:#1E293B; }

/* ═══════════════════════════════════════════════════════════
   SKELETON / SHIMMER LOADING
═══════════════════════════════════════════════════════════ */
@keyframes skel-shine {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.skel-shimmer {
  background: linear-gradient(90deg, #F1F5F9 25%, #E2E8F0 50%, #F1F5F9 75%);
  background-size: 200% 100%;
  animation: skel-shine 1.5s infinite;
  border-radius: 6px;
  display: inline-block;
}
[data-theme="dark"] .skel-shimmer {
  background: linear-gradient(90deg, #1E293B 25%, #273548 50%, #1E293B 75%);
  background-size: 200% 100%;
  animation: skel-shine 1.5s infinite;
}
/* Table skeleton rows */
.skel-row td { padding: 12px 14px; border-bottom: 1px solid #F1F5F9; }
[data-theme="dark"] .skel-row td { border-bottom-color: #1E293B; }
.skel-cell { height: 13px; border-radius: 4px; }
/* KPI skeleton bar */
.skel-kpi-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
/* Skeleton initial loader sidebar hide on mobile */
@media(max-width:768px) {
  .mhel-skel-sidebar { display: none !important; }
  .skel-kpi-bar { grid-template-columns: 1fr 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — Complete Consolidated Responsive Styles (≤768px)
   Single block replaces all previous fragmented patches.
═══════════════════════════════════════════════════════════ */
@media(max-width:768px){

  /* ── 1. BASE LAYOUT ── */
  html,body{ height:100%; width:100%; overflow:hidden; }
  .app-body{ flex:1; min-height:0; overflow:hidden; width:100%; }
  .content-area{
    flex:1; min-height:0; width:100%;
    overflow-y:auto; overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }

  /* ── 2. TOPBAR: strip down to essential items only ── */
  .topbar{ padding:4px 6px; }
  .topbar-inner{
    padding:4px 8px; gap:6px; border-radius:10px;
    max-width:100%; width:100%;
    overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .topbar-inner::-webkit-scrollbar{ display:none; }
  /* Hide non-essential items */
  .tb-search,.tb-sep,.tb-date,.tb-help,.tb-divider,
  .tb-user-name,.tb-user-role,.tb-user-caret,
  .tb-icon-btn[title="Flag"]{ display:none !important; }
  /* Compact logo */
  .tb-logo-img{ height:28px; }
  /* User chip: avatar only */
  .tb-user{ padding:3px; background:transparent !important; border:none !important; box-shadow:none !important; gap:0; }
  .tb-avatar{ width:32px; height:32px; font-size:11px; flex-shrink:0; }
  /* Right group */
  .tb-right{ gap:4px; flex-shrink:0; }
  .dm-toggle{ width:32px; height:32px; min-width:32px; }
  .tb-icon-btn{ width:34px; height:34px; min-width:34px; }
  /* Logout: icon only */
  #mhel-logout-btn{
    padding:0 !important; width:32px !important; height:32px !important;
    min-width:32px !important; border-radius:8px !important;
    font-size:0 !important; gap:0 !important; justify-content:center !important;
  }
  #mhel-logout-btn svg{ width:16px !important; height:16px !important; font-size:14px; }
  /* QR scanner highlight */
  .tb-icon-btn[title="Scan QR Code"]{
    color:#2563EB !important; background:#EFF6FF !important; border-radius:8px !important;
  }

  /* ── 3. SIDEBAR: fixed overlay ── */
  .sidebar{
    position:fixed !important; top:0; bottom:0; left:-270px;
    width:260px !important; height:100% !important;
    z-index:5000; display:block !important;
    overflow-y:auto; overflow-x:hidden;
    -webkit-overflow-scrolling:touch; touch-action:pan-y;
    transition:left .28s ease; box-shadow:4px 0 24px rgba(0,0,0,0.3);
  }
  .sidebar .sb-nav{ flex:none; }
  .sidebar.mob-open{ left:0; }
  .sidebar.collapsed{ left:-270px; width:260px !important; }
  .sidebar.collapsed.mob-open{ left:0; }

  /* ── 4. PAGE & CARD SPACING ── */
  .page{ padding:10px 10px 36px; }
  .card{ padding:14px 12px; }
  .ph-card{ padding:12px 14px; margin-bottom:12px; overflow:visible; }
  .tbl-card{ padding:12px; }

  /* ── 5. PAGE HEADER: stack vertically ── */
  .page-hd,.ph-top-row{ flex-direction:column; align-items:flex-start; gap:8px; }
  .ph-bottom{ flex-direction:column; align-items:flex-start; gap:8px; }
  .ph-actions{ flex-wrap:wrap; gap:6px; width:100%; }
  .ph-btn-primary,.ph-btn-outline{ flex:1 1 auto; min-width:100px; font-size:.75rem; justify-content:center; }
  .ph-title,.page-hd-title{ font-size:1rem; }
  .ph-subtitle{ font-size:.72rem; }

  /* ── 6. KPI STAT BARS: 4-col → 2-col ── */
  .us-summary-bar,
  .wo-kpi-bar,
  .dc-kpi-row,
  .mr-kpi-row{ grid-template-columns:1fr 1fr !important; gap:8px !important; }
  .kpi-r6,.kpi-r4{ grid-template-columns:1fr 1fr !important; }
  .kpi-ring-card{ padding:14px 10px; min-height:120px; }
  .krc-val{ font-size:20px; }
  .ops-val{ font-size:17px; }

  /* ── 7. ALL GRIDS: single column ── */
  .form-grid,.form-grid-2,.form-grid-4{ grid-template-columns:1fr !important; }
  .db-row,.db-row-73,.db-row-55,.db-row-64{ grid-template-columns:1fr !important; }
  .charts-g2,.charts-g3,.charts-g4{ grid-template-columns:1fr !important; }
  .unit-grid,.us-unit-grid{ grid-template-columns:1fr !important; }

  /* ── 7b. PAGE-SPECIFIC FORM GRIDS: single column ── */
  /* PPM / Calibration / Work Orders / AMC form grids */
  .pl-grid{ grid-template-columns:1fr !important; gap:10px !important; }
  /* Add Asset */
  .au-field-grid,.au-field-grid-3{ grid-template-columns:1fr !important; gap:10px !important; }
  /* AMC cost row */
  .al-cost-row{ grid-template-columns:1fr !important; gap:10px !important; }
  /* Work Orders checkbox grid — keep 2-col (short labels) */
  .wo-chk-grid{ grid-template-columns:1fr 1fr !important; gap:6px !important; }
  /* Shift Handover grids */
  .sh-grid-2,.sh-grid-3,.sh-grid-4,.sh-eq-grid{ grid-template-columns:1fr !important; gap:10px !important; }
  /* Edit / modal grids */
  .edit-modal-grid{ grid-template-columns:1fr !important; gap:10px !important; }
  /* Asset Register filter groups */
  .ar-filter-groups{ grid-template-columns:1fr !important; gap:10px !important; }
  /* Maintenance Calendar — shrink cells to fit 7-col on mobile */
  #mc-grid{ gap:2px !important; }
  .mc-dow{ font-size:8px !important; padding:3px 0 !important; }
  .mc-day{ font-size:9px !important; padding:4px 1px !important; min-height:40px !important; }
  .mc-dot{ width:4px !important; height:4px !important; }
  /* QR label grid — wrap to fill width */
  .bqr-grid{ justify-content:center !important; }
  .bqr-item{ width:calc(50% - 10px) !important; min-width:130px !important; max-width:160px !important; }
  /* ── 7c. INLINE GRID ROWS: all collapse to 1-col on mobile ── */
  .ss-charts-row,.mt-charts-row,.mr-charts-row,
  .ud-charts-row,.ud-bottom-row,
  .au-bulk-grid,.ppm-email-grid,.doc-upload-grid{
    grid-template-columns:1fr !important; gap:12px !important;
  }
  /* Dashboard 6-col ops KPIs → 3-col on mobile */
  .ops-kpi-grid{ grid-template-columns:repeat(3,1fr) !important; gap:8px !important; }

  /* ── 8. FILTER ROWS: wrap ── */
  .pl-hfbar,.ph-filter-row,
  .ppm-fbar,.amc-fbar,
  .dc-filter-bar,.mr-filter-bar,
  .sh-filter-bar,.wo-hist-fbar,
  .ra-filter-row,.us-filter-bar{
    flex-wrap:wrap !important; gap:6px !important;
  }
  .pl-hfbar > *,.ph-filter-row > *,
  .ppm-fbar > *,.amc-fbar > *,
  .dc-filter-bar > *,.mr-filter-bar > *,
  .sh-filter-bar > *,.wo-hist-fbar > *,
  .ra-filter-row > *,.us-filter-bar > *{
    flex:1 1 130px !important; min-width:0 !important;
  }
  /* Fix search wraps min-width overflow on mobile */
  .ppm-search-wrap,.amc-search-wrap,.us-search-wrap{
    min-width:0 !important; width:100% !important; flex:1 1 100% !important;
  }
  /* Filter bar labels — don't stretch, keep compact */
  .pl-hfbar-lbl,.dc-filter-lbl,.mr-filter-lbl,.sh-filter-lbl,.ra-filter-lbl{
    flex:0 0 auto !important; white-space:nowrap !important;
  }
  /* Filter selects/inputs — grow to fill space */
  .pl-hfbar-sel,.pl-hfbar-date,.pl-hfbar-reset{
    flex:1 1 120px !important; min-width:0 !important; width:auto !important;
  }

  /* ── 9. TABLES: horizontal scroll within wrapper ── */
  /* All known scroll containers */
  .tbl-card,
  .preview-wrap,
  .bu-preview-wrap,
  .mr-hist-card,
  .sh-hist-card,
  .dc-hist-card {
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
  }
  /* Catch-all: any element already marked with overflow-x:auto inline */
  [style*="overflow-x:auto"],
  [style*="overflow-x: auto"] {
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
  }
  /* Force min-width on ALL tables so scroll actually triggers */
  table {
    min-width:560px !important;
  }
  /* Exception: very simple tables that don't need scroll (calendar, small modals) */
  .mc-grid table,
  .bqr-grid table {
    min-width:0 !important;
  }

  /* ── 10. INPUTS: prevent iOS zoom ── */
  input,select,textarea{ font-size:16px !important; min-height:40px; }

  /* ══════════════════════════════════════════════════════
     FORM FIELD NORMALIZATION — unified design across ALL
     pages on mobile (PPM, AMC, Calibration, WO, MR, SH,
     Add Asset, Checklist, Edit modals, generic forms)
  ══════════════════════════════════════════════════════ */

  /* ── Labels: unified across all page prefixes ── */
  .pl-label,
  .au-label,
  .sh-lbl,
  .ef-group label,
  .form-group label {
    font-size: .75rem !important;
    font-weight: 700 !important;
    color: var(--text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 5px !important;
    display: block !important;
    line-height: 1.4 !important;
  }

  /* ── Inputs / Selects / Textareas: unified ── */
  .pl-input, .pl-select, .pl-textarea,
  .sh-input, .sh-select, .sh-textarea,
  .au-input,
  .ef-group input, .ef-group select, .ef-group textarea,
  .form-group input, .form-group select, .form-group textarea {
    padding: 10px 12px !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }

  /* ── Field group wrappers: consistent column stack + gap ── */
  .au-field,
  .form-group,
  .ef-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin-bottom: 10px !important;
  }

  /* ── Shift Handover dark theme inputs: match light style ── */
  .sh-input, .sh-select, .sh-textarea {
    background: #fff !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
  }

  /* ── Required badge: uniform size ── */
  .pl-req {
    font-size: .6rem !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    vertical-align: middle !important;
  }

  /* ── Textarea: consistent min-height ── */
  .pl-textarea, .sh-textarea,
  .form-group textarea, .ef-group textarea {
    min-height: 80px !important;
    resize: vertical !important;
  }

  /* ── Field section dividers: consistent spacing ── */
  .pl-grid > div,
  .au-field-grid > div,
  .sh-grid-2 > div,
  .sh-grid-3 > div,
  .sh-grid-4 > div,
  .al-cost-row > div,
  .edit-modal-grid > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  /* ── ════════════════════════════════════════════════ ── */

  /* ── 11. DASHBOARD ── */
  #dbGreetBanner{
    flex-direction:column !important; align-items:flex-start !important;
    gap:8px; padding:12px 14px !important;
  }
  #dbGreetBanner > div:nth-child(2){ display:none !important; }
  #dbGreetBanner > div:last-child{ flex-wrap:wrap; gap:8px; }

  /* ── 12. MISC PAGE FIXES ── */
  .page-footer{ flex-direction:column; align-items:flex-start; gap:4px; padding:10px 14px; }
  .page-footer img{ display:none; }
  .sh-dark-card{ padding:14px 12px !important; }
  .sh-form-row{ flex-direction:column !important; gap:8px !important; }
  canvas{ max-height:260px; }
  .notif-panel{ width:calc(100vw - 20px); right:-10px; }
}

/* ══════════════════════════════════════════════════════
   QR CAMERA SCANNER OVERLAY
══════════════════════════════════════════════════════ */
.qrsc-overlay{
  display:none;
  position:fixed;inset:0;
  background:#0B1120;
  z-index:9500;
  flex-direction:column;
  align-items:stretch;
  overflow:hidden;
  /* Safe area insets for notch phones */
  padding-top:env(safe-area-inset-top);
  padding-bottom:env(safe-area-inset-bottom);
}
.qrsc-overlay.open{ display:flex; }

/* Header */
.qrsc-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  background:#1E3A8A;
  flex-shrink:0;
}
.qrsc-title{ color:#fff; font-weight:800; font-size:1rem; }
.qrsc-subtitle{ color:#93C5FD; font-size:.72rem; margin-top:3px; }
.qrsc-close{
  background:rgba(255,255,255,.15);
  border:none;
  border-radius:10px;
  color:#fff;
  font-size:1.4rem;
  width:38px; height:38px;
  min-width:38px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
  flex-shrink:0;
}
.qrsc-close:active{ background:rgba(255,255,255,.3); }

/* Camera body — fills all remaining space */
.qrsc-body{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#0B1120;
  padding:20px 16px 12px;
  overflow:hidden;
  position:relative;
}

/* Frame wrapper — square, responsive */
.qrsc-frame-wrap{
  position:relative;
  width:min(80vw, 300px);
  height:min(80vw, 300px);
}

/* The html5-qrcode renders video here */
.qrsc-view{
  width:100%;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  background:#000;
}

/* Force html5-qrcode video to fill container */
.qrsc-view video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:12px;
}
/* Hide html5-qrcode default border box */
.qrsc-view > div{ border:none !important; }
#qrScannerView__scan_region{ border:none !important; box-shadow:none !important; }
#qrScannerView__scan_region > img{ display:none !important; }

/* Animated corner guides */
.qrsc-corners{
  position:absolute;inset:0;
  pointer-events:none;
}
.qrsc-corner{
  position:absolute;
  width:22px; height:22px;
  border-color:#38BDF8;
  border-style:solid;
}
.qrsc-corner.tl{ top:0;left:0; border-width:3px 0 0 3px; border-radius:4px 0 0 0; }
.qrsc-corner.tr{ top:0;right:0; border-width:3px 3px 0 0; border-radius:0 4px 0 0; }
.qrsc-corner.bl{ bottom:0;left:0; border-width:0 0 3px 3px; border-radius:0 0 0 4px; }
.qrsc-corner.br{ bottom:0;right:0; border-width:0 3px 3px 0; border-radius:0 0 4px 0; }

/* Scanning line animation */
.qrsc-frame-wrap::after{
  content:'';
  position:absolute;
  left:4px; right:4px;
  height:2px;
  background:linear-gradient(90deg,transparent,#38BDF8,transparent);
  animation:qrsc-scan 2s linear infinite;
  border-radius:2px;
}
@keyframes qrsc-scan{
  0%  { top:10%; opacity:1; }
  90% { top:88%; opacity:1; }
  100%{ top:88%; opacity:0; }
}

/* Status text */
.qrsc-status{
  color:#94A3B8;
  font-size:.78rem;
  text-align:center;
  margin-top:14px;
  min-height:20px;
  font-weight:500;
}

/* Footer buttons */
.qrsc-footer{
  display:flex;
  gap:10px;
  padding:14px 16px;
  background:#0F172A;
  flex-shrink:0;
}
.qrsc-btn{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:13px 10px;
  border-radius:12px;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  min-height:48px;
  -webkit-tap-highlight-color:transparent;
  border:none;
  transition:filter .15s;
}
.qrsc-btn:active{ filter:brightness(.85); }
.qrsc-btn-cancel{
  background:rgba(255,255,255,.08);
  color:#94A3B8;
  border:1.5px solid rgba(255,255,255,.1);
}
.qrsc-btn-flip{
  background:#1D4ED8;
  color:#fff;
}

/* Desktop — show as centered modal instead of fullscreen */
@media(min-width:701px){
  .qrsc-overlay{
    background:rgba(0,0,0,.75);
    align-items:center;
    justify-content:center;
    padding:0;
  }
  .qrsc-overlay > *{
    /* Wrap all children in a card */
  }
  .qrsc-header,.qrsc-body,.qrsc-footer{
    width:min(92vw,420px);
  }
  .qrsc-header{
    border-radius:20px 20px 0 0;
  }
  .qrsc-body{
    background:#1E293B;
  }
  .qrsc-footer{
    border-radius:0 0 20px 20px;
  }
}

/* ══════════════════════════════════════════════════════
   MOBILE RESPONSIVENESS — Additional Fixes
══════════════════════════════════════════════════════ */

/* 1. Add Asset form — collapse 2-column grid to 1 column */
@media(max-width:900px){
  .au-grid{
    grid-template-columns:1fr !important;
  }
}

/* 2. Add Asset step bar — stack buttons on small screens */
@media(max-width:600px){
  .au-step-bar{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .au-step-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
  }
  .au-btn-cancel,
  .au-btn-draft,
  .au-btn-save-asset{
    flex:1;
    min-width:100px;
    justify-content:center;
  }
}

/* 3. Add Asset tabs — stack on very small screens */
@media(max-width:480px){
  .au-tabs{
    flex-direction:column;
    gap:6px;
  }
  .au-tab{
    width:100%;
    justify-content:flex-start;
  }
}

/* 4. Asset Register table — wide enough to scroll on mobile */
@media(max-width:700px){
  #regBody tr td,
  #regBody tr th{
    white-space:nowrap;
  }
  .tbl-card{
    padding:10px 8px;
  }
}

/* Blocks 5–10 removed — covered by consolidated @media(max-width:768px) block above */

/* ── LAST SYNCED CHIP ────────────────────────────── */
.ls-chip {
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:11px;
  color:var(--text-muted,#6B7280);
  background:var(--bg2,#F3F4F6);
  border:1px solid var(--border,#E5E7EB);
  border-radius:20px;
  padding:3px 8px;
  white-space:nowrap;
  cursor:default;
  transition:color .3s,background .3s;
}
.ls-chip.ls-fresh {
  color:#059669;
  background:#ECFDF5;
  border-color:#A7F3D0;
}
.ls-chip.ls-stale {
  color:#D97706;
  background:#FFFBEB;
  border-color:#FDE68A;
}
.ls-chip svg {
  flex-shrink:0;
  opacity:.75;
}
@media(max-width:768px){
  .ls-chip { display:none; }
}

/* ── DATA COMPLETENESS BADGE ─────────────────────── */
.dc-badge {
  display:inline-flex;
  align-items:center;
  font-size:10px;
  font-weight:700;
  padding:1px 5px;
  border-radius:20px;
  margin-right:4px;
  line-height:1.6;
  letter-spacing:.02em;
  flex-shrink:0;
}
.dc-green { background:#DCFCE7; color:#15803D; border:1px solid #BBF7D0; }
.dc-amber { background:#FEF9C3; color:#A16207; border:1px solid #FDE68A; }
.dc-red   { background:#FEE2E2; color:#B91C1C; border:1px solid #FECACA; }

/* ── SWIPE ACTIONS ───────────────────────────────── */
.swipe-panel {
  position:fixed;
  z-index:1200;
  display:flex;
  gap:0;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.18);
  pointer-events:auto;
}
.swipe-btn {
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 16px;
  font-size:.8rem;
  font-weight:600;
  border:none;
  cursor:pointer;
  color:#fff;
  transition:filter .15s;
}
.swipe-btn:active { filter:brightness(.85); }
.swipe-edit   { background:#2563EB; }
.swipe-delete { background:#DC2626; }

/* Row swipe feedback — slides cells left */
tr.sw-swiped td {
  transform:translateX(-120px);
  transition:transform .2s ease;
}
tr.sw-active td {
  transition:transform .1s linear;
}
