:root { --ink:#172033; --muted:#64748b; --line:#dbe4ef; --navy:#062f53; --navy2:#0b436e; --blue:#3d7296; --soft:#eef4f8; }
* { box-sizing:border-box; }
body.register-page { min-width:320px; min-height:100vh; margin:0; padding:32px 20px; color:var(--ink); background:linear-gradient(135deg,#eef4f8,#f8fafc 52%,#e6eef5); font:16px/1.5 Inter,"Segoe UI",Arial,sans-serif; }
.register-shell { width:min(980px,100%); margin:0 auto; }
.register-card { padding:clamp(25px,5vw,44px); background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 16px 45px rgba(6,47,83,.13); }
.register-header { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:25px; margin-bottom:30px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.brand-link img { display:block; width:100%; max-height:100px; object-fit:contain; }.eyebrow { margin:0 0 5px; color:var(--blue); font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.register-header h1 { margin:0; color:var(--navy); font-size:clamp(1.65rem,4vw,2.15rem); }.register-header p:last-child { margin:7px 0 0; color:var(--muted); }
fieldset { margin:0 0 27px; padding:0; border:0; } legend { width:100%; margin:0 0 16px; display:flex; align-items:center; gap:10px; color:var(--navy); font-size:1rem; font-weight:800; }
legend span { width:28px; height:28px; display:grid; place-items:center; color:#fff; background:var(--navy); border-radius:50%; font-size:.78rem; }
.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.field { min-width:0; }.span-2 { grid-column:span 2; }.span-3 { grid-column:1/-1; }
label { display:block; margin-bottom:7px; color:#243649; font-size:.87rem; font-weight:700; } label strong { color:#b42318; }
input { width:100%; min-height:46px; padding:0 12px; color:var(--ink); background:#fbfdff; border:1px solid #cbd9e4; border-radius:9px; font:inherit; outline:none; } input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(61,114,150,.14); }
small { display:block; margin-top:6px; color:var(--muted); font-size:.75rem; }.message { display:flex; gap:10px; margin:0 0 24px; padding:12px 14px; color:#b42318; background:#fef3f2; border:1px solid #fecdca; border-radius:9px; }.message i { margin-top:4px; }
.form-actions { display:flex; flex-wrap:wrap; gap:10px; padding-top:5px; }.form-actions button,.form-actions a,.success-panel a { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.form-actions button,.success-panel a { color:#fff; background:var(--navy); border:1px solid var(--navy); }.form-actions button:hover,.success-panel a:hover { background:var(--navy2); }.form-actions a { color:var(--navy); background:var(--soft); border:1px solid #d5e3f0; }
.success-panel { padding:34px 20px; text-align:center; }.success-panel>i { color:#079455; font-size:3rem; }.success-panel h2 { margin:14px 0 5px; color:var(--navy); }.success-panel p { margin:0 0 22px; color:var(--muted); }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #9fc3e4; outline-offset:2px; }
@media(max-width:760px){ body.register-page{padding:14px}.register-card{padding:25px 20px}.register-header{grid-template-columns:1fr;text-align:center}.brand-link img{width:min(230px,80%);margin:auto}.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.form-actions>*{flex:1} }
@media(max-width:430px){.form-actions>*{width:100%;flex-basis:100%}}
