:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#17202a;background:#f4f6f8;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#1769aa}.topbar{display:flex;align-items:center;gap:2rem;padding:.8rem 2rem;background:#102a43;border-bottom:1px solid #243b53}.topbar a{color:#d9e2ec;text-decoration:none}.topbar nav{display:flex;gap:1.2rem;flex:1}.brand{font-size:1.25rem;font-weight:700}.container{max-width:1200px;margin:2rem auto;padding:0 1rem}section{margin:1.5rem 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.card{display:flex;flex-direction:column;padding:1.25rem;background:white;border:1px solid #d9e2ec;border-radius:.6rem;text-decoration:none}.card strong{font-size:1.4rem}.card span{color:#627d98}.button{display:inline-block;width:max-content;border:0;border-radius:.35rem;padding:.55rem .9rem;background:#1769aa;color:white;font:inherit;cursor:pointer;text-decoration:none}.button.secondary{background:#627d98}.button.danger{background:#b42318}.stack{display:flex;flex-direction:column;gap:1rem}.form-panel{padding:1.25rem;background:white;border:1px solid #d9e2ec;border-radius:.6rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.inline-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}input,select,textarea{width:100%;padding:.55rem;border:1px solid #9fb3c8;border-radius:.35rem;background:white;font:inherit}fieldset{border:1px solid #d9e2ec;border-radius:.35rem}.checks{display:flex;gap:1rem;flex-wrap:wrap}.checks label{flex-direction:row;align-items:center}.checks input{width:auto}.table-wrap{overflow-x:auto;background:white;border-radius:.6rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e6ebf0;vertical-align:top}th{background:#eaf0f5}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.actions form{margin:0}.flash{padding:.8rem 1rem;margin-bottom:1rem;border-radius:.4rem;background:#d9f2e6;color:#14532d}.flash.error{background:#fee4e2;color:#7a271a}.muted{color:#627d98}.completed strong{text-decoration:line-through;color:#627d98}.login-card{max-width:400px;margin:10vh auto;padding:2rem;background:white;border-radius:.6rem}.page-heading{display:flex;justify-content:space-between;align-items:center}code{overflow-wrap:anywhere}@media(max-width:800px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:1rem}.topbar nav{order:3;flex-basis:100%;flex-wrap:wrap}.container{margin:1rem auto}}
