:root { --portal-ink: #102752; --portal-blue: #1264e8; --portal-cyan: #0bc5dc; --portal-line: #dbe8f7; --portal-bg: #f5f9ff; }
body.eo-body { background: radial-gradient(circle at 90% 0%, #dff6ff 0, transparent 30%), var(--portal-bg); color: var(--portal-ink); }
.eo-navbar { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid #a7d5f244; background: linear-gradient(110deg, #071f55, #1054b9 62%, #087da9) !important; box-shadow: 0 10px 28px #092b5c22; }
.eo-logo { display: inline-flex; align-items: center; gap: 9px; color: #fff !important; font-weight: 800; }.eo-logo small { display: block; color: #bceeff; font-size: .52rem; font-weight: 600; }.portal-logo-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #15d8e8, #3e65ed); }.eo-nav-link { color: #e9f6ff !important; }.eo-nav-link.is-active, .eo-nav-link:hover { color: #fff !important; }
.portal-menu-toggle { display: none; border: 1px solid #ffffff44; border-radius: 9px; background: #ffffff12; color: #fff; padding: 8px 10px; }
.portal-catalog-search { display: flex; align-items: center; gap: 10px; max-width: 710px; margin: 0 0 24px; padding: 6px 7px 6px 16px; border: 1px solid var(--portal-line); border-radius: 999px; background: #fff; box-shadow: 0 10px 24px #1a5ea812; }.portal-catalog-search i { color: var(--portal-blue); }.portal-catalog-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--portal-ink); }.portal-catalog-search button { border: 0; border-radius: 999px; padding: 10px 15px; background: linear-gradient(90deg, #128ff3, #5542e9); color: #fff; font-weight: 800; }
.portal-empty-state { display: grid; justify-items: center; gap: 8px; padding: 42px 20px; border: 1px dashed #a8c8e5; border-radius: 18px; background: #ffffffaa; color: #6380a1; text-align: center; }.portal-empty-state i { color: var(--portal-blue); font-size: 2rem; }.portal-empty-state strong { color: var(--portal-ink); }.portal-empty-state a { color: var(--portal-blue); font-weight: 800; }
.home-search-empty { display: grid; justify-items: center; gap: 7px; margin: 12px 0 20px; padding: 26px; border: 1px dashed #a8c8e5; border-radius: 16px; background: #ffffffaa; color: #6380a1; text-align: center; }.home-search-empty i { color: var(--portal-blue); font-size: 1.5rem; }.home-search-empty strong { color: var(--portal-ink); }
main.container { min-height: 55vh; }
@media (max-width: 768px) { .portal-menu-toggle { display: block; margin-left: auto; }.eo-navbar .container { flex-wrap: wrap; }.eo-navbar #portal-nav { display: none; width: 100%; padding: 12px 0 4px; }.eo-navbar #portal-nav.is-open { display: grid; justify-items: stretch; }.eo-navbar #portal-nav .eo-pill-btn, .eo-navbar #portal-nav .nav-link { width: 100%; text-align: center; }.portal-catalog-search { border-radius: 16px; flex-wrap: wrap; padding: 10px; }.portal-catalog-search input { flex-basis: calc(100% - 32px); }.portal-catalog-search button { width: 100%; } }

.portal-auth-page { min-height: 100vh; display: grid; place-items: center; overflow-x: hidden; padding: 34px 18px; background: radial-gradient(circle at 12% 15%, #21d5e855 0 8%, transparent 27%), radial-gradient(circle at 90% 88%, #5747ee66 0 9%, transparent 29%), linear-gradient(135deg, #061d52, #1268ba 58%, #0e9ab5) !important; font-family: "Trebuchet MS", "Segoe UI", sans-serif !important; }
.portal-auth-page::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .35; background-image: linear-gradient(#b4f4ff18 1px, transparent 1px), linear-gradient(90deg, #b4f4ff18 1px, transparent 1px); background-size: 52px 52px; animation: authGrid 16s linear infinite; }.portal-auth-page::after { content: ""; position: fixed; width: 430px; height: 430px; right: -140px; top: -180px; border: 1px solid #a7f6ff55; border-radius: 50%; box-shadow: 0 0 0 44px #a7f6ff12, 0 0 0 94px #a7f6ff08; pointer-events: none; }
@keyframes authGrid { to { background-position: 52px 52px, 52px 52px; } }
.portal-auth-page .panel { width: min(430px, 100%); padding: 28px; border: 1px solid #b8efff55; border-radius: 24px; background: #09285bcc; box-shadow: 0 25px 70px #001b4870, inset 0 1px #ffffff33; }
.auth-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }.auth-brand > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #17dce7, #4c5cf0); box-shadow: 0 8px 20px #05194766; }.auth-brand strong { display: grid; gap: 3px; font-size: 1.05rem; }.auth-brand small { color: #b9eafa; font-size: .56rem; font-weight: 500; }.auth-heading { margin: 28px 0 20px; }.auth-kicker { color: #72f0ff; font-size: .61rem; font-weight: 800; letter-spacing: .14em; }.portal-auth-page .panel h1 { margin: 8px 0 7px; color: #fff; font-size: 2rem; letter-spacing: -.05em; }.portal-auth-page .panel .sub { margin: 0; color: #b6d1ed; font-size: .78rem; }.portal-auth-page .field label { color: #d9eeff; }.portal-auth-page .input-wrap { display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid #a8dfff4c; border-radius: 11px; background: #ffffff12; }.portal-auth-page .input-wrap > i { color: #6de9f5; font-size: .78rem; }.portal-auth-page .field input { padding: 11px 0; border: 0; background: transparent; }.portal-auth-page .field input:focus { border: 0; box-shadow: none; outline: none; }.portal-auth-page .input-wrap:focus-within { border-color: #69efff; box-shadow: 0 0 0 3px #37dded2b; }.portal-auth-page .field small { display: block; margin-top: 5px; color: #a4c4e1; font-size: .58rem; }.portal-auth-page .method-toggle { border: 1px solid #a8dfff3d; background: #ffffff0d; }.portal-auth-page .method-toggle input:checked + label { background: linear-gradient(90deg, #138ff3, #5143e8); }.portal-auth-page .cta-primary { display: flex; align-items: center; justify-content: space-between; padding: 12px 15px; border-radius: 12px; background: linear-gradient(90deg, #12a7ed, #5141e9); box-shadow: 0 12px 22px #086de855; }.portal-auth-page .cta-primary:hover { transform: translateY(-2px); }.portal-auth-page .cta-primary.is-loading { opacity: .75; pointer-events: none; }.portal-auth-page .cta-primary.is-loading i { animation: buttonSpin .7s linear infinite; }.portal-auth-page .foot-link { color: #a8c5e3; }.portal-auth-page .foot-link a { color: #6ff2ff; }.portal-auth-page .errors { border: 1px solid #ff9baf55; background: #ff4e7020; color: #ffd5dd; }
@keyframes buttonSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .portal-auth-page *, .portal-auth-page::before { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

.portal-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 28px; }.portal-page-heading h1 { margin: 0; color: var(--portal-ink); font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.05em; }.portal-eyebrow { color: var(--portal-blue); font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.portal-surface { border: 1px solid var(--portal-line); border-radius: 22px; background: #fff; box-shadow: 0 16px 36px #173d6c12; }.portal-surface-header { padding: 25px 28px 18px; border-bottom: 1px solid #e7f0f8; }.portal-surface-header h2 { margin: 0 0 6px; color: var(--portal-ink); font-size: 1.5rem; }.portal-surface-header p { margin: 0; color: #6a83a1; font-size: .82rem; }.portal-surface-body { padding: 25px 28px; }
.portal-stepper { display: flex; align-items: center; gap: 0; margin-bottom: 23px; }.portal-step { display: flex; align-items: center; gap: 7px; color: #8aa0bb; font-size: .68rem; font-weight: 800; }.portal-step span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #eaf2fb; }.portal-step.is-active { color: var(--portal-blue); }.portal-step.is-active span { background: var(--portal-blue); color: #fff; box-shadow: 0 0 0 5px #1264e81c; }.portal-step-line { flex: 0 1 70px; height: 1px; margin: 0 9px; background: #d7e5f3; }
.portal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.portal-form-field { display: grid; gap: 7px; }.portal-form-field.is-wide { grid-column: 1 / -1; }.portal-form-field label { color: #28486e; font-size: .75rem; font-weight: 800; }.portal-form-field input, .portal-form-field select, .portal-form-field textarea, .portal-surface input[type="file"] { width: 100%; border: 1px solid #d5e3f1; border-radius: 11px; padding: 11px 13px; background: #fbfdff; color: var(--portal-ink); font: inherit; font-size: .8rem; }.portal-form-field textarea { min-height: 110px; resize: vertical; }.portal-form-field input:focus, .portal-form-field select:focus, .portal-form-field textarea:focus { outline: none; border-color: #50cde4; box-shadow: 0 0 0 3px #50cde42b; }.portal-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 23px; padding-top: 18px; border-top: 1px solid #e7f0f8; }.portal-primary-action, .portal-secondary-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 17px; border-radius: 11px; font-size: .75rem; font-weight: 800; text-decoration: none; cursor: pointer; }.portal-primary-action { border: 0; background: linear-gradient(90deg, #138ff3, #5143e9); color: #fff; box-shadow: 0 9px 18px #1264e833; }.portal-secondary-action { border: 1px solid #cbddec; background: #fff; color: #54708f; }
.portal-checklist { display: grid; gap: 8px; margin-bottom: 24px; padding: 15px; border: 1px solid #d8eaf6; border-radius: 14px; background: #f4fbff; }.portal-checklist h3 { margin: 0 0 4px; color: var(--portal-ink); font-size: .85rem; }.portal-checklist-item { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #dcecf7; color: #496784; font-size: .72rem; }.portal-checklist-item:first-of-type { border-top: 0; }.portal-required { color: #d36b36; font-weight: 800; }.portal-optional { color: #6e8baa; }
.portal-success { text-align: center; padding: 35px; }.portal-success-icon { width: 66px; height: 66px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 50%; background: #dff9ef; color: #0ca77f; font-size: 1.8rem; box-shadow: 0 0 0 9px #dff9ef66; animation: portalSuccessPop .7s ease both; }.portal-success h1 { margin: 0 0 8px; color: var(--portal-ink); font-size: 1.65rem; }.portal-tracking-code { display: inline-block; margin: 10px 0 16px; padding: 10px 15px; border: 1px dashed #75b8e7; border-radius: 10px; background: #eff9ff; color: var(--portal-blue); font-weight: 900; letter-spacing: .08em; }.portal-success p { color: #69809c; font-size: .8rem; }.portal-success-actions { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
@keyframes portalSuccessPop { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
.portal-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.portal-profile-item { padding: 16px; border: 1px solid var(--portal-line); border-radius: 14px; background: #f8fbff; }.portal-profile-item small { display: block; margin-bottom: 5px; color: #7791ad; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }.portal-profile-item strong { color: var(--portal-ink); font-size: .86rem; }
@media (max-width: 700px) { .portal-page-heading { align-items: start; flex-direction: column; }.portal-form-grid, .portal-profile-grid { grid-template-columns: 1fr; }.portal-form-field.is-wide { grid-column: auto; }.portal-surface-header, .portal-surface-body { padding: 20px 17px; }.portal-step { font-size: 0; }.portal-step-line { margin: 0 5px; }.portal-form-actions, .portal-success-actions { flex-direction: column; }.portal-primary-action, .portal-secondary-action { width: 100%; } }