/* MillFlow identity — one final visual layer shared by public, secure and demo views.
   Presentational only: do not change security roles, status semantics, or app behavior. */
:root{
 --mf-navy:#071626;
 --mf-deep:#102b42;
 --mf-blue:#216fa8;
 --mf-blue-hover:#185a90;
 --mf-gold:#c7a47b;
 --mf-sky:#80b7dc;
 --mf-surface:#ffffff;
 --mf-canvas:#eef4f9;
 --mf-line:#d7e4ee;
 --mf-ink:#183c56;
 --mf-muted:#647f93;
 color-scheme:light;
}
:where(a,button,input,textarea,select,summary):focus-visible{outline-color:var(--mf-gold)}
/* Secure authentication splash: the screen shown before the user's profile loads. */
#app>.splash,
#app:has(>.splash){
 background:radial-gradient(ellipse 65% 45% at 73% 4%,#dbeaf7 0%,transparent 73%),linear-gradient(180deg,#f3f8fc,#eaf2f8) !important;
 color:var(--mf-ink);
}
#app>.splash .logo{
 background:linear-gradient(145deg,#143d60 0%,#216fa8 90%) !important;
 color:#fff!important;
 border:1px solid #527c9c!important;
 box-shadow:0 10px 28px #123c5a27,inset 0 -3px 0 #0b2944!important;
}
#app>.splash .logo span{color:var(--mf-gold)!important}
#app>.splash p{color:var(--mf-ink)!important}
/* Shared application controls: blue navigation, brass accent only for selection. */
#app .layout .queue-tabs button{background:#fff;border-color:var(--mf-line);color:var(--mf-ink)}
#app .layout .queue-tabs button.active{background:#e7f2fb;border-color:#94bdd9;color:#164b73;box-shadow:inset 0 2px 0 var(--mf-gold)}
#app .layout .queue-tabs button:focus-visible{outline-color:var(--mf-gold)}
#app .layout :is(.auth-tabs button.active,.btn.active){background:#e7f2fb;border-color:#94bdd9;color:#164b73}
#app .layout .btn.primary{background:var(--mf-blue);border-color:var(--mf-blue);color:#fff}
#app .layout .btn.primary:hover{background:var(--mf-blue-hover);border-color:var(--mf-blue-hover)}
/* Radio intelligence remains functionally identical: colors are brand tokens. */
.radio-ai-view{--green:var(--mf-blue);--ink:var(--mf-ink);--muted:var(--mf-muted);--line:var(--mf-line);--bg:var(--mf-canvas)}
.radio-ai-view .radio-hero{
 background:radial-gradient(circle at 93% 0%,#2e638a75,transparent 46%),linear-gradient(135deg,#081d31 0%,#113653 55%,#1b4c71 100%);
 box-shadow:0 18px 46px #0b2c4730;
}
.radio-ai-view .radio-hero::after{background:radial-gradient(circle,#72abd13d 0%,transparent 72%)}
.radio-ai-view .radio-hero .eyebrow{color:var(--mf-gold)}
.radio-ai-view .radio-hero p{color:#cee1ef}
.radio-ai-view .radio-flow span{color:#ecf5fc;border-color:#a9c5d133}
.radio-ai-view .radio-flow span b{background:var(--mf-gold);color:#08233a}
.radio-ai-view .radio-flow i{color:var(--mf-gold)}
.radio-ai-view .radio-prototype-note{background:#071f36ba}
.radio-ai-view .radio-concept-card{color:var(--mf-ink)}
.radio-ai-view .radio-concept-card blockquote{color:#284f6c}
.radio-ai-view .radio-status.listening{background:#e8f3fc;color:#185e8a}
.radio-ai-view .radio-status.routed{background:#e6f2fa;color:#22678e}
.radio-ai-view .radio-mic-stage.is-listening{border-color:#9fc4db;background:#eff7fc;box-shadow:0 0 0 3px #4d8fb422}
.radio-ai-view .radio-mic-button{background:#16486d;color:#fff}
.radio-ai-view .radio-meter span{background:linear-gradient(90deg,#2674a8,#c7a47b)}
.radio-ai-view .radio-live-transcript,
.radio-ai-view .radio-report-text{background:#102b42;color:#eaf4fc}
.radio-ai-view .radio-event{border-left-color:var(--mf-blue)}
.radio-ai-view .radio-event.is-ignored{border-left-color:#9caebd}
.radio-ai-view .radio-confidence{background:#e6f2fa;color:#256b96}
.radio-ai-view .radio-route b{color:var(--mf-ink)}
.radio-ai-view .radio-vocabulary-note{background:#f0f6fb;border-color:#d6e5f0;color:#56758b}
.radio-ai-view .radio-vocabulary-note b{color:#225b82}
/* Remaining stand-alone prototype hero variants that old CSS declared green. */
:where(.planner-hero,.sri-hero,.triage-hero,.triage-inbox-hero){
 background:radial-gradient(circle at 100% 0%,#3873a043,transparent 48%),linear-gradient(125deg,#0a2439,#174a6c)!important;
 color:#f4faff;
}
:where(.planner-hero,.sri-hero,.triage-hero) :where(h1,h2,h3){color:#fff}
:where(.planner-hero,.sri-hero,.triage-hero) :where(p,small){color:#d3e4f0}
:where(.v2d-head,.fi-page-head,.radio-ai-view) .eyebrow{color:#a77f4f}
/* Old demonstration controls and persistent mobile tab bars are blue/brass. */
#app .mobile-nav :is(button.active,button[aria-current="page"]),
#mf-mobile-nav-v2 :is(button.active,button[aria-current="page"]){
 background:#1b4d72!important;color:#fff!important;
 box-shadow:inset 0 2px var(--mf-gold)!important;
}
#app .mobile-nav :is(button.active,button[aria-current="page"]) :is(.sym,.mf-nav-icon),
#mf-mobile-nav-v2 :is(button.active,button[aria-current="page"]) .mf-nav-icon{color:#dfbd8e!important}
/* Separate closed-demo landing page, if accessed by old external links. */
.expired-shell{background:radial-gradient(circle at 73% 12%,#c5dff18a,transparent 43%),#edf4f9!important}
/* Keep the secure original-demo iframe exactly edge-to-edge. Never add a wrapper. */
body.mf-original-demo-active #app .mf-demo-fullscreen{background:var(--mf-canvas)}
@media(prefers-reduced-motion:reduce){
 #app>.splash .logo,.radio-ai-view .radio-hero{transition:none}
}
