:root{--bg:#0b0c0d;--surface:#111315;--surface2:#16181b;--tan:#B69674;--tan2:#d3b18d;--text:#f5f2ed;--muted:#9d9a95;--line:rgba(182,150,116,.22);--line2:rgba(255,255,255,.08);--ok:#8cc7a0;--radius:18px;--shadow:0 24px 70px rgba(0,0,0,.45)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}.muted{color:var(--muted);line-height:1.65}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--tan2);font-weight:750}.auth-bg{position:fixed;inset:0;background-position:center;background-size:cover;filter:saturate(.82);transform:scale(1.01)}.auth-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,transparent 0,rgba(0,0,0,.2) 52%,rgba(0,0,0,.48) 100%)}.auth-stage,.onboard-stage{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:32px}.login-card,.onboard-card{width:min(460px,94vw);padding:44px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,rgba(17,19,21,.82),rgba(12,13,14,.68));backdrop-filter:blur(22px);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.05)}.login-card{text-align:center}.login-brand{display:flex;flex-direction:column;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;color:var(--tan2);font-size:12px;font-weight:800;letter-spacing:.05em;background:linear-gradient(145deg,rgba(182,150,116,.13),rgba(255,255,255,.02));box-shadow:0 0 30px rgba(182,150,116,.08)}.brand-mark.large{width:72px;height:72px;border-radius:20px;font-size:20px}.signal{width:34px;height:2px;background:var(--tan);box-shadow:0 0 15px var(--tan)}.login-brand p{font-size:11px;letter-spacing:.18em;margin:0;color:#d9d5cf}.login-card h1{font-size:36px;letter-spacing:-.04em;margin:28px 0 8px}.discord-btn,.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:14px 18px;font-weight:800;cursor:pointer;transition:.18s ease}.discord-btn,.primary{background:linear-gradient(180deg,var(--tan2),var(--tan));color:#15110e;box-shadow:0 8px 26px rgba(182,150,116,.18);margin-top:28px}.discord-btn:hover,.primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.secure-note{margin-top:22px;font-size:11px;color:#8f8c87;display:flex;align-items:center;justify-content:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}.onboard-card{width:min(600px,94vw)}.onboard-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.identity{display:flex;align-items:center;gap:10px}.identity img,.profile-chip img{width:38px;height:38px;border-radius:11px;object-fit:cover}.identity div,.profile-chip span{display:flex;flex-direction:column}.identity small,.profile-chip small{color:var(--muted);font-size:11px}.onboard-card h1{font-size:38px;letter-spacing:-.04em;margin:28px 0 8px}.form-grid{display:grid;grid-template-columns:1fr 140px;gap:16px;margin-top:28px}.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#c7c2bb}.form-grid input{width:100%;background:rgba(0,0,0,.26);border:1px solid var(--line2);color:var(--text);border-radius:11px;padding:14px;outline:none}.form-grid input:focus{border-color:var(--tan);box-shadow:0 0 0 3px rgba(182,150,116,.09)}.full{grid-column:1/-1}.primary.full{width:100%;margin-top:4px}.alert{padding:12px 14px;margin-top:18px;border:1px solid rgba(224,116,116,.3);background:rgba(224,116,116,.08);border-radius:10px;color:#efb0b0;font-size:13px}.progress-line{display:flex;align-items:center;gap:6px;margin-top:26px;color:#77736e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.progress-line i{width:22px;height:2px;background:#45423e}.progress-line i.active{background:var(--tan);box-shadow:0 0 8px rgba(182,150,116,.5)}.progress-line span{margin-left:7px}.rules-body{background:radial-gradient(circle at 15% 0%,rgba(182,150,116,.08),transparent 35%),#0b0c0d}.rules-stage{min-height:100vh;display:grid;place-items:center;padding:40px 24px}.rules-shell{width:min(920px,96vw);background:linear-gradient(145deg,#111315,#0f1012);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.rules-shell header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.rules-shell h1{font-size:34px;margin:8px 0 5px;letter-spacing:-.03em}.rules-shell header p{color:var(--muted);margin:0}.rule-status,.live-pill{font-size:10px;letter-spacing:.14em;color:var(--tan2);border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:rgba(182,150,116,.05)}.rule-scroll{height:390px;overflow:auto;padding:24px;background:#090a0b;border:1px solid var(--line2);border-radius:14px;color:#d7d3cc;line-height:1.8;white-space:normal}.rule-scroll.read-complete{border-color:rgba(182,150,116,.45)}.rule-scroll.standalone{height:auto;max-height:65vh}.check-row{display:flex;align-items:center;gap:12px;margin:20px 0 0;color:#d7d3cc;cursor:pointer}.check-row input{position:absolute;opacity:0}.fake-check{width:21px;height:21px;display:grid;place-items:center;border:1px solid #555;border-radius:6px;color:transparent;background:#111}.check-row input:not(:disabled):checked+.fake-check{background:var(--tan);border-color:var(--tan);color:#17120e}.check-row input:disabled~span{opacity:.45}.rules-shell .primary{margin-top:18px}.primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#ddd}.portal-body{overflow-x:hidden}.portal-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line2);background:linear-gradient(180deg,#0f1011,#0b0c0d);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid var(--line2)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:12px;letter-spacing:.08em}.brand small{font-size:9px;letter-spacing:.22em;color:var(--tan2);margin-top:5px}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:22px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:#9c9994;font-size:13px;border:1px solid transparent}.sidebar nav a span{width:18px;text-align:center;color:#777}.sidebar nav a em{margin-left:auto;font-style:normal;font-size:8px;letter-spacing:.1em;color:#5e5b57}.sidebar nav a:hover,.sidebar nav a.active{color:#eee;background:rgba(182,150,116,.07);border-color:rgba(182,150,116,.13)}.sidebar nav a.active span{color:var(--tan2)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:18px 10px 0;border-top:1px solid var(--line2)}.sidebar-bottom a{font-size:11px;color:#777}.main{min-width:0;padding:0 34px 42px;background:radial-gradient(circle at 80% 0%,rgba(182,150,116,.04),transparent 30%),var(--bg)}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2)}.topbar h1{font-size:23px;margin:5px 0 0;letter-spacing:-.02em}.profile-chip{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line2);border-radius:12px;background:#101214}.profile-chip strong{font-size:12px}.hero-panel{min-height:300px;margin-top:28px;border:1px solid var(--line);border-radius:20px;padding:36px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:linear-gradient(110deg,rgba(12,13,14,.94),rgba(12,13,14,.62)),radial-gradient(circle at 80% 10%,rgba(182,150,116,.18),transparent 35%),linear-gradient(135deg,#15181a,#0e0f10);box-shadow:inset 0 1px rgba(255,255,255,.04)}.hero-copy h2{font-size:44px;line-height:1.02;letter-spacing:-.045em;margin:12px 0}.hero-copy p{max-width:570px;color:#aaa59f;line-height:1.6}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2);border-radius:13px;overflow:hidden;min-width:420px;background:rgba(0,0,0,.18)}.hero-grid div{padding:16px;border-right:1px solid var(--line2)}.hero-grid div:last-child{border:0}.hero-grid small,.stat-grid small{display:block;color:#77736e;font-size:9px;letter-spacing:.13em}.hero-grid strong{font-size:12px;color:#ddd}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.stat-grid article{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line2);border-radius:14px;background:#101214}.stat-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--tan2);background:rgba(182,150,116,.05)}.stat-grid strong{display:block;margin-top:4px;font-size:14px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.panel{border:1px solid var(--line2);border-radius:16px;background:#101214;padding:24px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between}.panel h3{font-size:23px;margin:7px 0}.live-pill{display:flex;align-items:center;gap:7px}.live-pill i{width:5px;height:5px;border-radius:50%;background:var(--ok);box-shadow:0 0 9px var(--ok)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.quick-grid a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line2);border-radius:12px;padding:14px;background:#0d0f10}.quick-grid b{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:rgba(182,150,116,.08);color:var(--tan2)}.quick-grid span{font-size:12px;font-weight:700}.quick-grid small{display:block;color:#716e69;font-size:10px;margin-top:3px;font-weight:500}.quick-grid em{font-size:8px;color:#65615c;font-style:normal;letter-spacing:.08em}.member-card{text-align:center}.member-card>img{width:82px;height:82px;border-radius:20px;margin-top:20px;border:1px solid var(--line);padding:3px}.member-card h3{margin-bottom:2px}.member-card>p{margin-top:0;color:#777}.member-card dl{margin:20px 0 0;border-top:1px solid var(--line2)}.member-card dl div{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line2);font-size:11px}.member-card dt{color:#777}.member-card dd{margin:0;color:#ccc}@media(max-width:1000px){.portal-shell{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.brand span:last-child,.sidebar nav a:not(.active) em,.sidebar nav a em,.sidebar nav a{font-size:0}.sidebar nav a{justify-content:center}.sidebar nav a span{font-size:17px}.sidebar-bottom{display:none}.hero-panel{align-items:flex-start;flex-direction:column}.hero-grid{min-width:0;width:100%}.stat-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}}@media(max-width:680px){.main{padding:0 16px 30px}.portal-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:82px}.profile-chip span{display:none}.hero-panel{padding:24px}.hero-copy h2{font-size:34px}.hero-grid{grid-template-columns:1fr}.hero-grid div{border-right:0;border-bottom:1px solid var(--line2)}.stat-grid,.quick-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.onboard-top{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.login-card,.onboard-card{padding:28px}.rules-shell{padding:20px}.rules-shell header{flex-direction:column}.rule-scroll{height:48vh}}
/* V2.1 host-resilient login fallback */
.auth-body{min-height:100vh;overflow:hidden}
.auth-bg-fallback{background-image:radial-gradient(circle at 72% 18%,rgba(182,150,116,.18),transparent 28%),linear-gradient(135deg,#17191b 0%,#0b0c0d 55%,#12100e 100%)}
/* V2 Phase 2A — Member Dashboard */
.dash-welcome{margin-top:28px;min-height:270px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.65fr);gap:14px}.dash-welcome-copy{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:38px;background:radial-gradient(circle at 90% 0%,rgba(182,150,116,.16),transparent 34%),linear-gradient(125deg,#141618,#0d0f10 68%)}.dash-welcome-copy:after{content:"DVRP";position:absolute;right:-12px;bottom:-46px;font-size:150px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none}.dash-welcome-copy h2{font-size:42px;letter-spacing:-.045em;margin:12px 0 10px}.dash-welcome-copy p{max-width:720px;margin:0;color:#9f9b95;line-height:1.65}.welcome-actions{display:flex;gap:9px;margin-top:27px;flex-wrap:wrap}.dash-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.025);font-size:11px;font-weight:750;color:#d8d4ce;transition:.18s}.dash-btn:hover{border-color:var(--line);background:rgba(182,150,116,.055);transform:translateY(-1px)}.dash-btn.primary-action{border-color:rgba(182,150,116,.28);background:rgba(182,150,116,.09);color:var(--tan2)}.member-pass{position:relative;overflow:hidden;border:1px solid var(--line2);border-radius:20px;padding:24px;background:linear-gradient(145deg,#131517,#0d0f10)}.member-pass:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(182,150,116,.08);border-radius:50%;right:-80px;bottom:-90px;box-shadow:0 0 70px rgba(182,150,116,.05)}.member-pass-top{display:flex;justify-content:space-between;align-items:center;color:#77736e;font-size:8px;letter-spacing:.18em}.member-pass-top i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok)}.member-pass-person{display:flex;align-items:center;gap:15px;margin-top:33px}.member-pass-person img{width:62px;height:62px;border-radius:15px;object-fit:cover;border:1px solid var(--line);padding:2px}.member-pass-person div{display:flex;flex-direction:column;min-width:0}.member-pass-person small{font-size:8px;letter-spacing:.15em;color:var(--tan2)}.member-pass-person strong{font-size:20px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-pass-person span{font-size:10px;color:#777;margin-top:3px}.member-pass-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:30px;border-top:1px solid var(--line2);padding-top:17px}.member-pass-meta small{display:block;color:#66625e;font-size:8px;letter-spacing:.14em}.member-pass-meta strong{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:9px;letter-spacing:.08em;color:#bdb8b1}.member-pass-meta strong i{width:5px;height:5px;border-radius:50%;background:var(--ok)}.dash-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.dash-stat{position:relative;display:flex;align-items:center;gap:13px;min-height:82px;padding:16px;border:1px solid var(--line2);border-radius:14px;background:#101214}.dash-stat-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;border:1px solid rgba(182,150,116,.17);background:rgba(182,150,116,.055);color:var(--tan2)}.dash-stat>div:nth-child(2){min-width:0}.dash-stat small{display:block;font-size:8px;letter-spacing:.14em;color:#6f6c67}.dash-stat strong{display:block;margin-top:3px;font-size:13px;color:#e3dfd8}.dash-stat span{display:block;margin-top:2px;font-size:9px;color:#625f5b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-light{position:absolute;right:13px;top:13px;width:5px;height:5px;border-radius:50%;background:#665f58}.status-light.online{background:var(--ok);box-shadow:0 0 10px var(--ok)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.dashboard-main-column,.dashboard-side-column{display:flex;flex-direction:column;gap:14px}.dashboard-panel{padding:22px}.dashboard-panel-head h3{margin:6px 0 2px;font-size:19px}.dashboard-panel-head p{margin:0;color:#66625e;font-size:10px}.section-code,.phase-tag{font-size:8px;letter-spacing:.12em;color:#65615d;border:1px solid var(--line2);border-radius:999px;padding:6px 8px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.service-card{position:relative;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px;border:1px solid var(--line2);border-radius:12px;background:#0d0f10;transition:.18s}.service-card.available:hover{border-color:rgba(182,150,116,.3);background:rgba(182,150,116,.045);transform:translateY(-1px)}.service-card.locked{cursor:default}.service-card.locked:after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.006));pointer-events:none}.service-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(182,150,116,.15);border-radius:10px;color:var(--tan2);background:rgba(182,150,116,.045)}.service-card>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.service-card strong{font-size:11px}.service-card span{margin-top:4px;color:#696661;font-size:9px;line-height:1.35}.service-card em{font-style:normal;font-size:7px;letter-spacing:.11em;color:#5f5b56}.service-card.available em{color:var(--tan)}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.activity-number{display:flex;align-items:baseline;gap:8px;margin:19px 0}.activity-number strong{font-size:42px;line-height:1;color:#e3dfd8}.activity-number span{font-size:8px;letter-spacing:.12em;color:#68645f}.activity-bars{display:flex;flex-direction:column;gap:11px}.activity-bars>div{display:grid;grid-template-columns:75px 1fr 18px;align-items:center;gap:8px}.activity-bars span,.activity-bars em{font-size:7px;letter-spacing:.1em;color:#65615d;font-style:normal}.activity-bars i{height:3px;background:#202225;border-radius:4px;overflow:hidden}.activity-bars b{display:block;height:100%;background:var(--tan)}.module-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line2);font-size:9px;line-height:1.5;color:#5f5c58}.empty-module{min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.empty-module-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:var(--tan2);font-size:10px;font-weight:800;margin-bottom:13px}.empty-module strong{font-size:11px}.empty-module p{max-width:300px;margin:7px 0 0;color:#625f5a;font-size:9px;line-height:1.5}.identity-panel{text-align:center;padding:22px}.identity-header{display:flex;align-items:center;justify-content:space-between}.verified-badge{font-size:7px;letter-spacing:.12em;color:var(--ok);border:1px solid rgba(140,199,160,.16);border-radius:999px;padding:5px 7px}.identity-avatar{width:76px;height:76px;object-fit:cover;border-radius:19px;border:1px solid var(--line);padding:3px;margin:24px 0 10px}.identity-panel h3{font-size:19px;margin:0}.identity-panel>p{font-size:10px;color:#6e6a65;margin:4px 0 20px}.identity-details{margin:0;border-top:1px solid var(--line2)}.identity-details div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2);font-size:9px}.identity-details dt{color:#66625e}.identity-details dd{margin:0;color:#aaa59e;text-align:right}.identity-details dd i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ok);margin-right:5px}.announcement-preview{min-height:180px}.announcement-empty{display:flex;flex-direction:column;align-items:flex-start;margin-top:17px;padding:15px;border:1px dashed rgba(255,255,255,.07);border-radius:11px}.announcement-empty>span{color:var(--tan);font-size:10px;letter-spacing:.15em}.announcement-empty strong{font-size:10px;margin-top:10px}.announcement-empty p{margin:5px 0 0;font-size:9px;line-height:1.5;color:#625f5a}@media(max-width:1180px){.dash-welcome{grid-template-columns:1fr}.member-pass{min-height:220px}.dashboard-layout{grid-template-columns:1fr}.dashboard-side-column{display:grid;grid-template-columns:1fr 1fr}.dash-stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:850px){.dashboard-split,.service-grid{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:1fr}.dash-welcome-copy h2{font-size:34px}}@media(max-width:680px){.dash-welcome{margin-top:16px}.dash-welcome-copy{padding:25px}.dash-stat-grid{grid-template-columns:1fr}.member-pass{padding:20px}.dashboard-panel,.identity-panel{padding:18px}.service-card{grid-template-columns:38px 1fr}.service-card em{grid-column:2}.section-code{display:none}}
/* Phase 2B */
.phase-head,.form-hero,.submission-hero,.studio-top{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin:26px 0 30px}.phase-head h2,.form-hero h2,.submission-hero h2,.studio-top h1{font-size:clamp(28px,3vw,44px);margin:7px 0 9px}.phase-head p,.form-hero>p,.studio-top p{max-width:760px;color:var(--muted);line-height:1.7}.phase-stat{min-width:150px;border:1px solid var(--line);border-radius:16px;padding:18px 22px;background:var(--panel)}.phase-stat strong{font-size:28px;display:block}.phase-stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.section-title{display:flex;justify-content:space-between;align-items:end;margin:26px 0 14px}.section-title h3{margin:4px 0;font-size:20px}.form-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-card,.empty-card{display:block;border:1px solid var(--line);border-radius:16px;padding:24px;background:linear-gradient(145deg,rgba(182,150,116,.05),rgba(255,255,255,.01));text-decoration:none;color:inherit;min-height:175px}.form-card:hover{border-color:rgba(182,150,116,.55);transform:translateY(-1px)}.form-card h3{font-size:21px;margin:10px 0}.form-card p,.empty-card p{color:var(--muted);line-height:1.55}.form-type,.submission-id{font-size:10px;color:var(--tan);letter-spacing:.14em;font-weight:800}.form-card-foot{display:flex;justify-content:space-between;margin-top:24px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.form-card-foot strong{color:var(--tan)}.submission-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}.submission-row{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);gap:20px}.submission-row:last-child{border-bottom:0}.submission-row:hover{background:rgba(182,150,116,.04)}.submission-row strong,.submission-row small{display:block;margin-top:4px}.submission-row small{color:var(--muted)}.status-pill{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:9px;letter-spacing:.09em;white-space:nowrap}.status-awaiting_review{color:#d8b98d}.status-under_review{color:#e6cf78}.status-accepted{color:#8fd3a7}.status-denied{color:#e68c8c}.notice-card,.error-box,.success-box{border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:18px 0;background:var(--panel)}.error-box{border-color:rgba(220,100,100,.4)}.success-box{border-color:rgba(100,200,140,.35)}.back-link{display:inline-block;color:var(--muted);text-decoration:none;margin:22px 0 4px}.requirements{margin-top:18px;border-left:2px solid var(--tan);padding:4px 0 4px 16px}.dynamic-form,.panel{border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:24px}.identity-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.identity-strip small,.identity-strip strong{display:block}.identity-strip small{font-size:9px;color:var(--muted);letter-spacing:.12em}.identity-strip span{font-size:10px;color:#8fd3a7}.field{margin:0 0 20px}.field label{display:block;font-weight:700;margin-bottom:7px}.field label em{font-style:normal;font-size:9px;color:var(--tan);margin-left:7px}.field>small{display:block;color:var(--muted);margin:-3px 0 8px}.field input,.field textarea,.field select,.review-actions input{width:100%;box-sizing:border-box;background:#0d0f10;border:1px solid var(--line);color:#eee;border-radius:10px;padding:12px 13px}.field textarea,.comment-form textarea{min-height:120px;resize:vertical}.choice-row{display:flex;gap:20px}.choice-row label,.check-line,.ack-box{font-weight:400!important}.form-heading{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.submit-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.submit-bar small{display:block;color:var(--muted);margin-top:4px}.submission-columns,.studio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:14px}.answer{padding:15px 0;border-bottom:1px solid var(--line)}.answer:last-child{border-bottom:0}.answer small{color:var(--tan);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.answer p{white-space:pre-wrap;line-height:1.6}.timeline>div{position:relative;padding:0 0 18px 20px;border-left:1px solid var(--line)}.timeline i{position:absolute;left:-4px;top:4px;width:7px;height:7px;background:var(--tan);border-radius:50%}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:4px}.conversation{margin-top:14px}.message{padding:16px;border:1px solid var(--line);border-radius:12px;margin:10px 0}.message.internal{border-color:rgba(182,150,116,.45);background:rgba(182,150,116,.05)}.message small{float:right;color:var(--muted)}.message p{line-height:1.6;margin-bottom:0}.comment-form{margin-top:18px}.comment-form textarea{width:100%;box-sizing:border-box;background:#0d0f10;border:1px solid var(--line);color:#eee;border-radius:10px;padding:13px;margin-bottom:10px}.studio-wrap{max-width:1500px;margin:auto;padding:28px}.studio-top{border-bottom:1px solid var(--line);padding-bottom:24px}.studio-form{margin-top:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-2{grid-column:span 2}.schema-editor{border-top:1px solid var(--line);padding-top:22px}.code-editor{width:100%;min-height:360px;box-sizing:border-box;background:#090a0b;color:#ddd;border:1px solid var(--line);border-radius:12px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55}.action-buttons{display:flex;gap:9px;flex-wrap:wrap}.btn.ghost{background:transparent}.btn.accept{border-color:rgba(80,190,120,.5)}.btn.deny{border-color:rgba(220,90,90,.5)}.review-actions form{display:flex;gap:12px;align-items:center}.review-actions input{flex:1}.empty-row{padding:24px;color:var(--muted)}.empty-icon{font-size:28px;color:var(--tan)}.muted{color:var(--muted)}
@media(max-width:900px){.form-card-grid,.submission-columns,.studio-grid,.field-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.phase-head,.form-hero,.submission-hero,.studio-top,.submit-bar{align-items:flex-start;flex-direction:column}.identity-strip{grid-template-columns:1fr 1fr}.review-actions form{align-items:stretch;flex-direction:column}}
\n/* Phase 2B refinement: explicit action controls */
.btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 16px;border:1px solid rgba(182,150,116,.42);border-radius:10px;background:linear-gradient(180deg,var(--tan2),var(--tan));color:#15110e!important;font:inherit;font-size:13px;font-weight:800;line-height:1;letter-spacing:.01em;cursor:pointer;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease,color .16s ease,opacity .16s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}
.btn:focus-visible{outline:2px solid var(--tan2);outline-offset:2px}
.btn.ghost{background:rgba(255,255,255,.025);color:var(--text)!important;border-color:var(--line)}
.btn.ghost:hover:not(:disabled){background:rgba(182,150,116,.08);border-color:rgba(182,150,116,.45)}
.btn.accept{background:rgba(76,150,100,.12);border-color:rgba(104,205,137,.48);color:#a8dfb9!important}
.btn.accept:hover:not(:disabled){background:rgba(76,150,100,.2);border-color:rgba(104,205,137,.7)}
.btn.deny{background:rgba(180,67,67,.11);border-color:rgba(225,101,101,.5);color:#f0a1a1!important}
.btn.deny:hover:not(:disabled){background:rgba(180,67,67,.19);border-color:rgba(225,101,101,.72)}
.btn.secondary-action{background:rgba(182,150,116,.08);color:var(--tan2)!important;border-color:rgba(182,150,116,.34)}
.btn:disabled{opacity:.34;cursor:not-allowed;transform:none;filter:none}
.review-actions .action-buttons{display:flex;gap:10px;flex-wrap:wrap}
.review-actions .action-buttons .btn{min-width:112px}
.studio-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.studio-actions{justify-content:flex-start}.studio-actions .btn{width:100%}.review-actions .action-buttons{width:100%}.review-actions .action-buttons .btn{flex:1}}

/* Phase 2B polish: account menu + Form Studio management */
.account-menu{position:relative}.account-menu>summary{list-style:none;cursor:pointer;user-select:none}.account-menu>summary::-webkit-details-marker{display:none}.profile-chip{transition:border-color .16s ease,background .16s ease,transform .16s ease}.profile-chip:hover,.account-menu[open] .profile-chip{border-color:rgba(182,150,116,.38);background:rgba(182,150,116,.055)}.account-chevron{font-style:normal;color:#77716a;font-size:13px;margin-left:5px;transition:transform .16s ease}.account-menu[open] .account-chevron{transform:rotate(180deg)}.account-dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:245px;padding:8px;border:1px solid rgba(182,150,116,.22);border-radius:14px;background:rgba(13,15,16,.98);box-shadow:0 22px 60px rgba(0,0,0,.55);backdrop-filter:blur(18px)}.account-dropdown-head{padding:10px 11px 12px}.account-dropdown-head small{display:block;font-size:8px;letter-spacing:.16em;color:#6f6b66;margin-bottom:5px}.account-dropdown-head strong{font-size:12px}.account-dropdown>a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;color:#aaa59e;font-size:11px}.account-dropdown>a>span{width:17px;color:#77716a;text-align:center}.account-dropdown>a:hover{background:rgba(182,150,116,.07);color:#f3eee8}.account-dropdown .staff-entry{color:var(--tan2)}.staff-entry>div{display:flex;flex-direction:column}.staff-entry small{font-size:8px;color:#716b65;margin-top:2px}.account-divider{height:1px;background:var(--line2);margin:5px}.account-dropdown .signout-entry:hover{color:#efa5a5;background:rgba(190,70,70,.07)}
.studio-actions{gap:8px}.studio-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:11px;font-weight:750;letter-spacing:.015em;transition:.16s ease;background:#0e1011;color:#b9b4ae}.studio-btn span{font-size:14px;color:var(--tan2)}.studio-btn:hover{transform:translateY(-1px);border-color:rgba(182,150,116,.5);background:rgba(182,150,116,.07);color:#f3eee8}.studio-btn-primary{background:linear-gradient(180deg,rgba(182,150,116,.18),rgba(182,150,116,.1));border-color:rgba(182,150,116,.42);color:var(--tan2)}.studio-btn-secondary{background:rgba(255,255,255,.018)}.studio-btn-back{margin-right:4px;color:#8e8983}.archive-filter{font-size:10px;color:var(--tan2);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.archive-filter:hover{background:rgba(182,150,116,.06)}.form-library-row{padding:0;gap:0}.form-library-main{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:1;padding:18px 20px;min-width:0}.form-library-actions{padding:0 14px;border-left:1px solid var(--line2)}.mini-action{appearance:none;background:transparent;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:#8d8882;font:inherit;font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.mini-action:hover{background:rgba(255,255,255,.03);color:#eee}.mini-action.delete{border-color:rgba(210,90,90,.28);color:#cf8585}.mini-action.delete:hover{background:rgba(190,70,70,.08);border-color:rgba(225,101,101,.5)}.mini-action.archive{color:#c2a27e}.mini-action.restore{color:#8fd3a7;border-color:rgba(100,200,140,.25)}
@media(max-width:700px){.account-dropdown{right:0;width:min(245px,80vw)}.form-library-row{align-items:stretch;flex-direction:column}.form-library-actions{border-left:0;border-top:1px solid var(--line2);padding:10px 14px}.mini-action{width:100%}}


/* Phase 2B final UI cleanup: one DVRP button language everywhere */
.review-btn{min-width:118px;min-height:40px;padding:0 15px;font-size:11px}
.review-accept{border-color:rgba(104,205,137,.34);color:#a8dfb9;background:rgba(76,150,100,.08)}
.review-accept:hover{border-color:rgba(104,205,137,.62);background:rgba(76,150,100,.15)}
.review-deny{border-color:rgba(225,101,101,.34);color:#f0a1a1;background:rgba(180,67,67,.07)}
.review-deny:hover{border-color:rgba(225,101,101,.62);background:rgba(180,67,67,.14)}
.comment-form .action-buttons .studio-btn{min-width:160px}
.queue-row{padding:0}.queue-main{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:1;padding:18px 20px;min-width:0}.queue-delete{padding:0 14px;border-left:1px solid var(--line2)}
.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:14px;padding:20px 24px;border:1px solid rgba(225,101,101,.18);border-radius:17px;background:rgba(180,67,67,.025)}.danger-zone>div{display:flex;flex-direction:column;gap:5px}.danger-zone strong{font-size:14px}.danger-zone small{color:var(--muted);line-height:1.5}.danger-btn{border-color:rgba(225,101,101,.35);color:#e9a0a0;background:rgba(180,67,67,.07);white-space:nowrap}.danger-btn:hover{border-color:rgba(225,101,101,.65);background:rgba(180,67,67,.14)}
@media(max-width:700px){.review-btn,.comment-form .action-buttons .studio-btn{width:100%}.queue-row{align-items:stretch;flex-direction:column}.queue-main{width:100%}.queue-delete{border-left:0;border-top:1px solid var(--line2);padding:10px 14px}.queue-delete .mini-action{width:100%}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone form,.danger-btn{width:100%}}

/* Phase 2C — announcements, profile and activity */
.announcement-list{display:grid;gap:14px;max-width:1100px}.announcement-card{padding:25px}.announcement-card.important{border-color:rgba(210,150,95,.48);box-shadow:inset 3px 0 rgba(182,150,116,.75)}.announcement-meta{display:flex;justify-content:space-between;gap:20px;color:var(--tan2);font-size:9px;letter-spacing:.12em}.announcement-meta time{color:#716d68;letter-spacing:0}.announcement-card h3{font-size:22px;margin:12px 0}.announcement-body{color:#c9c5bf;line-height:1.75;white-space:normal}.announcement-card footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line2);font-size:10px;color:#77736e}.dash-announcement{display:flex;flex-direction:column;gap:5px;padding:13px 0;border-bottom:1px solid var(--line2)}.dash-announcement:last-child{border-bottom:0}.dash-announcement small{font-size:8px;letter-spacing:.12em;color:var(--tan2)}.dash-announcement strong{font-size:12px}.dash-announcement span{font-size:9px;color:#6f6b66}.profile-hero{display:flex;align-items:center;gap:20px;padding:28px}.profile-hero img{width:78px;height:78px;border-radius:20px;object-fit:cover;border:1px solid var(--line)}.profile-hero h2{font-size:30px;margin:5px 0}.profile-hero p{margin:0;color:var(--muted)}.profile-hero>.verified-badge{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.profile-section{padding:24px}.profile-section h3{margin:7px 0 18px}.profile-dl{margin:0}.profile-dl>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line2)}.profile-dl dt{font-size:10px;color:#777}.profile-dl dd{margin:0;font-size:11px}.profile-dl .good{color:var(--ok)}.profile-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.profile-stat-grid>div{padding:16px;border:1px solid var(--line2);border-radius:11px;background:#0d0f10}.profile-stat-grid strong,.profile-stat-grid span{display:block}.profile-stat-grid strong{font-size:21px}.profile-stat-grid span{margin-top:4px;font-size:9px;color:#777}.profile-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line2)}.profile-history-row span{display:flex;flex-direction:column}.profile-history-row strong{font-size:11px}.profile-history-row small{font-size:8px;color:#777;margin-top:4px}.account-history>div{display:flex;gap:12px;padding:10px 0}.account-history i{width:7px;height:7px;border-radius:50%;background:var(--tan);margin-top:4px}.account-history span{display:flex;flex-direction:column}.account-history strong{font-size:11px}.account-history small{font-size:9px;color:#777;margin-top:3px}.activity-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.activity-summary-grid article{padding:22px}.activity-summary-grid small,.activity-summary-grid strong{display:block}.activity-summary-grid small{font-size:9px;letter-spacing:.12em;color:#777}.activity-summary-grid strong{font-size:28px;margin-top:8px}.activity-center-panel{margin-top:14px;padding:24px}.activity-empty{text-align:center;padding:55px 20px}.activity-empty>span{font-size:32px;color:var(--tan)}.activity-empty strong,.activity-empty p{display:block}.activity-empty p{color:var(--muted);max-width:520px;margin:8px auto}.session-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line2)}.session-list span{display:flex;flex-direction:column}.session-list small{color:#777;margin-top:4px}.session-list em{font-style:normal;color:var(--tan2)}.announcement-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:14px;margin-top:20px}.announcement-admin-grid>.panel{padding:24px}.announcement-form label{display:flex;flex-direction:column;gap:7px;margin:13px 0}.announcement-form label>span{font-size:9px;letter-spacing:.1em;color:#8c8781;text-transform:uppercase}.announcement-form input,.announcement-form textarea,.announcement-form select{background:#0b0d0e;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font:inherit}.announcement-form textarea{resize:vertical}.announcement-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.announcement-checks label{flex-direction:row;align-items:center;margin:0;padding:10px;border:1px solid var(--line2);border-radius:9px;color:#aaa;font-size:10px}.announcement-admin-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line2)}.announcement-admin-row>div{display:flex;flex-direction:column}.announcement-admin-row small{font-size:8px;color:var(--tan2)}.announcement-admin-row strong{font-size:11px;margin:4px 0}.announcement-admin-row span{font-size:8px;color:#777}
@media(max-width:900px){.profile-grid,.announcement-admin-grid{grid-template-columns:1fr}.activity-summary-grid{grid-template-columns:1fr 1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-hero>.verified-badge{margin-left:0}.announcement-checks{grid-template-columns:1fr}}

/* Phase 2D — Image Host + CAD Center */
.image-host-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.upload-panel,.storage-panel{padding:26px}.upload-panel h3,.storage-panel h3{font-size:22px;margin:7px 0 18px}.storage-panel h3 small{font-size:12px;color:var(--muted);font-weight:500}.image-upload-form{display:flex;flex-direction:column;gap:14px}.upload-drop{position:relative;display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(182,150,116,.38);border-radius:14px;background:rgba(182,150,116,.025);cursor:pointer;transition:.18s}.upload-drop:hover{border-color:rgba(182,150,116,.7);background:rgba(182,150,116,.05)}.upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:13px;color:var(--tan2);font-size:22px;margin-bottom:12px}.upload-drop strong{font-size:13px}.upload-drop small{margin-top:6px;color:var(--muted);font-size:9px}.visibility-select{display:flex;flex-direction:column;gap:7px}.visibility-select>span{font-size:9px;letter-spacing:.12em;color:#777}.visibility-select select,.image-actions select{background:#0b0d0e;border:1px solid var(--line);border-radius:9px;color:#d7d3cc;padding:10px;font:inherit;font-size:10px}.storage-meter{height:6px;border-radius:99px;background:#202225;overflow:hidden;margin-top:22px}.storage-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--tan),var(--tan2));box-shadow:0 0 14px rgba(182,150,116,.3)}.storage-meta{display:flex;justify-content:space-between;margin-top:8px;color:#777;font-size:8px;letter-spacing:.1em}.storage-panel p{margin-top:24px;padding-top:18px;border-top:1px solid var(--line2);color:var(--muted);font-size:10px;line-height:1.6}.image-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.image-card{padding:0;overflow:hidden}.image-preview{display:block;aspect-ratio:16/10;background:#090a0b;border-bottom:1px solid var(--line2);overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:.2s}.image-preview:hover img{transform:scale(1.02)}.image-card-body{padding:16px}.image-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.image-card-top small{font-size:8px;color:#777}.visibility-pill{font-size:7px;letter-spacing:.12em;border:1px solid var(--line);border-radius:999px;padding:5px 7px;color:var(--tan2)}.visibility-pill.private{color:#a7b9dc;border-color:rgba(130,160,210,.25)}.visibility-pill.public{color:var(--ok);border-color:rgba(140,199,160,.25)}.image-card-body>strong{display:block;margin-top:13px;font-size:11px}.image-card-body>span{display:block;margin-top:3px;color:#777;font-size:9px}.image-url-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:13px}.image-url-row input{min-width:0;background:#0b0d0e;border:1px solid var(--line2);border-radius:9px;color:#777;padding:9px;font-size:8px}.image-url-row .studio-btn{min-height:34px;padding:0 10px;font-size:9px}.image-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.image-actions form{margin:0}.image-actions select{padding:7px 9px}.image-empty{text-align:center;padding:55px}.image-empty>span{font-size:30px;color:var(--tan)}.image-empty strong,.image-empty p{display:block}.image-empty p{color:var(--muted);font-size:10px}.cad-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px}.cad-launch,.cad-info{padding:32px}.cad-launch{text-align:center;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(182,150,116,.09),transparent 32%),#101214}.cad-orbit{display:grid;place-items:center;width:92px;height:92px;border:1px solid var(--line);border-radius:50%;margin-bottom:24px;box-shadow:0 0 55px rgba(182,150,116,.07),inset 0 0 30px rgba(182,150,116,.04)}.cad-orbit span{font-size:32px;color:var(--tan2)}.cad-launch h3{font-size:28px;margin:10px 0}.cad-launch p{max-width:600px;color:var(--muted);line-height:1.7;margin:0 0 22px}.cad-disabled{font-size:9px;letter-spacing:.13em;color:#777;border:1px solid var(--line2);border-radius:999px;padding:9px 12px}.cad-info h3{margin:8px 0 20px}.cad-info-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line2);font-size:10px}.cad-info-row span{color:#777}.cad-info-row .good{color:var(--ok)}.cad-note{margin-top:22px;padding:16px;border:1px solid var(--line2);border-radius:11px;background:#0d0f10}.cad-note strong{font-size:10px}.cad-note p{font-size:9px;color:var(--muted);line-height:1.6;margin:6px 0 0}
@media(max-width:1050px){.image-host-layout,.cad-layout{grid-template-columns:1fr}.image-gallery{grid-template-columns:1fr 1fr}}@media(max-width:700px){.image-gallery{grid-template-columns:1fr}.image-url-row{grid-template-columns:1fr}.image-actions{align-items:stretch;flex-direction:column}.image-actions form,.image-actions select,.image-actions .mini-action{width:100%}}

/* Phase 2D.1 — Image Host Pro */
.upload-preview-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:10px;position:relative;z-index:2;pointer-events:none}.queued-image{min-width:0;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:#0b0d0e;text-align:left}.queued-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.queued-image span{display:block;padding:7px;font-size:7px;color:#918c86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.optimize-link{display:flex;margin-top:9px;justify-content:center}.optimizer-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px}.optimizer-preview,.optimizer-controls{padding:24px}.optimizer-preview img{width:100%;max-height:520px;object-fit:contain;border-radius:12px;background:#090a0b;border:1px solid var(--line2)}.optimizer-preview div{display:flex;justify-content:space-between;margin-top:12px}.optimizer-preview span{font-size:9px;color:#777}.optimizer-controls h3{font-size:22px;margin:7px 0 18px}.optimizer-form{display:flex;flex-direction:column;gap:13px}.optimizer-form label{display:flex;flex-direction:column;gap:7px}.optimizer-form label>span{font-size:9px;letter-spacing:.11em;color:#777}.optimizer-form input[type=number],.optimizer-form select{background:#0b0d0e;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px;font:inherit}.optimizer-dims{display:grid;grid-template-columns:1fr 1fr;gap:10px}.optimizer-form input[type=range]{accent-color:var(--tan)}@media(max-width:900px){.optimizer-layout{grid-template-columns:1fr}.upload-preview-grid{grid-template-columns:repeat(2,1fr)}}

/* DVRP Global UI System — custom controls */
:root{--control-bg:#0b0d0e;--control-bg-hover:#0e1112;--control-border:rgba(182,150,116,.24);--control-border-hover:rgba(182,150,116,.46);--control-focus:rgba(182,150,116,.13);--control-height:44px;--control-radius:10px}

/* Inputs / textareas / selects */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
textarea,select{
  -webkit-appearance:none;appearance:none;width:100%;min-height:var(--control-height);padding:11px 13px;
  border:1px solid var(--control-border);border-radius:var(--control-radius);outline:0;
  background:linear-gradient(180deg,rgba(16,18,19,.98),rgba(10,12,13,.98));color:var(--text);
  font:inherit;font-size:12px;line-height:1.35;box-shadow:inset 0 1px rgba(255,255,255,.018);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease
}
input::placeholder,textarea::placeholder{color:#625f5b;opacity:1}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):hover,
textarea:hover,select:hover{border-color:var(--control-border-hover);background:linear-gradient(180deg,#111415,#0c0e0f)}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):focus,
textarea:focus,select:focus{border-color:var(--tan);box-shadow:0 0 0 3px var(--control-focus),0 0 24px rgba(182,150,116,.055);background:#0d0f10}
textarea{min-height:120px;resize:vertical}
select{cursor:pointer;padding-left:34px;padding-right:14px;background-image:linear-gradient(45deg,transparent 50%,#f3f3f3 50%),linear-gradient(135deg,#f3f3f3 50%,transparent 50%),linear-gradient(180deg,rgba(16,18,19,.98),rgba(10,12,13,.98));background-position:14px calc(50% - 1px),18px calc(50% - 1px),0 0;background-size:4px 4px,4px 4px,100% 100%;background-repeat:no-repeat}
select:hover{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%),linear-gradient(180deg,#111415,#0c0e0f)}
select:focus{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%),linear-gradient(180deg,#0d0f10,#0d0f10)}
select option{background:#101214;color:#eee}
input[type="date"]{color-scheme:dark}
input[type="date"]::-webkit-calendar-picker-indicator{opacity:.72;filter:sepia(.25) saturate(.7);cursor:pointer}
input[type="number"]{-moz-appearance:textfield}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Custom checkbox / radio controls */
input[type="checkbox"],input[type="radio"]{-webkit-appearance:none;appearance:none;width:19px;height:19px;min-width:19px;margin:0 8px 0 0;vertical-align:-4px;border:1px solid rgba(182,150,116,.36);background:#0b0d0e;display:inline-grid;place-content:center;cursor:pointer;transition:.15s ease;box-shadow:inset 0 1px rgba(255,255,255,.025)}
input[type="checkbox"]{border-radius:6px}
input[type="radio"]{border-radius:50%}
input[type="checkbox"]:before{content:"";width:9px;height:5px;border-left:2px solid #17120e;border-bottom:2px solid #17120e;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s ease}
input[type="radio"]:before{content:"";width:7px;height:7px;border-radius:50%;background:#17120e;transform:scale(0);transition:transform .12s ease}
input[type="checkbox"]:checked,input[type="radio"]:checked{background:linear-gradient(180deg,var(--tan2),var(--tan));border-color:var(--tan2);box-shadow:0 0 0 3px rgba(182,150,116,.08),0 0 16px rgba(182,150,116,.12)}
input[type="checkbox"]:checked:before,input[type="radio"]:checked:before{transform:rotate(-45deg) scale(1)}
input[type="radio"]:checked:before{transform:scale(1)}
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--tan2);outline-offset:3px}
input[type="checkbox"]:disabled,input[type="radio"]:disabled{opacity:.38;cursor:not-allowed}
.choice-row label,.check-line,.ack-box,.check-row{display:flex;align-items:center;gap:4px;cursor:pointer;color:#c9c5bf}
/* Preserve the special Rules checkbox that already has its own visual */
.check-row input{position:absolute;opacity:0;width:1px;height:1px;margin:0}

/* File picker */
input[type="file"]{width:100%;color:#8f8a84;font:inherit;font-size:11px;cursor:pointer}
input[type="file"]::file-selector-button{-webkit-appearance:none;appearance:none;margin-right:12px;min-height:38px;padding:0 14px;border:1px solid rgba(182,150,116,.36);border-radius:9px;background:rgba(182,150,116,.08);color:var(--tan2);font:inherit;font-size:10px;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:.16s ease}
input[type="file"]::file-selector-button:hover{background:rgba(182,150,116,.15);border-color:rgba(182,150,116,.58)}

/* Range sliders */
input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;accent-color:var(--tan)}
input[type="range"]::-webkit-slider-runnable-track{height:5px;border:1px solid rgba(182,150,116,.2);border-radius:999px;background:linear-gradient(90deg,rgba(182,150,116,.32),rgba(255,255,255,.07))}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;margin-top:-7px;border:2px solid #161311;border-radius:50%;background:var(--tan2);box-shadow:0 0 0 3px rgba(182,150,116,.11),0 2px 8px rgba(0,0,0,.4)}
input[type="range"]::-moz-range-track{height:5px;border:1px solid rgba(182,150,116,.2);border-radius:999px;background:rgba(255,255,255,.07)}
input[type="range"]::-moz-range-thumb{width:15px;height:15px;border:2px solid #161311;border-radius:50%;background:var(--tan2);box-shadow:0 0 0 3px rgba(182,150,116,.11)}

/* Unified button family */
button,.btn,.primary,.secondary,.studio-btn,.mini-action,.discord-btn{font-family:inherit}
button:not(.fake-check),.btn,.primary,.secondary,.studio-btn,.mini-action{transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
button:focus-visible,.btn:focus-visible,.studio-btn:focus-visible,.mini-action:focus-visible{outline:2px solid var(--tan2);outline-offset:2px}
.btn,.studio-btn,.primary,.secondary{border-radius:10px}
.btn:hover:not(:disabled),.studio-btn:hover:not(:disabled),.primary:hover:not(:disabled),.secondary:hover:not(:disabled){box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 18px rgba(182,150,116,.055)}
button:disabled,.btn:disabled,.studio-btn:disabled{opacity:.38;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Scrollbars + disclosure arrows */
*{scrollbar-width:thin;scrollbar-color:rgba(182,150,116,.42) #0a0b0c}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#0a0b0c}*::-webkit-scrollbar-thumb{background:rgba(182,150,116,.34);border:2px solid #0a0b0c;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:rgba(182,150,116,.55)}
details>summary{cursor:pointer}

/* Consistent labels and disabled controls */
.field label,.optimizer-form label>span{letter-spacing:.025em}
input:disabled,textarea:disabled,select:disabled{opacity:.48;cursor:not-allowed;background:#090a0b}
@media(max-width:700px){:root{--control-height:46px}select{padding-left:34px;padding-right:14px}}

/* DVRP sleek select refresh — retains the requested small white LEFT arrow.
   Native option popups remain controlled by the user's browser/OS. */
select {
  min-height: 43px;
  padding: 10px 14px 10px 37px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 9px;
  color: #e9e5df;
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .005em;
  background-color: #101214;
  background-image:
    linear-gradient(45deg, transparent 50%, #f0efed 50%),
    linear-gradient(135deg, #f0efed 50%, transparent 50%),
    linear-gradient(180deg, rgba(24,26,28,.98), rgba(13,15,17,.98));
  background-position: 15px calc(50% - 1px), 19px calc(50% - 1px), 0 0;
  background-size: 4px 4px, 4px 4px, 100% 100%;
  background-repeat: no-repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 2px 8px rgba(0,0,0,.08);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
select:hover {
  border-color: rgba(182,150,116,.35);
  background-image:
    linear-gradient(45deg, transparent 50%, #fff 50%),
    linear-gradient(135deg, #fff 50%, transparent 50%),
    linear-gradient(180deg, #1c1e20, #111315);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 4px 14px rgba(0,0,0,.16);
}
select:focus, select:focus-visible {
  border-color: rgba(182,150,116,.7);
  outline: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #fff 50%),
    linear-gradient(135deg, #fff 50%, transparent 50%),
    linear-gradient(180deg, #1b1d1e, #111315);
  box-shadow: 0 0 0 3px rgba(182,150,116,.095), inset 0 1px 0 rgba(255,255,255,.035);
}
select:disabled { opacity:.46; cursor:not-allowed; }
select option { background-color:#141618; color:#f0ece7; }
select optgroup { background-color:#111315; color:#d3b18d; font-weight:700; }
@media (max-width:700px) { select { min-height:46px; padding-left:37px; } }


/* DVRP DARK CONTROLS FIX
   Removes native white surfaces and oversized CSS triangle indicators. */

select {
  -webkit-appearance: none !important;
  appearance: none !important;
  color-scheme: dark;
  min-height: 43px;
  padding: 10px 14px 10px 38px !important;
  color: #eee9e3 !important;
  background-color: #111315 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M2 2.25 6 6l4-3.75' fill='none' stroke='%23F4F1ED' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 15px 50% !important;
  background-size: 10px 7px !important;
  border: 1px solid rgba(182,150,116,.25) !important;
  border-radius: 9px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
select:hover {
  background-color: #151719 !important;
  border-color: rgba(182,150,116,.45) !important;
}
select:focus,
select:focus-visible {
  background-color: #151719 !important;
  border-color: rgba(182,150,116,.72) !important;
  box-shadow: 0 0 0 3px rgba(182,150,116,.08), inset 0 1px 0 rgba(255,255,255,.025) !important;
  outline: none !important;
}
select option {
  color: #eee9e3 !important;
  background: #111315 !important;
}

/* Prevent browser-default white submit/file/action buttons anywhere in the portal. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  -webkit-appearance: none;
  appearance: none;
  color: #e9dfd4;
  background: #171512;
  border: 1px solid rgba(182,150,116,.34);
  border-radius: 9px;
  min-height: 40px;
  padding: 9px 15px;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
  color: #fff;
  background: #201c18;
  border-color: rgba(182,150,116,.62);
  box-shadow: 0 5px 16px rgba(0,0,0,.15);
}
button:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
  transform: translateY(1px);
}
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible {
  outline: none;
  border-color: rgba(182,150,116,.78);
  box-shadow: 0 0 0 3px rgba(182,150,116,.09);
}
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled {
  opacity: .42;
  cursor: not-allowed;
  transform: none;
}

/* Keep file picker button dark as well. */
input[type="file"] {
  color: #aaa39b !important;
  background: #101214 !important;
}
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
  color: #e7d9ca !important;
  background: #191612 !important;
  border: 1px solid rgba(182,150,116,.32) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  margin-right: 12px !important;
  font: inherit !important;
  font-weight: 650 !important;
  cursor: pointer !important;
}
input[type="file"]::file-selector-button:hover,
input[type="file"]::-webkit-file-upload-button:hover {
  background: #211c17 !important;
  border-color: rgba(182,150,116,.58) !important;
}


/* Phase 3A — Departments */
.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 0 22px}.page-intro h2{font-size:32px;margin:7px 0 6px;letter-spacing:-.035em}.page-intro p{margin:0;color:var(--muted);max-width:650px}.department-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.department-card{position:relative;min-height:245px;overflow:hidden;border:1px solid color-mix(in srgb,var(--dept-primary) 35%,transparent);border-radius:16px;background:var(--dept-card,#111315)}.department-card-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.department-card-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,11,.96) 8%,rgba(9,10,11,.68) 60%,rgba(9,10,11,.32))}.department-card-content{position:relative;z-index:2;height:100%;min-height:245px;display:flex;align-items:center;gap:18px;padding:28px}.department-card-logo{width:70px;height:70px;object-fit:contain}.department-monogram{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--dept-primary);border-radius:17px;color:var(--dept-primary);font-weight:850;font-size:16px}.department-card-content>div{min-width:0}.department-card-content small{color:var(--dept-primary);font-size:8px;letter-spacing:.16em}.department-card-content h3{font-size:24px;margin:7px 0 4px}.department-card-content p{margin:0;color:#aaa;font-size:11px}.department-card-content em{margin-left:auto;font-style:normal;color:var(--dept-primary);font-size:9px;letter-spacing:.08em}.department-card:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(0,0,0,.28)}.department-empty{margin-top:24px;padding:55px;text-align:center}.department-empty>span{display:block;font-size:30px;color:var(--tan);margin-bottom:10px}.department-empty p{color:var(--muted)}.dash-dept-list>a{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line2)}.dash-dept-list i{width:7px;height:34px;border-radius:99px;background:var(--dept);box-shadow:0 0 14px color-mix(in srgb,var(--dept) 35%,transparent)}.dash-dept-list span{display:flex;flex-direction:column}.dash-dept-list strong{font-size:11px}.dash-dept-list small{font-size:9px;color:#777;margin-top:3px}.dash-dept-list em{margin-left:auto;font-style:normal;font-size:8px;color:var(--tan2)}
.department-theme{background:var(--dept-bg,#0b0c0d)}.department-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr;background:var(--dept-bg);color:var(--dept-text)}.department-sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid rgba(255,255,255,.07);background:color-mix(in srgb,var(--dept-bg) 92%,white 8%);display:flex;flex-direction:column}.department-back{font-size:9px;color:#777;padding:4px 6px 18px}.department-brand{display:flex;align-items:center;gap:12px;padding:18px 6px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.department-brand>img,.department-brand>span{width:45px;height:45px;object-fit:contain}.department-brand>span{display:grid;place-items:center;border:1px solid var(--dept-primary);border-radius:12px;color:var(--dept-primary);font-size:10px;font-weight:800}.department-brand div{display:flex;flex-direction:column;min-width:0}.department-brand strong{font-size:13px}.department-brand small{font-size:8px;color:#777;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.department-sidebar nav{display:flex;flex-direction:column;gap:4px;padding-top:18px}.department-sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px;border-radius:9px;color:#918d88;font-size:11px;border:1px solid transparent}.department-sidebar nav a span{width:16px;text-align:center}.department-sidebar nav a.active{color:#fff;background:color-mix(in srgb,var(--dept-primary) 9%,transparent);border-color:color-mix(in srgb,var(--dept-primary) 18%,transparent)}.department-sidebar nav a.active span{color:var(--dept-primary)}.department-sidebar nav a.disabled{opacity:.45;cursor:default}.department-sidebar nav em{margin-left:auto;font-size:7px;font-style:normal;color:#666}.department-manage{margin-top:auto;padding:11px;border:1px solid color-mix(in srgb,var(--dept-primary) 28%,transparent);border-radius:9px;color:var(--dept-primary);font-size:9px;text-align:center}.department-main{min-width:0;padding:0 32px 42px}.department-top{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07)}.department-top>div>span{font-size:8px;letter-spacing:.17em;color:var(--dept-primary)}.department-top h1{font-size:22px;margin:5px 0 0}.department-user{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.02)}.department-user img{width:35px;height:35px;border-radius:9px}.department-user span{display:flex;flex-direction:column}.department-user strong{font-size:10px}.department-user small{font-size:8px;color:#777}.department-hero{position:relative;min-height:300px;margin-top:25px;padding:36px;border:1px solid color-mix(in srgb,var(--dept-primary) 30%,transparent);border-radius:17px;background:radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--dept-primary) 12%,transparent),transparent 32%),var(--dept-card);background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden}.department-hero>div:first-child{position:relative;z-index:2;max-width:700px}.department-hero h2{font-size:38px;letter-spacing:-.04em;margin:10px 0}.department-hero p{color:#aaa;line-height:1.7}.department-hero-mark{position:absolute;right:28px;bottom:-25px;font-size:120px;font-weight:900;color:color-mix(in srgb,var(--dept-primary) 7%,transparent);letter-spacing:-.08em}.department-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.department-stats article,.dept-panel{padding:22px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:var(--dept-card)}.department-stats small,.department-stats strong,.department-stats span{display:block}.department-stats small{font-size:8px;letter-spacing:.12em;color:#777}.department-stats strong{font-size:18px;margin-top:8px}.department-stats strong.good{color:#8cc7a0}.department-stats span{font-size:8px;color:#777;margin-top:3px}.department-overview-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-top:12px}.dept-panel h3{font-size:20px;margin:7px 0}.dept-panel p{color:#999;line-height:1.7;font-size:11px}.department-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.department-admin-card{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--line2);border-radius:13px;background:#101214}.department-admin-card>i{width:5px;height:50px;border-radius:99px;background:var(--dept-primary)}.department-admin-card>div{display:flex;flex-direction:column}.department-admin-card small{font-size:8px;color:var(--dept-primary);letter-spacing:.12em}.department-admin-card strong{font-size:13px;margin:4px 0}.department-admin-card span{font-size:8px;color:#777}.department-admin-card em{margin-left:auto;font-size:8px;color:var(--tan2);font-style:normal}.department-builder-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:14px;margin-top:20px}.dept-builder-panel{padding:25px}.dept-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dept-form-grid label,.dept-color-grid label{display:flex;flex-direction:column;gap:7px}.dept-form-grid label>span,.dept-color-grid label>span{font-size:8px;letter-spacing:.11em;color:#817c76;text-transform:uppercase}.dept-form-grid input,.dept-form-grid textarea,.dept-form-grid select,.dept-member-add input,.dept-member-add select,.color-input input[type=text]{width:100%;background:#0b0d0e;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px;font:inherit}.dept-form-grid textarea{resize:vertical}.dept-form-grid .full{grid-column:1/-1}.dept-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:18px 0}.color-input{display:grid;grid-template-columns:40px 1fr;gap:6px}.color-input input[type=color]{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#0b0d0e;padding:4px}.color-input input:not([type=color]){min-width:0;background:#0b0d0e;border:1px solid var(--line);border-radius:8px;color:#aaa;padding:8px;font-size:9px}.dept-member-add{display:flex;flex-direction:column;gap:9px}.command-check{display:flex;align-items:center;gap:8px;color:#aaa;font-size:9px}.dept-member-list{margin-top:18px;border-top:1px solid var(--line2)}.dept-member-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line2)}.dept-member-list span{display:flex;flex-direction:column}.dept-member-list strong{font-size:10px}.dept-member-list small{font-size:8px;color:#777;margin-top:3px}
@media(max-width:1000px){.department-card-grid,.department-admin-grid,.department-builder-grid,.department-overview-grid{grid-template-columns:1fr}.dept-color-grid{grid-template-columns:repeat(2,1fr)}.department-shell{grid-template-columns:1fr}.department-sidebar{position:relative;height:auto}.department-sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.department-main{padding:0 18px 30px}}@media(max-width:700px){.department-stats{grid-template-columns:1fr}.department-card-content{align-items:flex-start;flex-direction:column}.department-card-content em{margin-left:0}.dept-form-grid{grid-template-columns:1fr}.dept-form-grid .full{grid-column:auto}.page-intro{align-items:flex-start;flex-direction:column}}


/* Phase 3B — Department Operations */
.dept-page-head,.dept-manage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 0 20px}.dept-page-head h2,.dept-manage-head h2{font-size:30px;margin:6px 0}.dept-page-head p{color:#85817d;margin:0}.dept-roster{padding:0;overflow:hidden}.dept-roster-head,.dept-roster-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 1fr .65fr .65fr .65fr;gap:16px;align-items:center;padding:14px 20px}.dept-roster-head{font-size:8px;letter-spacing:.12em;color:#6f6c68;border-bottom:1px solid rgba(255,255,255,.07)}.dept-roster-row{min-height:67px;border-bottom:1px solid rgba(255,255,255,.055);font-size:10px}.dept-roster-row:hover{background:color-mix(in srgb,var(--dept-primary) 5%,transparent)}.roster-person{display:flex;align-items:center;gap:11px}.roster-person img{width:38px;height:38px;border-radius:9px;object-fit:cover}.roster-person i{display:flex;flex-direction:column;font-style:normal}.roster-person strong{font-size:11px}.roster-person small{font-size:8px;color:#777;margin-top:3px}.command-tag{display:block;width:max-content;margin-top:4px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--dept-primary) 28%,transparent);border-radius:99px;color:var(--dept-primary);font-size:6px;letter-spacing:.08em}.status-pill{display:inline-flex;width:max-content;padding:5px 8px;border:1px solid rgba(255,255,255,.09);border-radius:99px;font-size:7px;letter-spacing:.09em}.status-pill.active{color:#83c49a;border-color:rgba(87,178,119,.25)}.status-pill.loa{color:#d5ae78;border-color:rgba(213,174,120,.25)}.personnel-hero{display:flex;align-items:center;gap:18px;margin-top:28px;padding:25px}.personnel-hero>img{width:78px;height:78px;border-radius:16px;object-fit:cover}.personnel-hero h2{font-size:28px;margin:6px 0 2px}.personnel-hero p{margin:0;color:#777}.personnel-hero>.status-pill{margin-left:auto}.personnel-timeline{margin-top:12px}.timeline-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.055)}.timeline-row>i{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--dept-primary);box-shadow:0 0 12px color-mix(in srgb,var(--dept-primary) 45%,transparent)}.timeline-row>div{display:flex;flex-direction:column}.timeline-row strong{font-size:10px}.timeline-row small{font-size:8px;color:#777;margin-top:4px}.dept-news-list{margin-top:14px}.dept-news-list>a{display:flex;flex-direction:column;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.dept-news-list small{font-size:7px;color:var(--dept-primary);letter-spacing:.1em}.dept-news-list strong{font-size:11px;margin:4px 0}.dept-news-list span{font-size:8px;color:#6f6f6f}.dept-announcement-list{display:grid;gap:12px}.dept-announcement{padding:24px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:var(--dept-card)}.dept-announcement.important{border-color:color-mix(in srgb,#c67a67 38%,transparent)}.dept-announcement h3{font-size:20px;margin:7px 0 10px}.dept-announcement p{font-size:11px;color:#aaa;line-height:1.75}.dept-announcement footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);font-size:8px;color:#777}.dept-manage-tabs{display:flex;gap:7px;margin-bottom:14px}.dept-manage-tabs a{padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:9px;color:#8e8a85;background:#101214}.dept-manage-tabs a.active{color:var(--dept-primary);border-color:color-mix(in srgb,var(--dept-primary) 38%,transparent);background:color-mix(in srgb,var(--dept-primary) 7%,#101214)}.dept-manage-form,.rank-form{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr auto auto auto;gap:9px;align-items:center}.dept-manage-form input,.dept-manage-form select,.rank-form input,.announcement-form input,.announcement-form textarea,.announcement-form select,.manage-roster-row input,.manage-roster-row select{width:100%;background:#0b0d0e;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#eee;padding:10px;font:inherit}.dept-manage-form label,.rank-form label,.announcement-form label,.manage-roster-row label{display:flex;align-items:center;gap:6px;color:#999;font-size:8px;white-space:nowrap}.manage-roster-list{margin-top:12px;padding:0;overflow-x:auto}.manage-roster-row{display:grid;grid-template-columns:minmax(190px,1.4fr) 1fr .7fr .7fr auto auto auto;gap:8px;align-items:center;padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.055)}.rank-form{grid-template-columns:1.2fr .6fr .5fr 1.2fr auto auto}.rank-list{margin-top:12px}.rank-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.rank-list span{display:flex;flex-direction:column}.rank-list strong{font-size:11px}.rank-list small{font-size:8px;color:#777;margin-top:4px}.announcement-form{display:grid;gap:10px}.announcement-form>div{display:grid;grid-template-columns:1fr 1fr auto auto;gap:9px;align-items:center}
@media(max-width:1000px){.dept-roster-head{display:none}.dept-roster-row{grid-template-columns:1.5fr 1fr .7fr}.dept-roster-row>span:nth-child(4),.dept-roster-row>span:nth-child(5){display:none}.dept-manage-form,.rank-form,.manage-roster-row{grid-template-columns:1fr 1fr}.announcement-form>div{grid-template-columns:1fr 1fr}}@media(max-width:650px){.dept-roster-row{grid-template-columns:1fr}.dept-roster-row>span:nth-child(n+2){display:block}.dept-manage-tabs{overflow-x:auto}.dept-manage-form,.rank-form,.manage-roster-row,.announcement-form>div{grid-template-columns:1fr}}
/* Phase 3C — Department Content */
.dept-page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.dept-page-head h2{margin:4px 0 5px;font-size:24px}.dept-page-head p,.muted-copy{margin:0;color:#858585;font-size:10px}.empty-content{text-align:center;padding:55px 24px}.empty-content>span{font-size:25px;color:var(--dept-primary,#B69674)}.empty-content h3{margin:12px 0 5px}.empty-content p{margin:0;color:#777;font-size:10px}.document-grid{display:grid;gap:10px}.resource-card{display:grid;grid-template-columns:42px 1fr auto;gap:15px;align-items:center;padding:17px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(15,17,18,.82)}.resource-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--dept-primary) 10%,#111);border:1px solid color-mix(in srgb,var(--dept-primary) 25%,transparent);color:var(--dept-primary);font-size:16px}.resource-card h3{margin:3px 0;font-size:12px}.resource-card p{margin:5px 0;color:#999;font-size:9px}.resource-card small{color:#626262;font-size:8px}.dept-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dept-gallery-item{margin:0;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:#0f1112}.dept-gallery-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.dept-gallery-item.featured{grid-column:span 2}.dept-gallery-item figcaption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 13px}.dept-gallery-item figcaption span{font-size:7px;letter-spacing:.16em;color:var(--dept-primary);font-weight:800}.dept-gallery-item figcaption p{margin:0;color:#bbb;font-size:9px}.reference-search{display:grid;grid-template-columns:1fr 220px auto auto;gap:9px;margin-bottom:14px}.reference-results{display:grid;gap:10px}.reference-entry{padding:18px 20px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:#101213}.reference-entry h3{display:flex;gap:9px;align-items:center;margin:5px 0;font-size:13px}.reference-entry h3 b{color:var(--dept-primary);font-size:10px}.reference-entry small{color:#777;font-size:9px}.reference-body{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.055);font-size:10px;line-height:1.7;color:#bbb}.compact-content-form{display:grid;grid-template-columns:1fr 100px auto;gap:9px}.chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.chip-list form{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0d0f10;font-size:9px}.content-publish-form{display:grid;gap:10px}.content-publish-form>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-items:center}.content-admin-list{margin-top:12px}.content-admin-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.055)}.content-admin-list span,.reference-category-list>div,.reference-admin-row>span{display:flex;flex-direction:column;gap:3px}.content-admin-list small,.reference-category-list small,.reference-admin-row small,.reference-admin-row em{font-size:8px;color:#777;font-style:normal}.manage-gallery{margin-top:12px}.reference-visibility-list{margin-top:14px}.reference-visibility-list form{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.055)}.reference-visibility-list span{display:flex;flex-direction:column;gap:3px}.reference-visibility-list small{font-size:8px;color:#777}.reference-admin-grid{align-items:start}.reference-category-list{margin-top:14px;display:grid;gap:8px}.reference-category-list>div{padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#0d0f10}.reference-admin-list{margin-top:14px}.reference-admin-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.055)}
@media(max-width:900px){.dept-gallery-grid{grid-template-columns:repeat(2,1fr)}.reference-search{grid-template-columns:1fr 1fr}.content-publish-form>div{grid-template-columns:1fr}.resource-card{grid-template-columns:42px 1fr}.resource-card>a{grid-column:1/-1}}@media(max-width:600px){.dept-gallery-grid{grid-template-columns:1fr}.dept-gallery-item.featured{grid-column:auto}.reference-search,.compact-content-form,.reference-visibility-list form{grid-template-columns:1fr}}
/* Phase 3B.1 roster automation */
.member-search-select{display:grid;gap:8px;min-width:260px}.member-search-select select{min-height:132px;padding:8px;background:#111315}.member-search-select option{padding:7px 10px}.auto-callsign-note{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;border:1px solid rgba(182,150,116,.25);border-radius:10px;background:rgba(182,150,116,.06)}.auto-callsign-note small{opacity:.62}.callsign-request-row,.callsign-self-service{display:flex;align-items:center;justify-content:space-between;gap:16px}.callsign-request-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.callsign-request-row span{display:grid;gap:3px}.callsign-request-row small{opacity:.6}.callsign-request-row form{display:flex;gap:8px}.callsign-self-service{margin-bottom:16px}.callsign-self-service p{margin:.35rem 0 0;opacity:.68}

/* Phase 3B.1 UX refinement: member autocomplete + visible rank/Discord role setup */
.member-autocomplete{position:relative;min-width:280px}.member-autocomplete>.member-search{width:100%}.member-suggestions{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;padding:6px;background:#0d0f10;border:1px solid rgba(182,150,116,.34);border-radius:11px;box-shadow:0 18px 45px rgba(0,0,0,.48)}.member-suggestions.open{display:grid}.member-suggestion{display:flex!important;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#f0ece7!important;text-align:left;box-shadow:none!important}.member-suggestion:hover,.member-suggestion.active{background:rgba(182,150,116,.10)!important}.member-suggestion strong{font-size:10px;font-weight:600}.member-suggestion small{font-size:8px;color:#8c8781}.member-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:39px;padding:7px 10px;border:1px solid rgba(182,150,116,.34);border-radius:9px;background:rgba(182,150,116,.06)}.member-selected[hidden]{display:none}.member-selected span{display:grid;gap:2px}.member-selected strong{font-size:10px}.member-selected small{font-size:8px;color:#8c8781}.member-selected .clear-member{width:26px;height:26px;padding:0!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:7px!important;background:#111315!important;color:#aaa!important}.rank-help{margin-bottom:12px}.rank-help h3{margin:4px 0 5px}.rank-help p{margin:0;color:#817d78;font-size:9px;line-height:1.6}.rank-edit-row{display:grid;grid-template-columns:1.15fr .55fr .45fr 1.2fr auto auto auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}.rank-edit-row input{width:100%;background:#0b0d0e;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#eee;padding:10px;font:inherit}.rank-edit-row label{display:flex;align-items:center;gap:6px;color:#999;font-size:8px;white-space:nowrap}@media(max-width:1000px){.rank-edit-row{grid-template-columns:1fr 1fr}}@media(max-width:650px){.rank-edit-row{grid-template-columns:1fr}}


/* Phase 3B.2 - clean member autocomplete + Discord integration fields */
.member-autocomplete{position:relative;width:100%}.member-autocomplete .member-search{width:100%}.member-suggestions{display:none;position:absolute;z-index:100;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;padding:6px;background:#101112;border:1px solid rgba(182,150,116,.5);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.5)}.member-suggestions.open{display:block}.member-suggestion{display:flex!important;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#f5f2ed!important;text-align:left;box-shadow:none!important}.member-suggestion:hover,.member-suggestion.active{background:rgba(182,150,116,.12)!important}.member-suggestion small{color:#9d9a95}.member-selected{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid rgba(182,150,116,.45);border-radius:10px;background:#111315}.member-selected[hidden]{display:none}.member-selected span{display:flex;flex-direction:column}.member-selected small{color:#9d9a95}.clear-member{width:32px!important;height:32px!important;padding:0!important;border-radius:8px!important}.field-divider{margin-top:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.field-divider p{margin:5px 0 0;color:#9d9a95;font-size:.82rem}.dept-member-add .member-autocomplete{margin-bottom:10px}

/* Phase 3B.3 */
.callsign-command-form{display:flex;gap:8px;align-items:center;margin:8px 0 18px 56px}.callsign-command-form input{max-width:160px}.callsign-self-service{display:flex;justify-content:space-between;align-items:center;gap:20px}.callsign-self-service p{max-width:720px}.field small{display:block;margin-top:6px;opacity:.65;font-size:12px}

.callsign-card form{margin-top:12px}.callsign-request-btn{font-size:11px;padding:8px 10px;width:100%}
/* Phase 3D — Subdivisions */
.subdivision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.subdivision-card{min-height:260px;border:1px solid rgba(182,150,116,.2);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;background:#111315 center/cover no-repeat;color:inherit;text-decoration:none;overflow:hidden;transition:.2s ease}.subdivision-card:hover{transform:translateY(-2px);border-color:rgba(182,150,116,.6)}.subdivision-card img{width:56px;height:56px;object-fit:contain;margin-bottom:18px}.subdivision-card h3{font-size:24px;margin:5px 0 8px}.subdivision-card p{color:#aaa;margin:0}.subdivision-card footer{display:flex;justify-content:space-between;margin-top:28px;font-size:11px;letter-spacing:.12em;color:#b69674}.sub-member{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.sub-member img{width:38px;height:38px;border-radius:50%}.sub-member span{display:flex;flex-direction:column}.sub-member small,.resource-link small{color:#888}.resource-link{display:flex;flex-direction:column;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07);text-decoration:none;color:inherit}.sub-announcement{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}.sub-announcement small{color:#b69674}.sub-announcement strong{display:block;font-size:17px;margin:4px 0}.subdivision-manage-layout{display:grid;grid-template-columns:250px 1fr;gap:16px}.subdivision-manage-layout>aside{align-self:start;display:flex;flex-direction:column;gap:8px}.subdivision-manage-layout>main{display:flex;flex-direction:column;gap:16px}.sub-manage-link{padding:12px;border-radius:10px;text-decoration:none;color:inherit;border:1px solid transparent;display:flex;flex-direction:column}.sub-manage-link span{font-size:12px;color:#888}.sub-manage-link.active,.sub-manage-link:hover{background:rgba(182,150,116,.08);border-color:rgba(182,150,116,.25)}.sub-member.manage form{margin-left:auto}@media(max-width:900px){.subdivision-manage-layout{grid-template-columns:1fr}}
/* Phase 3E — Training & Certifications */
.phase3e-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.phase3e-hero h2{margin:5px 0}.phase3e-hero p{margin:0;color:#999}.training-grid,.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.training-card h3,.cert-card h3{margin:6px 0}.training-card p{color:#999;min-height:42px}.training-progress{height:5px;background:#080909;border-radius:10px;overflow:hidden;margin:18px 0 10px}.training-progress i{display:block;height:100%;background:var(--dept-primary)}.training-card footer,.cert-card footer{display:flex;justify-content:space-between;gap:12px;color:#888;font-size:10px}.training-card footer strong,.cert-card footer strong{color:#bbb}.cert-card{min-height:155px;display:flex;flex-direction:column;justify-content:space-between}.cert-status{font-size:8px;letter-spacing:.14em;border:1px solid rgba(255,255,255,.1);padding:4px 7px;border-radius:20px}.cert-status.active{color:#9fc7a8}.cert-status.expiring{color:#d4b479}.cert-status.expired,.cert-status.revoked{color:#cf8585}.training-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.training-form textarea{grid-column:1/-1}.training-form button{justify-self:start}.training-list-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.training-list-row span{display:flex;flex-direction:column;gap:3px}.training-list-row small{color:#888}@media(max-width:700px){.phase3e-hero{align-items:flex-start;flex-direction:column}.training-form{grid-template-columns:1fr}.training-form textarea{grid-column:auto}}
.personnel-qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:14px}.personnel-qual-grid>div{display:grid;gap:8px}.personnel-qual-grid span{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:10px}.personnel-qual-grid em,.personnel-qual-grid small{color:#888;font-style:normal;font-size:9px}@media(max-width:700px){.personnel-qual-grid{grid-template-columns:1fr}}
/* Phase 4A — Administration Center */
.admin-wrap{max-width:1480px;margin:0 auto;padding:34px}.admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}.admin-hero h1{font-size:38px;margin:5px 0 7px}.admin-hero p{color:var(--muted,#a7a19a);margin:0}.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:7px;border:1px solid rgba(182,150,116,.18);background:rgba(255,255,255,.018);border-radius:15px;margin-bottom:22px}.admin-tabs a{padding:10px 14px;border-radius:10px;color:#aaa39b;text-decoration:none;font-size:13px}.admin-tabs a:hover,.admin-tabs a.active{color:#f3ede7;background:rgba(182,150,116,.13);box-shadow:inset 0 0 0 1px rgba(182,150,116,.18)}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.admin-metrics>div{border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:15px;padding:18px}.admin-metrics small{display:block;font-size:10px;letter-spacing:.13em;color:#8e8882}.admin-metrics strong{display:block;font-size:28px;margin-top:8px}.admin-metrics.compact{margin-top:18px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.attention-list{display:grid;gap:9px}.attention-list a{display:grid;grid-template-columns:48px 1fr;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;text-decoration:none;color:#dcd6cf}.attention-list b{font-size:22px;color:#B69674}.attention-list span{font-size:13px}.audit-mini{display:grid}.audit-mini>div{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.055);display:flex;justify-content:space-between;gap:20px}.audit-mini strong{text-transform:capitalize;font-size:13px}.audit-mini span{font-size:11px;color:#8f8983;text-align:right}.admin-launch{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.admin-launch a{min-height:135px;padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;text-decoration:none;color:#eee7e0}.admin-launch a:hover{border-color:rgba(182,150,116,.4);transform:translateY(-1px)}.admin-launch span{color:#B69674;font-size:22px}.admin-launch b{margin-top:18px}.admin-launch small{color:#8f8983;margin-top:5px}.admin-search{display:flex;gap:10px;margin-bottom:16px}.admin-search input,.permission-editor input[type=text],.permission-editor input:not([type]){flex:1;background:#111113;border:1px solid rgba(255,255,255,.09);color:#eee;padding:13px 15px;border-radius:11px}.admin-search input{min-width:0}.member-result{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid rgba(255,255,255,.055);text-decoration:none;color:#eee}.member-result img,.member-admin-head img{width:42px;height:42px;object-fit:cover;border-radius:50%}.member-result small{display:block;color:#8f8983;margin-top:3px}.member-admin-head{display:flex;align-items:center;gap:15px}.member-admin-head img{width:68px;height:68px}.member-admin-head h2{margin:4px 0}.record-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055);text-decoration:none;color:#eee}.record-line span{color:#96908a;text-align:right}.filter-row{display:flex;gap:8px;margin-bottom:15px}.filter-row a{padding:9px 13px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#9c9690;text-decoration:none}.filter-row a.active{color:#eee;border-color:rgba(182,150,116,.4);background:rgba(182,150,116,.1)}.audit-table{overflow:hidden}.audit-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.15fr;gap:12px;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px}.audit-row>span,.audit-row summary span{padding:11px 4px}.audit-row summary{display:contents}.audit-row pre{grid-column:1/-1;white-space:pre-wrap;color:#aaa39b;background:#101012;padding:12px;border-radius:10px}.audit-head{font-size:10px;letter-spacing:.1em;color:#817b75}.permission-editor>label{display:grid;gap:7px;margin-bottom:18px}.permission-editor>label input{background:#111113;border:1px solid rgba(255,255,255,.09);color:#eee;padding:13px;border-radius:10px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px}.permission-grid label{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:11px}.permission-grid small{display:block;color:#817b75;margin-top:3px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.health-card{display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px;margin-bottom:12px}.health-card>span{font-size:18px}.health-card.good>span{color:#78b88b}.health-card.bad>span{color:#d77d70}.health-card small{display:block;color:#8f8983;margin-top:4px}.muted{color:#8f8983}@media(max-width:900px){.admin-wrap{padding:20px}.admin-metrics,.admin-launch{grid-template-columns:repeat(2,1fr)}.admin-grid,.health-grid,.permission-grid{grid-template-columns:1fr}.admin-hero{align-items:flex-start;flex-direction:column}.audit-row{grid-template-columns:1.5fr 1fr}.audit-row span:nth-child(3),.audit-row span:nth-child(4){display:none}}


/* Phase 4B — Website CMS */
.cms-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;align-items:start}.cms-layout aside{display:grid;gap:16px;position:sticky;top:20px}.cms-settings{padding:26px}.cms-section{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.cms-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cms-field-grid label,.cms-single,.cms-color-grid label{display:grid;gap:7px}.cms-field-grid label>span,.cms-single>span,.cms-color-grid label>span{font-size:9px;letter-spacing:.11em;color:#8d8781}.cms-field-grid .span-2{grid-column:1/-1}.cms-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cms-color-grid label>div{display:grid;grid-template-columns:46px 1fr;gap:8px}.cms-color-grid input[type=color]{width:46px;height:44px;padding:4px;border:1px solid var(--control-border);border-radius:10px;background:#0d0f10}.cms-single{margin-bottom:20px}.cms-preview h3,.cms-upload h3{margin:7px 0 16px}.cms-preview-window{min-height:300px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px;background:radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--tan) 18%,transparent),transparent 35%),var(--bg);display:flex;flex-direction:column;justify-content:space-between}.cms-preview-brand{display:flex;flex-direction:column}.cms-preview-brand b{font-size:11px;letter-spacing:.08em}.cms-preview-brand small{color:var(--tan2);font-size:8px;letter-spacing:.2em;margin-top:4px}.cms-preview-card{width:82%;margin:auto;padding:22px;border:1px solid color-mix(in srgb,var(--tan) 25%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);text-align:center}.cms-preview-card span{font-size:7px;letter-spacing:.16em;color:var(--tan2)}.cms-preview-card strong{display:block;font-size:22px;margin:10px 0 5px}.cms-preview-card p{font-size:9px;color:#96908a;line-height:1.5}.cms-preview-card i{display:block;margin-top:16px;padding:10px;border-radius:9px;background:var(--tan);color:#15110e;font-size:9px;font-style:normal;font-weight:800}.cms-bg-thumb{aspect-ratio:16/9;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:12px;background-color:#090a0b}.cms-upload form{display:grid;gap:10px}.cms-file{display:grid;gap:7px}.cms-file span{font-size:8px;color:#777}.cms-file input{font-size:10px;color:#aaa}.account-dropdown .staff-entry+ .staff-entry{border-top:1px solid rgba(255,255,255,.045)}@media(max-width:1000px){.cms-layout{grid-template-columns:1fr}.cms-layout aside{position:static}.cms-field-grid,.cms-color-grid{grid-template-columns:1fr}.cms-field-grid .span-2{grid-column:auto}}

/* Phase 4B navigation polish: prominent portal return + direct CMS access */
.account-dropdown .member-portal-entry{margin:2px 3px 6px;padding:12px 11px;border:1px solid rgba(182,150,116,.34);background:linear-gradient(135deg,rgba(182,150,116,.18),rgba(182,150,116,.07));color:#f4e8da;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.account-dropdown .member-portal-entry:hover{border-color:rgba(182,150,116,.58);background:linear-gradient(135deg,rgba(182,150,116,.25),rgba(182,150,116,.1));transform:translateY(-1px)}
.account-dropdown .member-portal-entry>span{color:var(--tan2);font-size:15px}
.account-dropdown .member-portal-entry>div{display:flex;flex-direction:column;min-width:0}
.account-dropdown .member-portal-entry strong{font-size:11px;color:#f3eee8}
.account-dropdown .member-portal-entry small{font-size:8px;color:#9a8d80;margin-top:2px}
.account-dropdown .site-management-entry{color:var(--tan2)}
.account-dropdown .site-management-entry>span{color:var(--tan2)}


/* Phase 4B.3 — Advanced Branding & Appearance */
.portal-body{background-color:var(--bg);background-image:var(--site-page-bg);background-size:cover;background-position:var(--site-page-bg-position);background-attachment:fixed}
.portal-body .main{background:transparent}.portal-body .portal-shell{background:transparent}.portal-body .sidebar{background:rgba(11,12,13,.90);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-glass .content-grid,.site-glass .dashboard-grid{isolation:isolate}.site-glass .panel,.site-glass .stat-grid article,.site-glass .hero-panel,.site-glass .quick-item,.site-glass .admin-metrics>div,.site-glass .admin-launch a{box-shadow:inset 0 1px rgba(255,255,255,.035),0 16px 44px rgba(0,0,0,.16)}
.cms-preview-window.advanced{background-size:cover;background-position:center}.cms-asset-thumb{background-size:contain;background-repeat:no-repeat}.cms-upload .muted{font-size:10px;line-height:1.5;margin:0 0 12px}.cms-settings .muted{font-size:10px;margin:5px 0 0}.cms-field-grid input[type=color]{height:44px;padding:4px}.cms-field-grid input[type=range]{accent-color:var(--tan)}


/* Phase 4B.3 — Global DVRP footer */
.site-footer{margin:34px 0 0;padding:22px 4px 8px;border-top:1px solid rgba(255,255,255,.065);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#77716b}
.site-footer-copy{display:flex;flex-direction:column;gap:5px}.site-footer-copy strong{font-size:10px;letter-spacing:.04em;color:#a39b93}.site-footer-copy span{font-size:9px;font-style:italic;color:#6f6a65}
.site-footer-status{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(92,185,125,.14);border-radius:999px;background:rgba(92,185,125,.035);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#8a9a8f;white-space:nowrap}.site-footer-status i{width:6px;height:6px;border-radius:50%;background:#78bd8f;box-shadow:0 0 10px rgba(120,189,143,.65)}
@media(max-width:700px){.site-footer{align-items:flex-start;flex-direction:column}.site-footer-status{align-self:flex-start}}


/* Phase 4B.6 — CMS asset persistence + true footer surface */
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit;display:block}
.portal-body .site-footer{position:relative;isolation:isolate;margin:34px -34px -42px!important;padding:26px 34px 28px!important;background:#090a0b!important;border-top:1px solid rgba(182,150,116,.14)!important;box-shadow:0 -16px 36px rgba(0,0,0,.24);z-index:5}
.portal-body .site-footer:before{content:"";position:absolute;inset:0;background:#090a0b;z-index:-1;pointer-events:none}
@media(max-width:680px){.portal-body .site-footer{margin:28px -16px -30px!important;padding:24px 16px 26px!important}}

/* Phase 4D FiveM bridge */
.fivem-link-state{display:flex;flex-direction:column;gap:5px;padding:12px 14px;margin:0 0 14px;border:1px solid rgba(182,150,116,.18);border-radius:12px;background:rgba(255,255,255,.025)}.fivem-link-state strong{font-size:13px}.fivem-link-state small{color:var(--muted);line-height:1.45}


/* Phase 4E — Responsive portal + touch UI */
.mobile-nav-toggle,.mobile-nav-head,.mobile-nav-backdrop{display:none}
.site-footer-socials{display:flex;align-items:center;justify-content:center;gap:8px;margin-left:auto}
.site-footer-socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(182,150,116,.22);border-radius:11px;background:rgba(255,255,255,.025);color:#c8b39d;transition:.16s ease}
.site-footer-socials a:hover{transform:translateY(-1px);border-color:rgba(182,150,116,.48);background:rgba(182,150,116,.09);color:#f3ede7}
.site-footer-socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.site-footer-socials a:last-child svg{fill:currentColor;stroke:none}

@media(max-width:1100px){
 .main{padding:26px 24px}
 .hero-grid,.dashboard-grid,.profile-grid,.department-grid,.two-col,.split-grid{grid-template-columns:1fr!important}
 .stat-grid,.admin-metrics,.admin-launch{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-footer{margin-left:-24px!important;margin-right:-24px!important;padding-left:28px!important;padding-right:28px!important}
}

@media(max-width:900px){
 html,body{max-width:100%;overflow-x:hidden}
 .portal-shell{display:block;min-height:100vh}
 .sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,320px)!important;height:100dvh!important;z-index:1002;transform:translateX(-105%);transition:transform .22s ease;box-shadow:24px 0 60px rgba(0,0,0,.45);overflow-y:auto}
 body.nav-open .sidebar{transform:translateX(0)}
 body.nav-open{overflow:hidden}
 .mobile-nav-toggle{display:flex;position:fixed;left:16px;top:16px;z-index:1000;width:44px;height:44px;padding:0;border:1px solid rgba(182,150,116,.28);border-radius:12px;background:rgba(11,12,13,.94);backdrop-filter:blur(12px);align-items:center;justify-content:center;flex-direction:column;gap:4px}
 .mobile-nav-toggle span{width:17px;height:1.5px;background:#e7ded5;border-radius:2px}
 .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}
 .mobile-nav-backdrop[hidden]{display:none}
 .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:3px 2px 16px;color:#8e8882;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
 .mobile-nav-close{width:36px;height:36px;padding:0;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:#ddd;font-size:22px}
 .main{width:100%!important;margin:0!important;padding:20px 18px 30px!important;min-width:0}
 .topbar{padding-left:54px;gap:10px;align-items:center}
 .topbar>div{min-width:0}.topbar h1{font-size:clamp(22px,6vw,32px);overflow-wrap:anywhere}
 .topbar .eyebrow{font-size:7px}
 .profile-chip{max-width:52px;padding:5px!important}.profile-chip>span,.profile-chip .account-chevron{display:none}.profile-chip img{width:38px;height:38px}
 .account-dropdown{position:fixed!important;top:70px!important;left:14px!important;right:14px!important;width:auto!important;max-height:calc(100dvh - 90px);overflow-y:auto}
 .panel,.hero-panel{min-width:0}
 .admin-wrap{padding:18px!important}
 .admin-hero{padding-left:52px}
 .admin-tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}
 .admin-tabs a{flex:0 0 auto;scroll-snap-align:start}
 .cms-layout,.optimizer-layout,.department-shell,.dept-content-grid{grid-template-columns:1fr!important}
 .cms-layout aside{position:static!important}
 .table-wrap,.roster-table,.audit-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
 table{min-width:680px}
 .form-grid,.cms-field-grid,.cms-color-grid,.training-form,.personnel-qual-grid,.permission-grid,.health-grid{grid-template-columns:1fr!important}
 .cms-field-grid .span-2{grid-column:auto!important}
 .record-line,.audit-mini>div{gap:10px}
 .site-footer{margin:28px -18px -30px!important;padding:24px 20px 28px!important}
}

@media(max-width:600px){
 .main{padding:16px 14px 26px!important}
 .topbar{padding-left:50px;margin-bottom:18px}
 .stat-grid,.admin-metrics,.admin-launch,.quick-grid,.gallery-grid,.upload-preview-grid{grid-template-columns:1fr!important}
 .panel,.cms-settings,.optimizer-preview,.optimizer-controls{padding:18px!important;border-radius:14px}
 .hero-panel{padding:22px 18px!important}
 .admin-wrap{padding:14px!important}
 .admin-hero{padding-left:50px}.admin-hero h1{font-size:30px!important}
 .admin-search,.filter-row,.section-title,.member-admin-head{align-items:stretch;flex-direction:column}
 .filter-row{overflow-x:auto}
 .member-result{grid-template-columns:42px minmax(0,1fr);}.member-result>:last-child{grid-column:2}
 .record-line{flex-direction:column}.record-line span{text-align:left}
 .audit-row{display:block!important;padding:10px 0}.audit-row>*{display:block!important;padding:4px!important}.audit-head{display:none!important}
 input,select,textarea,button,.btn,.studio-btn{font-size:16px!important} /* prevents iOS focus zoom */
 .site-footer{margin:24px -14px -26px!important;padding:24px 16px 26px!important;align-items:center!important;text-align:center}
 .site-footer-copy{align-items:center}.site-footer-socials{margin:4px 0}.site-footer-status{align-self:center!important}
 .auth-stage{padding:18px}.login-card{width:min(100%,430px);padding:28px 22px!important}
}

@media(max-width:380px){
 .topbar h1{font-size:21px}.mobile-nav-toggle{left:10px;top:10px}.main{padding-left:10px!important;padding-right:10px!important}
 .site-footer{margin-left:-10px!important;margin-right:-10px!important}
}

/* Phase 10: keep cinematic background across short administration pages. */
body.portal-body{min-height:100vh;background-image:none!important;background-color:var(--bg)}
body.portal-body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--site-page-bg);background-size:cover;background-position:var(--site-page-bg-position);background-repeat:no-repeat}
body.portal-body:has(.admin-wrap),body.portal-body:has(.studio-wrap){background:transparent!important}
body.portal-body .admin-wrap,body.portal-body .studio-wrap{position:relative;background:transparent;min-height:calc(100vh - 70px)}
body.portal-body .admin-tabs a{color:#ddd4cb}
body.portal-body .admin-tabs a:hover,body.portal-body .admin-tabs a.active{color:#fff}
body.portal-body .muted,body.portal-body .admin-hero p{color:#c6bfb7}
.sidebar-bottom a{color:#d5cec7!important;opacity:1!important;text-shadow:none!important}
.sidebar-bottom a:hover{color:#fff!important}

body.portal-body:has(.admin-wrap),body.portal-body:has(.studio-wrap){isolation:isolate}

/* DVRP corrective patch: full member portal background + accessible supporting text. */
body.portal-body {
  background-color:#151719!important;
  background-image:var(--site-page-bg, none)!important;
  background-position:var(--site-page-bg-position, center top)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
body.portal-body::before { content:none!important;display:none!important; }
body.portal-body .portal-shell, body.portal-body .main {background:transparent!important;}
/* Apply to every member portal page, not just dashboard quick-access cards. */
body.portal-body { --muted:#c3beb7; }
body.portal-body .muted,body.portal-body .muted-copy,
body.portal-body .dash-welcome-copy p,body.portal-body .dashboard-panel p,
body.portal-body .service-card p,body.portal-body .service-card small,
body.portal-body .service-card span,body.portal-body .quick-item small,
body.portal-body .hero-copy p,body.portal-body .member-card dt,
body.portal-body .dept-page-head p,body.portal-body .topbar p,
body.portal-body .sidebar nav a,body.portal-body .sidebar-bottom a,
body.portal-body .panel p,body.portal-body .panel small,
body.portal-body .form-hint,body.portal-body .field small,
body.portal-body .section-title p,body.portal-body .section-subtitle,
body.portal-body .identity-panel small,body.portal-body .member-pass small {
 color:#c3beb7!important;opacity:1!important;
}
body.portal-body .sidebar nav a.active {color:#f7f3ef!important;}
body.portal-body .sidebar nav a:hover,body.portal-body .sidebar-bottom a:hover {color:#fff!important;}
/* Improve small descriptive labels without overriding tan accent headings. */
body.portal-body .service-card small,body.portal-body .muted-copy,
body.portal-body .field small {font-size:max(11px, 0.75rem);line-height:1.5;}
/* Ticket settings should remain visible in admin panel layouts. */
body.portal-body .dvrp-transcript-settings {display:block!important;height:auto!important;overflow:visible!important;}
body.portal-body .dvrp-transcript-settings form {display:grid!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:16px!important;margin-top:20px!important;align-items:end!important;}
body.portal-body .dvrp-transcript-settings form label {display:flex!important;flex-direction:column!important;gap:8px!important;color:#f1ede9!important;opacity:1!important;}
body.portal-body .dvrp-transcript-settings form input,body.portal-body .dvrp-transcript-settings form select,body.portal-body .dvrp-transcript-settings form button {display:block!important;visibility:visible!important;opacity:1!important;min-height:44px!important;}


/* DVRP background regression fix: restore image on every portal page.
   Prior :has() administration override set body background transparent. */
body.portal-body:has(.admin-wrap),
body.portal-body:has(.studio-wrap) {
  background-color:#151719!important;
  background-image:var(--site-page-bg, none)!important;
  background-position:var(--site-page-bg-position, center top)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
body.portal-body .admin-wrap,
body.portal-body .studio-wrap {
  background-color:transparent!important;
}


/* DVRP: keep the shared Member Network footer at the bottom of short pages. */
body.portal-body .portal-shell > main.main{display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box}
body.portal-body .portal-shell > main.main > .site-footer{margin-top:auto!important;flex-shrink:0}
/* Penal code reference */
.penal-count{margin:14px 0;color:#d9d2ca;font-size:13px}
.penal-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;align-items:start}
.penal-card{padding:23px!important;background:rgba(13,15,17,.91)!important;border:1px solid rgba(182,150,116,.22)!important}
.penal-card h3{font-size:19px;line-height:1.4;margin:9px 0 5px;color:#f5f3f0}
.penal-code-label{color:#d9b28d;font-weight:800;margin-right:7px;white-space:nowrap}
.penal-classification{font-size:12px;color:#d4ccc3}
.penal-description{font-size:14px;line-height:1.7;color:#e0dbd5;margin:17px 0!important}
.penal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;padding:14px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
.penal-facts div{display:flex;flex-direction:column;gap:5px}.penal-facts small{color:#bcb5ad;font-size:11px}.penal-facts strong{color:#fff;font-size:13px}
.penal-note{color:#d9d2ca!important;line-height:1.6;font-size:13px;margin-top:13px!important}.penal-note strong{color:#e4c19e}
.penal-source{color:#d0c7be;margin-top:12px;font-size:12px}.penal-source summary{cursor:pointer;color:#d9b28d}.penal-source p{line-height:1.5}
@media(max-width:700px){.penal-results{grid-template-columns:1fr}.penal-card{padding:17px!important}}


/* DVRP fleet + shared penal code modules */
.dvrp-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.dvrp-edit-grid label{display:flex;flex-direction:column;gap:7px;color:#e4ddd4;font-size:13px}
.dvrp-edit-grid input:not([type=checkbox]),.dvrp-edit-grid textarea{width:100%;min-width:0;padding:11px 12px;background:#151719;border:1px solid #615448;border-radius:8px;color:#fff;box-sizing:border-box}
.dvrp-full{grid-column:1/-1}.dvrp-editor{margin:16px 0;padding:22px!important}.dvrp-editor summary{cursor:pointer;color:#e9d6bf}
.dvrp-hint{color:#d0c7bd!important;line-height:1.6;font-size:13px}
.dvrp-code-list{display:grid;gap:12px;margin:16px 0}.dvrp-code{padding:20px!important}
.dvrp-code-head{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap}
.dvrp-code h3,.dvrp-vehicle h3{color:#fff;margin:8px 0}.dvrp-code p{color:#e0d9d2;line-height:1.65}
.dvrp-code-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.dvrp-code-meta span{border:1px solid #5c5146;border-radius:7px;padding:6px 9px;color:#e9ddd0;font-size:12px}
.dvrp-vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:16px;margin:18px 0}
.dvrp-vehicle{padding:0!important;overflow:hidden}.dvrp-vehicle>img,.dvrp-vehicle-placeholder{width:100%;height:180px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#202328;color:#b9a48a}
.dvrp-vehicle-info{padding:18px}.dvrp-spawn,.dvrp-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px}
.dvrp-spawn code{font-size:14px;color:#e8c9a5}.dvrp-ranks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.dvrp-ranks label{display:block;color:#f1e8de}.dvrp-ranks input{accent-color:#b69674}

/* Uniform roster scoped styling */
.uniform-editor{padding:22px!important;margin:18px 0!important;background:rgba(14,16,18,.96)!important;color:#eee4d8!important}.uniform-editor summary{cursor:pointer;color:#d7b38a}.uniform-editor h2,.uniform-editor h3{color:#fff}.uniform-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}.uniform-form label{display:flex;flex-direction:column;gap:7px;color:#e5dcd1;font-size:13px}.uniform-form input:not([type=checkbox]),.uniform-form select,.uniform-form textarea{background:#101315;border:1px solid #665747;border-radius:8px;color:#fff;padding:11px;width:100%;box-sizing:border-box}.uniform-wide{grid-column:1/-1}.uniform-components{display:grid;gap:8px}.uniform-component{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,1fr) minmax(90px,1fr);gap:8px;align-items:center}.uniform-component small{color:#bda88f}.uniform-ranks{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:12px 0}.uniform-ranks label{display:block}.uniform-ranks input{accent-color:#b69674}.uniform-muted{color:#d1c7ba!important}.uniform-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:18px 0}.uniform-card{overflow:hidden;padding:0!important;background:rgba(14,16,18,.97)!important}.uniform-card img,.uniform-placeholder{width:100%;height:205px;object-fit:cover}.uniform-placeholder{display:flex;align-items:center;justify-content:center;background:#252525;color:#d5b38d}.uniform-card-body{padding:18px}.uniform-card h3{color:#fff;margin:9px 0}.uniform-card p,.uniform-prose,.uniform-extra p{color:#e3dbd1;line-height:1.7;white-space:normal}.uniform-component-list>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #3c3936;padding:8px 0;color:#d8d0c5;font-size:13px}.uniform-component-list strong{color:#f4e4d2;text-align:right}.uniform-actions{display:flex;gap:8px;margin-top:12px}.uniform-extra{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #52483d;padding:14px 0}.uniform-empty{padding:24px!important;color:#ddd}.uniform-editor details{margin-top:14px}.uniform-prose{white-space:pre-wrap}@media(max-width:600px){.uniform-component{grid-template-columns:1fr 1fr}.uniform-component strong{grid-column:1/-1}.uniform-extra{display:block}}

/* DVRP Applications-only contrast fix, 2026-10-14.
   These selectors intentionally exclude Dashboard, Departments and other portals. */
body.portal-body:has(.form-card-grid) .form-card,
body.portal-body:has(.form-card-grid) .empty-card,
body.portal-body:has(.form-card-grid) .notice-card,
body.portal-body:has(.form-card-grid) .submission-list,
body.portal-body:has(.form-card-grid) .submission-row,
body.portal-body:has(.form-card-grid) .phase-stat {
  background:rgba(13,15,17,.96)!important;
  border-color:rgba(182,150,116,.28)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.20);
}
body.portal-body:has(.form-card-grid) .submission-row:hover,
body.portal-body:has(.form-card-grid) .form-card:hover {
  background:rgba(24,25,26,.98)!important;
}
body.portal-body:has(form.dynamic-form) form.dynamic-form,
body.portal-body:has(form.dynamic-form) .requirements,
body.portal-body:has(form.dynamic-form) .error-box,
body.portal-body:has(.submission-hero) .panel,
body.portal-body:has(.submission-hero) .answer,
body.portal-body:has(.submission-hero) .submission-columns,
body.portal-body:has(.submission-hero) .submission-hero,
body.portal-body:has(.submission-hero) .timeline {
  background:rgba(13,15,17,.96)!important;
  border-color:rgba(182,150,116,.26)!important;
}
body.portal-body:has(form.dynamic-form) .form-hero {
  background:rgba(13,15,17,.93)!important;
  border:1px solid rgba(182,150,116,.25);
  border-radius:16px;
  padding:24px;
}
body.portal-body:has(.form-card-grid) .form-card p,
body.portal-body:has(.form-card-grid) .submission-row small,
body.portal-body:has(form.dynamic-form) .form-hero p,
body.portal-body:has(form.dynamic-form) .field>small,
body.portal-body:has(form.dynamic-form) .submit-bar small,
body.portal-body:has(.submission-hero) .muted,
body.portal-body:has(.submission-hero) .answer {
  color:#ded8d0!important;
}
body.portal-body:has(form.dynamic-form) .field input,
body.portal-body:has(form.dynamic-form) .field textarea,
body.portal-body:has(form.dynamic-form) .field select,
body.portal-body:has(.submission-hero) .comment-form textarea {
  background:#101214!important;
  color:#f6f3ef!important;
  border-color:#655647!important;
}
body.portal-body:has(form.dynamic-form) .field input::placeholder,
body.portal-body:has(form.dynamic-form) .field textarea::placeholder {
  color:#bdb4aa!important;
  opacity:1;
}
body.portal-body:has(.form-card-grid) .status-pill,
body.portal-body:has(.submission-hero) .status-pill {
  background:#1b1d1f!important;
  color:#f3d7b4!important;
  border-color:#8a7156!important;
}
