@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Lora:wght@600;700&family=Playfair+Display:wght@600;700&display=swap');

:root { --ink:#061a33; --ink-2:#0d3b66; --paper:#f5f7fa; --line:#dce5ed; --blue:#0b5fa5; --teal:#e85d14; --gold:#f47a20; --muted:#64748b; }
* { box-sizing:border-box; }
html, body.portal-body { min-height:100vh; margin:0; padding:0; background:#061a33; overflow:auto !important; }
body, .portal-body { min-height:100vh; color:var(--ink); background:var(--paper)!important; font-family:'DM Sans',Arial,sans-serif; overflow:auto !important; }
html:has(.abstract-submission-page), body.abstract-submission-page { margin:0!important; padding:0!important; }
body.abstract-submission-page > .navbar { top:0!important; margin-top:0!important; }
.navbar { background:var(--ink)!important; border-bottom:3px solid var(--gold); box-shadow:0 4px 18px rgba(16,42,67,.16)!important; padding:.7rem 0!important; }
.navbar .navbar-brand { display:flex; gap:.55rem; align-items:center; color:#fff!important; font-weight:700; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; color:var(--ink); background:#e6b94e; font-family:'Playfair Display',serif; font-size:1.2rem; }
.navbar .navbar-brand small { color:#e6b94e; font-size:.65em; letter-spacing:.08em; }
.navbar .nav-link { color:rgba(255,255,255,.78)!important; font-weight:600; border-radius:.4rem; padding:.48rem .72rem!important; }
.navbar .nav-link:hover,.navbar .nav-link.active { color:#fff!important; background:rgba(255,255,255,.11); }
.navbar .btn-outline-light { border-radius:.4rem; font-weight:700; }
.portal-hero { color:#fff; background:linear-gradient(120deg,#102a43,#1d4d6d); padding:4rem 0 5.4rem; }
.page-portal-title { margin:0 0 1.8rem; color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:1.3rem; font-weight:700; letter-spacing:.01em; text-align:center; }.page-portal-title span { margin-left:.4rem; color:#e6b94e; font-family:'DM Sans',Arial,sans-serif; font-size:.62em; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.eyebrow { margin:0 0 .45rem; color:var(--teal); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.portal-hero .eyebrow { color:#e6b94e; }
.portal-hero h1 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:700; }
.hero-copy { max-width:38rem; margin:.75rem 0 0; color:#dce7f0; font-size:1.05rem; }
.hero-meta { display:inline-block; padding:.7rem .9rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.17); border-radius:.45rem; color:#e7eef3; font-size:.88rem; }
.portal-content { position:relative; margin-top:-2.3rem; }
.delegate-sidebar { display:none; }
.portal-panel,.quick-card { background:#fff; border:1px solid var(--line); border-radius:.85rem; box-shadow:0 8px 30px rgba(16,42,67,.07); }
.portal-panel { padding:1.7rem; }
.section-heading { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:1.65rem; font-weight:700; }
.status-pill { padding:.45rem .7rem; color:#536577; background:#eef2f5; border-radius:99px; font-size:.78rem; font-weight:800; }
.status-accent { color:#075c5d; background:#dff5f0; }.status-success { color:#17633d; background:#ddf4e8; }
.journey { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; position:relative; }
.journey-progress { height:8px; overflow:hidden; background:#e3eaf0; border-radius:99px; }.journey-progress span { display:block; height:100%; background:linear-gradient(90deg,#f47a20,#0b5fa5); border-radius:inherit; transition:width .35s ease; }
.journey-step { position:relative; z-index:1; padding:.95rem .65rem; color:#708196; text-align:center; }
.journey a.journey-step { display:block; color:inherit; text-decoration:none; cursor:pointer; }
.journey-step:not(:last-child)::after { position:absolute; z-index:-1; top:1.65rem; left:64%; width:72%; height:2px; background:#dce5ed; content:''; }
.journey-step span { display:grid; place-items:center; width:2rem; height:2rem; margin:0 auto .55rem; color:#718096; background:#edf1f4; border-radius:50%; font-weight:800; }
.journey-step strong,.journey-step small { display:block; }.journey-step strong { color:inherit; font-size:.88rem; }.journey-step small { margin-top:.25rem; font-size:.74rem; }
.journey-step.is-complete,.journey-step.is-active { color:var(--ink); }.journey-step.is-complete span { color:#fff; background:var(--teal); }.journey-step.is-active span { color:#fff; background:var(--blue); box-shadow:0 0 0 5px #e2f0fa; }.journey-step.is-complete:not(:last-child)::after { background:var(--teal); }
.next-card,.welcome-card { display:flex; align-items:center; gap:1.2rem; padding:1.55rem 1.7rem; color:#fff; background:linear-gradient(110deg,#126064,#147d7e); border-radius:.85rem; box-shadow:0 12px 28px rgba(20,125,126,.18); }.next-card .eyebrow,.welcome-card .eyebrow { color:#ccece8; }.next-card h2,.welcome-card h2 { margin:0 0 .3rem; font-family:'Playfair Display',Georgia,serif; font-size:1.45rem; font-weight:700; }.next-card p,.welcome-card p { color:#e5f7f4; }.next-card .btn-primary { color:var(--ink)!important; background:#fff!important; border-color:#fff!important; white-space:nowrap; }.next-card .btn-primary:hover { background:#edf9f7!important; }.next-icon,.welcome-icon { display:grid; place-items:center; flex:0 0 3rem; width:3rem; height:3rem; color:#0b5a5b; background:#d7f2ed; border-radius:50%; font-size:1.25rem; }.welcome-card { background:linear-gradient(110deg,#17633d,#24844f); }.welcome-icon { color:#17633d; background:#e4f6e8; }
.quick-card { height:100%; padding:1.5rem; transition:transform .2s ease,box-shadow .2s ease; }.quick-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(16,42,67,.12); }.quick-card h3 { margin:.95rem 0 .55rem; font-family:'Playfair Display',Georgia,serif; font-size:1.2rem; font-weight:700; }.quick-card p { min-height:3rem; margin-bottom:1rem; color:var(--muted); font-size:.92rem; }.quick-card a { color:var(--blue); font-size:.9rem; font-weight:800; text-decoration:none; }.quick-icon { display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:.6rem; font-size:1.1rem; }.quick-icon.blue { color:#1769aa; background:#e3f0fb; }.quick-icon.gold { color:#926a10; background:#fbf1d9; }.quick-icon.teal { color:#096969; background:#ddf3f1; }.muted-link { color:#91a0ad; font-size:.9rem; font-weight:700; }
.dashboard-support-footer { padding:1.25rem 0; color:#dce9f2; background:#061a33; border-top:4px solid #f47a20; font-size:.86rem; }.dashboard-support-footer .container { display:flex; justify-content:space-between; gap:1rem; align-items:center; }.dashboard-support-footer strong { color:#f47a20; }.dashboard-support-links { display:flex; flex-wrap:wrap; gap:1rem; }.dashboard-support-links a { color:#fff; font-weight:700; text-decoration:none; }.dashboard-support-links a:hover { color:#f47a20; }
.academic-card,.dashboard-card,.panel,.container-fluid>.card { overflow:hidden; background:#fff!important; border:1px solid var(--line)!important; border-radius:.85rem!important; box-shadow:0 8px 24px rgba(16,42,67,.07)!important; }
.portal-body .container>.card { overflow:visible; background:#fff!important; border:1px solid var(--line)!important; border-radius:.85rem!important; box-shadow:0 8px 24px rgba(16,42,67,.07)!important; }
.dashboard-header,.academic-header,.bg-oxford { background:var(--ink)!important; border-bottom-color:var(--gold)!important; }.btn-primary,.btn-academic { color:#fff!important; background:var(--blue)!important; border-color:var(--blue)!important; border-radius:.45rem; font-weight:700; }.btn-primary:hover,.btn-academic:hover { background:#12578d!important; border-color:#12578d!important; }.btn-outline-academic { color:var(--blue)!important; border-color:var(--blue)!important; border-radius:.45rem; font-weight:700; }.btn-outline-academic:hover { color:#fff!important; background:var(--blue)!important; }.form-control,.form-select { min-height:2.7rem; border-color:#cfdbe5; border-radius:.45rem; }.form-control:focus,.form-select:focus { border-color:var(--blue); box-shadow:0 0 0 .2rem rgba(23,105,170,.15); }.table-responsive { display:block; width:100%; max-width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:.65rem; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
.table-responsive table { min-width: max-content; width:auto !important; box-sizing:border-box; }
.table-responsive::-webkit-scrollbar { height:8px; }
.table-responsive::-webkit-scrollbar-thumb { background:rgba(6,26,51,.25); border-radius:999px; }
.table thead th { color:var(--ink); background:#edf3f7; font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.text-oxford,.stat-value,.section-title,.fee-badge,.day-header { color:var(--ink)!important; }.bg-gold,.text-warning { color:#986b12!important; }
@media (max-width:767.98px) { .portal-hero { padding:2.8rem 0 4.4rem; }.journey { grid-template-columns:1fr 1fr; }.journey-step:nth-child(2)::after { display:none; }.journey-step { text-align:left; padding:.6rem 0 .6rem 2.5rem; }.journey-step span { position:absolute; left:0; top:.55rem; margin:0; }.journey-step:not(:last-child)::after { display:none; }.next-card,.welcome-card { align-items:flex-start; flex-wrap:wrap; padding:1.3rem; }.next-card .btn,.welcome-card .btn { width:100%; }.quick-card p { min-height:0; } }
@media (max-width:767.98px) { .dashboard-support-footer .container { align-items:flex-start; flex-direction:column; } }
@media (min-width:768px) {
  .delegate-sidebar { display:flex; position:fixed; z-index:1020; top:0; bottom:0; left:0; width:245px; flex-direction:column; padding:90px 16px 20px; color:#d6e2e9; background:var(--ink); box-shadow:3px 0 18px rgba(16,42,67,.16); }
  .portal-body > .navbar { margin-left:245px; }
  .portal-body > main { margin-left:245px; width:calc(100% - 245px); min-width:0; min-height:100vh; padding:2rem 1.5rem 3rem; overflow-x:auto; }
  .portal-body > main .container { max-width:1280px; min-width:0; }
  .sidebar-user { display:flex; gap:.7rem; align-items:center; padding:.75rem; margin-bottom:1.7rem; background:rgba(255,255,255,.09); border-radius:.5rem; }
  .sidebar-avatar { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:var(--ink); background:#e6b94e; border-radius:50%; font-family:'Playfair Display',Georgia,serif; font-weight:700; }
  .sidebar-user strong,.sidebar-user small { display:block; overflow:hidden; max-width:150px; text-overflow:ellipsis; white-space:nowrap; }.sidebar-user strong { color:#fff; font-size:.84rem; }.sidebar-user small { color:#a9bfce; font-size:.71rem; }
  .sidebar-label { margin:0 0 .5rem .75rem; color:#93adbf; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
  .sidebar-nav { display:grid; gap:.25rem; }.sidebar-nav a,.sidebar-footer a { display:flex; gap:.8rem; align-items:center; padding:.7rem .75rem; color:#c4d5df; border-radius:.42rem; font-size:.86rem; font-weight:700; text-decoration:none; }.sidebar-nav a i,.sidebar-footer a i { width:1rem; text-align:center; }.sidebar-nav a:hover,.sidebar-nav a.active { color:#fff; background:rgba(255,255,255,.12); }.sidebar-nav a.active { border-left:3px solid #e6b94e; border-radius:0 .42rem .42rem 0; }.sidebar-footer { padding-top:1rem; margin-top:auto; border-top:1px solid rgba(255,255,255,.13); }.sidebar-footer a:hover { color:#fff; }
}

/* Dashboard sidebar is the primary navigation; it also becomes a slide-out menu on mobile. */
.sidebar-toggle,.mobile-portal-title { display:none; }
.sidebar-brand { display:flex; gap:.55rem; align-items:center; margin-bottom:1.8rem; color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:1.08rem; font-weight:700; text-decoration:none; }
.sidebar-brand span { display:grid; place-items:center; width:32px; height:32px; color:var(--ink); background:#e6b94e; border-radius:50%; font-size:1.2rem; }
.sidebar-brand small { color:#e6b94e; font-family:'DM Sans',Arial,sans-serif; font-size:.65em; letter-spacing:.1em; }
@media (min-width:768px) { .delegate-sidebar { padding-top:25px; } .portal-body > .navbar { margin-left:0; } }
@media (max-width:767.98px) {
  .portal-hero { padding-top:5.4rem; }
  .delegate-sidebar { display:flex; position:fixed; z-index:1050; top:0; bottom:0; left:0; width:260px; flex-direction:column; padding:22px 16px 20px; color:#d6e2e9; background:var(--ink); box-shadow:4px 0 22px rgba(16,42,67,.24); transform:translateX(-110%); transition:transform .25s ease; }
  .sidebar-open .delegate-sidebar { transform:translateX(0); }
  .sidebar-toggle { display:grid; position:fixed; z-index:1070; top:8px; left:16px; place-items:center; width:42px; height:42px; color:#fff; background:var(--ink); border:0; border-bottom:3px solid #e6b94e; border-radius:.42rem; box-shadow:0 5px 16px rgba(16,42,67,.2); transition:left .25s ease; }
  .sidebar-user { display:flex; gap:.7rem; align-items:center; padding:.75rem; margin-bottom:1.7rem; background:rgba(255,255,255,.09); border-radius:.5rem; }
  .sidebar-avatar { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:var(--ink); background:#e6b94e; border-radius:50%; font-family:'Playfair Display',Georgia,serif; font-weight:700; }
  .sidebar-user strong,.sidebar-user small { display:block; }.sidebar-user strong { color:#fff; font-size:.84rem; }.sidebar-user small { color:#a9bfce; font-size:.71rem; }
  .sidebar-label { margin:0 0 .5rem .75rem; color:#93adbf; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
  .sidebar-nav { display:grid; gap:.25rem; }.sidebar-nav a,.sidebar-footer a { display:flex; gap:.8rem; align-items:center; padding:.7rem .75rem; color:#c4d5df; border-radius:.42rem; font-size:.86rem; font-weight:700; text-decoration:none; }.sidebar-nav a.active { color:#fff; background:rgba(255,255,255,.12); border-left:3px solid #e6b94e; border-radius:0 .42rem .42rem 0; }.sidebar-footer { padding-top:1rem; margin-top:auto; border-top:1px solid rgba(255,255,255,.13); }
}

/* Persistent dashboard title: intentionally outside the sidebar so it remains visible on every page position. */
.portal-topbar-title { position:fixed; z-index:1060; top:0; right:0; left:0; height:58px; display:grid; place-items:center; color:#fff; background:rgba(16,42,67,.96); border-bottom:2px solid #e6b94e; box-shadow:0 3px 14px rgba(16,42,67,.18); font-family:'Playfair Display',Georgia,serif; font-size:1.12rem; font-weight:700; text-align:center; }
.portal-topbar-title span { margin-left:.4rem; color:#e6b94e; font-family:'DM Sans',Arial,sans-serif; font-size:.64em; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.portal-hero { padding-top:6.2rem; }
@media (min-width:768px) { .delegate-sidebar { padding-top:82px; } }
@media (max-width:767.98px) { .portal-hero { padding-top:7.2rem; } .delegate-sidebar { padding-top:82px; } .sidebar-user { margin-top:0; } }

/* Shared navigation for the abstract-submission page. */
.submission-sidebar { position:fixed; z-index:1020; top:0; bottom:0; left:0; display:flex; width:245px; flex-direction:column; padding:82px 16px 20px; color:#d6e2e9; background:#061a33; box-shadow:3px 0 18px rgba(6,26,51,.18); }.submission-user { display:flex; gap:.7rem; align-items:center; padding:.75rem; margin-bottom:1.7rem; background:rgba(255,255,255,.09); border-radius:.5rem; }.submission-user>span { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:#061a33; background:#f47a20; border-radius:50%; font-family:'Playfair Display',Georgia,serif; font-weight:700; }.submission-user strong,.submission-user small { display:block; overflow:hidden; max-width:150px; text-overflow:ellipsis; white-space:nowrap; }.submission-user strong { color:#fff; font-size:.84rem; }.submission-user small { color:#a9bfce; font-size:.71rem; }.submission-sidebar>p { margin:0 0 .5rem .75rem; color:#93adbf; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.submission-sidebar nav { display:grid; gap:.25rem; }.submission-sidebar nav a,.submission-signout { display:flex; gap:.8rem; align-items:center; padding:.7rem .75rem; color:#c4d5df; border-radius:.42rem; font-size:.86rem; font-weight:700; text-decoration:none; }.submission-sidebar nav a i,.submission-signout i { width:1rem; text-align:center; }.submission-sidebar nav a:hover,.submission-sidebar nav a.active { color:#fff; background:rgba(255,255,255,.12); }.submission-sidebar nav a.active { border-left:3px solid #f47a20; border-radius:0 .42rem .42rem 0; }.submission-signout { padding-top:1rem; margin-top:auto; border-top:1px solid rgba(255,255,255,.13); }.submission-topbar { position:fixed; z-index:1030; top:0; right:0; left:0; height:58px; display:grid; place-items:center; color:#fff; background:rgba(6,26,51,.98); border-bottom:2px solid #f47a20; box-shadow:0 3px 14px rgba(6,26,51,.18); font-family:'Playfair Display',Georgia,serif; font-size:1.12rem; font-weight:700; text-align:center; }.submission-topbar span { margin-left:.4rem; color:#f47a20; font-family:'DM Sans',Arial,sans-serif; font-size:.64em; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.submission-menu-toggle { display:none; }
body.abstract-submission-page > .container.py-5 { min-height:100vh; padding-top:6.4rem!important; margin-left:245px; }
@media (max-width:767.98px) { .submission-sidebar { z-index:1050; width:260px; padding-top:82px; transform:translateX(-110%); transition:transform .25s ease; }.submission-menu-open .submission-sidebar { transform:translateX(0); }.submission-topbar { left:0; height:64px; padding:0 62px; font-size:1rem; line-height:1.1; }.submission-topbar span { display:block; margin:.18rem 0 0; font-size:.62em; }.submission-menu-toggle { position:fixed; z-index:1070; top:11px; left:12px; display:grid; place-items:center; width:40px; height:40px; color:#fff; background:#061a33; border:0; border-bottom:3px solid #f47a20; border-radius:.42rem; box-shadow:0 5px 16px rgba(6,26,51,.2); }.submission-menu-open { overflow:hidden; } body.abstract-submission-page > .container.py-5 { padding-top:6.8rem!important; margin-left:0; } }

@media (max-width:575.98px) {
  html, body.portal-body { background:#061a33; }
  body.portal-body { background:#061a33!important; }
  .portal-topbar-title { height:64px; padding:0 62px; font-size:1rem; line-height:1.1; }
  .portal-topbar-title span { display:block; margin:.18rem 0 0; font-size:.62em; }
  .sidebar-toggle { top:11px; left:12px; width:40px; height:40px; }
  .portal-hero { padding-top:8.1rem; padding-bottom:4.7rem; }
  .portal-hero h1 { font-size:2.05rem; }
  .hero-copy { font-size:.96rem; }
  .hero-meta { width:100%; font-size:.8rem; }
  .portal-content { margin-top:-1.6rem; }
  .portal-panel { padding:1.25rem; }
  .section-heading { font-size:1.45rem; }
  .journey { gap:.45rem; }
  .journey-step { padding-left:2.35rem; }
  .journey-step strong { font-size:.8rem; }
  .journey-step small { font-size:.68rem; }
  .dashboard-support-footer { padding:1.1rem 0; }
  .dashboard-support-links { display:grid; gap:.5rem; }
}

/* Deep-blue and orange conference palette. */
.portal-hero { background:linear-gradient(120deg,#061a33,#0d3b66); }
.next-card { background:linear-gradient(110deg,#0b3159,#e85d14); }
.welcome-card { background:linear-gradient(110deg,#0b3159,#0b5fa5); }
.next-icon { color:#b94009; background:#ffe2cf; }
.hero-countdown { display:inline-flex; flex-direction:column; min-width:235px; padding:.8rem 1rem; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:.55rem; text-align:left; }.hero-countdown span { color:#f8b65f; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.hero-countdown time { margin:.2rem 0; color:#fff; font-size:1.35rem; }.hero-countdown small { color:#dce9f2; font-size:.72rem; }@media(max-width:991.98px){.hero-countdown{margin-top:.25rem;text-align:left;}}
.deadline-panel { padding:1.4rem 1.6rem; color:#fff; background:linear-gradient(115deg,#061a33,#0d3b66); border-bottom:4px solid #f47a20; border-radius:.85rem; box-shadow:0 10px 26px rgba(6,26,51,.16); }.deadline-heading h2 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:1.35rem; font-weight:700; }.deadline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.15rem; }.deadline-item { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); border-radius:.55rem; }.deadline-item i { margin-right:.5rem; color:#f47a20; }.deadline-item strong,.deadline-item small { display:block; }.deadline-item strong { font-size:.9rem; }.deadline-item small { margin-top:.25rem; color:#cbd8e3; font-size:.76rem; }.countdown { flex:0 0 auto; color:#fff; font-family:'DM Sans',Arial,sans-serif; font-size:1.05rem; font-weight:800; white-space:nowrap; }@media(max-width:767.98px){.deadline-panel{padding:1.25rem;}.deadline-grid{grid-template-columns:1fr;}.deadline-item{align-items:flex-start;flex-direction:column;gap:.45rem;}.countdown{color:#f47a20;}}

/* Conference identity header shared by delegate pages. */
.portal-announcement { position:fixed; z-index:1080; top:0; right:0; left:0; display:flex; align-items:center; min-height:32px; padding:5px 1rem; overflow:hidden; color:#e7f2ff; background:#000; font-size:.72rem; white-space:nowrap; }.announcement-track { display:flex; gap:2.5rem; align-items:center; width:max-content; margin:auto; }.portal-announcement b { color:#f47a20; }.portal-announcement i { color:#fff; }.portal-announcement a { color:#fff; text-decoration:none; }@media(max-width:1100px){.announcement-track{animation:portal-announcement-scroll 26s linear infinite;}}@keyframes portal-announcement-scroll{0%,12%{transform:translateX(0)}88%,100%{transform:translateX(calc(-100% + 100vw - 2rem))}}
.portal-topbar-title,.submission-topbar { display:flex; justify-content:center; align-items:center; padding:0 12rem; }
.portal-title-text { color:#061a33; font-family:'DM Sans',Arial,sans-serif; font-size:1rem; font-weight:800; letter-spacing:.04em; text-align:center; }
.portal-title-text span { margin-left:.35rem; color:#061a33; font-size:inherit; letter-spacing:.04em; text-transform:none; }
.portal-brand { position:absolute; top:5px; display:flex; align-items:center; justify-content:center; width:250px; height:48px; padding:4px 10px; background:#fff; border:2px solid #a93600; border-radius:14px; box-shadow:0 6px 18px rgba(7,22,47,.12); }
.portal-brand img { display:block; width:auto; height:auto; max-width:170px; max-height:40px; object-fit:contain; }.portal-brand-left { left:10px; }.portal-brand-right { right:10px; }
/* Only pages that render the announcement bar need room beneath it.  Admin
   and reviewer screens do not render that bar, so applying this offset there
   created an empty strip above the header. */
body:has(.portal-announcement) .portal-topbar-title,
body:has(.portal-announcement) .submission-topbar { top:32px; }
body:has(.portal-announcement) .delegate-sidebar { padding-top:106px!important; }
body:has(.portal-announcement) .delegate-sidebar .sidebar-user,
body:has(.portal-announcement) .submission-sidebar .submission-user { display:none; }
body:has(.portal-announcement) .submission-sidebar { padding-top:106px; }
body:has(.portal-announcement).abstract-submission-page > .container.py-5 { padding-top:8.4rem!important; }
body:has(.portal-announcement) .profile-shell { padding-top:8.4rem; }
body:has(.portal-announcement) .portal-hero { padding-top:5.7rem; }
@media (min-width:768px) { body.dashboard-page > main { padding:0; } }
@media (min-width:768px) { body.dashboard-page .portal-hero > .container,body.dashboard-page .portal-hero > .container-fluid { padding-right:1.5rem; padding-left:1.5rem; } }

/* Standalone admin pages begin with content rather than a hero section. Keep
   their first controls clear of the fixed portal header and fully scrollable. */
body.portal-body > main.container { padding-top:6rem !important; padding-bottom:3rem; }
@media (max-width:767.98px) { .portal-announcement { min-height:30px; font-size:.62rem; line-height:1.2; }.announcement-track { gap:1.25rem; margin:0; padding-right:1rem; white-space:nowrap; will-change:transform; animation:portal-announcement-scroll 34s linear infinite; }.portal-topbar-title,.submission-topbar { top:30px; height:64px; padding:0 56px; }.portal-title-text { font-size:.82rem; line-height:1.1; }.portal-title-text span { display:block; margin:.12rem 0 0; }.portal-brand { display:none; }.delegate-sidebar,.submission-sidebar { padding-top:112px!important; }.sidebar-toggle,.submission-menu-toggle { top:42px!important; }body.abstract-submission-page > .container.py-5 { padding-top:8.8rem!important; }.profile-shell { padding-top:8.8rem; }.portal-hero { padding-top:5.9rem; } }
.welcome-icon { color:#0b5fa5; background:#d9ecfb; }
.quick-icon.gold { color:#bd470b; background:#ffe5d3; }
.quick-icon.teal { color:#b94009; background:#ffe9dc; }
.status-accent { color:#b94009; background:#ffe8da; }
.status-success { color:#0b5fa5; background:#dceefb; }
.journey-step.is-complete span { background:#e85d14; }
.journey-step.is-complete:not(:last-child)::after { background:#e85d14; }
.portal-topbar-title,.submission-topbar { background:#c8c7c7ba; border-bottom-color:#a93600; backdrop-filter:blur(10px); }
.portal-topbar-title span,.sidebar-brand small { color:#f47a20; }
.sidebar-avatar,.brand-mark,.sidebar-brand span { background:#f47a20; }
.sidebar-toggle { border-bottom-color:#f47a20!important; }
.sidebar-nav a.active { border-left-color:#f47a20!important; }
.portal-topbar-title .portal-title-text,.submission-topbar .portal-title-text,.portal-topbar-title .portal-title-text span,.submission-topbar .portal-title-text span { color:#061a33!important; }

/* Dashboard palette: indigo, gold, and ivory. */
body.portal-body { --ink:#1e2a5a; --paper:#fffdf7; --gold:#d4a017; --blue:#3155a6; background:#fffdf7!important; }
body.portal-body .delegate-sidebar,body.portal-body .portal-topbar-title { background:#1e2a5a!important; }
body.portal-body .portal-topbar-title { border-bottom-color:#d4a017!important; }
body.portal-body .portal-topbar-title .portal-title-text,body.portal-body .portal-topbar-title .portal-title-text span { color:#fff!important; }
body.portal-body .portal-hero { background:linear-gradient(120deg,#1e2a5a,#344680); }
body.portal-body .portal-hero .eyebrow,body.portal-body .eyebrow { color:#d4a017; }
body.portal-body .sidebar-nav a.active { border-left-color:#d4a017!important; }
body.portal-body .sidebar-avatar { background:#d4a017; }
body.portal-body .journey-step.is-complete span,body.portal-body .journey-step.is-complete:not(:last-child)::after { background:#d4a017; }
body.portal-body .journey-step.is-active span { background:#3155a6; }
body.portal-body .quick-icon.gold { color:#8a6500; background:#fbf1d2; }
body.portal-body .dashboard-support-footer { background:#061a33; border-top-color:#d4a017; }
body.portal-body .journey-step.is-complete span,body.portal-body .journey-step.is-complete:not(:last-child)::after,body.portal-body .journey-progress.is-complete span { background:#2f855a!important; }
body.portal-body .status-success { color:#1d5a3a!important; background:#ddf4e8!important; }
body.portal-body .welcome-profile { display:block; }.welcome-identity { display:flex; gap:1.15rem; align-items:center; }
body.portal-body .welcome-profile { display:block!important; }
.welcome-user .welcome-conference-id { margin-top:.35rem; color:#fff; font-size:.75rem; }.welcome-user .welcome-conference-id i { color:#f47a20; }.welcome-user .welcome-conference-id strong { display:inline; color:#fff; font-family:'DM Sans',Arial,sans-serif; font-size:inherit; }

/* Use one deep-blue foundation for every portal blue surface. */
:root { --ink:#061a33; --ink-2:#061a33; --blue:#061a33; }
.portal-hero,.deadline-panel,.next-card,.welcome-card { background:#061a33!important; }
.registration-choice-card { align-items:center; flex-direction:column; color:#061a33!important; background:#fff!important; border:1px solid #dbe4eb; border-top:3px solid #d4a017; box-shadow:0 6px 18px rgba(6,26,51,.05); text-align:center; }
.registration-choice-card .registration-card-label { display:flex; gap:.7rem; align-items:center; }
.registration-card-badge { display:inline-block; padding:.28rem .55rem; color:#8a6500; background:#fff4c8; border:1px solid #d4a017; border-radius:999px; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.registration-choice-card .next-icon { margin-bottom:.1rem; color:#1769aa; background:#e3f0fb; }
.registration-choice-card .eyebrow { color:#a36d00!important; }
.registration-choice-card h2 { color:#061a33!important; }
.registration-choice-card p { color:#64748b!important; }
.registration-choice-card .btn { align-self:center; margin-top:auto!important; margin-left:0!important; }
.registration-choice-card .btn-primary { padding:.55rem .9rem!important; color:#fff!important; background:#061a33!important; border:1px solid #d4a017!important; box-shadow:none!important; }
.registration-choice-card .btn-primary:hover { color:#061a33!important; background:#d4a017!important; }
.registration-choice-card .btn-outline-light { color:#061a33!important; border:0!important; padding:0!important; }
.registration-choice-disabled { display:inline-block; align-self:center; margin-top:auto; color:#94a3b8; font-size:.88rem; font-weight:800; }
body.dashboard-page .portal-content { margin-top:1.25rem; }
@media (max-width:767.98px) { body.dashboard-page .portal-content { margin-top:1rem; } }
.portal-topbar-title,.submission-topbar,.delegate-sidebar,.submission-sidebar { background:#061a33!important; }
.abstract-head,.profile-card-header { background:#061a33!important; }
body.portal-body { --ink:#061a33; --blue:#061a33; }
body.portal-body .delegate-sidebar,body.portal-body .portal-topbar-title,body.portal-body .portal-hero { background:#061a33!important; }
body.portal-body .delegate-sidebar { border-right:3px solid #d4a017; }
body.portal-body .delegate-sidebar { border-right-color:#FFCF5E; }
body.portal-body .portal-topbar-title { background:#c8c7c7ba!important; border-bottom-color:#FFCF5E!important; }
body.portal-body .portal-topbar-title .portal-title-text,body.portal-body .portal-topbar-title .portal-title-text span { color:#061a33!important; }
body.dashboard-page .portal-topbar-title { background:#c8c7c7ba!important; }
body.dashboard-page .portal-topbar-title .portal-title-text,body.dashboard-page .portal-topbar-title .portal-title-text span { color:#061a33!important; }
body.portal-body .portal-page-hero { padding:6.25rem 0 3rem; background:#061a33!important; }
body.portal-body .portal-page-hero h1 { margin:0; color:#fff; font-family:'Lora',Georgia,serif; font-size:clamp(1.45rem,2.4vw,2rem); font-weight:700; }
body.portal-body .portal-page-hero .hero-copy { max-width:44rem; margin:.45rem 0 0; color:#dce9f2; font-size:.95rem; }
body.portal-body .portal-page-hero .eyebrow { color:#d4a017; }
@media (min-width:768px) {
  body.portal-body > .portal-page-hero { width:calc(100% - 245px); margin-left:245px; }
  body.portal-body > .portal-page-hero > .container,
  body.portal-body > .portal-page-hero > .container-fluid {
    box-sizing:border-box;
    width:100%;
    max-width:1280px;
    margin-right:0;
    margin-left:0;
    padding-right:2rem;
    padding-left:2rem;
  }
}
@media (max-width:767.98px) { body.portal-body .portal-page-hero { padding:5.4rem 1rem 2.1rem; } }
body.portal-body .welcome-profile { display:flex; gap:1.15rem; align-items:flex-start; }.welcome-avatar { display:grid; place-items:center; flex:0 0 4.8rem; width:4.8rem; height:4.8rem; color:#1e2a5a; background:#d4a017; border:5px solid rgba(255,255,255,.18); border-radius:50%; font-size:2rem; }.welcome-message { margin-top:1rem; }.welcome-message h1 { font-size:1.25rem; }.welcome-kicker { margin:0; color:#ead78e; font-size:.76rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.welcome-profile .hero-copy { margin:.35rem 0 .65rem; }.welcome-user strong,.welcome-user span,.welcome-user small { display:block; }.welcome-user strong { color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:1.08rem; }.welcome-user span,.welcome-user small { margin-top:.12rem; color:#dce9f2; font-size:.78rem; }.welcome-user b { display:inline-block; padding:.16rem .45rem; margin-left:.45rem; color:#fff; background:#2f855a; border-radius:.3rem; font-size:.67rem; }@media(max-width:575.98px){body.portal-body .welcome-profile{align-items:flex-start;gap:.85rem}.welcome-avatar{flex-basis:3.6rem;width:3.6rem;height:3.6rem;font-size:1.4rem}.welcome-message{margin-top:.7rem}.welcome-message h1{font-size:1.05rem}.welcome-user b{margin:.35rem 0 0}.welcome-profile .hero-copy{font-size:.9rem}}
body.portal-body .dashboard-welcome-message { margin-top:0; text-align:left; }.dashboard-welcome-message .hero-copy { margin:.35rem 0 .8rem; font-size:.9rem; white-space:nowrap; }.dashboard-welcome-message h1 { font-family:'Lora',Georgia,serif; font-size:clamp(1.05rem,1.45vw,1.3rem); }@media(max-width:991.98px){body.portal-body .dashboard-welcome-message{text-align:left;margin-top:1.5rem}.dashboard-welcome-message .hero-copy{margin-left:0;white-space:normal;}}
body.dashboard-page .welcome-identity { flex-direction:row-reverse; }
body.dashboard-page .mobile-header-logo { display:none; }
body.dashboard-page .delegate-sidebar { border-right:3px solid #d4a017; }
body.dashboard-page .portal-content { margin-top:-3.8rem; }
body.dashboard-page .quick-card { position:relative; display:flex; flex-direction:column; min-height:190px; height:190px; padding:1.25rem 1.55rem; border:1px solid #dbe4eb; border-top:3px solid #d4a017; border-radius:.65rem; box-shadow:0 6px 18px rgba(6,26,51,.05); }
body.dashboard-page .quick-card:hover { transform:translateY(-2px); box-shadow:0 11px 24px rgba(6,26,51,.1); }
body.dashboard-page .quick-card h3 { margin:.9rem 0 .45rem; font-size:1.14rem; }
body.dashboard-page .quick-card p { min-height:0; margin-bottom:.8rem; color:#65788d; font-size:.86rem; line-height:1.5; }
body.dashboard-page .quick-card a,body.dashboard-page .quick-card .muted-link { display:inline-flex; align-items:center; min-height:2rem; margin-top:auto; font-size:.8rem; font-weight:800; letter-spacing:.01em; }
body.dashboard-page .quick-card a { color:#061a33; }
body.dashboard-page .quick-card a:hover { color:#8a6500; }
body.dashboard-page .quick-card .muted-link { color:#8493a3; }
/* Formal registration progress panel on the delegate dashboard. */
body.dashboard-page .registration-progress-panel { padding:1.5rem 1.7rem 1.3rem; border:1px solid #d8e2ea; border-top:3px solid #d4a017; border-radius:.65rem; box-shadow:0 7px 22px rgba(6,26,51,.06); }
body.dashboard-page .registration-progress-heading { padding-bottom:1rem; margin-bottom:1rem!important; border-bottom:1px solid #e3eaf0; }
body.dashboard-page .registration-label { margin:0 0 .25rem; color:#8a6500; font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
body.dashboard-page .registration-progress-panel .section-heading { font-size:1.5rem; }
body.dashboard-page .registration-progress-panel .status-pill { padding:.38rem .7rem; border:1px solid #dce5ec; background:#f3f6f8; font-size:.7rem; letter-spacing:.02em; text-transform:uppercase; }
body.dashboard-page .registration-progress-panel .journey-progress { height:4px; margin-bottom:1rem!important; background:#e8eef3; }
body.dashboard-page .registration-progress-panel .journey { gap:.5rem; }
body.dashboard-page .registration-progress-panel .journey-step { padding:.5rem .35rem .25rem; }
body.dashboard-page .registration-progress-panel .journey-step span { width:2.15rem; height:2.15rem; margin-bottom:.45rem; border:2px solid #e5ebf0; background:#f4f7f9; font-size:.82rem; }
body.dashboard-page .registration-progress-panel .journey-step:not(:last-child)::after { top:1.56rem; left:62%; width:76%; height:1px; }
body.dashboard-page .registration-progress-panel .journey-step strong { font-size:.83rem; letter-spacing:.01em; }
body.dashboard-page .registration-progress-panel .journey-step small { color:#718096; font-size:.7rem; }
body.dashboard-page .registration-progress-panel .journey-step.is-active span { border-color:#d8e4fb; box-shadow:0 0 0 4px #edf3fd; }
@media (max-width:767.98px) { body.dashboard-page .registration-progress-panel { padding:1.25rem; } body.dashboard-page .registration-progress-panel .journey-step:not(:last-child)::after { display:none; } }
/* Delegate dashboard: compact, touch-friendly layout for tablets and phones. */
@media (max-width:991.98px) {
  body.dashboard-page .portal-hero { padding-bottom:3.2rem; }
  body.dashboard-page .welcome-profile { margin-top:.2rem; }
  body.dashboard-page .hero-countdown { width:min(100%,20rem); }
}
@media (min-width:768px) {
  body.dashboard-page .portal-hero { padding:6.25rem 0 3.25rem; }
  body.dashboard-page .portal-content { margin-top:-2.5rem; }
  body.dashboard-page .registration-progress-panel { padding:1.1rem 1.45rem .95rem; }
  body.dashboard-page .registration-progress-heading { padding-bottom:.7rem; margin-bottom:.7rem!important; }
  body.dashboard-page .registration-progress-panel .journey-progress { margin-bottom:.65rem!important; }
  body.dashboard-page .registration-progress-panel .journey-step { padding:.25rem .2rem .1rem; }
  body.dashboard-page .registration-progress-panel .journey-step span { margin-bottom:.3rem; }
}
@media (max-width:767.98px) {
  body.portal-body .portal-title-text .portal-separator { display:none!important; }
  body.portal-body .portal-title-text .portal-event { display:inline!important; margin-left:.2rem!important; }
  body.portal-body .mobile-header-logo { display:none; }
  body.dashboard-page .portal-topbar-title { padding-right:5.6rem; padding-left:3.8rem; }
  body.dashboard-page .portal-brand.portal-brand-right { position:absolute; top:11px; right:11px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; overflow:hidden; background:#fff; border:1px solid #d94f00; border-radius:50%; }
  body.dashboard-page .portal-brand.portal-brand-right .desktop-header-logo { display:none; }
  body.dashboard-page .portal-brand.portal-brand-right .mobile-header-logo { display:block; width:220%; height:220%; max-width:none; max-height:none; object-fit:contain; }
  body.dashboard-page .delegate-sidebar { border-right-color:transparent; }
  body.dashboard-page.sidebar-open .delegate-sidebar { border-right-color:#d4a017; }
  body.dashboard-page .portal-announcement { min-height:28px; padding:4px .65rem; font-size:.6rem; }
  body.dashboard-page .announcement-track { gap:1.15rem; padding-right:1rem; animation-duration:34s; }
  body.dashboard-page .portal-topbar-title { top:28px; height:60px; }
  body.dashboard-page .portal-topbar-title .portal-title-text { position:absolute; left:50%; width:calc(100% - 8.5rem); transform:translateX(-50%); text-align:center; }
  body.dashboard-page .sidebar-toggle { top:38px!important; }
  body.dashboard-page .portal-hero { padding-top:5.55rem; padding-bottom:2.65rem; }
  body.dashboard-page .portal-hero .row { --bs-gutter-y:.3rem; }
  body.dashboard-page .portal-hero > .container,body.dashboard-page .portal-hero > .container-fluid,body.dashboard-page .portal-content { padding-right:1rem; padding-left:1rem; }
  body.dashboard-page .portal-content { margin-top:-1.8rem; }
  body.dashboard-page .welcome-message { margin-top:0; }
  body.dashboard-page .dashboard-welcome-message { text-align:center; }
  body.dashboard-page .dashboard-welcome-message .hero-copy { margin-right:auto; margin-left:auto; }
  body.dashboard-page .welcome-identity { flex-direction:row; }
  body.dashboard-page .welcome-message h1 { font-size:1.12rem; line-height:1.25; }
  body.dashboard-page .dashboard-welcome-message .hero-copy { margin-bottom:.35rem; font-size:.88rem; line-height:1.55; }
  body.dashboard-page .portal-hero .col-lg-5.d-flex { display:block!important; text-align:center; }
  body.dashboard-page .welcome-profile { display:inline-flex!important; width:auto!important; margin-top:0; }
  body.dashboard-page .welcome-identity { display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; gap:.45rem; text-align:center; }
  body.dashboard-page .welcome-user { text-align:center; }
  body.dashboard-page .welcome-user b { margin-left:.3rem; }
  body.dashboard-page .welcome-avatar { flex-basis:3.8rem; width:3.8rem; height:3.8rem; border-width:4px; font-size:1.55rem; }
  body.dashboard-page .welcome-user strong { font-size:1rem; }
  body.dashboard-page .welcome-user span,body.dashboard-page .welcome-user small { font-size:.73rem; }
  body.dashboard-page .welcome-conference-id { margin-top:.22rem; }
  body.dashboard-page .welcome-conference-id strong { font-family:'DM Sans',Arial,sans-serif; font-size:.76rem; font-weight:800; }
  body.dashboard-page .hero-countdown { width:100%; margin-top:0; padding:.65rem .85rem; }
  body.dashboard-page .hero-countdown time { font-size:1.22rem; }
  body.dashboard-page .registration-progress-panel .registration-progress-heading { align-items:flex-start!important; }
  body.dashboard-page .registration-progress-panel .status-pill { margin-top:.1rem; }
  body.dashboard-page .registration-progress-panel .journey { grid-template-columns:1fr; gap:.15rem; }
  body.dashboard-page .registration-progress-panel .journey-step { min-height:3.2rem; padding:.6rem .2rem .6rem 3.1rem; text-align:left; }
  body.dashboard-page .registration-progress-panel .journey-step span { top:.55rem; left:.25rem; width:2rem; height:2rem; margin:0; }
  body.dashboard-page .registration-progress-panel .journey-step strong { font-size:.82rem; }
  body.dashboard-page .registration-progress-panel .journey-step small { margin-top:.12rem; }
  body.dashboard-page .quick-card { min-height:0; height:auto; padding:1.3rem; }
  body.dashboard-page .quick-card p { min-height:0; margin-bottom:.85rem; }
  body.dashboard-page .dashboard-support-footer { padding:1rem; }
  body.dashboard-page .dashboard-support-footer .container { gap:.65rem; }
}

/* Mobile identity logo for every delegate page. */
@media (max-width:767.98px) {
  body.portal-body .portal-brand.portal-brand-right { position:absolute; top:11px; right:11px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; overflow:hidden; background:#fff; border:1px solid #d94f00; border-radius:50%; }
  body.portal-body .portal-brand.portal-brand-right .desktop-header-logo { display:none; }
  body.portal-body .portal-brand.portal-brand-right .mobile-header-logo { display:block; width:220%; height:220%; max-width:none; max-height:none; object-fit:contain; }
  body.portal-body .portal-topbar-title { padding-right:5.6rem; padding-left:3.8rem; }
  body.portal-body .portal-topbar-title .portal-title-text { position:absolute; left:50%; width:calc(100% - 8.5rem); transform:translateX(-50%); text-align:center; }
}

/* The compact header sits at the document top when no announcement exists. */
@media (max-width:767.98px) {
  body.portal-body:not(:has(.portal-announcement)) .portal-topbar-title { top:0; }
  body.portal-body:not(:has(.portal-announcement)) .delegate-sidebar { padding-top:82px!important; }
  body.portal-body:not(:has(.portal-announcement)) .sidebar-toggle { top:11px!important; }
}

/* Admin portal rebuild: scoped so the participant portal retains its original design. */
body.admin-portal { --admin-navy:#10213d; --admin-blue:#2f6fed; --admin-page:#f4f7fb; --admin-text:#17243b; --admin-muted:#69788e; background:var(--admin-page)!important; color:var(--admin-text); }
body.admin-portal .delegate-sidebar { display:flex; flex-direction:column; width:264px; padding:24px 14px 18px!important; background:var(--admin-navy)!important; border-right:0!important; box-shadow:10px 0 34px rgba(16,33,61,.08); }
.admin-sidebar-brand { display:flex; gap:10px; align-items:center; padding:0 10px 24px; color:#fff; font-size:1.05rem; font-weight:800; letter-spacing:.02em; text-decoration:none; }
.admin-sidebar-brand img { display:block; width:36px; height:36px; object-fit:cover; border:2px solid rgba(255,255,255,.85); border-radius:10px; }
.admin-sidebar-brand small { display:block; margin-top:1px; color:#98a9cb; font-size:.62rem; font-weight:700; letter-spacing:.12em; }
body.admin-portal .sidebar-user { gap:10px; padding:14px 10px; margin-bottom:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:12px; }
body.admin-portal .sidebar-avatar { display:grid; place-items:center; width:36px; height:36px; color:var(--admin-navy); background:#d9e5ff; border-radius:10px; font-size:.85rem; font-weight:800; }
body.admin-portal .sidebar-user strong { color:#fff; font-size:.82rem; } body.admin-portal .sidebar-user small { color:#aebbd4; }
body.admin-portal .sidebar-nav { gap:5px; } body.admin-portal .sidebar-nav a { display:flex; gap:12px; align-items:center; padding:11px 12px; color:#b8c5dc; border:0!important; border-radius:9px; font-size:.86rem; font-weight:700; transition:background .18s,color .18s; }
body.admin-portal .sidebar-nav a:hover,body.admin-portal .sidebar-nav a.active { color:#fff; background:rgba(75,130,255,.28); }
body.admin-portal .sidebar-nav a i { width:18px; color:#95b7ff; text-align:center; } body.admin-portal .sidebar-nav a.active i { color:var(--admin-gold); }
body.admin-portal .sidebar-footer { padding:14px 10px 0; margin-top:auto; border-top:1px solid rgba(255,255,255,.1); } body.admin-portal .sidebar-footer a { color:#b8c5dc; font-size:.82rem; font-weight:700; text-decoration:none; }
/* Legacy admin pages use the same identity without depending on page-root image paths. */
body.admin-portal .delegate-sidebar:not(:has(.admin-sidebar-brand))::before { display:block; width:36px; height:36px; margin:0 10px 18px; background:url('../../assets/images/favicon.png?v=20260802') center/cover no-repeat; border:2px solid rgba(255,255,255,.85); border-radius:10px; content:''; }
body.admin-portal .portal-brand { display:none!important; }
body.admin-portal .portal-topbar-title { display:flex; justify-content:flex-end; align-items:center; height:72px; padding:0 32px; background:rgba(255,255,255,.94)!important; border-bottom:1px solid #e5eaf2!important; box-shadow:none!important; backdrop-filter:blur(12px); }
body.admin-portal .portal-title-text { position:absolute; left:50%; color:var(--admin-text)!important; font-size:.98rem; font-weight:800; letter-spacing:.01em; text-align:center; transform:translateX(-50%); } body.admin-portal .portal-title-text strong { margin-left:8px; color:var(--admin-blue); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.topbar-eyebrow { display:block; color:var(--admin-muted)!important; font-family:inherit!important; font-size:.64rem!important; font-weight:800!important; letter-spacing:.11em; text-transform:uppercase; }
.topbar-actions a { display:flex; gap:8px; align-items:center; padding:8px 11px; color:var(--admin-text); background:#f4f7fb; border:1px solid #e3e9f2; border-radius:8px; font-size:.78rem; font-weight:800; text-decoration:none; }
body.admin-portal > main.container { width:calc(100% - 264px); max-width:none; min-height:calc(100vh - 72px); padding:108px 32px 42px!important; margin-left:264px; }
/* Users and Payments retain a dashboard-header/content pair rather than a main element. */
body.admin-portal > .dashboard-header { width:calc(100% - 264px)!important; padding:104px 32px 76px!important; margin:0 0 -42px 264px!important; background:linear-gradient(135deg,#10213d 0%,#173662 100%)!important; border-bottom:0!important; }
body.admin-portal > .container.py-5 { width:calc(100% - 264px); max-width:none; padding:32px!important; margin-left:264px!important; }
body.admin-portal .portal-hero { padding:112px 0 84px; background:linear-gradient(135deg,#10213d 0%,#173662 100%)!important; } body.admin-portal .portal-content { max-width:1260px; margin-top:-48px; }
body.admin-portal .portal-panel,body.admin-portal .quick-card,body.admin-portal .card { border:1px solid #e4eaf2!important; border-radius:14px!important; box-shadow:0 5px 20px rgba(16,33,61,.05)!important; }
body.admin-portal .portal-panel { padding:24px; } body.admin-portal .quick-card { display:grid; grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto auto; column-gap:11px; align-content:center; min-height:92px; padding:14px 16px; } body.admin-portal .quick-card .quick-icon { grid-row:1 / span 2; align-self:center; } body.admin-portal .quick-card h3 { margin:0 0 .18rem; font-family:inherit; font-size:.76rem; color:var(--admin-muted); white-space:nowrap; } body.admin-portal .quick-card p { min-height:0; margin:0!important; font-size:1.32rem!important; color:var(--admin-text)!important; } body.admin-portal .quick-icon { width:32px; height:32px; font-size:.82rem; }
body.portal-body .account-summary-list { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:19px 24px; background:#fff; border-top:1px solid #dfe6f0; border-bottom:1px solid #dfe6f0; }
body.portal-body .account-summary-list .section-heading { font-size:1.15rem; } body.portal-body .account-summary-list ul { display:flex; gap:0; padding:0; margin:0; list-style:none; } body.portal-body .account-summary-list li { display:flex; gap:18px; align-items:center; min-width:155px; padding:4px 22px; border-left:1px solid #e7ecf3; } body.portal-body .account-summary-list li:first-child { border-left:0; } body.portal-body .account-summary-list li button { display:flex; gap:18px; align-items:center; padding:0; color:inherit; background:transparent; border:0; text-align:left; } body.portal-body .account-summary-list li button:hover span,body.portal-body .account-summary-list li button:hover strong { color:var(--admin-blue); } body.portal-body .account-summary-list span { color:var(--admin-muted); font-size:.8rem; font-weight:700; white-space:nowrap; } body.portal-body .account-summary-list span i { width:17px; margin-right:5px; color:var(--admin-blue); } body.portal-body .account-summary-list strong { color:var(--admin-text); font-size:1.25rem; }
body.portal-body .account-directory { margin:-.5rem 0 1.5rem; } body.portal-body .account-list-panel { padding:22px 24px; background:#fff; border:1px solid #e4eaf2; border-radius:12px; box-shadow:0 5px 20px rgba(16,33,61,.05); }
body.admin-portal .quick-icon { width:32px; height:32px; border-radius:8px; font-size:.82rem; } body.admin-portal .section-heading { color:var(--admin-text); font-family:inherit; font-size:1.35rem; }
body.admin-portal .eyebrow { color:var(--admin-blue)!important; } body.admin-portal .btn-primary { background:var(--admin-blue)!important; border-color:var(--admin-blue)!important; box-shadow:0 3px 8px rgba(47,111,237,.18); } body.admin-portal .btn-outline-academic { color:var(--admin-blue)!important; border-color:#bdd0fa!important; }
body.admin-portal .table { --bs-table-bg:transparent; } body.admin-portal .table thead th { padding:.85rem 1rem; color:var(--admin-muted); background:#f7f9fc; border-bottom:1px solid #e5eaf2; font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; } body.admin-portal .table tbody td { padding:1rem; border-color:#edf0f5; }
body.admin-portal .status-pill { padding:.35rem .62rem; border-radius:999px; font-size:.7rem; } body.admin-portal .sidebar-toggle { z-index:1050; color:#fff; background:var(--admin-navy); border:0!important; border-radius:9px; box-shadow:0 3px 12px rgba(16,33,61,.2); }
body.admin-portal .table form.d-flex { min-width:220px; } body.admin-portal .table .form-select { border-color:#dfe6f0; font-size:.82rem; } body.admin-portal .table .btn-sm { white-space:nowrap; }
@media (min-width:768px) { body.admin-portal .portal-topbar-title { left:264px; width:calc(100% - 264px); } body.admin-portal > main > .container { max-width:1260px; } }
@media (max-width:767.98px) { body.portal-body .delegate-sidebar { width:264px; } body.portal-body .portal-topbar-title { height:64px; padding:0 18px 0 62px; } body.portal-body .portal-title-text strong,.topbar-actions span { display:none; } body.portal-body > main.container { width:100%; padding:92px 16px 28px!important; margin-left:0; } body.portal-body > .dashboard-header { width:100%!important; padding:88px 16px 58px!important; margin:0 0 -26px!important; } body.portal-body > .container.py-5 { width:100%; padding:20px 16px 28px!important; margin-left:0!important; } body.portal-body .portal-hero { padding:88px 0 62px; } body.portal-body .portal-content { margin-top:-32px; } body.portal-body .account-summary-list { display:block; padding:18px; } body.portal-body .account-summary-list ul { display:block; margin-top:14px; } body.portal-body .account-summary-list li { justify-content:space-between; min-width:0; padding:11px 0; border-top:1px solid #e7ecf3; border-left:0; } body.portal-body .table form.d-flex { min-width:190px; flex-wrap:wrap; } body.portal-body .table form.d-flex .form-select { flex:1 1 100%; } }

/* Restore the participant dashboard's original mobile spacing. */
@media (max-width:767.98px) { body.dashboard-page .portal-hero { padding-top:5.55rem; padding-bottom:2.65rem; } body.dashboard-page .portal-content { margin-top:-1.8rem; } }
