/* WEKID Product Suite UI — light navigation + gold primary actions */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Sora:wght@400;500;600;700;800&display=swap');
:root{
  --ink:#0E1B2A; --gold:#C2A14D; --gold-hover:#8A6E22; --antique:#8A6E22;
  --slate:#566472; --paper:#FBFAF7; --white:#FFFFFF; --line:#DED9CF;
  --soft:#F3F0E9; --gold-soft:#F5EFD9; --shadow:0 8px 24px rgba(14,27,42,.07);
}
html,body{background:var(--paper)!important;color:var(--ink)!important;font-family:Sora,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body{overflow-x:hidden}
h1,h2,.sec-title h2{font-family:Fraunces,Georgia,serif!important;color:var(--ink)!important}

/* App shell */
.app{grid-template-columns:292px minmax(0,1fr)!important}
.sidebar,.nav.wek-fixed-nav,.app>.nav{
  width:292px!important; min-width:292px!important; max-width:292px!important;
  background:var(--paper)!important; color:var(--ink)!important;
  border-right:1px solid var(--line)!important; box-shadow:none!important;
}
.sidebar{padding:18px 14px!important}
.nav.wek-fixed-nav,.app>.nav{padding-bottom:22px!important;overflow-y:auto!important;overflow-x:visible!important}

/* Brand lockup */
.brand{background:transparent!important;border-bottom:1px solid var(--line)!important;padding:18px 18px 20px!important;margin:0 0 10px!important;overflow:visible!important;min-width:0!important}
.brand .logo,.brand .wek-wordmark,.wek-wordmark{
  display:block!important;width:190px!important;max-width:100%!important;min-width:120px!important;
  height:auto!important;object-fit:contain!important;object-position:left center!important;
  margin:0!important;padding:0!important;filter:none!important;overflow:visible!important;
}
.brand h1{font-family:Sora,system-ui,sans-serif!important;font-size:13px!important;line-height:1.35!important;margin:13px 0 0!important;color:var(--ink)!important;letter-spacing:0!important}
.brand .sub{color:var(--slate)!important;font-size:9px!important;line-height:1.5!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-top:8px!important}

/* Sidebar group labels */
.nav .grp,.wek-site-group{color:var(--antique)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;padding:18px 18px 7px!important;margin:0!important;border-color:var(--line)!important}
.wek-site-group{margin-top:8px!important;border-top:1px solid var(--line)!important}

/* Sidebar links and internal demo controls */
.nav a,.nav button{
  color:var(--ink)!important;background:transparent!important;border:1px solid transparent!important;
  border-left:3px solid transparent!important;border-radius:9px!important;
  margin:2px 10px!important;padding:10px 12px!important;font-family:Sora,system-ui,sans-serif!important;
  font-size:12.5px!important;font-weight:500!important;line-height:1.25!important;text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease!important;
}
.nav button{display:block!important;width:calc(100% - 20px)!important;box-sizing:border-box!important;text-align:left!important;cursor:pointer!important}
/* Nav links must stack as full-width rows (the Simulator builds its whole
   sidebar from <a> elements, which are inline by default). */
.nav a{display:flex!important;align-items:center!important;gap:9px!important}
.nav a .n,.nav button .n{flex:none!important}
.nav a:hover,.nav button:hover{background:#F7F3E7!important;color:var(--ink)!important;border-color:#E8D8A8!important;transform:translateX(1px)!important}
.nav a.active,.nav button.active{
  background:linear-gradient(90deg,#F4E8BE 0%,#FAF6E8 100%)!important;color:var(--ink)!important;
  border-color:#E4D18F!important;border-left-color:var(--demo-accent,var(--gold))!important;font-weight:700!important;
}
.nav a .n{background:#EEEAE2!important;color:var(--slate)!important;border:1px solid #E1DDD5!important}
.nav a.active .n{background:var(--gold)!important;color:var(--ink)!important;border-color:var(--gold)!important}
.wek-site-link{font-size:12px!important}

.sidebar-footer{background:#fff!important;border:1px solid var(--line)!important;box-shadow:none!important;color:var(--ink)!important;margin:18px 10px 0!important;padding:14px!important}
.sidebar-footer .badge{background:var(--gold-soft)!important;color:var(--antique)!important;border-color:#E4D18F!important}
.sidebar-footer .footer-note{color:var(--slate)!important}

/* Top bars and content */
.main,main{background:var(--paper)!important}
.top,.topbar,.sim-topbar{background:rgba(251,250,247,.97)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}
.card,.panel,.detail-box{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important;border-radius:12px!important}

/* Buttons */
.btn,.btn.primary,.btn.gold,.btn-primary,button.primary,input[type=submit],button[type=submit]{
  background:var(--gold)!important;color:var(--ink)!important;border:1px solid var(--gold)!important;
  box-shadow:none!important;border-radius:9px!important;font-weight:700!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}
.btn:hover,.btn.primary:hover,.btn.gold:hover,.btn-primary:hover,button.primary:hover,input[type=submit]:hover,button[type=submit]:hover{
  background:var(--gold-hover)!important;color:#fff!important;border-color:var(--gold-hover)!important;filter:none!important;transform:translateY(-1px)!important;
}
.btn.ghost,.btn-secondary,.btn.secondary,.btn:not(.primary):not(.gold):not(.red){
  background:#fff!important;color:var(--ink)!important;border-color:#D7C58D!important;
}
.btn.ghost:hover,.btn-secondary:hover,.btn.secondary:hover,.btn:not(.primary):not(.gold):not(.red):hover{
  background:#F8F2DF!important;color:var(--ink)!important;border-color:var(--gold)!important;
}
.btn.red{background:#fff!important;color:#9C2F2F!important;border-color:#D7A7A7!important}.btn.red:hover{background:#9C2F2F!important;color:#fff!important}

/* Inputs and focus */
input,select,textarea{background:#fff!important;color:var(--ink)!important;border-color:#CFC9BD!important}
input:focus,select:focus,textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(194,161,77,.18)!important;outline:none!important}

/* Tooltips remain legible on the light shell */
.nav a[data-tip]::after,.nav button[data-tip]::after,.btn[data-tip]::after,.field-help[data-tip]::after{background:var(--ink)!important;color:#fff!important;border:0!important}
.nav a[data-tip]::before,.nav button[data-tip]::before{border-right-color:var(--ink)!important}
.btn[data-tip]::before,.field-help[data-tip]::before{border-bottom-color:var(--ink)!important}

/* ============================================================
   v4 — deep coverage for the Agent Console & Simulator.
   These pages have dark components the earlier override missed,
   which produced dark-on-dark (invisible) text. PRD Builder and
   Governance don't use these classes, so they're unaffected.
   ============================================================ */

/* --- Agent Console: <aside class="sidebar"> wraps an inner <nav class="nav">.
       Stop the inner nav painting dark over the now-light sidebar. --------- */
.sidebar{background:var(--paper)!important;border-right:1px solid var(--line)!important;color:var(--ink)!important}
.sidebar .nav{background:transparent!important;margin-top:6px!important}
.sidebar .brand h1{color:var(--ink)!important}
.sidebar-footer{background:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important}

/* --- Agent Console: decision key/value tiles, notice banner, tables ------- */
.kv{background:var(--soft)!important;border-color:var(--line)!important;color:var(--ink)!important}
.kv .label{color:var(--slate)!important}
.decision-title{color:var(--ink)!important}
.notice{background:var(--gold-soft)!important;color:var(--ink)!important;border-color:#E4D18F!important}
.lvl-chip{background:var(--gold-soft)!important;color:var(--antique)!important;border-color:#E4D18F!important}
.table th{background:var(--ink)!important;color:#fff!important}
.table td{color:var(--ink)!important;border-color:var(--line)!important}
.score-bars .bar{background:#ECE8DF!important;border-color:#E0DCCF!important}

/* --- Agent Console: audit steps, policy rules, workflow cards, empties ---- */
.step,.rule,.wf-scn-card,.import-box{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.step-num{background:var(--soft)!important;color:var(--ink)!important}
.empty{background:#fff!important;color:var(--slate)!important;border-color:var(--line)!important}
.wf-scn-card .nm{color:var(--ink)!important}
.auth-rung{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.auth-rung .nm{color:var(--ink)!important}.auth-rung .ds{color:var(--slate)!important}
.auth-rung .lv{background:var(--soft)!important;color:var(--antique)!important;border-color:var(--line)!important}
.auth-rung.granted{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold) inset!important}
.auth-rung.granted .lv{background:var(--gold)!important;color:#0b1626!important}

/* --- Simulator: the fixed sidebar is 292px now, so the body offset that
       clears it must match (its inline rule still says 238px). ------------- */
body:has(.wek-fixed-nav){padding-left:292px!important}
@media(max-width:980px){body:has(.wek-fixed-nav){padding-left:248px!important}}
@media(max-width:760px){body:has(.wek-fixed-nav){padding-left:0!important}}

/* --- Simulator: the dark hero <header> and its title --------------------- */
header{background:var(--paper)!important;color:var(--ink)!important;border-bottom:1px solid var(--line)!important}
header .brand h1{color:var(--ink)!important}
header .brand .sub{color:var(--slate)!important}

/* --- Simulator: scenario cards + inner evidence/authority boxes ---------- */
.scn{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.scn.active{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold) inset!important}
.scn .d{color:var(--slate)!important}
.maturity-line,.route{background:var(--soft)!important;color:var(--ink)!important;border-color:var(--line)!important}
.composite{color:var(--slate)!important}
.note{color:var(--slate)!important}
.card .model-tag{background:var(--soft)!important;border-color:var(--line)!important;color:var(--antique)!important}
.rung{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.rung .nm{color:var(--ink)!important}.rung .ds{color:var(--slate)!important}
.rung .lv{background:var(--soft)!important;color:var(--antique)!important;border-color:var(--line)!important}
.rung.granted{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold) inset!important}
.rung.granted .lv{background:var(--gold)!important;color:#0b1626!important}
.bridge-medal{background:#fff!important}
.bar .track{background:#ECE8DF!important}

/* --- Lighter score / evidence bars (both demos) ------------------------- */
.score-bars .bar{background:#ECE8DF!important;border-color:#E0DCCF!important}
.score-bars .bar>span{background:linear-gradient(90deg,#E7D39A,#C2A14D)!important}
.bar .fill,.fill{background:linear-gradient(90deg,#E7D39A,#C2A14D)!important}

/* ============================================================
   v5 — PRD Builder Part E readability + green accent.
   Fixes light-on-light text and the leftover dark chips/buttons.
   --wek-green is a readable deep green (matches the success tone).
   ============================================================ */
:root{--wek-green:#137A43;--wek-green-soft:#E9F3EC;--wek-green-line:#BFE0CB}

/* Live-resolution stat tiles: label readable, value readable.
   (No !important on the value so inline level-colors like the amber
   "Assigned Level 4" still win and stay colour-coded.) */
.kv .k{color:var(--slate)!important}
.kv .v{color:var(--ink)}

/* Top status chips: were dark navy — make them light and readable */
.top .chip{background:var(--soft)!important;border:1px solid var(--line)!important}
.top .chip .k{color:var(--slate)!important}
.top .chip .v{color:var(--ink)!important}

/* Consequence scale buttons: light + readable, selected = green */
.modebtns button{background:#fff!important;color:var(--ink)!important;border-color:#D7C58D!important}
.modebtns button:hover{background:#F8F2DF!important;border-color:var(--gold)!important}
.modebtns button.on{background:var(--wek-green)!important;color:#fff!important;border-color:var(--wek-green)!important}

/* Eyebrows / kicker labels in a readable green accent */
.sec-title .part,.model-tag,.card .model-tag{color:var(--wek-green)!important}
.card .model-tag{background:var(--wek-green-soft)!important;border-color:var(--wek-green-line)!important}

/* Part D — "Score the five layers": names/descriptions were near-white,
   score values were pale gold. Make them readable on the white card. */
.slider-row .nm{color:var(--ink)!important}
.slider-row .nm small{color:var(--slate)!important}
.scoreval{color:var(--antique)!important}

/* Release-authority ladder: rung titles were light-on-white */
.rung .desc b{color:var(--ink)!important}
.rung .desc .muted{color:var(--slate)!important}
.rung:not(.on):not(.assigned):not(.granted){opacity:.62!important}   /* dimmed but still legible; .granted = Simulator's active rung */

@media(max-width:980px){
  .app{grid-template-columns:248px minmax(0,1fr)!important}
  .sidebar,.nav.wek-fixed-nav,.app>.nav{width:248px!important;min-width:248px!important;max-width:248px!important}
  .brand .logo,.brand .wek-wordmark,.wek-wordmark{width:176px!important}
}
@media(max-width:760px){
  .app{display:block!important}
  .sidebar,.nav.wek-fixed-nav,.app>.nav{position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .brand .logo,.brand .wek-wordmark,.wek-wordmark{width:172px!important;max-width:calc(100% - 8px)!important}
  .nav a,.nav button{margin-left:12px!important;margin-right:12px!important}
}
