:root { --navy:#16324f; --navy2:#244d70; --bg:#edf2f6; --panel:#fff; --text:#17212b; --muted:#667582; --ok:#0b6b3a; --danger:#aa2525; }
*{box-sizing:border-box} body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)} a{color:inherit}.shell{min-height:100vh}.topbar{background:var(--navy);color:#fff;padding:16px 22px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800}.container{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0}.card{background:#fff;border:1px solid #d6e0e8;border-radius:14px;box-shadow:0 10px 32px rgba(20,43,64,.08);padding:24px}.btn{display:inline-block;border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none}.btn-primary{background:var(--navy2);color:#fff}.btn-secondary{background:#e8eef3;color:#19334a}.btn-wide{width:100%}.grid{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:18px;border:1px solid #dbe3ea;border-radius:10px;background:#fff}.metric strong{display:block;font-size:25px;color:var(--navy);margin-top:6px}.muted{color:var(--muted)}
.form-stack{display:grid;gap:14px}.form-stack label{display:grid;gap:7px;font-weight:700;color:#243746}.form-stack input,.form-stack select,.form-stack textarea{display:block;width:100%;min-width:0;border:1px solid #bccbd7;border-radius:8px;background:#fff;color:var(--text);padding:11px 12px;font:inherit;line-height:1.25;outline:none}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#557b9b;box-shadow:0 0 0 3px rgba(36,77,112,.11)}.form-message{min-height:20px;font-size:14px;line-height:1.35}.error-message{color:var(--danger)}.ok-message{color:var(--ok)}
.modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:rgba(13,27,40,.62);backdrop-filter:blur(2px)}.modal-card{width:min(560px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:#fff;border:1px solid #d6e0e8;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:26px}.modal-card.small{width:min(460px,calc(100vw - 32px))}.modal-card h2{margin:0 0 10px;color:#173a59;font-size:24px}.modal-card p{margin:0;color:#5f7180;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}
@media(max-width:760px){.grid-3{grid-template-columns:1fr}.container{width:min(100% - 20px,1120px)}.modal{padding:14px}.modal-card{padding:22px}.modal-actions .btn{flex:1;min-width:120px}}
