:root{--navy:#07152f;--navy2:#0c2147;--royal:#163f91;--gold:#d6ae57;--gold2:#f2d38a;--ink:#14213d;--muted:#647089;--line:#dfe5ef;--bg:#f3f6fb;--white:#fff;--green:#0b8f69;--amber:#bf7816;--red:#c44343;--shadow:0 14px 34px rgba(10,28,64,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}.shell{min-height:100vh;display:grid;grid-template-columns:282px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(178deg,var(--navy),#091b3c 70%,#102856);color:white;padding:25px 18px;overflow:auto;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 23px;border-bottom:1px solid rgba(255,255,255,.12)}.brandmark{width:48px;height:48px;border:1px solid rgba(214,174,87,.7);display:grid;place-items:center;color:var(--gold2);font:800 17px Manrope;border-radius:13px;background:rgba(214,174,87,.08)}.brand strong{display:block;font:700 16px Manrope}.brand span{display:block;color:#aab8d2;font-size:12px;margin-top:3px}.close-menu{display:none}.sidebar nav{padding:20px 0}.nav-section{color:#7f91b3;font:700 11px Manrope;letter-spacing:.12em;padding:14px 12px 7px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#c8d2e5;padding:11px 12px;border-radius:11px;text-align:left;font:500 14px "DM Sans";cursor:pointer;margin:2px 0}.nav-item:hover{background:rgba(255,255,255,.06);color:white}.nav-item.active{background:linear-gradient(90deg,rgba(214,174,87,.22),rgba(214,174,87,.07));color:#ffe5a9;border-left:2px solid var(--gold)}.nav-icon{width:22px;text-align:center;font-size:16px}.nav-badge{margin-left:auto;background:#bd4451;color:white;border-radius:20px;padding:1px 7px;font-size:11px}.sidebar-foot{border-top:1px solid rgba(255,255,255,.12);padding:20px 10px 0;color:#91a1be}.pulse{display:flex;align-items:center;gap:8px;font-size:13px;color:#d9e2f0;margin-bottom:15px}.pulse i{width:8px;height:8px;border-radius:50%;background:#35d29b;box-shadow:0 0 0 5px rgba(53,210,155,.12)}.sidebar-foot small{font-size:11px;line-height:1.55}.sidebar-foot b{color:#c4cee0}.main{min-width:0}.topbar{height:89px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.top-left{display:flex;align-items:center;gap:16px}.menu-btn{display:none}.eyebrow{font:700 10px Manrope;letter-spacing:.14em;color:var(--royal)}h1{font:800 25px Manrope;margin:4px 0 0}.top-actions{display:flex;gap:12px;align-items:center}.search{width:300px;border:1px solid var(--line);background:#f8fafe;border-radius:12px;padding:9px 12px;display:flex;gap:8px}.search input{border:0;outline:0;background:transparent;width:100%;font:14px "DM Sans"}.icon-btn{position:relative;width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:12px}.icon-btn b{position:absolute;right:-4px;top:-5px;background:#c23f4e;color:white;font-size:10px;border-radius:15px;padding:2px 5px}.profile{border:0;background:transparent;display:flex;gap:9px;align-items:center;text-align:left}.profile>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--gold2);font-weight:700}.profile b,.profile small{display:block}.profile b{font-size:13px}.profile small{font-size:11px;color:var(--muted);margin-top:2px}.workspace{padding:28px 34px 48px;max-width:1620px;margin:auto}.executive-strip{background:linear-gradient(105deg,var(--navy),#103979);border-radius:18px;padding:24px 26px;color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.executive-strip:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(214,174,87,.2);border-radius:50%;right:-90px;top:-180px;box-shadow:0 0 0 45px rgba(214,174,87,.035),0 0 0 90px rgba(214,174,87,.025)}.executive-strip h2{font:800 23px Manrope;margin:0 0 7px}.executive-strip p{margin:0;color:#c5d3e9;max-width:670px;font-size:14px;line-height:1.5}.strip-score{z-index:1;display:flex;gap:18px;align-items:center}.score-ring{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) 0 62%,rgba(255,255,255,.13) 62%);position:relative}.score-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#10316a}.score-ring span{z-index:1;font:800 21px Manrope}.strip-score small{display:block;color:#b9c7df}.strip-score b{font:700 14px Manrope}.btn{border:0;border-radius:11px;padding:11px 15px;font:700 13px "DM Sans";cursor:pointer}.btn.gold,.primary{background:var(--gold);color:#1d2840}.btn.outline{background:white;border:1px solid var(--line);color:var(--ink)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.kpi{background:white;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 5px 16px rgba(20,33,61,.035)}.kpi-head{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.kpi-icon{width:32px;height:32px;border-radius:9px;background:#edf2fb;display:grid;place-items:center;color:var(--royal)}.kpi strong{display:block;font:800 27px Manrope;margin:10px 0 5px}.delta{font-size:12px;color:var(--green)}.delta.warn{color:var(--amber)}.grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:0 7px 22px rgba(20,33,61,.04);min-width:0}.card+.card{}.card-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.card-title h2{font:750 17px Manrope;margin:0}.card-title p{font-size:12px;color:var(--muted);margin:5px 0 0}.link-btn{border:0;background:transparent;color:var(--royal);font-weight:700;cursor:pointer}.readiness{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}.big-ring{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--royal) 0 68%,#e8edf5 68%);position:relative}.big-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:white}.big-ring div{z-index:1;text-align:center}.big-ring strong{font:800 30px Manrope;display:block}.big-ring span{font-size:11px;color:var(--muted)}.progress-row{margin:12px 0}.progress-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.bar{height:7px;border-radius:8px;background:#e9edf4;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--royal),#3c6ac8);border-radius:8px}.deadline{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf0f5}.datebox{border-radius:10px;background:#edf2fa;text-align:center;padding:7px 4px;color:var(--royal)}.datebox b,.datebox span{display:block}.datebox b{font:800 18px Manrope}.datebox span{font-size:9px;font-weight:700}.deadline strong{font-size:13px;display:block}.deadline small{font-size:11px;color:var(--muted)}.tag{font-size:11px;padding:5px 8px;border-radius:20px;background:#fff1db;color:#9c620f}.tag.red{background:#fee9eb;color:#ae3742}.tag.green{background:#e4f7f0;color:#087c5b}.map{height:270px;background:linear-gradient(145deg,#eef3fb,#f9fbff);border-radius:14px;position:relative;overflow:hidden;border:1px solid #e4eaf3}.map svg{width:100%;height:100%}.region-dot{fill:var(--royal);stroke:white;stroke-width:3}.region-dot.gold{fill:var(--gold)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}.mini-stats div{text-align:center;border-right:1px solid var(--line)}.mini-stats div:last-child{border:0}.mini-stats strong{font:800 19px Manrope;display:block}.mini-stats span{font-size:11px;color:var(--muted)}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:11px 0;border-top:1px solid #edf0f5}.activity-list li:first-child{border:0}.activity-dot{width:28px;height:28px;border-radius:9px;background:#edf2fa;display:grid;place-items:center;color:var(--royal);font-size:12px}.activity-list b{font-size:13px}.activity-list p{font-size:11px;color:var(--muted);margin:3px 0}.activity-list time{font-size:10px;color:#8b96aa}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.section-head h2{font:800 23px Manrope;margin:0}.section-head p{color:var(--muted);margin:7px 0 0;max-width:760px}.head-actions{display:flex;gap:9px}.module-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.panel-grid.three{grid-template-columns:repeat(3,1fr)}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px 9px;border-bottom:1px solid var(--line)}td{padding:13px 9px;border-bottom:1px solid #edf0f5;font-size:13px}td strong{display:block}.owner{display:inline-flex;align-items:center;gap:7px}.owner i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;font-style:normal;font-size:9px}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;gap:11px;padding:12px 0;border-top:1px solid #edf0f5}.checklist li:first-child{border:0}.check{width:20px;height:20px;border:1.5px solid #b8c3d5;border-radius:6px;display:grid;place-items:center;color:white;flex:0 0 auto}.check.done{background:var(--green);border-color:var(--green)}.checklist b{font-size:13px;display:block}.checklist small{color:var(--muted)}.contact{display:flex;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;margin:9px 0}.contact-avatar{width:38px;height:38px;border-radius:11px;background:#e9eef8;display:grid;place-items:center;color:var(--royal);font-weight:700}.contact b,.contact span{display:block}.contact span{font-size:12px;color:var(--muted);margin-top:2px}.contact .tag{margin-left:auto;height:max-content}.roadmap{position:relative;padding-left:25px}.roadmap:before{content:"";position:absolute;left:7px;top:8px;bottom:12px;width:2px;background:#dfe5ef}.road-step{position:relative;padding:0 0 22px 15px}.road-step:before{content:"";position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;background:white;border:3px solid var(--royal)}.road-step.done:before{background:var(--green);border-color:var(--green)}.road-step h3{font:700 14px Manrope;margin:0 0 4px}.road-step p{font-size:12px;color:var(--muted);margin:0}.finance-chart{height:190px;display:flex;gap:12px;align-items:end;padding:16px 5px 0;border-bottom:1px solid var(--line)}.finance-chart div{flex:1;background:linear-gradient(180deg,#3968c3,var(--royal));border-radius:7px 7px 0 0;position:relative;min-height:5%}.finance-chart span{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted)}.gauge-list{display:grid;gap:13px}.document{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin:8px 0}.doc-icon{width:36px;height:36px;border-radius:9px;background:#edf2fa;display:grid;place-items:center;color:var(--royal)}.document b{display:block;font-size:13px}.document small{color:var(--muted)}.empty-search{padding:50px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.3);width:min(560px,92vw)}dialog::backdrop{background:rgba(4,15,34,.65);backdrop-filter:blur(3px)}.dialog-card{padding:28px;position:relative}.dialog-card h2{font:800 22px Manrope;margin:8px 0 20px}.dialog-card label{display:block;font-size:12px;font-weight:700;margin:12px 0}.dialog-card input,.dialog-card select{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:6px;font:14px "DM Sans";background:white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-close{position:absolute;right:15px;top:13px;border:0;background:transparent;font-size:24px}.dialog-card menu{display:flex;justify-content:flex-end;gap:9px;padding:14px 0 0;margin:0}.primary,.secondary{border:0;border-radius:10px;padding:11px 16px;font-weight:700}.secondary{background:#edf1f7}.toast{position:fixed;right:25px;bottom:25px;background:var(--navy);color:white;padding:14px 18px;border-radius:11px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.3s;z-index:50}.toast.show{transform:none;opacity:1}
@media(max-width:1180px){.kpi-grid,.module-kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.search{width:220px}.panel-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.shell{display:block}.sidebar{position:fixed;left:-290px;width:282px;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 60px rgba(0,0,0,.3)}.close-menu{display:block;position:absolute;right:8px;top:5px;border:0;background:transparent;color:white;font-size:25px}.menu-btn{display:block;border:0;background:#edf2fa;border-radius:9px;width:38px;height:38px}.topbar{padding:0 17px;height:76px}.eyebrow{display:none}h1{font-size:20px}.profile div,.search{display:none}.workspace{padding:18px 16px 35px}.executive-strip{display:block}.strip-score{margin-top:20px}.kpi-grid,.module-kpis,.panel-grid,.panel-grid.three{grid-template-columns:1fr}.readiness{grid-template-columns:1fr}.big-ring{margin:auto}.section-head{display:block}.head-actions{margin-top:14px;overflow:auto}.card{padding:17px;overflow:auto}.form-row{grid-template-columns:1fr}.top-actions{gap:5px}}

/* Official direction — FFGospel National Command Center / Vision 2035 */
.shell{grid-template-columns:268px 1fr}.sidebar{padding:24px 16px;background:#040d1a;border-right:1px solid rgba(82,145,225,.22)}
.brand{padding:0 8px 24px}.brand strong{font-size:17px;letter-spacing:.01em}.brand span{color:#8295b2;font-size:10px;text-transform:uppercase;letter-spacing:.11em}
.brandmark{width:52px;height:52px;border-color:#d8ad57;border-radius:12px;color:#f1ca75;background:#07162b;box-shadow:0 0 28px rgba(32,121,237,.16)}
.nav-item{min-height:43px;border-radius:8px;color:#aebdd2}.nav-item i{font-size:20px}.nav-item.active{background:linear-gradient(90deg,rgba(58,143,255,.23),rgba(16,39,70,.42));box-shadow:inset 3px 0 #76b4ff,0 0 28px rgba(38,114,222,.12);color:#fff}
.nav-section{color:#6484b2;letter-spacing:.17em}.sidebar-foot{margin-top:10px}.main{background:#020914}
.topbar{height:116px;padding:0 30px;background:rgba(3,12,25,.94);border-color:rgba(87,146,222,.25);box-shadow:0 8px 42px rgba(0,0,0,.26)}
.top-left h1{font:700 clamp(22px,2vw,32px) "Cormorant Garamond",serif;color:#f6f8fc;margin-top:3px;letter-spacing:-.02em;white-space:nowrap}.top-left .eyebrow{color:#d7ad5c;letter-spacing:.18em}
.mode-badge{border-color:rgba(57,215,164,.28);background:rgba(30,189,139,.08);color:#73e8c2}.search{width:250px;background:rgba(10,29,54,.8);border-color:rgba(111,167,236,.2)}.search>i{font-size:19px;color:#8da5c5}
.icon-btn{background:#07182e;border-color:rgba(101,160,231,.25);color:#d6e4f7;font-size:19px}.profile>span{border-radius:50%;background:#0a2445;border:1px solid rgba(77,145,232,.4);box-shadow:0 0 25px rgba(49,129,234,.25)}
.workspace{padding:0;max-width:none}.command-home{min-height:calc(100vh - 116px);background:#020914;color:#f4f7fc;overflow:hidden}
.command-grid{display:grid;grid-template-columns:minmax(720px,1fr) 332px;min-height:calc(100vh - 116px)}
.command-stage{position:relative;isolation:isolate;min-height:900px;padding:76px 38px 28px;background-image:linear-gradient(90deg,rgba(2,9,20,.18),rgba(2,9,20,.02)),url('assets/ffg-stage-france-2035.png');background-size:cover;background-position:center top;border-right:1px solid rgba(101,158,227,.18)}
.command-stage:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(1,8,18,0) 43%,rgba(1,8,18,.08) 55%,rgba(1,8,18,.82) 93%,#020914 100%)}
.stage-copy{position:relative;z-index:2;width:min(560px,61%);animation:stageReveal .8s ease both}.stage-kicker{display:block;color:#ecc873;font:700 11px Manrope;letter-spacing:.18em;margin-bottom:16px}.stage-copy h2{font:700 clamp(36px,4.2vw,66px)/.95 "Cormorant Garamond",serif;margin:0;color:#fff;letter-spacing:-.035em;text-shadow:0 8px 28px rgba(0,0,0,.5)}.stage-copy h2 em{color:#e7be65;font-style:normal}.stage-copy p{color:#c5d2e4;max-width:520px;font-size:15px;line-height:1.65;margin:19px 0 20px}
.stage-cta{border:1px solid rgba(228,188,99,.46);background:rgba(5,17,33,.7);color:#f0d596;border-radius:8px;padding:10px 14px;font:700 12px "DM Sans";display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:.25s}.stage-cta:hover{background:#d9b15c;color:#07101e;transform:translateY(-2px)}
.readiness-orbit{position:absolute;z-index:2;left:42px;top:405px;width:220px;height:220px;border-radius:50%;padding:16px;background:conic-gradient(#f0c768 0 62%,rgba(109,175,255,.24) 62% 100%);box-shadow:0 0 46px rgba(240,190,83,.22),inset 0 0 24px rgba(255,255,255,.16);animation:orbitPulse 4s ease-in-out infinite}.readiness-orbit:before{content:"";position:absolute;inset:14px;border-radius:50%;background:rgba(3,14,29,.92);border:1px solid rgba(111,171,239,.32);box-shadow:inset 0 0 34px rgba(24,87,161,.36)}.readiness-orbit>div{position:relative;z-index:1;height:100%;display:grid;place-content:center;text-align:center}.readiness-orbit small{color:#b7c7da;font-size:14px}.readiness-orbit strong{display:block;font:700 57px/1 "Cormorant Garamond",serif;color:#fff;margin:3px 0}.readiness-orbit strong span{font-size:26px}.readiness-orbit em{font-style:normal;color:#e9c26f;font:700 10px Manrope;letter-spacing:.19em}
.cap-card{position:absolute;z-index:2;left:295px;top:434px;width:250px;padding-left:26px;border-left:1px solid rgba(229,192,109,.62)}.cap-card>span{display:block;color:#f0ca73;font:800 14px Manrope;letter-spacing:.08em}.cap-card>small{color:#91a8c6;font:700 10px Manrope;letter-spacing:.15em}.cap-card p{font-size:13px;color:#bdc9db;line-height:1.45;margin:12px 0}.cap-progress{height:5px;background:rgba(90,142,204,.3);border-radius:8px;overflow:hidden}.cap-progress i{display:block;width:62%;height:100%;background:#f0c76e;box-shadow:0 0 10px #e2b850}.cap-card ul{list-style:none;padding:9px 0 0;margin:0}.cap-card li{display:flex;align-items:center;gap:8px;color:#b7c7dc;font-size:10px;letter-spacing:.12em;margin:9px 0;text-transform:uppercase}.cap-card li i{color:#edc269;font-size:16px}
.stage-metrics{position:absolute;z-index:3;left:28px;right:28px;top:650px;height:145px;display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;background:rgba(3,14,28,.76);border:1px solid rgba(221,180,89,.37);border-radius:50%/25%;overflow:hidden;box-shadow:0 25px 55px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.stage-metrics button{border:0;border-right:1px solid rgba(202,218,239,.17);background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.25s}.stage-metrics button:hover{background:rgba(29,93,171,.22);transform:translateY(-3px)}.stage-metrics button:last-child{border:0}.stage-metrics button>i{font-size:24px;color:#cbdaf0}.stage-metrics strong{font:700 34px Manrope;margin:5px 0 0}.stage-metrics span{font-size:12px;color:#c6d2e3}.signal-metric>b{height:44px;display:flex;align-items:flex-end;gap:4px;margin-top:8px}.signal-metric>b i{display:block;width:5px;background:#4c9bff;box-shadow:0 0 7px rgba(73,151,255,.55)}
.national-timeline{position:absolute;z-index:3;left:32px;right:32px;top:825px;display:grid;grid-template-columns:repeat(5,1fr)}.national-timeline:before{content:"";position:absolute;left:10%;right:10%;top:7px;height:1px;background:linear-gradient(90deg,#3a8bf1,#d9b358,#3a8bf1)}.national-timeline button{position:relative;border:0;background:transparent;color:#93a9c6;cursor:pointer;text-transform:uppercase;font:700 9px Manrope;letter-spacing:.13em}.national-timeline button>i{position:relative;z-index:1;display:block;width:11px;height:11px;border-radius:50%;background:#6cb1ff;margin:2px auto 12px;box-shadow:0 0 14px rgba(83,163,255,.5)}.national-timeline button span,.national-timeline button small{display:block}.national-timeline button small{margin-top:4px;color:#687f9e}.national-timeline button.active{color:#f3ce77}.national-timeline button.active>i{width:19px;height:19px;margin-top:-2px;margin-bottom:8px;border:4px solid rgba(255,255,255,.8);background:#dcb65b;box-shadow:0 0 0 7px rgba(221,180,89,.17),0 0 22px #e1b85c}.timeline-status{position:absolute;z-index:3;left:0;right:0;top:890px;text-align:center;margin:0;color:#9aaec8;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.decision-deck{padding:28px 20px;background:linear-gradient(180deg,#030c19,#040f1e);border-left:1px solid rgba(95,155,229,.12)}.deck-title{display:flex;justify-content:space-between;align-items:end;padding:4px 0 17px}.deck-title span,.next-event>span{display:block;color:#7491b9;font:700 9px Manrope;letter-spacing:.17em}.deck-title h2{font:700 22px "Cormorant Garamond",serif;margin:7px 0 0;color:white}.deck-title>b{width:29px;height:29px;border-radius:50%;background:#bf3442;display:grid;place-items:center;font-size:12px;box-shadow:0 0 20px rgba(206,57,70,.4)}
.decision{width:100%;min-height:90px;border:1px solid rgba(87,145,214,.19);border-left:4px solid #e6bb60;background:linear-gradient(125deg,rgba(12,32,58,.84),rgba(5,18,35,.78));border-radius:10px;color:white;margin-bottom:12px;padding:15px 13px 15px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:.25s}.decision.danger{border-left-color:#ee5a65}.decision:hover{transform:translateX(-4px);border-color:rgba(96,165,249,.5);box-shadow:0 12px 28px rgba(0,0,0,.28)}.decision span strong{display:block;font-size:13px;line-height:1.35;max-width:220px}.decision span small{display:inline-block;margin-top:8px;padding:3px 7px;border-radius:4px;background:rgba(232,188,91,.09);color:#f1c766;font-size:9px}.decision.danger span small{background:rgba(225,68,81,.12);color:#ff747e}.decision>i{width:30px;height:30px;border:1px solid rgba(104,164,235,.28);border-radius:50%;display:grid;place-items:center;color:#b7cae3}
.next-event{margin-top:24px;padding-top:21px;border-top:1px solid rgba(101,157,225,.24)}.next-event>div{display:grid;grid-template-columns:55px 1fr;gap:12px;align-items:center;margin:15px 0}.next-event time{height:60px;border-radius:8px;border:1px solid rgba(80,151,239,.28);background:#071a33;color:#78b5ff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px}.next-event time b{font-size:23px;line-height:1}.next-event p{margin:0}.next-event p strong,.next-event p small{display:block}.next-event p strong{font-size:12px;line-height:1.4}.next-event p small{font-size:10px;color:#859bb8;margin-top:6px}.next-event .stage-cta{width:100%;justify-content:center}.decision-deck blockquote{margin:28px 8px 0;padding:0 0 0 13px;border-left:2px solid #d9b257;color:#8a9fbc;font:600 11px/1.8 Manrope;letter-spacing:.12em;text-transform:uppercase}
@keyframes stageReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes orbitPulse{50%{box-shadow:0 0 72px rgba(240,190,83,.32),inset 0 0 24px rgba(255,255,255,.16)}}
@media(max-width:1280px){.command-grid{grid-template-columns:minmax(650px,1fr) 305px}.stage-copy{width:62%}.stage-copy h2{font-size:48px}.readiness-orbit{width:190px;height:190px}.cap-card{left:260px}.topbar{padding:0 20px}.search{display:none}}
@media(max-width:1050px){.command-grid{grid-template-columns:1fr}.decision-deck{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.deck-title,.next-event,.decision-deck blockquote{grid-column:1/-1}.decision{margin:0}.command-stage{min-height:920px}.main{min-width:0}}
@media(max-width:820px){.shell{display:block}.topbar{height:82px}.top-left h1{font-size:22px}.command-home{min-height:calc(100vh - 82px)}.command-stage{min-height:960px;padding:44px 20px 20px;background-position:60% top}.stage-copy{width:100%}.stage-copy h2{font-size:43px}.stage-copy p{font-size:14px}.readiness-orbit{left:20px;top:355px;width:160px;height:160px}.readiness-orbit strong{font-size:44px}.cap-card{left:205px;right:18px;top:376px;width:auto}.stage-metrics{top:570px;left:14px;right:14px;height:auto;border-radius:18px;grid-template-columns:repeat(2,1fr)}.stage-metrics button{min-height:105px;border-bottom:1px solid rgba(202,218,239,.17)}.national-timeline{top:815px;left:12px;right:12px}.timeline-status{top:895px;padding:0 20px}.decision-deck{grid-template-columns:1fr}.decision-deck>*{grid-column:1}.menu-btn{color:white;background:#081b34}.profile div{display:none}}
@media(max-width:480px){.top-left .eyebrow,.mode-badge{display:none}.top-left h1{font-size:18px}.command-stage{min-height:1040px}.stage-copy h2{font-size:38px}.readiness-orbit{top:395px;left:50%;transform:translateX(-50%)}.cap-card{top:575px;left:28px;right:28px}.stage-metrics{top:730px}.national-timeline{top:975px}.national-timeline button span{font-size:7px}.timeline-status{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Command Center 2035 */
:root{--bg:#05101f;--ink:#e9f0fb;--muted:#8ea2bf;--line:rgba(127,164,211,.18);--royal:#3a7fe8;--navy:#030b18;--navy2:#081b34;--green:#36d7a4;--shadow:0 22px 60px rgba(0,0,0,.25)}
body{background:radial-gradient(circle at 86% 4%,rgba(35,92,172,.19),transparent 26%),linear-gradient(145deg,#05101f,#071426 55%,#08182c);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(75,142,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(75,142,232,.07) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)}
.sidebar{background:linear-gradient(180deg,rgba(3,11,24,.98),rgba(5,19,39,.98));border-right:1px solid rgba(96,156,232,.17);box-shadow:18px 0 50px rgba(0,0,0,.2)}
.brandmark{background:radial-gradient(circle,rgba(214,174,87,.25),rgba(214,174,87,.04));box-shadow:0 0 32px rgba(214,174,87,.16),inset 0 0 18px rgba(214,174,87,.1)}
.nav-item.active{background:linear-gradient(90deg,rgba(45,118,220,.23),rgba(214,174,87,.07));border-left-color:#61a4ff;color:#dbeaff;box-shadow:inset 0 0 25px rgba(47,123,232,.08)}
.topbar{background:rgba(5,16,31,.8);border-color:rgba(116,164,224,.16);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.topbar h1,.profile b{color:#f1f6ff}.search{background:rgba(10,28,52,.72);border-color:rgba(112,160,221,.23)}.search input{color:white}.search input::placeholder{color:#8195b1}.icon-btn{background:rgba(12,31,58,.75);border-color:var(--line);color:#b7c9e2}.profile>span{background:linear-gradient(145deg,#123462,#0b1f3c);box-shadow:0 0 25px rgba(54,128,231,.18)}
.card,.kpi{background:linear-gradient(145deg,rgba(12,31,57,.92),rgba(8,23,44,.92));border-color:rgba(99,154,222,.18);box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.card{position:relative}.card:before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(106,172,255,.45),transparent)}
.kpi{overflow:hidden}.kpi:after{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(75,145,237,.12);border-radius:50%;right:-35px;bottom:-45px}.kpi{position:relative}.kpi-icon,.activity-dot,.contact-avatar,.doc-icon{background:rgba(48,113,201,.15);color:#7bb3ff;border:1px solid rgba(91,151,232,.16)}
.kpi-head,.card-title p,.delta.warn,.deadline small,.activity-list p,.activity-list time,.progress-label,.mini-stats span,.document small,.contact span,.road-step p,th{color:var(--muted)}
.kpi strong,.card-title h2,.mini-stats strong,.deadline strong,td,.road-step h3,.document b,.contact b{color:#edf4ff}
.executive-strip{background:radial-gradient(circle at 78% 15%,rgba(65,141,239,.26),transparent 25%),linear-gradient(112deg,#081832,#0c2e5f 62%,#0d1d3a);border:1px solid rgba(111,170,241,.26);box-shadow:0 26px 70px rgba(0,0,0,.35),inset 0 0 60px rgba(31,89,169,.12)}
.executive-strip:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(80,151,245,.09) 50%,transparent 50.2%);background-size:62px 100%;pointer-events:none}.executive-strip h2{font-size:27px;max-width:700px}.mission-tags{display:flex;gap:7px;margin-top:17px}.mission-tags span{border:1px solid rgba(120,177,243,.22);background:rgba(22,69,129,.25);border-radius:20px;padding:5px 9px;font:700 9px Manrope;letter-spacing:.1em;color:#a9cfff}.score-ring{filter:drop-shadow(0 0 16px rgba(214,174,87,.23))}.score-ring:before{background:#0d2c5b}
.live-rail{display:flex;gap:28px;align-items:center;color:#7890b0;font:700 10px Manrope;letter-spacing:.09em;margin:-4px 0 14px;padding:0 2px}.live-rail span:first-child{color:#59deb2}.live-rail i,.live-chip i,.map-hud i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#42dfaf;box-shadow:0 0 10px #42dfaf;margin-right:7px}.rail-signal{margin-left:auto}.rail-signal b{color:#f2ce77;font-size:13px}
.bar{background:rgba(118,153,198,.15)}.bar i{background:linear-gradient(90deg,#2e79e1,#64c8ff);box-shadow:0 0 12px rgba(69,163,248,.4)}.big-ring{background:conic-gradient(#4f9aff 0 68%,rgba(114,153,203,.14) 68%);filter:drop-shadow(0 0 15px rgba(55,132,236,.2))}.big-ring:before{background:#0b1c35}.datebox{background:rgba(44,108,192,.16);color:#86baff;border:1px solid rgba(83,145,225,.15)}.deadline,.activity-list li,td,.checklist li{border-color:rgba(106,145,194,.14)}.tag{background:rgba(195,128,24,.15);color:#e9bd66;border:1px solid rgba(214,174,87,.16)}.tag.red{background:rgba(196,67,67,.15);color:#ff9198}.tag.green{background:rgba(11,143,105,.16);color:#64e1b6}.btn.outline{background:rgba(10,26,48,.75);color:#b9cce5;border-color:var(--line)}.btn.gold{box-shadow:0 8px 24px rgba(214,174,87,.16)}.link-btn{color:#73adff}.section-head h2{color:#edf4ff}.section-head p{color:var(--muted)}
.france-map{height:390px;position:relative;border-radius:15px;overflow:hidden;background:radial-gradient(circle at 48% 44%,rgba(37,99,181,.24),transparent 43%),linear-gradient(150deg,rgba(4,16,31,.92),rgba(7,29,54,.92));border:1px solid rgba(89,154,236,.2)}.france-map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(77,151,241,.025) 5px);pointer-events:none}.france-map img{position:absolute;width:58%;height:84%;object-fit:contain;left:8%;top:8%;filter:drop-shadow(0 0 19px rgba(56,131,224,.33))}.map-hud{position:absolute;z-index:2;left:18px;top:16px;color:#86a3c8;font:700 9px Manrope;letter-spacing:.09em}.map-hud b{display:block;color:#dce9fb;font-size:12px;margin-top:5px;letter-spacing:0}.map-callout{position:absolute;z-index:2;background:rgba(5,18,35,.87);border:1px solid rgba(103,163,235,.26);border-radius:9px;padding:7px 10px;box-shadow:0 8px 25px rgba(0,0,0,.25)}.map-callout:before{content:"";position:absolute;width:23px;height:1px;background:#6aa7ec;left:-23px;top:50%}.map-callout strong,.map-callout span{display:block}.map-callout strong{font-size:10px;color:#e5effd}.map-callout span{font-size:9px;color:#7895b9;margin-top:2px}.map-callout.idf{left:57%;top:25%}.map-callout.sw{left:48%;top:68%}.overseas-strip{position:absolute;right:15px;top:83px;bottom:59px;width:100px;border-left:1px solid rgba(101,159,230,.16);padding-left:14px;display:flex;flex-direction:column;gap:9px}.overseas-strip>span{font:700 9px Manrope;letter-spacing:.1em;color:#7392b8}.overseas-strip button{background:rgba(22,62,108,.45);border:1px solid rgba(95,154,226,.2);border-radius:9px;color:#72b7ff;padding:7px;font-weight:800}.overseas-strip small{display:block;color:#7f97b6;font-size:8px;font-weight:500;margin-top:2px}.map-legend{position:absolute;left:17px;bottom:13px;display:flex;gap:14px;color:#7892b4;font-size:9px}.map-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#65f2c4;margin-right:5px;box-shadow:0 0 7px #65f2c4}.map-legend .gold-dot{background:#f4cf75;box-shadow:0 0 7px #f4cf75}.map-legend .dim-dot{background:#274a78;box-shadow:none}.territory-layout{display:grid;grid-template-columns:1.55fr .65fr;gap:18px}.france-map.expanded{height:545px}.france-map.expanded img{width:64%;left:5%}.live-chip{font:700 9px Manrope;letter-spacing:.08em;color:#51d9ad}.zone-signal{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(100,146,202,.13)}.zone-signal b,.zone-signal span{display:block}.zone-signal b{font-size:13px;color:#e9f1fc}.zone-signal span{font-size:10px;color:#7f95b2;margin-top:3px}.zone-signal strong{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#f0c96e;border:1px solid rgba(214,174,87,.24);background:rgba(214,174,87,.06);font-size:12px}
table{border-radius:11px;overflow:hidden}tbody tr:hover{background:rgba(43,107,191,.08)}.check{border-color:rgba(142,168,204,.45)}.check.done{background:#168e6d}.finance-chart{border-color:var(--line)}dialog{background:#0a1b33;color:#e9f1fb;border:1px solid rgba(109,164,232,.24)}.dialog-card input,.dialog-card select{background:#0c2341;color:white;border-color:var(--line)}
@media(max-width:1180px){.territory-layout{grid-template-columns:1fr}.france-map.expanded{height:470px}}
@media(max-width:820px){.live-rail span:not(:first-child){display:none}.mission-tags{flex-wrap:wrap}.france-map,.france-map.expanded{height:410px}.france-map img,.france-map.expanded img{width:78%;height:70%;left:2%;top:12%}.overseas-strip{right:8px;width:86px;top:75px}.map-callout{display:none}.map-legend{gap:7px;flex-wrap:wrap;right:100px}.kpi-grid{gap:10px}.topbar{background:rgba(5,16,31,.94)}}

/* Interactive territorial command */
.regions-svg{position:absolute;left:2%;top:7%;width:66%;height:82%;overflow:visible;filter:drop-shadow(0 0 17px rgba(51,129,225,.2))}.region-shape{fill:#183b68;stroke:#6c9fd9;stroke-width:1.25;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .18s,filter .18s,transform .18s;transform-box:fill-box;transform-origin:center}.region-shape:hover,.region-shape:focus{fill:#2d6db1;filter:drop-shadow(0 0 7px rgba(80,167,255,.75));outline:none;transform:translateY(-1px)}.region-shape.selected{fill:#d6ae57;stroke:#ffe2a0;filter:drop-shadow(0 0 9px rgba(214,174,87,.7))}.region-readout{position:absolute;right:16px;top:17px;width:29%;min-width:145px;padding:14px;background:linear-gradient(145deg,rgba(8,28,53,.96),rgba(11,38,70,.92));border:1px solid rgba(105,166,238,.25);border-radius:12px;box-shadow:0 16px 35px rgba(0,0,0,.25)}.region-readout>span{display:block;color:#6f8cad;font:700 8px Manrope;letter-spacing:.12em;margin-bottom:7px}.region-readout strong,.region-readout small,.region-readout em{display:block}.region-readout strong{color:#f0f5fc;font:800 13px Manrope}.region-readout small{color:#8da3be;font-size:9px;margin-top:4px}.region-readout em{font-style:normal;color:#61dfb5;font:700 9px Manrope;margin-top:9px}.region-readout p{color:#b9c9dc;font-size:9px;line-height:1.35;margin:7px 0 0}.france-map.interactive .overseas-strip{top:185px;bottom:auto}.france-map.interactive .overseas-strip button{cursor:pointer;transition:.18s}.france-map.interactive .overseas-strip button:hover,.france-map.interactive .overseas-strip button.selected{background:rgba(214,174,87,.18);border-color:#d6ae57;color:#f2d38a}.map-hud{z-index:3}.map-legend{z-index:3}.france-map.expanded .regions-svg{left:3%;width:70%;height:86%;top:5%}.france-map.expanded .region-readout{width:25%;top:20px}.france-map.expanded .overseas-strip{top:205px}

/* Roadmap 2035 */
.roadmap-command{overflow:hidden}.phase-switcher{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.phase-switcher button{min-height:76px;text-align:left;border:1px solid rgba(100,158,228,.17);background:rgba(10,31,58,.7);border-radius:11px;color:#8ca2bd;padding:11px;cursor:pointer}.phase-switcher button span,.phase-switcher button b{display:block}.phase-switcher button span{font:800 12px Manrope;color:#78aef1}.phase-switcher button b{font-size:10px;margin-top:7px;line-height:1.3}.phase-switcher button:hover,.phase-switcher button.active{border-color:rgba(214,174,87,.55);background:linear-gradient(145deg,rgba(214,174,87,.15),rgba(30,80,145,.18));color:#f1d592;box-shadow:inset 0 0 25px rgba(214,174,87,.05)}.phase-hero{padding:21px;border-radius:13px;background:linear-gradient(100deg,rgba(19,66,123,.55),rgba(10,31,58,.3));border-left:3px solid #d6ae57}.phase-hero span{font:800 9px Manrope;letter-spacing:.12em;color:#e2bf70}.phase-hero h3{font:800 20px Manrope;color:#f1f6ff;margin:6px 0}.phase-hero p{color:#a9bad0;font-size:13px;margin:0;max-width:800px}.phase-columns{display:grid;grid-template-columns:1fr 1fr .8fr;gap:20px;padding:20px 5px 2px}.phase-columns h4{font:700 11px Manrope;letter-spacing:.08em;color:#719bce;text-transform:uppercase}.phase-columns ul{margin:0;padding:0;list-style:none}.phase-columns li{color:#c6d3e3;font-size:12px;padding:6px 0 6px 17px;position:relative}.phase-columns li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border:1px solid #62a9fb;transform:rotate(45deg)}.phase-gate{border:1px solid rgba(214,174,87,.2);background:rgba(214,174,87,.06);border-radius:12px;padding:15px;align-self:start}.phase-gate span{font:800 8px Manrope;letter-spacing:.12em;color:#9b8353}.phase-gate strong{display:block;color:#f0d28a;font-size:12px;line-height:1.45;margin-top:8px}
@media(max-width:820px){.regions-svg,.france-map.expanded .regions-svg{width:72%;height:70%;left:-5%;top:16%}.region-readout,.france-map.expanded .region-readout{width:42%;right:7px;top:14px}.france-map.interactive .overseas-strip,.france-map.expanded .overseas-strip{top:190px}.phase-switcher{grid-template-columns:1fr 1fr}.phase-columns{grid-template-columns:1fr}.phase-gate{margin-top:4px}}

.mode-badge{padding:7px 10px;border:1px solid rgba(240,190,83,.35);border-radius:999px;color:#f0c66f;background:rgba(214,174,87,.09);font:700 9px Manrope;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.mode-badge.connected{border-color:rgba(54,215,164,.4);color:#58e0b5;background:rgba(54,215,164,.08)}
@media(max-width:980px){.mode-badge{display:none}}
