:root{font-family:system-ui,sans-serif;color:#172c39;background:#f1f5f8;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:1.2rem;align-items:center;padding:1rem 5%;background:#122637;color:white}.brand{font-size:1.4rem;font-weight:750}header button{margin-left:auto}main{max-width:1120px;margin:2rem auto;padding:0 1rem}h1{font-size:1.8rem;line-height:1.2}h2{font-size:1.25rem}section{background:white;border:1px solid #d9e3e9;border-radius:12px;padding:1.3rem;margin:1rem 0}nav{display:flex;gap:.5rem;flex-wrap:wrap}button,.button{background:#075f59;color:white;border:0;padding:.7rem 1rem;border-radius:6px;font-size:1rem;cursor:pointer;min-height:44px}button.secondary{background:#e3edf0;color:#19333f}button.danger{background:#a13232}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #df9e21;outline-offset:3px}input,select,textarea{display:block;width:100%;font:inherit;padding:.65rem;border:1px solid #859ca8;border-radius:6px;background:white}input[type=checkbox]{display:inline;width:auto;margin-right:.6rem}label{display:block;margin:.7rem 0}form{max-width:650px}.row{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.row>*{flex:1;min-width:180px}.muted,small{color:#48616f}#notice:not(:empty){padding:1rem;background:#fff2d1;border:1px solid #e6ca7c;border-radius:8px;margin-bottom:1rem}.error{color:#8a1a1a}table{border-collapse:collapse;width:100%;font-size:.95rem}td,th{padding:.7rem;text-align:left;border-bottom:1px solid #dbe5e9}th{background:#e9f1f4}.table{overflow:auto}a{color:#005e85;overflow-wrap:anywhere}.pill{display:inline-block;background:#d5eee8;padding:.2rem .55rem;border-radius:20px}progress{width:100%;accent-color:#087c6e}footer{text-align:center;color:#526b78;padding:1rem;font-size:.85rem}.secret{background:#edf4f8;padding:.8rem;overflow-wrap:anywhere}.checklist{max-height:200px;overflow:auto;border:1px solid #c2d1d9;padding:.6rem}.login{max-width:480px;margin:2rem auto}@media(max-width:640px){header{flex-wrap:wrap;gap:.5rem}main{margin:1rem auto}section{padding:1rem}td,th{padding:.5rem}.row>*{min-width:100%}}
