:root{--navy:#16324f;--ink:#18232d;--muted:#66788a;--line:#dbe3ea;--bg:#f4f7fa;--white:#fff;--green:#147d4f;--greenbg:#e7f7ef;--amber:#8a5b00;--amberbg:#fff5d8;--red:#a93232;--redbg:#fdecec;--blue:#e9f1f8}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:var(--navy);color:#fff;padding:25px 16px;display:flex;flex-direction:column}.brand{font-weight:850;letter-spacing:.08em;font-size:18px;line-height:1.05;margin-bottom:18px}.brand span{font-size:10px;opacity:.7;letter-spacing:.18em}.session{font-size:11px;border:1px solid #42617a;border-radius:8px;padding:9px;margin-bottom:18px;color:#dbe7f3}.nav{display:block;width:100%;text-align:left;border:0;background:transparent;color:#dbe7f3;padding:10px;border-radius:8px;margin:2px 0;cursor:pointer}.nav.active,.nav:hover{background:#244761;color:#fff}.aside-note{margin-top:auto;font-size:10px;line-height:1.55;color:#aec2d3}main{padding:25px 32px 60px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}h1{margin:3px 0 0;font-size:28px;color:var(--navy)}h2{margin:0 0 6px;color:var(--navy);font-size:20px}h3{margin:0 0 12px;color:var(--navy);font-size:15px}.badge{background:#e4edf5;color:var(--navy);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800}.step{display:none}.step.show{display:block}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 3px 12px rgba(22,50,79,.04);margin-bottom:16px}.hero{border-left:4px solid var(--navy)}.hero p{margin:0;color:var(--muted)}.grid.two,.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.span2{grid-column:1/-1}.kv{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.kv span{color:var(--muted);font-size:12px}.kv b{font-size:12px;color:var(--navy)}label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750;color:#405266}input,select,textarea{width:100%;border:1px solid #cbd5df;border-radius:8px;padding:9px 10px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:75px}.primary,.secondary{border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer;margin-top:10px}.primary{background:var(--navy);color:#fff}.secondary{background:#e4edf5;color:var(--navy)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.qmeta{font-size:10px;color:var(--muted)}.metricgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.metric .label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric .value{font-size:23px;color:var(--navy);font-weight:850;margin-top:4px}.pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850}.green{background:var(--greenbg);color:var(--green)}.amber{background:var(--amberbg);color:var(--amber)}.red{background:var(--redbg);color:var(--red)}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);font-size:11px;vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#5d7183;background:#f8fafc}.warning,.stop,.ok{padding:13px;border-radius:10px;margin:10px 0}.warning{background:var(--amberbg);border:1px solid #f0d58b;color:#6e4b00}.stop{background:var(--redbg);border:1px solid #efb7b7;color:#7f2727}.ok{background:var(--greenbg);border:1px solid #b9e4ce;color:#0e6840}.muted{color:var(--muted)}pre{white-space:pre-wrap;font-size:10px;background:#101923;color:#d7e2ea;padding:13px;border-radius:10px;overflow:auto}.risk{border-left:4px solid #d4a62a}.risk.critical{border-left-color:#a93232}.approval-row{display:grid;grid-template-columns:1.7fr 1fr 1.2fr;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{display:none}main{padding:18px}.grid.two,.formgrid,.metricgrid{grid-template-columns:1fr}.span2{grid-column:auto}}

.logout-link {
  display: inline-block;
  margin: 8px 0 18px;
  font-size: 13px;
  text-decoration: none;
  opacity: 0.8;
}

.logout-link:hover {
  opacity: 1;
  text-decoration: underline;
}
