.reg-banner{color:#fff;background:#0d3b6e;padding:2.75rem 0 2rem;position:relative;overflow:hidden}.reg-banner:after{content:"";pointer-events:none;background:radial-gradient(circle at 90%,#ffffff12 0%,#0000 50%),radial-gradient(circle at 5% 80%,#ffffff0a 0%,#0000 40%);position:absolute;inset:0}.reg-banner-inner{z-index:1;position:relative}.reg-banner-type{color:#5ee0a0;letter-spacing:.8px;text-transform:uppercase;background:#f9a82538;border:1px solid #f9a82573;border-radius:30px;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:.28rem .9rem;font-size:.72rem;font-weight:700;display:inline-flex}.reg-banner h1{color:#fff;margin-bottom:.3rem;font-size:1.75rem;font-weight:900}.reg-banner p{color:#ffffffbf;margin:0;font-size:.88rem}.reg-body{background:var(--kephic-blue-bg);padding:2.5rem 0 4rem}.reg-card{background:#fff;border:1px solid #0d3b6e12;border-radius:18px;box-shadow:0 4px 28px #0d3b6e17}.reg-section{border-bottom:1px solid #0d3b6e12;padding:1.75rem 2rem}.reg-section:last-child{border-bottom:none}.reg-section-head{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.reg-section-ico{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.reg-section-title{text-transform:uppercase;letter-spacing:.9px;color:var(--kephic-blue-darkest);margin:0;font-size:.82rem;font-weight:800}.reg-section-sub{color:var(--kephic-text-light);margin-top:.1rem;font-size:.75rem}.student-block{background:linear-gradient(135deg,#fffde7,#fff8e1);border:1.5px solid #ffb74d;border-radius:14px;padding:1.5rem}.student-block .reg-section-title{color:#bf360c}.student-block .reg-section-ico{color:#e65100;background:#fff3e0}.verify-banner{color:#5d4037;background:#fff;border:1px solid #ffa72666;border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.82rem;display:flex}.verify-banner i{color:#ff8f00;flex-shrink:0;margin-top:.1rem;font-size:1.1rem}.reg-hint{background:var(--kephic-blue-pale);color:var(--kephic-blue-dark);border:1px solid #0d3b6e26;border-radius:20px;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex}.track-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem .85rem;margin:0;padding:0;list-style:none;display:grid}.track-grid label{cursor:pointer;background:var(--kephic-blue-bg);border:1px solid #0d3b6e1a;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.82rem;transition:all .2s;display:flex}.track-grid label:hover{background:var(--kephic-blue-pale);border-color:var(--kephic-blue-light)}.track-grid input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--kephic-blue);flex-shrink:0}.consent-box{background:var(--kephic-blue-bg);border:1px solid #0d3b6e1a;border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:.6rem;padding:.9rem 1rem;display:flex}.consent-box input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--kephic-blue);flex-shrink:0;margin-top:.2rem}.consent-box label{color:var(--kephic-text);cursor:pointer;margin:0;font-size:.82rem}.reg-submit-btn{color:#fff;letter-spacing:.3px;cursor:pointer;background:#0d3b6e;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;width:100%;margin-top:.25rem;padding:1rem 2rem;font-size:1.05rem;font-weight:800;transition:all .25s;display:flex;box-shadow:0 4px 18px #0d3b6e59}.reg-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #0d3b6e73}.reg-submit-btn:disabled{opacity:.75;cursor:progress}.reg-submit-btn i{font-size:1.15rem}.reg-card .form-label{color:#37474f;margin-bottom:3px;font-size:.83rem;font-weight:600}.reg-card .form-text{font-size:.75rem}.form-error-banner{background:#ffebee;border:1.5px solid #ef9a9a;border-radius:12px;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.form-error-banner i{color:#c62828;flex-shrink:0;margin-top:.1rem;font-size:1.1rem}.form-error-banner ul{color:#b71c1c;margin:.35rem 0 0 1rem;padding:0;font-size:.82rem;list-style:outside}.form-error-banner ul li{margin-bottom:.2rem}@media (max-width:991px){.reg-section{padding:1.4rem 1.25rem}}@media (max-width:575px){.reg-banner{padding:2rem 0 1.5rem}.reg-banner h1{font-size:1.4rem}.reg-body{padding:1.5rem 0 3rem}}
