
:root{
  --primary:#2563eb; --secondary:#1e40af; --bg:#f3f4f6;
  --card:#fff; --text:#1f2937; --green:#16a34a; --red:#dc2626; --orange:#ea580c;
}
*{box-sizing:border-box;}
body{font-family:'Segoe UI',Tahoma,sans-serif;background:var(--bg);color:var(--text);margin:0;}

/* LOGIN */
#loginScreen{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#2563eb,#1e40af);}
.login-box{background:#fff;padding:35px;border-radius:14px;width:340px;box-shadow:0 10px 40px rgba(0,0,0,.3);}
.login-box h2{text-align:center;color:var(--primary);margin-top:0;}
.login-box .sub{text-align:center;font-size:.85rem;color:#666;margin-bottom:20px;}
.demo-creds{background:#f9fafb;border:1px dashed #ccc;border-radius:8px;padding:10px;font-size:.75rem;margin-top:15px;line-height:1.6;}

/* TOPBAR */
#app{display:none;}
.topbar{background:var(--primary);color:#fff;padding:12px 25px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
.topbar h1{font-size:1.1rem;margin:0;}
.topbar .user-info{font-size:.85rem;display:flex;align-items:center;gap:15px;}
.role-tag{background:rgba(255,255,255,.25);padding:3px 10px;border-radius:12px;font-size:.75rem;text-transform:uppercase;}
.logout-btn{background:#fff;color:var(--primary);border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:bold;}

/* TABS */
.tabs{display:flex;gap:5px;background:#fff;padding:0 25px;border-bottom:2px solid #e5e7eb;flex-wrap:wrap;}
.tab{padding:14px 18px;cursor:pointer;border-bottom:3px solid transparent;font-size:.9rem;font-weight:bold;color:#666;}
.tab.active{color:var(--primary);border-bottom-color:var(--primary);}

.content{padding:25px;max-width:1300px;margin:auto;}
.golden-rule{background:#fef08a;color:#854d0e;padding:10px;border-radius:8px;font-weight:bold;text-align:center;margin-bottom:20px;}

.card{background:var(--card);padding:20px;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);margin-bottom:20px;}
.card h2{margin-top:0;color:var(--primary);font-size:1.1rem;border-bottom:2px solid var(--bg);padding-bottom:10px;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.stat-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);text-align:center;}
.stat-card .num{font-size:2rem;font-weight:bold;color:var(--primary);}
.stat-card .lbl{font-size:.85rem;color:#666;}

.form-group{margin-bottom:14px;}
label{display:block;margin-bottom:5px;font-weight:bold;font-size:.85rem;}
select,input,textarea,button{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;}
button.btn{background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:bold;transition:.3s;}
button.btn:hover{background:var(--secondary);}
button.btn-green{background:var(--green);}
button.btn-red{background:var(--red);}
button.small{width:auto;padding:6px 12px;font-size:.8rem;}

table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.85rem;}
th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;}
th{background:var(--bg);font-size:.8rem;}

.rank-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:bold;white-space:nowrap;}
.rank-diamond{background:#e0e7ff;color:#3730a3;}
.rank-gold{background:#fef08a;color:#854d0e;}
.rank-silver{background:#e5e7eb;color:#374151;}
.rank-bronze{background:#ffedd5;color:#9a3412;}

.status-pill{padding:3px 9px;border-radius:12px;font-size:.72rem;font-weight:bold;}
.st-active{background:#dcfce7;color:#166534;}
.st-expired{background:#fee2e2;color:#991b1b;}
.st-closed{background:#dbeafe;color:#1e40af;}
.st-unassigned{background:#fef3c7;color:#92400e;}

.days-left{font-weight:bold;}
.days-ok{color:var(--green);}
.days-warn{color:var(--orange);}
.days-crit{color:var(--red);}

.pool-config{display:flex;align-items:center;gap:12px;background:#dbeafe;padding:15px;border-radius:8px;margin-bottom:20px;flex-wrap:wrap;}
.pool-config input{width:160px;}

.hidden{display:none!important;}
.log-item{padding:8px;border-bottom:1px solid #eee;font-size:.85rem;}
.log-item span{font-weight:bold;color:var(--primary);}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;align-items:center;justify-content:center;}
.modal{background:#fff;border-radius:12px;padding:25px;width:480px;max-width:92%;max-height:88vh;overflow-y:auto;}
.modal h3{margin-top:0;color:var(--primary);}
.close-x{float:right;cursor:pointer;font-size:1.3rem;color:#999;}
.fu-item{background:#f9fafb;border-left:3px solid var(--primary);padding:8px 12px;margin-bottom:8px;border-radius:4px;font-size:.85rem;}
.fu-item small{color:#888;}
.src-badge{padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:bold;}
.src-wa{background:#dcfce7;color:#166534;}
.src-email{background:#dbeafe;color:#1e40af;}
.src-other{background:#f3e8ff;color:#6b21a8;}
.note{font-size:.8rem;color:#666;background:#fffbeb;padding:8px;border-radius:6px;border:1px solid #fde68a;}

.warning-card{border-left:5px solid var(--orange);}
.expiry-alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px;border-radius:8px;margin:8px 0;font-size:.9rem;}

.rank-none{background:#f3f4f6;color:#6b7280;}

.bulk-box{display:flex;align-items:center;gap:10px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;padding:12px;margin:10px 0 15px 0;flex-wrap:wrap;}
.bulk-box select{width:260px;}
.note-lite{font-size:.8rem;color:#666;}
.report-filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:10px 0 18px 0;}
.report-filters input,.report-filters select{width:240px;}
.report-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.inline-report-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px;margin:12px 0 18px 0;}

.dup-warning{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid #f59e0b;
  background:#fffbeb;
  color:#92400e;
  border-radius:8px;
  font-size:.9rem;
  line-height:1.4;
}

/* Professional chart KPI summary cards */
#chartSummary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin:16px 0 18px 0;
}
.chart-summary-card{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
}
.chart-summary-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  background:#2563eb;
}
.chart-summary-card span{
  display:block;
  font-size:.78rem;
  color:#64748b;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.chart-summary-card b{
  display:block;
  font-size:1.05rem;
  color:#0f172a;
  line-height:1.35;
}
.chart-summary-card .summary-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.1rem;
  background:#dbeafe;
  color:#1d4ed8;
  flex-shrink:0;
}
.chart-summary-card.highest:before{background:#16a34a;}
.chart-summary-card.highest .summary-icon{background:#dcfce7;color:#166534;}
.chart-summary-card.lowest:before{background:#f97316;}
.chart-summary-card.lowest .summary-icon{background:#ffedd5;color:#9a3412;}
.chart-summary-card.average:before{background:#7c3aed;}
.chart-summary-card.average .summary-icon{background:#ede9fe;color:#5b21b6;}

/* Branch visit notification workflow */
.visit-alert-card{
  border:1px solid #bfdbfe;
  background:#eff6ff;
}
.visit-alert-card h2{margin-bottom:8px;}
.visit-alert-item{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid #dbeafe;
  border-radius:12px;
  padding:12px 14px;
  margin-top:10px;
  box-shadow:0 4px 12px rgba(37,99,235,.08);
}
.visit-alert-item span,.visit-alert-item small{color:#475569;line-height:1.6;}
.visit-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:230px;}
@media(max-width:700px){.visit-alert-item{display:block}.visit-actions{justify-content:flex-start;margin-top:10px;min-width:0}}

/* ===== Luxury CRM Theme Upgrade v31 ===== */
:root{
  --primary:#1d4ed8;
  --secondary:#0f172a;
  --accent:#f59e0b;
  --accent2:#22c55e;
  --bg:#eef2f7;
  --card:rgba(255,255,255,.94);
  --text:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --shadow:0 18px 45px rgba(15,23,42,.10);
  --shadow-soft:0 8px 22px rgba(15,23,42,.08);
}
html{scroll-behavior:smooth;}
body{
  font-family:Inter,'Segoe UI',Tahoma,sans-serif;
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.14),transparent 34%),
    radial-gradient(circle at top right,rgba(245,158,11,.12),transparent 32%),
    linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  color:var(--text);
  min-height:100vh;
}
#loginScreen{
  background:
    radial-gradient(circle at top left,rgba(245,158,11,.35),transparent 26%),
    radial-gradient(circle at bottom right,rgba(59,130,246,.38),transparent 30%),
    linear-gradient(135deg,#020617,#1e3a8a 58%,#2563eb);
}
.login-box{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 28px 80px rgba(2,6,23,.45);
  border-radius:24px;
  position:relative;
  overflow:hidden;
}
.login-box:before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:5px;
  background:linear-gradient(90deg,#f59e0b,#2563eb,#22c55e);
}
.login-box h2{font-size:1.55rem;color:#0f172a;}
.login-box .sub{color:#64748b;}
.demo-creds{background:#f8fafc;border-color:#cbd5e1;border-radius:14px;}

.topbar{
  background:linear-gradient(90deg,#0f172a 0%,#1d4ed8 55%,#2563eb 100%);
  padding:16px 26px;
  box-shadow:0 12px 35px rgba(15,23,42,.22);
  position:sticky;top:0;z-index:50;
}
.topbar h1{font-size:1.22rem;font-weight:900;letter-spacing:.2px;display:flex;align-items:center;gap:10px;}
.topbar h1:before{content:"◆";color:#fbbf24;font-size:.85rem;}
.topbar .user-info{font-weight:800;}
.role-tag{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);}
.logout-btn{border-radius:12px;padding:9px 18px;box-shadow:0 8px 20px rgba(255,255,255,.16);transition:.25s;}
.logout-btn:hover{transform:translateY(-1px);background:#f8fafc;}
.tabs{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  position:sticky;top:58px;z-index:40;
}
.tab{color:#475569;border-radius:14px 14px 0 0;margin-top:4px;transition:.25s;}
.tab:hover{background:#eff6ff;color:#1d4ed8;}
.tab.active{color:#1d4ed8;border-bottom-color:#f59e0b;background:linear-gradient(180deg,#eff6ff,#fff);}
.content{max-width:1360px;padding:30px;}
.golden-rule{
  background:linear-gradient(90deg,#fef3c7,#fde68a,#fff7ed);
  border:1px solid #fbbf24;
  color:#92400e;
  box-shadow:var(--shadow-soft);
  border-radius:16px;
  padding:14px 18px;
}
.card{
  background:var(--card);
  border:1px solid rgba(226,232,240,.9);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:24px;
  backdrop-filter:blur(14px);
}
.card h2{
  color:#0f172a;
  font-size:1.18rem;
  font-weight:900;
  border-bottom:1px solid var(--border);
  position:relative;
  padding-bottom:14px;
}
.card h2:after{
  content:"";position:absolute;left:0;bottom:-1px;width:86px;height:3px;border-radius:10px;
  background:linear-gradient(90deg,#f59e0b,#2563eb);
}
.stat-card{
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
  transition:.25s ease;
}
.stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#f59e0b,#2563eb,#22c55e);}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 24px 45px rgba(15,23,42,.13);}
.stat-card .num{font-size:2.15rem;background:linear-gradient(135deg,#1d4ed8,#0f172a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat-card .lbl{font-weight:700;color:#64748b;}
select,input,textarea{
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  transition:.22s;
}
select:focus,input:focus,textarea:focus{
  outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
button.btn{
  border-radius:12px;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  box-shadow:0 12px 22px rgba(37,99,235,.22);
}
button.btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(37,99,235,.28);}
button.btn-green{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 12px 22px rgba(22,163,74,.20);}
button.btn-red{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 12px 22px rgba(239,68,68,.18);}
table{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.04);}
th{background:linear-gradient(180deg,#f8fafc,#eef2ff);color:#0f172a;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
td{color:#1e293b;}
tr:hover td{background:#f8fafc;}
.status-pill,.rank-badge{border-radius:999px;padding:5px 10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.pool-config,.inline-report-box,.bulk-box{
  border-radius:18px;
  border:1px solid rgba(147,197,253,.55);
  background:linear-gradient(135deg,#eff6ff,#f8fafc);
}
.note,.dup-warning{
  border-radius:14px;
  box-shadow:0 8px 18px rgba(245,158,11,.08);
}
.modal{border-radius:24px;box-shadow:0 35px 95px rgba(2,6,23,.35);}
#chartSummary{gap:16px;}
.chart-summary-card{border-radius:20px;box-shadow:var(--shadow-soft);}
.chart-summary-card b{font-size:1.18rem;}
.visit-alert-card{background:linear-gradient(135deg,#eff6ff,#ffffff);border-radius:22px;}
.visit-alert-item{border-radius:18px;box-shadow:0 12px 24px rgba(37,99,235,.08);}
.news-item,.log-item{border-radius:12px;}
.log-item:hover{background:#f8fafc;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#e5e7eb;border-radius:999px;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#94a3b8,#475569);border-radius:999px;}
@media(max-width:800px){
  .content{padding:18px;}
  .tabs{top:54px;padding:0 12px;}
  .tab{padding:12px 10px;font-size:.82rem;}
  .topbar{padding:14px 16px;}
  .card{padding:18px;border-radius:18px;}
}


/* =========================================================
   FINAL PREMIUM HIGH-CONTRAST THEME v41
   Purpose: no background/text color merge, clear hover states
   ========================================================= */
:root{
  --primary:#1d4ed8;
  --primary-dark:#1e3a8a;
  --primary-soft:#dbeafe;
  --gold:#f59e0b;
  --green:#16a34a;
  --red:#dc2626;
  --orange:#ea580c;
  --bg:#eef3fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --border:#d7e0ea;
  --table-head:#eef4ff;
  --row-hover:#f8fbff;
  --shadow:0 14px 36px rgba(15,23,42,.10);
}

html,body{
  background:
    radial-gradient(circle at top left,rgba(29,78,216,.12),transparent 32%),
    radial-gradient(circle at top right,rgba(245,158,11,.10),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#eef3fb 100%) !important;
  color:var(--text)!important;
  font-family:'Segoe UI',Tahoma,Arial,sans-serif!important;
}

/* Header */
.topbar{
  background:linear-gradient(90deg,#0f172a 0%,#1e3a8a 48%,#2563eb 100%)!important;
  color:#ffffff!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.20)!important;
}
.topbar h1,.topbar span,.topbar b,.topbar .user-info{
  color:#ffffff!important;
}
.role-tag{
  background:#dbeafe!important;
  color:#1e3a8a!important;
  border:1px solid #bfdbfe!important;
  font-weight:800!important;
}
.logout-btn{
  background:#ffffff!important;
  color:#1d4ed8!important;
  border:1px solid #dbeafe!important;
}
.logout-btn:hover{
  background:#eff6ff!important;
  color:#1e40af!important;
}

/* Tabs */
.tabs{
  background:#ffffff!important;
  border-bottom:1px solid var(--border)!important;
}
.tab{
  color:#334155!important;
  background:transparent!important;
  border-radius:10px 10px 0 0!important;
}
.tab:hover{
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
.tab.active{
  background:#ffffff!important;
  color:#1d4ed8!important;
  border-bottom-color:#1d4ed8!important;
}

/* Cards and containers */
.card,.login-box,.modal,.inline-report-box,.bulk-box,.pool-config,.visit-alert-card,.news-admin-box,.news-card,.chart-summary-card,.stat-card{
  background:#ffffff!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
}
.card h2,.modal h3,h1,h2,h3,h4,h5{
  color:#0f172a!important;
}
.card h2{
  border-bottom:1px solid #e2e8f0!important;
}
.stat-card .num{
  color:#1d4ed8!important;
  background:none!important;
  -webkit-text-fill-color:#1d4ed8!important;
}
.stat-card .lbl,.note-lite,.news-meta,.fu-item small{
  color:#475569!important;
}

/* Forms */
label{
  color:#0f172a!important;
}
input,select,textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{
  color:#64748b!important;
}
input:focus,select:focus,textarea:focus{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#1d4ed8!important;
  box-shadow:0 0 0 4px rgba(29,78,216,.14)!important;
}
select option{
  background:#ffffff!important;
  color:#0f172a!important;
}
select option:checked{
  background:#1d4ed8!important;
  color:#ffffff!important;
}

/* Buttons */
button,.btn,button.btn{
  background:#1d4ed8!important;
  color:#ffffff!important;
  border:1px solid #1d4ed8!important;
  border-radius:12px!important;
  font-weight:800!important;
}
button:hover,.btn:hover,button.btn:hover{
  background:#1e40af!important;
  color:#ffffff!important;
  border-color:#1e40af!important;
  transform:translateY(-1px);
}
button.btn-green,.btn-green{
  background:#16a34a!important;
  color:#ffffff!important;
  border-color:#16a34a!important;
}
button.btn-green:hover,.btn-green:hover{
  background:#15803d!important;
  color:#ffffff!important;
}
button.btn-red,.btn-red{
  background:#dc2626!important;
  color:#ffffff!important;
  border-color:#dc2626!important;
}
button.btn-red:hover,.btn-red:hover{
  background:#b91c1c!important;
  color:#ffffff!important;
}
button.small,.btn.small{
  color:#ffffff!important;
}

/* Tables */
table{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #e2e8f0!important;
}
th{
  background:#eef4ff!important;
  color:#0f172a!important;
  border-bottom:1px solid #dbeafe!important;
}
td{
  background:#ffffff!important;
  color:#1e293b!important;
  border-bottom:1px solid #e5e7eb!important;
}
tr:hover td{
  background:#f1f7ff!important;
  color:#0f172a!important;
}
td b,td strong{
  color:#0f172a!important;
}

/* Notes / alerts */
.note{
  background:#fffbeb!important;
  color:#78350f!important;
  border:1px solid #fcd34d!important;
}
.dup-warning,.expiry-alert{
  background:#fff7ed!important;
  color:#7c2d12!important;
  border:1px solid #fdba74!important;
}
.golden-rule{
  background:linear-gradient(90deg,#fef3c7,#fde68a)!important;
  color:#78350f!important;
  border:1px solid #f59e0b!important;
}

/* Badges */
.rank-badge,.status-pill,.src-badge,.screen-status-badge{
  font-weight:800!important;
}
.rank-none{background:#e2e8f0!important;color:#334155!important;}
.rank-bronze{background:#ffedd5!important;color:#9a3412!important;}
.rank-silver{background:#e5e7eb!important;color:#374151!important;}
.rank-gold{background:#fef08a!important;color:#854d0e!important;}
.rank-diamond{background:#e0e7ff!important;color:#3730a3!important;}

.st-active,.src-wa{background:#dcfce7!important;color:#166534!important;}
.st-closed,.src-email{background:#dbeafe!important;color:#1e40af!important;}
.st-unassigned{background:#fef3c7!important;color:#92400e!important;}
.st-expired{background:#fee2e2!important;color:#991b1b!important;}
.src-other{background:#f3e8ff!important;color:#6b21a8!important;}

/* Logs and news */
.log-item,.fu-item,.visit-alert-item{
  background:#ffffff!important;
  color:#0f172a!important;
  border-bottom:1px solid #e5e7eb!important;
}
.log-item:hover,.fu-item:hover,.visit-alert-item:hover{
  background:#f8fbff!important;
}
.log-item span{
  color:#1d4ed8!important;
}
.news-msg{
  color:#0f172a!important;
  font-weight:700!important;
}
.news-attachment{
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid #dbeafe!important;
}

/* Chart/Summary */
.chart-summary-card span{
  color:#475569!important;
}
.chart-summary-card b{
  color:#0f172a!important;
}
.chart-summary-card .summary-icon{
  color:#1d4ed8!important;
}

/* Screen timer */
.screen-timer{
  background:#dbeafe!important;
  color:#1e3a8a!important;
  border:1px solid #bfdbfe!important;
}
.screen-timer b{
  color:#1e3a8a!important;
}

/* Modal */
.modal-overlay{
  background:rgba(15,23,42,.62)!important;
}
.close-x{
  color:#475569!important;
}
.close-x:hover{
  color:#dc2626!important;
}

/* Scrollbar */
::-webkit-scrollbar-track{background:#e2e8f0!important;}
::-webkit-scrollbar-thumb{background:#64748b!important;}
::-webkit-scrollbar-thumb:hover{background:#334155!important;}

/* Responsive polish */
@media(max-width:800px){
  .content{padding:16px!important;}
  .card{padding:18px!important;}
  .topbar{gap:10px!important;}
  .topbar .user-info{gap:8px!important;flex-wrap:wrap!important;}
}

/* v42 Screen timing table scroll */
.screen-timing-scroll{
  max-height:520px!important;
  overflow:auto!important;
  border:1px solid #dbeafe!important;
  border-radius:16px!important;
  background:#ffffff!important;
}
.screen-timing-scroll thead th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
}

/* v44 Screen timing date filter */
#screenTimingFilterBox{
  margin-bottom:12px!important;
}
#screenTimingDate{
  max-width:220px!important;
}
.screen-timing-scroll{
  max-height:520px!important;
  overflow:auto!important;
}
.screen-timing-scroll tbody tr:nth-child(even) td{
  background:#f8fafc!important;
}

/* v47 Follow-up reminders */
.reminder-card{
  border:1px solid #bfdbfe!important;
  background:#ffffff!important;
}
.reminder-scroll{
  max-height:420px;
  overflow:auto;
  padding-right:6px;
}
.reminder-item{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  background:#f8fbff!important;
  border:1px solid #dbeafe!important;
  border-left:5px solid #2563eb!important;
  border-radius:14px;
  padding:12px 14px;
  margin-top:10px;
}
.reminder-item small,.reminder-item span{
  color:#475569!important;
  line-height:1.6;
}
.reminder-today{border-left-color:#f59e0b!important;background:#fffbeb!important;}
.reminder-overdue{border-left-color:#dc2626!important;background:#fff1f2!important;}
@media(max-width:700px){
  .reminder-item{display:block}
  .reminder-item .visit-actions{margin-top:10px;justify-content:flex-start}
}

/* v48 reminder first 5 then scroll */
.reminder-scroll{
  max-height:430px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:8px!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  background:#ffffff!important;
}
.reminder-scroll .reminder-item:nth-child(n+6){
  margin-top:10px!important;
}
#reminderEmployeeFilter{
  background:#ffffff!important;
  color:#0f172a!important;
}

/* v49 HARD FIX: Follow-up Reminder internal scrolling after first 5 notifications */
.reminder-card{
  overflow:hidden!important;
}
.reminder-card .reminder-scroll{
  max-height:390px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:8px!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  background:#ffffff!important;
  display:block!important;
}
.reminder-card .reminder-item{
  min-height:68px!important;
  margin:8px 8px 8px 0!important;
}
.reminder-card .reminder-scroll::-webkit-scrollbar{
  width:10px!important;
}
.reminder-card .reminder-scroll::-webkit-scrollbar-thumb{
  background:#64748b!important;
  border-radius:999px!important;
}
.reminder-card .reminder-scroll::-webkit-scrollbar-track{
  background:#e2e8f0!important;
  border-radius:999px!important;
}

/* v50 Admin filter for Follow-up Reminder Notifications */
#reminderEmployeeFilter{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  padding:10px!important;
}
.reminder-card .report-filters{
  background:#f8fbff!important;
  border:1px solid #dbeafe!important;
  border-radius:14px!important;
  padding:10px!important;
}

/* v51 News branch multi select fix */
#news_branches option, #news_users option{
  padding:7px 8px!important;
}
#news_branches option:checked, #news_users option:checked{
  background:#1d4ed8!important;
  color:#ffffff!important;
}

/* v52 Break In / Break Out */
.break-btn{
  width:auto!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-weight:900!important;
  cursor:pointer!important;
  margin-right:8px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.18)!important;
}
.break-out{
  background:#f97316!important;
  border-color:#f97316!important;
  color:#ffffff!important;
}
.break-out:hover{background:#ea580c!important;color:#ffffff!important;}
.break-in{
  background:#16a34a!important;
  border-color:#16a34a!important;
  color:#ffffff!important;
}
.break-in:hover{background:#15803d!important;color:#ffffff!important;}
.screen-status-badge.screen-break,.screen-break{
  background:#ffedd5!important;
  color:#9a3412!important;
}

/* v53 Break button visibility and refresh-safe timer */
#breakToggleBtn.break-btn{
  display:inline-block;
  width:auto!important;
  min-width:96px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  font-size:.82rem!important;
  line-height:1!important;
  margin-right:8px!important;
  white-space:nowrap!important;
}
#breakToggleBtn.break-out{
  background:#f97316!important;
  color:#ffffff!important;
  border:1px solid #f97316!important;
}
#breakToggleBtn.break-in{
  background:#16a34a!important;
  color:#ffffff!important;
  border:1px solid #16a34a!important;
}
