:root{font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#15243c;background:#f5f7fb;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bf942f;outline-offset:2px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#1f385d;color:#fff;padding:.8rem max(1.25rem,calc((100vw - 1200px)/2))}
.brand{display:flex;align-items:center;gap:.75rem}
.brand strong,.brand small{display:block}
.brand small{font-size:.75rem;color:#d5dfed}
.brand-mark{display:grid;place-items:center;width:2.7rem;height:2.7rem;background:#c49a3e;color:#172b49;border-radius:.55rem;font-weight:800;font-size:1.3rem}
.stage{font-size:.8rem;padding:.4rem .7rem;background:#344d73;border-radius:999px}
main{max-width:1200px;margin:auto;padding:2rem 1.25rem 5rem}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.2}
h2{font-size:1.2rem}
h3{font-size:1rem;margin-top:1.5rem}
p,.hint{color:#52617a}
.login-card,.panel{background:#fff;border:1px solid #dbe2ed;border-radius:1rem;box-shadow:0 4px 20px #14294b0b;padding:1.5rem}
.login-card{max-width:440px;margin:5vh auto}
.login-card form,.form-grid{display:grid;gap:1rem}
.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.panel{min-width:0}
.preview{margin-top:1rem}
.preview .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}
.actions form{padding:1rem;border:1px solid #dbe2ed;border-radius:.75rem}
.actions h3{margin:0}
.admin-control{max-width:520px;margin:1rem 0;padding:1rem;border:1px solid #dbe2ed;border-radius:.75rem}
.page-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.page-head p{margin:.35rem 0 0}
label{display:grid;gap:.35rem;color:#273851;font-weight:600;font-size:.9rem;margin:.7rem 0}
.check{display:flex;align-items:center;gap:.65rem}
.check input{width:auto;min-height:auto;margin:0}
input,select{width:100%;min-width:0;padding:.7rem .8rem;color:#15243c;background:#fff;border:1px solid #a9b7cb;border-radius:.55rem;min-height:44px}
input:read-only{background:#f3f5f8}
button.primary{padding:.7rem 1rem;min-height:44px;border:0;border-radius:.55rem;background:#1f385d;color:#fff;font-weight:700}
button.primary:hover{background:#2d4b77}
button.quiet{padding:.6rem .9rem;min-height:44px;border:1px solid #9aaac0;background:#fff;color:#1f385d;border-radius:.55rem}
details{border-top:1px solid #e6ebf2;margin-top:1rem;padding-top:1rem}
summary{cursor:pointer;color:#1f385d;font-weight:700;min-height:44px;padding:.5rem 0}
.notice{display:grid;gap:.25rem;margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid #e5c980;border-left:5px solid #b48722;background:#fff8e7;border-radius:.6rem}
.notice span{color:#5c4b2b}
.status{padding:.85rem 1rem;margin-bottom:1rem;border-radius:.6rem;background:#e6f4ec;color:#15583a}
.status.error{background:#fff0ee;color:#9c2525}
.result{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:1rem;color:#244a39}
.record-list{padding-left:1.3rem}
.record-list li{margin:.5rem 0;overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:980px){.columns{grid-template-columns:1fr 1fr}.preview .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){main{padding:1.25rem 1rem 4rem}.topbar{padding:.7rem 1rem}.stage{display:none}.columns,.preview .form-grid{grid-template-columns:1fr}.page-head{align-items:center}.panel,.login-card{padding:1.15rem}}
