:root{--navy:#102a43;--blue:#2563eb;--teal:#14b8a6;--purple:#7c3aed;--bg:#f5fbfc;--card:#fff;--muted:#64748b;--danger:#dc2626;--shadow:0 16px 40px rgba(15,23,42,.10)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#f8fdff,#eef9f7 55%,#f4f0ff);color:#1f2937}.topbar{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,23,42,.08);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy);text-decoration:none;font-size:1.25rem}.brand img{width:46px;height:46px;object-fit:contain;border-radius:14px}nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}nav a,.linkbutton{color:#334155;text-decoration:none;font-weight:700;background:none;border:0;cursor:pointer;font:inherit}.inline{display:inline}.container{max-width:1180px;margin:0 auto;padding:38px 24px}.hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:54px 0}.hero h1{font-size:clamp(2.6rem,7vw,5.4rem);margin:.1em 0;color:var(--navy);letter-spacing:-.06em}.lead{font-size:1.25rem;color:#475569;max-width:720px}.eyebrow{display:inline-block;color:#0f766e;font-weight:800;background:rgba(20,184,166,.12);border-radius:999px;padding:8px 14px}.hero-logo{width:min(330px,80%);justify-self:center;filter:drop-shadow(0 20px 35px rgba(37,99,235,.18))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(15,23,42,.10);background:#fff;border-radius:14px;padding:11px 16px;font-weight:800;color:var(--navy);text-decoration:none;margin:6px 4px;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--teal),var(--blue),var(--purple));color:#fff;box-shadow:var(--shadow);border:0}.cards{display:grid;gap:20px}.three{grid-template-columns:repeat(3,1fr)}.card,.login-card,.result-card,.warning{background:var(--card);border:1px solid rgba(15,23,42,.07);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin:18px 0}.warning{background:#fff7ed;border-color:#fed7aa}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:24px 0}.metric{background:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow);border:1px solid rgba(15,23,42,.07)}.metric span{display:block;color:var(--muted);font-weight:700}.metric strong{font-size:2rem;color:var(--navy)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);margin:20px 0}.table th,.table td{padding:12px 14px;border-bottom:1px solid #e5e7eb;text-align:left}.table th{background:#eef9f7;color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.form-control,input,select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:12px;margin:6px 0 14px}.login-shell{display:grid;place-items:center;min-height:70vh}.login-card{max-width:520px;width:100%}.login-logo{width:86px;height:86px;object-fit:contain}.test-users{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:14px;margin-top:18px;color:#475569}.question-row{display:grid;grid-template-columns:1fr 180px;gap:16px;align-items:center;border-top:1px solid #e5e7eb;padding:10px 0}.muted{color:var(--muted)}.ai-panel{background:linear-gradient(135deg,#ecfeff,#f5f3ff);border-radius:24px;padding:26px;font-size:1.2rem;font-weight:700;color:var(--navy);box-shadow:var(--shadow)}.footer{text-align:center;padding:30px;color:#64748b}@media(max-width:850px){.hero,.three{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.question-row{grid-template-columns:1fr}}

/* RC5 compact public landing page fixes */
body{min-height:100vh;overflow-x:hidden}.topbar{min-height:66px;padding:8px 22px}.brand img{width:42px;height:42px}.container{max-width:1180px;padding:18px 24px}.home-screen{height:calc(100vh - 122px);min-height:620px;display:grid;grid-template-columns:1.05fr .75fr;grid-template-rows:1fr auto auto;gap:18px 34px;align-items:center}.home-copy{align-self:center}.home-copy h1{font-size:clamp(2.7rem,6.5vw,5.6rem);line-height:.95;margin:8px 0 14px;color:var(--navy);letter-spacing:-.07em}.home-copy .lead{font-size:clamp(1rem,1.6vw,1.23rem);margin:0 0 18px;max-width:690px}.home-actions{display:flex;gap:10px;flex-wrap:wrap}.home-logo-panel{display:grid;place-items:center;align-self:center}.hero-logo{width:min(260px,34vw);max-height:260px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(37,99,235,.18))}.home-cards{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;padding:16px 18px;box-shadow:var(--shadow)}.mini-card h3{margin:0 0 6px;color:var(--navy)}.mini-card p{margin:0;color:#475569}.urgent-strip{grid-column:1 / -1;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:12px 16px;color:#7c2d12}.contact-screen{min-height:calc(100vh - 160px);display:grid;place-items:center}.contact-card{max-width:720px;width:100%}
@media(max-width:850px){.home-screen{height:auto;min-height:0;grid-template-columns:1fr;padding-bottom:20px}.home-logo-panel{order:-1}.hero-logo{width:150px}.home-cards{grid-template-columns:1fr}.footer{padding:16px}.topbar{position:relative}}
@media(max-height:760px) and (min-width:851px){.container{padding-top:10px;padding-bottom:10px}.home-screen{height:calc(100vh - 106px);min-height:520px;gap:12px 26px}.hero-logo{width:min(210px,28vw);max-height:210px}.home-copy h1{font-size:clamp(2.5rem,5.8vw,4.7rem)}.mini-card{padding:12px 14px}.urgent-strip{padding:10px 14px}.footer{padding:14px}.topbar{min-height:58px}.brand img{width:36px;height:36px}}

/* RC6 scoped portal dashboard enhancements */
.dashboard-card-link { text-decoration:none; color:inherit; display:block; transition:transform .12s ease, box-shadow .12s ease; }
.dashboard-card-link:hover { transform:translateY(-2px); box-shadow:0 20px 48px rgba(15,23,42,.16); }
.dashboard-card-link small { display:block; margin-top:8px; color:var(--muted); font-weight:600; line-height:1.35; }
.metric.risk { border-left:6px solid #dc2626; }
.chart-row { display:grid; grid-template-columns:140px 1fr; gap:12px; align-items:center; margin:10px 0; }
.chart-row span { color:var(--muted); font-weight:700; }
.chart-row div { height:12px; background:#e5e7eb; border-radius:999px; overflow:hidden; }
.chart-row i { display:block; height:100%; background:linear-gradient(135deg,var(--teal),var(--blue),var(--purple)); border-radius:999px; min-width:4px; }
.realtime-alerts .alert-pill { padding:10px 12px; border-radius:14px; border:1px solid rgba(15,23,42,.08); background:#f8fafc; margin:8px 0; }
.realtime-alerts .alert-pill.high { background:#fff1f2; border-color:#fecdd3; }
.realtime-alerts .alert-pill strong, .realtime-alerts .alert-pill span, .realtime-alerts .alert-pill em { display:block; }
.realtime-alerts .alert-pill span { color:#475569; font-size:.92rem; }
.realtime-alerts .alert-pill em { color:#94a3b8; font-size:.8rem; margin-top:4px; }
textarea.form-control { width:100%; padding:12px; border-radius:12px; border:1px solid #cbd5e1; font-family:inherit; }
@media(max-width:850px){.chart-row{grid-template-columns:1fr}.dashboard-click-grid{grid-template-columns:1fr}}

/* RC7 frozen-scope workflow and risk visualisation */
.result-card.severity-low,.risk-low{border-left:6px solid #16a34a;background:#f0fdf4;}
.result-card.severity-moderate,.risk-moderate{border-left:6px solid #f59e0b;background:#fffbeb;}
.result-card.severity-high,.risk-high{border-left:6px solid #dc2626;background:#fff1f2;}
.result-card.severity-critical,.risk-critical{border-left:6px solid #7c3aed;background:#f5f3ff;}
.risk-row td{vertical-align:top;}
.warning label{display:block;margin:12px 0;font-weight:700;}


/* RC8 final role themes, risk colours and logo control */
.home-logo-img,.hero-logo-large,.login-logo{width:150px!important;max-width:150px!important;max-height:150px!important;height:auto!important;object-fit:contain!important;display:block!important;margin:0 auto!important}.home-logo-panel{padding:10px!important}.brand img{width:36px!important;height:36px!important}.risk-low{border-left:6px solid #16a34a!important;background:#f0fdf4!important}.risk-moderate{border-left:6px solid #f59e0b!important;background:#fffbeb!important}.risk-high{border-left:6px solid #dc2626!important;background:#fff1f2!important}.risk-critical{border-left:6px solid #7c3aed!important;background:#f5f3ff!important}.severity-low{border-left:8px solid #16a34a}.severity-moderate{border-left:8px solid #f59e0b}.severity-high{border-left:8px solid #dc2626}.severity-critical{border-left:8px solid #7c3aed}.theme-admin{background:linear-gradient(135deg,#f8fafc,#eef2ff 55%,#f5f3ff)!important}.theme-employer{background:linear-gradient(135deg,#f8fdff,#ecfeff 55%,#f0fdf4)!important}.theme-clinical-company{background:linear-gradient(135deg,#fff,#f0f9ff 55%,#eef2ff)!important}.theme-clinician{background:linear-gradient(135deg,#fff,#f7fee7 55%,#ecfdf5)!important}.theme-insurance-admin{background:linear-gradient(135deg,#fff,#eff6ff 55%,#e0f2fe)!important}.theme-insurance-customer{background:linear-gradient(135deg,#fff,#f0f9ff 55%,#f0fdfa)!important}.theme-union-admin{background:linear-gradient(135deg,#fff,#fff7ed 55%,#fffbeb)!important}.theme-union-member{background:linear-gradient(135deg,#fff,#fefce8 55%,#ecfccb)!important}.theme-employee{background:linear-gradient(135deg,#fff,#f0fdf4 55%,#ecfeff)!important}@media(max-width:850px){.home-logo-img,.hero-logo-large,.login-logo{width:115px!important;max-width:115px!important;max-height:115px!important}}
/* RC9 admin/user scoping and risk visual polish */
.inactive-row { background:#f1f5f9 !important; color:#94a3b8; }
.inactive-row td { opacity:.78; }
.risk-row.risk-low { border-left:6px solid #22c55e; }
.risk-row.risk-moderate { border-left:6px solid #f59e0b; }
.risk-row.risk-high { border-left:6px solid #ef4444; }
.risk-row.risk-critical { border-left:6px solid #7c3aed; background:#faf5ff; }

/* RC10 role-specific visual themes and datacentre-ready layout polish */
body.theme-public { background:linear-gradient(135deg,#f8fdff,#eef9f7 55%,#f4f0ff)!important; }
body.theme-admin { --role-accent:#7c3aed; --role-accent-2:#1d4ed8; background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 48%,#f5f3ff 100%)!important; }
body.theme-employer { --role-accent:#0f766e; --role-accent-2:#2563eb; background:linear-gradient(135deg,#f8fdff 0%,#ecfeff 52%,#f0fdf4 100%)!important; }
body.theme-clinical-company { --role-accent:#0369a1; --role-accent-2:#7c3aed; background:linear-gradient(135deg,#ffffff 0%,#f0f9ff 52%,#eef2ff 100%)!important; }
body.theme-clinician { --role-accent:#15803d; --role-accent-2:#0d9488; background:linear-gradient(135deg,#ffffff 0%,#f7fee7 52%,#ecfdf5 100%)!important; }
body.theme-insurance-admin { --role-accent:#1d4ed8; --role-accent-2:#0284c7; background:linear-gradient(135deg,#ffffff 0%,#eff6ff 52%,#e0f2fe 100%)!important; }
body.theme-insurance-customer { --role-accent:#0891b2; --role-accent-2:#14b8a6; background:linear-gradient(135deg,#ffffff 0%,#f0f9ff 52%,#f0fdfa 100%)!important; }
body.theme-union-admin { --role-accent:#c2410c; --role-accent-2:#d97706; background:linear-gradient(135deg,#ffffff 0%,#fff7ed 52%,#fffbeb 100%)!important; }
body.theme-union-member { --role-accent:#65a30d; --role-accent-2:#ca8a04; background:linear-gradient(135deg,#ffffff 0%,#fefce8 52%,#ecfccb 100%)!important; }
body.theme-employee { --role-accent:#059669; --role-accent-2:#0ea5e9; background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 52%,#ecfeff 100%)!important; }

.portal-topbar { box-shadow:0 10px 30px rgba(15,23,42,.06); }
body[class*="theme-"] .portal-topbar { border-bottom:3px solid var(--role-accent, var(--teal)); }
.role-chip { display:inline-flex; align-items:center; border-radius:999px; padding:7px 11px; font-weight:900; color:#fff; background:linear-gradient(135deg,var(--role-accent,var(--teal)),var(--role-accent-2,var(--blue))); box-shadow:0 8px 20px rgba(15,23,42,.12); }
.role-banner { max-width:1180px; margin:14px auto 0; border-radius:20px; padding:12px 18px; display:flex; justify-content:space-between; gap:16px; color:#fff; background:linear-gradient(135deg,var(--role-accent,var(--teal)),var(--role-accent-2,var(--blue))); box-shadow:0 14px 34px rgba(15,23,42,.12); }
.role-banner span { opacity:.92; }
.portal-container > h1:first-child, .portal-container > h2:first-child { color:var(--role-accent,#102a43); }
body[class*="theme-"] .btn-primary { background:linear-gradient(135deg,var(--role-accent,var(--teal)),var(--role-accent-2,var(--blue)))!important; }
body[class*="theme-"] .metric { border-top:4px solid var(--role-accent,var(--teal)); }
body[class*="theme-"] .table th { background:color-mix(in srgb, var(--role-accent,var(--teal)) 14%, white); }
.home-logo-img,.hero-logo-large,.login-logo{width:140px!important;max-width:140px!important;max-height:140px!important;height:auto!important;object-fit:contain!important;display:block!important;margin:0 auto!important}.home-logo-panel{padding:10px!important}.brand img{width:34px!important;height:34px!important}
@media(max-width:850px){.role-banner{margin:10px 14px 0; flex-direction:column}.role-chip{width:max-content}.home-logo-img,.hero-logo-large,.login-logo{width:110px!important;max-width:110px!important;max-height:110px!important}}


/* RC11 role-scoped charts, clickable details, risk-coded alerts */
.risk-badge,.case-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:900;font-size:.82rem;border:1px solid rgba(15,23,42,.08)}
.risk-badge.risk-low,.risk-low .risk-badge{background:#dcfce7;color:#166534;border-color:#86efac}.risk-badge.risk-moderate,.risk-badge.risk-medium{background:#fef3c7;color:#92400e;border-color:#fcd34d}.risk-badge.risk-high{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.risk-badge.risk-critical{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.risk-badge.risk-info{background:#e0f2fe;color:#075985;border-color:#7dd3fc}.risk-badge.risk-not{background:#f1f5f9;color:#475569}.risk-row.risk-not-scored{background:#f8fafc}.case-status.status-new,.case-status.status-referred{background:#e0f2fe;color:#075985}.case-status.status-escalated{background:#fee2e2;color:#991b1b}.case-status.status-active{background:#dcfce7;color:#166534}.case-status.status-closed{background:#f1f5f9;color:#475569}.alert-row.unread{font-weight:800;box-shadow:inset 5px 0 0 #2563eb}.alert-row.alert-high{background:#fff1f2}.alert-row.alert-critical{background:#f5f3ff}.alert-row.alert-moderate{background:#fffbeb}.alert-row.alert-low{background:#f0fdf4}.realtime-alerts a.alert-pill{display:block;text-decoration:none;color:inherit}.chart-row.low i{background:#22c55e}.chart-row.moderate i,.chart-row.medium i{background:#f59e0b}.chart-row.high i{background:#ef4444}.chart-row.critical i{background:#7c3aed}.tenant-detail-link{font-weight:800;color:var(--role-accent,var(--blue));text-decoration:none}.tenant-detail-link:hover{text-decoration:underline}


/* RC12 interactive dashboard graph fixes */
.chart-link { text-decoration:none; color:inherit; border-radius:12px; padding:6px; }
.chart-link:hover { background:rgba(15,23,42,.045); transform:translateY(-1px); }
.chart-row.low i, .chart-row.info i { background:#22c55e !important; }
.chart-row.medium i, .chart-row.moderate i, .chart-row.active i { background:#f59e0b !important; }
.chart-row.high i, .chart-row.escalated i, .chart-row.referred i, .chart-row.new i { background:#ef4444 !important; }
.chart-row.critical i { background:#7c3aed !important; }
.risk-badge, .case-status { display:inline-flex; align-items:center; border-radius:999px; padding:4px 10px; font-weight:800; font-size:.82rem; }
.risk-low { background:#dcfce7; color:#166534; }
.risk-medium, .risk-moderate { background:#fef3c7; color:#92400e; }
.risk-high { background:#fee2e2; color:#991b1b; }
.risk-critical { background:#ede9fe; color:#5b21b6; }
.status-new, .status-referred, .status-escalated { background:#fee2e2; color:#991b1b; }
.status-active { background:#fef3c7; color:#92400e; }
.status-closed { background:#dcfce7; color:#166534; }


/* RC17 fixes 4: secure header/banner contrast */
.secure-role-banner, .role-banner.secure-role-banner {
  background:#073B4C !important; color:#FFFFFF !important; border:1px solid #052d39 !important;
  text-shadow:none !important; font-weight:800;
}
.secure-role-banner strong, .secure-role-banner span { color:#FFFFFF !important; opacity:1 !important; }
.portal-topbar, .topbar { background:#FFFFFF !important; color:#0f172a !important; }
.portal-topbar a, .topbar a, .linkbutton { color:#0f172a !important; }
.role-chip { color:#FFFFFF !important; }

/* RC17 no-PowerBI built-in reporting */
.report-filter-card .grid-form, .compact-filter { display:grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; align-items:end; }
.report-filter-card label { display:flex; flex-direction:column; font-weight:600; gap:.35rem; }
.report-filter-card input, .report-filter-card select { width:100%; padding:.65rem; border:1px solid #cfd8dc; border-radius:.6rem; background:#fff; color:#102027; }
.form-actions { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
.interactive-chart-card canvas, .card canvas { max-width:100%; }

/* RC17 production-safe enhancements: journey timeline, pulse checks, workload ETA meter */
.journey-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:.75rem}
.journey-step{border:1px solid #d7e2ea;border-radius:14px;padding:1rem;background:#fff;position:relative;min-height:84px}
.journey-step strong{display:block;color:#073B4C;margin-bottom:.35rem}
.journey-step span{font-size:.9rem;color:#5c6b73}
.journey-step.done{border-color:#2a9d8f;background:linear-gradient(180deg,#f4fffc,#ffffff)}
.journey-step.done:before{content:'✓';position:absolute;right:12px;top:10px;background:#2a9d8f;color:white;border-radius:50%;width:24px;height:24px;text-align:center;line-height:24px;font-weight:700}
.journey-step.pending:before{content:'•';position:absolute;right:12px;top:10px;background:#d7e2ea;color:#073B4C;border-radius:50%;width:24px;height:24px;text-align:center;line-height:24px;font-weight:700}
.pulse-form textarea{width:100%;margin:.75rem 0;border:1px solid #d7e2ea;border-radius:10px;padding:.7rem}
.pulse-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}
.pulse-options label{border:1px solid #d7e2ea;border-radius:999px;padding:.6rem .8rem;background:#fff;cursor:pointer}
.pulse-options label:hover{background:#f6fbfd;border-color:#6bb6c8}
.workload-meter{display:inline-block;width:90px;height:10px;border-radius:999px;background:#e9f0f4;overflow:hidden;vertical-align:middle;margin-right:.4rem}
.workload-meter i{display:block;height:100%;background:linear-gradient(90deg,#2a9d8f,#e9c46a,#e76f51);border-radius:999px}
.pulse-chart .mini-chart-bar{min-width:120px}
