﻿/* Icon color & effects */
i[data-lucide] { stroke-width: 2.5; transition: color 0.15s, filter 0.15s; filter: drop-shadow(0 0 1px rgba(0,0,0,0.05)); }
i[data-lucide]:hover { filter: drop-shadow(0 0 3px currentColor); }
.card-icon[data-lucide], .nav-icon[data-lucide] { stroke-width: 2.5; }
[data-theme="dark"] .status-active, [data-theme="dark"] .sector-mixed { color: #34d399 !important; }
*{margin:0;padding:0;box-sizing:border-box;}
:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--border:#334155;--primary:#3b82f6;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--accent:#6366f1;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}
#app{display:flex;flex-direction:column;min-height:100vh;}
.loading-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.3s;}
.loading-overlay.hidden{opacity:0;pointer-events:none;}
.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 0.8s linear infinite;}
.loading-text{margin-top:12px;color:var(--text-muted);font-size:14px;}
@keyframes spin{to{transform:rotate(360deg);}}
.toast-container{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;}
.toast{padding:12px 16px;border-radius:8px;font-size:13px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.3);animation:slideIn 0.3s ease;min-width:280px;}
.toast.success{background:var(--success);}
.toast.error{background:var(--danger);}
.toast.info{background:var(--primary);}
.toast.warning{background:var(--warning);}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}
#navbar{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:100;}
.nav-brand h1{font-size:18px;margin:0;}
.nav-subtitle{font-size:11px;color:var(--text-muted);}
.nav-tabs{display:flex;gap:1px;overflow-x:auto;width:100%;margin-top:6px;}
.nav-tab{padding:8px 14px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent;transition:all 0.2s;}
.nav-tab.active,.nav-tab:hover{color:var(--text);border-bottom-color:var(--primary);background:var(--surface-2);}
#mainContent{padding:16px;flex:1;max-width:1400px;margin:0 auto;width:100%;}
.section{display:none;}
.section.active{display:block;}
.section-header{margin-bottom:16px;}
.section-header h2{font-size:20px;}
.section-header p{font-size:13px;color:var(--text-muted);}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;}
.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;}
.kpi-icon{font-size:24px;margin-bottom:4px;}
.kpi-value{font-size:24px;font-weight:700;}
.kpi-label{font-size:11px;color:var(--text-muted);margin-top:4px;}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.card.wide{grid-column:1/-1;}
.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);}
.card-header h3{font-size:14px;}
.card-body{padding:16px;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px;}
.form-field{display:flex;flex-direction:column;gap:4px;}
.form-field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;}
.form-field input,.form-field select,.form-field textarea{padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;outline:none;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);}
.form-actions{padding:16px;display:flex;gap:8px;justify-content:flex-end;}
.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all 0.2s;}
.btn:disabled{opacity:0.5;cursor:not-allowed;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{filter:brightness(1.1);}
.btn-secondary{background:var(--surface-2);color:var(--text);}
.btn-warning{background:var(--warning);color:#000;}
.btn-lg{padding:10px 20px;font-size:14px;}
.result-box{padding:12px 16px;margin:0 16px 16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:12px;font-family:monospace;white-space:pre-wrap;max-height:200px;overflow-y:auto;}
.toolbar{display:flex;gap:8px;margin-bottom:12px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;}
.toolbar input{flex:1;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;outline:none;}
.results-container{padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:500px;overflow-y:auto;}
.member-item,.provider-item,.claim-item,.uninsured-item{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;}
.member-item .name{font-size:14px;font-weight:600;}
.member-item .meta,.provider-item .meta,.claim-item .meta{font-size:12px;color:var(--text-muted);margin-top:4px;}
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;}
.badge.active{background:#dcfce7;color:#166534;}
.badge.pending{background:#fef3c7;color:#92400e;}
.badge.inactive{background:#fce4ec;color:#c62828;}
.data-table{width:100%;border-collapse:collapse;font-size:13px;}
.data-table th,.data-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border);}
.data-table th{font-size:11px;color:var(--text-muted);text-transform:uppercase;}
.empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px;}
@media(max-width:768px){.kpi-grid{grid-template-columns:repeat(2,1fr);}.dashboard-grid{grid-template-columns:1fr;}.form-grid{grid-template-columns:1fr;}}
[data-theme="light"] {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --text: #0f172a;
  --text-muted: #64748b;
  --border: #cbd5e1;
}
.login-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:99999;}
.login-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;width:360px;max-width:90vw;}
.login-modal h2{margin-bottom:16px;font-size:18px;}
.login-modal label{display:block;margin-bottom:12px;font-size:13px;color:var(--text-muted);}
.login-modal input{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;margin-top:4px;}
.login-error{color:var(--danger);font-size:13px;margin-bottom:8px;padding:8px;background:rgba(239,68,68,0.1);border-radius:6px;}
.login-actions{margin-top:16px;}

button.selected,
button.active,
.btn.selected,
.btn.active,
.nav-tab.active,
.card.selected,
.member-item.selected,
.provider-item.selected,
.claim-item.selected,
.uninsured-item.selected {
  background: linear-gradient(135deg, #0f766e, #2563eb) !important;
  color: #ffffff !important;
  border-color: #67e8f9 !important;
  box-shadow: 0 0 0 3px rgba(103, 232, 249, 0.16), 0 12px 24px rgba(15, 118, 110, 0.2) !important;
}

button.selected *,
button.active *,
.nav-tab.active *,
.card.selected *,
.member-item.selected *,
.provider-item.selected *,
.claim-item.selected *,
.uninsured-item.selected * {
  color: inherit !important;
}

[data-theme="light"] button.selected,
[data-theme="light"] button.active,
[data-theme="light"] .btn.selected,
[data-theme="light"] .btn.active,
[data-theme="light"] .nav-tab.active,
[data-theme="light"] .card.selected,
[data-theme="light"] .member-item.selected,
[data-theme="light"] .provider-item.selected,
[data-theme="light"] .claim-item.selected,
[data-theme="light"] .uninsured-item.selected {
  background: linear-gradient(135deg, #12343b, #118179) !important;
  color: #ffffff !important;
  border-color: #14b8a6 !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] .card,
[data-theme="dark"] .result-box,
[data-theme="dark"] .results-container,
[data-theme="dark"] .toolbar,
[data-theme="dark"] .login-modal,
[data-theme="dark"] .data-table {
  background: #111f2f !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
}
