*{box-sizing:border-box}body{margin:0;background:#f2f5f9;color:#24354a;font:15px system-ui,sans-serif}header{background:#173b66;color:white;padding:20px max(24px,calc((100% - 1200px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}h1{font-size:21px;margin:0}h2{font-size:19px;margin:0 0 20px}main{max-width:1200px;margin:32px auto;padding:0 20px}section,dialog{background:white;border:1px solid #dce4ed;border-radius:10px;padding:24px;box-shadow:0 4px 20px #173b6610}#login{max-width:400px;margin:70px auto}label{display:block;margin:14px 0;color:#40546b}input{display:block;width:100%;padding:10px;border:1px solid #b9c8d8;border-radius:5px;margin-top:6px;font:inherit}button{border:0;border-radius:5px;background:#2566a5;color:white;padding:10px 16px;cursor:pointer}button:disabled{opacity:.6}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.table{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid #e2e8ef}th{color:#52667d}td button{margin-right:6px;padding:7px 10px}#error,#formError{color:#b32332;min-height:1em}dialog{width:min(680px,95vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#142b4866}.check input{display:inline;width:auto;margin-right:8px}.actions{text-align:right}.actions button:first-child{background:#65778a;margin-right:8px}[hidden]{display:none!important}@media(max-width:600px){header,.toolbar{align-items:flex-start;flex-direction:column}}

.user-count{display:flex;align-items:center;gap:8px}.user-count input{flex:1}fieldset{border:1px solid #dce4ed;border-radius:5px;margin:14px 0}fieldset p{color:#65778a;margin:6px 0}.modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.modules label{display:flex;align-items:center;gap:8px;margin:6px 0;overflow-wrap:anywhere}.modules input{width:auto;margin:0;flex:none}td:first-child{min-width:140px;overflow-wrap:anywhere}th:last-child,td:last-child{position:sticky;right:0;background:white;white-space:nowrap}td:last-child{min-width:150px}@media(max-width:600px){.modules{grid-template-columns:1fr}}

select,textarea{display:block;width:100%;padding:10px;border:1px solid #b9c8d8;border-radius:5px;margin-top:6px;font:inherit}textarea{resize:vertical;overflow-wrap:anywhere}#generateError{color:#b32332;min-height:1em}#generateSummary{overflow-wrap:anywhere}
