/* Enterprise Production System V5 - design tokens + reusable components
   UI-only layer. Does not change PHP, SQL, report formulas, exports, APIs or routing. */
:root{
  --ed-primary:#0F4C97;--ed-blue:#2563EB;--ed-success:#22C55E;--ed-warning:#F59E0B;--ed-danger:#EF4444;--ed-info:#0EA5E9;
  --ed-bg:#F5F7FA;--ed-surface:#FFFFFF;--ed-surface-2:#F8FAFC;--ed-border:#E8ECF4;--ed-sidebar:#0D3B7A;
  --ed-text:#1F2937;--ed-muted:#6B7280;--ed-soft:#94A3B8;
  --ed-radius-xs:8px;--ed-radius-sm:10px;--ed-radius-md:14px;--ed-radius-lg:16px;--ed-radius-xl:20px;
  --ed-space-1:4px;--ed-space-2:8px;--ed-space-3:12px;--ed-space-4:16px;--ed-space-5:20px;--ed-space-6:24px;--ed-space-8:32px;
  --ed-shadow-sm:0 4px 14px rgba(15,23,42,.055);--ed-shadow-md:0 10px 28px rgba(15,23,42,.075);--ed-shadow-lg:0 18px 44px rgba(15,23,42,.105);
  --ed-ease:cubic-bezier(.2,.8,.2,1);--ed-fast:160ms;--ed-med:240ms;--ed-icon:18px;
  --wpu-primary:var(--ed-primary);--wpu-primary-2:var(--ed-blue);--wpu-success:var(--ed-success);--wpu-warning:var(--ed-warning);--wpu-danger:var(--ed-danger);--wpu-bg:var(--ed-bg);--wpu-card:var(--ed-surface);--wpu-border:var(--ed-border);--wpu-text:var(--ed-text);--wpu-muted:var(--ed-muted);--wpu-radius:var(--ed-radius-lg);--wpu-pad:var(--ed-space-5);--wpu-gap:var(--ed-space-4);--wpu-shadow:var(--ed-shadow-md);
}
body{font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif!important;background:var(--ed-bg)!important;color:var(--ed-text)!important}
.admin-main{background:linear-gradient(180deg,#F8FBFF 0,#F5F7FA 260px,#F5F7FA 100%)!important}.content{padding:24px 28px 96px!important}
.topbar.modern-topbar{position:sticky!important;top:0!important;z-index:25!important;min-height:76px!important;padding:14px 28px!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--ed-border)!important;box-shadow:0 8px 24px rgba(15,23,42,.035)!important}.topbar-page strong{font-size:22px!important;letter-spacing:-.04em!important}.topbar-page span{color:var(--ed-muted)!important;font-size:13px!important;font-weight:600!important}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:10px}.topbar-filter,.topbar-refresh,.topbar-user{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--ed-border);background:#fff;border-radius:12px;box-shadow:var(--ed-shadow-sm);font-weight:750;color:#334155;font-size:13px}.topbar-filter input{border:0;outline:0;background:transparent;color:#334155;font-weight:650;min-width:150px}.topbar-refresh{cursor:pointer}.topbar-refresh:hover,.topbar-filter:hover,.topbar-user:hover{transform:translateY(-1px);box-shadow:var(--ed-shadow-md)}.topbar-user-avatar{width:32px;height:32px;border-radius:50%;background:#22C55E;color:#fff;display:inline-grid;place-items:center;font-size:14px;font-weight:900}.topbar-user-text{display:flex;flex-direction:column;line-height:1.05}.topbar-user-text b{font-size:12px}.topbar-user-text small{font-size:10px;color:var(--ed-muted)}
.global-search{height:46px!important;border-radius:14px!important;border:1px solid var(--ed-border)!important;background:#fff!important;box-shadow:var(--ed-shadow-sm)!important;max-width:560px!important}.global-search:focus-within{border-color:rgba(37,99,235,.45)!important;box-shadow:0 0 0 4px rgba(37,99,235,.08),var(--ed-shadow-md)!important}.search-shortcut{border:1px solid var(--ed-border)!important;background:#F8FAFC!important;border-radius:8px!important;color:#64748B!important;padding:4px 8px!important;font-weight:800!important}
.notification-bell{width:44px!important;height:44px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--ed-border)!important;box-shadow:var(--ed-shadow-sm)!important}.notification-bell b{background:#FACC15!important;color:#111827!important;border:2px solid #fff!important}
.breadcrumbs{padding:0!important;margin:0 0 16px!important;font-size:12px!important;letter-spacing:.01em}.breadcrumbs strong{color:#334155}.enterprise-page-head,.content>h1:first-child,.content>h2:first-child{margin-top:0!important}.content>h1,.content>h2{font-size:28px!important;line-height:1.15!important;font-weight:850!important;letter-spacing:-.05em!important;color:#0B1F44!important}
/* Reusable components */
.ed-card,.enterprise-card,.panel,.card,.premium-panel,.analytics-card,.report-card{background:var(--ed-surface)!important;border:1px solid var(--ed-border)!important;border-radius:var(--ed-radius-lg)!important;box-shadow:var(--ed-shadow-sm)!important;padding:var(--ed-space-5)!important;transition:transform var(--ed-fast) var(--ed-ease),box-shadow var(--ed-fast) var(--ed-ease),border-color var(--ed-fast) var(--ed-ease)!important}.ed-card:hover,.enterprise-card:hover,.panel:hover,.card:hover,.premium-panel:hover{transform:translateY(-2px);box-shadow:var(--ed-shadow-md)!important;border-color:#D9E4F2!important}.ed-card-header,.panel-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ed-card-title,.panel h2,.panel h3,.enterprise-card h2,.enterprise-card h3,.card h2,.card h3{font-size:15px!important;font-weight:850!important;color:#0B1F44!important;letter-spacing:-.025em!important;margin:0 0 12px}.ed-card-subtitle{font-size:12px;color:var(--ed-muted);font-weight:650}.ed-grid{display:grid;gap:var(--ed-space-4)}.ed-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ed-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ed-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.kpi-card,.enterprise-kpi-card,.stat-card,.metric-card{min-height:136px!important;background:#fff!important;border:1px solid var(--ed-border)!important;border-radius:16px!important;box-shadow:var(--ed-shadow-sm)!important;padding:18px!important;position:relative;overflow:hidden}.kpi-card:hover,.enterprise-kpi-card:hover,.stat-card:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:var(--ed-shadow-md)!important}.kpi-card h3,.enterprise-kpi-card h3,.stat-card h3{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:#475569!important;font-weight:800!important}.kpi-card .value,.enterprise-kpi-card .value,.stat-card .value,.metric-value{font-size:27px!important;font-weight:900!important;color:#0B1F44!important;letter-spacing:-.04em!important}.kpi-icon,.enterprise-kpi-icon,.stat-icon{width:44px!important;height:44px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,var(--ed-blue),#0F4C97)!important;color:white!important;box-shadow:0 10px 22px rgba(37,99,235,.22)!important}.sparkline{height:32px!important;margin-top:10px}.trend-up,.status-excellent{color:var(--ed-success)!important}.trend-down,.status-critical{color:var(--ed-danger)!important}.status-good{color:var(--ed-blue)!important}.status-review{color:var(--ed-warning)!important}
.status-chip,.badge,.pill{display:inline-flex!important;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--ed-border);background:#F8FAFC;color:#334155;font-size:11px!important;font-weight:850!important}.status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-chip.success,.badge.success{color:#15803D;background:#ECFDF5;border-color:#BBF7D0}.status-chip.warning,.badge.warning{color:#B45309;background:#FFFBEB;border-color:#FDE68A}.status-chip.danger,.badge.danger{color:#B91C1C;background:#FEF2F2;border-color:#FECACA}.status-chip.info,.badge.info{color:#1D4ED8;background:#EFF6FF;border-color:#BFDBFE}
.btn,button.btn,a.btn,input[type=submit],.button{border-radius:10px!important;border:1px solid var(--ed-border)!important;box-shadow:var(--ed-shadow-sm)!important;font-weight:800!important;transition:all var(--ed-fast) var(--ed-ease)!important}.btn:hover,button.btn:hover,a.btn:hover{transform:translateY(-1px);box-shadow:var(--ed-shadow-md)!important}.btn.primary,.btn-primary,.button-primary{background:var(--ed-blue)!important;color:#fff!important;border-color:var(--ed-blue)!important}.btn.danger{background:var(--ed-danger)!important;color:#fff!important;border-color:var(--ed-danger)!important}
input,select,textarea{border:1px solid var(--ed-border)!important;border-radius:12px!important;background:#fff!important;color:var(--ed-text)!important;min-height:42px;box-shadow:inset 0 1px 0 rgba(15,23,42,.02)!important}input:focus,select:focus,textarea:focus{outline:0!important;border-color:rgba(37,99,235,.55)!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important}.filters,.filter-card,.report-filters{position:sticky;top:86px;z-index:18;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px)!important;border:1px solid var(--ed-border)!important;border-radius:16px!important;box-shadow:var(--ed-shadow-sm)!important;padding:14px!important;margin-bottom:16px!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
/* Enterprise tables */
.table-card,table{font-size:13px!important}table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;border:1px solid var(--ed-border)!important;border-radius:16px!important;overflow:hidden!important;box-shadow:var(--ed-shadow-sm)!important}thead th,table th{position:sticky;top:0;z-index:2;background:#F8FAFC!important;color:#334155!important;font-size:12px!important;text-transform:none!important;letter-spacing:.01em!important;font-weight:850!important;border-bottom:1px solid var(--ed-border)!important;padding:12px!important}td{padding:11px 12px!important;border-bottom:1px solid #EEF2F7!important;color:#334155!important}tbody tr:hover{background:#F8FBFF!important}.ed-density-compact table td{padding:7px 10px!important}.ed-density-compact table th{padding:8px 10px!important}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.table-density{display:flex;gap:6px}.table-density button{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--ed-border);background:#fff;font-weight:800;color:#475569;cursor:pointer}.table-density button.active{background:#EFF6FF;color:var(--ed-blue);border-color:#BFDBFE}
/* Chart containers */
.chart-container,.enterprise-chart,.chart-card canvas{max-height:320px}.chart-card,.chart-container{background:#fff;border:1px solid var(--ed-border);border-radius:16px;padding:18px;box-shadow:var(--ed-shadow-sm)}.chart-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#475569}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
/* Empty, loading, disclosure, personalization */
.empty-state{display:grid;place-items:center;text-align:center;padding:36px 22px;border:1px dashed #CBD5E1;border-radius:16px;background:#F8FAFC;color:#64748B}.empty-state-icon{width:58px;height:58px;border-radius:18px;background:#EFF6FF;color:var(--ed-blue);display:grid;place-items:center;font-size:25px;margin-bottom:12px}.skeleton{background:linear-gradient(90deg,#EEF2F7 25%,#F8FAFC 37%,#EEF2F7 63%);background-size:400% 100%;animation:edSkeleton 1.3s ease infinite;border-radius:10px}@keyframes edSkeleton{0%{background-position:100% 50%}100%{background-position:0 50%}}.ed-collapsed>.ed-card-body,.ed-collapsed>.panel-body{display:none!important}.ed-card-actions{display:flex;gap:6px}.ed-icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--ed-border);background:#fff;display:grid;place-items:center;cursor:pointer;color:#475569}.ed-icon-btn:hover{background:#F8FAFC;color:var(--ed-blue)}
/* Sticky export toolbar */
.global-export-actions{position:fixed!important;right:22px!important;bottom:18px!important;z-index:60!important;display:flex!important;align-items:center!important;gap:8px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px)!important;border:1px solid var(--ed-border)!important;border-radius:16px!important;padding:10px!important;box-shadow:var(--ed-shadow-lg)!important}.global-export-actions .btn.small{height:40px!important;border-radius:11px!important;padding:0 14px!important;background:#fff!important;color:#0F4C97!important}.global-export-actions .btn.small:hover{background:#EFF6FF!important}
/* Enterprise footer */
.enterprise-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px;padding:14px 16px;border:1px solid var(--ed-border);border-radius:16px;background:#fff;box-shadow:var(--ed-shadow-sm);color:#64748B;font-size:12px;font-weight:700}.enterprise-footer strong{color:#0B1F44}.enterprise-footer .footer-status{display:flex;align-items:center;gap:8px}.enterprise-footer .footer-dot{width:8px;height:8px;border-radius:50%;background:var(--ed-success);box-shadow:0 0 0 4px rgba(34,197,94,.14)}
/* Login/public consistency */
.login-card,.survey-card,.public-card{border:1px solid var(--ed-border)!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--ed-shadow-lg)!important}.public-page,.login-page{background:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 360px),var(--ed-bg)!important}
/* Modal/toast/drawer */
.modal,.dialog{border-radius:20px!important;border:1px solid var(--ed-border)!important;box-shadow:var(--ed-shadow-lg)!important}.toast,.notification{border-radius:14px!important;border:1px solid var(--ed-border)!important;box-shadow:var(--ed-shadow-md)!important;background:#fff!important}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(460px,94vw);background:#fff;border-left:1px solid var(--ed-border);box-shadow:var(--ed-shadow-lg);z-index:80;transform:translateX(100%);transition:transform var(--ed-med) var(--ed-ease)}.drawer.open{transform:translateX(0)}
/* Theme ready */
[data-theme="dark"]{--ed-bg:#0B1220;--ed-surface:#111827;--ed-surface-2:#0F172A;--ed-border:#243244;--ed-text:#E5E7EB;--ed-muted:#94A3B8}[data-theme="contrast"]{--ed-bg:#fff;--ed-surface:#fff;--ed-border:#111827;--ed-text:#000;--ed-muted:#111827;--ed-blue:#003B8E}
@media(max-width:1200px){.ed-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}.ed-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-grid-3{grid-template-columns:1fr}.topbar-actions{width:100%;justify-content:flex-end}.topbar-filter{display:none}}
@media(max-width:900px){.topbar.modern-topbar{padding:12px 14px!important}.topbar-actions{order:6;width:100%;justify-content:space-between}.topbar-user-text,.topbar-filter{display:none}.content{padding:18px 14px 96px!important}.filters{position:relative;top:auto}.ed-grid-6,.ed-grid-4,.ed-grid-3,.ed-grid-2{grid-template-columns:1fr}.global-export-actions{left:12px!important;right:12px!important;justify-content:center!important}.enterprise-footer{margin-bottom:62px}}
@media print{.topbar-actions,.topbar-refresh,.enterprise-footer,.table-tools{display:none!important}}
