
:root{--ink:#0b1420;--panel:#121e2e;--line:#233348;--hivis:#f2c230;--mute:#8ea2ba;--text:#e2e8f0}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text);font:14px/1.5 system-ui,"Segoe UI",sans-serif;display:flex;min-height:100vh}
input[type=radio]{position:absolute;opacity:0;pointer-events:none}
aside{width:224px;flex:none;background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{border-left:4px solid var(--hivis);padding-left:10px;margin-bottom:18px;font-weight:600;line-height:1.25}.brand small{display:block;color:var(--mute);font-weight:400;font-size:12px}
nav a{display:block;padding:8px 12px;border-radius:4px;color:var(--text);text-decoration:none}nav a:hover,nav a:focus-visible{background:var(--line);outline:none}
main{flex:1;min-width:0;padding:20px}h1{font-size:20px;margin:0 0 14px}h2{font-size:15px;margin:0 0 10px}
.page{display:none}.page:target{display:block}#dash{display:block}body:has(.page:target) #dash:not(:target){display:none}
body:has(#dash:target) nav a[href="#dash"],body:has(#people:target) nav a[href="#people"],body:has(#duty:target) nav a[href="#duty"],body:has(#inc:target) nav a[href="#inc"],body:has(#rec:target) nav a[href="#rec"],body:has(#train:target) nav a[href="#train"],body:has(#leave:target) nav a[href="#leave"],body:has(#apps:target) nav a[href="#apps"],body:has(#admin:target) nav a[href="#admin"]{background:var(--line);color:var(--hivis)}
body:not(:has(.page:target)) nav a[href="#dash"]{background:var(--line);color:var(--hivis)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px;margin-bottom:14px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:14px}
.stat b{display:block;font-size:30px;color:var(--hivis);font-weight:600;line-height:1.1}.stat span{color:var(--mute)}
.two{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;color:var(--mute);font-weight:500;padding:8px 10px}td{padding:8px 10px;border-top:1px solid var(--line);white-space:nowrap}
.b{display:inline-block;padding:1px 8px;border-radius:4px;font-size:12px;color:#fff;background:#475569}
.imm{background:#dc2626}.high{background:#f97316}.med{background:#ca8a04}.low{background:#475569}.ok{background:#15803d}.info{background:#1d4ed8}.warn{background:#b45309}.bad{background:#991b1b}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tabs label{padding:6px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.tabs label:hover{background:var(--line)}
.org{display:none}
#o1:checked~main .o1,#o2:checked~main .o2,#o3:checked~main .o3,#o4:checked~main .o4{display:block}
#o1:checked~main label[for=o1],#o2:checked~main label[for=o2],#o3:checked~main label[for=o3],#o4:checked~main label[for=o4]{background:var(--hivis);color:var(--ink);border-color:var(--hivis)}
#o1:focus-visible~main label[for=o1],#o2:focus-visible~main label[for=o2],#o3:focus-visible~main label[for=o3],#o4:focus-visible~main label[for=o4]{outline:2px solid #fff}
details{border-top:1px solid var(--line);padding:8px 0}summary{cursor:pointer;font-weight:500}ol{margin:8px 0 0;padding-left:22px;color:var(--mute)}
.note{color:var(--mute);font-size:13px}
@media(max-width:800px){body{display:block}aside{width:auto;height:auto;position:static;padding:10px}nav{display:flex;gap:4px;overflow-x:auto}nav a{white-space:nowrap}.brand{margin-bottom:10px}main{padding:12px}.two{grid-template-columns:1fr}}

body:has(#cad:target) nav a[href="#cad"]{background:var(--line);color:var(--hivis)}
.cadbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;align-items:center}
.cadbar button,.cadtools button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:6px 12px;font:inherit;cursor:pointer}
.cadbar button:hover,.cadtools button:hover,.cadbar button:focus-visible,.cadtools button:focus-visible{border-color:var(--hivis);outline:none}
.cadbar .clear{margin-left:auto;color:var(--mute)}
.cad{display:grid;gap:14px;grid-template-columns:260px minmax(0,1fr) 340px;align-items:start}
.cad>*{min-width:0}.rail{max-height:calc(100vh - 140px);overflow:auto}
.unit{border-left:4px solid var(--line);background:var(--ink);border-radius:4px;padding:10px;margin-bottom:8px}
.key{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.key .b{background:var(--ink);border:1px solid var(--line);color:var(--text)}
.key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.g-em{background:#dc2626}.g-pr{background:#7c3aed}.g-st{background:#1d4ed8}.g-sc{background:#475569}
.u-av{background:#15803d}.u-er{background:#ea580c}.u-os{background:#0e7490}.u-tr{background:#6d28d9}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));border:1px solid var(--line);border-radius:4px;margin-bottom:12px}
.facts div{padding:8px 10px;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts small{display:block;color:var(--mute);font-size:12px}
.log{height:260px;overflow:auto;border:1px solid var(--line);border-radius:4px;padding:10px;background:var(--ink)}
.cadin{display:flex;gap:6px;margin-top:8px}.cadin input{flex:1;background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:8px;font:inherit}.cadin input:focus{border-color:var(--hivis);outline:none}
.cadin button{background:var(--hivis);color:var(--ink);border:0;border-radius:4px;padding:8px 14px;font-weight:600}
@media(max-width:1100px){.cad{grid-template-columns:1fr}.rail{max-height:none}}

/* CAD styling: charcoal panels, solid colour-coded units and rows, blue action buttons */
#cad{--blue:#1f5fbf}
#cad .card{background:#212121;border:1px solid #333;border-radius:0}
#cad h1,#cad h2{color:#fff;font-weight:600}#cad h2{font-size:20px}
#cad>.cadbar{background:#171717;border:1px solid #333;padding:6px 10px;gap:14px}
#cad>.cadbar button{background:none;border:0;padding:4px 0;color:#9fb3c8}#cad>.cadbar button:hover{color:#fff}
#cad .cadtools button{background:var(--blue);border-color:var(--blue);color:#fff;border-radius:3px}
#cad table{border:1px solid #3a3a3a}#cad th,#cad td{border:1px solid #3a3a3a;text-align:center;padding:10px}
#cad th{color:#fff;font-weight:700;font-size:14px}#cad td.note{text-align:center}
#cad .facts{border-radius:0;border-color:#3a3a3a}#cad .facts div{text-align:center;border-color:#3a3a3a}
#cad .log{background:#111;border-color:#3a3a3a;border-radius:0;color:#dfe6ee}
#cad .cadin input{border-radius:0;background:#171717;border-color:#3a3a3a}#cad .cadin button{background:var(--blue);color:#fff;border-radius:3px}
.unit{border:0;border-radius:0;color:#fff;padding:0;overflow:hidden}
.unit.av{background:#0b6a1e}.unit.er{background:#8a2a00}.unit.os{background:#14495c}
.unit .uh{padding:10px 10px 8px;font-weight:700}.ustrip{display:grid;grid-template-columns:repeat(3,1fr)}.ustrip span{padding:7px 4px;text-align:center;background:rgba(0,0,0,.35);font-size:13px}
#cad .key .b{border:0;color:#fff;border-radius:0;padding:4px 10px}
.u-av{background:#0b6a1e}.u-er{background:#8a2a00}.u-os{background:#14495c}.u-tr{background:#4b2a7a}
.r-new{background:#b45309}.r-saved{background:#4b4b4b}.r-sel{background:#17404f}.r-disp{background:#1f5f6f}.r-clr{background:#0b6a1e}
.g-em{background:#b00000}.g-pr{background:#4a1d5c}.g-st{background:#1d4ed8}.g-sc{background:#4b4b4b}

nav a[aria-current]{background:var(--line);color:var(--hivis)}
form.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
input,select,textarea{background:var(--ink);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:8px;font:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--hivis);outline:none}td select{padding:4px}
.btn{background:var(--hivis);color:var(--ink);border:0;border-radius:4px;padding:8px 14px;font-weight:600;cursor:pointer}
.link{background:none;border:0;color:var(--mute);margin-top:12px;padding:8px 12px;cursor:pointer;font:inherit}
.err{color:#f87171}.login{margin:auto;width:min(360px,92vw)}.login form{display:grid;gap:10px}
