:root{--gold:#c9a227;--gold-l:#e6c55a;--black:#0a0a0a;--soft:#f7f5ef;--line:#e5e1d3}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--black);font-size:15px}
a{color:#8a6a00}
header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:3px solid var(--gold);background:#fff;flex-wrap:wrap;gap:8px}
header .brand{display:flex;align-items:center;gap:10px;font-weight:bold;text-decoration:none;color:var(--black)}
header img{height:52px}
nav{display:flex;gap:6px;flex-wrap:wrap}nav a{padding:8px 12px;text-decoration:none;color:var(--black);border-radius:4px;font-weight:600}
nav a.on{background:var(--black);color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--black);border:0;padding:10px 18px;border-radius:4px;font-weight:bold;text-decoration:none;cursor:pointer;font-size:14px}
.btn:hover{background:var(--black);color:var(--gold)}.btn.alt{background:#fff;border:2px solid var(--black)}
main{max-width:1180px;margin:0 auto;padding:20px 24px 50px}
h1{margin:6px 0 4px;font-size:26px}h2{font-size:18px;border-left:4px solid var(--gold);padding-left:8px}
.ex{display:inline-block;background:var(--black);color:var(--gold);font-size:12px;font-weight:bold;padding:4px 10px;border-radius:12px;letter-spacing:.5px}
.banner{background:var(--soft);border:1px dashed var(--gold);padding:8px 12px;font-size:13px;margin:10px 0}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}
.stat b{font-size:26px;display:block;color:#8a6a00}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--black);color:var(--gold)}
.tw{overflow-x:auto}
.pill{padding:3px 9px;border-radius:10px;font-size:12px;font-weight:bold;background:#eee;white-space:nowrap}
.p-q{background:#fff3c4}.p-t{background:var(--gold);}.p-d{background:#d9f2dc}.p-r{background:#e8e8e8}.p-c{background:#f5e3a1}
label{display:block;font-weight:600;font-size:13px;margin:10px 0 4px}
input,select,textarea{width:100%;padding:9px;border:1px solid #bbb;border-radius:4px;font:inherit}
.map{height:220px;background:repeating-linear-gradient(45deg,#f2f2f2,#f2f2f2 12px,#fafafa 12px,#fafafa 24px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#777;border-radius:6px;text-align:center}
.tl{list-style:none;padding:0;margin:0}.tl li{position:relative;padding:0 0 18px 30px}.tl li:before{content:"";position:absolute;left:6px;top:4px;width:12px;height:12px;border-radius:50%;background:#ccc}
.tl li:after{content:"";position:absolute;left:11px;top:18px;bottom:0;width:2px;background:#ddd}.tl li:last-child:after{display:none}
.tl li.done:before{background:var(--gold)}.tl li.now:before{background:var(--black);box-shadow:0 0 0 4px var(--gold)}.tl small{color:#666;display:block}
.chk{display:flex;gap:14px;flex-wrap:wrap}.chk label{font-weight:normal;display:flex;gap:6px;align-items:center}.chk input{width:auto}
footer{text-align:center;font-size:12px;color:#666;padding:20px;border-top:1px solid var(--line)}
.login{max-width:420px;margin:40px auto}
@media(max-width:760px){th,td{white-space:nowrap}.g2,.g3,.g4{grid-template-columns:1fr}.g4.stats{grid-template-columns:1fr 1fr}header{padding:8px 14px}header img{height:40px}nav a{padding:6px 8px;font-size:13px}main{padding:14px}h1{font-size:22px}.hide-m{display:none}}
/* portal additions */
.inl{display:inline;margin:0}button.lnk{background:none;border:0;font:inherit;font-weight:600;padding:8px 12px;cursor:pointer;color:var(--black);border-radius:4px}button.lnk:hover{background:var(--soft)}
.msg{padding:10px 14px;border-radius:4px;margin:10px 0;font-weight:600}.msg.ok{background:#e4f5e6;border:1px solid #9bd3a3}.msg.err{background:#fde8e6;border:1px solid #e9a39b}
.row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.muted{color:#666;font-size:13px}.btn.sm{padding:6px 10px;font-size:13px}.btn.danger{background:#fff;border:2px solid #b3261e;color:#b3261e}
form.card button.btn,form .btn{margin-top:12px}input[type=checkbox],input[type=radio]{width:auto}
.consent{display:flex;gap:8px;align-items:flex-start;font-weight:normal}.consent input{margin-top:3px}
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;margin:0}dl.kv dt{font-weight:bold;color:#555}dl.kv dd{margin:0}
@media(max-width:760px){dl.kv{grid-template-columns:1fr}dl.kv dt{margin-top:6px}button.lnk{padding:6px 8px;font-size:13px}}
@media(max-width:760px){.grid.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stats .card{padding:10px;font-size:12px}.stat b{font-size:20px}}
/* phase 2 */
.p-x{background:#f6c9c4;color:#7a1610}
.load-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.load-cards .card h3{margin:0 0 6px;font-size:17px}.load-cards dl.kv{grid-template-columns:110px 1fr}
.veh-row{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
input[type=file]{background:var(--soft)}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.steps .btn{flex:1;min-width:110px;text-align:center}
@media(max-width:760px){.veh-row{grid-template-columns:1fr 1fr}.veh-row>div:first-child{grid-column:1/3}.load-cards{grid-template-columns:1fr}.load-cards dl.kv{grid-template-columns:110px 1fr}.load-cards dl.kv dt{margin-top:0}}
