:root{--bg:#080a08;--panel:#11150f;--text:#d9d6c8;--muted:#9b9b90;--olive:#9aa66d;--line:rgba(255,255,255,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site{opacity:0;transition:opacity 1s ease}.site.ready{opacity:1}.nav-wrap{position:fixed;top:0;left:0;right:0;height:78px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,90px);background:linear-gradient(to bottom,rgba(5,7,5,.96),rgba(5,7,5,.45),transparent)}.brand{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:900;letter-spacing:.15em}.brand img{width:52px}.nav-links{display:flex;gap:26px;align-items:center;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.13em}.discord-link{padding:10px 14px;border:1px solid var(--olive);background:rgba(154,166,109,.12)}.menu-btn{display:none;background:none;border:0}.menu-btn span{display:block;width:26px;height:2px;background:#fff;margin:5px}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:130px clamp(24px,8vw,120px) 80px;overflow:hidden;background:radial-gradient(circle at 78% 25%,rgba(131,83,48,.24),transparent 30%),radial-gradient(circle at 20% 80%,rgba(95,111,63,.18),transparent 30%),linear-gradient(115deg,#11150e,#070907 58%,#18130f)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.63) 45%,rgba(0,0,0,.18))}.hero-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 80px,rgba(255,255,255,.018) 81px),repeating-linear-gradient(0deg,transparent 0 80px,rgba(255,255,255,.018) 81px)}.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow{color:#aab282;font-size:.7rem;font-weight:900;letter-spacing:.23em;text-transform:uppercase}.hero h1,.section h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0}.hero h1{font-size:clamp(4rem,9vw,8.5rem);line-height:.86}.hero h1 span{color:transparent;-webkit-text-stroke:1px #bbb9aa}.hero-copy{max-width:620px;color:#b8b6aa;font-size:1.05rem;margin:28px 0}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 24px;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.13em;border:1px solid transparent}.primary{background:var(--olive);color:#090b08}.secondary{border-color:rgba(255,255,255,.32);background:rgba(0,0,0,.18)}.mission-card{position:absolute;right:6vw;bottom:85px;z-index:2;width:320px;padding:24px;background:rgba(8,10,8,.76);border-left:3px solid var(--olive);backdrop-filter:blur(10px)}.mission-card span{font-size:.65rem;letter-spacing:.18em;color:var(--muted)}.mission-card strong{display:block;font-size:1.3rem}.mission-card p{font-size:.82rem;color:var(--muted)}.mission-card a{color:#bac48d;font-weight:bold}.scroll-note{position:absolute;z-index:2;bottom:25px;left:8vw;font-size:.6rem;letter-spacing:.18em;color:#85857a;display:flex;align-items:center;gap:10px}.scroll-note b{width:45px;height:1px;background:#85857a}.section{padding:105px clamp(24px,8vw,120px);border-top:1px solid var(--line)}.section-heading{max-width:760px;margin-bottom:45px}.section h2{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.95}.section-heading>p:last-child{color:var(--muted)}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-card{min-height:330px;padding:32px;border:1px solid var(--line);background:linear-gradient(155deg,rgba(99,111,68,.25),rgba(10,12,9,.92));display:flex;justify-content:space-between;align-items:flex-end}.game-card.vietnam{background:linear-gradient(155deg,rgba(92,108,54,.25),rgba(9,11,8,.92))}.number{font-family:Impact,sans-serif;font-size:4rem;color:rgba(255,255,255,.08)}.game-card h3{font-size:2rem;margin:0}.game-card p:last-child{color:var(--muted)}.unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.unit-card{min-height:265px;padding:26px;background:var(--panel);border:1px solid var(--line);transition:.25s}.unit-card:hover{transform:translateY(-6px);border-color:rgba(154,166,109,.55)}.unit-card span{color:#89915f;font-weight:bold}.unit-card h3{margin-top:65px;font-size:1.5rem;text-transform:uppercase}.unit-card p{color:var(--muted)}.roster-placeholder{border:1px solid var(--line)}.roster-placeholder div{display:grid;grid-template-columns:2fr 1fr 1fr;padding:17px 20px;border-bottom:1px solid var(--line)}.roster-placeholder span,.roster-placeholder b{color:var(--muted);font-weight:normal}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(90deg,rgba(154,166,109,.12),transparent)}footer{display:flex;align-items:center;gap:18px;padding:40px clamp(24px,8vw,120px);border-top:1px solid var(--line)}footer img{width:65px}footer p{margin:0;color:var(--muted);font-size:.8rem}footer a{margin-left:auto;color:#b8c28d;text-transform:uppercase;font-size:.72rem;font-weight:bold}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.visible{opacity:1;transform:none}.intro{position:fixed;z-index:999;inset:0;background:#030403;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity 1s,visibility 1s}.intro.hidden{opacity:0;visibility:hidden}.intro-inner{text-align:center;position:relative;z-index:3}.intro-inner img{width:min(300px,55vw);filter:drop-shadow(0 20px 50px rgba(0,0,0,.8));animation:pulse 3s ease-in-out infinite}.intro-inner h1{font-family:Impact,sans-serif;font-size:clamp(2rem,6vw,4.6rem);letter-spacing:.06em;margin:14px 0 8px}.status{font-size:.62rem;letter-spacing:.18em;color:#85897a}.status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--olive);box-shadow:0 0 12px var(--olive);animation:blink 1s infinite}.progress{width:min(420px,72vw);height:2px;background:rgba(255,255,255,.12);margin:22px auto}.progress i{display:block;height:100%;width:0;background:var(--olive);animation:load 4s linear forwards}.intro-grid{position:absolute;inset:-20%;background:repeating-linear-gradient(90deg,transparent 0 90px,rgba(255,255,255,.025) 91px),repeating-linear-gradient(0deg,transparent 0 90px,rgba(255,255,255,.02) 91px);transform:perspective(500px) rotateX(58deg) translateY(35%);opacity:.25}.intro-smoke{position:absolute;width:75vw;height:75vw;border-radius:50%;filter:blur(50px);opacity:.12;background:radial-gradient(circle,rgba(130,140,105,.75),transparent 62%)}.smoke-a{left:-30vw;bottom:-45vw;animation:smokea 8s infinite}.smoke-b{right:-35vw;top:-45vw;animation:smokeb 9s infinite}.embers i{position:absolute;z-index:1;bottom:-20px;width:3px;height:3px;background:#c47a43;border-radius:50%;box-shadow:0 0 8px #d28a4d;animation:ember 8s linear infinite}.embers i:nth-child(1){left:8%;animation-delay:0s}.embers i:nth-child(2){left:18%;animation-delay:2s}.embers i:nth-child(3){left:34%;animation-delay:5s}.embers i:nth-child(4){left:49%;animation-delay:1s}.embers i:nth-child(5){left:64%;animation-delay:3s}.embers i:nth-child(6){left:76%;animation-delay:6s}.embers i:nth-child(7){left:88%;animation-delay:4s}.embers i:nth-child(8){left:95%;animation-delay:7s}@keyframes load{to{width:100%}}@keyframes pulse{50%{transform:scale(1.025)}}@keyframes blink{50%{opacity:.25}}@keyframes smokea{50%{transform:translate(14vw,-10vw) scale(1.12)}}@keyframes smokeb{50%{transform:translate(-12vw,9vw) scale(1.08)}}@keyframes ember{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-110vh) translateX(40px);opacity:0}}@media(max-width:900px){.menu-btn{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#080a08;padding:20px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.mission-card{display:none}.game-cards{grid-template-columns:1fr}.unit-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.brand span{display:none}.hero{padding-left:20px;padding-right:20px}.hero h1{font-size:clamp(3.6rem,16vw,6rem)}.section{padding:75px 20px}.unit-grid{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}.roster-placeholder div{grid-template-columns:1.5fr 1fr}.roster-placeholder b{display:none}footer{flex-wrap:wrap}footer a{width:100%;margin-left:0}}

.page-hero{min-height:52vh;position:relative;display:flex;align-items:flex-end;padding:155px clamp(24px,8vw,120px) 70px;overflow:hidden;background:radial-gradient(circle at 76% 24%,rgba(112,126,72,.2),transparent 28%),linear-gradient(120deg,#12160f,#070907)}.page-hero-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 85px,rgba(255,255,255,.018) 86px),repeating-linear-gradient(0deg,transparent 0 85px,rgba(255,255,255,.015) 86px)}.page-title{position:relative;z-index:1}.page-title h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(4rem,10vw,8rem);line-height:.86;letter-spacing:.03em;margin:0;text-transform:uppercase}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:55px}.content-panel,.news-card,.enlist-form{background:var(--panel);border:1px solid var(--line);padding:30px}.content-panel h3,.news-card h2{font-size:1.7rem;text-transform:uppercase}.content-panel p,.news-card p{color:var(--muted)}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:13px 0;border-bottom:1px solid var(--line)}.feature-list li:before{content:"▰";font-size:.65rem;color:var(--olive);margin-right:10px}.values-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.unit-detail-list{display:grid;gap:18px}.unit-detail{display:grid;grid-template-columns:140px 1fr;align-items:center;padding:40px;background:var(--panel);border:1px solid var(--line)}.unit-detail>span{font-family:Impact,sans-serif;font-size:4.8rem;color:rgba(255,255,255,.08)}.unit-detail h2{font-size:clamp(2.5rem,5vw,4.7rem)}.unit-detail p:last-child{max-width:830px;color:var(--muted)}.roster-tools{display:flex;gap:12px;margin-bottom:16px}.roster-tools input,.roster-tools select,.enlist-form input,.enlist-form select,.enlist-form textarea{width:100%;padding:14px;background:#0c0f0b;border:1px solid var(--line);color:var(--text);font:inherit}.roster-tools input:focus,.roster-tools select:focus,.enlist-form input:focus,.enlist-form select:focus,.enlist-form textarea:focus{outline:1px solid var(--olive)}.roster-table{border:1px solid var(--line)}.roster-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:17px 20px;border-bottom:1px solid var(--line)}.roster-head{font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;color:#828375}.member-row b{font-weight:normal;color:#b4bf88}.news-card{min-height:330px;display:flex;flex-direction:column}.news-card h2{font-family:Impact,sans-serif;font-size:2.4rem;line-height:1}.news-card a{margin-top:auto;color:#b4bf88;font-weight:bold}.enlist-form{display:grid;gap:17px}.enlist-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#aaa99d}.enlist-form input,.enlist-form select,.enlist-form textarea{display:block;margin-top:6px;text-transform:none;letter-spacing:normal}.footer-nav{display:flex;gap:22px;margin-left:auto}.footer-nav a{margin-left:0}
@media(max-width:900px){.two-column{grid-template-columns:1fr}.values-grid,.news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.page-hero{padding-left:20px;padding-right:20px}.values-grid,.news-grid{grid-template-columns:1fr}.unit-detail{grid-template-columns:1fr;padding:27px}.unit-detail>span{font-size:3rem}.roster-row{grid-template-columns:1.5fr 1fr 1fr}.roster-row span:nth-child(2){display:none}.footer-nav{width:100%;margin-left:0;flex-wrap:wrap}}

/* Stage 3A — page transitions and motion polish */
html.is-transitioning{pointer-events:none}
body{opacity:1;transition:opacity .25s ease}
.page-transition{position:fixed;inset:0;z-index:1200;pointer-events:none;visibility:hidden;opacity:0;background:#050605;display:flex;align-items:center;justify-content:center;transition:opacity .45s ease,visibility .45s}
.page-transition.active{visibility:visible;opacity:1;pointer-events:auto}
.transition-line{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--olive),transparent);transform:scaleX(0);transform-origin:left;transition:transform .6s ease}
.page-transition.active .transition-line{transform:scaleX(1)}
.transition-mark{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;transform:translateY(12px);transition:.4s ease .1s}
.page-transition.active .transition-mark{opacity:1;transform:none}
.transition-mark img{width:105px;filter:drop-shadow(0 15px 30px rgba(0,0,0,.8))}
.transition-mark span{font-size:.62rem;letter-spacing:.22em;font-weight:900;color:#b9bea2}

.reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(3px);transition:opacity .85s ease,transform .85s ease,filter .85s ease}
.reveal.visible{opacity:1;transform:none;filter:none}
.reveal:nth-child(2){transition-delay:.08s}
.reveal:nth-child(3){transition-delay:.14s}
.reveal:nth-child(4){transition-delay:.2s}

.nav-wrap.scrolled{background:rgba(5,7,5,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-links a{position:relative}
.nav-links a:not(.discord-link):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--olive);transition:right .25s ease}
.nav-links a:not(.discord-link):hover:after,.nav-links a.active:not(.discord-link):after{right:0}

.menu-btn{position:relative;width:42px;height:42px;padding:8px;z-index:60}
.menu-btn span{transition:transform .28s ease,opacity .2s ease}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-links.open{animation:mobileMenuIn .28s ease both}
@keyframes mobileMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none;filter:none}
  .page-transition{display:none}
}

/* Stage 3B — interactive design */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.24) 50%,transparent 80%);transform:translateX(-140%);transition:transform .55s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.28)}
.btn:hover:before{transform:translateX(140%)}
.primary:hover{box-shadow:0 14px 34px rgba(154,166,109,.22)}
.secondary:hover{border-color:var(--olive)}

.unit-card,.game-card,.content-panel,.news-card,.member-card,.stat-card{position:relative;overflow:hidden}
.unit-card:before,.game-card:before,.content-panel:before,.news-card:before,.member-card:before,.stat-card:before{content:"";position:absolute;inset:auto -25% 0;height:1px;background:linear-gradient(90deg,transparent,var(--olive),transparent);transform:scaleX(0);transition:transform .4s ease}
.unit-card:hover:before,.game-card:hover:before,.content-panel:hover:before,.news-card:hover:before,.member-card:hover:before,.stat-card:hover:before{transform:scaleX(1)}
.game-card,.content-panel,.news-card,.member-card,.stat-card{transition:transform .3s ease,border-color .3s ease,background .3s ease}
.game-card:hover,.content-panel:hover,.news-card:hover,.member-card:hover,.stat-card:hover{transform:translateY(-6px);border-color:rgba(154,166,109,.48)}

