:root{--ink:#152e42;--blue:#155f89;--sky:#e9f2f6;--paper:#f6f9fb;--line:#ccdce5;--muted:#587183;--success:#26704c;--amber:#885400}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'Segoe UI',Arial,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button,.button{background:var(--blue);border:0;border-radius:7px;color:white;padding:11px 19px;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#124863}button:disabled{background:#9aaeb8;cursor:not-allowed}input,select{width:100%;padding:11px;border:1px solid #a9c3d2;border-radius:6px;background:white;color:var(--ink)}label{display:block;margin:12px 0 5px;font-weight:600}small,.muted{color:var(--muted)}h1,h2,h3{line-height:1.2;letter-spacing:-.03em}h1{font-size:36px;margin:10px 0 18px}h2{font-size:22px}h3{font-size:17px}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#dfebf2;padding:28px 20px;border-right:1px solid var(--line)}.brand{font-size:22px;line-height:1.05;font-weight:800;letter-spacing:-.05em}.brand span{display:block;font:11px/2 'Courier New',monospace;letter-spacing:.19em;margin-top:7px}.sidebar nav{display:grid;gap:5px;margin-top:36px}.sidebar nav a{padding:10px 14px;border-radius:6px;color:var(--ink)}.sidebar nav a.active{background:white;box-shadow:0 2px 8px #152e4210;font-weight:700}.sidebar footer{margin-top:45px;font-size:12px}.main{padding:36px 42px;max-width:1500px;min-width:0}.topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}.eyebrow{font:12px 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.metric{font:36px/1.4 'Courier New',monospace;font-weight:700;letter-spacing:-.06em}.strip{display:flex;gap:8px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.tag{font-size:12px;display:inline-block;border-radius:5px;background:var(--sky);padding:3px 9px}.warning{background:#fff5df;color:var(--amber);border:1px solid #ecd7ab;padding:14px 18px;border-radius:8px;margin:16px 0}.good{color:var(--success)}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}.table-wrap{overflow:auto}.empty{padding:35px 12px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:end}.form-grid button{margin-top:16px}.small-button{padding:6px 10px;font-size:12px}.auth{max-width:450px;margin:12vh auto;padding:35px}.auth .brand{margin-bottom:35px}.auth button{margin-top:22px;width:100%}.steps{display:grid;gap:0}.step{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:20px}.public{max-width:1050px;margin:auto;padding:45px 30px}.hero{margin:70px 0}.hero h1{font-size:clamp(42px,7vw,80px);max-width:760px}.hero p{font-size:20px;max-width:560px;color:var(--muted)}.route{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;flex-wrap:wrap}.route b{font:17px 'Courier New',monospace}.route i{height:1px;width:60px;background:var(--blue)}:focus-visible{outline:3px solid #d18920;outline-offset:3px}code{overflow-wrap:anywhere}.error{color:#a33330}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{padding:18px}.sidebar nav{display:flex;overflow:auto;margin-top:18px}.sidebar nav a{white-space:nowrap}.sidebar footer{display:none}.main{padding:20px}.grid{grid-template-columns:1fr}.form-grid,.two{grid-template-columns:1fr}.metric{font-size:30px}.topline{gap:15px}.auth{margin:6vh 15px}}

.sidebar{min-width:0}.sidebar nav{max-width:100%}@media(max-width:850px){.step{flex-direction:column;gap:6px}.tag{align-self:flex-start}}
