/* nextpartner console — shared visual system. No external fonts or assets. */
:root{--bg:#0b111b;--bg2:#101925;--card:#131e2c;--line:#253346;--txt:#edf2f8;--muted:#a0aec0;--accent:#f3c366;--accent2:#8fc6dd;--ok:#63d5a4;--radius:18px;--sidebar:246px;--dur:180ms;color-scheme:dark}
html{min-height:100%;background:var(--bg);scroll-padding-top:100px}
body{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 900px 600px at 65% 0%,#17223570,transparent 80%),var(--bg);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a{text-underline-offset:4px}a:hover{color:#b5e0f1}
h1{font-size:clamp(1.85rem,2.5vw,2.6rem);line-height:1.18;letter-spacing:-.045em;font-weight:650;margin:0 0 1rem}
h2{font-size:1rem;line-height:1.4;text-transform:none;letter-spacing:-.015em;color:var(--txt);font-weight:650;margin:0 0 .9rem}
p{margin:.6rem 0 1rem}.lead{font-size:1rem;line-height:1.75;margin-top:0}.hint{line-height:1.65}
.ui-icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle}
/* Navigation */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:30;background:#0d1521;border-right:1px solid #223043;display:flex;flex-direction:column}
.sidebar-brand{min-height:101px;padding:24px 22px;display:flex;align-items:center;gap:12px;color:var(--txt);text-decoration:none;border-bottom:1px solid #22304380}
.sidebar-brand strong{display:block;font-size:22px;letter-spacing:-1px;line-height:1.2}.brand-period{color:var(--accent)}
.sidebar-brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.6px;color:var(--muted);margin-top:6px}
.brand-mark{width:37px;height:42px;display:grid;place-items:center;color:var(--accent);background:#f3c3660b;border:1px solid #f3c36630;border-radius:11px}.brand-mark .ui-icon{width:25px;height:25px}
.side-nav{padding:12px 13px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0}.nav-group+.nav-group{margin-top:19px}
.nav-label{font-size:9px;font-weight:650;letter-spacing:1.6px;text-transform:uppercase;color:#7f91aa;margin:11px 12px 9px}
.side-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:39px;margin:3px 0;padding:8px 12px;border:1px solid transparent;border-radius:9px;color:#a6b5c8;text-decoration:none;font-size:13px;line-height:1.4;transition:background var(--dur),color var(--dur),border-color var(--dur)}
.side-nav a .ui-icon{width:17px;height:17px;opacity:.85}.side-nav a:hover{background:#172437;color:var(--txt)}
.side-nav a[aria-current=page]{background:linear-gradient(90deg,#f3c3661c,#f3c36609);color:#f4d394;border-color:#f3c36624;font-weight:600}
.side-nav a[aria-current=page]::before{content:"";position:absolute;left:-14px;top:11px;bottom:11px;width:3px;background:var(--accent);border-radius:0 4px 4px 0}
.nav-count,.nav-warning{margin-left:auto;font-size:10px;background:#ef6d6d24;color:#ffb3b3;min-width:19px;text-align:center;border-radius:5px}.nav-warning{background:#f3c36620;color:var(--accent)}
.sidebar-foot{display:flex;align-items:center;gap:10px;margin:0 16px;padding:18px 6px;border-top:1px solid var(--line)}
.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:11px;font-weight:550}.sidebar-foot small{font-size:9px;color:var(--muted)}
.sidebar-monogram{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;font-size:13px;color:var(--accent);background:#172231}
/* Context bar and content */
.consolebar{min-height:77px;position:sticky;top:0;z-index:20;margin-left:var(--sidebar);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 36px;background:#0b111bea;backdrop-filter:blur(16px);border-bottom:1px solid #253346b0}
.console-context{display:flex;align-items:center;gap:12px;min-width:0}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:11px;min-width:0;color:#8192a9}.breadcrumbs strong{font-weight:500;color:#d3deed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-divider{opacity:.45}
.topactions{margin:0;flex:0 0 auto;gap:10px}.topactions form{margin:0}.topactions .btn{min-height:36px;font-size:11px;padding:7px 12px;border-radius:8px}.topactions .btn-danger{background:#9c353519;border-color:#a747474d;color:#f0a6a6}.topactions .btn-danger:hover{background:#9c353536}.topactions .btn-ghost{color:#adbbcd;border-color:#2b394b}
.menu-toggle,.sidebar-close{display:none}.nav-backdrop{display:none}
.app-shell>.wrap{width:auto;max-width:1600px;margin:0 0 0 var(--sidebar);padding:36px clamp(20px,3vw,48px) 48px;min-height:calc(100dvh - 150px)}
.app-shell>.foot{margin-left:var(--sidebar);max-width:none;padding:20px clamp(20px,3vw,48px);border-color:#25334680;font-size:10px;gap:12px;color:#7e90a9;flex-wrap:wrap}
.wrap>*{min-width:0}.wrap>h1+.lead{margin-bottom:28px}.grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.card{min-width:0;padding:24px;background:linear-gradient(145deg,#162232,#111c2a);border:1px solid #28364a;border-radius:var(--radius);box-shadow:0 4px 20px #0000000d}.card.wide{margin-top:20px}.card>:last-child{margin-bottom:0}.card h2+.hint{margin-top:-4px}
.btn{min-height:40px;border-radius:9px;background:#1c2b3e;font-size:12px;padding:9px 15px;font-weight:550;border-color:#324257;transition:background var(--dur),border-color var(--dur),transform var(--dur)}
.btn:hover{background:#25374f;border-color:#4a607d}.btn-primary{background:#f3c366;color:#241b0d;border-color:#f3c366;box-shadow:0 3px 8px #0002}.btn-primary:hover{background:#ffda8d;border-color:#ffda8d;color:#241b0d}.btn-ghost{background:transparent}.btn-danger{background:#4b252b;border-color:#824149;color:#ffd0d0}.btn-ok{background:#173d30;border-color:#326d54;color:#b8f3d7}
.btn.small{min-height:31px}.btn-block{justify-content:center}.btn-lg{min-height:46px}.plan-actions .btn-primary{box-shadow:0 4px 14px #0002}
input,select,textarea{min-height:43px;padding:10px 13px;background:#0c1521;border:1px solid #35445b;color:var(--txt);border-radius:9px;max-width:100%;transition:border-color var(--dur),box-shadow var(--dur)}
textarea{width:100%;min-height:120px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#536883}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f3c36612}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--accent)}.radios input{width:auto}.form{gap:10px}.form label{color:#c4cfdd;font-size:12px}.form.card{max-width:880px}.row label{flex:1 1 160px}.check{font-size:12px}.hint{font-size:12px;color:#9eafc5}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.alert{padding:15px 18px;margin:18px 0;border-radius:11px;font-size:12px;line-height:1.8}.alert-info{background:#162a3b70;border-color:#30536a;color:#c1d9e9}.alert-warn{background:#382d1670;border-color:#816330;color:#f0d7a6}.alert-error{background:#3a1c236e;border-color:#79404b;color:#f2c1c8}.alert-ok{background:#173a2a70;border-color:#32654b;color:#bce5cd}
.alert strong{font-weight:650}.alert p:last-child{margin-bottom:0}.flashes{margin-bottom:20px}.flash{font-size:13px}
.list li{padding:9px 0;border-bottom-style:solid;border-color:#253346;align-items:baseline}.list .dot{align-self:center}.dot{width:7px;height:7px;margin-right:5px;box-shadow:none!important}.dot.ok{background:var(--ok)}.dot.warn{background:#ecc26b}.dot.bad{background:#ee9292}
.badge,.st{font-size:10px;padding:3px 8px;font-weight:550}.st-ok{background:#63d5a415;color:#94e0ba;border:1px solid #63d5a430}.st-warn{background:#f3c36617;color:#efd090;border:1px solid #f3c36630}.st-fail{background:#ef85851a;color:#ffb0b0;border:1px solid #ef858530}.st-info{background:#8fc6dd17;color:#b4d7e9;border:1px solid #8fc6dd30}
/* Data remains readable at every viewport width. */
.table-scroll{max-width:100%;overflow-x:auto;scrollbar-width:thin;border:1px solid #253346;border-radius:11px;margin:14px 0;overscroll-behavior-x:contain}.table-scroll>table{margin:0;min-width:520px}.table-scroll:last-child{margin-bottom:0}
table{font-size:12px}th{background:#0d17247a;font-size:9px;letter-spacing:.08em;font-weight:600;white-space:nowrap;padding:13px 14px}td{padding:14px;line-height:1.7}tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff02}td code{overflow-wrap:anywhere}td .muted{font-size:11px}code{color:#c6d8ef;background:#0b142170;border-radius:4px;padding:2px 5px;overflow-wrap:anywhere}pre code{padding:0;background:none}pre{font-size:12px;border-color:#2b3b50;background:#0a121e;line-height:1.7}
.gauge{width:142px;height:142px;margin:22px auto}.gauge-value{font-size:2.5rem;letter-spacing:-.07em}.ring{stroke:#233348;stroke-width:7}.arc{stroke-width:7}.level{font-size:12px;border-radius:8px}.chk{padding:20px 0}.chk-head h2,.chk-head h3{margin:0}.chk-obs{font-size:11px;line-height:1.8}
details{border-radius:9px}summary{cursor:pointer;padding:8px 0;color:#b6c7dd;font-size:12px}summary:hover{color:var(--txt)}.timeline li{padding-bottom:18px}.chain{gap:8px;margin-top:18px}.chain li{font-size:11px;padding:8px 12px;background:#0c1724;border-color:#2c3e53;border-radius:8px}.chain li+li::before{color:#d5b16d}
/* Crew page */
.page-eyebrow{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:9px;letter-spacing:2px;font-weight:650;text-transform:uppercase;margin:0 0 14px}.page-eyebrow::before{content:"";width:20px;height:1px;background:var(--accent);opacity:.7}
.crew-hero{display:flex;justify-content:space-between;gap:32px;align-items:center;padding:4px 0 27px}.crew-hero h1{font-size:clamp(2rem,3vw,3rem);margin-bottom:12px}.crew-hero .lead{max-width:61ch;font-size:15px;margin-bottom:0}.crew-hero-aside{border-left:1px solid #35435a;padding:2px 0 2px 25px;flex:0 0 150px}.crew-total{display:block;font-size:52px;line-height:1;font-weight:550;letter-spacing:-4px;color:#ead3a3}.crew-hero-aside small{display:block;font-size:10px;color:var(--muted);margin-top:12px}
.page-tabs{display:flex;gap:25px;margin-bottom:30px;border-bottom:1px solid #28364a;overflow-x:auto}.page-tabs a{display:flex;align-items:center;gap:9px;flex:0 0 auto;font-size:12px;text-decoration:none;padding:12px 0;color:#9daec4;border-bottom:2px solid transparent}.page-tabs a:hover{color:var(--txt)}.page-tabs a[aria-current=location]{color:#f4d597;border-bottom-color:#f3c366}.tab-count{font-size:9px;padding:0 6px;border-radius:4px;border:1px solid #f3c36630;background:#f3c3660b}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}.section-heading h2{font-size:16px;margin:0}.section-heading p{font-size:10px;color:#91a3bb;margin:0}
.crew-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.crew-grid .agent{padding:0;overflow:hidden;text-align:left;background:#131e2c;border-color:#2a384b;border-radius:14px;position:relative;transition:border-color var(--dur),box-shadow var(--dur)}
.crew-grid .agent:hover{border-color:#8f744a;box-shadow:0 8px 25px #0003}
.crew-grid .agent[data-agent] .avatar{width:100%;height:auto;aspect-ratio:1.5;margin:0;border:0;border-radius:0;box-shadow:none;background:#101b2c}
.crew-grid .agent[data-agent] .avatar img{object-position:50% 38%;animation-duration:16s}.crew-grid .agent:hover .avatar{transform:none;box-shadow:none}
.crew-grid .agent[data-agent] .avatar::after{background:linear-gradient(0deg,#131e2c 0%,#131e2c00 35%,#0d15210d);box-shadow:none}
.agent-index{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:9px;letter-spacing:1px;color:#e1e9f5;background:#101925aa;border:1px solid #d8e7ff24;padding:3px 7px;border-radius:5px;z-index:1;backdrop-filter:blur(8px)}
.agent-content{padding:6px 18px 16px;display:flex;flex-direction:column;min-height:177px}.agent-specialty{font-size:9px;text-transform:uppercase;letter-spacing:1.6px;font-weight:600;color:#c7aa78;margin:0 0 7px}.crew-grid .agent h2{font-size:18px;font-weight:600;letter-spacing:-.035em;color:#f0f3f8;margin:0 0 9px;line-height:1.3}.agent-description{font-size:13px;line-height:1.8;margin:0 0 17px;color:#a6b5c8;flex:1}
.agent-status{padding-top:12px;margin:0;display:flex;align-items:center;gap:0;border-top:1px solid #28364a;font-size:11px;font-weight:500;color:#c9d6e6;min-height:29px}.agent-status .dot{margin-right:7px}.crew-policy{margin:24px 0 30px;border-color:#314457;background:#14223280}.crew-policy strong{color:#dce7f3}
.crew-section{scroll-margin-top:100px}.crew-section>h2{display:flex;align-items:center;gap:10px}.crew-section>h2::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--accent);opacity:.75}
/* Authentication */
.auth-shell{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0%,#24344d70,transparent 65%),#0b111b}.auth-shell>.wrap{flex:1;width:100%;padding:32px 20px}.auth-shell>.foot{width:min(100%,1000px);font-size:10px;padding:20px;gap:15px;flex-wrap:wrap}.login-card{margin:7vh auto 40px;background:linear-gradient(150deg,#182536,#111b2a);border-color:#35435a;border-radius:20px;padding:36px;box-shadow:0 32px 80px #0004}.login-card .logo.big{width:40px;height:40px;margin-bottom:24px}.login-card h1{font-size:26px;margin-bottom:16px}.login-card>.muted{font-size:12px;margin-bottom:25px}.login-card .form{gap:10px}.login-card .check{align-items:flex-start}.login-card .check input{margin-top:4px}.login-card .btn-block{margin-top:10px}.help{border-top:1px solid var(--line);padding-top:12px;margin-top:24px}.help ul{font-size:11px;padding-left:18px}
@media(min-width:1900px){.app-shell>.wrap{margin-right:auto;margin-left:max(var(--sidebar),calc((100vw - 1600px + var(--sidebar))/2))}}
@media(max-width:1250px){:root{--sidebar:218px}.sidebar-brand{padding:24px 16px;gap:10px}.sidebar-brand strong{font-size:20px}.sidebar-brand small{font-size:7px}.consolebar{padding:15px 24px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-grid .agent[data-agent] .avatar{aspect-ratio:1.6}.agent-content{min-height:165px}.side-nav a{font-size:12px}}
@media(max-width:900px){:root{--sidebar:0px}.sidebar{position:relative;width:100%;border-right:0;border-bottom:1px solid var(--line);max-height:none}.sidebar-brand{min-height:76px;padding:16px 22px}.side-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nav-group+.nav-group{margin-top:0}.sidebar-foot{display:none}.consolebar{padding:12px 20px;min-height:68px}.breadcrumbs{font-size:10px;gap:8px}.app-shell>.wrap{padding:26px 24px 40px}.app-shell>.foot{padding:20px 24px}.ui-ready .sidebar{position:fixed;inset:0 auto 0 0;width:264px;transform:translateX(-100%);visibility:hidden;transition:transform 220ms ease,visibility 220ms;box-shadow:20px 0 80px #0006;max-height:100dvh}.ui-ready .side-nav{display:block;padding-top:12px}.ui-ready .nav-group+.nav-group{margin-top:19px}.ui-ready .sidebar-foot{display:flex}.ui-ready .menu-toggle{display:inline-flex;width:38px;height:38px;padding:8px;align-items:center;justify-content:center}.ui-ready .nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:25;background:#020713b8;border:0;backdrop-filter:blur(3px)}.nav-open .sidebar{transform:translateX(0);visibility:visible}.nav-open{overflow:hidden}.crew-hero{gap:20px}.crew-hero-aside{flex-basis:110px;padding-left:20px}.crew-total{font-size:44px}}
@media(max-width:560px){.consolebar{padding:10px 14px;gap:8px;flex-wrap:wrap}.console-context{flex:1;min-width:120px}.breadcrumbs>span:first-child,.breadcrumb-divider{display:none}.breadcrumbs strong{font-size:11px}.topactions{gap:6px}.topactions .btn{font-size:9px;padding:6px 9px;min-height:34px}.app-shell>.wrap{padding:23px 16px 32px}.app-shell>.foot{padding:18px 16px;display:block}.foot span{display:block}.foot span+span{margin-top:5px}.card{padding:20px}.crew-hero{align-items:flex-start;padding-bottom:21px;gap:16px}.crew-hero h1{font-size:32px}.crew-hero .lead{font-size:12px}.crew-hero-aside{flex-basis:65px;padding-left:14px;margin-top:34px}.crew-total{font-size:35px;letter-spacing:-2px}.crew-hero-aside small{font-size:8px;line-height:1.5}.page-eyebrow{font-size:8px;letter-spacing:1.6px}.page-tabs{gap:21px;margin-bottom:24px}.page-tabs a{font-size:10px}.section-heading{align-items:flex-start;gap:8px}.section-heading p{font-size:9px;text-align:right;max-width:125px}.crew-grid{gap:12px}.crew-grid .agent[data-agent] .avatar{aspect-ratio:1}.agent-content{padding:5px 12px 13px;min-height:198px}.crew-grid .agent h2{font-size:15px}.agent-description{font-size:12px;line-height:1.7;margin-bottom:13px}.agent-specialty{font-size:7px;letter-spacing:1px}.agent-status{font-size:9px;line-height:1.5}.agent-index{top:9px;left:9px;font-size:8px}.crew-policy{font-size:11px;padding:14px;margin-top:20px}.alert{overflow-wrap:anywhere}.chk-head{align-items:flex-start}.chk-head .st{flex-shrink:0}.with-action{align-items:stretch}.with-action input{min-width:0}.table-scroll>table{min-width:500px}.login-card{padding:26px;margin-top:3vh}.side-nav{grid-template-columns:1fr 1fr}.row{align-items:stretch}.row>.btn{justify-content:center}.plan-head{gap:12px}.plan-icon{width:38px;height:38px}.plan-head h2{font-size:14px}.choices{grid-template-columns:1fr}.choice-body{padding:15px}.choice-text strong{font-size:14px}.choice-text span{font-size:12px}.planif{max-width:100%}}
@media(max-width:350px){.crew-grid{grid-template-columns:1fr}.agent-content{min-height:160px}.crew-grid .agent[data-agent] .avatar{aspect-ratio:1.4}.crew-hero-aside{display:none}.topactions .btn{font-size:8px;padding:6px}.section-heading p{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ui-ready .sidebar{transition:none}.crew-grid .agent[data-agent] .avatar img{animation:none!important}.agent,.avatar{transition:none!important}}
@media print{.sidebar,.consolebar,.nav-backdrop,.page-tabs,.menu-toggle{display:none!important}.app-shell>.wrap,.app-shell>.foot{margin:0;max-width:none;padding:0}.card,.crew-grid .agent{background:#fff;color:#111;border-color:#aaa;box-shadow:none}h1,h2,p,.muted,.agent-description,.agent-specialty,.agent-status{color:#111!important}.table-scroll{overflow:visible}.table-scroll>table{min-width:0}body,html{background:#fff;color:#111}.crew-grid .agent[data-agent] .avatar img{animation:none}.crew-hero-aside{display:none}}

@media(max-width:900px){.ui-ready .sidebar-close{position:absolute;right:10px;top:17px;display:inline-flex;align-items:center;justify-content:center;padding:5px;min-height:30px;width:30px;border:0;background:#162231}.ui-ready .sidebar-brand{padding-right:38px;gap:8px}.ui-ready .sidebar-brand strong{font-size:19px}.ui-ready .sidebar-brand small{font-size:6px}}

/* Overview: one full-width column; the status band and the tiles carry their own grids. */
.dashboard-grid{grid-template-columns:1fr;align-items:stretch}
.dashboard-grid .card-eyebrow{font-size:9px;color:#9bacc2;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 8px}
.dashboard-grid .card h2{font-size:16px}
.dashboard-grid .card.wide{margin-top:0}

/* Compact specialist cards */
.crew-grid .agent{padding:18px;display:flex;flex-direction:column}
.agent-top{display:flex;align-items:center;gap:13px;min-height:72px;margin-bottom:15px}
.crew-grid .agent[data-agent] .avatar{width:72px;height:72px;aspect-ratio:1;flex:0 0 72px;border-radius:13px;border:1px solid #c7aa7838;overflow:hidden}
.crew-grid .agent[data-agent] .avatar img{object-position:50% 35%}
.crew-grid .agent[data-agent] .avatar::after{background:none;box-shadow:inset 0 0 12px #0002}
.agent-identity{min-width:0}.crew-grid .agent h2{font-size:17px;margin:0;line-height:1.35}
.agent-specialty{font-size:8px;letter-spacing:1.1px;margin-bottom:6px}
.agent-content{padding:0;min-height:0;flex:1;display:flex;flex-direction:column}
.agent-description{font-size:13px;line-height:1.75;margin:0 0 16px;min-height:46px}
.agent-status{padding-top:11px;font-size:11px;margin-top:auto;min-height:29px}
/* Findings: progressive disclosure, with the latest observation expanded. */
.findings-panel{padding:24px}.findings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.findings-heading .card-eyebrow{margin:0 0 5px}.findings-heading h2{margin:0}.findings-count{font-size:11px;color:#afbdd0;border:1px solid #334257;background:#0f1a28;padding:4px 10px;border-radius:6px;white-space:nowrap}.findings-intro{font-size:12px;color:#9cacbf;margin:12px 0 20px}
.findings-feed{border:1px solid #2b3b50;border-radius:12px;overflow:hidden;background:#0c162280}
.finding-entry{border-radius:0}.finding-entry+.finding-entry{border-top:1px solid #2b3b50}
.finding-summary{list-style:none;display:grid;grid-template-columns:96px minmax(0,1fr) 90px 18px;gap:18px;align-items:start;padding:20px;cursor:pointer;font-size:13px;transition:background 160ms}
.finding-summary::-webkit-details-marker{display:none}.finding-summary::marker{content:""}.finding-summary:hover{background:#ffffff03}.finding-summary:focus-visible{outline-offset:-3px}
.finding-severity{display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:start;padding:3px 9px;margin-top:1px;border:1px solid #53607955;border-radius:6px;font-size:10px;font-weight:550;color:#b6cce0;background:#8fc6dd0e;white-space:nowrap}.finding-severity>span{width:5px;height:5px;border-radius:50%;background:currentColor}
.severity-low,.severity-info{color:#a8cce6;border-color:#8fc6dd38;background:#8fc6dd0b}.severity-medium{color:#f0cc88;border-color:#f3c36640;background:#f3c3660d}.severity-high{color:#ffbf94;border-color:#f0a16c55;background:#f0a16c0e}.severity-critical{color:#ffaaaa;border-color:#f1878755;background:#f1878710}
.finding-preview{min-width:0;display:block}.finding-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500;line-height:1.7;color:#dfe7f2;font-size:13px}.finding-meta{display:block;font-size:10px;color:#92a5be;margin-top:7px}.finding-date{font-size:11px;line-height:1.7;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:#c1cfdf}.finding-date span{display:block;color:#8c9fb8;font-size:10px;margin-top:3px}.finding-chevron{width:18px;height:18px;color:#9babc0;margin-top:3px;transition:transform 160ms}.finding-entry[open]>.finding-summary .finding-chevron{transform:rotate(180deg)}
.finding-entry[open]>.finding-summary{background:#1c2a3c50;border-bottom:1px solid #293a50}.finding-entry[open] .finding-title{-webkit-line-clamp:1;color:#f0f4f9}
.finding-body{padding:22px 20px 23px 134px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:28px;background:#14213150}
.finding-body h3{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#96aac3;font-weight:600;margin:0 0 12px}.finding-observation p{font-size:13px;line-height:1.85;color:#c2cede;margin:0;overflow-wrap:anywhere}.finding-actions{border-left:1px solid #2b3b50;padding-left:24px}.finding-actions ul{list-style:none;padding:0;margin:0}.finding-actions li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 9px;align-items:start;padding:0 0 12px}.finding-actions li+li{padding-top:12px;border-top:1px solid #29394d}.finding-actions li:last-child{padding-bottom:0}.action-label{font-size:12px;line-height:1.6;color:#cbd6e5}.finding-actions time{grid-column:2;font-size:10px;color:#8fa3bf;font-variant-numeric:tabular-nums}.action-result{font-size:9px;line-height:1.6;border-radius:5px;padding:2px 7px;border:1px solid;white-space:nowrap}.result-ok{background:#63d5a40c;color:#9bdfbf;border-color:#63d5a430}.result-failed{background:#f187870f;color:#ffa9a9;border-color:#f1878740}.result-other{background:#f3c3660d;color:#e8c989;border-color:#f3c36638}.finding-no-action{font-size:12px;color:#9faec2;margin:0}
.findings-empty{display:flex;align-items:center;gap:17px;border:1px dashed #34465d;border-radius:11px;margin-top:20px;padding:25px}.empty-symbol{width:36px;height:36px;display:grid;place-items:center;background:#1b2b40;border-radius:10px;color:#b3c6de;flex:0 0 auto}.findings-empty h3{font-size:14px;margin:0 0 5px;font-weight:550}.findings-empty p{font-size:12px;color:#a1b0c4;margin:0}
@media(max-width:1250px){.finding-body{grid-template-columns:1fr;padding-left:20px;gap:22px}.finding-actions{padding:20px 0 0;border-left:0;border-top:1px solid #2b3b50}.finding-actions li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.finding-actions time{grid-column:auto}.crew-grid .agent h2{font-size:17px}}
@media(max-width:650px){.finding-summary{grid-template-columns:1fr auto 16px;padding:16px;gap:10px 12px}.finding-severity{grid-column:1;grid-row:1}.finding-date{grid-column:2;grid-row:1;font-size:10px;text-align:right;display:flex;gap:8px;align-items:center}.finding-date span{margin:0}.finding-chevron{grid-column:3;grid-row:1}.finding-preview{grid-column:1/-1;grid-row:2}.finding-title{font-size:13px}.finding-body{padding:18px 16px}.finding-actions li{grid-template-columns:auto minmax(0,1fr)}.finding-actions time{grid-column:2}.findings-count{font-size:10px}.findings-heading{gap:10px}.findings-heading .card-eyebrow{font-size:8px}.findings-heading h2{font-size:16px}}
@media(max-width:560px){.crew-grid{grid-template-columns:1fr;gap:12px}.crew-grid .agent{padding:16px}.agent-top{gap:14px;margin-bottom:12px;min-height:64px}.crew-grid .agent[data-agent] .avatar{width:64px;height:64px;flex-basis:64px;aspect-ratio:1;border-radius:12px}.agent-content{padding:0;min-height:0}.agent-specialty{font-size:8px;letter-spacing:1.1px}.crew-grid .agent h2{font-size:17px}.agent-description{min-height:0;font-size:13px;margin-bottom:13px}.agent-status{font-size:11px}.findings-panel{padding:18px}.findings-intro{font-size:11px;margin-bottom:16px}.finding-observation p{font-size:12px}.findings-empty{padding:18px;align-items:flex-start}}
@media print{.finding-entry:not([open]) .finding-body{display:block!important}.finding-title{display:block}.finding-body,.finding-entry[open]>.finding-summary,.findings-feed{background:#fff}.finding-body p,.finding-title,.action-label,.finding-date{color:#111}.finding-chevron{display:none}}

.finding-issue{color:#ffb0b0}.finding-interrupted{color:#e8c989}
/* Ressources du serveur (Ingénieur, ticket #70) : 4 jauges, un verdict, 2 recommandations au plus. */
.resources-card{display:flex;flex-direction:column;gap:14px}
.resources-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.resources-verdict{margin:0;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid}
.verdict-ok{color:#3ddc97;border-color:#2b7a55;background:#10331f}
.verdict-up{color:#ffb020;border-color:#8a5300;background:#3a2a08}
.resources-gauges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mini-gauge{position:relative;text-align:center;padding:14px 8px 12px;border-radius:12px;background:#0f1a29;border:1px solid #223146}
.mini-gauge svg{width:92px;height:92px;display:block;margin:0 auto}
.mini-ring{fill:none;stroke:#233348;stroke-width:8}
.mini-arc{fill:none;stroke:var(--ok);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray 800ms ease}
.mini-warn .mini-arc{stroke:var(--warn)}
.mini-bad .mini-arc{stroke:var(--bad)}
.mini-value{position:absolute;top:14px;left:0;right:0;height:92px;display:grid;place-items:center;font-size:19px;font-weight:700;letter-spacing:-.03em}
.mini-title{margin:8px 0 0;font-size:13px;font-weight:600}
.mini-sub{margin:2px 0 0;font-size:12px;color:var(--muted)}
.resources-advice{list-style:none;margin:0;padding:0}
.resources-advice li{padding:8px 0;border-top:1px solid #223146;font-size:14px;line-height:1.45}
.resources-advice .dot{margin-right:8px}
.resources-more{align-self:flex-end;font-size:13px}
@media(max-width:650px){.resources-gauges{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-gauge svg{width:80px;height:80px}.mini-value{height:80px;font-size:17px}}
.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 1rem}
.trend{margin:0;padding:10px 12px;border-radius:12px;background:#0f1a29;border:1px solid #223146}
.trend figcaption{font-size:13px;font-weight:600;margin-bottom:6px}
.trend svg{width:100%;height:48px;display:block}
.trend-line{fill:none;stroke:var(--accent2);stroke-width:1.5;vector-effect:non-scaling-stroke}
/* Vue d'ensemble compacte (ticket #74) : voyants en 4 états, jamais la couleur seule. */
.dashboard-grid .status-band,.dashboard-grid .tiles-row{grid-column:1/-1}
.status-band{display:flex;flex-direction:column;gap:14px}
.status-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.status-text{flex:1 1 260px;min-width:0}
.dashboard-grid .status-text h2{margin:0;font-size:18px;text-transform:none;letter-spacing:0;color:var(--txt)}
.status-text p{margin:2px 0 0;color:var(--muted);font-size:13px}
.status-score{margin:0;font-size:13px;color:var(--muted)}
.voyant{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;vertical-align:middle}
.voyant-lg{width:16px;height:16px}
.v-ok{background:var(--ok);box-shadow:0 0 8px #3ddc9799;animation:voyant-pouls 3s ease-in-out infinite}
.v-prevu{background:var(--warn);box-shadow:0 0 8px #ffb02080}
.v-anomalie{background:var(--bad);box-shadow:0 0 10px #ff6b6bb3;animation:voyant-pouls 1.2s ease-in-out infinite}
.v-arret{background:#05080d;border:2px solid var(--bad);box-sizing:border-box}
@keyframes voyant-pouls{0%,100%{opacity:1}50%{opacity:.35}}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.svc{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;background:#0f1a29;border:1px solid #223146;font-size:14px;min-width:0}
.svc-nom{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-note{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.svc-prevu .svc-note{color:var(--warn)}
.svc-anomalie,.svc-arret{border-color:#8e3038}
.svc-anomalie .svc-note,.svc-arret .svc-note{color:var(--bad)}
.status-legend{display:flex;flex-wrap:wrap;gap:16px;margin:0;font-size:12px;color:var(--muted)}
.status-legend .voyant{margin-right:6px;animation:none}
.tiles-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tile{display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.dashboard-grid .tile h2{margin:0;font-size:15px;text-transform:none;letter-spacing:0;color:var(--txt)}
.tile-sub{margin:0;font-size:13px;color:var(--muted)}
.tile-sub .dot{margin-right:7px}
.tile form{margin:0}
.tile-link{align-self:flex-start;margin-top:4px;font-size:13px;color:var(--accent2);text-decoration:none}
.tile-link:hover{text-decoration:underline}
.tile-button{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles-row{grid-template-columns:1fr}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}.svc{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.v-ok,.v-anomalie{animation:none}}
/* Connexion IA : consommation de l'équipage (ticket #78). Couleurs par agent, jamais seules. */
.conso{display:flex;flex-direction:column;gap:18px;margin:0 0 20px}
.conso-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.conso-head h2{margin:0;font-size:18px}
.conso .card-eyebrow{font-size:9px;color:#9bacc2;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 8px}
.conso-source{margin:0;font-size:12px;color:var(--muted)}
.conso-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.conso-kpi{background:#0f1a29;border:1px solid #223146;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.conso-kpi p{margin:0}
.kpi-label{font-size:12px;color:var(--muted)}
.kpi-value{font-size:24px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.kpi-sub{font-size:12px;color:var(--muted)}
.kpi-alert{color:var(--bad)}
.meter{width:100%;height:6px;display:block;margin:4px 0 2px}
.meter-track{fill:#223146}
.meter-ok .meter-fill{fill:var(--ok)}.meter-warn .meter-fill{fill:var(--warn)}.meter-bad .meter-fill{fill:var(--bad)}
.conso-empty{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px dashed #2c3d55;border-radius:12px}
.conso-empty p{margin:0;font-size:14px;color:var(--muted)}.conso-empty .voyant{margin-top:6px}
.conso-chart-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.conso-legend,.flux-legend,.agent-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}
.conso-legend li,.flux-legend li{display:flex;align-items:center;gap:6px}
.sq{width:10px;height:10px;border-radius:2px;display:inline-block;flex:0 0 auto}
.conso-switch{display:flex;border:1px solid #2c3d55;border-radius:8px;overflow:hidden}
.conso-switch label{padding:5px 12px;font-size:12px;cursor:pointer;color:var(--muted)}
#unite-jetons:checked~.conso-chart-bar label[for=unite-jetons],#unite-eur:checked~.conso-chart-bar label[for=unite-eur]{background:#22344d;color:var(--txt)}
#unite-jetons:focus-visible~.conso-chart-bar label[for=unite-jetons],#unite-eur:focus-visible~.conso-chart-bar label[for=unite-eur]{outline:2px solid var(--accent2)}
#unite-jetons:checked~.graph-eur,#unite-eur:checked~.graph-jetons{display:none}
.conso-graph{margin:0}.conso-graph svg{width:100%;height:auto;max-height:250px;display:block}
.conso-graph .grid{stroke:#1f2c3f;stroke-width:1}.conso-graph .axis{stroke:#2f4058;stroke-width:1}
.conso-graph .tick{fill:#7f93ad;font-size:13px}
.bar-analyste,.sq-analyste{fill:#5b9cf0;background:#5b9cf0}
.bar-directeur,.sq-directeur{fill:#f08a4b;background:#f08a4b}
.bar-cortex,.sq-cortex{fill:#a78bfa;background:#a78bfa}
.bar-autre,.sq-autre{fill:#8a96a8;background:#8a96a8}
.conso-graph .bar:hover{opacity:.8}
.conso-agents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.conso-agent{background:#0f1a29;border:1px solid #223146;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.agent-top{display:flex;align-items:center;gap:12px}
.agent-face{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:#22344d}
.agent-id{flex:1;min-width:0}.agent-id h3{margin:0;font-size:15px}.agent-id p{margin:0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-cost{margin:0;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.agent-line{margin:0;font-size:13px;color:var(--muted)}.agent-line strong{color:var(--txt)}
.bad-txt{color:var(--bad)}
.flux{width:100%;height:12px;display:block;border-radius:4px;overflow:hidden;background:#1a2738}
.seg-cache{fill:#8fc2f5;background:#8fc2f5}.seg-nouveau{fill:#3d7fd6;background:#3d7fd6}
.seg-reflexion{fill:#f5b301;background:#f5b301}.seg-reponse{fill:#e0782f;background:#e0782f}
.flux-legend strong{color:var(--txt);font-weight:500}
.agent-badges li{padding:3px 9px;border-radius:999px;border:1px solid}
.badge-ok{color:#7fe3b8;border-color:#245c47}.badge-warn{color:#ffcf73;border-color:#6a5220}.badge-bad{color:#ff9d9d;border-color:#6b2f36}
.conso-check{margin:0;font-size:12px;color:var(--muted)}
/* Alertes e-mail (ticket #95). */
.alertes-dest{margin:-6px 0 16px;font-size:13px}
.alertes-form h2{margin:18px 0 10px;font-size:15px}.alertes-form h2:first-of-type{margin-top:0}
.alertes-profils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.alertes-profil{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#0f1824;cursor:pointer;font-size:13px;color:var(--muted)}
.alertes-profil strong{color:var(--txt);font-size:14px}.alertes-profil input{position:absolute;opacity:0;pointer-events:none}
.alertes-profil.on,.alertes-profil:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.alertes-profil:focus-within{outline:2px solid var(--accent2);outline-offset:2px}
.alertes-options{display:flex;flex-direction:column;gap:8px;max-width:640px}
.alertes-plage{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alertes-plage input{width:auto}
.alertes-types td:first-child{width:46%}.alertes-types select{min-width:220px}
.alertes-verrou{display:inline-flex;align-items:center;gap:6px;color:#ffb0b0;font-size:12px;white-space:nowrap}.alertes-verrou .ui-icon{width:14px;height:14px}
.alertes-exemple{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.alertes-exemple select{width:auto;min-width:260px}
.alertes-journal td a{color:var(--txt)}
@media(max-width:700px){.alertes-profils{grid-template-columns:1fr}}
/* Connexion IA : suivi de la clé API (ticket #92). */
.cle-suivi{list-style:none;margin:-4px 0 18px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#0f1824;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.cle-suivi.cle-ok{border-color:#245c47}.cle-suivi.cle-warn{border-color:#6a5220}.cle-suivi.cle-bad{border-color:#6b2f36}
.cle-ligne{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.cle-ligne strong{color:var(--txt);font-weight:600;font-variant-numeric:tabular-nums}
.cle-ligne .dot{display:inline-block;border-radius:50%;align-self:center}
.cle-empreinte{margin-left:auto;font-family:ui-monospace,'Cascadia Mono',Consolas,monospace;font-size:12px;color:var(--accent2)}
.check-warn{color:var(--warn)}
@media(max-width:1000px){.conso-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.conso-agents{grid-template-columns:1fr}}
@media(max-width:560px){.conso-kpis{grid-template-columns:1fr}}
/* Cortex: the same visual identity in the crew and connection settings. */
.cortex-panel{display:flex;flex-direction:column;gap:18px;margin:0 0 20px;border:1px solid #355a73;background:radial-gradient(circle at 9% 12%,#1e3d53 0%,transparent 33%),linear-gradient(145deg,#142438,#111b2c 68%);box-shadow:inset 0 1px #9fd6e51a,0 18px 45px #05101b2e}
.cortex-head{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid #42607866}
.cortex-emblem{width:96px;height:96px;border-radius:22px;flex:0 0 auto;box-shadow:0 12px 34px #07122188}
.cortex-id{flex:1 1 240px;min-width:0}.cortex-id h2{margin:0 0 4px;font-size:26px;letter-spacing:-.03em}.cortex-id p{margin:0;color:#a9c0d1;font-size:14px;line-height:1.6}
.cortex-eyebrow{margin:0 0 5px!important;font-size:10px!important;color:#89ddd5!important;letter-spacing:1.8px;text-transform:uppercase;font-weight:700}
.cortex-state{margin:0;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid #2c5a49;color:#8be7bf;font-size:13px;flex-wrap:wrap}
.cortex-state small{color:var(--muted);font-size:11px}
.state-alerte{border-color:#7a2f38;color:#ff9d9d}.state-attente,.state-avis{border-color:#6a5220;color:#ffcf73}
.cortex-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.cortex-mode{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid #33405a;background:#0f1729;color:var(--txt);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.cortex-mode:hover{border-color:#69aaba}
.cortex-mode:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.cortex-mode.on{border:2px solid #6acfc6;background:#133444;box-shadow:0 0 0 4px #6acfc61c}
.mode-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1b2338;color:#c3cede;flex:0 0 auto}
.mode-icon img{border-radius:8px}
.cortex-mode.on .mode-icon{background:#194758;color:#d2fbf4}
.mode-text{display:flex;flex-direction:column;gap:2px}.mode-text strong{font-size:16px}.mode-text small{font-size:13px;color:var(--muted)}
.cortex-explain{margin:0;font-size:13.5px;color:#c3cede;line-height:1.6}
.cortex-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cortex-notes li{padding:8px 12px;border-radius:10px;font-size:13px;border:1px solid}
.note-alerte{color:#ff9d9d;border-color:#6b2f36;background:#2a1419}.note-avis{color:#ffd88a;border-color:#5c4a1f;background:#241e10}
.cortex-agents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cortex-tile{background:#0d1b2e;border:1px solid #36536a;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cortex-tile p{margin:0}
.tile-label{font-size:12px;color:var(--muted)}
.tile-model{font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-score{font-size:12.5px;color:var(--muted)}.score-ok{color:#5fe0a6}.score-bad{color:#ff8f8f}
.tile-reco{font-size:12.5px;color:#ffcf73}
.tile-secours{border-style:dashed;border-color:#9f8356}
.cortex-bench summary{cursor:pointer;color:var(--accent2);font-size:13.5px}
.bench-table{width:100%;border-collapse:collapse;margin:12px 0 4px;font-size:13px}
.bench-table caption{text-align:left;color:var(--muted);font-size:12px;padding-bottom:4px}
.bench-table th,.bench-table td{padding:6px 8px;border-bottom:1px solid #223146;text-align:center}
.bench-table th[scope=row]{text-align:left;font-weight:500}
.bench-table th{text-transform:none;letter-spacing:0;font-size:12.5px}
.cortex-bench{min-width:0;overflow-x:auto}
.cas-ok{color:#5fe0a6}.cas-ko{color:#ff8f8f;font-weight:700}
.bench-cases{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;color:var(--muted)}
.cortex-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #26314a;padding-top:12px}
.cortex-foot p{margin:0;font-size:12px;color:var(--muted);line-height:1.6}
.cortex-foot form{margin:0}
.bench-running{display:flex;align-items:center;gap:8px;color:#ffcf73!important;font-size:13px!important}
.cortex-crew{display:grid;grid-template-columns:132px minmax(0,1fr);gap:30px;align-items:center;margin-bottom:20px;border:1px solid #355a73;background:radial-gradient(circle at 8% 22%,#1f4354 0%,transparent 32%),linear-gradient(145deg,#142438,#111b2c 68%);box-shadow:inset 0 1px #9fd6e51a,0 18px 45px #05101b2e}
.cortex-crew-emblem{width:120px;height:120px;border-radius:26px;display:block;position:relative;box-shadow:0 12px 34px #07122188}
.cortex-crew-body{min-width:0}.cortex-crew-body h2{margin:2px 0 6px;font-size:27px;letter-spacing:-.03em}
.cortex-crew .agent-specialty{color:#89ddd5;font-size:10px;letter-spacing:1.8px}
.cortex-crew .agent-description{max-width:100%;margin:0;color:#a9c0d1;line-height:1.65}
.cortex-crew-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;color:#a9c0d1}
.cortex-crew-models strong{color:#f1f5f9}
.cortex-crew-link{margin-left:auto;color:var(--accent2);text-decoration:none}.cortex-crew-link:hover{text-decoration:underline}
@media(max-width:900px){.cortex-agents{grid-template-columns:1fr}.cortex-modes{grid-template-columns:1fr}.bench-cases{grid-template-columns:1fr}}
@media(max-width:760px){.cortex-crew{grid-template-columns:1fr;gap:18px}.cortex-crew-models{grid-template-columns:1fr}.cortex-visual,.cortex-crew-emblem{width:96px;height:96px}}
@media(max-width:620px){.cortex-head{align-items:flex-start;gap:16px}.cortex-visual-panel,.cortex-emblem{width:72px!important;height:72px!important}.cortex-state{margin-left:0}}
/* Cortex animé dans l'équipage (ticket #82) : futuriste mais sobre ; tout s'arrête si
   l'utilisateur demande de réduire les animations. Emblème SVG en ligne (CSP). */
.cx-embleme{display:block}.cx-portrait{object-fit:cover;border-radius:26px}
.mode-embleme{border-radius:8px}
svg.agent-face{background:none}
.cortex-visual{position:relative;width:120px;height:120px;flex:0 0 auto}
.cortex-visual-panel{width:96px;height:96px}
.cx-halo{position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(circle,#65d9ca38 0%,#65d9ca12 45%,transparent 72%);animation:cx-respire 5s ease-in-out infinite;pointer-events:none}
.cx-orbite{position:absolute;inset:-8px;border-radius:50%;border:1px solid #75c9e53d;animation:cx-tourne 32s linear infinite;pointer-events:none}
.cx-orbite::before,.cx-orbite::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%}
.cx-orbite::before{top:-4px;left:calc(50% - 3px);background:#65d9ca;box-shadow:0 0 10px #65d9ca}
.cx-orbite::after{bottom:12%;left:5%;background:#e9ba65;box-shadow:0 0 10px #e9ba65}
.cx-anime .cx-synapse{animation:cx-synapse 3s ease-in-out infinite}
.cx-anime .cx-s2{animation-delay:.5s}.cx-anime .cx-s3{animation-delay:1s}.cx-anime .cx-s4{animation-delay:1.5s}
.cx-anime .cx-s5{animation-delay:2s}.cx-anime .cx-s6{animation-delay:2.5s}
.cx-anime .cx-noyau{animation:cx-noyau 2.2s ease-in-out infinite}
.cx-anime .cx-lueur{animation:cx-respire 5s ease-in-out infinite;transform-origin:80px 80px}
.cx-signal{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid #36536a;background:#0d1b2e;overflow:hidden}
.cx-signal small{color:#87b2c2;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;font-weight:700}.cx-signal strong{font-size:14px;overflow-wrap:anywhere}.cx-score{color:#8be7bf;font-size:11px}.cx-fallback{border-style:dashed;border-color:#9f8356}.cx-fallback .cx-score{color:#e9ba65}
.cx-signal::after{content:"";position:absolute;top:0;left:-45%;width:45%;height:1px;background:linear-gradient(90deg,transparent,#65d9ca99,transparent);animation:cx-signal 5s ease-in-out infinite;pointer-events:none}
.cx-signal:nth-child(2)::after{animation-delay:1.4s}.cx-signal:nth-child(3)::after{animation-delay:2.8s}
.cortex-crew .agent-status .dot.ok{animation:voyant-pouls 3s ease-in-out infinite}
@keyframes cx-respire{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes cx-tourne{to{transform:rotate(360deg)}}
@keyframes cx-synapse{0%,100%{opacity:.35}45%{opacity:1}}
@keyframes cx-noyau{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes cx-signal{0%{left:-45%}55%,100%{left:110%}}
@media(prefers-reduced-motion:reduce){.cx-halo,.cx-orbite,.cx-anime .cx-synapse,.cx-anime .cx-noyau,.cx-anime .cx-lueur,.cx-signal::after,.cortex-crew .agent-status .dot.ok{animation:none}}
@media(max-width:620px){.cortex-head{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center}.cortex-visual-panel{width:72px;height:72px;flex-basis:72px}.cortex-emblem{width:72px;height:72px}.cortex-id{min-width:0}.cortex-id h2{font-size:21px}.cortex-id p{font-size:12px}.cortex-state{grid-column:1/-1;justify-self:start}}
/* Équipage : « améliorations prévues » distinct de « à surveiller » (ticket #84). */
.dot.plan{background:var(--accent2)}
.agent-statut{display:inline-flex;align-items:center}
.agent-statut[title]{cursor:help;text-decoration:underline dotted #4f6a86;text-underline-offset:4px}
.statut-prevu{color:#9be7df}
/* Inspecteur (ticket #86) : santé de l'agent lui-même, en bas à droite de chaque carte ;
   vert lent, jaune, rouge rapide ; gris fixe en attente ou en pause. Jamais la couleur seule. */
.agent-status{flex-wrap:wrap;row-gap:7px}
.agent-sante{margin-left:auto;padding-left:12px;display:inline-flex;align-items:center;gap:7px;color:#9fb2c8;font-weight:500;cursor:help;white-space:nowrap}
.voyant-sante{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:#5b6b80}
.sante-ok .voyant-sante{background:var(--ok);box-shadow:0 0 8px #63d5a499;animation:voyant-pouls 3s ease-in-out infinite}
.sante-warn{color:#ecc26b}.sante-warn .voyant-sante{background:#ecc26b;box-shadow:0 0 9px #ecc26bb3;animation:voyant-pouls 1.5s ease-in-out infinite}
.sante-bad{color:#ee9292}.sante-bad .voyant-sante{background:#ff6b6b;box-shadow:0 0 11px #ff6b6bcc;animation:voyant-pouls .6s ease-in-out infinite}
.cortex-crew .agent-sante+.cortex-crew-link{margin-left:18px}
.agent-inspecteur .avatar img{object-fit:cover}
@media(prefers-reduced-motion:reduce){.voyant-sante{animation:none!important}}
