:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17212b;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{width:min(1180px,calc(100% - 2rem));margin:auto}.topbar{background:#123c52;color:#fff;box-shadow:0 2px 8px #0002}.nav-wrap{min-height:62px;display:flex;align-items:center;gap:1.5rem}.brand{font-size:1.35rem;font-weight:750;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:.35rem;flex:1}.topbar nav a,.link-button{color:#eef8fc;text-decoration:none;padding:.7rem;border-radius:.45rem}.topbar nav a:hover,.link-button:hover{background:#ffffff1b}.logout{display:flex;align-items:center;gap:.5rem}.link-button{border:0;background:transparent;font:inherit;cursor:pointer}main{padding:1.5rem 0 3rem}.footer{padding:1rem 0 2rem;color:#63717b;font-size:.9rem}h1{margin:.2rem 0 1rem;font-size:clamp(1.6rem,4vw,2.2rem)}h2{font-size:1.2rem;margin-top:1.7rem}.card{background:#fff;border:1px solid #dce3e7;border-radius:.7rem;padding:1rem;box-shadow:0 1px 2px #0000000a}.toolbar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.3rem;min-width:160px;flex:1}.field.wide{min-width:min(100%,280px);flex:2}.field label,.label{font-weight:650;font-size:.9rem}input,select,textarea{width:100%;border:1px solid #aebbc3;border-radius:.42rem;padding:.68rem .72rem;background:#fff;color:inherit;font:inherit}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #4aa4c52d;border-color:#24789a}.checkbox{display:flex;align-items:center;gap:.5rem;margin:.6rem 0}.checkbox input{width:auto}.btn{display:inline-block;border:0;border-radius:.45rem;padding:.68rem 1rem;background:#176e92;color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}.btn:hover{background:#105b79}.btn.secondary{background:#e7edf0;color:#1b303b}.btn.secondary:hover{background:#d7e1e6}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.validation,.field-validation-error{color:#a01725}.notice{background:#e0f4e8;border:1px solid #78bc91;border-radius:.5rem;padding:.8rem 1rem;margin-bottom:1rem}.muted{color:#64727c}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #dce3e7;border-radius:.7rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.7rem;border-bottom:1px solid #e5eaed;vertical-align:top}th{background:#edf2f4;font-size:.88rem;white-space:nowrap}tr:last-child td{border-bottom:0}.badge{display:inline-block;background:#d9ebf2;color:#184e64;border-radius:999px;padding:.25rem .55rem;font-size:.82rem;font-weight:650}.badge.service{background:#ece3f7;color:#56367a}.stack{display:flex;flex-direction:column;gap:1rem}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem}.definition{display:grid;grid-template-columns:160px 1fr;gap:.5rem 1rem}.definition dt{font-weight:700}.definition dd{margin:0}.empty{text-align:center;padding:2rem;color:#64727c}.login{max-width:430px;margin:3rem auto}.mobile-label{display:none}
@media(max-width:760px){.shell{width:min(100% - 1rem,1180px)}.nav-wrap{align-items:flex-start;flex-wrap:wrap;padding:.7rem 0;gap:.5rem}.brand{padding:.45rem 0}.topbar nav{order:3;width:100%;overflow-x:auto}.topbar nav a{white-space:nowrap;padding:.55rem}.logout{margin-left:auto}.grid,.split{grid-template-columns:1fr}.definition{grid-template-columns:1fr;gap:.15rem}.definition dd{margin-bottom:.75rem}.table-wrap{border:0;background:transparent;overflow:visible}table.mobile-cards thead{display:none}table.mobile-cards,table.mobile-cards tbody,table.mobile-cards tr,table.mobile-cards td{display:block;width:100%}table.mobile-cards tr{background:#fff;border:1px solid #dce3e7;border-radius:.7rem;margin-bottom:.75rem;padding:.5rem}table.mobile-cards td{border:0;padding:.35rem .45rem}table.mobile-cards td::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;color:#687781;text-transform:uppercase}.toolbar{align-items:stretch}.toolbar .btn{width:100%;text-align:center}}
