:root{font-family:system-ui,sans-serif;color:#173c34;background:#f5f8f7}body{margin:0}header{display:flex;gap:1rem;align-items:center;padding:1rem 5%;background:white;border-bottom:1px solid #cbd9d4}header a{font-size:1.3rem;font-weight:700;color:inherit}main{max-width:960px;margin:2rem auto;padding:0 1rem}section,.card{background:white;border:1px solid #cbd9d4;border-radius:12px;padding:1.4rem;margin:1rem 0}label{display:block;margin:.8rem 0}input,select,textarea{display:block;box-sizing:border-box;width:100%;padding:.8rem;border:1px solid #78998f;border-radius:6px;font:inherit}button{padding:.8rem 1rem;border:0;border-radius:6px;background:#155b49;color:white;font:inherit;cursor:pointer;margin:.3rem}button:disabled{opacity:.5;cursor:wait}a{color:#155b49}#notice{padding:1rem;background:#e1ede8;overflow-wrap:anywhere}#notice:empty{display:none}#cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.card{margin:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c47717;outline-offset:3px}[hidden]{display:none!important}@media(max-width:600px){header{flex-wrap:wrap}h1{font-size:1.7rem}section{padding:1rem}}

select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c47717;outline-offset:3px}summary{cursor:pointer;padding:.6rem 0}header>*{min-width:0}#identity,.card,section{overflow-wrap:anywhere}button{max-width:100%}input,select,textarea{min-width:0}

/* Keep the everyday workflow compact and readable on laptops and phones. */
.education-setup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem}
.education-setup-form>label:first-child,.education-setup-form>fieldset,.education-setup-form>p,.education-setup-form>button{grid-column:1/-1}
.education-setup-form fieldset{min-width:0;border:1px solid #cbd9d4;border-radius:8px;padding:.8rem}
.education-setup-form fieldset label{display:flex;align-items:center;gap:.7rem}
.education-setup-form fieldset input{width:auto;flex:none}
#education-summary{padding:1rem;background:#edf3ef;border-radius:8px;font-variant-numeric:tabular-nums}
.allocation-preview:not(:empty){padding:1rem;border:2px solid #155b49;border-radius:10px;margin:1rem 0}
.allocation-preview:focus{outline:3px solid #c47717;outline-offset:3px}
#participants{display:grid;gap:1rem;margin:1rem 0}.participant-row h4{margin-top:0}
#customer-management>.card{margin:.8rem 0}#customer-management>details{margin:1rem 0}
@media(max-width:600px){.education-setup-form{grid-template-columns:minmax(0,1fr)}}
