.portal-login{position:relative;min-height:100dvh;width:100%;overflow:hidden;background:#020617;color:#eff6ff;display:flex;align-items:center;justify-content:center;padding:24px}.portal-login__video,.portal-login__overlay,.portal-login__glow{position:absolute;top:0;right:0;bottom:0;left:0}.portal-login__video{width:100%;height:100%;object-fit:cover;z-index:0}.portal-login__overlay{z-index:0;background:linear-gradient(180deg,#02061785,#020617b8),radial-gradient(circle at top left,rgba(56,189,248,.18),transparent 32%),radial-gradient(circle at bottom right,rgba(37,99,235,.16),transparent 30%)}.portal-login__glow{pointer-events:none;z-index:0;filter:blur(24px);opacity:.55}.portal-login__glow--left{inset:auto auto 70% -12%;width:340px;height:340px;border-radius:999px;background:radial-gradient(circle,rgba(56,189,248,.28),transparent 64%)}.portal-login__glow--right{inset:68% -10% auto auto;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.22),transparent 64%)}.portal-login__back{position:fixed;top:clamp(14px,2vw,24px);left:clamp(14px,2vw,24px);z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid rgba(147,197,253,.34);border-radius:999px;background:linear-gradient(145deg,#08132bd6,#0d2344b8);color:#dbeafe;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 18px 40px #02061742;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.portal-login__back:hover,.portal-login__back:focus-visible{background:linear-gradient(135deg,#0ea5e938,#3b82f633);box-shadow:0 20px 42px #0ea5e92e;transform:translateY(-1px);outline:none}.portal-login__shell{position:relative;z-index:1;width:min(560px,100%)}.portal-login__panel{padding:clamp(22px,3vw,32px);border-radius:28px;background:linear-gradient(150deg,#071228e0,#0f172ab8);border:1px solid rgba(148,163,184,.24);box-shadow:0 24px 70px #02061757;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.portal-login__panel_head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.portal-login__panel_badge{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#38bdf8e6,#3b82f6eb);color:#f8fbff;font-size:20px;box-shadow:0 14px 28px #2563eb38;flex-shrink:0}.portal-login__panel_copy{display:flex;flex-direction:column;gap:6px}.portal-login__eyebrow{display:inline-flex;align-items:center;align-self:flex-start;padding:6px 12px;border-radius:999px;background:#38bdf824;border:1px solid rgba(125,211,252,.28);color:#bae6fd;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.portal-login__panel_copy h1{margin:0;color:#f8fbff;font-size:clamp(30px,4vw,40px);line-height:1.08}.portal-login__panel_copy p{margin:0;color:#bfdbfec2;font-size:15px;line-height:1.7}.portal-login__audience_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.portal-login__audience_card{border:1px solid rgba(148,163,184,.18);background:#0712286b;border-radius:20px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;text-align:left;color:#dbeafe;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.portal-login__audience_card:hover,.portal-login__audience_card:focus-visible{transform:translateY(-2px);border-color:#7dd3fc57;box-shadow:0 18px 30px #08132b3d;outline:none}.portal-login__audience_card.is-active{border-color:#60a5fab8;background:linear-gradient(135deg,#0ea5e92e,#0f172ab3);box-shadow:0 18px 34px #2563eb2e}.portal-login__audience_icon{font-size:24px;color:#7dd3fc}.portal-login__audience_title{color:#f8fbff;font-size:18px;font-weight:800}.portal-login__audience_description{color:#bfdbfeb3;font-size:14px;line-height:1.6}.portal-login__alert.ant-alert{margin-bottom:18px;border-radius:18px;border-color:#94a3b829;background:#0f172ab8}.portal-login__alert.ant-alert .ant-alert-message{color:#f8fbff;font-weight:700}.portal-login__alert.ant-alert .ant-alert-description{color:#dbeafed6}.portal-login__hint_alert.ant-alert{margin-bottom:18px;border-radius:18px;border-color:#7dd3fc33;background:#082f4961}.portal-login__hint_alert.ant-alert .ant-alert-message{color:#e0f2fe}.portal-login__hint_alert.ant-alert .ant-alert-description{color:#e0f2fed1}.portal-login__form .ant-form-item{margin-bottom:18px}.portal-login__form .ant-form-item-label>label{color:#dbeafe;font-weight:700}.portal-login__form .ant-form-item-label>label.ant-form-item-required:before{color:#fb7185}.portal-login__code_row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.22);background:#0712288f;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease}.portal-login__code_row:focus-within{border-color:#60a5fab8;box-shadow:0 0 0 3px #3b82f624}.portal-login__code_prefix{display:inline-flex;align-items:center;justify-content:center;color:#7dd3fc;font-size:18px;flex-shrink:0}.portal-login__code_inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%}.portal-login__code_input{width:100%;min-width:0;height:40px;padding:0;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#0f172aad;color:#f8fbff;font-size:22px;font-weight:800;text-align:center;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.portal-login__code_input:focus{border-color:#60a5fab8;box-shadow:0 0 0 3px #3b82f624;background:#0f172adb}.portal-login__code_input:disabled{opacity:.6;cursor:not-allowed}.portal-login__form .ant-input-affix-wrapper,.portal-login__form .ant-input,.portal-login__form .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#0712288f;border:1px solid rgba(148,163,184,.22);color:#f8fbff;border-radius:16px;box-shadow:none}.portal-login__form .ant-input-affix-wrapper{padding:0 16px}.portal-login__form .ant-select:not(.ant-select-customize-input) .ant-select-selector{min-height:52px!important;padding:9px 16px!important;align-items:center;background:#0712288f!important;border-color:#94a3b838!important;color:#f8fbff!important}.portal-login__form .ant-select-selection-search{inset-inline-start:16px;inset-inline-end:38px}.portal-login__form .ant-select-selection-search-input{background:transparent!important;color:#f8fbff!important;-webkit-text-fill-color:#f8fbff;caret-color:#7dd3fc}.portal-login__form .ant-input-affix-wrapper-focused,.portal-login__form .ant-input-affix-wrapper:focus,.portal-login__form .ant-input-affix-wrapper:focus-within,.portal-login__form .ant-select-focused .ant-select-selector,.portal-login__form .ant-select-open .ant-select-selector,.portal-login__form .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#60a5fab8;box-shadow:0 0 0 3px #3b82f624;background:#091630e6!important}.portal-login__form .ant-input{background:transparent}.portal-login__form .ant-input::placeholder{color:#bfdbfe6b}.portal-login__form .ant-input-prefix{margin-right:10px;color:#7dd3fc}.portal-login__form .ant-select-selection-placeholder{color:#bfdbfe6b}.portal-login__form .ant-select-selection-item,.portal-login__form .ant-select-selection-search-input{color:#f8fbff!important}.portal-login__form .ant-select-arrow{color:#7dd3fc}.portal-login__form .ant-select.ant-select-disabled .ant-select-selector,.portal-login__form .ant-input-affix-wrapper.ant-input-affix-wrapper-disabled,.portal-login__form .ant-input[disabled]{opacity:.6}.portal-login__form .ant-form-item-has-error .ant-input-affix-wrapper,.portal-login__form .ant-form-item-has-error .ant-input,.portal-login__form .ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector,.portal-login__form .ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background:#171122c7!important;border-color:#fb7185ad!important;color:#fff1f2!important;box-shadow:0 0 0 3px #fb71851f}.portal-login__form .ant-form-item-has-error .ant-select-selection-placeholder,.portal-login__form .ant-form-item-has-error .ant-select-selection-item,.portal-login__form .ant-form-item-has-error .ant-select-selection-search-input{color:#ffe4e6!important}.portal-login__form .ant-select-clear{inset-inline-end:34px;color:#bfdbfeb8;background:transparent}.portal-login__form .ant-form-item-explain-error{color:#fda4af}.portal-login__flow_notice{margin-bottom:18px;padding:14px 16px;border-radius:18px;background:#0712287a;border:1px solid rgba(148,163,184,.18);display:flex;flex-direction:column;gap:6px}.portal-login__flow_notice strong{color:#f8fbff;font-size:15px}.portal-login__flow_notice span{color:#dbeafecc;font-size:14px;line-height:1.7}.portal-login__flow_notice code{color:#bfdbfe;font-size:.95em;background:#0f172a85;padding:2px 6px;border-radius:8px}.portal-login__student_detail_grid{display:grid;grid-template-columns:1fr;gap:14px}.portal-login__dropdown .ant-select-item{border-radius:12px;margin:4px 8px;padding:10px 12px;color:#e2e8f0;height:auto;line-height:1.4}.portal-login__dropdown.ant-select-dropdown{padding:8px 0;border-radius:18px;border:1px solid rgba(96,165,250,.18);background:linear-gradient(180deg,#091226fa,#0f172afa);box-shadow:0 24px 54px #02061785;min-width:min(520px,calc(100vw - 32px))!important;max-width:min(520px,calc(100vw - 32px))}.portal-login__dropdown .rc-virtual-list-holder{scrollbar-color:rgba(125,211,252,.4) transparent}.portal-login__dropdown .ant-select-item-option-content{overflow:visible;white-space:normal;text-overflow:clip}.portal-login__dropdown .ant-select-item-empty,.portal-login__dropdown .ant-empty-description{color:#bfdbfeb8!important}.portal-login__dropdown .ant-select-item-option-selected{background:linear-gradient(135deg,#0ea5e92e,#2563eb2e)}.portal-login__dropdown .ant-select-item-option-active{background:#1e293be0}.portal-login__dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#7dd3fc}.portal-login__dropdown .ant-spin{color:#7dd3fc}.portal-login__select_option{display:flex;flex-direction:column;gap:4px}.portal-login__select_title{color:#f8fbff;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.portal-login__select_meta{color:#bfdbfea8;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.portal-login__username_modal .ant-modal-content{border-radius:28px;padding:0;overflow:hidden;background:radial-gradient(circle at top,rgba(56,189,248,.18),transparent 38%),linear-gradient(160deg,#071228fa,#0f172af5);border:1px solid rgba(125,211,252,.2);box-shadow:0 28px 80px #0206176b}.portal-login__username_dialog{padding:28px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.portal-login__username_badge{width:60px;height:60px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#38bdf8f0,#3b82f6eb);color:#eff6ff;font-size:24px;box-shadow:0 18px 36px #2563eb3d}.portal-login__username_dialog h2{margin:0;color:#f8fbff;font-size:28px;line-height:1.1}.portal-login__username_dialog p{margin:0;color:#dbeafecc;font-size:15px;line-height:1.75}.portal-login__username_value{width:100%;padding:18px 20px;border-radius:20px;border:1px solid rgba(125,211,252,.28);background:#0f172ab8;color:#f8fbff;font-size:clamp(28px,7vw,42px);font-weight:800;letter-spacing:.18em;text-transform:uppercase;box-shadow:inset 0 0 0 1px #38bdf814}.portal-login__submit.ant-btn{height:52px;border:none;border-radius:16px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#f8fbff;font-size:16px;font-weight:800;box-shadow:0 18px 34px #2563eb3d}.portal-login__submit.ant-btn:hover,.portal-login__submit.ant-btn:focus{background:linear-gradient(135deg,#22d3ee,#2563eb)!important;color:#f8fbff!important}.portal-login__submit.ant-btn.ant-btn-loading,.portal-login__submit.ant-btn[disabled]{background:linear-gradient(135deg,#38bdf8,#2563eb)}@media (max-width: 640px){.portal-login{padding:16px}.portal-login__back{top:12px;left:12px;min-height:40px;padding:8px 14px;font-size:13px}.portal-login__panel{padding:20px;border-radius:24px}.portal-login__audience_grid{grid-template-columns:1fr}.portal-login__panel_copy h1{font-size:28px}.portal-login__code_row{gap:10px;padding:10px 12px}.portal-login__code_inputs{gap:8px}.portal-login__code_input{height:48px;font-size:20px}.portal-login__student_detail_grid{grid-template-columns:1fr;gap:0}.portal-login__username_dialog{padding:22px}.portal-login__username_dialog h2{font-size:24px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-container{margin:0 auto;padding:24px;min-height:calc(100vh - 134px)}.hover-card{transition:all .3s ease;cursor:pointer}.hover-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #00000026}
