/* portal-theme-revision: 2026-10-14b (Mendo brand navy #1a365d + orange #f36c21)
   Dark tokens and the shared chrome (gradient hairline, glow, theme control).
   Light tokens live on .page in ui.css. Session 20241cd2 owns the live-session
   switch; this file does not change that layout. */

html[data-theme=light]{color-scheme:light;background:#f5f7fa}
html[data-theme=dark]{color-scheme:dark;background:#060d1a}

/* theme-tokens-dark */
html[data-theme=dark] .page{
  --ink:#f3f6fb;--muted:#b7c3d6;--line:#263a58;--paper:#0d1a2f;
  --bg:#060d1a;--track:#13233c;--alt:#102039;--row:#1a314f;--hover:#182c4a;--sel:#1c3253;
  --accent:#f36c21;--accent-hover:#ff8a4c;--link:#ff9a5c;--spark:#ff9a5c;--heading:#e3ebf8;
  --blue:var(--link);--blue-hover:#ffc29e;--orange:#ea580c;--focus:var(--ink);
  --on-accent:#0b1220;
  --note-bg:#132a4d;--note-ink:#dce7f8;--note-line:#2e5288;
  --err-bg:#4c0519;--err-ink:#fecdd3;--err-line:#9f1239;
  --ok-bg:#052e16;--ok-ink:#a7f3d0;--ok-line:#166534;
  --busy-bg:#3b1a06;--busy-ink:#ffc29e;
  --field-line:#7189ab;--code-bg:#081325;--code-ink:#f3f6fb;
  --control-line:#7189ab;
  --glow:0 0 0 1px rgb(243 108 33 / .14), 0 18px 48px rgb(0 0 0 / .5);
  color-scheme:dark;
  background-color:var(--bg);
  background-image:
    radial-gradient(920px 540px at -10% -16%, rgb(44 82 130 / .55), transparent 60%),
    radial-gradient(740px 500px at 112% -12%, rgb(243 108 33 / .2), transparent 56%),
    radial-gradient(560px 420px at 72% 120%, rgb(26 54 93 / .5), transparent 60%);
}

.header{position:relative}
.header::after,.workspace.request-open .request-bar::before,.solo .panel::before{
  content:"";position:absolute;left:0;right:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,#1a365d,#2c5282 22%,#f36c21 52%,#ffb070 70%,#f36c21 84%,#1a365d);
  background-size:220% 100%;animation:portal-accent 14s linear infinite}
.header::after{bottom:0}
.workspace.request-open .request-bar{position:relative}
.workspace.request-open .request-bar::before{top:0}
.solo .panel{position:relative;overflow:hidden;box-shadow:var(--glow)}
.solo .panel::before{top:0}

.queue,.workspace,.panel,.page .up-card{box-shadow:var(--glow)}
.page .primary,.modal .primary,.page .btn.primary,.page a.button.primary{
  box-shadow:0 0 0 1px rgb(26 54 93 / .3), 0 8px 22px rgb(243 108 33 / .24)}
html[data-theme=dark] .page .primary,html[data-theme=dark] .modal .primary{
  box-shadow:0 0 0 1px rgb(255 176 112 / .4), 0 8px 28px rgb(243 108 33 / .45)}

.page .theme-toggle{border-color:color-mix(in srgb,var(--spark) 55%,var(--line));color:var(--accent);min-width:4.75rem}
html[data-theme=dark] .page .theme-toggle{color:var(--link);border-color:color-mix(in srgb,var(--link) 70%,var(--line))}
.page .tabs button[aria-pressed=true]{color:var(--accent)}
html[data-theme=dark] .page .tabs button[aria-pressed=true]{color:var(--link)}
.page .eyebrow{color:var(--spark);letter-spacing:.12em}
.page .queue-item.selected{box-shadow:inset 3px 0 var(--spark)}
.page .chips button{border-color:color-mix(in srgb,var(--accent) 40%,var(--control-line))}
.page .chips button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
html[data-theme=dark] .page .chips button:hover:not(:disabled){border-color:var(--link);color:var(--link)}

html[data-theme=dark] .brand{
  background:#f5f7fa;border-radius:10px;padding:2px 8px 2px 4px}
.page ::selection{background:#1a365d;color:#fff}
html[data-theme=dark] .page ::selection{background:#f36c21;color:#0b1220}

@keyframes portal-accent{from{background-position:0% 50%}to{background-position:220% 50%}}
@media (prefers-reduced-motion:reduce){
  .header::after,.workspace.request-open .request-bar::before,.solo .panel::before{animation:none}
}
@media (forced-colors:active){
  .page{background-image:none}
  .header::after,.workspace.request-open .request-bar::before,.solo .panel::before{background:CanvasText}
}

/* Session activity & audit trail */
.request-activity{overflow:auto}
.audit-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.audit-header>div{flex:1 1 14rem;min-width:0}
.audit-header .small-heading{margin-top:0}
.audit-list{display:grid;gap:10px}
.audit-row{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--alt)}
.audit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.audit-actor{font-size:.8125rem;color:var(--ink)}
.audit-detail{margin:8px 0 0;font-size:.8125rem;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}

/* Embedded Claude Assistant panel */
.page .assistant-btn{border-color:color-mix(in srgb,var(--spark) 60%,var(--line));color:var(--accent)}
html[data-theme=dark] .page .assistant-btn{color:var(--link);border-color:color-mix(in srgb,var(--link) 65%,var(--line))}
.page .assistant-btn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.assistant-panel{
  position:fixed;right:20px;bottom:calc(var(--fbw-dock,0px) + 20px);z-index:40;
  width:min(420px,calc(100vw - 24px));height:min(620px,calc(100dvh - 96px - var(--fbw-dock,0px)));
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:14px;background:var(--paper);
  box-shadow:var(--glow),0 24px 60px rgb(15 31 56 / .25);overflow:hidden}
.assistant-panel::before{
  content:"";height:3px;flex:0 0 auto;
  background:linear-gradient(90deg,#1a365d,#f36c21 55%,#1a365d)}
.assistant-header{
  padding:14px 16px;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--alt)}
.assistant-header h2{margin:2px 0 6px;font-size:1.0625rem}
.assistant-context{margin:0;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assistant-messages{
  flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px;
  display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.assistant-msg{
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  background:var(--alt);font-size:.8125rem;line-height:1.55}
.assistant-msg.user{
  background:var(--note-bg);border-color:var(--note-line);color:var(--note-ink);
  align-self:flex-end;max-width:92%}
.assistant-msg.assistant{
  border-left:3px solid #f36c21;max-width:96%}
.assistant-msg strong{display:block;font-size:.75rem;margin-bottom:4px;color:var(--heading)}
.assistant-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-form{
  padding:12px 16px;border-top:1px solid var(--line);background:var(--alt);
  display:grid;gap:8px}
.assistant-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
@media (max-width:760px){
  .assistant-panel{right:max(12px,env(safe-area-inset-right,0px));left:max(12px,env(safe-area-inset-left,0px));bottom:max(12px,calc(var(--fbw-dock,0px) + 8px),env(safe-area-inset-bottom,0px));width:auto;height:min(540px,calc(100dvh - 80px - var(--fbw-dock,0px)))}
}
/* Short screens: the panel runs from near the top to just above the Feedback bar. */
@media (max-height:500px){
  .assistant-panel{top:8px;height:auto;max-height:none}
  .assistant-header{padding:6px 12px;align-items:center}
  .assistant-header .eyebrow,.assistant-header .assistant-context{display:none}
  .assistant-header h2{margin:0;font-size:1rem}
  .assistant-messages{padding:8px 12px}
  .assistant-form{padding:8px 12px;gap:6px}
  .page .assistant-form textarea{height:52px;min-height:0}
}