.stats-section{background:radial-gradient(circle at 50% 0,rgba(154,166,109,.08),transparent 34%)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-card{min-height:235px;padding:28px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}
.stat-number{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(3.5rem,7vw,6.2rem);line-height:1;color:#b8c28d}
.stat-card strong{text-transform:uppercase;letter-spacing:.08em;margin-top:auto}
.stat-card p{color:var(--muted);font-size:.86rem}

.roster-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.member-card{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:20px;padding:24px;background:var(--panel);border:1px solid var(--line)}
.member-avatar{width:70px;height:70px;border:1px solid rgba(154,166,109,.42);background:linear-gradient(145deg,rgba(154,166,109,.18),rgba(0,0,0,.2));display:grid;place-items:center;font-family:Impact,sans-serif;font-size:1.35rem;color:#c1c9a0}
.member-card h3{margin:0;text-transform:uppercase;font-size:1.25rem}
.member-card p{margin:0 0 3px}
.member-card span{color:var(--muted);font-size:.86rem}
.status-badge{padding:7px 10px;border:1px solid;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.status-badge.active{color:#b8c98b;border-color:rgba(184,201,139,.45);background:rgba(184,201,139,.08)}
.status-badge.recruiting{color:#d0b17c;border-color:rgba(208,177,124,.42);background:rgba(208,177,124,.07)}

.nav-links a,.brand{transition:color .22s ease,transform .22s ease}
.nav-links a:hover{color:#c2ca9c}
.brand:hover{transform:translateY(-1px)}

@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.roster-cards{grid-template-columns:1fr}}
@media(max-width:620px){.stats-grid{grid-template-columns:1fr}.member-card{grid-template-columns:62px 1fr}.member-avatar{width:56px;height:56px}.status-badge{grid-column:2;justify-self:start}}

/* Discord roster application */
.app-page{background:#090b09;color:#e9eadf;min-height:100vh}
.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:130px 0 70px}
.auth-shell{min-height:100vh;display:grid;place-items:center}
.command-card{background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2);padding:28px}
.auth-card{width:min(560px,100%);text-align:center}
.auth-card h1,.app-heading h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.discord-auth-button{width:100%;border:0;padding:15px 20px;margin:24px 0 12px;background:#5865f2;color:white;font-weight:900;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:12px}
.discord-auth-button:disabled{opacity:.5;cursor:not-allowed}.discord-mark{width:28px;height:28px;border-radius:8px;background:rgba(0,0,0,.2);display:grid;place-items:center}
.security-note{margin-top:24px;padding:16px;text-align:left;border-left:3px solid var(--olive);background:rgba(154,166,109,.06);display:grid;gap:5px}.security-note span,.muted-copy{color:var(--muted)}
.app-alert{margin-bottom:20px;padding:15px;border:1px solid #a87951;background:rgba(168,121,81,.12);text-align:left}
.app-alert code{word-break:break-all}.nav-action,.member-login-link{border:1px solid rgba(154,166,109,.45);background:transparent;color:inherit;padding:9px 12px;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.1em;cursor:pointer}
.app-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.app-heading h1{margin:0;font-size:clamp(2.4rem,6vw,5rem)}
.dashboard-grid{display:grid;grid-template-columns:330px 1fr;gap:20px}.profile-summary{text-align:center}.profile-avatar{width:130px;height:130px;object-fit:cover;border-radius:16px;border:1px solid rgba(154,166,109,.45);margin:auto}.profile-summary h2{margin-bottom:4px}.profile-facts{display:grid;gap:10px;margin:24px 0;text-align:left}.profile-facts div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.profile-facts span{color:var(--muted)}
.form-section-heading{display:flex;justify-content:space-between;margin-bottom:20px}.form-section-heading h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.profile-form label,.member-dialog label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.profile-form input,.profile-form select,.profile-form textarea,.member-dialog input,.member-dialog select,.member-dialog textarea,.compact-input{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}.form-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.form-check-input{width:auto!important}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-message{min-height:24px;color:#bfc89b}
.status-badge.pending{color:#d0b17c;border-color:rgba(208,177,124,.42);background:rgba(208,177,124,.07)}.status-badge.approved{color:#b8c98b;border-color:rgba(184,201,139,.45);background:rgba(184,201,139,.08)}.status-badge.rejected{color:#d58e83;border-color:rgba(213,142,131,.45)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metric-box{background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2);padding:22px}.metric-box span{display:block;color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.metric-box strong{font-family:Impact,sans-serif;font-size:3rem;color:#b8c28d}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-toolbar h2{margin:0}.admin-list{display:grid;gap:12px}.admin-member-row{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02)}.admin-member-row img{width:60px;height:60px;object-fit:cover;border-radius:10px}.admin-member-copy h3{margin:0}.admin-member-copy p{margin:3px 0;color:var(--muted)}.member-tags{display:flex;flex-wrap:wrap;gap:6px}.member-tags span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(154,166,109,.3);padding:4px 7px}.admin-row-actions{display:flex;gap:8px}.audit-list{display:grid}.audit-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.audit-row span{color:var(--muted)}
.member-dialog{width:min(680px,calc(100% - 24px));background:#10130f;color:#e9eadf;border:1px solid rgba(154,166,109,.45);padding:24px}.member-dialog::backdrop{background:rgba(0,0,0,.82)}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading h2{margin:0}.dialog-close{border:0;background:transparent;color:white;font-size:2rem;cursor:pointer}
.live-roster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.live-member-card{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:16px;padding:20px;background:var(--panel);border:1px solid var(--line)}.live-member-card img{width:64px;height:64px;object-fit:cover;border-radius:10px}.live-member-card h3{margin:0}.live-member-card p{margin:0 0 3px}.live-member-card span{color:var(--muted)}.roster-login-callout{margin-top:30px;padding:26px;border:1px solid rgba(154,166,109,.3);display:flex;align-items:center;justify-content:space-between;gap:20px}.roster-login-callout h2{margin:0}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.live-roster-grid{grid-template-columns:1fr}}
@media(max-width:650px){.app-shell{width:min(100% - 20px,1180px);padding-top:105px}.form-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.admin-member-row{grid-template-columns:52px 1fr}.admin-member-row img{width:48px;height:48px}.admin-row-actions{grid-column:2}.live-member-card{grid-template-columns:55px 1fr}.live-member-card img{width:50px;height:50px}.live-member-card .status-badge{grid-column:2;justify-self:start}.roster-login-callout{align-items:flex-start;flex-direction:column}.app-heading{align-items:flex-start;flex-direction:column}}

/* V2 service records, awards, and qualifications */
.live-member-card{text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease}.live-member-card:hover{border-color:rgba(184,194,141,.55);transform:translateY(-2px)}
.service-header{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;margin-bottom:20px}.service-avatar{width:145px;height:145px;object-fit:cover;border-radius:16px;border:1px solid rgba(184,194,141,.35)}.service-identity h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.95;text-transform:uppercase;margin:4px 0 8px}.service-role{font-size:1.1rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-grid h2{margin-top:0}.service-facts{display:grid;gap:12px;margin:22px 0}.service-facts div{display:flex;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.08)}.service-facts dt{color:var(--muted)}.service-facts dd{margin:0;text-align:right}.member-bio{line-height:1.75;color:#d6d8cb}
.decoration-grid{display:grid;gap:12px}.decoration-card{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08)}.medal-mark{width:52px;height:58px;display:grid;place-items:center;background:linear-gradient(#929c69,#575e3d);color:#111;font-weight:1000;font-size:1.35rem;clip-path:polygon(15% 0,85% 0,100% 70%,50% 100%,0 70%)}.decoration-card h3{margin:0}.decoration-card p{margin:3px 0;color:var(--muted)}.decoration-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.qualification-list{display:grid;gap:10px}.qualification-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border-left:3px solid #9aa66d;background:rgba(154,166,109,.06)}.qualification-row div{display:grid}.qualification-row span{color:var(--muted);font-size:.85rem}.qualification-row b{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:#bfc990}
.service-timeline{display:grid}.timeline-entry{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.timeline-entry time{color:#b7c18d;font-weight:800}.timeline-entry strong{font-size:1.02rem}.timeline-entry p{margin:4px 0;color:var(--muted)}
.decorations-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.decorations-admin-grid form label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.decorations-admin-grid input,.decorations-admin-grid select,.decorations-admin-grid textarea{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}
@media(max-width:800px){.service-grid,.decorations-admin-grid{grid-template-columns:1fr}.service-header{grid-template-columns:100px 1fr}.service-avatar{width:95px;height:95px}.service-identity h1{font-size:2.8rem}}
@media(max-width:520px){.service-header{grid-template-columns:1fr}.service-avatar{width:110px;height:110px}.timeline-entry{grid-template-columns:1fr;gap:5px}}

/* V3 division management */
.organization-board{display:grid;gap:20px}.org-unit-card{border:1px solid rgba(184,194,141,.24);background:rgba(15,18,14,.95);padding:22px}.org-unit-card header h2{margin:2px 0}.org-unit-card header span{color:var(--muted)}.org-personnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px}.org-person-row{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;text-decoration:none;color:inherit;padding:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.org-person-row img{width:44px;height:44px;border-radius:8px;object-fit:cover}.org-person-row div{display:grid}.org-person-row span{color:var(--muted);font-size:.84rem}.org-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;margin-top:18px}.org-children .org-unit-card{background:rgba(8,10,8,.65)}
.pipeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.pipeline-column{border:1px solid rgba(184,194,141,.2);background:rgba(15,18,14,.92);min-height:360px}.pipeline-column>header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid rgba(255,255,255,.08);text-transform:uppercase;font-weight:900;letter-spacing:.08em}.pipeline-column>header b{background:rgba(154,166,109,.14);padding:4px 8px}.pipeline-list{display:grid;gap:10px;padding:12px}.recruit-card{display:grid;gap:4px;text-align:left;width:100%;border:1px solid rgba(255,255,255,.08);background:#0b0d0a;color:inherit;padding:13px;cursor:pointer}.recruit-card:hover{border-color:rgba(184,194,141,.45)}.recruit-card span,.recruit-card small{color:var(--muted)}
.leave-grid,.unit-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.leave-grid label,.unit-admin-grid label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.leave-grid input,.leave-grid textarea,.unit-admin-grid input,.unit-admin-grid select{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}.leave-request-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08)}.leave-request-row h3,.leave-request-row p{margin:0}.leave-request-row span{color:var(--muted)}.status-badge.approved{color:#b8c98b}.status-badge.denied{color:#d58e83}
.unit-management-card{display:grid;grid-template-columns:1fr 1.3fr auto;gap:18px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.08)}.unit-management-card h3{margin:0}.unit-management-card p{margin:4px 0}
.activity-row{display:grid;grid-template-columns:56px 1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08)}.activity-row img{width:52px;height:52px;border-radius:9px;object-fit:cover}.activity-row h3,.activity-row p{margin:0}.activity-row p{color:var(--muted)}.activity-indicator{font-size:.7rem;text-transform:uppercase;font-weight:900;letter-spacing:.07em;padding:7px 9px;border:1px solid}.activity-indicator.active{color:#b8c98b;border-color:rgba(184,201,139,.45)}.activity-indicator.watch{color:#d0b17c;border-color:rgba(208,177,124,.45)}.activity-indicator.inactive{color:#d58e83;border-color:rgba(213,142,131,.45)}
@media(max-width:1000px){.pipeline-grid{grid-template-columns:repeat(2,1fr)}.activity-row{grid-template-columns:52px 1fr auto}.activity-actions{grid-column:2}}
@media(max-width:760px){.leave-grid,.unit-admin-grid{grid-template-columns:1fr}.unit-management-card{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:1fr}.pipeline-column{min-height:0}.leave-request-row{align-items:flex-start;flex-direction:column}.activity-row{grid-template-columns:48px 1fr}.activity-indicator,.activity-actions{grid-column:2;justify-self:start}}

/* V4 competitive operations */
.operations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.operation-card{display:grid;grid-template-columns:100px 1fr;gap:18px;text-decoration:none;color:inherit;padding:18px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02)}.operation-card:hover{border-color:rgba(184,194,141,.5)}.operation-card h3{margin:0}.operation-card p{margin:3px 0;color:var(--muted)}.operation-date{display:grid;align-content:center;text-align:center;border-right:1px solid rgba(255,255,255,.09);padding-right:15px}.operation-date strong{font-family:Impact,sans-serif;font-size:1.5rem;text-transform:uppercase}.operation-date span{color:var(--muted);font-size:.82rem}.standings-table{display:grid}.standings-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;padding:13px;border-bottom:1px solid rgba(255,255,255,.08)}.standings-head{text-transform:uppercase;color:var(--muted);font-size:.7rem;letter-spacing:.08em}
.operation-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:20px}.operation-hero h1{font-family:Impact,sans-serif;font-size:clamp(2.8rem,7vw,5.5rem);line-height:.95;text-transform:uppercase;margin:4px 0 10px}.operation-time-block{display:grid;text-align:right}.operation-time-block strong{font-size:1.35rem}.operation-time-block span{color:var(--muted)}.operation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.operation-wide{grid-column:1/-1}.operation-detail-grid label,.wide-dialog label,.lineup-admin-grid label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.operation-detail-grid input,.operation-detail-grid select,.operation-detail-grid textarea,.wide-dialog input,.wide-dialog select,.wide-dialog textarea,.lineup-admin-grid input,.lineup-admin-grid select{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}
.lineup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.lineup-slot{padding:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.lineup-slot h3{margin:0 0 12px}.lineup-member{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.lineup-member img{width:46px;height:46px;border-radius:8px;object-fit:cover}.lineup-member div{display:grid}.lineup-member span{color:var(--muted)}.signup-list{display:grid;gap:9px}.signup-row{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.08)}.signup-row img{width:42px;height:42px;border-radius:7px;object-fit:cover}.signup-row div{display:grid}.signup-row span{color:var(--muted)}.signup-state{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em}.signup-state.available{color:#b8c98b}.signup-state.maybe{color:#d0b17c}.signup-state.unavailable{color:#d58e83}.result-banner{display:flex;gap:20px;align-items:center;margin:18px 0}.result-banner strong{font-family:Impact,sans-serif;font-size:3rem;text-transform:uppercase}.result-banner span{font-size:2rem}
.admin-operation-row{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.08)}.admin-operation-row h3,.admin-operation-row p{margin:0}.wide-dialog{width:min(900px,calc(100% - 24px))}.lineup-admin-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;margin-bottom:20px}
@media(max-width:850px){.operations-grid,.operation-detail-grid,.lineup-admin-grid{grid-template-columns:1fr}.operation-wide{grid-column:auto}.operation-hero{align-items:flex-start;flex-direction:column}.operation-time-block{text-align:left}.admin-operation-row{grid-template-columns:80px 1fr}.admin-operation-row .admin-row-actions{grid-column:2}}
@media(max-width:520px){.operation-card{grid-template-columns:1fr}.operation-date{text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:0 0 10px}.standings-row{grid-template-columns:1.6fr repeat(4,.7fr);font-size:.8rem}}

/* V5 command center, communications, documents, notifications */
.command-center-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.command-queue{display:grid}.command-queue-row{display:flex;justify-content:space-between;gap:18px;align-items:center;text-decoration:none;color:inherit;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.command-queue-row div{display:grid}.command-queue-row span{color:var(--muted)}.command-queue-row b{font-size:.68rem;text-transform:uppercase;color:#b9c38f}.compact-operation-list{display:grid}.compact-operation{display:grid;grid-template-columns:65px 1fr;gap:12px;text-decoration:none;color:inherit;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.compact-operation time{font-weight:900;color:#b9c38f}.compact-operation div{display:grid}.compact-operation span{color:var(--muted)}.readiness-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:11px;border-bottom:1px solid rgba(255,255,255,.08)}.readiness-row img{width:44px;height:44px;border-radius:7px;object-fit:cover}.readiness-row div{display:grid}.readiness-row span{color:var(--muted)}.readiness-row b{font-size:.65rem;text-transform:uppercase;color:#d0b17c}
.announcement-list{display:grid;gap:18px}.announcement-card{padding:28px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2);border-left:5px solid #7d865e}.announcement-card.important{border-left-color:#c8a96d}.announcement-card.critical{border-left-color:#b85d52}.announcement-meta{display:flex;justify-content:space-between;color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.announcement-card h2{font-size:2rem;margin:12px 0}.announcement-card p{line-height:1.7;color:#d5d7cb;white-space:pre-wrap}
.document-toolbar{display:flex;gap:14px;margin-bottom:20px}.document-toolbar select{background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px}.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.document-card{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;padding:22px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.document-icon{width:64px;height:76px;display:grid;place-items:center;border:1px solid rgba(184,194,141,.4);color:#b9c38f;font-weight:1000}.document-card h2{margin:2px 0}.document-card p{color:var(--muted)}.document-card span{font-size:.74rem;color:var(--muted)}
.communications-grid,.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.communications-grid label,.integration-grid label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.communications-grid input,.communications-grid select,.communications-grid textarea,.integration-grid input,.integration-grid select{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}.communication-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08)}.communication-row h3,.communication-row p{margin:0}.communication-row span{color:var(--muted)}
.notification-list{display:grid;gap:12px}.notification-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.notification-card.unread{border-left:4px solid #b9c38f}.notification-card.read{opacity:.72}.notification-card h2{margin:3px 0}.notification-card p{color:var(--muted)}.notification-card span{font-size:.75rem;color:var(--muted)}
@media(max-width:850px){.command-center-grid,.document-grid,.communications-grid,.integration-grid{grid-template-columns:1fr}.document-card{grid-template-columns:55px 1fr}.document-card .btn{grid-column:2;justify-self:start}.notification-card{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.document-toolbar{flex-direction:column}.readiness-row{grid-template-columns:42px 1fr}.readiness-row b{grid-column:2}.command-queue-row{align-items:flex-start;flex-direction:column}}

/* V6 calendar, gallery, campaigns, and reporting */
.calendar-controls{display:flex;gap:8px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-heading h2{margin:0}.calendar-legend{display:flex;gap:15px;font-size:.75rem;text-transform:uppercase;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.event-dot{width:8px;height:8px;border-radius:50%;background:#8a9368}.event-dot.operation{background:#b58958}.event-dot.community{background:#788fa3}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid rgba(184,194,141,.2);margin-bottom:20px}.calendar-weekday{padding:10px;text-align:center;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:var(--muted);background:#0a0c09;border-right:1px solid rgba(255,255,255,.07)}.calendar-day{min-height:130px;padding:8px;border-right:1px solid rgba(255,255,255,.07);border-top:1px solid rgba(255,255,255,.07);background:rgba(15,18,14,.92)}.calendar-day.muted{background:rgba(8,9,7,.4)}.calendar-day.today{box-shadow:inset 0 0 0 2px rgba(184,194,141,.5)}.day-number{font-weight:900}.calendar-event-list{display:grid;gap:5px;margin-top:7px}.calendar-event{display:grid;text-decoration:none;padding:6px;background:rgba(138,147,104,.14);border-left:3px solid #8a9368;color:inherit;font-size:.72rem}.calendar-event.operation{background:rgba(181,137,88,.12);border-left-color:#b58958}.calendar-event.community{background:rgba(120,143,163,.12);border-left-color:#788fa3}.calendar-event span{color:var(--muted)}.calendar-upcoming-row{display:grid;grid-template-columns:70px 1fr;gap:12px;text-decoration:none;color:inherit;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}.calendar-upcoming-row time{font-weight:900;color:#b9c38f}.calendar-upcoming-row div{display:grid}.calendar-upcoming-row span{color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-card{margin:0;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2);overflow:hidden}.gallery-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.gallery-card figcaption{padding:18px}.gallery-card h2{margin:3px 0}.gallery-card p{color:var(--muted)}.gallery-card span{font-size:.75rem;color:var(--muted)}
.campaign-list{display:grid;gap:20px}.campaign-card{background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.campaign-banner{min-height:260px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center}.campaign-banner h2{font-family:Impact,sans-serif;font-size:clamp(2.5rem,6vw,5rem);margin:0;text-transform:uppercase}.campaign-banner span{color:#d7dacd}.campaign-body{display:grid;grid-template-columns:1fr auto;gap:25px;padding:24px}.campaign-body>p{line-height:1.7;color:var(--muted)}.campaign-stats{display:flex;gap:28px}.campaign-stats div{display:grid;text-align:center}.campaign-stats span{font-size:.67rem;text-transform:uppercase;color:var(--muted)}.campaign-stats strong{font-size:2rem}
.experience-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.experience-admin-grid label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.experience-admin-grid input,.experience-admin-grid select,.experience-admin-grid textarea{width:100%;background:#090b09;color:#e9eadf;border:1px solid rgba(255,255,255,.15);padding:12px;font:inherit;text-transform:none;letter-spacing:normal}.report-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}.report-row div{display:grid}.report-row span{color:var(--muted)}.report-row b{color:#b9c38f}
@media(max-width:1000px){.experience-admin-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.calendar-grid{grid-template-columns:1fr}.calendar-weekday{display:none}.calendar-day.muted{display:none}.calendar-day{min-height:0}.calendar-day:not(:has(.calendar-event)){display:none}.calendar-heading,.campaign-body{grid-template-columns:1fr;display:grid;gap:15px}.calendar-legend{flex-wrap:wrap}.experience-admin-grid,.gallery-grid{grid-template-columns:1fr}.campaign-stats{justify-content:space-between}.calendar-controls{flex-wrap:wrap}}

/* V7 personnel jacket, admin service number, and ID card */
.service-number-admin-block{padding:16px;margin-bottom:16px;border:1px solid rgba(184,194,141,.3);background:rgba(184,194,141,.05)}
.service-number-admin-block label{display:grid;gap:7px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}
.service-number-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.service-number-input-row input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;letter-spacing:.08em}
.field-help{margin:8px 0 0;color:var(--muted);font-size:.75rem}
.service-number-banner{display:inline-grid;gap:2px;margin:13px 0 2px;padding:9px 13px;border:1px solid rgba(184,194,141,.48);background:rgba(184,194,141,.08)}
.service-number-banner span{font-size:.62rem;letter-spacing:.14em;color:var(--muted)}
.service-number-banner strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.12rem;letter-spacing:.08em}
.service-number-banner.pending{border-color:rgba(208,177,124,.55)}
.service-number-banner.pending strong{color:#d0b17c}
.record-actions{display:flex;gap:10px;justify-content:flex-end;margin:0 0 18px}
.id-card-page{min-height:100vh}
.id-card-shell{max-width:1100px;margin:0 auto;padding:55px 20px}
.military-id-card{width:min(940px,100%);margin:auto;overflow:hidden;border:2px solid #9ea675;border-radius:16px;background:linear-gradient(135deg,#242a1d,#0d100c 64%,#1c2117);box-shadow:0 28px 80px rgba(0,0,0,.55);color:#eef0df}
.id-card-header{display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(224,226,201,.24);background:rgba(0,0,0,.22)}
.id-card-header img{width:76px;height:76px;object-fit:contain}
.id-card-header div{display:grid}
.id-card-header span,.id-card-header small{font-size:.64rem;letter-spacing:.16em;color:#bfc4a4}
.id-card-header strong{font-family:Impact,sans-serif;font-size:2.1rem;letter-spacing:.04em}
.id-card-body{display:grid;grid-template-columns:210px 1fr 150px;gap:25px;padding:26px}
.id-photo{width:210px;height:250px;object-fit:cover;border:2px solid rgba(224,226,201,.35);background:#090b08}
.id-details{display:grid;align-content:start;gap:17px}
.id-primary{display:grid;padding-bottom:12px;border-bottom:1px solid rgba(224,226,201,.2)}
.id-primary span{font-size:.66rem;letter-spacing:.16em;color:#bfc4a4}
.id-primary strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.75rem;letter-spacing:.08em}
.id-details dl{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;margin:0}
.id-details dl div{display:grid}
.id-details dt{font-size:.61rem;letter-spacing:.13em;color:#aeb396}
.id-details dd{margin:3px 0 0;font-size:1.02rem;font-weight:900}
.id-verification{display:grid;align-content:center;justify-items:center;gap:7px}
.id-verification img{width:138px;height:138px;background:white;padding:5px}
.id-verification span{font-size:.59rem;letter-spacing:.13em;color:#bfc4a4}
.id-card-footer{display:flex;justify-content:space-between;gap:15px;padding:11px 24px;background:#919a68;color:#0c0f09;font-size:.62rem;letter-spacing:.1em;font-weight:1000}
.military-id-card.provisional{filter:saturate(.7)}
.id-card-warning{text-align:center;color:#d0b17c;margin-top:18px}
@media(max-width:760px){
  .service-number-input-row{grid-template-columns:1fr}
  .record-actions{justify-content:flex-start;flex-wrap:wrap}
  .id-card-body{grid-template-columns:110px 1fr}
  .id-photo{width:110px;height:145px}
  .id-verification{grid-column:1/-1}
  .id-details dl{grid-template-columns:1fr}
  .id-card-header strong{font-size:1.5rem}
  .id-card-footer{flex-direction:column}
}
@media print{
  .no-print,.nav-wrap,.record-actions{display:none!important}
  body{background:white!important}
  .id-card-shell{padding:0}
  .military-id-card{box-shadow:none;break-inside:avoid}
  .app-shell{padding:0}
  .command-card{break-inside:avoid}
}

/* V8 divisions, promotion board, orders, and duty roster */
.division-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.division-card{background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.division-card-art{min-height:290px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center}.division-card-art h2{font-family:Impact,sans-serif;font-size:clamp(2.3rem,5vw,4.3rem);margin:0;text-transform:uppercase}.division-card-art span{color:#d2d5c4}.division-card-body{padding:22px}.division-card-body p{color:var(--muted);line-height:1.65}.division-card-actions{display:flex;gap:10px;flex-wrap:wrap}
.promotion-board-list{display:grid;gap:18px}.promotion-board-card{padding:22px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.promotion-board-main{display:grid;grid-template-columns:1fr auto;gap:25px}.promotion-rank-line{font-size:1.35rem;font-weight:900}.promotion-rank-line span{color:#b9c38f;margin:0 8px}.vote-tally{display:flex;gap:18px}.vote-tally div{display:grid;text-align:center;min-width:65px}.vote-tally span{font-size:.62rem;text-transform:uppercase;color:var(--muted)}.vote-tally strong{font-size:2rem}.promotion-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.order-shell{max-width:950px;margin:0 auto;padding:50px 20px}.promotion-order{background:#e7e0c8;color:#1f211a;border:12px double #4a5038;padding:40px;box-shadow:0 22px 70px rgba(0,0,0,.5)}.promotion-order header{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center;text-align:center;border-bottom:3px double #4a5038;padding-bottom:20px}.promotion-order header img{width:95px}.promotion-order header p,.promotion-order header h1{margin:0}.promotion-order header h1{font-family:Georgia,serif;font-size:2.2rem}.promotion-order header span{letter-spacing:.22em}.promotion-order section{text-align:center;padding:30px 20px}.order-number{text-align:right}.promotion-order section h2{font-family:Georgia,serif;font-size:2.4rem;text-decoration:underline}.order-subject{display:grid;margin:28px 0}.order-subject strong{font-family:Georgia,serif;font-size:2rem}.order-subject span{letter-spacing:.12em}.order-ranks{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:20px 0;font-size:1.6rem}.promotion-order dl{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px;text-align:left}.promotion-order dt{font-size:.65rem;letter-spacing:.12em}.promotion-order dd{margin:4px 0;font-weight:900}.promotion-order footer{display:flex;justify-content:space-between;align-items:end;border-top:3px double #4a5038;padding-top:25px}.promotion-order footer div:first-child{display:grid}.signature-line{min-width:230px;border-top:1px solid #1f211a;padding-top:5px;text-align:center;font-size:.65rem}
.duty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.duty-card{text-align:center;padding:24px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.duty-card img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid rgba(184,194,141,.4)}.duty-card h2{margin:10px 0 3px}.duty-card>span,.duty-card>p{color:var(--muted)}.duty-dates{margin:14px auto;padding:7px;border:1px solid rgba(184,194,141,.2);font-weight:900}.duty-card.expired{opacity:.65}
@media(max-width:850px){.division-grid,.duty-grid{grid-template-columns:1fr}.promotion-board-main{grid-template-columns:1fr}.vote-tally{justify-content:flex-start}.promotion-order dl{grid-template-columns:1fr}.order-ranks{grid-template-columns:1fr}.promotion-order footer{flex-direction:column;gap:35px;align-items:stretch}}
@media print{.promotion-order{box-shadow:none;margin:0}.order-shell{padding:0}}

/* V9 Training Academy */
.training-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:22px;align-items:start}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.course-card{padding:22px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}
.course-card-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.course-card h3{margin:0;font-size:1.4rem}
.course-card>p{color:var(--muted);line-height:1.6;min-height:76px}
.course-level{padding:5px 8px;border:1px solid rgba(184,194,141,.32);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}
.course-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}
.course-facts div{padding:10px;background:rgba(255,255,255,.03)}
.course-facts dt{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.course-facts dd{margin:5px 0 0;font-weight:900}
.course-tags{display:flex;flex-wrap:wrap;gap:7px}
.course-tags span{padding:5px 8px;background:rgba(184,194,141,.12);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}
.training-session-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.training-session-row:last-child{border-bottom:0}
.training-session-date{display:grid;text-align:center;padding:8px;border:1px solid rgba(184,194,141,.25)}
.training-session-date strong{font-size:.8rem}.training-session-date span{font-size:.65rem;color:var(--muted)}
.training-session-row h3{margin:0 0 4px}.training-session-row p,.training-session-row span{margin:0;color:var(--muted);font-size:.75rem}
.training-brief{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:20px;padding:26px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}
.training-brief h1{margin:0;font-family:Impact,sans-serif;font-size:clamp(2.4rem,6vw,5rem);text-transform:uppercase}
.training-record-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;margin-bottom:20px}
.certificate-list{display:grid;gap:10px}
.certificate-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px;border:1px solid rgba(184,194,141,.17);background:rgba(255,255,255,.025)}
.certificate-row h3{margin:0 0 4px}.certificate-row span{color:var(--muted);font-size:.76rem}
.certificate-row.expired{opacity:.58}
.training-result{display:grid;text-align:right}.training-result b{font-size:.8rem}.training-result span{color:var(--muted)}
.certificate-shell{max-width:980px;margin:0 auto;padding:50px 20px}
.qualification-certificate{background:#e6dec2;color:#24251d;border:14px double #555d3d;padding:40px;box-shadow:0 25px 80px rgba(0,0,0,.55)}
.qualification-certificate header{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:20px;text-align:center;border-bottom:3px double #555d3d;padding-bottom:22px}
.qualification-certificate header img{width:100px}
.qualification-certificate header p,.qualification-certificate header h1{margin:0}
.qualification-certificate header h1{font-family:Georgia,serif;font-size:2.25rem}
.qualification-certificate header span{letter-spacing:.22em;font-size:.8rem}
.qualification-certificate section{text-align:center;padding:35px 25px}
.qualification-certificate section>p{font-family:Georgia,serif;font-size:1.1rem;line-height:1.7}
.qualification-certificate section h2{font-family:Georgia,serif;font-size:2.6rem;margin:20px 0 5px;text-decoration:underline}
.certificate-number{letter-spacing:.14em;font-size:.8rem!important}
.qualification-certificate section h3{font-family:Georgia,serif;font-size:2rem;text-transform:uppercase;margin:25px 0}
.qualification-certificate dl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px;text-align:left}
.qualification-certificate dt{font-size:.58rem;letter-spacing:.11em}.qualification-certificate dd{margin:4px 0 0;font-weight:900}
.qualification-certificate footer{display:flex;justify-content:space-between;align-items:end;border-top:3px double #555d3d;padding-top:25px}
.qualification-certificate footer div:first-child{display:grid}
.training-admin-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px;margin-bottom:20px}
.grading-roster{display:grid;gap:10px;max-height:65vh;overflow:auto}
.grading-row{display:grid;grid-template-columns:1fr 100px 130px auto;gap:12px;align-items:end;padding:13px;border:1px solid rgba(184,194,141,.16)}
.grading-row>div{display:grid}.grading-row>div span{color:var(--muted);font-size:.75rem}
.grading-row label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
.wide-dialog{width:min(980px,94vw)}
.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}
.check-row input{width:auto}
@media(max-width:900px){
  .training-layout,.training-record-grid,.training-admin-layout{grid-template-columns:1fr}
  .course-grid{grid-template-columns:1fr}
  .grading-row{grid-template-columns:1fr 1fr}
  .qualification-certificate dl{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .course-facts{grid-template-columns:1fr}
  .training-session-row{grid-template-columns:56px 1fr}.training-session-row .btn{grid-column:1/-1}
  .training-brief{display:block}
  .certificate-row{align-items:flex-start;flex-direction:column}
  .grading-row{grid-template-columns:1fr}
  .qualification-certificate{padding:20px;border-width:8px}
  .qualification-certificate header{grid-template-columns:1fr}
  .qualification-certificate header img{margin:auto}
  .qualification-certificate section{padding:25px 0}
  .qualification-certificate dl{grid-template-columns:1fr}
  .qualification-certificate footer{flex-direction:column;gap:35px;align-items:stretch}
}
@media print{
  .qualification-certificate{box-shadow:none;margin:0}
  .certificate-shell{padding:0}
}

/* V10 Tactical Maps and Operations Command */
.map-filter-bar{display:grid;grid-template-columns:220px minmax(240px,1fr);gap:16px;margin-bottom:20px}
.tactical-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tactical-map-card{overflow:hidden;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}
.tactical-map-thumb{position:relative;aspect-ratio:1;background:#090b08;overflow:hidden}
.tactical-map-thumb img{width:100%;height:100%;object-fit:cover}
.map-placeholder{display:grid;place-items:center;width:100%;height:100%;background:
  linear-gradient(rgba(184,194,141,.08) 1px,transparent 1px),
  linear-gradient(90deg,rgba(184,194,141,.08) 1px,transparent 1px),
  #11150f;background-size:10% 10%;color:var(--muted);text-align:center}
.map-game-chip{position:absolute;left:10px;bottom:10px;padding:6px 8px;background:rgba(0,0,0,.78);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.tactical-map-card-body{padding:18px}.tactical-map-card-body h2{margin:0}.tactical-map-card-body>p{color:var(--muted);line-height:1.55}
.empty-map-library{grid-column:1/-1}
.map-planner-shell{max-width:1800px;margin:0 auto;padding:20px}
.planner-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.planner-heading h1{margin:0;font-family:Impact,sans-serif;font-size:clamp(2.2rem,5vw,4.8rem);text-transform:uppercase}
.planner-plan-controls{display:flex;gap:9px;align-items:end}.planner-plan-controls label{min-width:230px}
.planner-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start}
.planner-tools{display:grid;gap:12px}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}
.planner-tool,.marker-palette button{padding:9px;border:1px solid rgba(184,194,141,.25);background:rgba(255,255,255,.03);color:inherit;cursor:pointer}
.planner-tool.active,.marker-palette button.active{background:var(--accent,#a9b47a);color:#111}
.planner-tool.danger{border-color:rgba(196,102,91,.45)}
.marker-palette{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.planner-board-wrap{min-width:0}
.planner-board{
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  overflow: hidden;

  /* Better rendering while zooming */
  transform-origin: top left;
  will-change: transform;
  backface-visibility: hidden;
}

.planner-board > img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}
.planner-board>img{object-fit:fill;user-select:none;pointer-events:none}
.planner-board > canvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  touch-action: none;
}
.planner-empty{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
}

.planner-empty[hidden]{
  display:none !important;
}
.print-only{display:none}
.map-admin-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px;margin-bottom:20px}
.map-admin-row{display:grid;grid-template-columns:72px 1fr auto auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.map-admin-row img{width:72px;height:72px;object-fit:cover}.map-admin-row>div{display:grid}.map-admin-row span{font-size:.74rem;color:var(--muted)}
@media(max-width:1100px){
  .tactical-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-layout{grid-template-columns:260px minmax(0,1fr)}
}
@media(max-width:820px){
  .map-filter-bar,.map-admin-layout,.planner-layout{grid-template-columns:1fr}
  .planner-heading{display:block}.planner-plan-controls{margin-top:12px;flex-wrap:wrap}
  .planner-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-tools .command-card:first-child{grid-column:1/-1}
  .map-admin-row{grid-template-columns:60px 1fr}.map-admin-row .btn{width:100%}
}
@media(max-width:620px){
  .tactical-map-grid{grid-template-columns:1fr}
  .planner-tools{grid-template-columns:1fr}
  .planner-tools .command-card:first-child{grid-column:auto}
  .planner-plan-controls{display:grid;grid-template-columns:1fr 1fr}.planner-plan-controls label{grid-column:1/-1;min-width:0}
  .map-planner-shell{padding:10px}
}
@media print{
  .map-planner-shell{padding:0}
  .planner-heading{margin:0 0 10px}
  .planner-layout{display:block}
  .planner-board-wrap{width:100%}
  .planner-board{break-inside:avoid}
  .print-only{display:block}
}

/* V11 Attendance and Personnel Readiness */
.readiness-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.readiness-metric{padding:18px;border:1px solid rgba(184,194,141,.22);background:rgba(15,18,14,.96);display:grid;gap:4px}
.readiness-metric>span,.readiness-metric small{color:var(--muted)}.readiness-metric strong{font-family:Impact,sans-serif;font-size:2.3rem;letter-spacing:.03em}
.unit-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.unit-readiness-card{padding:16px;border:1px solid rgba(184,194,141,.18);background:rgba(255,255,255,.025)}
.unit-readiness-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.unit-readiness-top h3{margin:0}.unit-readiness-top>strong{font-size:1.7rem}
.readiness-progress{height:10px;background:rgba(255,255,255,.08);overflow:hidden;margin:10px 0}.readiness-progress span{display:block;height:100%;background:var(--accent,#a9b47a)}
.readiness-progress.compact{width:110px;margin:5px 0 0}
.unit-readiness-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem}.unit-readiness-card>p{font-size:.75rem;color:var(--muted);margin-bottom:0}
.readiness-controls{display:grid;grid-template-columns:1fr 220px 220px;gap:12px;margin-bottom:15px}
.table-scroll{overflow-x:auto}.readiness-table{width:100%;border-collapse:collapse;min-width:980px}.readiness-table th,.readiness-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle}.readiness-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.readiness-table td small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.member-table-person{display:flex;gap:10px;align-items:center}.member-table-person img{width:40px;height:40px;border-radius:50%;object-fit:cover}.member-table-person span{display:grid}.member-table-person small{color:var(--muted)}
.readiness-badge{display:inline-flex;padding:5px 8px;border:1px solid rgba(255,255,255,.15);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.status-ready,.status-present,.status-finalized{background:rgba(85,135,81,.2);border-color:rgba(114,177,108,.5)}
.status-limited,.status-late,.status-open{background:rgba(172,142,69,.2);border-color:rgba(196,164,82,.5)}
.status-not-ready,.status-unavailable,.status-absent{background:rgba(156,67,58,.2);border-color:rgba(196,89,78,.5)}
.status-on-leave,.status-leave,.status-excused{background:rgba(82,112,150,.2);border-color:rgba(100,139,184,.5)}
.promotion-ready-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.promotion-ready-row>div:first-child{display:grid}.promotion-ready-row span{color:var(--muted);font-size:.73rem}.promotion-ready-facts{display:flex;gap:12px;flex-wrap:wrap}
.attendance-admin-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:20px;margin-bottom:20px}
.attendance-event-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.attendance-event-row>div{display:grid}.attendance-event-row span{font-size:.73rem;color:var(--muted)}
.attendance-bulk-bar{display:grid;grid-template-columns:210px auto 1fr;gap:10px;align-items:end;margin-bottom:15px}
.attendance-roster{display:grid;gap:8px}.attendance-member-row{display:grid;grid-template-columns:minmax(230px,1fr) 130px minmax(180px,1fr) auto auto;gap:9px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.08)}
.personal-readiness-card{border:1px solid rgba(184,194,141,.25);background:rgba(15,18,14,.96);margin-bottom:20px}
.personal-readiness-score{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.08)}.personal-readiness-score img{width:76px;height:76px;border-radius:50%;object-fit:cover}.personal-readiness-score h2{margin:0}.personal-readiness-score>strong{font-family:Impact,sans-serif;font-size:3rem}
.personal-readiness-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.personal-readiness-breakdown article{padding:18px;border-right:1px solid rgba(255,255,255,.08);display:grid}.personal-readiness-breakdown article:last-child{border:0}.personal-readiness-breakdown strong{font-size:1.7rem}.personal-readiness-breakdown small{color:var(--muted)}
.promotion-check-card{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.promotion-check-card .section-heading>div{display:grid}.promotion-check-card .section-heading span{font-size:.73rem;color:var(--muted)}.promotion-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.promotion-check{padding:10px;border:1px solid rgba(255,255,255,.08);display:grid}.promotion-check span{font-size:.7rem;color:var(--muted)}.promotion-check.passed{border-color:rgba(114,177,108,.35)}.promotion-check.missing{border-color:rgba(196,89,78,.3)}
.native-date-wrap{display:flex;width:100%;min-width:0;border:1px solid rgba(255,255,255,.18);padding:9px}.native-date-wrap input{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;color:inherit}
@media(max-width:1050px){.readiness-metrics{grid-template-columns:repeat(2,1fr)}.unit-readiness-grid{grid-template-columns:repeat(2,1fr)}.attendance-admin-layout{grid-template-columns:1fr}.attendance-member-row{grid-template-columns:1fr 130px}.attendance-member-row .attendance-notes-input{grid-column:1/-1}.promotion-check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.readiness-metrics,.unit-readiness-grid,.personal-readiness-breakdown{grid-template-columns:1fr}.readiness-controls,.attendance-bulk-bar{grid-template-columns:1fr}.promotion-ready-row,.attendance-event-row,.attendance-member-row,.personal-readiness-score{grid-template-columns:1fr}.promotion-check-grid{grid-template-columns:1fr}.personal-readiness-breakdown article{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}}

/* V12 Live Operations Headquarters */
.live-hq-shell{max-width:1800px;margin:auto;padding:18px}.live-command-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px}.live-command-header h1{margin:0;font-family:Impact,sans-serif;font-size:clamp(2.4rem,5vw,5rem);text-transform:uppercase}.live-command-header p{color:var(--muted)}.live-clock-block{display:grid;justify-items:end;gap:8px}.live-clock-block>strong{font-family:monospace;font-size:clamp(2.3rem,5vw,4.7rem)}
.live-score-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;background:#0b0d0a;border:1px solid rgba(184,194,141,.28);margin-bottom:14px}.live-score-strip>div{padding:14px 20px;display:flex;align-items:center;gap:15px}.live-score-strip>div:last-child{justify-content:flex-end}.live-score-strip strong{font-family:Impact,sans-serif;font-size:2.5rem}.live-score-strip span{font-size:.75rem;letter-spacing:.08em}.live-objective{display:grid!important;text-align:center;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.live-objective strong{font-size:1.3rem}.live-objective small{color:var(--muted);text-transform:uppercase}
.live-hq-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:14px}.live-sidebar{display:grid;gap:14px;align-content:start}.live-map-board{position:relative;aspect-ratio:1;background:#080a07;border:1px solid rgba(184,194,141,.28);overflow:hidden}.live-map-board>img,.live-map-board>.map-placeholder,#live-marker-layer{position:absolute;inset:0;width:100%;height:100%}.live-map-board>img{object-fit:fill}.live-map-marker{position:absolute;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(15,18,14,.9);border:3px solid var(--accent,#a9b47a);font-weight:800;font-size:.65rem}.marker-enemy{border-color:#c95d52}.marker-armor{border-color:#72a9d2}.marker-recon{border-color:#6fbd7a}.marker-logistics{border-color:#b497cf}
.live-command-dl{display:grid;gap:8px}.live-command-dl div{display:grid;grid-template-columns:90px 1fr}.live-command-dl dt{color:var(--muted);font-size:.7rem;text-transform:uppercase}.live-command-dl dd{margin:0}.live-unit-list{display:grid;gap:8px}.live-unit-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.08)}.live-unit-row div{display:grid}.live-unit-row small,.live-unit-row p{color:var(--muted);font-size:.7rem;margin:2px 0 0}.unit-status-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#777}.unit-status-dot.status-ready{background:#70ad69}.unit-status-dot.status-engaged{background:#d4a448}.unit-status-dot.status-limited,.unit-status-dot.status-resupplying{background:#c78f4b}.unit-status-dot.status-destroyed,.unit-status-dot.status-offline{background:#b95148}
.live-timeline-panel{margin-top:14px}.live-timeline{display:grid}.live-timeline article{display:grid;grid-template-columns:75px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.live-timeline time{font-family:monospace;color:var(--muted)}.live-timeline article div{display:grid}.live-timeline p{margin:3px 0;color:var(--muted);font-size:.75rem}.live-timeline article>span{text-transform:uppercase;font-size:.62rem;color:var(--muted)}
.live-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.match-control-buttons,.score-control,.unit-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.score-control{grid-template-columns:1fr 1fr}.unit-entry-grid{margin-bottom:12px}.live-unit-edit{display:grid;grid-template-columns:150px 140px 1fr auto;gap:8px;align-items:center;padding:9px;border-bottom:1px solid rgba(255,255,255,.08)}.compact-timeline{margin-top:15px;max-height:420px;overflow:auto}
.operation-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.operation-archive-card{padding:18px;background:rgba(15,18,14,.96);border:1px solid rgba(184,194,141,.2)}.archive-card-top{display:flex;justify-content:space-between;gap:10px}.archive-card-top h2{margin:0}.operation-archive-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.operation-archive-card dl div{display:grid}.operation-archive-card dt{font-size:.65rem;color:var(--muted);text-transform:uppercase}.operation-archive-card dd{margin:0}
.stream-overlay-page{margin:0;background:transparent;color:#fff;font-family:Arial,sans-serif}.stream-overlay-page #overlay-root{padding:16px}.stream-overlay-page #overlay-loading{display:inline-block;background:rgba(0,0,0,.78);padding:12px 18px}.stream-overlay-page #overlay-content{background:rgba(6,8,6,.9);border:2px solid rgba(190,199,153,.7)}.stream-overlay-page header,.stream-overlay-page footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px}.stream-overlay-page header>div:first-child{display:grid}.stream-overlay-page header strong{font-size:1.35rem;text-transform:uppercase}.stream-overlay-page #overlay-clock{font:700 2rem monospace}.overlay-score{display:grid;grid-template-columns:1fr 1.4fr 1fr;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.overlay-score>div{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px}.overlay-score>div:nth-child(2){display:grid;text-align:center;border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15)}.overlay-score strong{font-family:Impact,sans-serif;font-size:2.3rem}.overlay-score small,footer{font-size:.7rem;letter-spacing:.08em}
@media(max-width:1050px){.live-hq-layout{grid-template-columns:1fr}.live-sidebar{grid-template-columns:1fr 1fr}.operation-archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.live-command-header{display:block}.live-clock-block{justify-items:start;margin-top:10px}.live-score-strip{grid-template-columns:1fr}.live-score-strip>div{justify-content:center!important}.live-objective{border:0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.live-sidebar,.live-control-grid,.operation-archive-grid{grid-template-columns:1fr}.live-unit-edit,.unit-entry-grid{grid-template-columns:1fr}.live-timeline article{grid-template-columns:60px 1fr}.live-timeline article>span{grid-column:2}.match-control-buttons{grid-template-columns:1fr}.stream-overlay-page #overlay-root{padding:4px}}

/* v16 — categorized admin navigation */
.admin-nav{height:auto;min-height:78px;gap:28px;background:rgba(5,7,5,.97);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.admin-nav .brand{flex:0 0 auto;white-space:nowrap}
.admin-nav-primary{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.11em}
.admin-nav-primary>a{white-space:nowrap;padding:10px 0;position:relative}
.admin-nav-primary>a.active:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--olive)}
.nav-dropdown{position:relative}
.nav-dropdown summary{list-style:none;cursor:pointer;border:1px solid rgba(154,166,109,.55);padding:10px 14px;white-space:nowrap;user-select:none}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown[open] summary{background:rgba(154,166,109,.14);color:#dfe7b4}
.nav-dropdown-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(760px,calc(100vw - 32px));display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:0;background:#0d100c;border:1px solid rgba(184,194,141,.3);box-shadow:0 24px 70px rgba(0,0,0,.65);padding:16px;z-index:100}
.nav-dropdown-panel section{padding:10px 14px;border-right:1px solid rgba(255,255,255,.08)}
.nav-dropdown-panel section:last-child{border-right:0}
.nav-dropdown-panel p{margin:0 0 9px;color:#aeb782;font-size:.62rem;letter-spacing:.16em}
.nav-dropdown-panel a{display:block;padding:7px 0;color:#d5d5ca;text-transform:none;letter-spacing:.02em;font-size:.82rem;font-weight:700}
.nav-dropdown-panel a:hover{color:#cbd59b}
.app-page .app-shell{padding-top:118px}

@media(max-width:900px){
  .admin-nav{position:sticky;padding:10px 18px;align-items:center;flex-wrap:wrap}
  .admin-nav .brand img{width:42px}
  .admin-nav-primary{width:100%;justify-content:flex-start;gap:15px;overflow:visible;flex-wrap:wrap}
  .nav-dropdown{margin-left:auto}
  .nav-dropdown-panel{position:fixed;left:12px;right:12px;top:112px;width:auto;grid-template-columns:repeat(2,1fr);max-height:calc(100vh - 130px);overflow:auto}
  .nav-dropdown-panel section:nth-child(2){border-right:0}
  .nav-dropdown-panel section:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
  .app-page .app-shell{padding-top:36px}
}
@media(max-width:560px){
  .admin-nav-primary>a{font-size:.62rem}
  .nav-dropdown{width:100%;margin-left:0}
  .nav-dropdown summary{text-align:center}
  .nav-dropdown-panel{top:154px;grid-template-columns:1fr}
  .nav-dropdown-panel section{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-dropdown-panel section:last-child{border-bottom:0}
}

/* v17 — personal personnel profile */
.profile-command-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.profile-command-layout .profile-summary{position:sticky;top:120px}.profile-avatar-wrap{position:relative;width:max-content;margin:0 auto}.profile-status-dot{position:absolute;right:3px;bottom:8px;width:18px;height:18px;border-radius:50%;border:3px solid #111;background:#777}.profile-status-dot.approved{background:#70ad69}.profile-status-dot.pending{background:#d4a448}.profile-status-dot.rejected{background:#b95148}.profile-facts{margin-top:18px}.profile-facts>div{padding:11px 0}.profile-completion{margin:18px 0;padding:15px;border:1px solid rgba(184,194,141,.2);background:rgba(255,255,255,.025)}.profile-completion>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.75rem}.profile-completion-bar{height:8px;margin:10px 0;background:rgba(255,255,255,.08);overflow:hidden}.profile-completion-bar span{display:block;height:100%;width:0;background:var(--olive);transition:width .25s ease}.profile-completion small{color:var(--muted)}.full-width{width:100%;justify-content:center}.profile-file-card{min-width:0}.autosave-note{color:var(--muted);font-size:.68rem}.profile-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.profile-tab{border:1px solid rgba(184,194,141,.2);background:transparent;color:var(--muted);padding:10px 13px;white-space:nowrap;text-transform:uppercase;font-size:.65rem;font-weight:900;letter-spacing:.07em;cursor:pointer}.profile-tab.active{background:rgba(154,166,109,.18);border-color:rgba(184,194,141,.55);color:#e2e7c8}.profile-tab-panel{animation:profileFade .18s ease}.profile-tab-panel[hidden]{display:none!important}@keyframes profileFade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}.form-section-heading.compact{margin-bottom:16px}.form-section-heading.compact h3{margin:0;font-size:1.25rem}.wide-field{grid-column:1/-1}.field-help{color:var(--muted);font-size:.72rem;margin:12px 0 0}.assignment-readonly-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.assignment-readonly-grid article{padding:14px;border:1px solid rgba(255,255,255,.08);display:grid;gap:4px}.assignment-readonly-grid span{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.availability-guide{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.availability-guide strong{width:100%;font-size:.72rem}.availability-guide span{padding:6px 9px;border:1px solid rgba(255,255,255,.1);font-size:.68rem;color:var(--muted)}.character-count{display:block;text-align:right;color:var(--muted);margin-top:5px}.privacy-check{margin-top:18px;padding:15px;border:1px solid rgba(184,194,141,.18)}.privacy-check .form-check-label{display:grid;gap:3px}.privacy-check small{color:var(--muted);font-weight:400}.profile-form-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.profile-form-footer .form-actions{margin:0;flex-wrap:nowrap}.profile-form-footer .form-message{margin:0}.profile-form-footer>div:first-child{min-height:38px}
@media(max-width:980px){.profile-command-layout{grid-template-columns:1fr}.profile-command-layout .profile-summary{position:static}.profile-summary{display:grid;grid-template-columns:auto 1fr;column-gap:18px;text-align:left}.profile-avatar-wrap{grid-row:1/4;margin:0}.profile-summary .profile-facts,.profile-summary .profile-completion,.profile-summary .full-width,.profile-summary>p:last-child{grid-column:1/-1}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-facts>div{border-bottom:0;padding:10px;border:1px solid rgba(255,255,255,.08)}}
@media(max-width:650px){.profile-summary{display:block;text-align:center}.profile-avatar-wrap{margin:0 auto}.profile-facts,.assignment-readonly-grid{grid-template-columns:1fr}.profile-form-footer{align-items:stretch;flex-direction:column}.profile-form-footer .form-actions{width:100%;display:grid;grid-template-columns:1fr}.profile-tabs{margin-left:-4px;margin-right:-4px}.autosave-note{display:none}}

/* v18 — public launch and enlistment flow */
.launch-enlist-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:50px;align-items:start}.launch-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.enlist-steps{display:grid;gap:12px}.enlist-steps article{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;padding:22px;background:var(--panel);border:1px solid var(--line)}.enlist-steps article>span{font-family:Impact,sans-serif;font-size:2.7rem;color:rgba(190,199,153,.55)}.enlist-steps h3{margin:0 0 5px;text-transform:uppercase;font-size:1.25rem}.enlist-steps p{margin:0;color:var(--muted)}.enlist-expectations{padding-top:30px}.expectation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.expectation-grid article{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.expectation-grid strong{text-transform:uppercase;letter-spacing:.06em}.expectation-grid p{color:var(--muted);margin-bottom:0}.nav-links{max-width:100%}
@media(max-width:900px){.launch-enlist-layout{grid-template-columns:1fr}.expectation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.launch-actions{display:grid}.launch-actions .btn{width:100%;justify-content:center}.enlist-steps article{grid-template-columns:48px 1fr;padding:18px}.enlist-steps article>span{font-size:2rem}.expectation-grid{grid-template-columns:1fr}}

/* v19 approved-member navigation and dashboard */
.members-dropdown { position: relative; }
.member-menu-panel {
  min-width: 260px;
  width: 280px;
  grid-template-columns: 1fr;

  left: auto;
  right: 0;

  max-width: calc(100vw - 24px);
}

.member-menu-panel a {
  white-space: nowrap;
}
.member-dashboard-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1rem; }
.member-welcome-card { grid-column:span 8; }
.member-quick-card { grid-column:span 4; }
.member-dashboard-grid .half-card { grid-column:span 6; }
.member-dashboard-grid .full-card { grid-column:1/-1; }
.member-identity-row { display:flex; align-items:center; gap:1rem; margin-top:1rem; }
.member-identity-row img { width:76px; height:76px; object-fit:cover; border-radius:50%; border:2px solid rgba(255,255,255,.25); }
.member-detail-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:1.25rem; }
.member-detail-strip div { padding:.8rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.member-detail-strip span { display:block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; opacity:.65; }
.member-detail-strip strong { display:block; margin-top:.25rem; }
.quick-link-grid { display:grid; gap:.65rem; margin-top:1rem; }
.quick-link-grid .btn { justify-content:flex-start; width:100%; }
.coming-soon-note { display:inline-flex; margin-top:.75rem; padding:.3rem .55rem; border:1px solid rgba(255,255,255,.15); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width: 820px) {
  .member-menu-panel { min-width:min(92vw,360px); grid-template-columns:1fr; }
  .member-welcome-card,.member-quick-card,.member-dashboard-grid .half-card { grid-column:1/-1; }
  .member-detail-strip { grid-template-columns:1fr; }
}

/* v21 member routing and profile icon */
.profile-icon-link {
  display: inline-flex !important;
  align-items: center;
  gap: .55rem;
  min-height: 42px;
  padding: .3rem .7rem .3rem .35rem !important;
  border: 1px solid rgba(210, 193, 144, .28);
  border-radius: 999px;
  background: rgba(10, 13, 9, .72);
  text-decoration: none;
  white-space: nowrap;
}
.profile-icon-link img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(210, 193, 144, .55);
}
.profile-icon-link span { font-size: .78rem; letter-spacing: .06em; }
.lounge-launch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.lounge-launch-card { display: flex; flex-direction: column; gap: .45rem; text-decoration: none; }
.lounge-launch-card span { font-size: .7rem; letter-spacing: .18em; opacity: .72; }
.lounge-launch-card strong { font-size: 1.05rem; }
.lounge-launch-card small { opacity: .76; line-height: 1.45; }
@media (max-width: 900px) {
  .profile-icon-link span { display: none; }
  .profile-icon-link { padding: .25rem !important; border-radius: 50%; }
  .lounge-launch-grid { grid-template-columns: 1fr; }
}

/* v22 — approved member lounge */
.lounge-shell{max-width:1320px;margin:0 auto}.lounge-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:32px}.lounge-hero h1{margin:.15em 0;font-size:clamp(2rem,5vw,4.2rem);text-transform:uppercase}.lounge-member-badge{display:flex;align-items:center;gap:14px;min-width:270px;padding:14px;border:1px solid rgba(190,199,153,.28);background:rgba(0,0,0,.2)}.lounge-member-badge img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid rgba(190,199,153,.55)}.lounge-member-badge div{display:grid;gap:5px}.lounge-member-badge span{font-size:.68rem;letter-spacing:.15em;color:#cbd59b}.lounge-member-badge strong{font-size:.9rem;text-transform:uppercase}.lounge-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.lounge-action{display:flex;min-height:165px;flex-direction:column;gap:8px;padding:22px;border:1px solid rgba(190,199,153,.22);background:rgba(15,18,14,.94);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.lounge-action:hover{transform:translateY(-3px);border-color:rgba(190,199,153,.65);background:rgba(25,30,21,.98)}.lounge-action.primary{background:linear-gradient(135deg,rgba(88,101,242,.26),rgba(15,18,14,.96));border-color:rgba(124,135,255,.5)}.lounge-action-icon{font-size:.65rem;font-weight:900;letter-spacing:.18em;color:#bfc994}.lounge-action strong{font-size:1.18rem;text-transform:uppercase}.lounge-action small{color:var(--muted);line-height:1.5}.lounge-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.lounge-columns .command-card{padding:26px}.lounge-status-list{display:grid;gap:0;margin:0}.lounge-status-list div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}.lounge-status-list dt{color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.09em}.lounge-status-list dd{margin:0;font-weight:800;text-align:right}.member-lounge-page .auth-shell{min-height:70vh;display:grid;place-items:center}
@media(max-width:900px){.lounge-hero{align-items:flex-start;flex-direction:column}.lounge-member-badge{width:100%;min-width:0}.lounge-action-grid{grid-template-columns:repeat(2,1fr)}.lounge-columns{grid-template-columns:1fr}}
@media(max-width:600px){.lounge-hero{padding:22px}.lounge-action-grid{grid-template-columns:1fr}.lounge-action{min-height:0}.lounge-member-badge img{width:56px;height:56px}.lounge-shell{padding-left:12px!important;padding-right:12px!important}}

/* v24 — protected realtime member lounge chat */
.lounge-chat-card{margin:18px 0;padding:26px}.lounge-chat-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.lounge-chat-heading h2{margin:.2rem 0}.chat-connection-status{padding:7px 10px;border:1px solid rgba(255,255,255,.14);font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.chat-connection-status.is-live{color:#bcd9a7;border-color:rgba(112,173,105,.5);background:rgba(112,173,105,.08)}.chat-messages{height:min(50vh,520px);min-height:320px;overflow-y:auto;margin-top:20px;padding:8px 14px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);scrollbar-color:rgba(190,199,153,.35) transparent}.chat-empty{display:grid;place-items:center;height:100%;min-height:280px;color:var(--muted);text-align:center}.chat-message{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.chat-message>img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid rgba(190,199,153,.35)}.chat-message-body{min-width:0}.chat-message-body header{display:flex;align-items:baseline;gap:9px}.chat-message-body strong{font-size:.87rem}.chat-message-body time{font-size:.65rem;color:var(--muted)}.chat-message-body p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;color:#deded5}.chat-delete{align-self:start;border:0;background:transparent;color:var(--muted);font-size:.62rem;text-transform:uppercase;cursor:pointer;opacity:.25}.chat-message:hover .chat-delete,.chat-delete:focus{opacity:1}.chat-compose{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:start;margin-top:14px}.chat-compose>img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid rgba(190,199,153,.35)}.chat-input-wrap textarea{width:100%;min-height:62px;max-height:160px;resize:vertical;padding:12px;background:rgba(0,0,0,.28);border:1px solid rgba(190,199,153,.25);color:#f3f3ed;font:inherit}.chat-input-wrap textarea:focus{outline:1px solid rgba(190,199,153,.7);border-color:rgba(190,199,153,.7)}.chat-compose-meta{display:flex;justify-content:space-between;gap:12px;margin-top:5px;font-size:.62rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.lounge-chat-card{padding:18px}.lounge-chat-heading{display:block}.chat-connection-status{display:inline-block;margin-top:8px}.chat-messages{height:52vh;min-height:300px;padding:4px 8px}.chat-message{grid-template-columns:36px minmax(0,1fr);gap:9px}.chat-message>img,.chat-compose>img{width:36px;height:36px}.chat-delete{grid-column:2;justify-self:start}.chat-compose{grid-template-columns:36px minmax(0,1fr)}.chat-compose .btn{grid-column:2;width:100%}.chat-compose-meta{font-size:.58rem}.chat-compose-meta span:first-child{max-width:75%}}

/* V25 live member presence */
.lounge-live-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin:18px 0}.online-card,.bulletin-card{padding:26px}.online-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.online-heading h2,.bulletin-card h2{margin:.2rem 0}.online-count{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(112,173,105,.45);background:rgba(112,173,105,.08);color:#bcd9a7;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.online-count:before{content:"";width:8px;height:8px;border-radius:50%;background:#78bd6d;box-shadow:0 0 10px rgba(120,189,109,.75)}.online-members{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.online-member{display:flex;align-items:center;gap:9px;min-width:180px;padding:9px 12px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.18)}.online-member img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid rgba(190,199,153,.35)}.online-member-copy{display:grid;min-width:0}.online-member-copy strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-member-copy small{font-size:.59rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.bulletin-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.bulletin-links a{padding:9px 11px;border:1px solid rgba(190,199,153,.3);text-decoration:none;text-transform:uppercase;font-size:.64rem;font-weight:900;letter-spacing:.08em}.bulletin-links a:hover{border-color:rgba(190,199,153,.7);background:rgba(190,199,153,.07)}
@media(max-width:900px){.lounge-live-grid{grid-template-columns:1fr}}@media(max-width:520px){.online-card,.bulletin-card{padding:18px}.online-member{width:100%}}

/* V26 Division Command Center */
.hq-status-grid{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.hq-status-card,.hq-stat-card{min-height:148px}.hq-status-lines{display:grid;gap:13px;margin-top:18px}.hq-status-lines>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.hq-status-lines>div:last-child{border-bottom:0}.status-dot{width:9px;height:9px;border-radius:50%;display:block}.status-dot.online{background:#76b947;box-shadow:0 0 12px rgba(118,185,71,.75)}.hq-stat-card{display:flex;flex-direction:column;justify-content:center}.hq-stat-card>span{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.hq-stat-card>strong{font-size:2.55rem;line-height:1;margin:11px 0 8px}.hq-stat-card>small{color:var(--muted)}.hq-command-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin:18px 0}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading-row h2{margin:.2rem 0 0}.section-heading-row>a{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.next-operation-content{min-height:250px}.operation-kicker{display:flex;gap:10px;align-items:center;margin-bottom:12px}.operation-kicker span{padding:5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.operation-title{font-size:1.7rem;margin:0 0 10px}.operation-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.operation-meta div{padding:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:10px}.operation-meta span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.operation-meta strong{display:block;margin-top:5px}.rsvp-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 9px}.rsvp-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rsvp-btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:inherit;padding:11px 8px;border-radius:8px;cursor:pointer}.rsvp-btn:hover,.rsvp-btn.is-selected{border-color:var(--accent);background:rgba(178,148,79,.16)}.rsvp-summary{margin-top:12px;color:var(--muted);font-size:.88rem}.announcement-feed{display:grid;gap:12px}.announcement-item{padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.025)}.announcement-item.is-pinned{border-left:3px solid var(--accent)}.announcement-item header{display:flex;justify-content:space-between;gap:12px;align-items:start}.announcement-item h3{font-size:1rem;margin:0}.announcement-item time{white-space:nowrap;color:var(--muted);font-size:.75rem}.announcement-item p{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.empty-command-state{display:grid;place-items:center;text-align:center;min-height:220px;border:1px dashed rgba(255,255,255,.14);border-radius:12px;padding:24px}.empty-command-state strong{font-size:1.1rem}.empty-command-state p{max-width:430px;color:var(--muted)}
@media(max-width:1000px){.hq-status-grid{grid-template-columns:repeat(3,1fr)}.hq-status-card{grid-column:1/-1}.hq-command-grid{grid-template-columns:1fr}}@media(max-width:650px){.hq-status-grid{grid-template-columns:1fr}.hq-status-card{grid-column:auto}.hq-stat-card{min-height:110px}.hq-command-grid{display:block}.hq-command-grid>article{margin-bottom:16px}.operation-meta{grid-template-columns:1fr}.rsvp-buttons{grid-template-columns:1fr}.section-heading-row{align-items:center}}


/* V27 — separated live presence by combat branch */
.online-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.online-unit-group{min-width:0;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.14)}
.online-unit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(190,199,153,.04)}
.online-unit-heading h3{margin:0;font-size:.73rem;text-transform:uppercase;letter-spacing:.11em}
.online-unit-heading span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:rgba(120,189,109,.12);border:1px solid rgba(120,189,109,.35);font-size:.68rem;font-weight:900;color:#c7e5b8}
.online-unit-roster{display:grid;gap:8px;padding:10px}
.online-unit-roster .online-member{width:100%;min-width:0;margin:0}
.online-unit-empty{margin:0;padding:12px 6px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;text-align:center}
.online-unit-armor{border-top:2px solid rgba(193,155,82,.75)}
.online-unit-infantry{border-top:2px solid rgba(120,189,109,.75)}
.online-unit-recon{border-top:2px solid rgba(112,157,190,.75)}
.online-unit-other{border-top:2px solid rgba(190,199,153,.55)}
@media(max-width:700px){.online-members{grid-template-columns:1fr}}

/* V28 — Company Headquarters */
.company-directory{margin:18px 0;padding:26px}.company-directory-note{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.company-hq-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.company-hq-link{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.16);text-decoration:none}.company-hq-link:hover{transform:translateY(-2px);background:rgba(190,199,153,.07)}.company-hq-link .company-patch{grid-row:1/3}.company-hq-link strong{font-size:.9rem}.company-hq-link small{color:var(--muted);line-height:1.35}.company-hq-link.armor{border-top:2px solid rgba(193,155,82,.8)}.company-hq-link.infantry{border-top:2px solid rgba(120,189,109,.8)}.company-hq-link.recon{border-top:2px solid rgba(112,157,190,.8)}.company-hq-link.command{border-top:2px solid rgba(190,199,153,.75)}.company-patch{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(190,199,153,.45);background:rgba(190,199,153,.08);font-weight:950;letter-spacing:.04em}.company-patch.large{width:72px;height:72px;font-size:1.15rem}.company-shell{padding-bottom:50px}.company-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;border-top:3px solid rgba(190,199,153,.6)}.company-hero.armor{border-top-color:rgba(193,155,82,.9)}.company-hero.infantry{border-top-color:rgba(120,189,109,.9)}.company-hero.recon{border-top-color:rgba(112,157,190,.9)}.company-identity{display:flex;align-items:center;gap:13px;min-width:260px;padding:13px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.16)}.company-identity div{display:grid}.company-identity small{font-size:.58rem;letter-spacing:.1em;color:var(--muted)}.company-identity strong{font-size:.95rem;margin:4px 0}.company-identity span{font-size:.68rem;color:var(--muted)}.company-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.company-stat{min-height:130px;display:flex;flex-direction:column;justify-content:center}.company-stat>span{font-size:.7rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.company-stat>strong{font-size:2rem;margin:8px 0}.company-stat>small{color:var(--muted)}.company-main-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin:18px 0}.company-leadership{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.company-roster{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.company-person{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.14)}.company-person.leader{display:grid;justify-items:center;text-align:center;padding:16px}.company-person img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid rgba(190,199,153,.35)}.company-person.leader img{width:58px;height:58px}.company-person div{display:grid;min-width:0}.company-person small{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.company-person strong{font-size:.8rem;margin:3px 0;overflow:hidden;text-overflow:ellipsis}.company-person span{font-size:.62rem;color:var(--muted)}.company-order{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}.company-order p{margin:5px 0 0;color:var(--muted);line-height:1.45}.company-chat-card{margin:18px 0}.company-chat-rank{font-size:.58rem;padding:2px 6px;border:1px solid rgba(190,199,153,.22);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1000px){.company-hq-grid{grid-template-columns:repeat(2,1fr)}.company-main-grid{grid-template-columns:1fr}.company-leadership{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.company-hero{display:block}.company-identity{margin-top:18px;min-width:0}.company-summary-grid,.company-leadership,.company-roster{grid-template-columns:1fr}.company-hq-grid{grid-template-columns:1fr}.company-directory{padding:18px}}

/* v29 Personnel Center */
.personnel-self{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.personnel-self-identity{display:flex;align-items:center;gap:1rem}.personnel-self-identity img{width:74px;height:74px;border-radius:50%;object-fit:cover;border:2px solid rgba(210,181,105,.55)}.personnel-self-actions{display:flex;gap:.65rem;flex-wrap:wrap}.personnel-metrics{margin:1rem 0}.chain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.chain-card{padding:1rem;border:1px solid rgba(210,181,105,.22);background:rgba(10,14,12,.5);border-radius:8px}.chain-card h3{margin:.35rem 0 .15rem}.chain-card>span,.chain-subordinates p{color:var(--muted,#b8b4a8);font-size:.88rem}.chain-subordinates{border-top:1px solid rgba(255,255,255,.08);margin-top:.75rem;padding-top:.5rem}.chain-subordinates p{margin:.35rem 0}.personnel-jacket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.personnel-jacket{display:flex;align-items:center;gap:.9rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none;transition:.18s ease}.personnel-jacket:hover{transform:translateY(-2px);border-color:rgba(210,181,105,.5);background:rgba(210,181,105,.06)}.personnel-jacket img{width:58px;height:58px;border-radius:50%;object-fit:cover}.personnel-jacket-copy{min-width:0;flex:1}.personnel-jacket h3{margin:.25rem 0 .15rem}.personnel-jacket p,.personnel-jacket small{display:block;margin:0;color:var(--muted,#b8b4a8)}.jacket-arrow{font-size:1.8rem}.unit-chip{display:inline-block;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .45rem;border-radius:999px;border:1px solid currentColor}.unit-chip.armor{color:#d6a74f}.unit-chip.infantry{color:#83ad75}.unit-chip.recon{color:#83a9c9}.unit-chip.command{color:#d7d7d7}.unit-chip.unassigned{color:#aaa}@media(max-width:900px){.chain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-jacket-grid{grid-template-columns:1fr}}@media(max-width:620px){.personnel-self{align-items:flex-start;flex-direction:column}.chain-grid{grid-template-columns:1fr}.personnel-self-actions{width:100%}.personnel-self-actions .btn{flex:1}.personnel-jacket{align-items:flex-start}}

/* v30 Interactive Division Structure and Personnel Jackets */
.org-command{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.org-command-mark{display:flex;align-items:center;gap:1rem}.org-command-mark>img{width:78px;height:78px;object-fit:contain}.org-leader-strip{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.org-leader-mini{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.035);text-decoration:none;color:inherit}.org-leader-mini img{width:38px;height:38px;border-radius:50%;object-fit:cover}.org-leader-mini span{display:grid}.org-leader-mini small{color:var(--muted);font-size:.72rem}.org-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.5fr);gap:1rem;margin-top:1rem}.org-tree-panel,.org-detail-panel{min-height:560px}.org-tree{display:grid;gap:.7rem}.org-branch{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:rgba(0,0,0,.12)}.org-branch summary{display:grid;grid-template-columns:32px 1fr auto;align-items:center;padding:.85rem;cursor:pointer;list-style:none}.org-branch summary::-webkit-details-marker{display:none}.org-branch summary em,.org-node em{font-style:normal;border-radius:999px;background:rgba(255,255,255,.08);padding:.15rem .48rem;font-size:.75rem}.org-nested{display:grid;gap:.35rem;padding:0 .6rem .65rem 2.35rem}.org-node{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-left:2px solid var(--border);background:transparent;color:inherit;padding:.55rem .7rem;text-align:left;cursor:pointer}.org-node:hover,.org-node.selected{background:rgba(255,255,255,.05);border-left-color:var(--accent)}.org-empty{font-size:.8rem;color:var(--muted);padding:.4rem}.org-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.org-leadership,.org-roster{margin-top:1.25rem}.org-leader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.org-person-card{display:grid;justify-items:center;text-align:center;gap:.45rem;padding:1rem;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.025)}.org-person-card img{width:64px;height:64px;border-radius:50%;object-fit:cover}.org-person-card h4,.org-person-card p{margin:0}.org-person-card p{font-size:.78rem;color:var(--muted)}.org-person-grid{display:grid;gap:.5rem}.org-person-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:.7rem;padding:.65rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit}.org-person-row:hover{background:rgba(255,255,255,.04)}.org-person-row img{width:42px;height:42px;border-radius:50%;object-fit:cover}.org-person-row span{display:grid}.org-person-row small{color:var(--muted)}.record-hero{display:flex;align-items:center;gap:1.25rem}.record-avatar{width:110px;height:110px;border-radius:14px;object-fit:cover;border:2px solid var(--border)}.record-identity h1{margin:.2rem 0}.record-identity p{color:var(--muted)}.record-tags{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.75rem}.service-number{border:1px solid var(--border);padding:.28rem .6rem;border-radius:999px;font-size:.72rem;letter-spacing:.08em}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.record-wide{grid-column:1/-1}.record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.record-fields div{display:grid;gap:.2rem;padding:.65rem;border-bottom:1px solid var(--border)}.record-fields span{font-size:.7rem;letter-spacing:.09em;color:var(--muted)}.ribbon-rack{display:flex;gap:.6rem;flex-wrap:wrap}.ribbon{width:110px;display:grid;justify-items:center;text-align:center;gap:.25rem;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025)}.ribbon>strong{font-size:1.5rem}.ribbon span{font-size:.75rem;font-weight:700}.ribbon small{color:var(--muted)}.qualification-list{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem}.qualification-badge{border:1px solid var(--border);border-radius:999px;padding:.35rem .6rem;font-size:.75rem}.service-timeline{display:grid;gap:.75rem}.service-timeline article{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.service-timeline time{font-size:.75rem;color:var(--muted)}.service-timeline h3,.service-timeline p{margin:0}.service-timeline p{color:var(--muted);margin-top:.25rem}.btn.small{padding:.45rem .7rem;font-size:.75rem}
@media(max-width:900px){.org-command{align-items:flex-start;flex-direction:column}.org-leader-strip{justify-content:flex-start}.org-layout,.record-grid{grid-template-columns:1fr}.org-leader-grid{grid-template-columns:1fr}.record-fields{grid-template-columns:1fr}.record-hero{align-items:flex-start}.record-avatar{width:82px;height:82px}}

/* v31 Awards Hall foundation */
.awards-shell{max-width:1320px}.awards-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:3px solid rgba(210,181,105,.75)}.awards-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:.1em 0;text-transform:uppercase}.awards-hero-mark{width:112px;height:112px;display:grid;place-items:center;flex:0 0 auto;border:2px solid rgba(210,181,105,.65);border-radius:50%;font-size:4rem;background:radial-gradient(circle,rgba(210,181,105,.18),rgba(0,0,0,.1));box-shadow:inset 0 0 0 8px rgba(210,181,105,.06)}.awards-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.awards-stat-grid article{display:grid;gap:.35rem}.awards-stat-grid span{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.awards-stat-grid strong{font-size:2rem}.awards-stat-grid small{color:var(--muted)}.awards-section-heading{align-items:end}.awards-search{width:min(340px,100%);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.awards-search input{margin-top:.4rem}.awards-design-note{padding:.85rem 1rem;border-left:3px solid rgba(210,181,105,.65);background:rgba(210,181,105,.06);color:var(--muted)}.awards-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.award-catalog-item{display:grid;grid-template-columns:112px 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025)}.award-placeholder-medal{width:96px;height:112px;display:grid;place-items:center;position:relative;margin:auto;background:linear-gradient(145deg,rgba(210,181,105,.38),rgba(71,59,35,.38));clip-path:polygon(50% 0,88% 18%,100% 60%,50% 100%,0 60%,12% 18%);filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}.award-placeholder-medal:before{content:"";position:absolute;inset:9px;clip-path:inherit;border:1px solid rgba(255,235,177,.55);background:rgba(0,0,0,.28)}.award-placeholder-medal span{position:relative;z-index:1;font-size:2.5rem;color:#ead59b}.award-catalog-copy h3{margin:.2rem 0 .4rem;text-transform:uppercase}.award-catalog-copy p{color:var(--muted);line-height:1.5;margin:.2rem 0 .7rem}.award-catalog-copy small{color:#d8c486}.recent-awards-list{display:grid;gap:.65rem}.recent-award-row{display:grid;grid-template-columns:52px minmax(150px,.7fr) minmax(220px,1.3fr) auto;gap:.85rem;align-items:center;padding:.8rem;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.02)}.recent-award-row>img{width:50px;height:50px;border-radius:50%;object-fit:cover}.recent-award-person,.recent-award-decoration{display:grid;gap:.2rem}.recent-award-person span,.recent-award-decoration span{font-size:.75rem;color:var(--muted)}.recent-award-decoration p{grid-column:1/-1;margin:.25rem 0 0;color:var(--muted);font-size:.82rem}.awards-empty{text-align:center;padding:2rem;color:var(--muted)}.awards-empty strong{display:block;color:inherit;font-size:1.1rem}.awards-empty p{margin:.4rem 0}
@media(max-width:980px){.awards-stat-grid{grid-template-columns:repeat(2,1fr)}.awards-catalog{grid-template-columns:1fr}.recent-award-row{grid-template-columns:52px 1fr auto}.recent-award-decoration{grid-column:2/4}.recent-award-row .btn{grid-column:3;grid-row:1}}
@media(max-width:650px){.awards-hero{align-items:flex-start}.awards-hero-mark{width:76px;height:76px;font-size:2.5rem}.awards-stat-grid{grid-template-columns:1fr 1fr}.awards-section-heading{align-items:stretch;flex-direction:column}.award-catalog-item{grid-template-columns:78px 1fr}.award-placeholder-medal{width:70px;height:84px}.recent-award-row{grid-template-columns:44px 1fr}.recent-award-row>img{width:42px;height:42px}.recent-award-decoration{grid-column:1/-1}.recent-award-row .btn{grid-column:1/-1;grid-row:auto;justify-content:center}}

/* v33 Division War Room */
.war-table{position:relative;overflow:hidden;margin-top:1rem;background:radial-gradient(circle at 50% 45%,rgba(115,107,65,.16),transparent 52%),linear-gradient(135deg,rgba(18,22,16,.98),rgba(8,10,8,.98))}.war-table:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(205,193,145,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(205,193,145,.12) 1px,transparent 1px);background-size:42px 42px}.war-table>*{position:relative}.war-table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.war-unit{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding:1.25rem;border:1px solid rgba(208,193,135,.28);border-radius:12px;color:inherit;text-decoration:none;background:rgba(0,0,0,.42);transition:.2s ease}.war-unit:hover{transform:translateY(-4px);border-color:rgba(220,196,112,.75);box-shadow:0 14px 30px rgba(0,0,0,.32)}.war-unit strong{font-family:Impact,sans-serif;font-size:1.65rem;letter-spacing:.06em;text-transform:uppercase}.war-unit small{color:var(--muted);min-height:2.3em}.war-unit em{font-style:normal;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#d7c98f}.war-marker{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;border:2px solid currentColor;font-family:Impact,sans-serif;font-size:1.6rem;box-shadow:inset 0 0 0 6px rgba(255,255,255,.035),0 0 24px rgba(0,0,0,.4)}.war-hq .war-marker{color:#d7d7d7}.war-armor .war-marker{color:#d6a74f}.war-infantry .war-marker{color:#83ad75}.war-recon .war-marker{color:#83a9c9}.war-room-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:1rem;margin:1rem 0}.division-activity{display:grid;gap:.65rem;margin-top:1rem}.activity-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.025)}.activity-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);font-weight:800}.activity-copy{display:grid;gap:.18rem}.activity-copy strong{font-size:.9rem}.activity-copy span,.activity-row time{color:var(--muted);font-size:.73rem}.command-system-links{display:grid;gap:.65rem;margin-top:1rem}.command-system-links a{display:grid;gap:.18rem;padding:.85rem;border:1px solid var(--border);border-left:3px solid rgba(210,181,105,.65);border-radius:8px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025)}.command-system-links a:hover{background:rgba(210,181,105,.08)}.command-system-links span{color:var(--muted);font-size:.75rem}#activity-status{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
@media(max-width:980px){.war-table-grid{grid-template-columns:repeat(2,1fr)}.war-room-grid{grid-template-columns:1fr}}
@media(max-width:580px){.war-table-grid{grid-template-columns:1fr 1fr;gap:.6rem}.war-unit{min-height:150px;padding:.8rem}.war-marker{width:54px;height:54px;font-size:1.2rem}.war-unit strong{font-size:1.25rem}.activity-row{grid-template-columns:38px 1fr}.activity-row time{grid-column:2}}

body.ceremony-open{overflow:hidden}.welcome-ceremony{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(circle at 50% 30%,rgba(112,92,43,.35),transparent 32%),linear-gradient(180deg,#060805 0%,#11150d 55%,#030403 100%);color:#f4ecd4;opacity:0;transition:opacity .55s ease;overflow:hidden}.welcome-ceremony.is-active{opacity:1}.welcome-ceremony.is-closing{opacity:0}.ceremony-smoke{position:absolute;inset:-30%;background:radial-gradient(ellipse at 20% 60%,rgba(255,255,255,.08),transparent 30%),radial-gradient(ellipse at 70% 30%,rgba(255,255,255,.06),transparent 28%);filter:blur(35px);animation:ceremonySmoke 10s linear infinite alternate}.ceremony-rays{position:absolute;width:80vmax;height:80vmax;background:repeating-conic-gradient(from 0deg,rgba(211,177,91,.08) 0 8deg,transparent 8deg 18deg);animation:ceremonyTurn 38s linear infinite}.ceremony-panel{position:relative;width:min(760px,94vw);max-height:94vh;overflow:auto;text-align:center;padding:clamp(1.5rem,4vw,3.5rem);border:1px solid rgba(209,177,91,.58);background:linear-gradient(145deg,rgba(27,31,20,.96),rgba(8,10,7,.97));box-shadow:0 0 0 6px rgba(0,0,0,.45),0 30px 90px rgba(0,0,0,.75),inset 0 0 65px rgba(164,132,51,.08);clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px);transform:translateY(24px) scale(.97);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.is-active .ceremony-panel{transform:none}.ceremony-kicker,.ceremony-radio,.ceremony-motto{letter-spacing:.18em;font-weight:800}.ceremony-kicker{font-size:.72rem;color:#cdb16c}.ceremony-radio{font-size:.7rem;color:#9fa98c}.ceremony-panel h1{font-family:Oswald,Impact,sans-serif;font-size:clamp(2.1rem,7vw,4.8rem);line-height:.98;margin:.55rem 0 1rem;text-shadow:0 4px 28px rgba(211,177,91,.25)}.ceremony-emblem{width:clamp(92px,19vw,150px);filter:drop-shadow(0 10px 30px rgba(0,0,0,.8));animation:ceremonyEmblem 1.4s ease both}.ceremony-copy{max-width:590px;margin:0 auto 1.4rem;font-size:clamp(1rem,2.2vw,1.18rem);line-height:1.7}.ceremony-record{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.2rem 0}.ceremony-record div{padding:.8rem;border:1px solid rgba(205,177,108,.25);background:rgba(255,255,255,.035)}.ceremony-record span,.ceremony-record strong{display:block}.ceremony-record span{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#aeb49f}.ceremony-record strong{margin-top:.3rem;color:#f0d993}.ceremony-motto{margin:1.2rem 0;color:#d1b15b}.ceremony-enter{min-width:220px}.ceremony-skip,.ceremony-sound{position:absolute;z-index:2;border:0;background:rgba(0,0,0,.38);color:#d8d1bb;padding:.55rem .75rem;cursor:pointer}.ceremony-skip{top:1rem;right:1rem}.ceremony-sound{right:1rem;bottom:1rem}@keyframes ceremonyTurn{to{transform:rotate(360deg)}}@keyframes ceremonySmoke{to{transform:translate3d(7%,3%,0) scale(1.1)}}@keyframes ceremonyEmblem{0%{opacity:0;transform:scale(.45) rotate(-12deg)}70%{transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:none}}@media(max-width:600px){.ceremony-record{grid-template-columns:1fr}.ceremony-sound{position:static;margin-top:.8rem}.ceremony-panel{padding-top:3.2rem}}


/* V35 Division Reception — dog tags, personnel jacket, and HQ radio */
body.ceremony-open{overflow:hidden}
.reception-sequence{position:fixed;inset:0;z-index:99999;overflow:hidden;background:#020403;color:#e8e1c9;font-family:Arial,sans-serif;opacity:0;transition:opacity .55s ease}
.reception-sequence.sequence-started{opacity:1}
.reception-sequence.is-closing{opacity:0}
.reception-noise,.reception-scanlines,.reception-smoke,.reception-sequence:before{position:absolute;inset:0;pointer-events:none}
.reception-sequence:before{content:"";background:radial-gradient(circle at 50% 45%,rgba(149,130,67,.22),transparent 30%),linear-gradient(135deg,rgba(73,83,49,.14),transparent 45%);z-index:0}
.reception-noise{z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");animation:receptionNoise .18s steps(2) infinite}
.reception-scanlines{z-index:19;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.18) 3px 4px);mix-blend-mode:multiply}
.reception-smoke{inset:-30%;z-index:1;filter:blur(45px);opacity:.36}
.reception-smoke-a{background:radial-gradient(ellipse at 30% 65%,rgba(180,181,165,.18),transparent 30%);animation:receptionSmokeA 13s ease-in-out infinite alternate}
.reception-smoke-b{background:radial-gradient(ellipse at 70% 35%,rgba(132,140,117,.14),transparent 28%);animation:receptionSmokeB 16s ease-in-out infinite alternate}
.reception-hud{position:absolute;z-index:25;left:1.2rem;right:1.2rem;top:1rem;display:flex;justify-content:space-between;font-family:monospace;font-size:.72rem;letter-spacing:.14em;color:#a9b58e}
.reception-signal{color:#c9b66e}
.reception-skip,.reception-audio{position:absolute;z-index:30;border:1px solid rgba(202,180,107,.38);background:rgba(6,8,5,.72);color:#ddd3b5;padding:.65rem .85rem;letter-spacing:.08em;cursor:pointer}
.reception-skip{right:1.2rem;top:2.8rem}
.reception-audio{right:1.2rem;bottom:1.2rem}
.reception-audio.is-on{background:rgba(91,105,57,.78);color:#fff}
.reception-boot{position:absolute;inset:0;z-index:5;display:grid;place-items:center;transition:opacity .55s ease,transform .7s ease}
.reception-terminal{width:min(650px,86vw);font-family:monospace;color:#b5c99a;font-size:clamp(.82rem,2vw,1.1rem);text-shadow:0 0 10px rgba(177,210,139,.38)}
.reception-terminal p{opacity:0;animation:terminalLine .18s forwards}
.reception-terminal p:nth-child(2){animation-delay:.55s}.reception-terminal p:nth-child(3){animation-delay:1.1s}.reception-terminal p:nth-child(4){animation-delay:1.65s;color:#e4d188}
.phase-tags .reception-boot{opacity:0;transform:scale(1.04)}
.dogtag-stage{position:absolute;inset:0;z-index:6;display:grid;place-items:center;opacity:0;transform:translateY(-30vh);transition:opacity .35s ease,transform 1.2s cubic-bezier(.18,.88,.28,1.18)}
.phase-tags .dogtag-stage{opacity:1;transform:none}
.dogtag-chain{position:absolute;top:-8vh;left:50%;width:7px;height:45vh;transform:translateX(-50%);background:radial-gradient(circle,#c9c3b0 0 2px,#625f55 2.5px 3.5px,transparent 4px) center/7px 9px repeat-y;filter:drop-shadow(2px 3px 2px #000)}
.dogtag{position:absolute;width:min(360px,72vw);height:190px;border-radius:42px 42px 38px 38px;background:linear-gradient(135deg,#a8a69d,#efede2 22%,#77786f 48%,#d8d5c7 68%,#85867e);border:3px solid #55574f;box-shadow:inset 0 0 0 4px rgba(255,255,255,.25),inset 0 0 22px rgba(0,0,0,.42),0 25px 55px rgba(0,0,0,.65);color:#25261f;text-shadow:0 1px rgba(255,255,255,.45);transform-origin:50% -70%}
.dogtag:after{content:"";position:absolute;inset:8px;border:1px dashed rgba(35,36,31,.35);border-radius:34px}
.dogtag-hole{position:absolute;top:17px;left:50%;width:25px;height:25px;transform:translateX(-50%);border-radius:50%;background:#151713;box-shadow:inset 0 0 0 5px #6d6e66,0 1px 2px #fff}
.dogtag-lines{height:100%;box-sizing:border-box;padding:48px 30px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:"Courier New",monospace;letter-spacing:.08em}
.dogtag-lines strong{font-size:clamp(1rem,4vw,1.45rem)}
.dogtag-lines small{font-size:.58rem;letter-spacing:.17em}
.dogtag-split{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:7px;border-top:1px solid rgba(35,36,31,.25);padding-top:6px}
.dogtag-split span{display:flex;flex-direction:column}
.dogtag-back{transform:translate(-52px,24px) rotate(-10deg);animation:tagSwingBack 5.5s ease-in-out infinite}
.dogtag-front{transform:translate(48px,-8px) rotate(8deg);animation:tagSwingFront 5s ease-in-out infinite}
.phase-folder .dogtag-stage{transform:translateX(-44vw) scale(.64);opacity:.45;transition:transform 1s ease,opacity .7s ease}
.personnel-folder{position:absolute;z-index:7;left:50%;top:50%;width:min(760px,90vw);transform:translate(-50%,-45%) rotateX(72deg) scale(.68);transform-origin:bottom;opacity:0;transition:transform 1.05s cubic-bezier(.2,.8,.2,1),opacity .6s ease;background:#8b7950;padding:38px 18px 18px;border-radius:6px 14px 8px 8px;box-shadow:0 30px 90px rgba(0,0,0,.72)}
.phase-folder .personnel-folder{opacity:1;transform:translate(-50%,-50%) rotateX(0) scale(1)}
.folder-tab{position:absolute;top:-27px;left:18px;background:#8b7950;padding:9px 18px 8px;border-radius:7px 7px 0 0;color:#2a2418;font:bold .72rem monospace;letter-spacing:.08em}
.folder-paper{position:relative;background:#ddd2b5;color:#2f2b20;padding:clamp(1.1rem,4vw,2rem);min-height:330px;box-shadow:inset 0 0 35px rgba(70,57,31,.22)}
.folder-heading{display:flex;gap:1rem;align-items:center;border-bottom:3px double #756848;padding-bottom:1rem}
.folder-heading img{width:82px;height:82px;object-fit:cover;border:5px solid #b5aa8c;filter:sepia(.28)}
.folder-heading p{font:.75rem monospace;letter-spacing:.16em;margin:0}.folder-heading h1{font-family:Impact,Oswald,sans-serif;letter-spacing:.06em;margin:.2rem 0 0;font-size:clamp(1.6rem,5vw,3.1rem)}
.folder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.2rem}
.folder-grid div{border-bottom:1px solid rgba(62,55,38,.35);padding:.55rem}.folder-grid span,.folder-grid strong{display:block}.folder-grid span{text-transform:uppercase;font:.62rem monospace;letter-spacing:.12em}.folder-grid strong{margin-top:.25rem}
.folder-stamp{position:absolute;right:4%;bottom:9%;border:5px solid #8c2e23;color:#8c2e23;padding:.25rem .65rem;font:bold clamp(1.7rem,5vw,3.4rem) Impact,sans-serif;letter-spacing:.08em;transform:rotate(-12deg);opacity:.75}
.phase-finale .personnel-folder{opacity:0;transform:translate(-50%,-56%) scale(.94)}
.reception-finale{position:absolute;inset:0;z-index:8;display:grid;place-content:center;text-align:center;justify-items:center;opacity:0;transform:scale(.88);transition:opacity 1s ease,transform 1.2s ease}
.phase-finale .reception-finale{opacity:1;transform:none}
.reception-finale img{width:clamp(130px,25vw,230px);filter:drop-shadow(0 15px 40px #000);animation:emblemPulse 3s ease-in-out infinite}
.reception-finale p{font-weight:800;letter-spacing:.2em;color:#cbb66e;margin:1rem 0 .45rem}
.reception-finale h1{font-family:Impact,Oswald,sans-serif;font-size:clamp(2.2rem,8vw,6rem);letter-spacing:.06em;margin:0 0 1.4rem;text-shadow:0 6px 35px rgba(199,174,91,.26)}
.reception-finale h1 span{color:#b89b4e}
.radio-caption{position:absolute;z-index:28;left:1.2rem;bottom:1.2rem;width:min(470px,calc(100vw - 2.4rem));padding:.75rem 1rem .8rem 2.6rem;border-left:2px solid #9fac7f;background:linear-gradient(90deg,rgba(5,8,4,.9),rgba(5,8,4,.25));font-family:monospace}
.radio-caption strong{font-size:.65rem;letter-spacing:.16em;color:#aebd91}.radio-caption p{margin:.28rem 0 0;color:#e1dcc7}.radio-light{position:absolute;left:1rem;top:1rem;width:9px;height:9px;border-radius:50%;background:#98a27d;box-shadow:0 0 10px #98a27d}.radio-caption.is-speaking .radio-light{background:#dfc65e;box-shadow:0 0 16px #dfc65e}
@keyframes terminalLine{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes tagSwingFront{0%,100%{transform:translate(48px,-8px) rotate(8deg)}50%{transform:translate(35px,-4px) rotate(3deg)}}
@keyframes tagSwingBack{0%,100%{transform:translate(-52px,24px) rotate(-10deg)}50%{transform:translate(-42px,19px) rotate(-4deg)}}
@keyframes receptionNoise{0%{transform:translate(0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(.5%,1%)}}
@keyframes receptionSmokeA{to{transform:translate(10%,4%) scale(1.12)}}@keyframes receptionSmokeB{to{transform:translate(-8%,-3%) scale(1.08)}}
@keyframes emblemPulse{50%{filter:drop-shadow(0 15px 50px rgba(210,183,91,.44));transform:scale(1.035)}}
@media(max-width:650px){
  .reception-hud{font-size:.58rem}.reception-skip{top:2.6rem}
  .dogtag{height:165px}.dogtag-lines{padding:43px 20px 16px}.dogtag-back{transform:translate(-25px,26px) rotate(-8deg)}.dogtag-front{transform:translate(22px,-5px) rotate(6deg)}
  .folder-grid{grid-template-columns:1fr}.folder-paper{max-height:62vh;overflow:auto}.folder-stamp{font-size:1.6rem}
  .radio-caption{bottom:4.5rem}.reception-audio{bottom:1rem}
}
@media(prefers-reduced-motion:reduce){
  .reception-noise,.reception-smoke,.dogtag,.reception-finale img{animation:none}
  .reception-boot,.dogtag-stage,.personnel-folder,.reception-finale{transition-duration:.15s}
}


/* V36 cinematic scroll homepage */
.cinematic-home{background:#070906}.cinematic-home .site{position:relative;z-index:2}.battlefield-stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:#11170e;pointer-events:none}.battlefield-scene{position:absolute;inset:-5%;opacity:0;transform:scale(1.06);transition:opacity 1.25s ease,transform 6s ease;background-size:cover;background-position:center}.battlefield-scene.active{opacity:1;transform:scale(1)}
.scene-fields{background:linear-gradient(180deg,rgba(122,147,146,.18),rgba(126,132,77,.2) 48%,rgba(26,33,17,.88) 74%),radial-gradient(ellipse at 72% 18%,rgba(242,211,143,.34),transparent 24%),linear-gradient(160deg,#53625d 0 38%,#6f7547 39% 59%,#222b18 60%)}
.scene-front{background:linear-gradient(180deg,rgba(42,48,43,.28),rgba(20,23,17,.82)),radial-gradient(circle at 76% 56%,rgba(207,92,39,.34),transparent 12%),linear-gradient(145deg,#3e4946 0 36%,#3b3a29 37% 58%,#161a13 59%)}
.scene-command{background:radial-gradient(circle at 50% 38%,rgba(173,146,91,.16),transparent 31%),repeating-linear-gradient(0deg,transparent 0 48px,rgba(215,208,168,.025) 49px),linear-gradient(135deg,#1c241b,#090d0a 68%)}
.scene-motorpool{background:linear-gradient(180deg,rgba(76,83,76,.12),rgba(11,14,10,.88)),radial-gradient(ellipse at 30% 69%,rgba(90,99,59,.35),transparent 25%),radial-gradient(ellipse at 70% 70%,rgba(90,99,59,.25),transparent 27%),linear-gradient(155deg,#45504b 0 35%,#2e3828 36% 58%,#11150e 59%)}
.scene-sunset{background:radial-gradient(circle at 72% 27%,rgba(241,151,73,.48),transparent 15%),linear-gradient(180deg,#6f5a50 0 32%,#9b6d45 33% 52%,#24291b 53% 68%,#090b08 69%)}
.battlefield-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,4,2,.9),rgba(3,5,3,.38) 50%,rgba(2,3,2,.58)),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.56));z-index:8}.cloud,.smoke-column{position:absolute;border-radius:50%;filter:blur(28px);opacity:.26}.cloud{width:42vw;height:12vw;background:rgba(220,222,210,.32);top:13%;animation:cloudDrift 35s linear infinite}.cloud-one{left:-40vw}.cloud-two{left:-65vw;top:27%;animation-delay:-18s;opacity:.16}.smoke-column{width:12vw;height:36vw;bottom:-20vw;background:rgba(90,93,82,.42);animation:smokeRise 13s ease-in-out infinite}.smoke-one{right:18%}.smoke-two{right:46%;animation-delay:-6s;opacity:.17}.convoy{position:absolute;left:-38vw;bottom:14%;z-index:5;width:34vw;height:9vw;animation:convoyMove 31s linear infinite;opacity:.55}.tank{position:absolute;font-size:clamp(58px,7vw,112px);line-height:1;color:#11160e;text-shadow:0 14px 12px rgba(0,0,0,.55);transform:scaleX(1.8)}.tank-a{left:0;bottom:0}.tank-b{left:48%;bottom:7%;transform:scaleX(1.5) scale(.72)}.soldier{position:absolute;left:34%;bottom:4%;font-size:clamp(34px,4vw,58px);color:#14180f}.soldier-two{left:70%;bottom:2%;transform:scale(.86)}.soldier-three{left:84%;bottom:5%;transform:scale(.75)}
.cinematic-home .hero,.cinematic-home .section,.cinematic-home footer{background:transparent!important}.cinematic-home .hero:before{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 48%,rgba(0,0,0,.2))}.cinematic-home .section{min-height:92vh;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(7,9,7,.84),rgba(7,9,7,.48))!important;backdrop-filter:blur(1.5px)}.cinematic-home .game-card,.cinematic-home .unit-card,.cinematic-home .roster-placeholder{backdrop-filter:blur(12px);box-shadow:0 24px 60px rgba(0,0,0,.22)}.btn.ghost{border-color:rgba(255,255,255,.16);background:rgba(0,0,0,.08)}
@keyframes cloudDrift{to{transform:translateX(165vw)}}@keyframes smokeRise{0%,100%{transform:translateY(5%) scale(.85);opacity:.1}50%{transform:translateY(-24%) scale(1.15);opacity:.32}}@keyframes convoyMove{to{transform:translateX(165vw)}}
@media (prefers-reduced-motion:reduce){.battlefield-scene,.cloud,.smoke-column,.convoy{animation:none!important;transition:none!important}.convoy{left:18%}}
@media(max-width:760px){.convoy{width:65vw;bottom:10%;opacity:.38;animation-duration:22s}.battlefield-vignette{background:linear-gradient(90deg,rgba(2,4,2,.9),rgba(3,5,3,.62)),linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.64))}.cinematic-home .section{min-height:auto;padding-top:95px;padding-bottom:95px}}
/* V36.1 — cinematic headquarters sign homepage */
.sign-hero{min-height:100svh;isolation:isolate;overflow:hidden;background:#080b07!important}
.sign-hero-image{position:absolute;inset:0;z-index:-4;background-image:url("../images/cinematic-sign-hero.png");background-size:cover;background-position:center 52%;transform:scale(1.025);animation:signPush 18s ease-out both}
.sign-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.64) 0 8%,rgba(0,0,0,.03) 26% 67%,rgba(0,0,0,.76) 100%),radial-gradient(ellipse at center,transparent 38%,rgba(0,0,0,.52) 100%)}
.sign-hero-content{position:absolute;z-index:5;left:50%;bottom:12.5%;transform:translateX(-50%);width:min(760px,92vw);text-align:center}
.sign-hero-content .eyebrow{opacity:0;pointer-events:none}
.sign-motto{display:none}
.sign-actions{justify-content:center;gap:1rem}
.sign-actions .btn{min-width:235px;padding:1rem 1.4rem;font-size:.95rem;letter-spacing:.09em;box-shadow:0 15px 35px rgba(0,0,0,.45)}
.sign-actions .primary{background:#58613a;border-color:#858d62}
.sign-actions .secondary{background:rgba(8,9,7,.92);border-color:rgba(211,198,157,.4)}
.sign-scroll{bottom:4.6%;z-index:5;text-shadow:0 3px 9px #000}
.cinematic-home .nav-wrap{z-index:40;background:rgba(4,5,4,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(210,190,125,.18)}
.cinematic-home .brand img{content:url("../images/homepage-crest.png")}
.cinematic-home .brand span:after{content:"VICTORY IS EARNED, NEVER GIVEN.";display:block;font-size:.48rem;letter-spacing:.1em;color:#b59f64;margin-top:2px}
.cinematic-home .hero:before{display:none}
@keyframes signPush{from{transform:scale(1.06)}to{transform:scale(1.015)}}
@media(max-width:900px){.sign-hero-image{background-position:center 48%}.sign-hero-content{bottom:10%}.sign-actions .btn{min-width:205px}}
@media(max-width:650px){.sign-hero{min-height:92svh}.sign-hero-image{background-size:auto 100%;background-position:center top}.sign-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.72) 0 10%,transparent 28% 60%,rgba(0,0,0,.82) 100%),radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.45))}.sign-hero-content{bottom:9%;width:88vw}.sign-actions{display:grid;grid-template-columns:1fr;gap:.65rem}.sign-actions .btn{min-width:0;width:100%;padding:.84rem 1rem}.sign-scroll{display:none}.cinematic-home .brand span:after{display:none}}
@media(prefers-reduced-motion:reduce){.sign-hero-image{animation:none!important}}


/* V36.2 — living headquarters interaction */
.sign-hero-image{transform:translate3d(var(--mouse-x,0),var(--mouse-y,0),0) scale(1.035);transition:transform .9s cubic-bezier(.2,.7,.2,1);animation:none}
.painted-hotspot{position:absolute;z-index:9;top:73.4%;height:13.1%;border:1px solid transparent;overflow:hidden;text-indent:-9999px;border-radius:3px;cursor:pointer;transform:perspective(500px) translateZ(0);transition:filter .25s ease,box-shadow .25s ease,transform .16s ease,background .25s ease}
.painted-enlist{left:28.7%;width:20.1%}.painted-login{left:50.4%;width:20.1%}
.painted-hotspot:hover,.painted-hotspot:focus-visible{background:linear-gradient(110deg,transparent 8%,rgba(235,218,157,.09) 47%,transparent 84%);box-shadow:inset 0 0 24px rgba(224,203,134,.14),0 0 20px rgba(208,187,117,.12);filter:brightness(1.22);outline:2px solid rgba(211,198,157,.5);outline-offset:2px}
.painted-hotspot:active{transform:perspective(500px) translateY(2px) scale(.993);filter:brightness(.9)}
.hero-smoke{position:absolute;z-index:3;pointer-events:none;border-radius:50%;filter:blur(52px);mix-blend-mode:screen;opacity:.24;background:radial-gradient(ellipse,rgba(190,190,170,.28),rgba(80,85,76,.12) 45%,transparent 72%)}
.hero-smoke-a{width:62vw;height:22vw;left:-32vw;bottom:-4vw;animation:heroSmokeA 20s ease-in-out infinite alternate}
.hero-smoke-b{width:50vw;height:19vw;right:-24vw;top:20%;opacity:.14;animation:heroSmokeB 25s ease-in-out infinite alternate}
.hero-embers{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.35;background-image:radial-gradient(circle,rgba(240,213,142,.7) 0 1px,transparent 1.7px);background-size:95px 95px;animation:embersFloat 18s linear infinite}
@keyframes heroSmokeA{to{transform:translate(80vw,-12vw) scale(1.25);opacity:.11}}@keyframes heroSmokeB{to{transform:translate(-72vw,12vw) scale(1.3);opacity:.25}}@keyframes embersFloat{to{background-position:50px -190px}}
.battle-audio-toggle{position:absolute;right:1rem;bottom:1rem;z-index:12;display:flex;align-items:center;gap:.55rem;border:1px solid rgba(211,198,157,.35);background:rgba(5,6,5,.75);color:#d8cfb6;padding:.65rem .8rem;font:800 .62rem/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(9px)}
.battle-audio-toggle:hover{background:rgba(43,47,29,.88);border-color:rgba(211,198,157,.65)}.audio-icon{font-size:1rem}
@media(max-width:900px){.painted-hotspot{display:none}.sign-hero-content{display:block}.sign-actions.sr-only{position:absolute!important}.battle-audio-toggle{bottom:.75rem;right:.75rem}.audio-label{display:none}}
@media(prefers-reduced-motion:reduce){.hero-smoke,.hero-embers{animation:none!important}.sign-hero-image{transition:none}}


/* v36.3 foreground hero controls */
.sign-button-mask{
  position:absolute;
  z-index:7;
  left:25%;
  right:17%;
  top:71%;
  height:18%;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,8,6,.08),rgba(7,8,6,.9) 34%,rgba(5,6,5,.98) 72%,rgba(4,5,4,.72)),
    radial-gradient(ellipse at center,rgba(15,17,12,.92),rgba(5,6,5,.98) 72%);
  filter:blur(1px);
  box-shadow:0 -22px 34px rgba(0,0,0,.28),0 18px 32px rgba(0,0,0,.45);
  mask-image:linear-gradient(180deg,transparent 0,#000 24%,#000 82%,transparent 100%);
}
.foreground-hero-actions{
  position:absolute;
  z-index:10;
  left:50%;
  top:76%;
  transform:translate(-50%,-50%);
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:center;
  width:min(92vw,620px);
}
.foreground-hero-actions .btn{
  min-width:230px;
  min-height:56px;
  justify-content:center;
  font-size:.82rem;
  letter-spacing:.1em;
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  backdrop-filter:blur(4px);
}
.foreground-hero-actions .primary{
  background:#7e8954;
  border-color:#a5ae78;
  color:#070806;
}
.foreground-hero-actions .secondary{
  background:rgba(7,8,6,.88);
  border-color:rgba(217,207,171,.46);
  color:#f1ead5;
}
.foreground-hero-actions .btn:hover{transform:translateY(-3px) scale(1.015)}
@media(max-width:900px){
  .sign-button-mask{left:8%;right:8%;top:69%;height:21%}
  .foreground-hero-actions{top:76%;width:min(90vw,560px)}
  .foreground-hero-actions .btn{min-width:205px}
}
@media(max-width:650px){
  .sign-button-mask{left:0;right:0;top:65%;height:26%}
  .foreground-hero-actions{top:75%;display:grid;grid-template-columns:1fr;width:min(86vw,390px);gap:.7rem}
  .foreground-hero-actions .btn{width:100%;min-width:0;min-height:50px}
}



/* v36.5 cinematic enlistment dossier */
body.dossier-open{overflow:hidden}
.enlistment-dossier{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .35s ease,visibility .35s ease}
.enlistment-dossier.open{visibility:visible;opacity:1}
.dossier-backdrop{position:absolute;inset:0;background:rgba(3,4,3,.84);backdrop-filter:blur(8px)}
.dossier-folder{position:relative;width:min(900px,94vw);max-height:92vh;padding:34px 28px 26px;background:#6f5a32;border:1px solid rgba(234,217,163,.35);box-shadow:0 40px 120px #000;transform:translateY(45px) rotateX(8deg) scale(.96);opacity:0;transition:transform .55s cubic-bezier(.16,.8,.24,1),opacity .4s ease;perspective:1000px}
.enlistment-dossier.open .dossier-folder{transform:translateY(0) rotateX(0) scale(1);opacity:1}
.dossier-folder:before{content:"";position:absolute;inset:7px;border:1px solid rgba(34,25,12,.4);pointer-events:none}
.dossier-tab{position:absolute;left:36px;top:-29px;padding:9px 23px 8px;background:#7d663b;color:#21180c;font:800 .7rem/1 Arial,sans-serif;letter-spacing:.14em;border:1px solid rgba(234,217,163,.25);border-bottom:0}
.dossier-paper{position:relative;overflow:auto;max-height:calc(92vh - 60px);padding:clamp(26px,5vw,54px);background:#d8cfad;color:#211d14;background-image:linear-gradient(rgba(60,45,22,.055) 1px,transparent 1px),radial-gradient(circle at 16% 12%,rgba(255,255,255,.36),transparent 26%),radial-gradient(circle at 80% 75%,rgba(82,61,25,.09),transparent 35%);background-size:100% 27px,100% 100%,100% 100%;box-shadow:inset 0 0 65px rgba(72,49,16,.18)}
.dossier-header{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:3px double rgba(45,35,19,.55)}
.dossier-header img{width:78px;height:78px;object-fit:contain;filter:sepia(.2)}
.dossier-header small{display:block;font:800 .72rem/1.2 Arial,sans-serif;letter-spacing:.2em}.dossier-header h2{margin:4px 0 0;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.92;letter-spacing:.045em}
.dossier-classification{margin:22px 0 16px;padding:8px 10px;border:2px solid rgba(92,24,17,.72);color:#6e1d17;font:900 .78rem/1 Arial,sans-serif;letter-spacing:.24em;text-align:center}
.dossier-copy{max-width:690px;font:600 1rem/1.7 Georgia,serif}
.dossier-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:25px 0}
.dossier-checklist div{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid rgba(44,35,20,.28);background:rgba(255,255,255,.12)}
.dossier-checklist span{display:grid;place-items:center;flex:0 0 37px;height:37px;border:1px solid rgba(35,29,18,.4);font:900 .8rem Arial,sans-serif}.dossier-checklist strong{font:800 .78rem/1.3 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.dossier-actions{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.dossier-actions .btn{min-width:210px;justify-content:center}.dossier-actions .secondary{color:#211d14;border-color:rgba(37,30,18,.55);background:rgba(255,255,255,.14)}
.dossier-stamp{position:absolute;right:6%;bottom:16%;padding:13px 18px;border:5px double rgba(123,33,25,.72);color:rgba(123,33,25,.72);font:900 clamp(1.2rem,3vw,2rem)/.9 Impact,sans-serif;letter-spacing:.08em;text-align:center;transform:rotate(-11deg) scale(2);opacity:0}.enlistment-dossier.open .dossier-stamp{animation:dossierStamp .48s cubic-bezier(.15,.75,.22,1) .62s forwards}
.dossier-note{margin:34px 0 0;font:italic 700 .82rem Georgia,serif;letter-spacing:.1em;text-transform:uppercase}
.dossier-close{position:absolute;z-index:4;right:-16px;top:-17px;width:42px;height:42px;border:1px solid rgba(230,215,169,.45);border-radius:50%;background:#17170f;color:#eee4c5;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.45)}
@keyframes dossierStamp{0%{opacity:0;transform:rotate(-11deg) scale(2)}70%{opacity:.85;transform:rotate(-11deg) scale(.92)}100%{opacity:.72;transform:rotate(-11deg) scale(1)}}
@media(max-width:650px){.enlistment-dossier{padding:14px}.dossier-folder{padding:24px 12px 12px}.dossier-paper{padding:26px 20px}.dossier-header img{width:58px;height:58px}.dossier-checklist{grid-template-columns:1fr}.dossier-actions{display:grid}.dossier-actions .btn{width:100%;min-width:0}.dossier-stamp{position:relative;right:auto;bottom:auto;width:max-content;margin:24px 0 0 auto;transform:rotate(-8deg) scale(2)}.enlistment-dossier.open .dossier-stamp{animation-name:dossierStampMobile}.dossier-close{right:-5px}.dossier-tab{left:18px}}
@keyframes dossierStampMobile{0%{opacity:0;transform:rotate(-8deg) scale(2)}70%{opacity:.85;transform:rotate(-8deg) scale(.92)}100%{opacity:.72;transform:rotate(-8deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.dossier-folder,.dossier-stamp{transition:none!important;animation:none!important}.enlistment-dossier.open .dossier-stamp{opacity:.72;transform:rotate(-11deg) scale(1)}}


/* v37 — Personnel Career Dossier */
.dossier-shell{max-width:1320px}.dossier-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 18px}.dossier-toolbar-actions{display:flex;gap:10px}.personnel-folder{position:relative;margin-top:34px;padding:18px 14px 14px;background:#77684b;border-radius:3px;box-shadow:0 24px 60px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.1);color:#262218}.folder-tab{position:absolute;left:36px;top:-29px;min-width:270px;padding:9px 24px 8px;background:#77684b;border-radius:7px 7px 0 0;font-family:Impact,Oswald,sans-serif;letter-spacing:.11em;color:#201d16}.folder-paper{position:relative;overflow:hidden;padding:34px;background:#d8cba9;background-image:linear-gradient(rgba(74,61,39,.06) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(255,255,255,.4),transparent 34%),radial-gradient(circle at 90% 90%,rgba(71,55,29,.12),transparent 30%);background-size:100% 29px,auto,auto;border:1px solid rgba(54,44,29,.5);box-shadow:inset 0 0 45px rgba(72,55,27,.16)}.folder-paper:before{content:"34ID";position:absolute;right:-20px;bottom:70px;font:190px/1 Impact,sans-serif;color:rgba(82,66,39,.035);transform:rotate(-8deg);pointer-events:none}.dossier-hero{position:relative;display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;padding:0 0 28px;border-bottom:3px double rgba(42,36,25,.48);background:none!important;border-radius:0!important;box-shadow:none!important;color:#292419}.dossier-photo-frame{padding:8px 8px 5px;background:#ece3c9;border:1px solid #675b42;box-shadow:3px 4px 0 rgba(57,47,30,.18);transform:rotate(-1.2deg)}.dossier-photo-frame .record-avatar{display:block;width:132px;height:132px;object-fit:cover;filter:sepia(.22) contrast(1.04)}.dossier-photo-frame span{display:block;padding-top:5px;text-align:center;font:700 .62rem/1.2 monospace;letter-spacing:.14em}.dossier-hero .record-identity h1{margin:.1em 0;color:#211e17;font-size:clamp(2rem,4vw,4.2rem);text-transform:uppercase}.dossier-hero .record-identity>p:not(.eyebrow){color:#504733}.dossier-hero .eyebrow,.folder-paper .eyebrow{color:#5a4d31}.dossier-hero .service-number{border-color:#5f543d;color:#2b261b;background:rgba(255,255,255,.2)}.dossier-stamp{width:122px;height:122px;display:grid;place-content:center;text-align:center;border:5px double #7d2d25;border-radius:50%;color:#7d2d25;font:700 1.05rem/1 Oswald,sans-serif;letter-spacing:.1em;transform:rotate(-9deg);opacity:.78}.dossier-stamp span{display:block;font-size:1.9rem;margin-top:7px}.dossier-summary{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(54,44,29,.42);margin:26px 0}.dossier-summary article{padding:14px 16px;border-right:1px solid rgba(54,44,29,.32)}.dossier-summary article:last-child{border-right:0}.dossier-summary span{display:block;font:700 .63rem/1.2 monospace;letter-spacing:.1em;text-transform:uppercase;color:#6b5e43}.dossier-summary strong{display:block;margin-top:6px;font-family:Oswald,sans-serif;font-size:1.05rem;text-transform:uppercase}.dossier-tabs{display:flex;border-bottom:2px solid #4f4633;gap:3px}.dossier-tab{appearance:none;border:1px solid rgba(54,44,29,.4);border-bottom:0;background:rgba(88,75,49,.08);padding:12px 18px;color:#3c3527;font:700 .75rem/1 Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.dossier-tab.active{background:#403a2b;color:#e6dcc0}.dossier-panel{display:none;padding-top:26px}.dossier-panel.active{display:block;animation:dossierReveal .28s ease}.dossier-grid{color:#292419}.dossier-section{padding:23px;border:1px solid rgba(56,47,31,.35);background:rgba(245,238,215,.42)}.dossier-section h2{color:#272218;margin-top:0}.dossier-section .record-fields>div{border-color:rgba(55,46,31,.22)}.dossier-section .record-fields span{color:#665a40}.dossier-section .record-fields strong{color:#272218}.record-biography{max-width:82ch;min-height:80px;line-height:1.8;color:#453d2c}.record-readiness{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}.readiness-gauge{--readiness:0;position:relative;width:138px;height:138px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#4e5a36 calc(var(--readiness)*1%),rgba(58,49,32,.14) 0);box-shadow:inset 0 0 0 13px #d9cfb2}.readiness-gauge:after{content:"";position:absolute;inset:19px;border-radius:50%;background:#e1d6b8}.readiness-gauge strong,.readiness-gauge span{position:relative;z-index:1}.readiness-gauge strong{font:700 2rem/1 Oswald,sans-serif}.readiness-gauge span{font:700 .57rem/1.2 monospace;letter-spacing:.08em;margin-top:5px}.readiness-list>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px dotted rgba(54,44,29,.4)}.readiness-list span{color:#665a40}.dossier-ribbon-rack{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dossier-decoration{color:#e8e0ca}.dossier-decoration p{grid-column:1/-1;margin:8px 0 0;font-size:.8rem;line-height:1.5;color:#c9bea0}.dossier-qualifications{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.qualification-card{display:flex;gap:13px;padding:16px;border:1px solid rgba(54,44,29,.32);background:rgba(255,255,255,.16)}.qualification-card>span{display:grid;place-content:center;flex:0 0 34px;height:34px;border:2px solid #4d5b36;border-radius:50%;color:#4d5b36;font-weight:900}.qualification-card strong,.qualification-card small{display:block}.qualification-card small{margin-top:3px;color:#6b6047}.qualification-card p{margin:8px 0 0;color:#514834;font-size:.86rem}.timeline-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.timeline-heading .compact-input{background:#e8dec2;color:#292419;border-color:#675c43}.dossier-timeline{position:relative;margin-top:24px}.dossier-timeline:before{content:"";position:absolute;left:154px;top:0;bottom:0;width:2px;background:rgba(65,54,34,.34)}.dossier-timeline article{position:relative;display:grid;grid-template-columns:130px 30px 1fr;gap:12px;padding:0 0 25px;border:0}.dossier-timeline time{padding-top:7px;text-align:right;font:700 .72rem monospace;color:#655a42}.timeline-marker{position:relative;z-index:1;width:30px;height:30px;display:grid;place-content:center;border:2px solid #514731;border-radius:50%;background:#ded3b5;font-weight:900}.dossier-timeline article>div{padding:3px 0 19px 14px;border-bottom:1px dotted rgba(55,46,31,.35)}.dossier-timeline small{font:700 .6rem monospace;letter-spacing:.12em;color:#7b2e26}.dossier-timeline h3{margin:4px 0;color:#292419}.dossier-timeline p{color:#514936}.empty-record{display:grid;gap:7px;padding:28px;border:1px dashed rgba(55,46,31,.4);text-align:center;color:#5b503a}.dossier-footer{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding-top:14px;border-top:3px double rgba(55,46,31,.45);font:700 .6rem monospace;letter-spacing:.1em;color:#675b42}@keyframes dossierReveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.dossier-hero{grid-template-columns:125px 1fr}.dossier-photo-frame .record-avatar{width:108px;height:108px}.dossier-stamp{display:none}.dossier-summary{grid-template-columns:repeat(3,1fr)}.dossier-summary article:nth-child(3){border-right:0}.dossier-summary article:nth-child(n+4){border-top:1px solid rgba(54,44,29,.32)}.record-readiness{grid-template-columns:1fr}.readiness-gauge{margin:auto}}
@media(max-width:620px){.dossier-toolbar{align-items:stretch;flex-direction:column}.dossier-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.folder-paper{padding:22px 15px}.folder-tab{left:10px;min-width:230px}.dossier-hero{grid-template-columns:1fr;text-align:center}.dossier-photo-frame{width:max-content;margin:auto}.record-tags{justify-content:center}.dossier-summary{grid-template-columns:1fr 1fr}.dossier-summary article,.dossier-summary article:nth-child(3){border-right:1px solid rgba(54,44,29,.32);border-top:1px solid rgba(54,44,29,.32)}.dossier-summary article:nth-child(even){border-right:0}.dossier-tabs{overflow:auto}.dossier-tab{white-space:nowrap}.timeline-heading{align-items:stretch;flex-direction:column}.dossier-timeline:before{left:14px}.dossier-timeline article{grid-template-columns:30px 1fr}.dossier-timeline time{grid-column:2;text-align:left;padding:0}.timeline-marker{grid-column:1;grid-row:1/3}.dossier-timeline article>div{grid-column:2}.dossier-footer{flex-direction:column}}
@media print{.nav-wrap,.dossier-toolbar,.dossier-tabs{display:none!important}.app-shell{max-width:none!important;padding:0!important}.personnel-folder{margin:0;padding:0;background:none;box-shadow:none}.folder-tab{display:none}.folder-paper{padding:20px;box-shadow:none;background:#fff;color:#000}.dossier-panel{display:block!important;break-inside:avoid}.dossier-panel+ .dossier-panel{margin-top:28px}.dossier-hero,.dossier-section{break-inside:avoid}.dossier-footer{margin-top:20px}.personnel-record-page{background:#fff}.dossier-stamp{display:grid}}

/* V38 dual personnel identifiers */
.id-secondary-identifier{display:grid;gap:3px;margin-top:8px;padding:8px 10px;border:1px solid rgba(184,194,141,.25);background:rgba(184,194,141,.04)}
.id-secondary-identifier span{font-size:.58rem;letter-spacing:.14em;color:var(--muted)}
.id-secondary-identifier strong,.service-number.personal{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em}
.service-number.personal{border-color:rgba(208,177,124,.4);color:#d0b17c}


/* Version 38.1 — Division strength and roster panels */
.division-strength-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:2rem 0 2.5rem}.strength-total,.strength-card{min-height:140px;border:1px solid rgba(209,190,139,.34);background:linear-gradient(145deg,rgba(20,25,18,.94),rgba(7,10,7,.93));padding:1.25rem;text-align:left;color:inherit;box-shadow:0 16px 40px rgba(0,0,0,.25)}.strength-total{display:flex;flex-direction:column;justify-content:center}.strength-card{cursor:pointer;font:inherit;transition:transform .2s ease,border-color .2s ease}.strength-card:hover{transform:translateY(-3px);border-color:rgba(223,199,128,.75)}.strength-total span,.strength-card span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#cbbd93}.strength-total strong,.strength-card strong{display:block;font-family:var(--heading-font,Georgia,serif);font-size:2.5rem;line-height:1;margin:.55rem 0}.strength-total small,.strength-card small{color:rgba(255,255,255,.6)}.division-roster-panels{display:grid;gap:1rem}.division-panel{scroll-margin-top:90px;border:1px solid rgba(209,190,139,.28);background:rgba(10,13,9,.92)}.division-panel>summary{list-style:none;cursor:pointer;padding:1.25rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(90deg,rgba(98,78,37,.25),transparent)}.division-panel>summary::-webkit-details-marker{display:none}.division-panel>summary span{display:grid;gap:.2rem}.division-panel>summary small,.company-roster-block header small{font-size:.65rem;letter-spacing:.18em;color:#bcae83}.division-panel>summary strong{font-family:var(--heading-font,Georgia,serif);font-size:1.45rem;text-transform:uppercase}.division-panel>summary b{font-size:.8rem;color:#d4c69b}.division-panel-body{padding:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.company-roster-block{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}.company-roster-block header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.company-roster-block h3{margin:.2rem 0 0;font-size:1.05rem}.company-roster-block header>span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:rgba(197,174,105,.14);color:#dacb9b;font-weight:800}.company-member-list{padding:.5rem}.homepage-member-row{display:grid;grid-template-columns:38px minmax(90px,.8fr) minmax(120px,1fr);grid-template-areas:"avatar rank id" "avatar name role";gap:.1rem .7rem;align-items:center;padding:.7rem;border-bottom:1px solid rgba(255,255,255,.07);color:inherit;text-decoration:none;transition:background .18s ease}.homepage-member-row:hover{background:rgba(210,190,130,.08)}.homepage-member-row img{grid-area:avatar;width:38px;height:38px;object-fit:cover;border-radius:3px}.homepage-member-rank{grid-area:rank;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#cdbf94}.homepage-member-row strong{grid-area:name;font-size:.9rem}.homepage-member-row small{grid-area:role;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-member-row b{grid-area:id;justify-self:end;font-size:.72rem;color:#d3c18a}.empty-company{padding:1rem;color:rgba(255,255,255,.5);font-size:.85rem}.homepage-roster-message{margin-top:1rem;color:#d5c28b}.service-number-admin-block+.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.division-strength-grid{grid-template-columns:repeat(3,1fr)}.division-panel-body{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.division-strength-grid{grid-template-columns:repeat(2,1fr)}.strength-total{grid-column:1/-1}.division-panel-body{grid-template-columns:1fr}.division-panel>summary{align-items:flex-start}.homepage-member-row{grid-template-columns:36px 1fr auto;grid-template-areas:"avatar rank id" "avatar name id" "avatar role id"}.service-number-admin-block+.form-grid{grid-template-columns:1fr}}


/* Version 39 — Command Headquarters and full online/offline roster */
.hq-clock{min-width:135px;padding:12px 16px;border:1px solid rgba(209,190,139,.3);text-align:center;background:rgba(0,0,0,.2)}.hq-clock span{display:block;font-size:.58rem;letter-spacing:.16em;color:var(--muted)}.hq-clock strong{display:block;margin-top:5px;font-family:ui-monospace,monospace;font-size:1.25rem}.hq-metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1rem}.hq-metric-grid article{padding:1.2rem;border:1px solid rgba(209,190,139,.28);background:linear-gradient(145deg,rgba(29,35,24,.96),rgba(9,12,8,.96))}.hq-metric-grid span,.hq-metric-grid small{display:block}.hq-metric-grid span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#c9bb91}.hq-metric-grid strong{display:block;margin:.45rem 0;font-size:2.25rem}.hq-metric-grid small{color:rgba(255,255,255,.5)}.hq-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:1rem;margin-bottom:1rem}.hq-division-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.hq-division-card{border:1px solid rgba(209,190,139,.22);background:rgba(255,255,255,.025)}.hq-division-card header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.hq-division-card header small{font-size:.58rem;letter-spacing:.15em;color:#bcae83}.hq-division-card h3{margin:.2rem 0 0}.hq-division-card header strong{font-size:2rem}.hq-division-card a{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);color:inherit;text-decoration:none}.hq-division-card a small{grid-column:1/-1;color:rgba(255,255,255,.48)}.presence-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:1rem;font-size:.72rem;color:var(--muted)}.presence-legend span{display:flex;align-items:center;gap:.4rem}.presence-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#777;box-shadow:0 0 0 2px rgba(255,255,255,.08)}.presence-dot.online{background:#3ecf6b;box-shadow:0 0 8px rgba(62,207,107,.65)}.presence-dot.idle{background:#e7b84a}.presence-dot.dnd{background:#d84e4e}.presence-dot.offline{background:#72777d}.hq-presence-list{max-height:565px;overflow:auto}.hq-presence-list a{display:grid;grid-template-columns:38px 1fr auto;gap:.7rem;align-items:center;padding:.7rem;border-bottom:1px solid rgba(255,255,255,.07);color:inherit;text-decoration:none}.hq-presence-list img,.hq-action-list img{width:38px;height:38px;border-radius:3px;object-fit:cover}.hq-presence-list span strong,.hq-presence-list span small{display:block}.hq-presence-list span small{margin-top:3px;color:rgba(255,255,255,.5);font-size:.7rem}.hq-action-list article{display:grid;grid-template-columns:42px 1fr auto;gap:.8rem;align-items:center;padding:.8rem;border-bottom:1px solid rgba(255,255,255,.07)}.hq-action-list div strong,.hq-action-list div small{display:block}.hq-action-list small{color:var(--muted)}.hq-action-list>article>span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#d9bd71}.roster-presence{grid-column:2/-1;display:flex;align-items:center;gap:.35rem;font-size:.64rem;color:rgba(255,255,255,.55)}
@media(max-width:1050px){.hq-metric-grid{grid-template-columns:repeat(3,1fr)}.hq-layout{grid-template-columns:1fr}}@media(max-width:700px){.hq-metric-grid{grid-template-columns:repeat(2,1fr)}.hq-division-grid{grid-template-columns:1fr}.hq-clock{display:none}}


/* v40 accessibility: high-contrast, readable action buttons */
.btn, button.btn {
  min-height: 48px;
  padding: .78rem 1.15rem;
  border: 2px solid transparent;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0,0,0,.75);
  cursor: pointer;
}
.btn.primary, .submit-application {
  color: #fff !important;
  background: #2f7d32 !important;
  border-color: #78c67a !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.35);
}
.btn.secondary {
  color: #fff !important;
  background: #315b82 !important;
  border-color: #82b1dc !important;
}
.btn.save-draft, .save-draft {
  color: #171208 !important;
  background: #e6bd55 !important;
  border-color: #fff0a8 !important;
  text-shadow: none;
}
.btn.danger {
  color: #fff !important;
  background: #8d2828 !important;
  border-color: #ef8d8d !important;
}
.btn:hover, button.btn:hover { filter: brightness(1.13); transform: translateY(-1px); }
.btn:focus-visible, button.btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.btn:disabled, button.btn:disabled { opacity: .58; cursor: not-allowed; }
.application-state { font-weight: 900 !important; letter-spacing: .07em; }
.application-state.draft { color: #1d1708 !important; background: #e6bd55 !important; border-color: #fff0a8 !important; }
.application-state.pending { color: #fff !important; background: #315b82 !important; border-color: #82b1dc !important; }
.metric-grid-five { grid-template-columns: repeat(5,minmax(0,1fr)); }
@media(max-width:900px){.metric-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .form-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .form-actions .btn { width:100%; }
  .metric-grid-five{grid-template-columns:1fr 1fr}
}

/* v41 live Discord roster */
.roster-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);background:rgba(10,13,9,.55)}
.roster-summary span{color:var(--muted);font-size:.9rem}
.live-member-card{min-width:0}
.live-member-card>div{min-width:0}
.live-member-card h3,.live-member-card span,.live-member-card .eyebrow{overflow-wrap:anywhere}
@media(max-width:650px){.roster-tools{display:grid;grid-template-columns:1fr}.roster-tools input,.roster-tools select{width:100%;min-width:0}.roster-summary{align-items:flex-start;flex-direction:column;gap:4px}.live-member-card{padding:15px;gap:12px}}
/* =========================================================
   TACTICAL PLANNER - OBJECTIVES
   ========================================================= */

.objective-toolbar {
  margin: 10px 0 14px;
}

#clear-all-objectives {
  width: 100%;
  font-size: 12px;
  padding: 8px 10px;
}

.objective-group {
  border-top: 1px solid rgba(184, 194, 141, 0.25);
  padding: 12px 0;
}

.objective-group:first-of-type {
  border-top: 0;
}

.objective-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.objective-group-title {
  margin: 0;
  color: #d8d09a;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 13px;
}

.objective-remove-section {
  border: 1px solid rgba(196, 102, 91, 0.75);
  background: rgba(90, 25, 20, 0.3);
  color: #e7a29a;
  padding: 4px 7px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.objective-remove-section:hover:not(:disabled) {
  background: rgba(130, 35, 28, 0.5);
}

.objective-remove-section:disabled {
  opacity: 0.25;
  cursor: default;
}

.objective-choice {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 7px 0;
  cursor: pointer;
}

.objective-choice input {
  flex: 0 0 auto;
}

.objective-choice span {
  line-height: 1.2;
}

/* Keep the tactical canvas directly over the map image */
.planner-board {
  position: relative;
}

#planner-map-image,
#planner-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

#planner-map-image {
  z-index: 1;
}

#planner-canvas {
  z-index: 2;
}
/* =========================================================
   MAP PLANNER — RESPONSIVE COMMAND INTERFACE
   ========================================================= */

.map-planner-page {
  overflow-x: hidden;
}

.planner-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}


/* COMMAND PANEL */

.planner-command-panel {
  position: sticky;
  top: 82px;
  max-height: calc(100vh - 100px);
  border: 1px solid rgba(205, 201, 149, .2);
  background: rgba(5, 8, 5, .96);
  overflow: hidden;
}

.planner-panel-topbar {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(205, 201, 149, .16);
  background: rgba(0, 0, 0, .28);
}

.planner-panel-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  flex: 1;
}

.planner-panel-tab {
  min-height: 48px;
  border: 0;
  border-right: 1px solid rgba(205, 201, 149, .12);
  background: transparent;
  color: #d8d09a;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
}

.planner-panel-tab:hover,
.planner-panel-tab.active {
  background: rgba(216, 208, 154, .13);
  color: #fff;
}

.planner-mobile-close {
  display: none;
}

.planner-panel-scroll {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.planner-tab-panel {
  display: none;
  padding: 10px;
}

.planner-tab-panel.active {
  display: block;
}

.planner-tab-panel .command-card {
  margin: 0 0 10px;
}

.planner-tab-panel .command-card:last-child {
  margin-bottom: 0;
}


/* TOUCH TARGETS */

.planner-command-panel button,
.planner-command-panel select,
.planner-command-panel input,
.planner-command-panel textarea {
  touch-action: manipulation;
}

.planner-command-panel select,
.planner-command-panel input:not([type="range"]),
.planner-command-panel textarea {
  width: 100%;
  min-height: 42px;
}

.planner-command-panel textarea {
  min-height: 130px;
}

.planner-command-panel label {
  display: block;
  margin-bottom: 12px;
}

.tool-grid,
.marker-palette {
  gap: 8px;
}

.tool-grid button,
.marker-palette button {
  min-height: 44px;
  padding: 9px 10px;
}


/* OBJECTIVE TOUCH ROWS */

#planner-objective-groups label {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}

#planner-objective-groups input[type="radio"],
#planner-objective-groups input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}


/* MAP */

.planner-board-wrap {
  min-width: 0;
}

.planner-board {
  touch-action: none;
}


/* MOBILE NAV HIDDEN ON DESKTOP */

.planner-mobile-nav {
  display: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

  .planner-workspace {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 10px;
  }

  .planner-heading h1 {
    font-size: clamp(2rem, 5vw, 4rem);
  }

}


/* =========================================================
   PHONE / PORTRAIT TABLET
   ========================================================= */

@media (max-width: 800px) {

  body.map-planner-page {
    padding-bottom: 72px;
  }

  .map-planner-page .nav-wrap {
    min-height: 54px;
    padding: 6px 10px;
  }

  .map-planner-page .brand span {
    display: none;
  }

  .map-planner-page .brand img {
    width: 42px;
    height: 42px;
  }

  .map-planner-page .nav-links a {
    display: none;
  }

  .map-planner-page #print-plan {
    display: none;
  }

  .map-planner-shell {
    width: 100%;
    padding: 8px;
  }

  .planner-heading {
    display: block;
    margin-bottom: 8px;
  }

  .planner-heading h1 {
    margin: 0;
    font-size: clamp(2rem, 11vw, 3.2rem);
    line-height: .95;
  }

  .planner-plan-controls {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    gap: 6px;
    margin-top: 10px;
  }

  .planner-plan-controls label {
    min-width: 0;
    font-size: .7rem;
  }

  .planner-plan-controls select {
    width: 100%;
    min-height: 42px;
  }

  .planner-plan-controls .btn {
    min-height: 42px;
    padding: 8px 10px;
  }

  .planner-workspace {
    display: block;
  }

  .planner-board-wrap {
    width: 100%;
  }

  .planner-board {
    width: 100%;
    max-width: none;
  }

  .planner-command-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 64px;
    top: auto;
    z-index: 5000;
    width: 100%;
    max-height: min(72vh, 680px);
    border-radius: 18px 18px 0 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    box-shadow: 0 -14px 40px rgba(0,0,0,.55);
    transform: translateY(calc(100% + 80px));
    transition: transform .2s ease;
    overscroll-behavior: contain;
  }

  body.planner-sheet-open .planner-command-panel {
    transform: translateY(0);
  }

  .planner-panel-topbar {
    position: sticky;
    top: 0;
    z-index: 4;
    min-height: 54px;
    background: #090d09;
  }

  .planner-panel-tab {
    display: none;
  }

  .planner-mobile-close {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
  }

  .planner-panel-tabs::before {
    content: "COMMAND PANEL";
    display: flex;
    align-items: center;
    height: 52px;
    padding-left: 16px;
    color: #d8d09a;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .1em;
  }

  .planner-panel-scroll {
    max-height: calc(72vh - 54px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .planner-tab-panel {
    padding: 10px;
  }

  .planner-command-panel select,
  .planner-command-panel input:not([type="range"]),
  .planner-command-panel textarea {
    min-height: 48px;
    font-size: 16px;
  }

  .planner-command-panel textarea {
    min-height: 140px;
  }

  .tool-grid button,
  .marker-palette button,
  .planner-roster-player,
  .planner-command-panel .btn {
    min-height: 48px;
  }

  #planner-objective-groups label {
    min-height: 46px;
    padding: 5px 0;
    font-size: .95rem;
  }

  #planner-objective-groups input[type="radio"],
  #planner-objective-groups input[type="checkbox"] {
    width: 22px;
    height: 22px;
  }

  .planner-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6000;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    border-top: 1px solid rgba(216,208,154,.2);
    background: rgba(7,10,7,.98);
    box-shadow: 0 -8px 28px rgba(0,0,0,.45);
  }

  .planner-mobile-tab {
    min-height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.7);
    font: inherit;
    font-size: .67rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    touch-action: manipulation;
  }

  .planner-mobile-tab span {
    font-size: 1.25rem;
    line-height: 1;
  }

  .planner-mobile-tab.active {
    color: #d8d09a;
    background: rgba(216,208,154,.08);
  }

  .planner-stat-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .planner-roster-player {
    grid-template-columns: 40px minmax(0,1fr) auto;
  }

  .planner-roster-player-avatar {
    width: 40px;
    height: 40px;
  }

}


/* =========================================================
   VERY SMALL PHONE
   ========================================================= */

@media (max-width: 480px) {

  .planner-plan-controls {
    grid-template-columns: minmax(0,1fr) auto auto;
  }

  .planner-plan-controls .btn {
    font-size: .7rem;
  }

  .planner-stat-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .planner-roster-player-stat {
    font-size: .67rem;
  }

}
/* =========================================================
   MAP PLANNER ZOOM
   ========================================================= */

.planner-zoom-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 8px;
}

#planner-zoom-level {
  min-width: 58px;
  text-align: center;
  font-weight: 700;
}

.planner-board-wrap {
  overflow: auto;
}

.planner-board {
  transform-origin: top left;
}
/* Map zoom / pan behavior */

.planner-board-wrap {
  overflow: hidden;
}

.planner-board {
  transform-origin: top left;
  will-change: transform;
}

.planner-board:active {
  user-select: none;
}
/* =========================================================
   MAP PLANNER — SELECTABLE UNIT CARDS
   ========================================================= */

.planner-map-unit {
  position: relative;
  display: block;

  margin-bottom: 10px;
  padding: 12px;

  cursor: pointer;

  background:
    linear-gradient(
      180deg,
      rgba(54, 62, 38, .96),
      rgba(35, 40, 25, .96)
    );

  border:
    1px solid rgba(128, 132, 88, .75);

  border-left:
    4px solid #8f935e;

  border-radius: 4px;

  color: #eee5c7;

  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 2px 5px rgba(0,0,0,.25);

  transition:
    background .15s ease,
    border-color .15s ease,
    transform .15s ease;
}


/* Unit heading */

.planner-map-unit
.planner-roster-group-header {
  padding: 0 !important;

  background:
    transparent !important;

  border: 0 !important;
}


.planner-map-unit
.planner-roster-group-header strong {
  color: #f0e7c7;

  font-size: .9rem;

  letter-spacing: .04em;

  text-transform: uppercase;
}


/* Officer / leader */

.planner-map-unit
.planner-roster-group-meta {
  margin-top: 5px;

  color: #c8c09e;

  font-size: .77rem;
}


/* Hover */

.planner-map-unit:hover {
  background:
    linear-gradient(
      180deg,
      rgba(70, 79, 46, .98),
      rgba(42, 48, 29, .98)
    );

  border-color: #b4b97b;

  transform: translateY(-1px);
}


/* Selected unit */

.planner-map-unit.map-unit-selected {
  background:
    linear-gradient(
      180deg,
      rgba(86, 98, 52, .98),
      rgba(48, 57, 31, .98)
    );

  border-color: #d4d69a;

  border-left-color: #d4d69a;

  box-shadow:
    inset 0 0 0 1px rgba(212,214,154,.30),
    0 0 0 1px rgba(212,214,154,.12);
}


/* Selected indicator */

.planner-map-unit.map-unit-selected::after {
  content: "SELECTED";

  position: absolute;

  top: 8px;
  right: 9px;

  padding: 2px 5px;

  color: #2c301d;

  background: #d4d69a;

  font-size: .58rem;

  font-weight: 800;

  letter-spacing: .05em;

  border-radius: 2px;
}


/* =========================================================
   UNIT MOVE / REMOVE BUTTONS
   ========================================================= */

.planner-map-unit-actions {
  display: flex;

  gap: 6px;

  margin-top: 9px;
}


.planner-unit-action {
  flex: 1;

  min-height: 30px;

  padding: 5px 8px;

  font-size: .68rem;

  text-transform: uppercase;

  letter-spacing: .04em;
}


.planner-unit-action.danger {
  border-color:
    rgba(161, 86, 67, .7);

  color: #dfa596;
}


.planner-unit-action.danger:hover {
  background:
    rgba(110, 45, 35, .55);

  border-color:
    rgba(190, 95, 75, .9);
}
/* =========================================================
   MAP PLANNER — COMPACT UNIT CARDS
   ========================================================= */

.planner-map-unit {
  padding: 9px 10px;
  margin-bottom: 7px;
}

.planner-map-unit
.planner-roster-group-header strong {
  font-size: .82rem;
}

.planner-map-unit
.planner-roster-group-meta {
  margin-top: 3px;
  font-size: .72rem;
}

.planner-map-unit-actions {
  margin-top: 7px;
  gap: 5px;
}

.planner-unit-action {
  min-height: 28px;
  padding: 4px 6px;
  font-size: .64rem;
}
/* =========================================================
   MAP PLANNER — TACTICAL DRAWING CONTROLS
   ========================================================= */

.planner-drawing-card {
  display: grid;
  gap: 14px;
}

.planner-drawing-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.planner-drawing-tool {
  min-height: 38px;
  padding: 8px 10px;

  border: 1px solid #596044;

  background:
    linear-gradient(
      180deg,
      #303824,
      #202619
    );

  color: #eee4c4;

  font-size: .72rem;
  font-weight: 800;

  letter-spacing: .04em;
  text-transform: uppercase;

  cursor: pointer;
}

.planner-drawing-tool:hover {
  border-color: #929b64;

  background:
    linear-gradient(
      180deg,
      #3d482c,
      #282f1f
    );
}

.planner-drawing-tool.active {
  border-color: #d5d38c;

  background:
    linear-gradient(
      180deg,
      #59633a,
      #373f27
    );

  color: #fff8d7;

  box-shadow:
    inset 0 0 0 1px rgba(213, 211, 140, .25);
}


/* Make SELECT / EDIT span the full width */

.planner-drawing-tool[data-planner-draw-tool="select"] {
  grid-column: 1 / -1;
}


/* Drawing options */

.planner-drawing-options {
  display: grid;
  gap: 10px;
}

.planner-drawing-options label {
  display: grid;
  gap: 5px;
}

.planner-drawing-options select {
  width: 100%;
  min-height: 40px;
}


/* Delete / clear actions */

.planner-drawing-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.planner-delete-drawing,
.planner-clear-drawings {
  min-height: 38px;

  padding: 7px 8px;

  font-size: .67rem;
  font-weight: 800;

  letter-spacing: .03em;
  text-transform: uppercase;
}

.planner-delete-drawing {
  border-color: rgba(164, 107, 66, .8);

  background: #493521;

  color: #f0d1ae;
}

.planner-delete-drawing:hover {
  background: #62472c;
}

.planner-clear-drawings {
  border-color: rgba(154, 70, 60, .8);

  background: #572b27;

  color: #f1c0b7;
}

.planner-clear-drawings:hover {
  background: #713832;
}
/* =========================================================
   MAP PLANNER — TACTICAL MARKERS
========================================================= */

.planner-marker-card {
  display: grid;
  gap: 14px;
}

.planner-marker-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.planner-marker-button,
.planner-text-button {
  min-height: 38px;
  padding: 8px 10px;

  border: 1px solid #596044;
  border-radius: 0;

  background:
    linear-gradient(
      180deg,
      #363824,
      #292a1c
    );

  color: #f4f0df;

  font: inherit;
  font-size: .72rem;
  font-weight: 800;

  letter-spacing: .02em;
  text-transform: uppercase;

  cursor: pointer;
}

.planner-marker-button:hover,
.planner-text-button:hover {
  border-color: #aeb477;
  background:
    linear-gradient(
      180deg,
      #4b4e2d,
      #343621
    );
}

.planner-marker-button.is-active {
  border-color: #d8d09a;

  background:
    linear-gradient(
      180deg,
      #656638,
      #464725
    );

  box-shadow:
    inset 0 0 0 1px
    rgba(255, 255, 255, .08);
}

.planner-text-button {
  width: 100%;
}
/* =========================================================
   CINEMATIC INTRO — ENTRY BUTTONS + HEAVIER SMOKE
   ========================================================= */

.intro-entry-actions {
  position: absolute;
  left: 50%;
  bottom: 9vh;

  transform: translateX(-50%);

  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 12px;

  width: min(560px, calc(100vw - 32px));

  z-index: 20;
}


.intro-entry-actions button {
  min-height: 64px;

  padding: 12px 16px;

  border: 1px solid rgba(190, 181, 130, .65);

  background:
    linear-gradient(
      180deg,
      rgba(58, 64, 41, .94),
      rgba(29, 34, 22, .96)
    );

  color: #f2ead0;

  font: inherit;

  cursor: pointer;

  text-transform: uppercase;

  letter-spacing: .05em;

  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 4px 12px rgba(0,0,0,.4);
}


.intro-entry-actions button:hover {
  border-color: #d3cd8d;

  background:
    linear-gradient(
      180deg,
      rgba(77, 86, 49, .98),
      rgba(39, 46, 27, .98)
    );
}


.intro-entry-actions button span {
  display: block;

  font-size: .95rem;

  font-weight: 800;
}


.intro-entry-actions button small {
  display: block;

  margin-top: 4px;

  color: #bfb79a;

  font-size: .68rem;

  letter-spacing: .04em;
}


/* Headquarters gets the stronger emphasis */

#enter-headquarters {
  border-color: rgba(211, 205, 141, .85);
}


/* Public home is slightly quieter */

#enter-home {
  opacity: .9;
}


/* =========================================================
   EXTRA INTRO SMOKE
   ========================================================= */

.motto-smoke-three,
.motto-smoke-four {
  position: absolute;

  width: 55vw;
  height: 55vw;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(55px);

  opacity: .32;

  z-index: 5;

  background:
    radial-gradient(
      circle,
      rgba(104, 108, 91, .34) 0%,
      rgba(69, 73, 60, .24) 34%,
      rgba(23, 27, 22, 0) 72%
    );

  animation:
    intro-smoke-drift 18s ease-in-out infinite alternate;
}


.motto-smoke-three {
  left: -16vw;
  bottom: -20vw;
}


.motto-smoke-four {
  right: -18vw;
  top: -18vw;

  animation-delay: -8s;
}


@keyframes intro-smoke-drift {

  0% {
    transform:
      translate3d(
        -3%,
        2%,
        0
      )
      scale(1);
  }

  100% {
    transform:
      translate3d(
        8%,
        -5%,
        0
      )
      scale(1.16);
  }

}


/* subtle radio haze/static layer */

.intro-radio-static {
  position: absolute;
  inset: 0;

  pointer-events: none;

  z-index: 6;

  opacity: .07;

  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.07) 0,
      rgba(255,255,255,.07) 1px,
      transparent 1px,
      transparent 3px
    );

  animation:
    intro-radio-flicker .16s steps(2) infinite;
}


@keyframes intro-radio-flicker {

  0% {
    opacity: .035;
  }

  50% {
    opacity: .075;
  }

  100% {
    opacity: .045;
  }

}


@media (max-width: 650px) {

  .intro-entry-actions {
    grid-template-columns: 1fr;

    bottom: 5vh;
  }

  .intro-entry-actions button {
    min-height: 56px;
  }

}
/* =========================================================
   34ID — COMMAND HEADER V2
   FINAL NAVIGATION OVERRIDES
   ========================================================= */

.nav-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  height: 76px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 24px;

  padding:
    0
    clamp(18px, 3.5vw, 58px);

  z-index: 1000;

  background:
    linear-gradient(
      180deg,
      rgba(8, 10, 8, .98) 0%,
      rgba(8, 10, 8, .94) 72%,
      rgba(8, 10, 8, .88) 100%
    );

  border-bottom:
    1px solid
    rgba(184, 194, 141, .18);

  box-shadow:
    0 10px 32px
    rgba(0, 0, 0, .28);

  backdrop-filter:
    blur(14px);

  -webkit-backdrop-filter:
    blur(14px);
}


/* ---------------------------------------------------------
   DIVISION BRAND
   --------------------------------------------------------- */

.nav-wrap .brand {
  display: flex;
  align-items: center;

  flex: 0 0 auto;

  gap: 11px;

  min-width: max-content;

  color: #e7e5d8;

  font-size: .69rem;
  font-weight: 900;

  letter-spacing: .13em;
  line-height: 1;

  text-transform: uppercase;

  transition:
    color .2s ease,
    transform .2s ease;
}


.nav-wrap .brand:hover {
  color: #f3f0df;

  transform:
    translateY(-1px);
}


.nav-wrap .brand img {
  width: 43px;
  height: 43px;

  object-fit: contain;

  flex: 0 0 auto;

  filter:
    drop-shadow(
      0 3px 7px
      rgba(0, 0, 0, .55)
    );
}


/* ---------------------------------------------------------
   PRIMARY NAVIGATION
   --------------------------------------------------------- */

.nav-wrap .nav-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  gap: clamp(14px, 1.7vw, 26px);

  min-width: 0;

  margin-left: auto;

  font-size: .67rem;
  font-weight: 900;

  letter-spacing: .11em;

  text-transform: uppercase;
}


.nav-wrap .nav-links > a {
  position: relative;

  display: inline-flex;
  align-items: center;

  min-height: 42px;

  padding: 0 2px;

  color: #c8c8bb;

  white-space: nowrap;

  transition:
    color .18s ease,
    transform .18s ease;
}


.nav-wrap .nav-links > a:hover {
  color: #f0eedf;

  transform:
    translateY(-1px);
}


/* ---------------------------------------------------------
   NAV UNDERLINE / ACTIVE INDICATOR
   --------------------------------------------------------- */

.nav-wrap .nav-links > a:not(.discord-link)::after {
  content: "";

  position: absolute;

  left: 50%;
  right: auto;
  bottom: 3px;

  width: 0;
  height: 2px;

  transform:
    translateX(-50%);

  background:
    linear-gradient(
      90deg,
      #747b50,
      #c4c88d,
      #747b50
    );

  box-shadow:
    0 0 8px
    rgba(184, 194, 141, .25);

  transition:
    width .2s ease;
}


.nav-wrap .nav-links > a:not(.discord-link):hover::after,
.nav-wrap .nav-links > a.active:not(.discord-link)::after {
  right: auto;

  width: 100%;
}


/* ---------------------------------------------------------
   MEMBER / LOGIN / ADMIN BUTTONS
   --------------------------------------------------------- */

.nav-wrap .member-login-link,
.nav-wrap .nav-action,
.nav-wrap .admin-nav-primary {
  min-height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0 13px;

  border:
    1px solid
    rgba(154, 166, 109, .42);

  border-radius: 2px;

  background:
    linear-gradient(
      180deg,
      rgba(48, 53, 35, .78),
      rgba(26, 30, 21, .82)
    );

  color: #e4e1cf;

  font: inherit;

  font-size: .64rem;
  font-weight: 900;

  letter-spacing: .09em;

  text-transform: uppercase;

  white-space: nowrap;

  cursor: pointer;

  box-shadow:
    inset 0 0 0 1px
    rgba(255, 255, 255, .025);

  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}


.nav-wrap .member-login-link:hover,
.nav-wrap .nav-action:hover,
.nav-wrap .admin-nav-primary:hover {
  border-color:
    rgba(197, 202, 143, .8);

  background:
    linear-gradient(
      180deg,
      rgba(67, 73, 45, .9),
      rgba(35, 40, 26, .92)
    );

  color: #fffced;

  transform:
    translateY(-1px);
}


/* ---------------------------------------------------------
   SCROLLED HEADER
   --------------------------------------------------------- */

.nav-wrap.scrolled {
  background:
    rgba(7, 9, 7, .985);

  border-bottom-color:
    rgba(184, 194, 141, .28);

  box-shadow:
    0 12px 38px
    rgba(0, 0, 0, .42);
}


/* ---------------------------------------------------------
   LARGE / MEDIUM DESKTOP
   --------------------------------------------------------- */

@media (max-width: 1180px) {

  .nav-wrap {
    padding:
      0
      20px;
  }

  .nav-wrap .nav-links {
    gap: 14px;

    font-size: .62rem;

    letter-spacing: .08em;
  }

  .nav-wrap .brand {
    font-size: .63rem;
  }

  .nav-wrap .brand img {
    width: 40px;
    height: 40px;
  }

}


/* ---------------------------------------------------------
   MOBILE NAVIGATION
   --------------------------------------------------------- */

@media (max-width: 900px) {

  .nav-wrap {
    height: 68px;

    padding:
      0
      16px;
  }


  .nav-wrap .brand img {
    width: 39px;
    height: 39px;
  }


  .nav-wrap .menu-btn {
    display: block;

    flex: 0 0 auto;
  }


  .nav-wrap .nav-links {
    display: none;

    position: absolute;

    top: 68px;
    left: 0;
    right: 0;

    width: 100%;

    max-height:
      calc(100vh - 68px);

    overflow-y: auto;

    padding:
      12px
      16px
      20px;

    gap: 3px;

    flex-direction: column;
    align-items: stretch;

    background:
      rgba(8, 10, 8, .985);

    border-top:
      1px solid
      rgba(255, 255, 255, .05);

    border-bottom:
      1px solid
      rgba(184, 194, 141, .22);

    box-shadow:
      0 20px 40px
      rgba(0, 0, 0, .5);
  }


  .nav-wrap .nav-links.open {
    display: flex;
  }


  .nav-wrap .nav-links > a {
    width: 100%;

    min-height: 44px;

    padding:
      0
      11px;

    border-bottom:
      1px solid
      rgba(255, 255, 255, .055);
  }


  .nav-wrap .nav-links > a:not(.discord-link)::after {
    display: none;
  }


  .nav-wrap .member-login-link,
  .nav-wrap .nav-action,
  .nav-wrap .admin-nav-primary {
    width: 100%;

    min-height: 44px;

    margin-top: 5px;
  }

}


/* ---------------------------------------------------------
   SMALL PHONE
   --------------------------------------------------------- */

@media (max-width: 620px) {

  .nav-wrap .brand span {
    display: block;

    max-width: 170px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    font-size: .59rem;

    letter-spacing: .09em;
  }

}
/* =========================================================
   34ID MAP PLANNER — DESKTOP COMMAND LAYOUT
   ========================================================= */

@media (min-width: 901px) {

  /* Main site header */
  .map-planner-page .nav-wrap {
    height: 64px;
    padding: 0 20px;
  }

  .map-planner-page .nav-wrap .brand {
    gap: 9px;
    font-size: .63rem;
  }

  .map-planner-page .nav-wrap .brand img {
    width: 40px;
    height: 40px;
  }

  .map-planner-page .nav-wrap .nav-links {
    gap: 14px;
    font-size: .61rem;
  }

  /* Print should be a utility control */
  .map-planner-page #print-plan {
    min-height: 38px;
    padding: 0 16px;
    font-size: .63rem;
  }


  /* =====================================================
     PLANNER MAIN AREA
     ===================================================== */

  .map-planner-page .map-planner-shell {
    padding-top: 78px;
    width: calc(100% - 40px);
    max-width: none;
    margin: 0 auto;
  }


  /* =====================================================
     MAP TITLE / SAVE COMMAND BAR
     ===================================================== */

  .map-planner-page .planner-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;

    min-height: 82px;

    margin: 0 0 12px;
    padding: 8px 0 12px;

    border-bottom:
      1px solid rgba(184, 194, 141, .16);
  }

  .map-planner-page .planner-heading > div:first-child {
    min-width: 0;
  }

  .map-planner-page #planner-game {
    margin: 0 0 2px;

    font-size: .57rem;
    letter-spacing: .18em;
  }

  .map-planner-page #planner-map-name {
    margin: 0;

    font-family:
      Impact,
      Haettenschweiler,
      "Arial Narrow Bold",
      sans-serif;

    font-size: clamp(2.2rem, 4vw, 3.8rem);

    line-height: .9;

    letter-spacing: .015em;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }


  /* Save controls */
  .map-planner-page .planner-plan-controls {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    gap: 10px;

    margin: 0;
  }

  .map-planner-page .planner-plan-controls label {
    display: grid;
    gap: 4px;

    margin: 0;

    font-size: .58rem;
    font-weight: 900;

    letter-spacing: .1em;

    text-transform: uppercase;

    color: #aaa996;
  }

  .map-planner-page #plan-selector {
    height: 40px;
    min-width: 175px;

    padding: 0 9px;
  }

  .map-planner-page #new-plan,
  .map-planner-page #save-plan {
    min-height: 40px;
    height: 40px;

    padding: 0 16px;

    font-size: .63rem;
  }


  /* =====================================================
     WORKSPACE
     ===================================================== */

  .map-planner-page .planner-workspace {
    display: grid;

    grid-template-columns:
      280px
      minmax(0, 1fr);

    gap: 12px;

    align-items: start;
  }


  /* =====================================================
     LEFT COMMAND PANEL
     ===================================================== */

  .map-planner-page .planner-command-panel {
    width: 280px;

    height:
      calc(100vh - 170px);

    min-height: 620px;

    overflow: hidden;
  }

  .map-planner-page .planner-panel-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    width: 100%;
  }

  .map-planner-page .planner-panel-tab {
    min-width: 0;

    padding: 15px 4px;

    font-size: .58rem;

    letter-spacing: .07em;
  }

  .map-planner-page .planner-panel-scroll {
    height:
      calc(100% - 50px);

    overflow-y: auto;
    overflow-x: hidden;
  }

  .map-planner-page .planner-panel-scroll .command-card {
    padding: 20px 18px;
  }


  /* =====================================================
     MAP AREA
     ===================================================== */

  .map-planner-page .planner-board-wrap {
    position: relative;

    min-width: 0;

    padding-top: 48px;
  }


  /* Zoom toolbar belongs to map */
  .map-planner-page .planner-zoom-controls {
    position: absolute;

    top: 0;
    right: 0;

    z-index: 20;

    display: flex;
    align-items: center;

    gap: 7px;

    height: 40px;
  }

  .map-planner-page .planner-zoom-controls .btn {
    width: 40px;
    min-width: 40px;
    min-height: 38px;
    height: 38px;

    padding: 0;
  }

  .map-planner-page #planner-zoom-reset {
    width: auto;
    min-width: 66px;

    padding: 0 12px;
  }

  .map-planner-page #planner-zoom-level {
    min-width: 52px;

    text-align: center;

    font-size: .72rem;
    font-weight: 900;
  }


  /* Map itself */
  .map-planner-page .planner-board {
    width: 100%;

    margin: 0;

    overflow: hidden;

    border:
      1px solid rgba(184, 194, 141, .28);

    background: #050705;

    box-shadow:
      0 15px 45px rgba(0, 0, 0, .3);
  }

  .map-planner-page #planner-map-image {
    display: block;

    max-width: 100%;
  }

}


/* =========================================================
   MAP PLANNER — LARGE MONITORS
   ========================================================= */

@media (min-width: 1400px) {

  .map-planner-page .map-planner-shell {
    width: calc(100% - 64px);
  }

  .map-planner-page .planner-workspace {
    grid-template-columns:
      310px
      minmax(0, 1fr);

    gap: 18px;
  }

  .map-planner-page .planner-command-panel {
    width: 310px;
  }

}
/* =========================================================
   34ID MAP PLANNER — POLISH PASS
   ========================================================= */

@media (min-width: 901px) {

  .map-planner-page .nav-wrap {
    height: 60px;
  }

  .map-planner-page .map-planner-shell {
    padding-top: 70px;
  }

  .map-planner-page .planner-heading {
    min-height: 74px;
    margin-bottom: 8px;
    padding-bottom: 8px;
  }

  .map-planner-page #planner-map-name {
    font-size: clamp(2rem, 3.5vw, 3.35rem);
  }

  .map-planner-page .planner-board-wrap {
    padding-top: 44px;
  }

  .map-planner-page .planner-workspace {
    gap: 10px;
  }

  .map-planner-page .planner-command-panel {
    width: 280px;
    border:
      1px solid rgba(184, 194, 141, .18);
    background:
      rgba(9, 12, 9, .96);
  }

  .map-planner-page .planner-panel-tab {
    min-height: 48px;
    border-bottom:
      1px solid rgba(184, 194, 141, .12);
  }

  .map-planner-page .planner-panel-tab.active {
    background:
      rgba(154, 166, 109, .12);
    color: #f1eedc;
  }

  .map-planner-page .planner-panel-scroll .command-card {
    padding: 18px 18px;
    border-left: 0;
    border-right: 0;
  }

  .map-planner-page .planner-tab-panel .eyebrow {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: .62rem;
    letter-spacing: .19em;
  }

  .map-planner-page .objective-section-header {
    margin-top: 12px;
    padding-top: 10px;
    border-top:
      1px solid rgba(184, 194, 141, .12);
  }

  .map-planner-page .objective-group {
    padding-top: 12px;
    margin-top: 12px;
    border-top:
      1px solid rgba(184, 194, 141, .12);
  }

  .map-planner-page .objective-group-title {
    font-size: .72rem;
    letter-spacing: .1em;
  }

  .map-planner-page .objective-choice {
    min-height: 38px;
  }

  .map-planner-page .objective-choice span {
    font-size: .86rem;
  }

  .map-planner-page #clear-all-objectives {
    width: 100%;
    min-height: 42px;
  }

  .map-planner-page .planner-zoom-controls {
    top: 1px;
  }

}
/* =========================================================
   34ID MAP PLANNER — ROSTER CARD POLISH
   ========================================================= */

.map-planner-page .planner-roster-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  margin-bottom: 10px;
}


.map-planner-page .planner-roster-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 34px;
  height: 34px;

  padding: 0 9px;

  border: 1px solid rgba(184, 194, 141, .28);

  background:
    rgba(154, 166, 109, .08);

  color: #d9d6c8;

  font-weight: 900;
}


.map-planner-page .planner-roster-groups {
  display: grid;
  gap: 8px;

  margin-top: 12px;
}


.map-planner-page .planner-roster-group {
  position: relative;

  display: grid;
  gap: 10px;

  padding: 13px;

  border:
    1px solid
    rgba(184, 194, 141, .28);

  background:
    linear-gradient(
      135deg,
      rgba(64, 70, 40, .88),
      rgba(38, 43, 27, .94)
    );

  box-shadow:
    inset 0 0 0 1px
    rgba(255, 255, 255, .025);

  transition:
    border-color .18s ease,
    transform .18s ease,
    background .18s ease;
}


.map-planner-page .planner-roster-group:hover {
  border-color:
    rgba(202, 207, 147, .65);

  background:
    linear-gradient(
      135deg,
      rgba(74, 81, 46, .95),
      rgba(43, 49, 29, .98)
    );

  transform:
    translateY(-1px);
}


.map-planner-page .planner-roster-group.map-unit-selected {
  border-color:
    rgba(220, 224, 157, .95);

  box-shadow:
    inset 3px 0 0
    rgba(220, 224, 157, .9),
    0 0 0 1px
    rgba(220, 224, 157, .12);

  background:
    linear-gradient(
      135deg,
      rgba(85, 92, 51, .98),
      rgba(46, 52, 30, .98)
    );
}


/* Group name */
.map-planner-page .planner-roster-group-header > strong {
  display: block;

  margin: 0;

  color: #ece8d5;

  font-size: .82rem;
  font-weight: 900;

  letter-spacing: .03em;

  text-transform: uppercase;
}


/* Leader / secondary info */
.map-planner-page .planner-roster-group-meta {
  margin-top: 2px;

  color: #c0bea9;

  font-size: .69rem;

  line-height: 1.35;
}


/* =========================================================
   MOVE / REMOVE CONTROLS
   ========================================================= */

.map-planner-page .planner-map-unit-actions {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);

  gap: 6px;
}


.map-planner-page .planner-unit-action {
  min-width: 0;
  min-height: 36px;

  padding: 0 8px;

  border-radius: 5px;

  font-size: .62rem;
  font-weight: 900;

  letter-spacing: .06em;

  box-shadow: none;
}


.map-planner-page .planner-unit-action:not(.danger) {
  border-color:
    rgba(124, 183, 235, .75);

  background:
    linear-gradient(
      180deg,
      #416f99,
      #315b82
    );

  color: #fff;
}


.map-planner-page .planner-unit-action:not(.danger):hover {
  border-color:
    #a1d2ff;

  background:
    linear-gradient(
      180deg,
      #4c82b2,
      #386a96
    );
}


.map-planner-page .planner-unit-action.danger {
  border-color:
    rgba(229, 113, 113, .78);

  background:
    linear-gradient(
      180deg,
      #a63b42,
      #842c32
    );

  color: #fff;
}


.map-planner-page .planner-unit-action.danger:hover {
  border-color:
    #ffaaaa;

  background:
    linear-gradient(
      180deg,
      #bb474f,
      #963138
    );
}


/* =========================================================
   ROSTER TAB OPERATION BLOCK
   ========================================================= */

.map-planner-page
[data-planner-panel="roster"]
.command-card:first-child {
  padding-bottom: 18px;
}


.map-planner-page
[data-planner-panel="roster"]
#plan-operation {
  height: 42px;

  margin-top: 6px;

  font-size: .75rem;
}


/* =========================================================
   ROSTER STATUS
   ========================================================= */

.map-planner-page #planner-roster-message {
  margin:
    7px
    0
    4px;

  font-size: .72rem;
}


/* =========================================================
   SMALLER DESKTOP PANEL
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {

  .map-planner-page .planner-roster-group {
    padding: 11px;
  }

  .map-planner-page .planner-unit-action {
    min-height: 34px;

    font-size: .58rem;
  }

}
/* =========================================================
   34ID — TOP COMMAND BAR POLISH
   ========================================================= */

.nav-wrap .nav-links {
  gap: 12px;
}


/* Shared command-button shape */
.nav-wrap #print-plan,
.nav-wrap .member-login-link,
.nav-wrap .nav-action,
.nav-wrap .admin-nav-primary,
.nav-wrap .member-menu-toggle {
  min-height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0 14px;

  border: 1px solid rgba(184, 194, 141, .34);

  border-radius: 5px;

  background:
    linear-gradient(
      180deg,
      rgba(42, 47, 31, .86),
      rgba(23, 27, 18, .9)
    );

  color: #ece9d9;

  font-size: .62rem;
  font-weight: 900;

  letter-spacing: .08em;

  text-transform: uppercase;

  white-space: nowrap;

  box-shadow:
    inset 0 0 0 1px
    rgba(255,255,255,.025);

  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}


.nav-wrap #print-plan:hover,
.nav-wrap .member-login-link:hover,
.nav-wrap .nav-action:hover,
.nav-wrap .admin-nav-primary:hover,
.nav-wrap .member-menu-toggle:hover {
  border-color:
    rgba(211, 216, 157, .72);

  background:
    linear-gradient(
      180deg,
      rgba(61, 67, 41, .95),
      rgba(33, 38, 24, .97)
    );

  transform:
    translateY(-1px);
}


/* Print stays blue, but matches the same proportions */
.nav-wrap #print-plan {
  border-color:
    rgba(125, 188, 240, .75);

  background:
    linear-gradient(
      180deg,
      #416f99,
      #315b82
    );

  color: #fff;
}


.nav-wrap #print-plan:hover {
  border-color:
    #a8d8ff;

  background:
    linear-gradient(
      180deg,
      #4c82b2,
      #386a96
    );
}


/* Members dropdown */
.nav-wrap .member-menu-toggle {
  gap: 7px;
}


/* Profile / account pill */
.nav-wrap .member-profile-link,
.nav-wrap .member-profile-button {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  min-height: 40px;

  padding: 4px 12px 4px 5px;

  border:
    1px solid
    rgba(184, 194, 141, .38);

  border-radius: 999px;

  background:
    rgba(8, 10, 8, .72);

  color: #ece9da;

  font-size: .63rem;
  font-weight: 900;

  letter-spacing: .07em;

  text-transform: uppercase;

  white-space: nowrap;

  transition:
    border-color .18s ease,
    background .18s ease,
    transform .18s ease;
}


.nav-wrap .member-profile-link:hover,
.nav-wrap .member-profile-button:hover {
  border-color:
    rgba(218, 222, 166, .75);

  background:
    rgba(41, 46, 29, .72);

  transform:
    translateY(-1px);
}


/* Profile image */
.nav-wrap .member-profile-link img,
.nav-wrap .member-profile-button img {
  width: 30px;
  height: 30px;

  border-radius: 50%;

  object-fit: cover;

  border:
    1px solid
    rgba(210, 214, 157, .5);
}


/* Main navigation links */
.nav-wrap .nav-links > a:not(.member-profile-link) {
  font-size: .61rem;
}


/* Give the right side a little breathing room */
.nav-wrap .nav-links {
  align-items: center;
}


/* Slightly tighter desktop header */
@media (min-width: 901px) {

  .nav-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

}


/* Responsive tightening */
@media (min-width: 901px) and (max-width: 1100px) {

  .nav-wrap .nav-links {
    gap: 8px;
  }

  .nav-wrap #print-plan,
  .nav-wrap .member-login-link,
  .nav-wrap .nav-action,
  .nav-wrap .admin-nav-primary,
  .nav-wrap .member-menu-toggle {
    padding-left: 10px;
    padding-right: 10px;
  }

  .nav-wrap .member-profile-link,
  .nav-wrap .member-profile-button {
    padding-right: 9px;
  }

}
/* =========================================================
   34ID MAP PLANNER — PLAN TAB POLISH
   ========================================================= */

.map-planner-page
[data-planner-panel="plan"]
.command-card {
  padding: 18px;
}


/* PLAN INFORMATION */
.map-planner-page
[data-planner-panel="plan"]
label {
  display: grid;
  gap: 6px;

  margin-bottom: 14px;

  font-size: .72rem;
  font-weight: 700;
}


.map-planner-page
[data-planner-panel="plan"]
input,
.map-planner-page
[data-planner-panel="plan"]
select,
.map-planner-page
[data-planner-panel="plan"]
textarea {
  width: 100%;

  border:
    1px solid rgba(184, 194, 141, .22);

  background: #f3f3ef;

  color: #161816;

  font: inherit;
}


.map-planner-page
[data-planner-panel="plan"]
input,
.map-planner-page
[data-planner-panel="plan"]
select {
  min-height: 40px;

  padding: 0 9px;
}


.map-planner-page
[data-planner-panel="plan"]
textarea {
  min-height: 110px;

  padding: 9px;

  resize: vertical;
}


/* =========================================================
   DRAWING TOOL GRID
   ========================================================= */

.map-planner-page .planner-drawing-tools {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;

  margin-top: 10px;
}


.map-planner-page .planner-drawing-tool {
  min-height: 40px;

  padding: 6px 8px;

  border:
    1px solid rgba(184, 194, 141, .34);

  background:
    linear-gradient(
      180deg,
      rgba(49, 55, 34, .95),
      rgba(31, 36, 23, .98)
    );

  color: #e9e5d2;

  font-size: .62rem;
  font-weight: 900;

  letter-spacing: .05em;

  text-transform: uppercase;

  cursor: pointer;

  transition:
    border-color .18s ease,
    background .18s ease,
    transform .18s ease;
}


.map-planner-page .planner-drawing-tool:hover {
  border-color:
    rgba(210, 215, 156, .72);

  background:
    linear-gradient(
      180deg,
      rgba(66, 73, 43, .98),
      rgba(39, 45, 27, .98)
    );

  transform:
    translateY(-1px);
}


.map-planner-page .planner-drawing-tool.active {
  border-color:
    rgba(224, 228, 163, .95);

  background:
    linear-gradient(
      180deg,
      #656d3d,
      #454b2b
    );

  color: #fffdeb;

  box-shadow:
    inset 3px 0 0
    rgba(229, 232, 170, .95);
}


/* First tool spans full width */
.map-planner-page
.planner-drawing-tool[data-planner-draw-tool="select"] {
  grid-column: 1 / -1;
}


/* =========================================================
   DRAWING OPTIONS
   ========================================================= */

.map-planner-page .planner-drawing-options {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 8px;

  margin-top: 14px;
}


.map-planner-page .planner-drawing-options label {
  margin: 0;
}


.map-planner-page .planner-drawing-options select {
  min-height: 38px;
}


/* =========================================================
   DRAWING ACTIONS
   ========================================================= */

.map-planner-page .planner-drawing-actions {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;

  margin-top: 12px;
}


.map-planner-page .planner-delete-drawing,
.map-planner-page .planner-clear-drawings {
  min-height: 38px;

  padding: 0 8px;

  font-size: .59rem;
  font-weight: 900;

  letter-spacing: .05em;
}


.map-planner-page .planner-delete-drawing {
  border-color:
    rgba(220, 112, 112, .65);

  background:
    linear-gradient(
      180deg,
      #8d373c,
      #6f292e
    );

  color: white;
}


.map-planner-page .planner-clear-drawings {
  border-color:
    rgba(184, 194, 141, .34);

  background:
    rgba(48, 53, 34, .8);

  color: #e9e5d2;
}


/* =========================================================
   TACTICAL MARKERS
   ========================================================= */

.map-planner-page .planner-marker-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;

  margin-top: 10px;
}


.map-planner-page .planner-marker-button,
.map-planner-page .planner-text-button {
  min-height: 38px;

  border:
    1px solid rgba(184, 194, 141, .3);

  background:
    rgba(44, 49, 31, .88);

  color: #ebe7d6;

  font-size: .6rem;
  font-weight: 900;

  letter-spacing: .05em;

  text-transform: uppercase;

  cursor: pointer;
}


.map-planner-page .planner-marker-button:hover,
.map-planner-page .planner-text-button:hover {
  border-color:
    rgba(211, 216, 157, .72);

  background:
    rgba(64, 70, 42, .95);
}


.map-planner-page .planner-text-button {
  width: 100%;

  margin-top: 8px;
}
/* =========================================================
   34ID MAP PLANNER — TACTICAL MARKER COMPACT PASS
   ========================================================= */

.map-planner-page .planner-marker-grid {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 6px;
}

.map-planner-page .planner-marker-button {
  min-height: 34px;

  padding: 5px 7px;

  font-size: .56rem;

  letter-spacing: .045em;
}

.map-planner-page .planner-text-button {
  min-height: 36px;

  font-size: .57rem;

  margin-top: 7px;
}

.map-planner-page .planner-marker-card {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.map-planner-page .planner-marker-card .eyebrow {
  margin-bottom: 7px;
}
/* =========================================================
   34ID MAP PLANNER — TOOLS TAB FINAL POLISH
   ========================================================= */

/* Main cards */
.map-planner-page
[data-planner-panel="tools"]
.command-card {
  padding: 18px;
}


/* =========================================================
   DRAWING TOOL BUTTONS
   ========================================================= */

.map-planner-page
[data-planner-panel="tools"]
.tool-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;

  margin-top: 10px;
  margin-bottom: 15px;
}


.map-planner-page
[data-planner-panel="tools"]
.planner-tool {
  min-height: 42px;

  padding: 7px 8px;

  border:
    1px solid rgba(184, 194, 141, .28);

  background:
    linear-gradient(
      180deg,
      rgba(30, 34, 24, .98),
      rgba(20, 23, 18, .98)
    );

  color: #e8e5d7;

  font-size: .66rem;
  font-weight: 800;

  letter-spacing: .03em;

  cursor: pointer;

  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease;
}


.map-planner-page
[data-planner-panel="tools"]
.planner-tool:hover {
  border-color:
    rgba(211, 216, 157, .65);

  background:
    rgba(53, 59, 37, .96);

  transform:
    translateY(-1px);
}


/* Active drawing tool */
.map-planner-page
[data-planner-panel="tools"]
.planner-tool.active {
  border-color: #d6d99b;

  background:
    linear-gradient(
      180deg,
      #b6bf7b,
      #9ca766
    );

  color: #171a12;

  font-weight: 900;

  box-shadow:
    inset 3px 0 0
    rgba(255, 255, 220, .75);
}


/* Erase gets its own warning treatment */
.map-planner-page
[data-planner-panel="tools"]
.planner-tool.danger {
  border-color:
    rgba(181, 77, 77, .55);

  color: #efc2c2;
}


.map-planner-page
[data-planner-panel="tools"]
.planner-tool.danger.active {
  background:
    linear-gradient(
      180deg,
      #9c4545,
      #763131
    );

  border-color: #d66b6b;

  color: #fff;
}


/* =========================================================
   CATEGORY + LINE WIDTH
   ========================================================= */

.map-planner-page
[data-planner-panel="tools"]
label {
  display: grid;

  gap: 6px;

  margin-top: 12px;

  font-size: .72rem;
  font-weight: 700;
}


.map-planner-page
[data-planner-panel="tools"]
select {
  width: 100%;

  min-height: 40px;

  padding: 0 9px;

  border:
    1px solid rgba(184, 194, 141, .24);

  background: #f3f3ef;

  color: #161816;
}


.map-planner-page
[data-planner-panel="tools"]
input[type="range"] {
  width: 100%;

  margin: 3px 0 2px;
}


/* =========================================================
   UNDO + CLEAR
   ========================================================= */

.map-planner-page
[data-planner-panel="tools"]
.record-actions {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 8px;

  margin-top: 16px;
}


.map-planner-page
[data-planner-panel="tools"]
.record-actions .btn {
  width: 100%;

  min-height: 40px;

  padding: 0 8px;

  font-size: .64rem;

  letter-spacing: .05em;
}


/* =========================================================
   QUICK MARKERS
   ========================================================= */

.map-planner-page
[data-planner-panel="tools"]
.marker-palette {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;

  margin-top: 10px;
}


.map-planner-page
[data-planner-panel="tools"]
.marker-palette button {
  min-height: 36px;

  padding: 6px 7px;

  border:
    1px solid rgba(184, 194, 141, .28);

  background:
    rgba(27, 31, 23, .95);

  color: #e8e5d7;

  font-size: .61rem;
  font-weight: 800;

  cursor: pointer;

  transition:
    border-color .15s ease,
    background .15s ease,
    transform .15s ease;
}


.map-planner-page
[data-planner-panel="tools"]
.marker-palette button:hover {
  border-color:
    rgba(211, 216, 157, .7);

  background:
    rgba(53, 59, 37, .96);

  transform:
    translateY(-1px);
}


/* Selected quick marker */
.map-planner-page
[data-planner-panel="tools"]
.marker-palette button.active {
  border-color: #d6d99b;

  background:
    rgba(92, 101, 57, .96);

  color: #fff;
}


/* =========================================================
   SECTION SEPARATION
   ========================================================= */

.map-planner-page
[data-planner-panel="tools"]
.command-card + .command-card {
  margin-top: 10px;

  border-top:
    1px solid rgba(184, 194, 141, .2);
}


/* Slightly tighter section headings */
.map-planner-page
[data-planner-panel="tools"]
.eyebrow {
  margin-bottom: 8px;

  letter-spacing: .16em;
}
/* =========================================================
   MAP PLANNER — COMPACT ROSTER CARDS
   ========================================================= */

.planner-roster-group {
  padding: 12px !important;
  border: 1px solid rgba(170, 176, 105, 0.26) !important;
  background: rgba(21, 25, 14, 0.94) !important;
  border-radius: 4px !important;
}


/* =========================================================
   GROUP HEADER
   ========================================================= */

.planner-roster-group-header {
  margin-bottom: 8px !important;
}


.planner-roster-group-header > strong {
  display: block !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}


.planner-roster-group-meta {
  margin-top: 3px !important;
  font-size: 0.64rem !important;
  line-height: 1.25 !important;
  color: rgba(225, 225, 211, 0.7) !important;
}


/* =========================================================
   PLAYER LIST
   ========================================================= */

.planner-roster-player-list {
  display: grid !important;
  gap: 6px !important;
  margin-top: 8px !important;
}


/* =========================================================
   EACH PLAYER ROW
   ========================================================= */

.planner-roster-assignment-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 5px !important;

  padding: 7px !important;

  background: rgba(4, 6, 4, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 3px !important;
}


/* =========================================================
   PLAYER BUTTON / CARD
   ========================================================= */

.planner-roster-player {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;

  width: 100% !important;
  min-height: 42px !important;

  padding: 4px !important;

  background: transparent !important;
  border: 0 !important;

  text-align: left !important;
}


/* =========================================================
   AVATAR
   ========================================================= */

.planner-roster-player-avatar {
  width: 38px !important;
  height: 38px !important;

  object-fit: cover !important;

  border-radius: 2px !important;
}


/* =========================================================
   PLAYER NAME
   ========================================================= */

.planner-roster-player-name {
  min-width: 0 !important;
}


.planner-roster-player-name strong {
  display: block !important;

  font-size: 0.72rem !important;
  line-height: 1.1 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


.planner-roster-player-role {
  margin-top: 2px !important;

  font-size: 0.58rem !important;
  line-height: 1.15 !important;

  color: rgba(222, 222, 204, 0.72) !important;
}


/* =========================================================
   PLAYER STAT
   ========================================================= */

.planner-roster-player-stat {
  font-size: 0.56rem !important;
  white-space: nowrap !important;
  color: #b6bc7b !important;
}


/* =========================================================
   UNIT + POSITION DROPDOWNS
   ========================================================= */

.planner-player-unit-select,
.planner-player-position-select {
  width: 100% !important;

  min-height: 30px !important;

  padding: 4px 7px !important;

  background: #10140d !important;
  color: #ecebdc !important;

  border: 1px solid rgba(171, 179, 100, 0.28) !important;
  border-radius: 2px !important;

  font-size: 0.62rem !important;
}


/* =========================================================
   MAP ACTIONS
   ========================================================= */

.planner-map-unit-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 7px !important;

  margin-top: 9px !important;
}


.planner-map-unit-actions .btn {
  min-height: 32px !important;

  padding: 0 8px !important;

  font-size: 0.56rem !important;
}


/* =========================================================
   CREATE UNIT
   ========================================================= */

.planner-roster-group-creator {
  display: grid !important;
  gap: 6px !important;

  margin-bottom: 12px !important;
}


.planner-roster-group-creator > strong {
  font-size: 0.68rem !important;
  letter-spacing: 0.08em !important;
}


.planner-roster-group-type,
.planner-roster-group-name {
  min-height: 34px !important;

  padding: 5px 7px !important;

  font-size: 0.65rem !important;
}


/* =========================================================
   BETTER SPACING BETWEEN GROUPS
   ========================================================= */

#planner-roster-groups {
  display: grid !important;
  gap: 10px !important;
}
/* =========================================================
   MAP PLANNER — COMPACT PLAYER EDITING
   ========================================================= */

.planner-player-edit-toggle {
  width: 100%;
  min-height: 26px;
  margin-top: 3px;
  padding: 3px 7px;

  border: 1px solid rgba(171, 179, 100, .22);
  border-radius: 2px;

  background: rgba(20, 25, 15, .92);
  color: #bec68b;

  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .08em;

  cursor: pointer;
}


.planner-player-edit-controls {
  display: grid;
  gap: 5px;
  margin-top: 5px;
}


.planner-player-edit-controls[hidden] {
  display: none !important;
}


.planner-roster-assignment-row {
  gap: 3px !important;
}


.planner-roster-player {
  min-height: 40px !important;
}


.planner-roster-player-role {
  text-transform: uppercase;
}
/* =========================================================
   MAP PLANNER — MAKE PLAYER NAMES FULLY VISIBLE
   ========================================================= */

.planner-roster-player {
  grid-template-columns:
    38px minmax(0, 1fr) auto !important;
}


.planner-roster-player-name {
  min-width: 0 !important;
  overflow: visible !important;
}


.planner-roster-player-name strong {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;

  font-size: 0.68rem !important;
  line-height: 1.15 !important;
}


.planner-roster-player-role {
  white-space: normal !important;
  overflow: visible !important;

  font-size: 0.56rem !important;
  line-height: 1.15 !important;
}


/* give roster player cards a little more breathing room */

.planner-roster-assignment-row {
  padding: 7px 8px !important;
}


.planner-roster-player {
  gap: 7px !important;
}
/* =========================================================
   MAP PLANNER — FINAL COMPACT PLAYER LAYOUT
   ========================================================= */

.planner-roster-player {
  display: grid !important;

  grid-template-columns:
    40px minmax(0, 1fr) auto !important;

  align-items: center !important;

  gap: 8px !important;

  width: 100% !important;

  padding: 5px !important;
}


.planner-roster-player-avatar {
  width: 40px !important;
  height: 40px !important;

  object-fit: cover !important;
}


.planner-roster-player-name {
  min-width: 0 !important;

  display: block !important;
}


.planner-roster-player-name strong {
  display: block !important;

  width: 100% !important;

  font-size: .69rem !important;
  line-height: 1.15 !important;

  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;

  color: #eee9d6 !important;
}


.planner-roster-player-role {
  margin-top: 3px !important;

  font-size: .56rem !important;
  line-height: 1.1 !important;

  font-weight: 700 !important;

  color: #aeb778 !important;

  white-space: normal !important;
}


.planner-roster-player-stat {
  align-self: center !important;

  padding-left: 4px !important;

  font-size: .54rem !important;

  white-space: nowrap !important;
}
/* =========================================================
   34ID OPERATIONS CENTER
   FINAL COMPACT DESKTOP LAYOUT
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

body.member-operations-page {
  background: #070907 !important;
}


body.member-operations-page .operations-shell {
  padding-top: 68px !important;
}


/* =========================================================
   TOP COMMAND BAR
   ========================================================= */

body.member-operations-page .war-room-nav {
  height: 68px !important;

  grid-template-columns:
    260px minmax(0, 1fr) 90px !important;

  gap: 20px !important;

  padding:
    0 22px !important;

  background:
    rgba(5, 7, 5, .985) !important;
}


/* =========================================================
   BRAND
   ========================================================= */

body.member-operations-page .war-room-brand {
  height: 68px !important;

  gap: 10px !important;
}


body.member-operations-page .war-room-brand img {
  width: 44px !important;
  height: 44px !important;
}


body.member-operations-page
.war-room-brand-text strong {
  font-size: .61rem !important;

  letter-spacing: .09em !important;
}


body.member-operations-page
.war-room-brand-text span {
  margin-top: 3px !important;

  font-size: .39rem !important;

  letter-spacing: .24em !important;
}


/* =========================================================
   CENTER NAVIGATION
   ========================================================= */

body.member-operations-page
.war-room-nav-links {
  height: 68px !important;

  gap:
    clamp(20px, 2.5vw, 38px) !important;
}


body.member-operations-page
.war-room-nav-links a {
  height: 68px !important;

  font-size: .56rem !important;

  letter-spacing: .09em !important;
}


body.member-operations-page
.war-room-nav-links a.active::after {
  width: 58px !important;
}


/* =========================================================
   SIGN OUT
   ========================================================= */

body.member-operations-page
.war-room-sign-out {
  width: 86px !important;
  min-width: 86px !important;

  height: 38px !important;

  padding:
    0 10px !important;

  font-size: .52rem !important;
}


/* =========================================================
   OPERATIONS HERO
   ========================================================= */

body.member-operations-page
.operations-hero {
  min-height: 185px !important;

  align-items: center !important;

  background-position:
    center 56% !important;
}


body.member-operations-page
.operations-hero-content {
  width:
    min(1220px, calc(100% - 54px)) !important;

  padding:
    30px 0 28px !important;
}


body.member-operations-page
.operations-hero-content .eyebrow {
  margin:
    0 0 7px !important;

  font-size: .55rem !important;

  letter-spacing: .22em !important;
}


body.member-operations-page
.operations-hero h1 {
  margin:
    0 0 7px !important;

  font-size:
    clamp(2.5rem, 5vw, 4rem) !important;

  line-height: .92 !important;

  letter-spacing: .025em !important;
}


body.member-operations-page
.operations-hero p:last-child {
  max-width: 560px !important;

  font-size: .76rem !important;

  line-height: 1.45 !important;
}


/* =========================================================
   MAIN CONTENT WIDTH
   ========================================================= */

body.member-operations-page
.operations-section,
body.member-operations-page
.operations-footer-actions {
  width:
    min(1220px, calc(100% - 54px)) !important;
}


/* =========================================================
   SECTION SPACING
   ========================================================= */

body.member-operations-page
.operations-section {
  padding:
    28px 0 6px !important;
}


body.member-operations-page
.operations-heading {
  margin-bottom:
    13px !important;
}


body.member-operations-page
.operations-heading .eyebrow {
  margin: 0 !important;

  font-size: .51rem !important;

  letter-spacing: .22em !important;
}


body.member-operations-page
.operations-heading h2 {
  margin:
    4px 0 0 !important;

  font-size:
    clamp(1.8rem, 3vw, 2.55rem) !important;

  line-height: .95 !important;
}


/* =========================================================
   FEATURE OPERATION CARD
   ========================================================= */

body.member-operations-page
.operation-feature-card {
  padding:
    22px 24px 20px !important;
}


body.member-operations-page
.operation-feature-status {
  top: 18px !important;
  right: 20px !important;

  padding:
    5px 8px !important;

  font-size: .44rem !important;
}


body.member-operations-page
.operation-feature-type {
  font-size: .50rem !important;
}


body.member-operations-page
.operation-feature-content h3 {
  margin:
    6px 0 6px !important;

  font-size:
    clamp(1.8rem, 3.2vw, 2.65rem) !important;
}


body.member-operations-page
.operation-feature-content > p {
  margin:
    0 !important;

  font-size: .72rem !important;

  line-height: 1.45 !important;
}


/* =========================================================
   DATE / TIME / STATUS
   ========================================================= */

body.member-operations-page
.operation-feature-meta {
  gap: 10px !important;

  margin-top:
    16px !important;
}


body.member-operations-page
.operation-feature-meta > div {
  min-height: 58px !important;

  padding:
    11px 14px !important;
}


body.member-operations-page
.operation-feature-meta span {
  font-size: .42rem !important;
}


body.member-operations-page
.operation-feature-meta strong {
  margin-top:
    3px !important;

  font-size: .68rem !important;
}


/* =========================================================
   EXTRA EVENT DETAILS
   ========================================================= */

body.member-operations-page
.member-operation-extra {
  margin-top:
    10px !important;
}


body.member-operations-page
.member-operation-detail-grid {
  gap: 10px !important;

  margin-top:
    10px !important;
}


body.member-operations-page
.member-operation-detail-grid > div {
  min-height: 54px !important;

  padding:
    10px 12px !important;
}


body.member-operations-page
.member-operation-detail-grid span {
  font-size: .40rem !important;
}


body.member-operations-page
.member-operation-detail-grid strong {
  margin-top:
    3px !important;

  font-size: .62rem !important;
}


/* =========================================================
   RSVP
   ========================================================= */

body.member-operations-page
.member-operation-rsvp {
  margin-top:
    14px !important;
}


body.member-operations-page
.member-operation-rsvp-heading {
  margin-bottom:
    5px !important;
}


body.member-operations-page
.member-operation-rsvp-heading strong {
  font-size: .48rem !important;
}


body.member-operations-page
.member-operation-rsvp-heading span {
  font-size: .56rem !important;
}


body.member-operations-page
.member-operation-rsvp-buttons {
  gap: 8px !important;
}


body.member-operations-page
.member-operation-rsvp-stat {
  min-height: 34px !important;

  padding:
    0 8px !important;

  font-size: .78rem !important;
}


body.member-operations-page
.member-operation-rsvp-feedback {
  margin:
    4px 0 0 !important;

  font-size: .58rem !important;
}


/* =========================================================
   DISCORD / BRIEFING BUTTONS
   ========================================================= */

body.member-operations-page
.operation-feature-card .form-actions {
  gap: 10px !important;

  margin-top:
    12px !important;
}


body.member-operations-page
.operation-feature-card .btn {
  min-width: 170px !important;
  min-height: 38px !important;

  padding:
    0 16px !important;

  font-size: .58rem !important;
}


/* =========================================================
   UPCOMING OPERATIONS
   ========================================================= */

body.member-operations-page
.member-operation-list {
  gap: 8px !important;
}


body.member-operations-page
.member-operation-row {
  min-height: 90px !important;

  grid-template-columns:
    110px minmax(0, 1fr) 135px !important;

  gap: 18px !important;

  padding:
    0 18px !important;
}


body.member-operations-page
.member-operation-date {
  padding-right:
    16px !important;
}


body.member-operations-page
.member-operation-date strong {
  font-size: 1.25rem !important;
}


body.member-operations-page
.member-operation-date span {
  margin-top:
    3px !important;

  font-size: .55rem !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

body.member-operations-page
.operations-footer-actions {
  padding:
    22px 0 42px !important;
}
/* =========================================================
   MAP PLANNER — FINAL LIBRARY WORKFLOW CLEANUP
   ========================================================= */


/* =========================================================
   PAGE SHELL
   ========================================================= */

body.map-planner-page {
  background: #070907;
}


body.map-planner-page
.map-planner-shell {
  width:
    min(1440px, calc(100% - 32px));

  margin:
    0 auto;

  padding:
    18px 0 30px;
}


/* =========================================================
   PLANNER HEADER
   ========================================================= */

body.map-planner-page
.planner-heading {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    28px;

  margin-bottom:
    10px;

  padding:
    6px 0 12px;

  border-bottom:
    1px solid rgba(181, 175, 135, .16);
}


body.map-planner-page
.planner-heading-copy {
  min-width:
    0;
}


body.map-planner-page
.planner-heading-copy .eyebrow {
  margin:
    0 0 3px;

  color:
    #9da771;

  font-size:
    .5rem;

  font-weight:
    900;

  letter-spacing:
    .20em;

  text-transform:
    uppercase;
}


body.map-planner-page
.planner-heading h1 {
  margin:
    0;

  color:
    #eee5ca;

  font-family:
    Impact,
    Haettenschweiler,
    "Arial Narrow Bold",
    sans-serif;

  font-size:
    clamp(2rem, 3.5vw, 3.25rem);

  line-height:
    .95;

  letter-spacing:
    .025em;

  text-transform:
    uppercase;
}


body.map-planner-page
.planner-heading-subtitle {
  max-width:
    560px;

  margin:
    5px 0 0;

  color:
    #777d70;

  font-size:
    .66rem;

  line-height:
    1.45;
}


/* =========================================================
   SAVED PLAN CONTROLS
   ========================================================= */

body.map-planner-page
.planner-plan-controls {
  display:
    grid;

  grid-template-columns:
    minmax(220px, 290px)
    auto
    auto;

  align-items:
    end;

  gap:
    10px;
}


body.map-planner-page
.planner-saved-plan-label {
  display:
    flex;

  flex-direction:
    column;

  gap:
    5px;

  margin:
    0;
}


body.map-planner-page
.planner-saved-plan-label > span {
  color:
    #90986d;

  font-size:
    .47rem;

  font-weight:
    900;

  letter-spacing:
    .16em;

  text-transform:
    uppercase;
}


body.map-planner-page
.planner-plan-controls select {
  min-height:
    40px;

  padding:
    0 12px;

  border:
    1px solid rgba(181, 175, 135, .18);

  background:
    #0c0f0a;

  color:
    #ded8c4;

  font-size:
    .68rem;
}


body.map-planner-page
.planner-plan-controls .btn {
  min-height:
    40px;

  padding:
    0 16px;

  font-size:
    .58rem;

  font-weight:
    900;

  letter-spacing:
    .08em;
}


/* =========================================================
   WORKSPACE
   ========================================================= */

body.map-planner-page
.planner-workspace {
  display:
    grid;

  grid-template-columns:
    280px minmax(0, 1fr);

  align-items:
    start;

  gap:
    12px;
}


/* =========================================================
   LEFT COMMAND PANEL
   ========================================================= */

body.map-planner-page
.planner-command-panel {
  min-width:
    0;

  max-height:
    calc(100vh - 170px);

  border:
    1px solid rgba(181, 175, 135, .16);

  background:
    #0a0d08;
}


body.map-planner-page
.planner-panel-topbar {
  min-height:
    42px;

  border-bottom:
    1px solid rgba(181, 175, 135, .14);
}


body.map-planner-page
.planner-panel-tabs {
  display:
    grid;

  grid-template-columns:
    repeat(4, 1fr);
}


body.map-planner-page
.planner-panel-tab {
  min-height:
    42px;

  padding:
    0 6px;

  border:
    0;

  border-right:
    1px solid rgba(181, 175, 135, .10);

  background:
    #0d100b;

  color:
    #aaa995;

  font-size:
    .54rem;

  font-weight:
    900;

  letter-spacing:
    .09em;

  text-transform:
    uppercase;
}


body.map-planner-page
.planner-panel-tab:last-child {
  border-right:
    0;
}


body.map-planner-page
.planner-panel-tab.active {
  background:
    #171c11;

  color:
    #d9d39a;
}


body.map-planner-page
.planner-panel-scroll {
  max-height:
    calc(100vh - 214px);

  overflow-y:
    auto;

  padding:
    10px;
}


/* =========================================================
   COMMAND CARDS INSIDE PANEL
   ========================================================= */

body.map-planner-page
.planner-command-panel .command-card {
  margin:
    0 0 10px;

  padding:
    14px;

  border:
    1px solid rgba(181, 175, 135, .12);

  background:
    #0d110b;
}


body.map-planner-page
.planner-command-panel label {
  display:
    flex;

  flex-direction:
    column;

  gap:
    5px;

  margin-bottom:
    12px;

  color:
    #d8d4c4;

  font-size:
    .68rem;
}


body.map-planner-page
.planner-command-panel select,
body.map-planner-page
.planner-command-panel input,
body.map-planner-page
.planner-command-panel textarea {
  width:
    100%;

  min-height:
    38px;

  padding:
    8px 10px;

  border:
    1px solid rgba(181, 175, 135, .16);

  background:
    #0a0d08;

  color:
    #ddd8c4;
}


/* =========================================================
   MAP BOARD AREA
   ========================================================= */

body.map-planner-page
.planner-board-wrap {
  min-width:
    0;
}


body.map-planner-page
.planner-zoom-controls {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    8px;

  margin-bottom:
    8px;
}


body.map-planner-page
.planner-zoom-controls .btn {
  min-width:
    40px;

  min-height:
    36px;

  padding:
    0 12px;
}


body.map-planner-page
#planner-zoom-level {
  min-width:
    54px;

  text-align:
    center;

  color:
    #d8d3be;

  font-size:
    .68rem;

  font-weight:
    900;
}


body.map-planner-page
.planner-board {
  width:
    100%;

  background:
    #050704;
}


/* =========================================================
   MESSAGE AREA
   ========================================================= */

body.map-planner-page
#planner-message {
  min-height:
    20px;

  margin:
    6px 0 0;

  font-size:
    .62rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  body.map-planner-page
  .planner-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }


  body.map-planner-page
  .planner-plan-controls {
    width:
      100%;

    grid-template-columns:
      minmax(0, 1fr)
      auto
      auto;
  }


  body.map-planner-page
  .planner-workspace {
    grid-template-columns:
      250px minmax(0, 1fr);
  }

}


@media (max-width: 760px) {

  body.map-planner-page
  .map-planner-shell {
    width:
      calc(100% - 18px);
  }


  body.map-planner-page
  .planner-plan-controls {
    grid-template-columns:
      1fr;
  }


  body.map-planner-page
  .planner-workspace {
    grid-template-columns:
      1fr;
  }


  body.map-planner-page
  .planner-command-panel {
    max-height:
      none;
  }


  body.map-planner-page
  .planner-panel-scroll {
    max-height:
      none;
  }

}
/* =========================================================
   MAP PLANNER — OBJECTIVE DROPDOWNS
   ========================================================= */

body.map-planner-page
.objective-dropdown-group {
  margin-bottom:
    12px;

  padding:
    12px;

  border:
    1px solid rgba(181, 175, 135, .12);

  background:
    rgba(9, 12, 8, .72);
}


body.map-planner-page
.objective-dropdown-group
.objective-group-heading {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    12px;

  margin-bottom:
    8px;
}


body.map-planner-page
.objective-dropdown-group
.objective-group-title {
  margin:
    0;

  color:
    #c6c98c;

  font-size:
    .62rem;

  font-weight:
    900;

  letter-spacing:
    .12em;

  text-transform:
    uppercase;
}


body.map-planner-page
.objective-remove-section {
  min-height:
    26px;

  padding:
    0 8px;

  border:
    1px solid rgba(152, 91, 63, .25);

  background:
    rgba(51, 24, 16, .34);

  color:
    #9b715c;

  font-size:
    .46rem;

  font-weight:
    900;

  letter-spacing:
    .08em;

  text-transform:
    uppercase;

  cursor:
    pointer;
}


body.map-planner-page
.objective-remove-section:disabled {
  opacity:
    .35;

  cursor:
    default;
}


body.map-planner-page
.objective-section-select {
  width:
    100%;

  min-height:
    42px;

  padding:
    0 36px 0 12px;

  border:
    1px solid rgba(181, 175, 135, .20);

  background:
    #0a0d08;

  color:
    #e0dbc7;

  font-size:
    .72rem;

  cursor:
    pointer;
}


body.map-planner-page
.objective-section-select:hover {
  border-color:
    rgba(174, 184, 118, .40);
}


body.map-planner-page
.objective-section-select:focus {
  outline:
    none;

  border-color:
    rgba(174, 184, 118, .58);

  box-shadow:
    0 0 0 1px
    rgba(174, 184, 118, .14);
}


body.map-planner-page
.objective-section-select:disabled {
  opacity:
    .55;

  cursor:
    not-allowed;
}


/* =========================================================
   OBJECTIVE TOOLBAR
   ========================================================= */

body.map-planner-page
.objective-toolbar {
  margin-bottom:
    12px;
}


body.map-planner-page
.objective-toolbar
#clear-all-objectives {
  width:
    100%;

  min-height:
    38px;

  font-size:
    .56rem;

  font-weight:
    900;

  letter-spacing:
    .08em;
}
/* =========================================================
   MAP PLANNER — FIX FIXED NAV OVERLAP
   ========================================================= */

body.map-planner-page
.map-planner-shell {
  padding-top: 86px !important;
}


/* Keep battlefield heading fully visible */

body.map-planner-page
.planner-heading {
  position: relative;

  z-index: 1;
}


body.map-planner-page
.planner-heading-copy {
  padding-top: 2px;
}
body.map-planner-page
.planner-roster-empty {
  padding: 18px;

  border:
    1px solid rgba(181, 175, 135, .12);

  background:
    rgba(9, 12, 8, .72);

  text-align:
    left;
}


body.map-planner-page
.planner-roster-empty strong {
  display: block;

  margin-bottom: 6px;

  color:
    #c6c98c;

  font-size:
    .58rem;

  letter-spacing:
    .12em;
}


body.map-planner-page
.planner-roster-empty span {
  color:
    #858b7c;

  font-size:
    .65rem;

  line-height:
    1.45;
}
/* =========================================================
   MAP PLANNER — OPERATIONS CHANNEL LINK
   ========================================================= */

body.map-planner-page
.planner-operation-link {
  width: 100%;

  min-height: 40px;

  display: flex;

  align-items: center;

  justify-content: center;

  margin: 2px 0 12px;

  padding: 0 12px;

  text-align: center;

  text-decoration: none;

  font-size: .56rem;

  font-weight: 900;

  letter-spacing: .09em;

  text-transform: uppercase;
}
/* =========================================================
   PERSONNEL CENTER — HEADER FIX
   ========================================================= */

body.personnel-center-page .admin-nav,
body.personnel-page .admin-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

body.personnel-center-page .admin-nav .brand,
body.personnel-page .admin-nav .brand {
  min-width: 0;
  white-space: nowrap;
}

body.personnel-center-page .admin-nav .nav-links,
body.personnel-page .admin-nav .nav-links,
body.personnel-center-page .admin-nav-primary,
body.personnel-page .admin-nav-primary {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: nowrap;
}

body.personnel-center-page .admin-nav .nav-links a,
body.personnel-page .admin-nav .nav-links a,
body.personnel-center-page .admin-nav-primary a,
body.personnel-page .admin-nav-primary a {
  white-space: nowrap;
  font-size: 0.72rem;
}

body.personnel-center-page .admin-nav .brand span,
body.personnel-page .admin-nav .brand span {
  font-size: 0.72rem;
}

@media (max-width: 1100px) {
  body.personnel-center-page .admin-nav,
  body.personnel-page .admin-nav {
    gap: 10px;
  }

  body.personnel-center-page .admin-nav .nav-links,
  body.personnel-page .admin-nav .nav-links,
  body.personnel-center-page .admin-nav-primary,
  body.personnel-page .admin-nav-primary {
    gap: 10px;
  }

  body.personnel-center-page .admin-nav .nav-links a,
  body.personnel-page .admin-nav .nav-links a,
  body.personnel-center-page .admin-nav-primary a,
  body.personnel-page .admin-nav-primary a {
    font-size: 0.66rem;
  }
}
/* =========================================================
   PERSONNEL CENTER — DESKTOP NAV FIX
   Fix brand/nav overlap
   ========================================================= */

@media (min-width: 901px) {

  body.inner-page.app-page .nav-wrap {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-left: 20px;
    padding-right: 20px;
  }

  body.inner-page.app-page .nav-wrap > .brand {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    margin-right: 12px;
  }

  body.inner-page.app-page .nav-wrap > .brand img {
    flex: 0 0 auto;
  }

  body.inner-page.app-page .nav-wrap > .brand span {
    white-space: nowrap;
  }

  body.inner-page.app-page .nav-wrap > .nav-links {
    flex: 1 1 auto;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
  }

  body.inner-page.app-page .nav-wrap > .nav-links > a {
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
  }

  body.inner-page.app-page .nav-wrap > .nav-links > #sign-out {
    flex: 0 0 auto;
    margin-left: 4px;
  }
}
/* =========================================================
   PERSONNEL CENTER — FINAL NAV FIX
   ========================================================= */

@media (min-width: 901px) {

  body.personnel-center-page .nav-wrap {
    display: grid;
    grid-template-columns: 185px minmax(0, 1fr);
    align-items: center;
    gap: 22px;

    padding-left: 20px;
    padding-right: 20px;
  }


  body.personnel-center-page .brand {
    width: 185px;
    min-width: 185px;

    display: flex;
    align-items: center;
    gap: 9px;

    overflow: hidden;
  }


  body.personnel-center-page .brand img {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }


  body.personnel-center-page .brand span {
    display: block;

    min-width: 0;

    font-size: 0.62rem;
    line-height: 1.1;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }


  body.personnel-center-page .nav-links {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 18px;
  }


  body.personnel-center-page .nav-links > a {
    flex: 0 0 auto;

    margin: 0;

    white-space: nowrap;

    font-size: 0.67rem;
  }


  body.personnel-center-page .nav-links > button {
    flex: 0 0 auto;
  }

}
/* =========================================================
   PERSONNEL CENTER — COMPACT DESKTOP HEADER
   ========================================================= */

@media (min-width: 901px) and (max-width: 1200px) {

  body.personnel-center-page .nav-wrap {
    display: flex;
    align-items: center;
    gap: 14px;

    padding-left: 18px;
    padding-right: 18px;
  }


  /*
    Keep the 34ID crest but remove the long brand text
    when the full member navigation is visible.
  */

  body.personnel-center-page .brand {
    width: auto;
    min-width: auto;
    flex: 0 0 auto;
    overflow: visible;
  }


  body.personnel-center-page .brand img {
    width: 42px;
    height: 42px;
  }


  body.personnel-center-page .brand span {
    display: none;
  }


  body.personnel-center-page .nav-links {
    flex: 1 1 auto;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 15px;
  }


  body.personnel-center-page .nav-links > a {
    flex: 0 0 auto;

    margin: 0;

    font-size: 0.66rem;

    white-space: nowrap;
  }


  body.personnel-center-page .nav-links > button {
    flex: 0 0 auto;
  }

}
/* =========================================================
   PERSONNEL RECORD — FIX HIDDEN DOSSIER
   ========================================================= */

body.personnel-record-page .personnel-folder {
  position: relative;
  left: auto;
  top: auto;

  opacity: 1;

  transform: none;

  width: auto;

  z-index: auto;
}
/* =========================================================
   DIVISION STRUCTURE — COMPACT DESKTOP HEADER
   ========================================================= */

@media (min-width: 901px) and (max-width: 1200px) {

  body.division-structure-page .nav-wrap {
    display: flex;
    align-items: center;
    gap: 14px;

    padding-left: 18px;
    padding-right: 18px;
  }

  body.division-structure-page .brand {
    width: auto;
    min-width: auto;
    flex: 0 0 auto;
    overflow: visible;
  }

  body.division-structure-page .brand img {
    width: 42px;
    height: 42px;
  }

  body.division-structure-page .brand span {
    display: none;
  }

  body.division-structure-page .nav-links {
    flex: 1 1 auto;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 15px;
  }

  body.division-structure-page .nav-links > a {
    flex: 0 0 auto;
    margin: 0;

    font-size: 0.66rem;
    white-space: nowrap;
  }

  body.division-structure-page .nav-links > button {
    flex: 0 0 auto;
  }
}
/* =========================================================
   DASHBOARD — NAV FIX
   ========================================================= */

body.dashboard-page .nav-wrap {
  position: relative;

  display: flex;
  align-items: center;

  min-height: 74px;

  padding-left: 92px !important;
  padding-right: 20px !important;
}

body.dashboard-page .nav-wrap > .brand {
  position: absolute;

  left: 20px;
  top: 50%;

  width: 48px;
  height: 48px;

  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  overflow: hidden;
}

body.dashboard-page .nav-wrap > .brand img {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

body.dashboard-page .nav-wrap > .brand span {
  display: none;
}

body.dashboard-page .nav-wrap > .nav-links {
  position: static;

  width: 100%;
  min-width: 0;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 20px;

  margin: 0 !important;
  padding: 0 !important;
}

body.dashboard-page .nav-wrap > .nav-links > a {
  width: auto;

  flex: 0 0 auto;

  margin: 0 !important;
  padding: 0 2px;

  white-space: nowrap;
}

/*
  Only use the collapsed/mobile navigation
  on genuinely small screens.
*/
@media (max-width: 700px) {

  body.dashboard-page .nav-wrap {
    padding-left: 20px !important;
  }

  body.dashboard-page .nav-wrap > .brand {
    position: static;
    transform: none;
  }

}
/* =========================================================
   MEMBER HOME — NAV FIX
   ========================================================= */

body.member-home-page .nav-wrap {
  position: relative;
  display: flex;
  align-items: center;

  min-height: 74px;

  padding-left: 92px !important;
  padding-right: 20px !important;
}

body.member-home-page .nav-wrap > .brand {
  position: absolute;

  left: 20px;
  top: 50%;

  width: 48px;
  height: 48px;

  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  overflow: hidden;
}

body.member-home-page .nav-wrap > .brand img {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

body.member-home-page .nav-wrap > .brand span {
  display: none;
}

body.member-home-page .nav-wrap > .nav-links {
  position: static;

  width: 100%;
  min-width: 0;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 20px;

  margin: 0 !important;
  padding: 0 !important;
}

body.member-home-page .nav-wrap > .nav-links > a {
  width: auto;
  flex: 0 0 auto;

  margin: 0 !important;
  padding: 0 2px;

  white-space: nowrap;
}
/* =========================================================
   MEMBER OPERATIONS — NAV FIX
   ========================================================= */

body.member-operations-page .nav-wrap {
  position: relative;
  display: flex;
  align-items: center;

  min-height: 74px;

  padding-left: 92px !important;
  padding-right: 20px !important;
}

body.member-operations-page .nav-wrap > .brand {
  position: absolute;

  left: 20px;
  top: 50%;

  width: 48px;
  height: 48px;

  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  overflow: hidden;
}

body.member-operations-page .nav-wrap > .brand img {
  width: 44px;
  height: 44px;
}

body.member-operations-page .nav-wrap > .brand span {
  display: none;
}

body.member-operations-page .nav-wrap > .nav-links {
  position: static;

  width: 100%;
  min-width: 0;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 20px;

  margin: 0 !important;
  padding: 0 !important;
}

body.member-operations-page .nav-wrap > .nav-links > a {
  width: auto;
  flex: 0 0 auto;

  margin: 0 !important;
  padding: 0 2px;

  white-space: nowrap;
}
/* =========================================================
   MEMBER ANNOUNCEMENTS — NAV FIX
   ========================================================= */

body.member-announcements-page .nav-wrap {
  position: relative;
  display: flex;
  align-items: center;

  min-height: 74px;

  padding-left: 92px !important;
  padding-right: 20px !important;
}

body.member-announcements-page .nav-wrap > .brand {
  position: absolute;

  left: 20px;
  top: 50%;

  width: 48px;
  height: 48px;

  transform: translateY(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  overflow: hidden;
}

body.member-announcements-page .nav-wrap > .brand img {
  width: 44px;
  height: 44px;
}

body.member-announcements-page .nav-wrap > .brand span {
  display: none;
}

body.member-announcements-page .nav-wrap > .nav-links {
  position: static;

  width: 100%;
  min-width: 0;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  gap: 20px;

  margin: 0 !important;
  padding: 0 !important;
}

body.member-announcements-page .nav-wrap > .nav-links > a {
  width: auto;
  flex: 0 0 auto;

  margin: 0 !important;
  padding: 0 2px;

  white-space: nowrap;
}
/* =========================================================
   MEMBER LOUNGE / WAR ROOM — FINAL NAV FIX
   ========================================================= */

@media (min-width: 901px) {

  body.member-lounge-page .nav-wrap {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 74px;

    padding-left: 92px !important;
    padding-right: 20px !important;
  }

  body.member-lounge-page .nav-wrap > .brand {
    position: absolute;

    left: 20px;
    top: 50%;

    width: 48px;
    height: 48px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 !important;
    overflow: hidden;
  }

  body.member-lounge-page .nav-wrap > .brand img {
    width: 44px;
    height: 44px;
    object-fit: cover;
  }

  body.member-lounge-page .nav-wrap > .brand span {
    display: none !important;
  }

  body.member-lounge-page .nav-wrap > .nav-links {
    position: static;

    width: 100%;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    gap: 20px;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.member-lounge-page .nav-wrap > .nav-links > a {
    width: auto;
    flex: 0 0 auto;

    margin: 0 !important;
    padding-left: 2px;
    padding-right: 2px;

    white-space: nowrap;
  }
}
/* =========================================================
   MAP ROOM — FINAL NAV FIX
   ========================================================= */

@media (min-width: 901px) {

  body.map-room-page .nav-wrap {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 74px;

    padding-left: 92px !important;
    padding-right: 20px !important;
  }

  body.map-room-page .nav-wrap > .brand {
    position: absolute;

    left: 20px;
    top: 50%;

    width: 48px;
    height: 48px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 !important;
    overflow: hidden;
  }

  body.map-room-page .nav-wrap > .brand img {
    width: 44px;
    height: 44px;
    object-fit: cover;
  }

  body.map-room-page .nav-wrap > .brand span {
    display: none !important;
  }

  body.map-room-page .nav-wrap > .nav-links {
    position: static;

    width: 100%;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    gap: 20px;

    margin: 0 !important;
    padding: 0 !important;
  }

  body.map-room-page .nav-wrap > .nav-links > a {
    width: auto;
    flex: 0 0 auto;

    margin: 0 !important;
    padding-left: 2px;
    padding-right: 2px;

    white-space: nowrap;
  }
}
/* =========================================================
   MAP PLANNER — TOUCH / PAN VIEWPORT
   ========================================================= */

#planner-viewport {
  position: relative;
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: contain;
}

#planner-viewport.is-panning {
  cursor: grabbing;
}