:root{--reg-navy:#0f2747;--reg-blue:#1976d2;--reg-teal:#00a6a6;--reg-bg:#f5f8fc;--reg-text:#172033;--reg-muted:#64748b;--reg-border:#e2e8f0;--reg-success:#2e8b57;--reg-danger:#d9534f}
*{box-sizing:border-box}.registration-page{margin:0;min-height:100vh;background:radial-gradient(circle at 5% 8%,rgba(0,166,166,.12),transparent 27%),radial-gradient(circle at 97% 90%,rgba(25,118,210,.12),transparent 30%),var(--reg-bg);color:var(--reg-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:clamp(20px,4vw,48px)}.registration-page>.container{width:min(1180px,100%)!important;max-width:none!important;margin:0 auto!important;padding:0!important;display:grid;grid-template-columns:340px minmax(0,1fr);background:#fff;border:1px solid var(--reg-border);border-radius:24px;box-shadow:0 28px 70px rgba(15,39,71,.13);overflow:hidden}.registration-intro{background:linear-gradient(155deg,#0f2747,#123e69 64%,#087c81 130%);color:#fff;padding:48px 34px;position:relative;overflow:hidden}.registration-intro:after{content:"";position:absolute;width:280px;height:280px;border:48px solid rgba(255,255,255,.04);border-radius:50%;left:-150px;bottom:-180px}.registration-brand{width:56px;height:56px;border-radius:15px;background:linear-gradient(135deg,var(--reg-blue),var(--reg-teal));display:grid;place-items:center;color:#fff;font-size:2.3rem;font-weight:300;box-shadow:0 10px 25px rgba(0,0,0,.2);margin-bottom:2rem}.registration-intro h2{color:#fff;font-size:2rem;line-height:1.18;margin:0 0 1rem}.registration-intro>p{color:#c9d9e8;line-height:1.75}.registration-benefits{list-style:none;padding:0;margin:2rem 0;display:grid;gap:1rem}.registration-benefits li{display:flex;align-items:center;gap:.7rem;color:#e7f2fb;font-size:.9rem}.registration-benefits li:before{content:"✓";width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(0,166,166,.25);color:#7de0de;font-weight:800}.privacy-note{position:relative;margin-top:2.5rem;padding:1rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:12px;font-size:.78rem;color:#c7d6e4!important}.registration-intro a{color:#8ee4e2;font-weight:700;text-decoration:none}.registration-box{padding:clamp(28px,5vw,55px)!important;max-width:800px;width:100%}.registration-box>.header{text-align:left!important;margin:0 0 2rem!important}.registration-box>.header:before{content:"STUDENT ONBOARDING";display:block;color:var(--reg-blue);font-size:.7rem;font-weight:850;letter-spacing:.12em;margin-bottom:.55rem}.registration-box>.header h1{font-size:.85rem!important;color:var(--reg-muted)!important;font-weight:700!important;margin:0 0 .45rem!important}.registration-box>.header h2{font-size:clamp(1.75rem,4vw,2.35rem)!important;color:var(--reg-navy)!important;letter-spacing:-.035em;margin:0!important}.registration-box>.header p{color:var(--reg-muted);line-height:1.6}.form-section{border:1px solid var(--reg-border);border-radius:15px;padding:22px;margin:0 0 18px;background:#fff;position:relative}.form-section h3{font-size:1rem;color:var(--reg-navy);margin:0 0 1.3rem;padding-bottom:.9rem;border-bottom:1px solid var(--reg-border);display:flex;align-items:center;gap:.6rem}.form-section h3:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--reg-teal);box-shadow:0 0 0 4px rgba(0,166,166,.11)}.registration-page .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.registration-page .form-group{margin-bottom:17px}.registration-page .form-group:last-child{margin-bottom:0}.registration-page label{display:block;color:#344054;font-size:.84rem;font-weight:750;margin-bottom:.48rem}.registration-page input:not([type=checkbox]),.registration-page select{width:100%;height:50px;border:1px solid var(--reg-border);border-radius:10px;background:#fbfdff;padding:0 13px;color:var(--reg-text);font:inherit;transition:.18s}.registration-page input:hover,.registration-page select:hover{border-color:#b8c8d8}.registration-page input:focus,.registration-page select:focus{outline:none;border-color:var(--reg-blue);background:#fff;box-shadow:0 0 0 4px rgba(25,118,210,.1)}.registration-page input.invalid,.registration-page input:invalid:not(:placeholder-shown){border-color:var(--reg-danger)}.registration-page small{display:block;color:var(--reg-muted);font-size:.75rem;line-height:1.5;margin-top:.42rem}.registration-page .checkbox-group{margin-top:.3rem}.registration-page .checkbox-group label{display:flex;align-items:flex-start;gap:.65rem;font-weight:550;line-height:1.5}.registration-page input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--reg-blue);flex:none}.registration-page a{color:var(--reg-blue);font-weight:700;text-decoration:none}.registration-page a:hover{text-decoration:underline}.registration-page .btn{min-height:52px;border-radius:11px!important;font-weight:800!important}.registration-page .btn-primary{background:linear-gradient(135deg,var(--reg-blue),#1469bb)!important;border-color:var(--reg-blue)!important;box-shadow:0 9px 22px rgba(25,118,210,.22)}.registration-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(25,118,210,.28)}.registration-page .btn.is-loading{color:transparent!important;position:relative;pointer-events:none}.registration-page .btn.is-loading:after{content:"";position:absolute;width:21px;height:21px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:reg-spin .7s linear infinite}.registration-page .alert{border-radius:12px;padding:1rem 1.1rem;margin-bottom:1.25rem}.registration-page .alert-danger{background:#fff2f2;border:1px solid #f3cece;border-left:4px solid var(--reg-danger);color:#923b38}.registration-page .alert-success{background:#eff9f3;border:1px solid #cce8d7;border-left:4px solid var(--reg-success);color:#246a42}.registration-page .alert ul{margin:.3rem 0;padding-left:1.2rem}.password-strength{margin-top:.65rem}.strength-bar{height:6px;background:#e7edf3;border-radius:999px;overflow:hidden}.strength-fill{height:100%;border-radius:999px;transition:.25s}.strength-text{font-weight:750}.registration-home{position:absolute;top:18px;left:20px;color:var(--reg-navy)!important;z-index:3;background:rgba(255,255,255,.85);padding:.48rem .7rem;border-radius:9px;backdrop-filter:blur(8px);font-size:.82rem}.admin-registration>.container{grid-template-columns:1fr!important;max-width:620px!important;padding:clamp(28px,5vw,48px)!important}.admin-registration .header{text-align:left}.admin-registration .header:before{content:"SECURE SYSTEM SETUP";display:block;color:var(--reg-blue);font-size:.7rem;font-weight:850;letter-spacing:.12em;margin-bottom:.55rem}.admin-registration .header h1{color:var(--reg-navy);margin:0 0 .5rem}.admin-registration .header p{color:var(--reg-muted)}.admin-registration .info-box{background:#edf6ff;border:1px solid #cde5fa;border-left:4px solid var(--reg-blue);color:#34536f;border-radius:11px;padding:1rem;margin-bottom:1.25rem}.admin-registration .links{text-align:center;border-top:1px solid var(--reg-border);margin-top:1.4rem;padding-top:1.3rem}.success-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--reg-success);color:#fff;font-size:2rem;margin:0 auto 1.2rem}.registration-page select:disabled{opacity:.65;cursor:wait}@keyframes reg-spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.registration-page>.container{grid-template-columns:1fr}.registration-intro{padding:30px}.registration-benefits{grid-template-columns:1fr 1fr}.privacy-note{margin-top:1.5rem}}
@media(max-width:600px){.registration-page{padding:0}.registration-page>.container{border:0;border-radius:0;min-height:100vh}.registration-intro{padding:72px 20px 28px}.registration-intro h2{font-size:1.55rem}.registration-benefits{grid-template-columns:1fr;font-size:.85rem}.registration-box{padding:28px 16px 40px!important}.form-section{padding:17px 14px}.registration-page .form-row{grid-template-columns:1fr;gap:0}.registration-home{position:fixed}.admin-registration>.container{padding:70px 18px 30px!important}.admin-registration .form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.registration-page *{transition:none!important}}
