/* Registration-specific controls share the existing public/dashboard brand tokens and type scale. */
.button-register{background:var(--accent);color:var(--deep);font-weight:750;border:1px solid var(--accent);border-radius:4px}.button-register:hover{background:var(--deep);border-color:var(--deep);color:#fff}.registration-shell{padding-block:36px 70px}.registration-login{max-width:520px;margin:0 auto;padding:30px;border:1px solid var(--line);border-radius:6px;background:#fff}.registration-login-heading h2{font-size:26px;margin:18px 0 25px}.registration-emblem{width:54px;height:54px;display:inline-grid;place-items:center;font-size:27px;background:var(--yellow-soft);color:var(--primary);border-radius:6px}.registration-field{min-width:0;position:relative}.registration-field>label,.registration-options>legend{font-size:14.4px;line-height:1.6;font-weight:600;display:block;margin-bottom:8px;color:var(--ink)}.registration-field .form-control,.registration-field .form-select{font-size:15.6px;min-height:44px;border-color:var(--line);border-radius:4px;color:var(--ink)}.registration-field small{display:block;font-size:12px;color:var(--muted);margin-top:8px;line-height:1.7}.registration-field small a{text-decoration:underline}.registration-login .registration-field{margin-bottom:23px}.registration-captcha{display:flex;align-items:center;gap:12px;margin-bottom:12px}.registration-captcha img{width:190px;height:60px;max-width:calc(100% - 50px);object-fit:contain;border:1px solid var(--line);border-radius:4px}.registration-refresh{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:4px;background:var(--pale);color:var(--primary);font-size:20px}.registration-login .button{width:100%}.registration-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.registration-toolbar strong{font-size:16.8px}.registration-toolbar strong span{display:block;font-size:13.2px;color:var(--muted);font-weight:450}.registration-progress{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0 0 38px;gap:14px}.registration-progress li{display:flex;align-items:center;gap:10px;font-size:13.2px;color:var(--muted);padding-bottom:14px;border-bottom:3px solid var(--line)}.registration-progress li>span{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-weight:650}.registration-progress li.is-current{border-color:var(--accent);color:var(--primary);font-weight:650}.registration-progress li.is-current>span{background:var(--accent);border-color:var(--accent);color:var(--deep)}.registration-progress li.is-complete{border-color:var(--secondary);color:var(--primary)}.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:48px;align-items:start}.registration-main{min-width:0}.registration-academic{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}.registration-academic h2{font-size:21.6px;margin-bottom:22px}.registration-academic dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;margin:0}.registration-academic dl>div{min-width:0;overflow-x:auto}.registration-academic dt{font-size:12px;color:var(--muted);font-weight:450}.registration-academic dd{font-size:14.4px;line-height:1.65;margin:5px 0 0}.registration-section{border:0;padding:0;margin:0}.registration-section>legend{font-size:21.6px;font-weight:650;margin-bottom:26px;float:none;line-height:1.5}.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 25px}.registration-wide{grid-column:1/-1}.registration-options{border:0;padding:0;margin:0;min-width:0}.registration-options>legend{float:none;width:auto}.registration-choices{display:flex;flex-wrap:wrap;gap:12px 23px;padding-block:6px}.registration-choice{display:flex;align-items:flex-start;gap:10px;font-size:14.4px;line-height:1.8;min-width:0}.registration-choice .form-check-input{flex:0 0 18px;width:18px;height:18px;margin:4px 0 0;cursor:pointer}.registration-choice span{min-width:0;overflow-x:auto}.registration-choice:has(input:disabled){color:var(--muted)}.registration-copy{display:inline-flex;margin:0 0 8px;border:0;padding:0;background:transparent;font-size:11.4px;font-weight:600;color:var(--plum);text-align:left}.registration-form-actions{display:flex;justify-content:space-between;gap:16px;margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.registration-back{border:1px solid var(--line);background:#fff;color:var(--primary)}.registration-summary{position:sticky;top:140px;padding:25px;background:var(--pale);border-top:4px solid var(--accent)}.registration-summary h2{font-size:21.6px;margin:10px 0 25px}.registration-summary p{font-size:13px;line-height:1.8;margin:22px 0}.registration-secure{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--primary)}.registration-fees{display:grid;gap:14px;font-size:14.4px}.registration-fees>div{display:flex;align-items:start;justify-content:space-between;gap:18px}.registration-fees strong{white-space:nowrap}.registration-fees .registration-total{border-top:1px solid var(--line);padding-top:15px;font-size:18px}.registration-review-section{margin:26px 0}.registration-review-section h3{font-size:18px;background:var(--pale);border-left:3px solid var(--secondary);padding:12px}.registration-review-section dl{margin:0}.registration-review-section dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.registration-review-section dt{font-size:13.2px;font-weight:450;color:var(--muted)}.registration-review-section dd{font-size:14.4px;margin:0;white-space:pre-wrap;min-width:0;overflow-x:auto}.registration-review-pledge{font-size:14.3px!important;line-height:1.85}.registration-photo{display:block;width:90px;height:110px;object-fit:contain;margin-top:12px;border:1px solid var(--line)}.registration-notice{font-size:14.3px!important;line-height:1.8;color:var(--muted);background:var(--pale);border-left:3px solid var(--secondary);padding:15px;margin:20px 0}.registration-confirmed{max-width:800px;margin:10px auto 35px}.registration-confirmed h2{font-size:30px;margin-top:20px}.registration-confirmed>p{font-size:16.9px;line-height:1.8}.registration-document-actions{display:flex;flex-wrap:wrap;gap:15px}.registration-records .table{min-width:1150px}.registration-admin-academic{padding:0 0 20px;line-height:1.8;font-size:14px}.registration-admin-academic strong{display:block}.registration-admin-academic span{display:block;color:var(--muted)}#registration-editor .registration-section{margin-bottom:28px}.registration-events{list-style:none;padding:0;text-align:left}.registration-events li{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.registration-events strong,.registration-events small{display:block}.registration-events small{color:var(--muted)}.registration-photo[hidden],[hidden]{display:none!important}.button:disabled{opacity:.6;cursor:wait;transform:none}.registration-error{color:var(--plum)}
/* Public payment alerts use the same palette as staff dialogs. */
/* A ceremony-themed closure state remains a useful, high-contrast page on every screen size. */
.registration-closed{position:relative;max-width:960px;margin:0 auto 25px;padding:55px 36px;text-align:center;background:var(--deep);color:#fff;border-top:5px solid var(--accent);border-bottom:1px solid var(--secondary)}.registration-closed-status{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:#dce5ee}.registration-closed-status>span{width:8px;height:8px;background:var(--accent);box-shadow:0 0 0 5px #ffc60022;border-radius:50%}.registration-closed-symbol{display:grid;place-items:center;width:100px;height:100px;margin:30px auto;border:1px solid var(--secondary);border-bottom:4px solid var(--accent);font-size:49px;color:var(--accent);transform:rotate(-4deg)}.registration-closed-symbol>i{transform:rotate(4deg)}.registration-closed>.section-kicker{display:block;color:var(--accent);font-size:12px}.registration-closed h2{font-size:38px;font-weight:750;margin:15px 0 20px;line-height:1.3}.registration-closed h2 strong{color:var(--accent)}.registration-closed>p{max-width:690px;margin:0 auto 20px;font-size:17px;line-height:1.9;text-align:center!important;white-space:pre-wrap}.registration-closed .registration-closed-payment{font-size:14px;color:#dce5ee}.registration-closed-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:30px}.registration-closed-home{border-color:#ffffff66;color:#fff}.registration-closed-home:hover{background:#fff;color:var(--deep)}.registration-general-link{display:inline-block;margin-top:22px;color:#dce5ee;text-decoration:underline;font-size:13px}@media(max-width:600px){.registration-closed{padding:38px 20px}.registration-closed h2{font-size:29px}.registration-closed>p{font-size:15.6px}.registration-closed-actions{flex-direction:column}.registration-closed-symbol{width:82px;height:82px;font-size:39px}}
/* Full-screen verification stays readable on small screens and blocks accidental payment retries. */
.registration-verification-container.swal2-container{padding:0;z-index:2147483647}.registration-verification-popup.swal2-popup{width:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box;border-radius:0;padding:32px 24px;align-content:center;justify-items:center;background:#fff;box-shadow:none}.registration-verification-popup .swal2-title{max-width:640px;margin:0;padding:0;font-size:28.8px;line-height:1.4;font-weight:750;text-align:center}.registration-verification-popup .swal2-html-container{max-width:540px;margin:18px 0 0;font-size:16px;line-height:1.8;text-align:center;overflow-wrap:normal;word-break:normal}.registration-verification-popup .swal2-html-container strong{display:block;margin-top:16px;color:var(--plum)}.registration-verification-popup .swal2-actions{margin:28px 0 0}.registration-verification-popup .swal2-loader{width:52px;height:52px;border-width:4px;border-color:var(--primary) transparent var(--accent) transparent}@media(prefers-reduced-motion:reduce){.registration-verification-popup .swal2-loader{animation-duration:2s}}
.registration-toolbar>strong{min-width:0;max-width:100%;overflow-x:auto}.registration-toolbar>.text-link{flex-shrink:0}.registration-summary p strong{display:block;max-width:100%;overflow-x:auto}.registration-field small,.registration-summary .section-kicker{max-width:100%;overflow-x:auto;word-break:normal;overflow-wrap:normal}
.convocation-public .swal2-container .swal2-popup,.convocation-public .swal2-container .swal2-title{color:var(--ink)}.convocation-public .swal2-container .swal2-confirm{background:var(--primary)}.convocation-public .swal2-container .swal2-cancel{background:var(--plum)}.convocation-public .swal2-container .swal2-icon.swal2-error{color:var(--plum);border-color:var(--plum)}.convocation-public .swal2-container [class^=swal2-x-mark-line]{background:var(--plum)}
@media(max-width:1199px){.registration-layout{grid-template-columns:minmax(0,1fr) 245px;gap:30px}.registration-summary{padding:20px}.registration-progress{gap:8px}.navbar-nav{gap:13px}}
@media(max-width:991px){.registration-layout{grid-template-columns:minmax(0,1fr)}.registration-summary{position:static;order:-1}.registration-summary p,.registration-secure{display:none}.registration-summary h2{font-size:18px;margin-bottom:18px}.registration-summary .registration-fees{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 25px}.registration-summary .registration-total{grid-column:1/-1}.registration-progress{margin-bottom:25px}}
@media(max-width:600px){.registration-shell{padding-block:25px 45px}.registration-login{padding:23px 18px}.registration-login-heading h2{font-size:24px}.registration-toolbar{align-items:start}.registration-toolbar strong{font-size:15.6px}.registration-toolbar .text-link{font-size:12px;white-space:nowrap}.registration-progress{gap:5px}.registration-progress li{flex-direction:column;align-items:start;gap:7px;font-size:10.8px;padding-bottom:10px}.registration-progress li>span{width:27px;height:27px;flex-basis:27px;font-size:12px}.registration-fields,.registration-academic dl{grid-template-columns:minmax(0,1fr);gap:20px}.registration-academic h2{font-size:19.2px}.registration-section>legend{font-size:20.4px}.registration-choices{gap:10px 18px}.registration-field .form-control{font-size:14.4px}.registration-summary .registration-fees{grid-template-columns:minmax(0,1fr)}.registration-form-actions{gap:10px}.registration-form-actions .button{font-size:12px;padding:11px 12px}.registration-review-section dl>div{grid-template-columns:minmax(0,1fr);gap:5px}.registration-review-section h3{font-size:16.8px}.registration-confirmed h2{font-size:25px}.registration-document-actions{flex-direction:column}.registration-summary{padding:20px}.registration-copy{font-size:11px}.registration-review-pledge{text-align:left!important}}

/* OTP controls retain their order and full-width status on small screens. */
.registration-email-verification{border-top:1px solid var(--line);padding-top:1rem}.registration-otp-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.registration-otp-controls>div{flex:1;min-width:140px}.registration-otp-controls .btn{white-space:normal}.registration-email-verification small{display:block}
@media(max-width:575px){.registration-otp-controls{display:grid;grid-template-columns:1fr}.registration-otp-controls .btn{width:100%}}

.registration-provider-logs{text-align:left;overflow-wrap:anywhere}.registration-provider-logs section{border-top:1px solid var(--line);padding-top:14px}.registration-provider-details>div{display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:7px 0}.registration-provider-details dd{margin:0}.registration-provider-logs h4{font-size:1rem}
