:root { font-family:Inter,Segoe UI,Arial,sans-serif; color:#17212b; background:#f2f5f7; line-height:1.45; }
* { box-sizing:border-box; }
body { margin:0; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 2rem; background:#102b3f; color:white; }
.brand { font-size:1.35rem; font-weight:780; }
.subtitle { opacity:.76; }
.session { display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }
.session a { color:#dff4ff; font-weight:700; }
main { max-width:1500px; margin:0 auto; padding:1.4rem; }
.panel { background:white; border:1px solid #d6e0e6; border-radius:12px; padding:1.2rem; box-shadow:0 5px 18px rgba(16,43,63,.06); margin-bottom:1rem; }
.narrow { max-width:480px; margin:3rem auto; }
.notice { padding:.9rem 1rem; margin-bottom:1rem; border-radius:9px; background:#fff7df; border:1px solid #e6c870; color:#5f480d; }
.tabs { display:flex; gap:.55rem; flex-wrap:wrap; margin-bottom:.8rem; }
.tab { background:#dce7ed; color:#173247; }
.tab.active { background:#146f9f; color:white; }
.heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.grid { display:grid; gap:.8rem; }
.grid.two { grid-template-columns:1fr 1fr; }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
h1,h2,h3 { margin-top:0; }
p { color:#566a77; }
label { display:block; font-weight:650; margin-bottom:.85rem; }
input,select,textarea { display:block; width:100%; margin-top:.35rem; padding:.72rem; border:1px solid #b9c7d0; border-radius:7px; font:inherit; background:white; }
textarea,pre { font-family:Consolas,ui-monospace,monospace; }
button { border:0; border-radius:7px; padding:.72rem 1rem; background:#156b9b; color:white; font-weight:700; cursor:pointer; }
button.secondary { background:#e4edf2; color:#173247; }
button.approve { background:#267847; }
button.danger { background:#a93636; }
button.warning { background:#a36d17; }
.hidden { display:none!important; }
.message { min-height:1.4rem; margin-top:.65rem; white-space:pre-wrap; }
.message.error { color:#a12626; }
.message.success { color:#247a43; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:.75rem; margin-top:.8rem; }
.card { border:1px solid #dbe4ea; border-left:5px solid #287aa5; border-radius:8px; padding:.9rem; background:#fbfcfd; cursor:pointer; }
.card:hover { border-color:#84a9bc; }
.card strong { display:block; }
.card.status-8,.card.status-11 { border-left-color:#267847; }
.card.status-7 { border-left-color:#a36d17; }
.card.status-9,.card.result-4 { border-left-color:#a93636; }
.meta { color:#637785; font-size:.87rem; margin-top:.3rem; }
.details { background:#f5f7f9; border-radius:7px; padding:.65rem; margin-top:.55rem; overflow-wrap:anywhere; }
.actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.checklist { display:grid; gap:.7rem; }
.check-item { border:1px solid #dbe4ea; border-radius:9px; padding:.9rem; background:#fbfcfd; }
.check-item.critical { border-left:6px solid #a93636; }
.check-item.completed { border-left:6px solid #267847; }
.progress { height:10px; border-radius:999px; background:#dce5ea; overflow:hidden; margin-top:.45rem; }
.progress span { display:block; height:100%; background:#267847; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; background:#f5f7f9; padding:.8rem; border-radius:8px; max-height:450px; overflow:auto; }
.warning-box { padding:.8rem; border-radius:8px; background:#fff4e0; border:1px solid #dbab55; margin:.7rem 0; }
.danger-box { padding:.8rem; border-radius:8px; background:#fff0f0; border:1px solid #d78686; margin:.7rem 0; }
@media (max-width:950px) {
  .grid.two,.grid.three { grid-template-columns:1fr; }
  .topbar { padding:1rem; }
  main { padding:1rem; }
}
