/* ===== enterprise dashboard (admin only) ===== */
.dash-hero { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding:28px 30px; margin-bottom:22px; border-radius:20px; color:#fff; background:radial-gradient(500px 220px at 90% 0,rgba(249,115,22,.55),transparent 70%),linear-gradient(120deg,#0f1f4b,#1e3a8a 55%,#4f46e5); box-shadow:0 14px 34px rgba(30,58,138,.28); }
.dash-hero h1 { color:#fff; font-size:1.8rem; margin:0 0 4px; } .dash-hero p { margin:0; color:#cbd5f5; } .dash-hero .dh-date { font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; color:#fdba74; margin-bottom:4px; }
.dh-actions { display:flex; gap:10px; flex-wrap:wrap; } .dh-actions .btn-ghost { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.35); } .dh-actions .btn-ghost:hover { background:rgba(255,255,255,.22); color:#fff; border-color:#fff; }
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.kpi { position:relative; overflow:hidden; display:flex; flex-direction:column; padding:20px 20px 18px; border-radius:18px; color:#fff; text-decoration:none; box-shadow:0 10px 24px rgba(15,31,75,.18); transition:transform .2s, box-shadow .2s; }
.kpi:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,31,75,.26); }
.kpi::after { content:""; position:absolute; right:-30px; bottom:-40px; width:130px; height:130px; border-radius:50%; background:rgba(255,255,255,.14); }
.kpi::before { content:""; position:absolute; right:30px; top:-50px; width:90px; height:90px; border-radius:50%; background:rgba(255,255,255,.1); }
.kpi b { font-size:1.9rem; line-height:1.15; margin-top:12px; } .kpi .kpi-l { font-weight:600; opacity:.95; } .kpi small { opacity:.8; font-size:.8rem; margin-top:2px; }
.kpi-ic { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:1.4rem; background:rgba(255,255,255,.22); }
.k0 { background:linear-gradient(135deg,#2563eb,#1d4ed8 60%,#4338ca); } .k1 { background:linear-gradient(135deg,#ec4899,#be185d); } .k2 { background:linear-gradient(135deg,#f59e0b,#ea580c); } .k3 { background:linear-gradient(135deg,#16a34a,#047857); }
.k4 { background:linear-gradient(135deg,#8b5cf6,#6d28d9); } .k5 { background:linear-gradient(135deg,#06b6d4,#0e7490); } .k6 { background:linear-gradient(135deg,#f43f5e,#be123c); } .k7 { background:linear-gradient(135deg,#6366f1,#3730a3); }
.dash-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start; }
.dash-grid .panel { margin:0; } .span2 { grid-column:span 2; } .span3 { grid-column:span 3; }
.panel { background:#fff; border:1.5px solid var(--line); border-radius:var(--radius); padding:20px; margin-bottom:18px; box-shadow:0 4px 14px rgba(15,31,75,.05); }
.panel .ph { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:14px; } .panel .ph h3 { margin:0; font-size:1.02rem; } .panel .ph.sp { margin-top:22px; padding-top:16px; border-top:1px dashed var(--line); }
.colchart { display:flex; align-items:flex-end; gap:12px; height:200px; padding-top:10px; }
.colchart .col { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:4px; } .colchart .col span { width:100%; max-width:46px; border-radius:10px 10px 4px 4px; } .colchart em { font-style:normal; font-weight:700; font-size:.8rem; color:var(--navy); } .colchart small { color:var(--muted); font-size:.75rem; }
.donut { width:170px; height:170px; border-radius:50%; margin:6px auto 16px; display:grid; place-items:center; } .donut > div { width:112px; height:112px; border-radius:50%; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px var(--line); } .donut b { font-size:1.7rem; color:var(--navy); line-height:1; } .donut span { font-size:.75rem; color:var(--muted); }
.legend { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; } .legend li { display:flex; align-items:center; gap:8px; font-size:.86rem; } .legend i { width:11px; height:11px; border-radius:50%; flex:none; } .legend b { margin-left:auto; color:var(--navy); }
.hbars { list-style:none; margin:0; padding:0; display:grid; gap:12px; } .hb-top { display:flex; justify-content:space-between; font-size:.86rem; margin-bottom:5px; } .hb-top b { color:var(--muted); font-weight:600; } .hb-track { height:9px; background:#eef2f9; border-radius:99px; overflow:hidden; } .hb-track i { display:block; height:100%; border-radius:99px; }
.alerts, .recent { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.al { display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:12px; border:1px solid transparent; } .al > span { font-size:1.3rem; } .al p { margin:0; flex:1; font-size:.86rem; line-height:1.35; } .al a { font-size:.8rem; font-weight:600; white-space:nowrap; text-decoration:none; }
.al-pink { background:#fdf2f8; border-color:#fbcfe8; } .al-orange { background:#fff7ed; border-color:#fed7aa; } .al-blue { background:#eff6ff; border-color:#bfdbfe; } .al-green { background:#f0fdf4; border-color:#bbf7d0; }
.recent li { display:flex; justify-content:space-between; gap:10px; font-size:.88rem; padding:7px 0; border-bottom:1px solid var(--line); } .recent li:last-child { border:0; } .recent a { color:var(--navy); font-weight:600; text-decoration:none; } .recent span { color:var(--muted); white-space:nowrap; }
.table-wrap { overflow-x:auto; } .t { width:100%; border-collapse:collapse; } .t th { text-align:left; font-size:.74rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); padding:10px 12px; background:#f6f8fc; border-bottom:2px solid var(--line); } .t td { padding:11px 12px; border-bottom:1px solid var(--line); } .t tr:hover td { background:#fafcff; }
.av { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; font-size:.8rem; font-weight:700; margin-right:6px; }
.pill { display:inline-block; padding:2px 12px; border-radius:99px; font-size:.76rem; font-weight:700; background:#e2e8f0; color:#475569; } .st-New { background:#fce7f3; color:#be185d; } .st-Contacted { background:#dbeafe; color:#1d4ed8; } .st-Enrolled { background:#dcfce7; color:#166534; } .st-Closed { background:#e2e8f0; color:#475569; }
.sidebar a.link { display:flex; align-items:center; gap:10px; }
@media (max-width:1100px) { .kpis { grid-template-columns:repeat(2,1fr); } .dash-grid { grid-template-columns:1fr 1fr; } .span3 { grid-column:span 2; } }
@media (max-width:700px) { .kpis { gap:10px; } .kpi b { font-size:1.4rem; } .dash-grid { grid-template-columns:1fr; } .span2, .span3 { grid-column:auto; } .dash-hero { padding:20px; } }

/* ===== v50: corporate admin look (sober cards, clear hierarchy) ===== */
body { background:#f3f5fa !important; }
.admin-main { padding:30px 34px; }
.sidebar { background:linear-gradient(180deg,#0f1f4b,#0a1330); border-right:1px solid rgba(255,255,255,.06); }
.sidebar .brand { display:flex; align-items:center; gap:12px; margin:0 6px 26px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.12); font-size:1.15rem; font-weight:800; letter-spacing:.04em; }
.sidebar a.link { position:relative; padding:12px 16px; border-radius:8px; font-size:.98rem; font-weight:600; color:#b9c6f2; transition:background .2s, color .2s; }
.sidebar a.link:hover { background:rgba(255,255,255,.07); color:#fff; }
.sidebar a.link.on { background:rgba(251,191,36,.14); color:#fff; box-shadow:inset 3px 0 0 #fbbf24; }
.sidebar .who { padding:16px 8px 0; font-size:.88rem; color:#9fb0e0; line-height:1.5; }
.sidebar .who b { color:#fff; font-size:1rem; }
.sidebar .who a { color:#fbbf24; text-decoration:none; font-weight:600; }

.dash-hero { padding:34px 38px; margin-bottom:26px; border-radius:16px; border-top:4px solid #fbbf24;
    background:radial-gradient(520px 240px at 100% 0,rgba(37,99,235,.4),transparent 70%), linear-gradient(135deg,#0f1f4b,#0a1330); box-shadow:0 20px 44px rgba(15,31,75,.25); }
.dash-hero h1 { font-size:2.1rem; font-weight:800; letter-spacing:-.01em; }
.dash-hero p { font-size:1.05rem; }
.dash-hero .dh-date { font-size:.85rem; font-weight:700; color:#fbbf24; }
.dh-actions .btn { border-radius:8px; font-weight:700; }
.dh-actions .btn-orange { background:#fbbf24; color:#0f1f4b; border-color:#fbbf24; }
.dh-actions .btn-orange:hover { background:#fff; border-color:#fff; }

.kpis { gap:18px; margin-bottom:26px; }
.kpi { --kc:#2563eb; padding:22px 22px 20px; border-radius:14px; border:1px solid #dde3ee; border-top:4px solid var(--kc); background:#fff !important; color:#0f1f4b; box-shadow:0 8px 22px rgba(15,31,75,.07); }
.kpi:hover { transform:translateY(-3px); border-color:#b6c3dc; box-shadow:0 16px 32px rgba(15,31,75,.14); }
.kpi::after, .kpi::before { display:none; }
.k0 { --kc:#2563eb; } .k1 { --kc:#be185d; } .k2 { --kc:#d97706; } .k3 { --kc:#15803d; } .k4 { --kc:#6d28d9; } .k5 { --kc:#0e7490; } .k6 { --kc:#b91c1c; } .k7 { --kc:#3730a3; }
.kpi-ic { width:46px; height:46px; border-radius:12px; font-size:1.35rem; background:color-mix(in srgb,var(--kc) 12%,#fff); }
.kpi b { margin-top:14px; font-size:2rem; font-weight:800; color:#0f1f4b; }
.kpi .kpi-l { margin-top:2px; font-size:1rem; font-weight:700; color:#1e293b; opacity:1; }
.kpi small { color:#64748b; font-size:.85rem; opacity:1; }

.dash-grid { gap:22px; }
.panel { padding:0; border:1px solid #dde3ee; border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(15,31,75,.06); }
.panel > .ph:first-child { margin:0; padding:16px 22px; border-bottom:1px solid #e5e9f2; background:linear-gradient(180deg,#f8faff,#fff); }
.panel .ph h3 { font-size:1.08rem; font-weight:800; color:#0f1f4b; }
.panel > :not(.ph) { margin-left:22px; margin-right:22px; }
.panel > .ph + * { margin-top:20px; }
.panel > *:last-child { margin-bottom:22px; }
.panel .ph.sp { margin:24px 22px 14px; padding-top:18px; }
.panel .ph a.small { font-weight:700; color:#1d4ed8; text-decoration:none; }
.panel .table-wrap { margin-left:0; margin-right:0; margin-bottom:0; }
.t th { padding:12px 22px; font-size:.76rem; background:#f8faff; }
.t td { padding:14px 22px; font-size:.95rem; }
.al { border-radius:10px; }
.hb-track { height:10px; }
.recent li { font-size:.95rem; padding:10px 0; }
@media (max-width:700px) { .admin-main { padding:18px 14px; } .dash-hero { padding:24px 20px; } }

/* ===== v52: enterprise dashboard - colourful cards, larger headings and text ===== */
.admin-main { font-size:1.05rem; }
.sidebar a.link { font-size:1.05rem; padding:13px 16px; }
.sidebar .brand { font-size:1.3rem; }
.dash-hero { padding:38px 42px; }
.dash-hero h1 { font-size:2.5rem; }
.dash-hero p { font-size:1.2rem; }
.dash-hero .dh-date { font-size:.95rem; }
.dh-actions .btn { padding:13px 24px; font-size:1.02rem; }

/* KPI cards: full colour again, bigger numbers */
.kpis .kpi { border:0; color:#fff; padding:26px 24px 22px; border-radius:18px; box-shadow:0 14px 30px rgba(15,31,75,.22); }
.kpis .kpi::after, .kpis .kpi::before { display:block; }
.kpis .k0 { background:linear-gradient(135deg,#2563eb,#1d4ed8 60%,#4338ca) !important; }
.kpis .k1 { background:linear-gradient(135deg,#ec4899,#be185d) !important; }
.kpis .k2 { background:linear-gradient(135deg,#f59e0b,#ea580c) !important; }
.kpis .k3 { background:linear-gradient(135deg,#16a34a,#047857) !important; }
.kpis .k4 { background:linear-gradient(135deg,#8b5cf6,#6d28d9) !important; }
.kpis .k5 { background:linear-gradient(135deg,#06b6d4,#0e7490) !important; }
.kpis .k6 { background:linear-gradient(135deg,#f43f5e,#be123c) !important; }
.kpis .k7 { background:linear-gradient(135deg,#6366f1,#3730a3) !important; }
.kpis .kpi-ic { width:54px; height:54px; border-radius:14px; font-size:1.7rem; background:rgba(255,255,255,.24); }
.kpis .kpi b { margin-top:16px; font-size:2.5rem; color:#fff; }
.kpis .kpi .kpi-l { font-size:1.15rem; font-weight:700; color:#fff; }
.kpis .kpi small { font-size:.95rem; color:rgba(255,255,255,.85); }
.kpis .kpi:hover { box-shadow:0 22px 40px rgba(15,31,75,.3); }

/* panels: coloured header bars, bigger titles */
.dash-grid .panel { border:0; box-shadow:0 14px 32px rgba(15,31,75,.12); border-radius:16px; }
.dash-grid .panel > .ph:first-child { padding:18px 24px; border:0; color:#fff; background:linear-gradient(135deg,#1e3a8a,#2563eb); }
.dash-grid .panel:nth-child(2) > .ph:first-child { background:linear-gradient(135deg,#be185d,#ec4899); }
.dash-grid .panel:nth-child(3) > .ph:first-child { background:linear-gradient(135deg,#047857,#16a34a); }
.dash-grid .panel:nth-child(4) > .ph:first-child { background:linear-gradient(135deg,#6d28d9,#8b5cf6); }
.dash-grid .panel:nth-child(5) > .ph:first-child { background:linear-gradient(135deg,#c2410c,#f59e0b); }
.dash-grid .panel:nth-child(6) > .ph:first-child { background:linear-gradient(135deg,#0e7490,#06b6d4); }
.dash-grid .panel .ph h3 { font-size:1.3rem; font-weight:800; color:#fff; }
.dash-grid .panel .ph .muted, .dash-grid .panel .ph a.small { color:rgba(255,255,255,.88); font-size:.95rem; }
.dash-grid .panel .ph.sp { border-top:1px dashed #cbd5e1; }
.dash-grid .panel .ph.sp h3 { color:#0f1f4b; font-size:1.2rem; }
.hb-top { font-size:1rem; margin-bottom:7px; } .hb-track { height:12px; }
.legend li { font-size:1rem; } .legend { gap:10px 18px; }
.donut { width:190px; height:190px; } .donut > div { width:126px; height:126px; } .donut b { font-size:2rem; } .donut span { font-size:.85rem; }
.colchart em { font-size:.95rem; } .colchart small { font-size:.85rem; }
.al p { font-size:1rem; } .al a { font-size:.92rem; } .al { padding:14px 16px; }
.recent li { font-size:1.02rem; }
.t th { font-size:.82rem; } .t td { font-size:1.02rem; padding:16px 22px; }
.av { width:34px; height:34px; font-size:.95rem; }
.pill { font-size:.85rem; padding:4px 14px; }
@media (max-width:700px) { .kpis .kpi b { font-size:1.9rem; } .dash-hero h1 { font-size:1.8rem; } }
