/* Shared source-of-truth: palette and typography from the original Codex public site.
   Overrides are admin-scoped; public feed, sidebars, composer and hero stay intact. */
:root{--whiiso-coral:var(--brand-primary);--whiiso-coral-hover:var(--brand-primary-hover);--whiiso-ink:var(--brand-ink);--whiiso-canvas:var(--brand-canvas);--whiiso-card:var(--brand-surface);--whiiso-tint:var(--brand-soft);--whiiso-border:var(--brand-outline);--whiiso-font:var(--brand-font)}
html,body{font-family:var(--whiiso-font)}
body:has(.dashboard){background:var(--whiiso-canvas);color:var(--whiiso-ink)}
.dashboard{background:var(--whiiso-canvas)}
.dashboard .topbar,.dashboard .sidebar{background:#fff;border:1px solid var(--whiiso-border)}
.dashboard .brand,.dashboard .role-badge,.dashboard .panel-title svg,.dashboard .text-link{color:var(--whiiso-coral)}
.dashboard .brand{text-decoration:none}
.dashboard .brand:hover{opacity:.86}
.dashboard .stat-icon,.dashboard .role-badge{background:var(--whiiso-tint)}
.dashboard .nav-btn.active{background:var(--whiiso-tint);color:var(--whiiso-coral)}
.dashboard .nav-btn.active:before{background:var(--whiiso-coral)}
.dashboard .panel,.dashboard .stat,.dashboard .list-page{background:var(--whiiso-card);border:1px solid var(--whiiso-border)}
.dashboard .main{color:var(--whiiso-ink)}
.dashboard .btn-main,.dashboard .live-pill{background:var(--whiiso-coral);border-color:var(--whiiso-coral);color:#fff}
.dashboard .btn-outline{border-color:#e8dddf;color:var(--whiiso-coral)}
.dashboard .data-table th{background:var(--whiiso-tint)}
.dashboard .screen-heading h1{color:var(--whiiso-ink)}
.dashboard .row-name{color:var(--whiiso-ink)}
.dashboard .role-badge{border:1px solid var(--whiiso-border);cursor:pointer}
.dashboard .role-badge:focus-visible{outline:2px solid var(--whiiso-coral)}
.admin-role-context{position:absolute;z-index:30;right:115px;top:56px;background:white;border:1px solid var(--whiiso-border);box-shadow:0 18px 55px #24232824;padding:8px;min-width:225px;border-radius:13px;display:grid;gap:4px}
.admin-role-context[hidden]{display:none}
.admin-role-context a,.admin-role-context button{display:flex;align-items:center;gap:10px;text-align:left;text-decoration:none;color:var(--whiiso-ink);background:transparent;border:0;border-radius:8px;padding:11px;font-weight:750;font-size:13px}
.admin-role-context a:hover,.admin-role-context button:hover{background:var(--whiiso-tint)}
.admin-role-context .role-context-label{color:#697080;font-size:10px;padding:7px 11px;font-weight:700}
.dashboard .nav-btn.external{color:var(--whiiso-ink);text-decoration:none}
.dashboard .nav-btn.external:hover{background:var(--whiiso-tint)}
.record-overlay{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}
.record-overlay[hidden]{display:none}
.record-backdrop{position:absolute;inset:0;background:#17171a88}
.record-drawer{z-index:1;background:white;box-shadow:-15px 0 55px #17171a33;width:min(510px,100%);height:100%;overflow:auto;padding:24px 27px;font-family:var(--whiiso-font)}
.record-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--whiiso-border);padding-bottom:12px;gap:10px}
.record-header h2{font-size:22px;color:var(--whiiso-ink);margin:0}
.record-body{padding-top:18px;display:grid;gap:14px;color:var(--whiiso-ink)}
.record-body label{font-size:12px;font-weight:750;display:grid;gap:5px}
.record-body input,.record-body textarea,.record-body select{border:1px solid #e8dddf;padding:10px;width:100%;border-radius:8px;font:inherit}
.record-body textarea{min-height:95px;resize:vertical}
.record-body .record-actions{display:flex;gap:8px;flex-wrap:wrap;padding:5px 0}
.record-body .record-fields{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.record-body .record-fields dt{color:#697080}.record-body .record-fields dd{margin:0}
.record-body .record-hint{padding:10px;border-radius:8px;background:var(--whiiso-tint);color:#242328;font-size:12px;line-height:1.5}
.dashboard .view-preview-note{border:1px solid var(--whiiso-border);background:var(--whiiso-tint);padding:9px 13px;margin:0 7px 10px;border-radius:8px;font-size:12px}
@media(max-width:640px){.admin-role-context{right:12px;top:55px}.dashboard .brand{font-size:19px}.record-drawer{padding:17px}}

@media(max-width:640px){.dashboard .role-badge{display:flex;max-width:168px;overflow:hidden;text-overflow:ellipsis;font-size:10px}.dashboard .header-right{gap:6px}}
