:root{
  --bg:#171a14; --panel:#20241b; --panel-2:#262b1f; --line:#3a4030;
  --text:#e7e6da; --muted:#8d9280; --rust:#c1502e; --rust-dim:#7a3620;
  --gold:#c9a13b; --ok:#6f9c5c;
}
*{box-sizing:border-box;}
body{margin:0;background:radial-gradient(ellipse at 20% 0%, #1e2318 0%, var(--bg) 55%);
  color:var(--text);font-family:'IBM Plex Mono',monospace;padding:28px 18px 60px;}
.wrap{max-width:980px;margin:0 auto;}
header{margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:16px;}
h1{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(26px,5vw,38px);margin:0 0 4px;letter-spacing:.5px;}
h1 span{color:var(--rust);}
.sub{color:var(--muted);font-size:13.5px;max-width:560px;line-height:1.5;}
.session-row{margin-top:16px;font-size:12.5px;color:var(--muted);}
.session-row .who{color:var(--text);font-weight:600;}
.session-row .who .role{color:var(--gold);font-weight:400;text-transform:uppercase;font-size:11px;letter-spacing:.5px;}
.nav-menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.nav-menu a, .nav-menu button{text-decoration:none;}
.nav-menu .btn.current{border-color:var(--gold);color:var(--gold);background:#2a2510;}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:16px;margin-bottom:16px;}
.panel h2{font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;margin:0 0 4px;color:var(--gold);text-transform:uppercase;letter-spacing:1px;}
.panel h2 + .note{color:var(--muted);font-size:11.5px;margin-bottom:14px;}
label{display:block;font-size:11.5px;color:var(--muted);margin:12px 0 4px;}
label:first-of-type{margin-top:0;}
input, select{width:100%;background:#12140f;border:1px solid var(--line);color:var(--text);
  padding:8px 9px;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;}
input:focus, select:focus{outline:1px solid var(--gold);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
@media (max-width:600px){.row2, .row3{grid-template-columns:1fr;}}
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px;}
th{text-align:left;font-family:'Oswald',sans-serif;font-weight:500;color:var(--muted);font-size:11.5px;padding:6px 8px;border-bottom:1px solid var(--line);}
td{padding:6px 8px;border-bottom:1px solid #2a2f22;vertical-align:middle;}
.btn{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.3px;border:1px solid var(--line);
  background:var(--panel-2);color:var(--text);padding:9px 14px;border-radius:2px;cursor:pointer;font-size:13.5px;}
.btn:hover{border-color:var(--gold);}
.btn-rust{background:var(--rust);border-color:var(--rust);color:#1a0f0a;}
.btn-rust:hover{background:#d4602f;}
.btn-add{color:var(--gold);border-color:var(--rust-dim);width:100%;margin-top:10px;}
.btn-sm{padding:5px 10px;font-size:12px;}
.actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.mission{display:flex;align-items:center;gap:14px;padding:10px 12px;border-left:3px solid var(--gold);
  background:var(--panel-2);margin-bottom:6px;border-radius:0 2px 2px 0;flex-wrap:wrap;}
.mission .time{font-family:'Oswald',sans-serif;font-size:19px;font-weight:600;color:var(--gold);min-width:76px;line-height:1.3;}
.mission .time .date{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.3px;}
.mission .who{font-weight:600;}
.mission .meta{color:var(--muted);font-size:12px;}
.mission .meta a{color:var(--gold);}
.mission.fake{border-left-color:var(--muted);}
.mission.fake .time{color:var(--muted);}
.mission.mine{border-left-color:var(--rust);background:#2a1e17;}
.mine-heading{font-family:'Oswald',sans-serif;font-size:12.5px;color:var(--rust);text-transform:uppercase;letter-spacing:.8px;margin:14px 0 6px;}
.plan-card{border:1px solid var(--line);border-radius:3px;padding:12px 14px;margin-bottom:8px;
  background:var(--panel-2);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;}
.plan-card.active{border-color:var(--gold);}
.plan-card .title{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;}
.plan-card .details{color:var(--muted);font-size:12px;margin-top:2px;}
.plan-card .card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.plan-card .card-actions select{width:auto;padding:5px 8px;font-size:12px;}
.user-card{border:1px solid var(--line);border-radius:3px;padding:12px 14px;margin-bottom:8px;
  background:var(--panel-2);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.user-card .title{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;}
.user-card .details{color:var(--muted);font-size:12px;margin-top:2px;}
.user-card .card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.user-card .card-actions select{width:auto;padding:5px 8px;font-size:12px;}
textarea{width:100%;min-height:150px;background:#12140f;border:1px solid var(--line);color:var(--text);
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;padding:10px;border-radius:2px;white-space:pre;}
.status{font-size:12.5px;margin-top:8px;min-height:16px;}
.status.ok{color:var(--ok);} .status.err{color:var(--rust);}
.hint{color:var(--muted);font-size:11.5px;margin-top:6px;line-height:1.5;}
table th:first-child, table td:first-child{width:1%;white-space:nowrap;}
.chk-row{display:flex;align-items:center;justify-content:center;}
.chk-row input[type=checkbox]{width:auto;margin:0;}
details summary{cursor:pointer;color:var(--gold);font-size:12.5px;margin-top:10px;}
.pill{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:20px;
  padding:2px 10px;font-size:11px;color:var(--muted);}
.empty{color:var(--muted);font-size:12.5px;padding:10px 0;}
fieldset{border:none;padding:0;margin:0;}
fieldset[disabled] .panel{opacity:.45;}
.login-wrap{max-width:340px;margin:12vh auto 0;}
.login-wrap .panel{margin-bottom:0;}
.checkbox-row{display:flex;align-items:center;gap:8px;margin:12px 0 0;}
.checkbox-row input{width:auto;}
.checkbox-row label{margin:0;}
.input-row{display:flex;gap:6px;flex-wrap:wrap;}
.input-row input{flex:1;min-width:120px;}
.input-row .btn{flex-shrink:0;white-space:nowrap;}

@media (max-width:600px){
  body{padding:18px 12px 40px;}
  .panel{padding:14px;}
  .nav-menu .btn{flex:1 1 auto;text-align:center;}
  .plan-card, .user-card{flex-direction:column;align-items:flex-start;}
  .plan-card .card-actions, .user-card .card-actions{width:100%;}
  .login-wrap{margin-top:6vh;}
}
