:root { --ink:#10242b; --muted:#6b7d82; --paper:#f5f7f4; --card:#fff; --line:#dbe5e1; --accent:#b5e34a; --accent-dark:#698f19; --shadow:0 18px 45px rgba(16,36,43,.09); --radius:1.4rem; }
body.modern-app { --ink:#e2b27e; --muted:#948462; --paper:#000; --card:#161616; --line:#594939; --accent:#fda944; --accent-dark:#e38f35; --shadow:0 18px 45px rgba(0,0,0,.42); --radius:.35rem; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; display:flex; gap:2rem; justify-content:space-between; margin:auto; max-width:1180px; padding:1.4rem 2rem; }
.brand { font-size:1rem; font-weight:900; letter-spacing:.12em; }
.brand span { color:#c60f19; }
nav { display:flex; gap:1.4rem; margin-left:auto; }
nav a,.text-link { color:var(--muted); font-size:.9rem; font-weight:700; }
nav a:hover,.text-link:hover { color:var(--ink); }
nav a.is-active { box-shadow:inset 0 -2px 0 var(--accent); color:var(--ink); }
.player-navigation { align-items:center; background:var(--card); border:1px solid var(--line); border-radius:.35rem; box-shadow:var(--shadow); display:flex; gap:.8rem; justify-content:flex-start; margin:.75rem 0 0; overflow-x:auto; padding:0 .8rem; scrollbar-width:thin; }
.player-navigation a { flex:0 0 auto; padding:.8rem .55rem; }
.site-header .player-navigation { background:transparent; border:0; border-radius:0; box-shadow:none; flex:1 1 auto; margin:0; min-width:0; padding:0; }
.site-header .player-navigation a { font-size:.78rem; padding:.35rem .25rem; }
.nav-notification { color:#a9fd44; font-weight:900; }
.profile-chip { align-items:center; display:flex; font-size:.9rem; font-weight:800; gap:.6rem; }
.avatar { align-items:center; background:var(--accent); border-radius:50%; display:inline-flex; font-size:.75rem; font-weight:900; height:2rem; justify-content:center; width:2rem; }
.avatar-large { font-size:1.25rem; height:4.5rem; width:4.5rem; }
.page-shell { margin:auto; max-width:1180px; padding:4rem 2rem 6rem; }
.hero { align-items:center; display:grid; gap:3rem; grid-template-columns:1fr; min-height:360px; }
.hero-with-login { background-image:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.86) 48%,rgba(0,0,0,.68)),url('/interface/images/fond.jpg'); background-position:center 15%; background-size:cover; border:1px solid var(--line); border-radius:1.4rem; grid-template-columns:minmax(0,1fr) minmax(300px,420px); overflow:hidden; padding:clamp(1.25rem,4vw,3rem); position:relative; }
.hero-with-login > * { position:relative; z-index:1; }
.hero h1 { font-size:clamp(2rem,4vw,3.8rem); }
.eyebrow,.metric-label,.card-index { color:var(--accent-dark); font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
h1 { font-size:clamp(2.7rem,7vw,6.5rem); letter-spacing:-.07em; line-height:.92; margin:1rem 0 1.5rem; max-width:850px; }
h2 { letter-spacing:-.04em; margin:.6rem 0; }
.lead { color:var(--muted); font-size:1.15rem; max-width:600px; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.button { background:var(--ink); border:1px solid var(--ink); border-radius:999px; color:white; display:inline-block; font-weight:800; padding:.7rem 1.1rem; }
.button:hover { background:#29434b; }
.button-ghost { background:transparent; color:var(--ink); }
.button-small { padding:.5rem .85rem; }
.site-header-login { font-size:.78rem; letter-spacing:.03em; min-width:6.5rem; padding:.5rem .85rem; text-align:center; }
.hero-panel,.card { background:var(--card); border:1px solid var(--line); border-radius:1.4rem; box-shadow:var(--shadow); padding:1.5rem; }
.hero-panel { display:flex; flex-direction:column; gap:.35rem; }
.hero-panel small,.metric small { color:var(--muted); }
.status-dot { background:var(--accent); border-radius:50%; box-shadow:0 0 0 7px #edf8d7; height:.75rem; margin-bottom:1rem; width:.75rem; }
.feature-grid,.dashboard-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin-top:4rem; }
.feature-card { overflow:hidden; padding:0; }
.feature-card-image { display:block; height:150px; object-fit:cover; opacity:.82; width:100%; }
.feature-card-content { padding:1.5rem; }
.feature-card-content .card-index { margin-bottom:1rem; }
.home-briefing { align-items:center; display:grid; gap:2rem; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); margin-top:1rem; }
.home-briefing h2 { color:var(--ink); font-size:clamp(1.35rem,3vw,2rem); margin:.3rem 0 .7rem; }
.home-briefing p { margin-bottom:0; max-width:680px; }
.home-briefing-steps { border-left:1px solid var(--line); display:grid; gap:.65rem; padding-left:1.5rem; }
.home-briefing-steps span { align-items:center; display:flex; gap:.75rem; }
.home-briefing-steps strong { color:var(--accent); font-size:.75rem; }
.home-briefing-steps small { color:var(--muted); font-size:.8rem; }
.home-briefing-steps .button { justify-self:start; margin-top:.25rem; }
.beta-closed { background:linear-gradient(135deg,rgba(22,22,22,.98),rgba(39,24,10,.96)),url('/images/page/operations.png') center/cover; border-color:#594939; display:grid; gap:1.5rem; margin:0 auto; max-width:820px; overflow:hidden; padding:clamp(1.25rem,4vw,2.5rem); position:relative; }
.beta-closed::before { background:#c60f19; content:""; inset:0 auto 0 0; position:absolute; width:4px; }
.beta-closed::after { border:1px solid rgba(253,169,68,.2); content:"BETA // ACCESS CONTROL"; color:rgba(253,169,68,.7); font-size:.58rem; font-weight:900; letter-spacing:.14em; padding:.35rem .5rem; position:absolute; right:1.25rem; text-transform:uppercase; top:1.1rem; }
.beta-closed > * { position:relative; }
.beta-closed h1 { color:var(--ink); font-size:clamp(1.8rem,4.5vw,3.25rem); letter-spacing:-.055em; line-height:1; margin:.3rem 0 .7rem; max-width:680px; text-shadow:2px 2px 0 #000; text-transform:uppercase; }
.beta-closed .lead { color:#c8a77f; max-width:680px; }
.beta-closed-login { background:rgba(0,0,0,.55); border-color:#594939; box-shadow:0 10px 24px rgba(0,0,0,.35); max-width:520px; padding:1.15rem; width:100%; }
.beta-closed-note { border-top:1px solid #594939; color:var(--muted); font-size:.82rem; margin:0; padding-top:1rem; }
.home-seo { display:grid; gap:2rem; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); margin-top:1rem; }
.home-seo h2 { color:var(--ink); font-size:clamp(1.35rem,3vw,2rem); margin:.3rem 0 .7rem; }
.home-seo p { margin:.55rem 0; max-width:760px; }
.home-seo-facts { border-left:1px solid var(--line); display:flex; flex-direction:column; gap:1rem; justify-content:center; padding-left:1.5rem; }
.home-seo-facts span { display:flex; flex-direction:column; gap:.15rem; }
.home-seo-facts strong { color:var(--accent); font-size:.75rem; letter-spacing:.08em; }
.home-seo-facts small { color:var(--muted); font-size:.8rem; }
.login-card { margin:0 auto; max-width:620px; width:100%; }
.login-card h2 { margin-top:.25rem; }
.login-error { background:rgba(250,31,31,.12); border:1px solid #fa1f1f; color:#fa1f1f; padding:.55rem .75rem; }
.login-error p { margin:0; }
.login-success { background:rgba(169,253,68,.12); border:1px solid #698f19; color:#698f19; padding:.55rem .75rem; }
.login-success p { margin:0; }
.login-switcher { perspective:1200px; }
.login-switcher-toggle { height:1px; opacity:0; position:absolute; width:1px; }
.login-switcher-toggle:focus-visible + .login-flip { outline:2px solid var(--accent); outline-offset:4px; }
.login-flip { display:grid; transform-style:preserve-3d; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.login-face { backface-visibility:hidden; grid-area:1 / 1; min-width:0; }
.login-face-back { transform:rotateY(180deg); visibility:hidden; }
.login-switcher-toggle:checked + .login-flip { transform:rotateY(180deg); }
.login-switcher-toggle:checked + .login-flip .login-face-front { visibility:hidden; }
.login-switcher-toggle:checked + .login-flip .login-face-back { visibility:visible; }
.login-face-heading { align-items:center; display:flex; gap:.8rem; margin-bottom:.75rem; }
.login-face-heading img { background:#000; border:1px solid var(--line); border-radius:.25rem; flex:0 0 64px; height:64px; object-fit:contain; width:64px; }
.login-face-heading .eyebrow { margin:0; }
.login-face h3 { color:var(--ink); font-size:1.25rem; letter-spacing:-.04em; margin:.15rem 0 0; }
.login-face > p { color:var(--muted); font-size:.85rem; margin:.7rem 0 0; }
.login-recovery-form { margin-top:.7rem; }
.login-help { cursor:pointer; display:inline-block; font-size:.78rem; margin-top:.85rem; }
.hero-login-link { display:none; }
.card p { color:var(--muted); }
.card-index { display:block; margin-bottom:2rem; }
.section-heading { margin-bottom:3rem; }
.section-heading h1 { font-size:clamp(3rem,7vw,5.5rem); }
.page-title-block { margin-bottom:1.25rem; }
.page-title-block h1 { font-size:clamp(1.8rem,3.5vw,2.8rem); letter-spacing:-.05em; margin:.1rem 0 .35rem; }
.page-title-block .lead { font-size:.9rem; margin:0; }
.medals-page { display:flex; flex-direction:column; gap:1rem; }
.medals-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.medal-card { display:flex; flex-direction:column; min-width:0; padding:.85rem; }
.medal-card-header { align-items:flex-start; display:flex; gap:.6rem; justify-content:space-between; min-height:3.15rem; }
.medal-card-heading { min-width:0; }
.medal-card-heading .eyebrow { margin:0; }
.medal-card h2 { font-size:1.05rem; line-height:1.2; margin:.65rem 0 .45rem; min-height:2.5rem; overflow-wrap:anywhere; }
.medal-description { color:var(--muted); font-size:.78rem; min-height:2.4rem; }
.medal-stage-badge { border:1px solid var(--line); border-radius:999px; color:var(--accent); flex:0 0 auto; font-size:.6rem; font-weight:800; max-width:45%; padding:.3rem .5rem; text-align:center; }
.medal-progress { align-items:baseline; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:flex; gap:.75rem; justify-content:space-between; padding:.7rem 0; }
.medal-progress span,.medal-next { color:var(--muted); font-size:.75rem; }
.medal-progress strong { color:var(--accent); font-size:1rem; }
.medal-levels { display:grid; grid-template-columns:repeat(5,1fr); gap:.35rem; margin:.9rem 0; }
.medal-level { align-items:center; display:flex; flex-direction:column; gap:.25rem; opacity:.42; text-align:center; }
.medal-level.is-active { opacity:1; }
.medal-level img { height:36px; object-fit:contain; width:36px; }
.medal-level small { color:var(--muted); font-size:.6rem; }
.medal-next { margin:auto 0 0; padding-top:.75rem; }
.stage-certificat .medal-stage-badge { color:#d99a8d; }
.stage-bronze .medal-stage-badge { color:#fbbe7b; }
.stage-argent .medal-stage-badge { color:#c5ccd2; }
.stage-or .medal-stage-badge { color:#e6bd54; }
.regiments-page { display:flex; flex-direction:column; gap:1rem; }
.regiments-columns { display:grid; gap:.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.regiment-overview-card { display:flex; flex-direction:column; min-width:0; padding:.9rem; }
.regiment-overview-card.is-premium { border-color:var(--accent-dark); }
.regiment-overview-header { align-items:center; display:flex; gap:.7rem; min-height:4.1rem; }
.regiment-overview-title { min-width:0; }
.regiment-overview-title .eyebrow { margin:0; }
.regiment-overview-title h2 { font-size:1.1rem; margin:.15rem 0; overflow-wrap:anywhere; }
.regiment-overview-title p { color:var(--muted); font-size:.7rem; margin:0; }
.regiment-overview-facts { border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; gap:.4rem; grid-template-columns:repeat(3,1fr); margin:1rem 0; padding:.7rem 0; }
.regiment-overview-facts div { min-width:0; }
.regiment-overview-facts dt { color:var(--muted); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.regiment-overview-facts dd { font-size:.7rem; font-weight:800; margin:.1rem 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-overview-activity { min-height:4.6rem; }
.regiment-overview-activity .eyebrow { margin:0 0 .4rem; }
.regiment-overview-activity .status-badge { display:inline-block; margin:.1rem .15rem .1rem 0; }
.regiment-overview-footer { border-top:1px solid var(--line); margin-top:auto; padding-top:.75rem; }
.regiment-overview-footer .button { display:block; text-align:center; }
.regiment-tools { margin-top:1.5rem; }
.regiment-tools .page-title-block { margin-bottom:1rem; }
.regiment-tools .page-title-block h2 { font-size:1.35rem; margin:.15rem 0 .35rem; }
.regiment-feature-tabs { border-bottom:1px solid var(--line); display:grid; gap:.55rem; grid-template-columns:repeat(5,minmax(0,1fr)); padding:.15rem .1rem 0; }
.regiment-feature-tab { background:linear-gradient(180deg,rgba(255,255,255,.025),transparent); border:1px solid transparent; border-bottom:2px solid var(--line); border-radius:.55rem .55rem 0 0; display:flex; flex-direction:column; gap:.25rem; min-height:86px; padding:.75rem .7rem .8rem; position:relative; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.regiment-feature-tab:hover { background:rgba(253,169,68,.07); border-color:var(--accent-dark); transform:translateY(-2px); }
.regiment-feature-tab.is-active { background:rgba(253,169,68,.12); border-color:var(--accent); border-bottom-color:var(--accent); }
.regiment-feature-tab.is-active::after { background:var(--accent); bottom:-2px; content:""; height:3px; left:14%; position:absolute; right:14%; }
.regiment-feature-tab-icon { align-items:center; background:rgba(253,169,68,.12); border:1px solid rgba(253,169,68,.25); border-radius:.45rem; color:var(--accent); display:inline-flex; font-size:1rem; height:2rem; justify-content:center; line-height:1; width:2rem; }
.regiment-feature-tab-icon svg { height:1.2rem; width:1.2rem; }
.regiment-feature-tab strong { font-size:.86rem; letter-spacing:.01em; margin-top:.2rem; }
.regiment-feature-select { display:none; position:relative; }
.regiment-feature-select label { color:var(--muted); display:block; font-size:.68rem; font-weight:900; margin-bottom:.4rem; text-transform:uppercase; }
.regiment-feature-select select { appearance:none; background:var(--card); border:1px solid var(--line); border-radius:.65rem; box-shadow:0 8px 20px rgba(0,0,0,.08); color:var(--ink); font-family:inherit; font-size:.9rem; font-weight:800; line-height:1.2; min-height:3.1rem; padding:.75rem 2.75rem .75rem .9rem; transition:border-color .15s ease,box-shadow .15s ease; width:100%; }
.regiment-feature-select::after { border-bottom:2px solid var(--accent-dark); border-right:2px solid var(--accent-dark); content:""; height:.5rem; pointer-events:none; position:absolute; right:1.1rem; top:2.35rem; transform:rotate(45deg); width:.5rem; }
.regiment-feature-select select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(253,169,68,.2); outline:0; }
@media(max-width:700px) { .regiment-feature-tabs { display:none !important; }.regiment-feature-select { display:block; } }
.dashboard-grid { grid-template-columns:repeat(4,1fr); margin-top:0; }
.profile-card { grid-column:span 2; }
.profile-main { align-items:center; display:flex; gap:1rem; min-height:130px; }
.profile-main h2 { font-size:1.8rem; }
.metric { display:flex; flex-direction:column; gap:.4rem; justify-content:center; min-height:180px; }
.metric strong { font-size:2.8rem; letter-spacing:-.08em; }
.regiment-card { grid-column:span 2; }
.quick-links { margin-top:4rem; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.quick-grid a { border-bottom:1px solid var(--line); font-weight:800; padding:1.2rem 0; }
.quick-grid span { color:var(--accent-dark); float:right; }
.bureau-dashboard { display:flex; flex-direction:column; gap:1rem; }
.bureau-heading { margin-bottom:.5rem; }
.bureau-heading h1 { margin-bottom:.9rem; }
.bureau-shortcuts { display:grid; gap:.7rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bureau-shortcuts .operation-card { background:var(--card); border-radius:1.4rem; min-height:104px; }
.bureau-shortcuts .operation-card img { flex-basis:54px; height:54px; width:54px; }
.bureau-regiments { margin:0; }
.bureau-regiments > .panel-heading { margin-bottom:.7rem; }
.bureau-regiment-grid { display:grid; gap:.7rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.bureau-regiment-card { display:flex; flex-direction:column; gap:.7rem; min-width:0; padding:.75rem; }
.bureau-regiment-card-main { align-items:center; display:flex; gap:.65rem; min-width:0; }
.bureau-regiment-card-main > span:last-child { display:flex; flex:1; flex-direction:column; gap:.15rem; min-width:0; }
.bureau-regiment-card-main strong { color:var(--ink); font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bureau-regiment-card-main small,.bureau-regiment-card-empty small { color:var(--muted); font-size:.64rem; }
.bureau-regiment-card.is-premium { border-color:var(--accent-dark); }
.bureau-regiment-card-empty { align-items:center; border-style:dashed; color:var(--muted); flex-direction:row; min-height:100px; opacity:.72; }
.bureau-regiment-card-empty > span:last-child { display:flex; flex-direction:column; gap:.15rem; }
.bureau-regiment-actions { border-top:1px solid var(--line); display:grid; gap:.35rem; grid-template-columns:repeat(3,1fr); padding-top:.55rem; }
.bureau-regiment-actions a { color:var(--accent-dark); font-size:.62rem; font-weight:900; text-align:center; }
.bureau-regiment-actions a:hover { color:var(--accent); }
.bureau-dashboard-heading { margin:.35rem 0 -.2rem; }
.bureau-dashboard-heading .eyebrow { margin:0 0 .15rem; }
.bureau-dashboard-heading h2 { margin:0; }
.bureau-metrics { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.bureau-metric { display:flex; flex-direction:column; gap:.35rem; min-height:142px; justify-content:center; }
.bureau-metric strong { font-size:2.5rem; letter-spacing:-.08em; line-height:1; }
.bureau-metric small { color:var(--muted); font-size:.75rem; }
.company-overview { margin:0; }
.company-state-list { display:grid; gap:.5rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.company-state { align-items:center; background:color-mix(in srgb,var(--status-color) 7%,transparent); border-left:3px solid var(--status-color); border-top:1px solid var(--line); display:flex; gap:.5rem; min-width:0; padding:.5rem .55rem; }
.company-state .activity-icon { flex-basis:30px; height:30px; width:30px; }
.company-state .activity-copy strong { font-size:.8rem; }
.company-state .activity-copy small { font-size:.6rem; }
.company-state-count { color:var(--accent); font-size:1.1rem; margin-left:auto; }
.company-state.status-attente { --status-color:#948462; }
.company-state.status-projection { --status-color:#2e6ca0; }
.company-state.status-permission { --status-color:#318a05; }
.company-state.status-soin { --status-color:#c74e52; }
.company-state.status-formation { --status-color:#fda944; }
.company-state.status-detente { --status-color:#b7833f; }
.company-state.status-retour { --status-color:#6b7d82; }
.company-state .activity-icon { border-color:var(--status-color); color:var(--status-color); }
.company-state-count { color:var(--status-color); }
.company-state.is-empty { background:transparent; opacity:.55; }
.bureau-production { padding:1rem; }
.production-list { display:grid; gap:.5rem; grid-template-columns:repeat(5,minmax(0,1fr)); }
.production-item { border-top:1px solid var(--line); display:flex; flex-direction:column; gap:.15rem; padding:.65rem 0 0; }
.production-item span { color:var(--muted); font-size:.72rem; font-weight:800; }
.production-item strong { color:var(--accent-dark); font-size:1.1rem; }
.bureau-highlights { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.bureau-links { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.bureau-link-card { display:flex; flex-direction:column; gap:.35rem; padding:1rem; text-decoration:none; }
.bureau-link-card strong { color:var(--text); font-size:1.15rem; }
.bureau-link-card small { color:var(--muted); font-size:.75rem; }
.bureau-link-rank { color:var(--accent-dark); margin-left:.35rem; }
.bureau-highlight { min-height:190px; padding:1rem; }
.bureau-highlight h2 { font-size:1.1rem; margin:.4rem 0 .6rem; }
.bureau-highlight p { font-size:.75rem; }
.bureau-highlight-value { color:var(--accent-dark); font-size:2.5rem; line-height:1; }
.bureau-highlight .text-link { display:inline-block; font-size:.75rem; font-weight:800; margin-top:.5rem; }
.bureau-event-list { display:grid; gap:.4rem; list-style:none; margin:.65rem 0 0; padding:0; }
.bureau-event-list li { border-top:1px solid var(--line); color:var(--muted); font-size:.7rem; padding-top:.4rem; }
.bureau-event-list strong { color:var(--accent-dark); }
.organization-page { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.organization-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.modern-organization .organization-heading h1 { margin:.15rem 0 0; font-size:1.15rem; line-height:1.3; letter-spacing:0; }
.organization-heading .eyebrow { margin:0; }
.organization-hero.card { padding:0; overflow:hidden; border-top:3px solid #942d2d; }
.organization-identity { display:flex; align-items:center; gap:1rem; padding:1.2rem; min-width:0; }
.organization-identity > div { min-width:0; }
.organization-emblem { display:grid; place-items:center; flex:0 0 64px; min-height:64px; border:1px solid var(--line); border-radius:.3rem; color:var(--accent-dark); font-weight:900; font-size:1rem; }
.organization-identity h2 { font-size:1.2rem; margin:0 0 .3rem; overflow-wrap:anywhere; }
.organization-identity p { margin:0 0 .35rem; overflow-wrap:anywhere; }
.organization-identity p,.organization-identity small { color:var(--muted); font-size:.8rem; }
.organization-facts { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:0; margin:0; border-top:1px solid var(--line); }
.organization-facts > div { padding:.85rem 1.2rem; min-width:0; }
.organization-facts > div + div { border-left:1px solid var(--line); }
.organization-facts dt { font-size:.72rem; color:var(--muted); }
.organization-facts dd { margin:.2rem 0 0; font-size:1.25rem; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.organization-treasury dd { color:var(--accent-dark); }
.organization-facts dd small { font-size:.8rem; }
.organization-members.card { padding:0; overflow:hidden; }
.organization-members .panel-heading { padding:1rem 1.2rem; margin:0; gap:.75rem; }
.organization-members h2,.organization-empty h2 { font-size:1.05rem; margin:0; }
.organization-roster { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.85rem; }
.organization-roster th,.organization-roster td { padding:.85rem 1.2rem; border-top:1px solid var(--line); text-align:left; vertical-align:middle; overflow-wrap:anywhere; }
.organization-roster th { color:var(--muted); font-size:.7rem; font-weight:600; }
.organization-roster th:first-child { width:40%; }
.organization-roster th:last-child,.organization-roster td:last-child { text-align:right; }
.organization-person strong,.organization-person small { display:block; }
.organization-person small { color:var(--muted); font-size:.72rem; margin-top:.2rem; }
.organization-post { display:inline-block; border:1px solid var(--line); padding:.15rem .5rem; border-radius:.3rem; font-size:.75rem; }
.organization-contribution { font-weight:700; font-variant-numeric:tabular-nums; }
.organization-contribution.is-negative { color:#d45960; }
.organization-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; padding:1rem 1.2rem; border-top:1px solid var(--line); font-size:.75rem; }
.organization-footer p { margin:0; color:var(--muted); }
.organization-footer a { font-weight:700; }
.organization-empty.card { padding:1.2rem; }
.organization-invitation { border-top:1px solid var(--line); padding:1rem 1.2rem; }
.organization-invitation h3 { font-size:1rem; margin:0; }
.organization-invitation p { color:var(--muted); overflow-wrap:anywhere; }
.organization-members > p,.organization-members > a { display:block; margin:1rem 1.2rem; }
.organization-page a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.organization-invite-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.organization-invite-form label { display:flex; flex-direction:column; gap:.4rem; font-size:.85rem; }
.organization-invite-form input,.organization-invite-form textarea { width:100%; min-width:0; padding:.65rem; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:.3rem; font:inherit; }
.organization-invite-message { grid-column:1/-1; }
.organization-invite-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.mission-navigation-link { align-items:center; background:transparent; border:1px solid var(--accent-dark); color:var(--muted); cursor:pointer; display:flex; font:inherit; font-size:.78rem; font-weight:800; gap:.3rem; padding:.45rem .65rem; white-space:nowrap; }
.mission-navigation-link:hover,.mission-navigation-link:focus-visible { color:var(--ink); outline:2px solid rgba(253,169,68,.24); outline-offset:2px; }
.mission-navigation-star { color:var(--accent); font-size:.8rem; }
.mission-navigation-badge { align-items:center; background:var(--accent); border-radius:999px; color:#191919; display:inline-flex; font-size:.58rem; font-weight:900; height:1.15rem; justify-content:center; min-width:1.15rem; padding:0 .22rem; }
.mission-navigation-badge[data-complete="true"] { background:#a9fd44; }
.mission-dialog[hidden] { display:none; }
.mission-dialog { align-items:flex-start; background:rgba(0,0,0,.75); display:flex; inset:0; justify-content:center; overflow:auto; padding:6rem 1rem 2rem; position:fixed; z-index:1000; }
.mission-dialog-panel { background:var(--card); border:1px solid var(--accent-dark); box-shadow:0 24px 70px rgba(0,0,0,.6); max-width:680px; overflow:hidden; padding:0; width:100%; }
.mission-dialog-header { align-items:flex-start; background:linear-gradient(135deg,rgba(253,169,68,.13),transparent 62%); border-bottom:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1.2rem 1.3rem 1rem; }
.mission-dialog-heading { min-width:0; }
.mission-dialog-banner { display:block; height:18px; margin-bottom:.85rem; object-fit:contain; object-position:left center; width:111px; }
.mission-dialog-header .eyebrow { margin:0; }
.mission-dialog-header h2 { font-size:1.35rem; margin:.2rem 0 .25rem; }
.mission-dialog-close { background:transparent; border:1px solid var(--line); color:var(--ink); cursor:pointer; font-size:1.4rem; line-height:1; padding:.15rem .5rem; }
.mission-dialog-close:hover,.mission-dialog-close:focus-visible { border-color:var(--accent); color:var(--accent); }
.mission-dialog-name { color:var(--accent); font-size:1rem; font-weight:900; margin:0; overflow-wrap:anywhere; }
.mission-dialog-content { display:grid; gap:.75rem; padding:1rem 1.3rem 0; }
.mission-dialog-section { background:rgba(255,255,255,.025); border:1px solid var(--line); margin:0; padding:.85rem; }
.mission-dialog-section-heading { align-items:center; display:flex; gap:.55rem; margin-bottom:.55rem; min-height:29px; }
.mission-dialog-section-heading img { flex:0 0 auto; height:29px; object-fit:contain; width:40px; }
.mission-dialog-section-heading h3 { color:var(--accent-dark); font-size:.68rem; letter-spacing:.1em; margin:0; text-transform:uppercase; }
.mission-dialog-section p { color:var(--muted); font-size:.82rem; line-height:1.55; margin:.2rem 0; white-space:pre-line; }
.mission-dialog-section-icon { align-items:center; background:var(--accent); border-radius:50%; color:#191919; display:inline-flex; font-size:.8rem; font-weight:900; height:29px; justify-content:center; width:29px; }
.mission-dialog-section-icon-reward { background:#e2b27e; }
.mission-dialog-state { background:rgba(169,253,68,.12); border:1px solid #698f19; border-radius:999px; color:#a9fd44; font-size:.6rem; font-weight:900; margin-left:auto; padding:.25rem .5rem; text-transform:uppercase; }
.mission-objective { border-left:3px solid #d99a8d; padding-left:.7rem; }
.mission-objective.is-complete { border-left-color:#698f19; }
.mission-objective-list { display:grid; gap:.45rem; }
.mission-objective-line { align-items:flex-start; border-left:3px solid var(--line); display:flex; gap:.55rem; padding:.35rem .55rem; }
.mission-objective-line.is-pending { border-left-color:#d45960; }
.mission-objective-line.is-complete { border-left-color:#698f19; }
.mission-objective-marker { align-items:center; background:var(--line); border-radius:50%; color:var(--ink); display:inline-flex; flex:0 0 auto; font-size:.65rem; font-weight:900; height:1.2rem; justify-content:center; margin-top:.1rem; width:1.2rem; }
.mission-objective-line.is-pending .mission-objective-marker { background:#d45960; color:#fff; }
.mission-objective-line.is-complete .mission-objective-marker { background:#698f19; color:#fff; }
.mission-reward { color:var(--accent)!important; font-weight:900; }
.mission-dialog-success { border-color:#698f19; }
.mission-dialog-success .mission-dialog-section-heading h3 { color:#a9fd44; }
.mission-reward-grid { display:grid; gap:.55rem; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); }
.mission-reward-item { align-items:center; background:rgba(253,169,68,.06); border:1px solid var(--line); display:flex; gap:.55rem; min-width:0; padding:.5rem; }
.mission-reward-item img { flex:0 0 auto; height:29px; object-fit:contain; width:40px; }
.mission-reward-item span { display:flex; flex-direction:column; min-width:0; }
.mission-reward-item small { color:var(--muted); font-size:.58rem; font-weight:900; text-transform:uppercase; }
.mission-reward-item strong { color:var(--accent); font-size:.85rem; overflow-wrap:anywhere; }
.mission-dialog-note { border-top:1px dashed var(--line); color:var(--muted); font-size:.68rem; margin:1rem 1.3rem 0; padding:0 0 1.2rem; padding-top:.7rem; }
.locked-page { align-items:center; display:grid; gap:1.5rem; grid-template-columns:minmax(160px,240px) 1fr; margin:0 auto; max-width:900px; }
.locked-page-image img { display:block; max-height:210px; object-fit:contain; width:100%; }
.locked-page-copy h1 { font-size:clamp(2rem,5vw,4rem); margin:.2rem 0 .7rem; }
.locked-page-copy > p { max-width:600px; }
.locked-requirement { border-left:3px solid #d99a8d; color:#f06b70!important; font-weight:900; padding-left:.7rem; }
.locked-page-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
@media(max-width:700px) { .organization-invite-form { grid-template-columns:1fr; }.organization-invite-actions .button { width:100%; } }
@media(max-width:700px) {
    .modern-organization .organization-heading h1 { font-size:1.05rem; }
    .organization-heading .status-badge { font-size:.65rem; }
    .organization-identity { padding:1rem; gap:.75rem; align-items:flex-start; }
    .organization-emblem { flex-basis:48px; min-height:48px; font-size:.8rem; }
    .organization-facts { grid-template-columns:1fr 1fr; }
    .organization-facts > div { padding:.75rem 1rem; }
    .organization-facts .organization-treasury { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); }
    .organization-roster,.organization-roster tbody { display:block; }
    .organization-roster thead { display:none; }
    .organization-roster tr { display:grid; grid-template-columns:minmax(0,1fr); padding:.8rem 1rem; border-top:1px solid var(--line); gap:.4rem; }
    .organization-roster td { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:0; border:0; text-align:left; }
    .organization-roster td.organization-person { display:block; margin-bottom:.25rem; }
    .organization-roster td[data-label]::before { content:attr(data-label); color:var(--muted); font-size:.7rem; font-weight:400; }
}
.legacy-banner { align-items:center; background:#2e1d0b; border:1px solid #594939; color:#e2b27e; display:flex; gap:1rem; justify-content:space-between; margin-bottom:2.5rem; padding:.75rem 1rem; }
.legacy-banner .button { flex-shrink:0; }
.site-banner .legacy-banner { font-size:.88rem; gap:.75rem; padding:.55rem .8rem; }
.site-banner .legacy-banner .button-small { font-size:.8rem; padding:.45rem .8rem; }
.site-banner { margin:0 auto; max-width:1180px; padding:.75rem 2rem 0; }
.site-banner .legacy-banner { margin:0; }
.site-banner + .page-shell { padding-top:2rem; }
.empty-state { text-align:center; }
.login-form { display:grid; gap:.55rem; margin-top:1rem; text-align:left; }
.login-form label { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.login-form input { background:#000; border:1px solid #594939; border-radius:.45rem; color:var(--ink); font:inherit; padding:.65rem .75rem; width:100%; }
.login-form input:focus { border-color:#fda944; outline:2px solid rgba(253,169,68,.22); outline-offset:1px; }
.login-form .button { justify-self:start; margin-top:.35rem; }
.login-help { font-size:.78rem; margin-top:.25rem; }
.site-footer { color:var(--muted); font-size:.8rem; margin:auto; max-width:1180px; padding:2rem; text-align:center; }
.footer-status { align-items:center; display:flex; gap:.75rem; justify-content:center; margin-bottom:.75rem; }
.footer-status .status-dot { flex-shrink:0; margin-bottom:0; }
.footer-status-copy { display:flex; flex-direction:column; gap:.1rem; text-align:left; }
.footer-navigation { align-items:center; display:flex; flex-wrap:wrap; gap:.35rem 1rem; justify-content:center; margin:0 auto .75rem; }
.footer-navigation a { color:var(--muted); font-size:.75rem; font-weight:800; }
.footer-navigation a:hover { color:var(--ink); }
.footer-status-copy small { color:var(--muted); }
body.modern-app .site-header { border-bottom:1px solid #442f1f; }
body.modern-app:not(.theme-light) { background-color:#050505; background-image:radial-gradient(ellipse at 50% -18%,rgba(198,15,25,.13),transparent 43%),linear-gradient(rgba(253,169,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(253,169,68,.035) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
body.modern-app:not(.theme-light) .site-header { background:linear-gradient(180deg,rgba(46,29,11,.84),rgba(0,0,0,.28)); box-shadow:0 2px 0 #000,0 1px 0 #594939; position:relative; }
body.modern-app:not(.theme-light) .site-header::before { background:repeating-linear-gradient(90deg,#c60f19 0 18px,transparent 18px 26px); content:""; height:2px; left:2rem; opacity:.9; position:absolute; right:2rem; top:0; }
body.modern-app:not(.theme-light) .site-header .player-navigation { gap:.25rem; }
body.modern-app:not(.theme-light) .site-header .player-navigation a { border:1px solid transparent; color:#948462; letter-spacing:.055em; padding:.5rem .55rem; text-transform:uppercase; }
body.modern-app:not(.theme-light) .site-header .player-navigation a:hover { background:rgba(253,169,68,.08); border-color:#594939; color:#fda944; }
body.modern-app:not(.theme-light) .site-header .player-navigation a.is-active { background:rgba(198,15,25,.16); border-color:rgba(198,15,25,.72); box-shadow:inset 0 -2px 0 #fda944; color:#e2b27e; }
body.modern-app:not(.theme-light) .brand { color:#fda944; font-family:Tahoma,Arial Narrow,sans-serif; text-shadow:0 1px 0 #000; }
body.modern-app:not(.theme-light) h1 { font-family:Tahoma,Arial Narrow,sans-serif; text-shadow:2px 2px 0 #000; text-transform:uppercase; }
body.modern-app:not(.theme-light) h2 { color:#e2b27e; text-transform:uppercase; }
body.modern-app:not(.theme-light) .hero-panel,
body.modern-app:not(.theme-light) .card { background-image:linear-gradient(135deg,rgba(253,169,68,.055),transparent 22%,transparent 78%,rgba(198,15,25,.06)); border-radius:.35rem; box-shadow:inset 0 0 0 1px rgba(253,169,68,.08),0 12px 24px rgba(0,0,0,.32); }
body.modern-app:not(.theme-light) .card { border-left-color:rgba(253,169,68,.7); }
body.modern-app:not(.theme-light) .button { border-radius:.12rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.22),0 3px 0 rgba(0,0,0,.4); letter-spacing:.08em; text-transform:uppercase; transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
body.modern-app:not(.theme-light) .button:hover { box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.22),0 1px 0 rgba(0,0,0,.4); transform:translateY(2px); }
body.modern-app:not(.theme-light) .button:focus-visible,
body.modern-app:not(.theme-light) a:focus-visible { outline:2px solid #fda944; outline-offset:3px; }
body.modern-app:not(.theme-light) .quick-grid a { border-bottom-color:#594939; text-transform:uppercase; }
body.modern-app .brand span { color:#c60f19; }
body.modern-app .eyebrow,
body.modern-app .card-index { color:#e38f35; }
body.modern-app nav a:hover,
body.modern-app .text-link:hover { color:#fda944; }
body.modern-app .profile-chip .avatar { background:#fda944; color:#191919; }
body.modern-app .button { background:#fda944; border-color:#fda944; color:#191919; }
body.modern-app .button:hover { background:#feae05; border-color:#feae05; }
body.modern-app .button-ghost { background:transparent; color:#fda944; }
body.modern-app .button-ghost:hover { background:#2e1d0b; }
body.modern-app .hero-panel,
body.modern-app .card { background:#161616; border-color:#594939; }
body.modern-app .hero-panel small,
body.modern-app .metric small,
body.modern-app .card p,
body.modern-app .lead { color:#948462; }
body.modern-app .login-face-heading img { background:#000; border-color:#594939; }
body.modern-app .login-face h3 { color:#e2b27e; }
body.modern-app .hero-with-login { border-color:#594939; }
body.modern-app .login-switcher-toggle:focus-visible + .login-flip { outline-color:#fda944; }
body.modern-app .login-help { color:#fda944; }
body.modern-app .login-success { background:rgba(169,253,68,.12); border-color:#698f19; color:#a9fd44; }
body.modern-app .status-dot { background:#a9fd44; box-shadow:0 0 0 7px #263410; }
body.modern-app .footer-status .status-dot { background:#a9fd44; box-shadow:0 0 0 7px #263410; }
body.modern-app .site-footer { border-top:1px solid #2e1d0b; }
body.modern-app:not(.theme-light) .legacy-banner { background:linear-gradient(90deg,rgba(198,15,25,.18),#2e1d0b 18%,#2e1d0b); box-shadow:inset 3px 0 0 #c60f19; }
body.modern-app:not(.theme-light) .eyebrow::before,
body.modern-app:not(.theme-light) .card-index::before { color:#c60f19; content:"// "; }
@media (prefers-reduced-motion:no-preference) { body.modern-app:not(.theme-light) .card { transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; } body.modern-app:not(.theme-light) .card:hover { border-color:#e38f35; box-shadow:inset 0 0 0 1px rgba(253,169,68,.16),0 16px 30px rgba(0,0,0,.42); transform:translateY(-2px); } }
/* MW-247 — Un même langage tactique pour chaque vue de jeu. */
body.modern-app:not(.theme-light) .page-shell { padding-top:2rem; }
body.modern-app:not(.theme-light) .global-command-center { border-top:3px solid #c60f19; }
body.modern-app:not(.theme-light) .global-command-center .command-header { background:linear-gradient(100deg,rgba(198,15,25,.12),transparent 36%); }
body.modern-app:not(.theme-light) .command-identity .avatar { border:2px solid #c60f19; border-radius:.25rem; box-shadow:3px 3px 0 rgba(198,15,25,.25); }
body.modern-app:not(.theme-light) .command-rank,
body.modern-app:not(.theme-light) .command-pdc { border-left-color:rgba(253,169,68,.25); }
body.modern-app:not(.theme-light) .resource-card { border:1px solid rgba(89,73,57,.85); background:linear-gradient(135deg,rgba(255,255,255,.035),transparent); min-height:58px; padding:.55rem; }
body.modern-app:not(.theme-light) .resource-card:nth-child(2n) { border-top-color:rgba(128,201,240,.52); }
body.modern-app:not(.theme-light) .resource-card:nth-child(3n) { border-top-color:rgba(169,253,68,.48); }
body.modern-app:not(.theme-light) .resource-card:hover { border-color:#e38f35; }
body.modern-app:not(.theme-light) .command-nav { background:#0d0d0d; border-bottom:1px solid #594939; border-top:1px solid #594939; gap:0; padding:0; }
body.modern-app:not(.theme-light) .command-nav-title { align-self:stretch; background:#24160b; border-right:1px solid #594939; color:#e38f35; display:flex; align-items:center; flex:0 0 11.5rem; font-size:.58rem; padding:.65rem .8rem; }
body.modern-app:not(.theme-light) .command-nav-groups { min-width:max-content; }
body.modern-app:not(.theme-light) .command-nav-link { border-left:0; border-right:1px solid #34291f; min-width:132px; padding:.55rem .8rem .6rem; }
body.modern-app:not(.theme-light) .command-nav-link > span:first-child { color:#948462; font-size:.55rem; font-weight:900; letter-spacing:.1em; }
body.modern-app:not(.theme-light) .command-nav-link > span:last-child { color:#e2b27e; font-size:.76rem; text-transform:uppercase; }
body.modern-app:not(.theme-light) .command-nav-link:hover { background:rgba(253,169,68,.1); }
body.modern-app:not(.theme-light) .command-nav-link.is-active { background:linear-gradient(180deg,rgba(198,15,25,.23),rgba(198,15,25,.06)); box-shadow:inset 0 -3px 0 #fda944; }
body.modern-app:not(.theme-light) .command-nav-link-alert:not(.is-active) > span:last-child { color:#f06b70; }
body.modern-app:not(.theme-light) .panel-heading { border-bottom:1px solid rgba(89,73,57,.85); margin-bottom:1rem; padding-bottom:.7rem; }
body.modern-app:not(.theme-light) .panel-heading h2 { letter-spacing:.015em; }
body.modern-app:not(.theme-light) .section-heading { border-left:3px solid #c60f19; margin-bottom:1.5rem; padding-left:.85rem; }
body.modern-app:not(.theme-light) .section-heading .lead { max-width:680px; }
body.modern-app:not(.theme-light) .bureau-metric,
body.modern-app:not(.theme-light) .composition-metric,
body.modern-app:not(.theme-light) .workflow-summary { border-top:3px solid #e38f35; }
body.modern-app:not(.theme-light) .bureau-metric:nth-child(2),
body.modern-app:not(.theme-light) .composition-metric-sections { border-top-color:#80c9f0; }
body.modern-app:not(.theme-light) .bureau-metric:nth-child(3),
body.modern-app:not(.theme-light) .composition-metric-buildings { border-top-color:#a9fd44; }
body.modern-app:not(.theme-light) .operation-card,
body.modern-app:not(.theme-light) .regiment-quick-action,
body.modern-app:not(.theme-light) .workflow-choice { background:rgba(255,255,255,.018); border-left:3px solid #e38f35; }
body.modern-app:not(.theme-light) .operation-card:hover,
body.modern-app:not(.theme-light) .regiment-quick-action:hover,
body.modern-app:not(.theme-light) .workflow-choice:hover { border-left-color:#fda944; }
body.modern-app:not(.theme-light) .modern-form input,
body.modern-app:not(.theme-light) .modern-form textarea,
body.modern-app:not(.theme-light) .modern-form select { background:#0b0b0b; border-color:#594939; box-shadow:inset 0 2px 0 rgba(0,0,0,.35); }
body.modern-app:not(.theme-light) .modern-form input:focus,
body.modern-app:not(.theme-light) .modern-form textarea:focus,
body.modern-app:not(.theme-light) .modern-form select:focus { border-color:#fda944; outline:2px solid rgba(253,169,68,.18); outline-offset:1px; }
body.modern-app:not(.theme-light) .form-error,
body.modern-app:not(.theme-light) .workflow-error { background:rgba(250,31,31,.08); border-left:4px solid #fa1f1f; }
body.modern-app:not(.theme-light) .form-success { background:rgba(169,253,68,.08); border-left:4px solid #a9fd44; }
@media (max-width:700px) { body.modern-app:not(.theme-light) .command-nav-title { display:none; } body.modern-app:not(.theme-light) .command-nav-link { min-width:118px; } body.modern-app:not(.theme-light) .section-heading { padding-left:.7rem; } }
.theme-toggle { align-self:flex-start; background:transparent; border:1px solid #fda944; border-radius:999px; color:#fda944; cursor:pointer; font:inherit; font-size:.8rem; font-weight:800; margin-top:1rem; padding:.55rem .85rem; }
.site-header .theme-toggle { margin-top:0; }
.theme-toggle:hover { background:#2e1d0b; }
body.modern-app.theme-light { --ink:#10242b; --muted:#6b7d82; --paper:#f5f7f4; --card:#fff; --line:#dbe5e1; --accent:#b5e34a; --accent-dark:#698f19; --shadow:0 18px 45px rgba(16,36,43,.09); }
body.modern-app.theme-light { --radius:1.4rem; }
body.modern-app.theme-light .site-header { border-bottom:0; }
body.modern-app.theme-light .brand span { color:#c60f19; }
body.modern-app.theme-light .eyebrow,
body.modern-app.theme-light .card-index { color:#698f19; }
body.modern-app.theme-light nav a:hover,
body.modern-app.theme-light .text-link:hover { color:#10242b; }
body.modern-app.theme-light nav a.is-active { color:#10242b; }
body.modern-app.theme-light .profile-chip .avatar { background:#b5e34a; color:#10242b; }
body.modern-app.theme-light .button { background:#10242b; border-color:#10242b; color:#fff; }
body.modern-app.theme-light .button:hover { background:#29434b; border-color:#29434b; }
body.modern-app.theme-light .button-ghost { background:transparent; color:#10242b; }
body.modern-app.theme-light .button-ghost:hover { background:#edf8d7; }
body.modern-app.theme-light .hero-panel,
body.modern-app.theme-light .card { background:#fff; border-color:#dbe5e1; }
body.modern-app.theme-light .hero-panel small,
body.modern-app.theme-light .metric small,
body.modern-app.theme-light .card p,
body.modern-app.theme-light .lead { color:#6b7d82; }
body.modern-app.theme-light .status-dot { background:#b5e34a; box-shadow:0 0 0 7px #edf8d7; }
body.modern-app.theme-light .footer-status .status-dot { background:#b5e34a; box-shadow:0 0 0 7px #edf8d7; }
body.modern-app.theme-light .site-footer { border-top:0; }
body.modern-app.theme-light .theme-toggle { border-color:#698f19; color:#698f19; }
body.modern-app.theme-light .theme-toggle:hover { background:#edf8d7; }
body.modern-app.theme-light .login-form input { background:#fff; border-color:#dbe5e1; color:#10242b; }
body.modern-app.theme-light .login-form input:focus { border-color:#698f19; outline-color:rgba(105,143,25,.22); }
body.modern-app.theme-light .login-face-heading img { background:#f5f7f4; border-color:#dbe5e1; }
body.modern-app.theme-light .legacy-banner { background:#edf8d7; border-color:#dbe5e1; color:#10242b; }
body.modern-app.theme-light .hero-with-login { background-image:linear-gradient(90deg,rgba(245,247,244,.96),rgba(245,247,244,.88) 48%,rgba(245,247,244,.72)),url('/interface/images/fond.jpg'); border-color:#dbe5e1; }
.modern-bureau .legacy-banner { margin-bottom:1.25rem; }
.command-center { display:flex; flex-direction:column; gap:1rem; }
.command-header { align-items:stretch; display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:1rem; }
.command-body { border-top:1px solid var(--line); padding:1rem; }
.resource-grid { display:grid; gap:.55rem; grid-template-columns:repeat(6,minmax(0,1fr)); }
.resource-card { align-items:center; display:flex; gap:.5rem; min-width:0; padding:.55rem .6rem; }
.resource-card img { background:#000; border:1px solid var(--line); flex:0 0 30px; height:30px; object-fit:contain; padding:.15rem; width:30px; }
.resource-card-copy { display:flex; flex:1; flex-direction:column; gap:.1rem; min-width:0; }
.resource-card-copy strong { font-size:1.05rem; letter-spacing:-.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.resource-production { color:var(--muted); font-size:.58rem; line-height:1.2; }
.command-identity { align-items:center; display:flex; gap:1rem; min-width:0; }
.command-rank-identity { align-items:center; display:flex; gap:.65rem; }
.grade-avatar { background:transparent; border:0; border-radius:0; display:block; flex:0 0 46px; height:46px; object-fit:contain; width:46px; }
.command-rank-copy { display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.command-level { color:var(--muted); font-size:.95rem; font-weight:800; }
.command-pdc-current { display:block; font-size:1.15rem; margin:.25rem 0 .45rem; }
.command-pdc-line { color:var(--muted); font-size:.78rem; line-height:1.35; margin-top:.3rem; }
.command-pdc-line strong { color:var(--accent-dark); font-weight:900; }
.command-identity h1 { font-size:clamp(1.2rem,2vw,1.7rem); letter-spacing:-.04em; margin:.1rem 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.command-identity .avatar { flex:0 0 auto; }
.command-subtitle { color:var(--muted); font-size:.78rem; margin:0; }
.command-subtitle strong { color:var(--ink); }
.command-rank,.command-pdc { align-items:flex-start; border-left:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; padding-left:1rem; }
.command-stat-label,.command-nav-kicker { color:var(--accent-dark); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.command-rank strong { display:block; font-size:1.15rem; margin:.25rem 0 .45rem; }
.command-pdc-value { color:var(--accent-dark); font-size:1.15rem; letter-spacing:-.04em; }
.command-nav { align-items:center; display:flex; gap:1rem; overflow-x:auto; padding:0 .85rem; }
.command-nav-title { color:var(--muted); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.command-nav-groups { display:flex; flex:1; min-width:max-content; }
.command-nav-link { border-left:1px solid var(--line); display:flex; flex-direction:column; gap:.15rem; min-width:130px; padding:.7rem 1rem; transition:background .15s ease,color .15s ease; }
.command-nav-link:hover,.command-nav-link.is-active { background:rgba(253,169,68,.1); color:var(--ink); }
.command-nav-link.is-active { box-shadow:inset 0 -2px 0 var(--accent); }
.command-nav-link > span:last-child { font-size:.88rem; font-weight:800; }
.command-layout { align-items:start; display:grid; gap:1rem; grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr); }
.command-main,.command-aside { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.command-panel,.regiment-command,.priority-panel,.resource-panel { margin:0; }
.panel-heading { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1.2rem; }
.panel-heading h2 { margin:.15rem 0 0; }
.status-badge { align-items:center; color:var(--accent-dark); display:flex; font-size:.68rem; font-weight:900; gap:.45rem; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.status-badge .status-dot { height:.5rem; margin:0; width:.5rem; }
.operation-grid { display:grid; gap:.7rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.operation-card { align-items:center; border:1px solid var(--line); display:flex; gap:.8rem; min-height:92px; padding:.8rem; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.operation-card:hover { background:rgba(253,169,68,.08); border-color:var(--accent); transform:translateY(-1px); }
.operation-card img { background:#000; border:1px solid var(--line); flex:0 0 42px; height:42px; object-fit:contain; padding:.2rem; width:42px; }
.operation-copy { display:flex; flex:1; flex-direction:column; gap:.2rem; min-width:0; }
.operation-copy strong { font-size:.9rem; }
.operation-copy small { color:var(--muted); font-size:.72rem; line-height:1.35; }
.operation-arrow { color:var(--accent-dark); font-size:1.1rem; font-weight:900; }
.regiment-summary { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.regiment-summary > div { min-width:0; }
.regiment-summary strong { display:block; font-size:1.25rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-summary p { font-size:.78rem; margin:.25rem 0 0; }
.priority-panel h2,.resource-panel h2 { font-size:1.15rem; }
.priority-list { border-top:1px solid var(--line); margin-top:1rem; }
.priority-list a { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:.65rem; grid-template-columns:2rem 1fr auto; padding:.75rem 0; }
.priority-list a:hover { color:var(--accent); }
.priority-list a > span:nth-child(2) { font-size:.85rem; font-weight:800; }
.priority-list a > span:last-child { color:var(--accent-dark); font-weight:900; }
.priority-index { color:var(--muted); font-size:.68rem; font-weight:900; }
.resource-list { margin:1rem 0 0; }
.resource-list div { align-items:center; border-top:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:.7rem 0; }
.resource-list dt { color:var(--muted); font-size:.75rem; }
.resource-list dd { font-size:1.1rem; font-weight:900; margin:0; }
.global-command-center { display:flex; flex-direction:column; gap:0; margin-bottom:1rem; overflow:hidden; padding:0; }
.global-command-center .command-header { border:0; border-radius:0; margin:0; }
.global-command-center .regiment-selector { border:0; border-radius:0; border-top:1px solid var(--line); padding:1rem; }
.regiment-quick-actions { border-top:1px solid var(--line); padding:1rem; }
.regiment-quick-actions-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:.65rem; }
.regiment-quick-actions-heading .eyebrow { margin:0 0 .15rem; }
.regiment-quick-actions-heading strong { font-size:.85rem; }
.regiment-quick-actions-links { display:grid; gap:.55rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.regiment-quick-action { align-items:center; border:1px solid var(--accent-dark); display:flex; gap:.55rem; min-height:48px; padding:.55rem .7rem; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.regiment-quick-action:hover { background:rgba(253,169,68,.12); border-color:var(--accent); transform:translateY(-1px); }
.regiment-quick-action > span { align-items:center; background:rgba(253,169,68,.12); border:1px solid var(--accent-dark); color:var(--accent); display:inline-flex; flex:0 0 25px; font-size:.55rem; font-weight:900; height:25px; justify-content:center; width:25px; }
.regiment-quick-action strong { font-size:.75rem; }
.regiment-quick-action-attack { border-color:#c60f19; }
.regiment-quick-action-attack > span { border-color:#c60f19; color:#f06b70; }
.regiment-quick-action-operation { border-color:#698f19; }
.regiment-quick-action-operation > span { border-color:#698f19; color:#a9fd44; }
.regiment-selector { margin:0; padding:1rem; }
.regiment-dock { padding:1rem; }
.regiment-dock > .panel-heading { align-items:center; margin-bottom:.8rem; }
.regiment-tabs { display:grid; gap:.6rem; grid-template-columns:repeat(4,minmax(0,1fr)); padding-bottom:.35rem; }
.regiment-tab { align-items:center; border:1px solid var(--line); border-radius:.3rem; display:flex; gap:.65rem; min-height:68px; min-width:0; padding:.55rem; transition:background .15s ease,border-color .15s ease; }
.regiment-tab:hover,.regiment-tab.is-selected { background:rgba(253,169,68,.1); border-color:var(--accent); }
.regiment-tab.is-selected { box-shadow:none; }
.regiment-tab.is-premium { border-color:var(--accent-dark); }
.regiment-tab.is-premium .regiment-icon { border-color:var(--accent); color:var(--accent); }
.regiment-tab-empty { border-style:dashed; color:var(--muted); opacity:.72; }
.regiment-tab-empty .regiment-icon { color:var(--muted); }
.regiment-icon { align-items:center; background:#000; border:1px solid var(--line); color:var(--accent); display:inline-flex; flex:0 0 38px; font-size:.65rem; font-weight:900; height:38px; justify-content:center; letter-spacing:.04em; overflow:hidden; padding:.15rem; text-align:center; width:38px; }
.regiment-tab-copy { display:flex; flex:1; flex-direction:column; gap:.15rem; min-width:0; }
.regiment-tab-copy strong { font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-tab-copy small { color:var(--muted); font-size:.65rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-type { color:var(--accent-dark); font-size:.58rem; font-weight:900; letter-spacing:.06em; }
.regiment-detail { align-items:center; border-top:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:minmax(220px,1.2fr) minmax(300px,1.8fr) auto; margin-top:.6rem; padding-top:1rem; }
.regiment-detail-heading { align-items:center; display:flex; gap:.7rem; min-width:0; }
.regiment-icon-large { flex-basis:54px; font-size:.78rem; height:54px; width:54px; }
.regiment-detail-heading h3 { color:var(--ink); font-size:1.1rem; margin:.15rem 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-detail-heading p { color:var(--muted); font-size:.7rem; margin:0; }
.regiment-facts { display:grid; gap:.5rem; grid-template-columns:repeat(3,1fr); margin:0; }
.regiment-facts div { border-left:1px solid var(--line); padding-left:.7rem; }
.regiment-facts dt { color:var(--muted); font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.regiment-facts dd { font-size:.8rem; font-weight:800; margin:.15rem 0 0; }
.regiment-actions-footer { display:flex; flex-direction:column; gap:1rem; }
.regiment-activity { border-top:0; padding-top:0; }
.regiment-activity > .eyebrow { margin:0 0 .5rem; }
.activity-list { display:grid; gap:.45rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.activity-item { align-items:center; border:1px solid var(--line); display:flex; gap:.4rem; min-width:0; padding:.45rem .4rem; }
.activity-icon { align-items:center; background:rgba(253,169,68,.12); border:1px solid var(--accent-dark); color:var(--accent); display:inline-flex; flex:0 0 28px; font-size:.7rem; font-weight:900; height:28px; justify-content:center; width:28px; }
.activity-copy { display:flex; flex:1; flex-direction:column; gap:.05rem; min-width:0; }
.activity-copy strong { font-size:.73rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.activity-copy small,.activity-deadline { color:var(--muted); font-size:.62rem; }
.activity-deadline { font-variant-numeric:tabular-nums; white-space:nowrap; }
.activity-empty { font-size:.75rem; margin:0; }
.activity-status-formation { border-color:#e6bd54; }
.activity-status-formation .activity-icon { border-color:#e6bd54; color:#e6bd54; }
.activity-status-projection { border-color:#c60f19; }
.activity-status-projection .activity-icon { border-color:#c60f19; color:#f06b70; }
.activity-status-permission { border-color:#698f19; }
.activity-status-permission .activity-icon { border-color:#698f19; color:#a9fd44; }
.activity-status-soin { border-color:#d99a8d; }
.activity-status-soin .activity-icon { border-color:#d99a8d; color:#d99a8d; }
.activity-status-detente { border-color:#8d7bd6; }
.activity-status-detente .activity-icon { border-color:#8d7bd6; color:#b9aaff; }
.activity-status-retour { border-color:#5da9d6; }
.activity-status-retour .activity-icon { border-color:#5da9d6; color:#80c9f0; }
.activity-status-attente { border-color:#948462; }
.activity-status-attente .activity-icon { border-color:#948462; color:#e2b27e; }
.activity-status-occupe { border-color:#c60f19; }
.activity-status-occupe .activity-icon { border-color:#c60f19; color:#f06b70; }
.regiment-actions-footer { border-top:1px solid var(--line); margin-top:1rem; padding-top:.8rem; }
.regiment-actions-footer > .eyebrow { margin:0 0 .5rem; }
.regiment-action-links { display:grid; gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.regiment-action-link { align-items:center; background:rgba(0,0,0,.14); border:1px solid var(--accent-dark); display:flex; gap:.65rem; min-height:68px; padding:.65rem .75rem; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.regiment-action-link:hover { background:rgba(253,169,68,.14); border-color:var(--accent); transform:translateY(-1px); }
.regiment-action-link > span:nth-child(2) { flex:1; font-size:.75rem; font-weight:900; line-height:1.3; }
.regiment-action-attack { border-color:#c60f19; }
.regiment-action-attack .regiment-action-icon { border-color:#c60f19; color:#f06b70; }
.regiment-action-operation { border-color:#698f19; }
.regiment-action-operation .regiment-action-icon { border-color:#698f19; color:#a9fd44; }
.regiment-action-icon { align-items:center; background:rgba(253,169,68,.12); border:1px solid var(--accent-dark); color:var(--accent); display:inline-flex; flex:0 0 34px; height:34px; justify-content:center; width:34px; }
.regiment-action-icon svg { height:18px; width:18px; }
.regiment-action-arrow { color:var(--accent); flex:0 0 auto; font-size:1.1rem; font-weight:900; transition:transform .15s ease; }
.regiment-action-link:hover .regiment-action-arrow { transform:translateX(3px); }
.regiment-content { display:flex; flex-direction:column; gap:1rem; }
.regiment-content > .page-title-block { margin:.5rem 0 0; }
.regiment-content-grid { display:grid; gap:.85rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.composition-overview { display:grid; gap:.85rem; grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); }
.composition-metric { align-items:center; background:linear-gradient(135deg,rgba(253,169,68,.12),transparent 68%); border:1px solid var(--line); border-top:3px solid var(--metric-color,var(--accent)); display:grid; gap:.7rem; grid-template-columns:2.8rem 1fr auto; min-height:132px; padding:1rem; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.composition-metric:hover { background:rgba(253,169,68,.13); border-color:var(--metric-color,var(--accent)); transform:translateY(-2px); }
.composition-metric-companies { --metric-color:#e2b27e; }
.composition-metric-sections { --metric-color:#80c9f0; }
.composition-metric-buildings { --metric-color:#a9fd44; }
.composition-metric-icon { align-items:center; background:color-mix(in srgb,var(--metric-color) 16%,transparent); border:1px solid color-mix(in srgb,var(--metric-color) 48%,var(--line)); color:var(--metric-color); display:inline-flex; height:2.8rem; justify-content:center; width:2.8rem; }
.composition-metric-icon svg { height:1.45rem; width:1.45rem; }
.composition-metric small,.composition-metric b { display:block; }
.composition-metric small { color:var(--muted); font-size:.61rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.composition-metric strong { color:var(--metric-color); display:inline-block; font-size:2rem; letter-spacing:-.06em; line-height:1; margin:.15rem .25rem .1rem 0; }
.composition-metric b { font-size:.86rem; }
.composition-metric em { color:var(--metric-color); font-size:.67rem; font-style:normal; font-weight:900; white-space:nowrap; }
.regiment-content-card { min-width:0; padding:1rem; }
.regiment-edit-card { margin-top:.85rem; padding:1rem; }
.regiment-edit-card .panel-heading { margin-bottom:.85rem; }
.regiment-edit-lead { color:var(--muted); font-size:.72rem; margin:.35rem 0 0; }
.regiment-edit-forms { border-top:1px solid var(--line); display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:.85rem; }
.regiment-edit-forms .modern-form { background:rgba(253,169,68,.045); border:1px solid var(--line); display:grid; gap:.45rem; padding:.75rem; }
.regiment-edit-forms label { color:var(--muted); font-size:.63rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.regiment-edit-row { align-items:center; display:flex; gap:.5rem; }
.regiment-edit-row input { min-width:0; }
.regiment-edit-row .button { flex:0 0 auto; }
.regiment-fiche-composition { margin-top:1.25rem; }
.regiment-fiche-composition .section-heading { margin-bottom:.75rem; }
.regiment-fiche-composition h2 { font-size:1.15rem; margin:.15rem 0 .3rem; }
.regiment-fiche-composition .lead { font-size:.76rem; margin:0; }
.regiment-content-card .panel-heading { margin-bottom:.7rem; }
.regiment-content-card .panel-heading h3 { font-size:1rem; margin:.1rem 0 0; }
.regiment-content-list { display:flex; flex-direction:column; gap:.35rem; }
.regiment-list-item { align-items:center; border-top:1px solid var(--line); display:flex; gap:.75rem; justify-content:space-between; padding:.55rem 0; }
.regiment-list-item > div { display:flex; flex:1; flex-direction:column; gap:.15rem; min-width:0; }
.regiment-list-item strong { font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.regiment-list-item small,.regiment-list-fact { color:var(--muted); font-size:.63rem; }
.regiment-list-fact { flex:0 0 auto; text-align:right; }
.regiment-list-panel .regiment-content-list { gap:.5rem; }
.regiment-list-panel .regiment-list-item { background:rgba(255,255,255,.02); border:1px solid var(--line); padding:.7rem; }
.regiment-unit-card-grid { display:grid!important; gap:.65rem!important; grid-template-columns:repeat(2,minmax(0,1fr)); }
.regiment-unit-card-grid .regiment-list-item { align-items:stretch; flex-direction:column; gap:.75rem; min-height:130px; }
.regiment-unit-card-grid .regiment-list-metrics { justify-content:space-between; }
.regiment-unit-card-grid .regiment-list-metrics span { align-items:flex-start; flex:1; }
.regiment-company-card-grid { display:grid!important; gap:.7rem!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.regiment-company-card-grid .regiment-list-item { align-items:stretch; background:linear-gradient(145deg,rgba(226,178,126,.09),rgba(255,255,255,.025) 38%,rgba(0,0,0,.08)); border:1px solid rgba(226,178,126,.42); box-shadow:0 8px 18px rgba(0,0,0,.14); flex-direction:column; gap:.6rem; min-height:220px; padding:.7rem; }
.regiment-company-card-grid .regiment-list-item:hover { border-color:#e2b27e; box-shadow:0 10px 22px rgba(0,0,0,.22); }
.regiment-company-identity { align-items:start; display:grid!important; gap:.15rem .45rem!important; grid-template-columns:minmax(0,1fr) auto; }
.regiment-company-identity strong { grid-column:1; grid-row:1; }
.regiment-company-type { color:#e2b27e; font-size:.68rem; font-weight:800; grid-column:1/-1; grid-row:2; line-height:1.25; }
.regiment-company-identity .regiment-company-status { align-self:start; grid-column:2; grid-row:1; margin-top:0; }
.regiment-company-card-grid .regiment-list-metrics { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:initial; width:100%; }
.regiment-company-card-grid .regiment-list-metrics span { align-items:flex-start; min-width:0; padding-left:.45rem; }
.regiment-company-sections { border-top:1px solid var(--line); margin-top:.15rem; padding-top:.55rem; }
.regiment-company-sections-list { display:flex; flex-direction:column; gap:.28rem; margin-top:.35rem; }
.regiment-company-section { align-items:center; background:rgba(128,201,240,.05); border-left:2px solid rgba(128,201,240,.55); display:flex; gap:.5rem; justify-content:space-between; padding:.32rem .4rem; }
.regiment-company-section strong { font-size:.65rem; }
.regiment-company-section span { color:var(--muted); font-size:.55rem; text-align:right; }
.regiment-company-section-empty { border-style:dashed; opacity:.58; }
.regiment-company-section-empty strong { color:var(--muted); font-weight:700; }
.regiment-company-status { border:1px solid rgba(226,178,126,.42); color:#e2b27e; display:inline-flex; font-size:.57rem; font-weight:900; letter-spacing:.04em; margin-top:.25rem; padding:.2rem .35rem; text-transform:uppercase; width:max-content; }
.regiment-company-status.is-attente { border-color:rgba(226,178,126,.55); color:#e2b27e; }
.regiment-company-status.is-formation { border-color:rgba(253,169,68,.55); color:#fda944; }
.regiment-company-status.is-projection { border-color:rgba(128,201,240,.55); color:#80c9f0; }
.regiment-company-status.is-permission,.regiment-company-status.is-detente { border-color:rgba(169,253,68,.55); color:#a9fd44; }
.regiment-company-status.is-soin { border-color:rgba(240,128,128,.55); color:#f08080; }
.company-skill-radar { align-items:center; border-top:1px solid var(--line); display:flex; flex-direction:column; margin-top:auto; padding-top:.45rem; }
.company-skill-radar summary { color:var(--muted); cursor:pointer; display:block; font-size:.52rem; font-weight:900; letter-spacing:.08em; list-style:none; text-transform:uppercase; }
.company-skill-radar summary::-webkit-details-marker { display:none; }
.company-skill-radar summary::after { content:"⌄"; display:inline-block; margin-left:.35rem; transition:transform .15s ease; }
.company-skill-radar[open] summary::after { transform:rotate(180deg); }
.company-skill-radar-canvas { display:block; height:150px; margin:.1rem auto 0; max-width:100%; width:150px; }
.regiment-section-card-grid { display:grid!important; gap:.7rem!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.regiment-section-card-grid .regiment-list-item { align-items:stretch; background:linear-gradient(145deg,rgba(128,201,240,.1),rgba(255,255,255,.025) 38%,rgba(0,0,0,.08)); border:1px solid rgba(128,201,240,.44); box-shadow:0 8px 18px rgba(0,0,0,.14); flex-direction:column; gap:.6rem; min-height:108px; padding:.7rem; }
.regiment-section-card-grid .regiment-list-item:hover { border-color:#80c9f0; box-shadow:0 10px 22px rgba(0,0,0,.22); }
.regiment-section-card-grid .regiment-list-metrics { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
.regiment-section-card-grid .regiment-list-metrics span { align-items:flex-start; min-width:0; padding-left:.45rem; }
.regiment-building-card-grid { display:grid!important; gap:.7rem!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.regiment-building-card-grid .regiment-list-item { align-items:stretch; background:linear-gradient(145deg,rgba(169,253,68,.09),rgba(255,255,255,.025) 38%,rgba(0,0,0,.08)); border:1px solid rgba(169,253,68,.4); box-shadow:0 8px 18px rgba(0,0,0,.14); flex-direction:column; gap:.6rem; min-height:108px; padding:.7rem; }
.regiment-building-card-grid .regiment-list-item:hover { border-color:#a9fd44; box-shadow:0 10px 22px rgba(0,0,0,.22); }
.regiment-building-card-grid .regiment-list-metrics { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
.regiment-building-card-grid .regiment-list-metrics span { align-items:flex-start; min-width:0; padding-left:.45rem; }
.regiment-building-progress { background:rgba(169,253,68,.15); display:block; height:4px; margin-top:.22rem; overflow:hidden; width:100%; }
.regiment-building-progress::after { background:#a9fd44; content:""; display:block; height:100%; width:var(--building-state); }
.regiment-moral-progress { background:rgba(128,201,240,.16); display:block; height:4px; margin-top:.22rem; overflow:hidden; width:100%; }
.regiment-moral-progress::after { background:#80c9f0; content:""; display:block; height:100%; width:var(--moral); }
.regiment-company-item { border-left:3px solid #e2b27e!important; }
.regiment-section-item { border-left:3px solid #80c9f0!important; }
.regiment-section-item .regiment-list-metrics strong { color:#80c9f0; }
.regiment-building-item { border-left:3px solid #a9fd44!important; }
.regiment-building-item .regiment-list-metrics strong { color:#a9fd44; }
.regiment-list-metrics { display:flex; flex:0 0 auto; gap:.7rem; }
.regiment-list-metrics span { align-items:flex-end; border-left:1px solid var(--line); display:flex; flex-direction:column; min-width:3.4rem; padding-left:.65rem; }
.regiment-list-metrics small { color:var(--muted); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.regiment-list-metrics strong { color:var(--accent); font-size:1rem; line-height:1.1; }
.regiment-vehicles-empty { align-items:center; background:linear-gradient(135deg,rgba(128,201,240,.09),transparent 60%); display:flex; justify-content:center; min-height:240px; }
.regiment-empty-state { align-items:center; display:flex; gap:1rem; max-width:32rem; }
.regiment-empty-icon { align-items:center; background:rgba(128,201,240,.12); border:1px solid #5da9d6; color:#80c9f0; display:inline-flex; flex:0 0 4.5rem; height:4.5rem; justify-content:center; }
.regiment-empty-icon svg { height:2.2rem; width:2.2rem; }
.regiment-empty-state .eyebrow { margin:0 0 .25rem; }
.regiment-empty-state h3 { font-size:1.15rem; margin:0; }
.regiment-empty-state p:not(.eyebrow) { color:var(--muted); font-size:.75rem; line-height:1.45; margin:.45rem 0 .7rem; }
.regiment-empty-badge { border:1px solid #5da9d6; color:#80c9f0; display:inline-block; font-size:.6rem; font-weight:900; letter-spacing:.08em; padding:.3rem .45rem; text-transform:uppercase; }
.operations-page { display:flex; flex-direction:column; gap:1rem; }
.operations-columns { display:grid; gap:.85rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.operation-mission-card { display:flex; flex-direction:column; min-width:0; padding:1rem; }
.operation-mission-card.is-unavailable { opacity:.62; }
.operation-mission-header { display:grid; gap:.8rem; grid-template-columns:72px 1fr; }
.operation-mission-header img { background:#000; border:1px solid var(--line); height:72px; object-fit:cover; width:72px; }
.operation-mission-header .eyebrow { margin:0; }
.operation-mission-header h2 { font-size:1.05rem; line-height:1.2; margin:.15rem 0 .35rem; }
.operation-mission-header p:last-child { color:var(--muted); display:-webkit-box; font-size:.7rem; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.operation-mission-facts { border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; gap:.45rem; grid-template-columns:repeat(3,1fr); margin:.9rem 0; padding:.65rem 0; }
.operation-mission-facts span,.operation-requirements span,.operation-rewards span { display:flex; flex-direction:column; min-width:0; }
.operation-mission-facts small,.operation-requirements small,.operation-rewards small { color:var(--muted); font-size:.55rem; font-weight:900; text-transform:uppercase; }
.operation-mission-facts strong { font-size:.75rem; }
.operation-mission-facts .remaining-fact { background:rgba(169,253,68,.1); border:1px solid #698f19; border-radius:.3rem; margin:-.3rem 0; padding:.3rem .4rem; }
.operation-mission-facts .remaining-fact small { color:#a9fd44; }
.operation-mission-facts .remaining-fact strong { color:#a9fd44; font-size:.9rem; }
.operation-mission-section { margin-bottom:.8rem; }
.operation-mission-section h3 { color:var(--accent-dark); font-size:.65rem; letter-spacing:.09em; margin:0 0 .4rem; text-transform:uppercase; }
.operation-requirements { display:grid; gap:.3rem; grid-template-columns:repeat(5,1fr); }
.operation-requirements span { border-left:2px solid var(--accent-dark); padding-left:.35rem; }
.operation-requirements span.terrain { align-items:center; background:color-mix(in srgb,var(--terrain-color) 9%,transparent); border:1px solid color-mix(in srgb,var(--terrain-color) 38%,var(--line)); border-top:3px solid var(--terrain-color,var(--accent-dark)); border-radius:.35rem; gap:.15rem; justify-content:center; min-height:4.7rem; padding:.45rem .25rem .4rem; text-align:center; }
.operation-requirements span.terrain img { height:29px; object-fit:contain; width:29px; }
.operation-requirements span.terrain small { color:var(--terrain-color); font-size:.53rem; letter-spacing:.04em; line-height:1.1; }
.operation-requirements span.terrain strong { color:var(--text); font-size:1.05rem; line-height:1; }
.operation-requirements span.terrain.is-zero { background:transparent; border-color:var(--line); opacity:.48; }
.operation-requirements span.terrain-red { --terrain-color:#e87f6f; }
.operation-requirements span.terrain-green { --terrain-color:#96f480; }
.operation-requirements span.terrain-yellow { --terrain-color:#b7d100; }
.operation-requirements span.terrain-blue { --terrain-color:#5daefd; }
.operation-requirements span.terrain-grey { --terrain-color:#828282; }
.operation-requirements span.is-zero { border-color:var(--line); opacity:.5; }
.operation-requirements strong,.operation-rewards strong { font-size:.8rem; }
.operation-mission-section ul { color:var(--muted); font-size:.68rem; margin:.2rem 0 0; padding-left:1.1rem; }
.operation-effects { display:grid; gap:.35rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.operation-effects .effect { align-items:center; background:color-mix(in srgb,var(--effect-color) 9%,transparent); border:1px solid color-mix(in srgb,var(--effect-color) 35%,var(--line)); border-left:3px solid var(--effect-color); border-radius:.3rem; display:flex; gap:.4rem; min-height:2.65rem; padding:.35rem .45rem; }
.operation-effects .effect img { flex:0 0 24px; height:24px; object-fit:contain; width:24px; }
.operation-effects .effect strong { color:var(--effect-color); font-size:.62rem; line-height:1.2; }
.operation-effects .effect-red { --effect-color:#e87f6f; }
.operation-effects .effect-green { --effect-color:#96f480; }
.operation-effects .effect-yellow { --effect-color:#b7d100; }
.operation-effects .effect-blue { --effect-color:#5daefd; }
.operation-effects .effect-grey { --effect-color:#828282; }
.operation-effects .effect.is-zero { background:transparent; border-color:var(--line); filter:grayscale(.65); opacity:.48; }
.operation-effect-empty { color:var(--muted); font-size:.68rem; }
.operation-section-experience { grid-template-columns:1fr; }
.operation-rewards { display:grid; gap:.35rem; grid-template-columns:repeat(3,1fr); }
.operation-mission-footer { border-top:1px solid var(--line); margin-top:auto; padding-top:.8rem; }
.operation-mission-footer form,.operation-mission-footer .button { margin:0; width:100%; }
.operation-mission-footer .button { border-radius:.3rem; cursor:pointer; font-size:.72rem; padding:.7rem; }
.operation-limit { color:#f06b70; display:block; font-size:.72rem; font-weight:900; text-align:center; }
.workflow-page { display:flex; flex-direction:column; gap:1rem; }
.workflow-summary { display:grid; gap:.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); padding:1rem; }
.workflow-summary div { border-left:2px solid var(--accent-dark); display:flex; flex-direction:column; gap:.25rem; padding-left:.65rem; }
.workflow-summary strong,.workflow-toolbar strong { color:var(--accent-dark); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.workflow-summary span,.workflow-toolbar span { color:var(--muted); font-size:.75rem; }
.workflow-toolbar { align-items:center; display:flex; justify-content:space-between; margin:.25rem 0; }
.workflow-company-grid { display:grid; gap:.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.workflow-company-card { background:var(--panel); border:1px solid var(--line); border-left:3px solid #96f480; border-radius:.35rem; display:flex; flex-direction:column; gap:.65rem; min-width:0; padding:.85rem; }
.workflow-company-card.is-disabled { border-left-color:#828282; filter:grayscale(.4); opacity:.62; }
.workflow-company-card label { align-items:center; display:flex; gap:.5rem; padding-right:1.3rem; }
.workflow-company-card label strong { font-size:.85rem; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.workflow-company-card input { accent-color:var(--accent); }
.workflow-status { color:var(--accent-dark); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.workflow-company-facts { display:grid; gap:.35rem; grid-template-columns:repeat(4,1fr); }
.workflow-company-facts span { display:flex; flex-direction:column; }
.workflow-company-facts small { color:var(--muted); font-size:.55rem; text-transform:uppercase; }
.workflow-company-facts b { font-size:.78rem; }
.workflow-training { display:grid; gap:.25rem; grid-template-columns:repeat(5,1fr); }
.workflow-training span { background:rgba(150,244,128,.1); border:1px solid var(--line); color:var(--text); font-size:.68rem; padding:.35rem .15rem; text-align:center; }
.workflow-unavailable { color:#f06b70; font-size:.65rem; }
.workflow-consumption { padding:1rem; }
.workflow-consumption h2 { color:var(--accent-dark); font-size:.75rem; letter-spacing:.08em; margin:0 0 .65rem; text-transform:uppercase; }
.workflow-consumption > div { display:grid; gap:.5rem; grid-template-columns:repeat(3,1fr); }
.workflow-consumption span { border-left:2px solid #e87f6f; color:var(--muted); display:flex; flex-direction:column; font-size:.65rem; padding-left:.5rem; text-transform:uppercase; }
.workflow-consumption strong { color:var(--text); font-size:1rem; }
.workflow-submit { display:flex; justify-content:flex-end; }
.workflow-error { border-left:3px solid #e87f6f; padding:1rem; }
.workflow-error strong { color:#e87f6f; display:block; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.workflow-error p { color:var(--muted); margin:.45rem 0 1rem; }
.workflow-choice-panel { padding:1rem; }
.workflow-choice-panel .panel-heading { margin-bottom:.85rem; }
.workflow-choice-panel .panel-heading h2 { font-size:1rem; }
.workflow-choice-grid { display:grid; gap:.55rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.workflow-choice { align-items:center; background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent-dark); cursor:pointer; display:flex; gap:.65rem; justify-content:space-between; min-width:0; padding:.7rem .75rem; }
.workflow-choice:hover,.workflow-choice:has(input:checked) { background:color-mix(in srgb,var(--accent) 9%,var(--panel)); border-color:var(--accent-dark); }
.workflow-choice.is-disabled { cursor:not-allowed; filter:grayscale(.5); opacity:.5; }
.workflow-choice input { accent-color:var(--accent); flex:0 0 auto; }
.workflow-choice span { display:flex; flex:1; flex-direction:column; min-width:0; }
.workflow-choice strong { font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-choice small { color:var(--muted); font-size:.65rem; margin-top:.15rem; }
.workflow-choice b { color:var(--accent-dark); font-size:.7rem; white-space:nowrap; }
.workflow-submit-bar { align-items:center; border-top:1px solid var(--line); gap:1rem; justify-content:space-between; padding-top:1rem; }
.workflow-submit-bar > div:first-child { display:flex; flex-direction:column; gap:.2rem; }
.workflow-submit-bar small { color:var(--muted); font-size:.62rem; text-transform:uppercase; }
.workflow-submit-bar strong { color:var(--accent); font-size:1.25rem; }
.workflow-submit-actions { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end; }
.workflow-submit-actions .button:disabled { cursor:not-allowed; opacity:.45; }
.workflow-preview-card,.workflow-selected-companies { padding:1rem; }
.workflow-preview-card p { color:var(--muted); line-height:1.55; margin:.2rem 0 1rem; }
.workflow-preview-facts { display:flex; flex-wrap:wrap; gap:.7rem; }
.workflow-preview-facts span { border-left:2px solid var(--accent-dark); display:flex; flex:1 1 12rem; flex-direction:column; gap:.2rem; min-width:0; padding-left:.6rem; }
.workflow-preview-facts small,.workflow-selected-list span { color:var(--muted); font-size:.65rem; text-transform:uppercase; }
.workflow-preview-facts b { font-size:.78rem; font-weight:600; }
.workflow-selected-list { display:grid; gap:.45rem; }
.workflow-selected-list > div { align-items:baseline; border-bottom:1px solid var(--line); display:flex; gap:.7rem; justify-content:space-between; padding:.55rem 0; }
.workflow-selected-list > div:last-child { border-bottom:0; padding-bottom:0; }
.workflow-selected-list strong { font-size:.8rem; }
@media (max-width:700px) { .workflow-selected-list > div { align-items:flex-start; flex-direction:column; gap:.2rem; } .workflow-preview-facts { flex-direction:column; } }
@media (max-width:700px) { .workflow-summary,.workflow-company-grid { grid-template-columns:1fr; } .workflow-toolbar { align-items:flex-start; flex-direction:column; gap:.35rem; } .workflow-consumption > div { grid-template-columns:1fr 1fr 1fr; } .workflow-submit .button { width:100%; } }
@media (max-width:700px) { .workflow-choice-grid { grid-template-columns:1fr; } .workflow-submit-bar { align-items:stretch; flex-direction:column; } .workflow-submit-actions { flex-direction:column; } .workflow-submit-actions .button { width:100%; } }
body.modern-app:not(.theme-light) .regiment-tab:hover,
body.modern-app:not(.theme-light) .regiment-tab.is-selected { background:rgba(253,169,68,.12); }
body.modern-app:not(.theme-light) .regiment-icon { border-color:#594939; }
body.modern-app.theme-light .regiment-tab:hover,
body.modern-app.theme-light .regiment-tab.is-selected { background:#edf8d7; }
body.modern-app.theme-light .regiment-icon { background:#f5f7f4; }
body.modern-app:not(.theme-light) .command-nav-link:hover,
body.modern-app:not(.theme-light) .command-nav-link.is-active,
body.modern-app:not(.theme-light) .operation-card:hover { background:rgba(253,169,68,.12); }
body.modern-app:not(.theme-light) .operation-card img { border-color:#594939; }
body.modern-app:not(.theme-light) .command-subtitle strong { color:#e2b27e; }
body.modern-app.theme-light .command-nav-link:hover,
body.modern-app.theme-light .command-nav-link.is-active,
body.modern-app.theme-light .operation-card:hover { background:#edf8d7; }
body.modern-app.theme-light .operation-card img { background:#f5f7f4; }
body.modern-app:not(.theme-light) .resource-card img { border-color:#594939; }
body.modern-app.theme-light .resource-card img { background:#f5f7f4; }
body.modern-app:not(.theme-light) .bureau-shortcuts .operation-card { border-radius:.35rem; }
body.modern-app.theme-light .bureau-shortcuts .operation-card { border-radius:1.4rem; }
@media (max-width:700px) { .site-header { flex-wrap:wrap; gap:1rem; padding:1rem 1.2rem; } .site-header-login { display:none; } .page-shell { padding:2.5rem 1.2rem 4rem; } .hero { display:flex; flex-direction:column; min-height:0; } .hero-panel { align-self:stretch; } .feature-grid,.dashboard-grid { grid-template-columns:1fr; margin-top:2.5rem; } .profile-card,.regiment-card { grid-column:auto; } .quick-grid { grid-template-columns:1fr 1fr; } .legacy-banner { align-items:stretch; flex-direction:column; margin-bottom:2rem; } .legacy-banner .button { text-align:center; } .footer-status { align-items:flex-start; flex-wrap:wrap; justify-content:flex-start; } .hero-login-link { display:inline-block; } .login-flip { display:block; } .login-face-back { display:none; transform:none; } .login-switcher-toggle:checked + .login-flip .login-face-front { display:none; } .login-switcher-toggle:checked + .login-flip .login-face-back { display:block; } h1 { font-size:clamp(3rem,16vw,5rem); } .hero h1 { font-size:clamp(1.85rem,9vw,3rem); } .home-seo,.home-briefing { grid-template-columns:1fr; } .home-seo-facts,.home-briefing-steps { border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:1rem; } .home-briefing-steps .button { justify-self:stretch; text-align:center; } }
@media (max-width:900px) and (min-width:701px) {
    .resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .resource-card-copy strong { font-size:.95rem; overflow:visible; text-overflow:clip; }
}
@media (max-width:900px) and (min-width:701px) {
    .regiment-feature-tabs { grid-template-columns:repeat(3,minmax(150px,1fr)); margin-inline:auto; max-width:720px; }
    .regiment-feature-tab { align-items:center; text-align:center; }
    .activity-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .activity-item { align-items:flex-start; flex-wrap:wrap; padding:.55rem; }
    .activity-copy strong { white-space:normal; }
    .activity-deadline { margin-left:auto; }
    .regiment-company-card-grid { grid-template-columns:1fr; }
    .regiment-building-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .mission-dialog { padding:4rem .7rem 1rem; }
    .mission-dialog-header { padding:1rem; }
    .mission-dialog-content { padding:.75rem 1rem 0; }
    .mission-dialog-note { margin-left:1rem; margin-right:1rem; }
    .locked-page { grid-template-columns:1fr; padding:1rem; text-align:center; }
    .locked-page-image img { margin:auto; max-height:150px; }
    .locked-page-copy > p { margin-left:auto; margin-right:auto; }
    .locked-requirement { text-align:left; }
    .locked-page-actions { flex-direction:column; }
    .locked-page-actions .button { text-align:center; }
    .operations-columns { grid-template-columns:1fr; }
    .operation-requirements { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .operation-mission-header { grid-template-columns:64px 1fr; }
    .operation-mission-header img { height:64px; width:64px; }
    .medals-columns { grid-template-columns:1fr; }
    .medal-card { padding:.9rem; }
    .medal-level img { height:36px; width:36px; }
    .regiments-columns { grid-template-columns:1fr; }
    .player-navigation { gap:.35rem; padding:.2rem .55rem; white-space:nowrap; }
    .player-navigation a { font-size:.78rem; padding:.65rem .45rem; }
    .site-header .player-navigation { flex-basis:100%; margin:0; order:3; padding:.2rem 0; }
    .site-header .player-navigation a { font-size:.75rem; padding:.55rem .35rem; }
    .site-header .mission-navigation-link { font-size:.75rem; padding:.55rem .65rem; }
    .site-banner { padding:.6rem 1.2rem 0; }
    .site-banner + .page-shell { padding-top:1.25rem; }
    .modern-bureau .page-shell { padding-top:1.25rem; }
    .modern-bureau .legacy-banner { margin-bottom:1rem; }
    .global-command-center { gap:0; margin-bottom:.75rem; }
    .regiment-selector { padding:.85rem; }
    .regiment-quick-actions { padding:.85rem; }
    .regiment-quick-actions-heading { align-items:flex-start; flex-direction:column; gap:.35rem; }
    .regiment-quick-actions-links { grid-template-columns:1fr; }
    .regiment-quick-action { min-height:44px; }
    .command-center { gap:.75rem; }
    .command-header { display:flex; flex-direction:column; gap:.85rem; padding:.85rem; }
    .command-identity { gap:.75rem; }
    .command-rank-identity { gap:.5rem; }
    .grade-avatar { flex-basis:42px; height:42px; width:42px; }
    .command-identity h1 { font-size:1.3rem; max-width:calc(100vw - 7rem); }
    .command-subtitle { font-size:.72rem; }
    .command-rank { border-left:0; border-top:1px solid var(--line); padding:.75rem 0 0; }
    .command-pdc { border-left:0; border-top:1px solid var(--line); padding:.75rem 0 0; }
    .command-pdc-current { font-size:1.05rem; }
    .command-pdc-value { font-size:1.15rem; }
    .command-body { padding:.85rem; }
    .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .resource-card { gap:.55rem; min-height:64px; padding:.6rem; }
    .resource-card img { flex-basis:30px; height:30px; width:30px; }
    .resource-card-copy strong { font-size:.9rem; letter-spacing:-.03em; overflow:visible; text-overflow:clip; }
    .command-nav { align-items:stretch; border-radius:.35rem; display:block; padding:0; }
    .command-nav-title { display:block; padding:.65rem .85rem .35rem; }
    .command-nav-groups { -webkit-overflow-scrolling:touch; overflow-x:auto; padding:0 .2rem .2rem; scrollbar-width:thin; }
    .command-nav-link { min-height:58px; min-width:112px; padding:.65rem .7rem; }
    .command-nav-link > span:last-child { font-size:.8rem; }
    .command-layout { display:flex; flex-direction:column; gap:.75rem; }
    .command-aside { order:-1; width:100%; }
    .command-main { width:100%; }
    .command-panel,.regiment-command,.priority-panel,.resource-panel { padding:1rem; }
    .panel-heading { align-items:flex-start; flex-wrap:wrap; margin-bottom:1rem; }
    .panel-heading h2 { font-size:1.15rem; }
    .status-badge { font-size:.6rem; }
    .operation-grid { grid-template-columns:1fr; }
    .operation-card { min-height:76px; padding:.7rem; }
    .operation-card img { flex-basis:38px; height:38px; width:38px; }
    .operation-copy small { font-size:.68rem; }
    .regiment-summary { align-items:stretch; flex-direction:column; }
    .regiment-summary .button { text-align:center; width:100%; }
    .regiment-dock { padding:.85rem; }
    .regiment-dock > .panel-heading { margin-bottom:.55rem; }
    .regiment-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 -.15rem; padding-left:.15rem; padding-right:.15rem; }
    .regiment-tab { min-height:64px; }
    .bureau-regiment-grid { grid-template-columns:1fr 1fr; }
    .bureau-regiment-card { padding:.65rem; }
    .bureau-regiment-actions { grid-template-columns:1fr; }
    .regiment-detail { align-items:stretch; display:flex; flex-direction:column; gap:.8rem; }
    .regiment-facts { gap:.35rem; }
    .regiment-facts div { padding-left:.45rem; }
    .regiment-facts dt { font-size:.55rem; }
    .regiment-facts dd { font-size:.72rem; }
    .activity-list { grid-template-columns:1fr; }
    .activity-item { align-items:flex-start; min-height:58px; min-width:0; width:100%; }
    .activity-copy strong { white-space:normal; }
    .activity-deadline { margin-left:auto; }
    .regiment-actions-footer { margin-top:.8rem; }
    .regiment-actions-footer { gap:.8rem; }
    .regiment-action-links { grid-template-columns:1fr; }
    .regiment-action-link { min-height:68px; }
    .regiment-action-link > span:nth-child(2) { font-size:.67rem; }
    .regiment-content-grid { grid-template-columns:1fr; }
    .composition-overview { grid-template-columns:1fr; }
    .composition-metric { min-height:96px; }
    .regiment-edit-card { padding:.85rem; }
    .regiment-edit-forms { grid-template-columns:1fr; }
    .regiment-edit-row { align-items:stretch; flex-direction:column; }
    .regiment-edit-row .button { width:100%; }
    .regiment-content-card { padding:.85rem; }
    .regiment-company-section { align-items:flex-start; flex-direction:column; gap:.15rem; }
    .regiment-company-section span { text-align:left; }
    .regiment-list-panel .regiment-list-item { align-items:flex-start; flex-direction:column; gap:.6rem; }
    .regiment-unit-card-grid,.regiment-section-card-grid,.regiment-company-card-grid,.regiment-building-card-grid { grid-template-columns:1fr; }
    .regiment-company-card-grid .regiment-list-item { min-height:0; }
    .company-skill-radar { width:100%; }
    .regiment-list-metrics { align-self:stretch; justify-content:space-between; width:100%; }
    .regiment-list-metrics span { align-items:flex-start; flex:1; }
    .regiment-vehicles-empty { align-items:flex-start; min-height:0; }
    .regiment-empty-state { align-items:flex-start; flex-direction:column; }
    .regiment-detail .button { text-align:center; width:100%; }
    .priority-list a { min-height:52px; padding:.65rem 0; }
    .resource-list div { min-height:52px; }
    .bureau-shortcuts { grid-template-columns:1fr; }
    .company-state-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bureau-shortcuts .operation-card { border-radius:.35rem; }
    .bureau-shortcuts .operation-card img { flex-basis:46px; height:46px; width:46px; }
    .bureau-metrics { grid-template-columns:1fr 1fr; gap:.5rem; }
    .bureau-metric { min-height:112px; padding:.8rem; }
    .bureau-metric strong { font-size:2rem; }
    .bureau-metric small { font-size:.65rem; line-height:1.3; }
    .bureau-highlights { grid-template-columns:1fr; }
    .bureau-links { grid-template-columns:1fr; }
    .bureau-highlight { min-height:0; }
}
@media (max-width:380px) {
    .command-identity h1 { font-size:1.35rem; }
    .command-nav-link { min-width:104px; }
    .command-nav-kicker { font-size:.58rem; }
    .operation-copy small { display:none; }
}
@media (prefers-reduced-motion:reduce) { .login-flip { transition:none; } }

/* Public information pages share the command-centre visual language while
   keeping their content readable for visitors and logged-in players. */
.public-page { display:flex; flex-direction:column; gap:1rem; }
.public-navigation-shell { width:100%; }
.modern-home .public-navigation-shell { margin-bottom:1.5rem; }
.public-navigation { align-items:center; background:var(--card); border:1px solid var(--line); display:flex; gap:.35rem; overflow-x:auto; padding:.35rem; scrollbar-width:thin; }
.public-navigation a { color:var(--muted); flex:0 0 auto; font-size:.72rem; font-weight:900; letter-spacing:.04em; padding:.65rem .8rem; text-transform:uppercase; }
.public-navigation a:hover,.public-navigation a.is-active { background:rgba(253,169,68,.12); color:var(--ink); }
.public-navigation-toggle { align-items:center; background:var(--card); border:1px solid var(--line); color:var(--ink); cursor:pointer; display:none; font:inherit; font-size:.72rem; font-weight:900; gap:.4rem; padding:.65rem .8rem; text-transform:uppercase; }
.public-navigation-toggle span:first-child { color:var(--accent); font-size:1rem; line-height:1; }
@media (max-width:700px) { body.public-menu-open { overflow:hidden; } .site-header .public-navigation-toggle { display:inline-flex; } .public-navigation { display:flex; flex-direction:column; gap:0; max-height:0; opacity:0; overflow:hidden; pointer-events:none; transform:translateY(-.5rem); transition:max-height .2s ease,opacity .2s ease,transform .2s ease,visibility .2s ease; visibility:hidden; } .public-navigation.is-open { box-shadow:var(--shadow); max-height:24rem; opacity:1; pointer-events:auto; transform:translateY(0); visibility:visible; } .public-navigation a { padding:.65rem .75rem; } }
.public-page-heading { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:1.2rem .2rem .9rem; }
.public-page-heading h1 { font-size:clamp(2rem,5vw,3.6rem); letter-spacing:-.06em; margin:.2rem 0 .55rem; }
.public-page-heading .lead { font-size:.95rem; margin:0; }
.public-heading-mark { align-items:center; border:1px solid var(--accent-dark); color:var(--accent); display:flex; flex:0 0 72px; font-size:1.25rem; font-weight:900; height:72px; justify-content:center; letter-spacing:.1em; }
.public-content { line-height:1.7; padding:clamp(1rem,3vw,2rem); }
.public-content h2 { color:var(--ink); font-size:1.2rem; margin:0 0 .7rem; }
.public-content p { margin:.2rem 0 1rem; }
.public-prose { max-width:850px; }
.public-kicker { color:var(--accent-dark)!important; font-size:.68rem!important; font-weight:900; letter-spacing:.13em; margin:0 0 .45rem!important; text-transform:uppercase; }
.public-callout { align-items:flex-start; background:rgba(253,169,68,.08); border-left:3px solid var(--accent); display:flex; flex-direction:column; gap:.1rem; margin:1.35rem 0 0; padding:.8rem 1rem; }
.public-callout strong { color:var(--accent); font-size:.8rem; text-transform:uppercase; }
.public-callout span { color:var(--muted); font-size:.85rem; }
.public-gallery { display:grid; gap:.55rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1.5rem; max-width:850px; }
.public-gallery a { border:1px solid var(--line); display:block; overflow:hidden; }
.public-gallery img { display:block; height:120px; object-fit:cover; opacity:.82; transition:opacity .15s ease,transform .15s ease; width:100%; }
.public-gallery a:hover img { opacity:1; transform:scale(1.03); }
.public-section-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-info-block { border-left:2px solid var(--accent-dark); padding:0 1rem; }
.public-info-block h2 { font-size:1.05rem; }
.public-subsection + .public-subsection { border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1.5rem; }
.public-list { color:var(--muted); margin:.5rem 0 1rem; padding-left:1.2rem; }
.public-list li + li { margin-top:.45rem; }
.public-link-list a { color:var(--accent-dark); font-weight:800; }
.public-link-list a:hover { color:var(--accent); }
.public-steps { counter-reset:public-step; display:grid; gap:.7rem; list-style:none; margin:0; padding:0; }
.public-steps li { align-items:flex-start; border-top:1px solid var(--line); counter-increment:public-step; display:flex; gap:.75rem; padding:.7rem 0; }
.public-steps li::before { color:var(--accent); content:counter(public-step,decimal-leading-zero); flex:0 0 2rem; font-size:.75rem; font-weight:900; }
.public-steps strong,.public-steps span { display:block; }
.public-steps strong { color:var(--ink); }
.public-steps span { color:var(--muted); font-size:.85rem; }
.public-contact-grid { display:grid; gap:2rem; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); }
.public-contact-intro { border-right:1px solid var(--line); padding-right:1.5rem; }
.public-warning { border-left:3px solid #c60f19; color:#e87f6f!important; font-size:.82rem; padding-left:.7rem; }
.public-form { display:grid; gap:.45rem; }
.public-form label { color:var(--muted); font-size:.75rem; font-weight:800; margin-top:.35rem; }
.public-form input,.public-form select,.public-form textarea { background:var(--paper); border:1px solid var(--line); border-radius:.25rem; color:var(--ink); font:inherit; min-width:0; padding:.7rem .75rem; width:100%; }
.public-form input:focus,.public-form select:focus,.public-form textarea:focus { border-color:var(--accent); outline:2px solid rgba(253,169,68,.18); }
.public-form textarea { resize:vertical; }
.public-form .button { border:0; cursor:pointer; justify-self:start; margin-top:.7rem; }
.public-privacy-notice { color:var(--muted); font-size:.75rem; margin:.6rem 0 0!important; }
.public-privacy-notice a,.public-legal a { color:var(--accent-dark); font-weight:800; }
.public-privacy-notice a:hover,.public-legal a:hover { color:var(--accent); }
.public-captcha { color:#e87f6f; font-size:1rem; margin-left:.25rem; }
.public-team { display:grid; gap:.7rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-team div { border-top:2px solid var(--accent-dark); display:flex; flex-direction:column; padding-top:.55rem; }
.public-team strong { color:var(--ink); }
.public-team span { color:var(--muted); font-size:.78rem; }
.public-legal,.public-rules { display:grid; gap:1.2rem; }
.public-legal section,.public-rules section { border-top:1px solid var(--line); padding-top:.9rem; }
.public-legal section:first-child,.public-rules section:first-child { border-top:0; padding-top:0; }
.public-legal h2,.public-rules h2 { font-size:1rem; }
.public-legal p,.public-rules p,.public-rules li { color:var(--muted); font-size:.86rem; }
.public-rules section { scroll-margin-top:1rem; }
.public-empty-state { align-items:flex-start; display:flex; gap:1rem; margin:auto; max-width:720px; padding:2rem 0; }
.public-empty-mark { align-items:center; border:1px solid var(--accent-dark); color:var(--accent); display:flex; flex:0 0 48px; font-size:1.35rem; font-weight:900; height:48px; justify-content:center; }
.public-empty-state h2 { margin-top:0; }
.public-empty-state p { font-size:.9rem; }
.error-page { align-items:center; display:grid; gap:clamp(1.25rem,4vw,3rem); grid-template-columns:auto minmax(0,1fr); margin:clamp(2rem,8vw,6rem) auto; max-width:760px; }
.error-code { border:1px solid var(--accent-dark); color:var(--accent); font-family:Tahoma,Arial Narrow,sans-serif; font-size:clamp(2.25rem,7vw,4rem); font-weight:900; line-height:1; padding:.6rem; text-shadow:2px 2px 0 #000; }
.error-copy h1 { font-size:clamp(1.65rem,4vw,2.6rem); margin:.2rem 0 .55rem; }
.error-copy .lead { margin:0; }
.error-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.35rem; }
.error-actions .button { font-size:.8rem; padding:.6rem .9rem; }

/* MW-356 — actualités modernes et commentaires. */
.blog-page,.blog-admin-page { display:grid; gap:1rem; }
.blog-admin-link { margin:0; }
.blog-list { display:grid; gap:1rem; }
.blog-card { display:grid; gap:.8rem; padding:1.2rem 1.35rem; }
.blog-card header,.blog-card footer,.blog-comment header,.blog-admin-row { align-items:center; display:flex; gap:.8rem; justify-content:space-between; }
.blog-card h2 { font-size:1.25rem; margin:.2rem 0 0; }
.blog-card h2 a { color:var(--ink); text-decoration:none; }
.blog-card h2 a:hover { color:var(--accent); }
.blog-index { border:1px solid var(--accent-dark); color:var(--accent); flex:0 0 2.5rem; font-weight:900; padding:.35rem .25rem; text-align:center; }
.blog-excerpt { color:var(--muted); margin:0!important; white-space:pre-wrap; }
.blog-card footer { border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; padding-top:.7rem; }
.blog-pagination { align-items:center; display:flex; gap:1rem; justify-content:center; padding:.5rem 0; }
.blog-pagination span { color:var(--muted); font-size:.8rem; }
.blog-article { padding:clamp(1rem,3vw,2rem); }
.blog-article-body { color:var(--muted); line-height:1.8; max-width:900px; white-space:pre-wrap; }
.blog-external-link { margin-bottom:0; margin-top:1.3rem!important; }
.blog-comments { display:grid; gap:1rem; padding:clamp(1rem,3vw,1.5rem); }
.blog-comment-list { display:grid; gap:.6rem; }
.blog-comment { border-top:1px solid var(--line); padding:.8rem 0; }
.blog-comment header { justify-content:flex-start; }
.blog-comment header time { color:var(--muted); font-size:.75rem; }
.blog-comment header form { margin-left:auto; }
.blog-comment p { color:var(--muted); margin:.45rem 0 0; white-space:pre-wrap; }
.blog-comment-form { border-top:1px solid var(--line); padding-top:1rem; }
.blog-login-prompt,.blog-muted { color:var(--muted); font-size:.86rem; }
.blog-admin-page { max-width:1050px; }
.blog-admin-form,.blog-admin-list { display:grid; gap:1rem; padding:1.25rem; }
.blog-admin-row { align-items:flex-start; border-top:1px solid var(--line); padding:.8rem 0; }
.blog-admin-row > div { display:grid; gap:.2rem; min-width:0; }
.blog-admin-row span { color:var(--muted); font-size:.75rem; }
.blog-admin-row p { color:var(--muted); font-size:.82rem; margin:.2rem 0 0; }
.blog-admin-row details { margin-top:.5rem; }
.blog-admin-row summary { color:var(--accent-dark); cursor:pointer; font-size:.75rem; font-weight:800; }
.blog-admin-row details form { margin-top:.75rem; min-width:min(560px,70vw); }
.blog-admin-row select { background:var(--card); border:1px solid var(--line); color:var(--ink); padding:.4rem; }
.text-button { background:transparent; border:0; color:var(--accent-dark); cursor:pointer; font:inherit; font-size:.75rem; font-weight:800; padding:0; }
.text-button:hover { color:var(--accent); }
@media(max-width:700px) { .blog-card,.blog-admin-form,.blog-admin-list,.blog-comments { padding:1rem; }.blog-card header,.blog-card footer,.blog-admin-row { align-items:flex-start; flex-direction:column; }.blog-card footer { gap:.4rem; }.blog-admin-row form { align-self:flex-end; }.blog-pagination { flex-wrap:wrap; }.blog-comment header { align-items:flex-start; flex-wrap:wrap; }.blog-comment header form { margin-left:0; width:100%; } }

/* Modern administration: compact, readable and safe on a phone. */
.modern-admin .page-shell { max-width:1240px; }
.modern-admin h1 { font-size:clamp(1.9rem,4vw,3.25rem); }
.admin-auth-card { display:grid; gap:.9rem; margin:0 auto; max-width:560px; padding:clamp(1.4rem,4vw,2.5rem); }
.admin-auth-card h1,.admin-heading h1 { margin:.1rem 0 0; }
.admin-auth-card .modern-form { margin:.5rem 0 0; }
.admin-heading { align-items:flex-end; display:flex; gap:1.5rem; justify-content:space-between; margin-bottom:1.25rem; }
.admin-heading .lead { margin:.35rem 0 0; }
.admin-tabs { align-items:center; border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.25rem; padding-bottom:.65rem; }
.admin-tabs a { align-items:center; border:1px solid transparent; border-radius:999px; color:var(--muted); display:inline-flex; font-size:.78rem; font-weight:800; gap:.5rem; padding:.55rem .8rem; text-decoration:none; }
.admin-tabs a:hover,.admin-tabs a.is-active { background:var(--card); border-color:var(--line); color:var(--ink); }
.admin-tabs a.admin-return-to-game { color:var(--accent-dark); margin-left:auto; }
.admin-metrics { display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); }
.admin-metric { display:grid; gap:.25rem; padding:1.1rem; }
.admin-metric strong { color:var(--accent-dark); font-size:clamp(1.7rem,4vw,2.7rem); line-height:1; }
.admin-metric small { color:var(--muted); }
.admin-metric-alert strong { color:var(--danger,#a3312d); }
.admin-next-step { margin-top:1rem; padding:1.35rem; }
.admin-next-step h2 { margin:.2rem 0 .5rem; }
.admin-filters { align-items:end; display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:1rem; padding:1rem; }
.admin-filters label { color:var(--muted); display:grid; font-size:.75rem; font-weight:800; gap:.3rem; min-width:10rem; }
.admin-filters select { background:var(--card); border:1px solid var(--line); border-radius:.45rem; color:var(--ink); padding:.55rem .65rem; }
.admin-table-card { overflow:hidden; padding:0; }
.admin-table-summary,.admin-pagination { align-items:center; display:flex; gap:1rem; justify-content:space-between; padding:1rem 1.1rem; }
.admin-table-summary { color:var(--muted); font-size:.78rem; font-weight:800; }
.table-scroll { overflow-x:auto; }
.admin-table-card table { border-collapse:collapse; min-width:780px; width:100%; }
.admin-table-card th,.admin-table-card td { border-top:1px solid var(--line); padding:.75rem 1.1rem; text-align:left; vertical-align:middle; }
.admin-table-card th { color:var(--muted); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.admin-table-card td { font-size:.82rem; }
.admin-table-card td:nth-child(3) { max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status-badge { background:color-mix(in srgb,var(--accent) 13%,transparent); border-radius:999px; color:var(--accent-dark); display:inline-block; font-size:.68rem; font-weight:800; padding:.25rem .55rem; }
.status-badge.status-failed,.status-badge.status-danger { background:color-mix(in srgb,#b23a34 14%,transparent); color:#a3312d; }
.status-badge.status-sent { background:color-mix(in srgb,#3b8d5b 14%,transparent); color:#287044; }
.admin-pagination { border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; font-weight:800; }
.admin-list-card { display:grid; gap:0; margin-bottom:1rem; overflow:hidden; padding:0; }
.admin-form-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1rem; }
.admin-form-card { padding:1.1rem; }
.admin-form-card .panel-heading { align-items:flex-start; display:flex; gap:.75rem; justify-content:space-between; margin-bottom:1rem; }
.admin-form-card .panel-heading h2 { margin:.15rem 0 0; }
.admin-form-card .modern-form { gap:.75rem; }
.admin-form-card textarea,.admin-form-card input,.admin-form-card select { width:100%; }
.admin-form-columns { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-success { background:color-mix(in srgb,#3b8d5b 14%,transparent); border:1px solid color-mix(in srgb,#3b8d5b 35%,transparent); border-radius:.5rem; color:#287044; padding:.7rem .85rem; }
.admin-list-row { border-top:1px solid var(--line); padding:1rem 1.1rem; }
.admin-list-row strong { display:block; }
.admin-list-row p { color:var(--muted); margin:.35rem 0; }
.admin-list-row small,.admin-muted,.admin-empty { color:var(--muted); font-size:.78rem; }
.admin-list-card > .admin-empty,.admin-list-card + .admin-muted { padding:1rem 1.1rem; }
.admin-contest-card { border-top:1px solid var(--line); color:inherit; display:block; padding:1rem 1.1rem; text-decoration:none; }
.admin-contest-card:hover { background:color-mix(in srgb,var(--accent) 7%,transparent); }
.admin-contest-card-heading { align-items:center; display:flex; gap:.75rem; justify-content:space-between; }
.admin-contest-card-heading strong { font-size:.95rem; }
.admin-contest-card p { color:var(--muted); margin:.4rem 0 .8rem; }
.admin-contest-card-facts { display:grid; gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-contest-card-facts span { display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.admin-contest-card-facts small { color:var(--muted); font-size:.62rem; text-transform:uppercase; }
.admin-contest-card-facts b { font-size:.82rem; }
.admin-contest-overview { margin-bottom:1rem; }
.admin-contest-overview-card { display:grid; gap:1rem; padding:1.1rem; }
.admin-contest-overview-card .admin-contest-card-facts { grid-template-columns:repeat(3,1fr); }
.admin-chat-history { overflow:hidden; padding:0; }
.admin-chat-history ol { list-style:none; margin:0; padding:0; }
.admin-chat-history li { border-top:1px solid var(--line); display:grid; gap:.25rem; padding:1rem 1.1rem; }
.admin-chat-history li small { color:var(--muted); }
.admin-chat-history li strong { color:var(--accent-dark); font-size:.8rem; }
.admin-chat-history li p { margin:.15rem 0 0; white-space:pre-wrap; }
@media(max-width:800px) { .admin-metrics { grid-template-columns:repeat(2,1fr); } .admin-heading { align-items:flex-start; flex-direction:column; gap:.8rem; } }
@media(max-width:520px) { .admin-metrics { grid-template-columns:1fr 1fr; gap:.6rem; } .admin-metric { padding:.85rem; } .admin-metric strong { font-size:1.65rem; } .admin-tabs { overflow-x:auto; flex-wrap:nowrap; } .admin-tabs a { flex:0 0 auto; } .admin-filters { align-items:stretch; flex-direction:column; } .admin-filters label,.admin-filters .button { width:100%; } .admin-pagination { align-items:flex-start; flex-direction:column; } }
@media(max-width:760px) { .admin-form-grid,.admin-form-columns { grid-template-columns:1fr; } }

/* MW-355 — compte joueur : lecture confortable sur desktop et mobile. */
.account-page { display:grid; gap:1.25rem; }
.account-heading { margin-bottom:0; }
.account-navigation { display:flex; flex-wrap:wrap; gap:.35rem; padding:.35rem; }
.account-navigation a { color:var(--muted); padding:.65rem .85rem; text-decoration:none; }
.account-navigation a:hover,.account-navigation a.is-active { background:var(--accent); color:#191919; }
.account-alert { border:1px solid var(--line); padding:.75rem 1rem; }
.account-alert p { margin:.15rem 0; }
.account-alert-error { border-color:#8f302b; color:#d9877c; }
.account-alert-success { border-color:var(--accent-dark); color:var(--accent); }
.account-grid { display:grid; gap:1.25rem; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); }
.account-panel { padding:1.25rem; }
.account-narrow { max-width:860px; width:100%; }
.account-facts { display:grid; gap:.7rem; margin:0 0 1.2rem; }
.account-facts div { align-items:baseline; border-bottom:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; padding:.55rem 0; }
.account-facts dt { color:var(--muted); font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.account-facts dd { margin:0; text-align:right; }
.modern-form { display:grid; gap:.9rem; }
.modern-form label { display:grid; gap:.35rem; font-weight:700; }
.modern-form input,.modern-form textarea,.modern-form select { background:var(--card); border:1px solid var(--line); border-radius:.25rem; color:var(--ink); font:inherit; padding:.7rem .75rem; width:100%; }
.modern-form fieldset { border:1px solid var(--line); display:grid; gap:.5rem; padding:.8rem; }
.modern-form legend { color:var(--muted); font-size:.78rem; text-transform:uppercase; }
.date-fields { display:grid; gap:.5rem; grid-template-columns:1fr 1fr 1.5fr; }
.checkbox-line { align-items:center; display:flex!important; font-weight:400!important; gap:.5rem; }
.checkbox-line input { width:auto; }
.account-code { background:color-mix(in srgb,var(--accent) 12%,transparent); border-left:3px solid var(--accent); display:grid; gap:.3rem; margin:1.25rem 0; padding:.75rem; }
.account-code span { color:var(--muted); font-size:.78rem; text-transform:uppercase; }
.account-code strong,.account-code-inline { font-family:monospace; letter-spacing:.08em; overflow-wrap:anywhere; }
.account-danger { border-color:color-mix(in srgb,#d54b3f 50%,var(--line)); }
.account-danger-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.account-danger-actions form { margin:0; }
.button-danger { background:#8f302b!important; border-color:#8f302b!important; color:#fff!important; }
.regiment-management-tabs { display:flex; gap:.35rem; margin:.15rem 0 1rem; overflow-x:auto; padding:.25rem; }
.regiment-management-tab { border:1px solid var(--line); color:var(--muted); font-size:.72rem; font-weight:900; letter-spacing:.04em; padding:.65rem .8rem; text-decoration:none; white-space:nowrap; }
.regiment-management-tab:hover,.regiment-management-tab.is-active { background:var(--accent); border-color:var(--accent); color:#191919; }
.regiment-management-tab.is-disabled { cursor:not-allowed; opacity:.45; }
.management-summary-grid { display:grid; gap:.75rem; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:1rem; }
.management-stat { display:flex; flex-direction:column; gap:.35rem; padding:1rem; }
.management-stat small,.management-stat strong,.unit-card-facts small { color:var(--muted); font-size:.62rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.management-stat strong { color:var(--ink); font-size:1.5rem; letter-spacing:-.04em; }
.management-panel,.management-form-card { padding:1.15rem; }
.panel-subtitle { color:var(--muted); font-size:.75rem; margin:.25rem 0 0; }
.management-list { display:grid; gap:.45rem; }
.management-row { align-items:center; border-top:1px solid var(--line); display:grid; gap:.8rem; grid-template-columns:minmax(170px,1.2fr) minmax(230px,1fr) auto; padding:.75rem 0; }
.management-row-heading,.unit-card-header { align-items:center; display:flex; gap:.65rem; min-width:0; }
.management-row-heading strong,.management-row-heading small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.management-row-heading small,.unit-card-header small { color:var(--muted); font-size:.68rem; margin-top:.15rem; }
.management-index,.unit-card-number { align-items:center; border:1px solid var(--accent-dark); color:var(--accent); display:inline-flex; flex:0 0 30px; font-size:.62rem; font-weight:900; height:30px; justify-content:center; width:30px; }
.management-row-facts { color:var(--muted); display:flex; flex-wrap:wrap; font-size:.68rem; gap:.65rem; }
.management-card-grid { display:grid; gap:.85rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.unit-card { display:flex; flex-direction:column; gap:.8rem; min-width:0; padding:1rem; }
.unit-card.status-projection { border-color:#c60f19; }
.unit-card.status-formation { border-color:#e6bd54; }
.unit-card.status-permission { border-color:#698f19; }
.unit-card-header { align-items:flex-start; }
.unit-card-header > div { flex:1; min-width:0; }
.unit-card-header h2 { font-size:1rem; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unit-card-header .status-badge,.unit-card-header .terrain-chip { margin-left:auto; }
.unit-card-facts { display:grid; gap:.5rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.unit-card-facts div { border-left:2px solid var(--accent-dark); display:flex; flex-direction:column; gap:.2rem; min-width:0; padding-left:.5rem; }
.unit-card-facts strong { font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unit-card-composition { border-top:1px solid var(--line); color:var(--muted); font-size:.7rem; margin:0; padding-top:.65rem; }
.unit-card-footer,.building-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:auto; }
.modern-form { max-width:720px; }
.form-help { color:var(--muted); font-size:.75rem; margin:0; }
.legacy-inline-icon { height:18px; object-fit:contain; vertical-align:middle; width:18px; }
.building-card > img { border:1px solid var(--line); height:105px; object-fit:cover; width:100%; }
.building-card > p { color:var(--muted); font-size:.72rem; margin:0; }
.building-card .unit-card-facts { grid-template-columns:repeat(2,1fr); }
@media(max-width:760px) {
    .management-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .management-card-grid { grid-template-columns:1fr; }
    .management-row { align-items:stretch; grid-template-columns:1fr; gap:.55rem; }
    .management-row .button { text-align:center; width:100%; }
    .unit-card-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .unit-card-footer,.building-actions { display:grid; grid-template-columns:1fr; }
    .unit-card-footer .button,.building-actions .button { text-align:center; width:100%; }
    .management-panel,.management-form-card { padding:.9rem; }
}
.profile-layout { align-items:start; display:grid; gap:1.5rem; grid-template-columns:130px 1fr; }
.account-avatar { align-items:center; background:var(--accent); border:2px solid var(--line); color:#191919; display:flex; font-size:2rem; font-weight:900; height:120px; justify-content:center; width:120px; }
.account-grade { color:var(--accent); font-weight:900; }
.account-children { display:grid; gap:.65rem; }
.account-children article { border:1px solid var(--line); display:grid; gap:.2rem; padding:.8rem 1rem; }
.account-children span { color:var(--muted); font-size:.88rem; }
@media(max-width:760px) { .account-grid,.profile-layout { grid-template-columns:1fr; }.account-navigation { overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; }.account-panel { padding:1rem; }.account-facts div { align-items:flex-start; flex-direction:column; gap:.2rem; }.account-facts dd { text-align:left; }.profile-layout .account-avatar { height:88px; width:88px; }.date-fields { grid-template-columns:1fr 1fr 1.4fr; } }
@media (max-width:700px) {
    .public-page-heading { align-items:flex-start; }
    .public-page-heading h1 { font-size:clamp(1.8rem,10vw,3rem); }
    .public-heading-mark { flex-basis:54px; height:54px; }
    .public-content { padding:1rem; }
    .public-section-grid,.public-contact-grid,.public-team { grid-template-columns:1fr; }
    .public-contact-intro { border-bottom:1px solid var(--line); border-right:0; padding:0 0 1rem; }
    .public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-gallery img { height:105px; }
    .public-form .button { justify-self:stretch; }
    .public-empty-state { padding:1rem 0; }
    .error-page { grid-template-columns:1fr; margin:2rem auto; }
    .error-code { justify-self:start; }
}
