/* IPCRO 2026 Symposium — polished public and dedicated-admin design system. */
body {
  font-family: 'Montserrat', 'Avenir Next', Avenir, system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #24384b;
  background: #f4f8fb;
}
.symposium-shell {
  --sym-blue: #005b96;
  --sym-blue-dark: #073653;
  --sym-teal: #00a6a6;
  --sym-green: #7bc043;
  --sym-ink: #24384b;
  --sym-muted: #687b8d;
  --sym-line: #e2eaf0;
  --sym-soft: #f5f9fc;
  color: var(--sym-ink);
  line-height: 1.65;
}
.symposium-shell h1,.symposium-shell h2,.symposium-shell h3,.symposium-shell h4,.symposium-shell h5 {
  color: var(--sym-blue-dark);
  font-family: 'Montserrat', 'Avenir Next', Avenir, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
}
.symposium-shell .text-muted { color: var(--sym-muted) !important; }
.symposium-shell.container-fluid { max-width: 1680px; padding-right: clamp(1rem,2.4vw,2.5rem); padding-left: clamp(1rem,2.4vw,2.5rem); }

/* Photo-led public hero */
.symposium-hero {
  position: relative;
  isolation: isolate;
  min-height: 420px;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg,#005b96 0%,#003d68 68%,#00a6a6 100%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,49,80,.2);
}
.symposium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,rgba(0,28,53,.94) 0%,rgba(0,45,76,.83) 55%,rgba(0,55,72,.34) 100%);
}
.symposium-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.symposium-hero-content { position:relative; z-index:1; width:100%; max-width:860px; animation:symposium-rise .65s ease-out both; }
.symposium-hero h1,.symposium-hero h2,.symposium-hero p { color:#fff; }
.symposium-hero h1 { max-width:820px; font-size:clamp(2rem,4.2vw,3.55rem); line-height:1.1; }
.symposium-hero .lead { max-width:760px; line-height:1.7; }
.symposium-hero .symposium-eyebrow { color:#c7f7f1; }
.symposium-page-hero {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:238px;
  padding:2.3rem 0;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(115deg,#005b96 0%,#003d68 70%,#008c91 100%);
}
.symposium-page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,31,58,.91),rgba(0,48,79,.78) 60%,rgba(0,55,74,.42)); }
.symposium-page-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.symposium-page-hero .container { position:relative; z-index:1; animation:symposium-rise .5s ease-out both; }
.symposium-page-hero h1 { color:#fff; font-size:clamp(1.75rem,3vw,2.7rem); line-height:1.13; margin-bottom:.5rem; }
.symposium-page-hero p { color:#f0fbff; }
.symposium-admin-hero {
  position:relative;
  isolation:isolate;
  min-height:178px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0 0 1.35rem;
  padding:1.5rem clamp(1.25rem,3vw,2.25rem);
  border:1px solid rgba(255,255,255,.18);
  border-radius:1.1rem;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(110deg,#005b96 0%,#003d68 70%,#008c91 100%);
  font-size:1.08rem;
  box-shadow:0 18px 48px rgba(0,49,80,.18);
}
.symposium-admin-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,27,51,.92),rgba(0,44,76,.8) 64%,rgba(0,55,72,.36)); }
.symposium-admin-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.symposium-admin-hero strong { display:block; max-width:780px; font-size:clamp(1.35rem,2.5vw,2rem); font-weight:800; line-height:1.25; }
.symposium-eyebrow { letter-spacing:.13em; text-transform:uppercase; font-weight:700; font-size:.75rem; color:#d5f3f2; }

/* Cards and information hierarchy */
.symposium-date-card,.symposium-card { background:#fff; border:1px solid var(--sym-line); border-radius:1rem; box-shadow:0 10px 30px rgba(20,55,80,.055); }
.symposium-date-card { color:var(--sym-ink); padding:1rem 1.25rem; backdrop-filter:blur(8px); }
.symposium-card { padding:clamp(1.1rem,2vw,1.5rem); animation:symposium-rise .45s ease-out both; }
.symposium-choice-card { height:100%; padding:1.15rem 1.2rem; border:1px solid #dce8ef; border-left:4px solid var(--sym-teal); border-radius:.95rem; background:linear-gradient(145deg,#fff,#f7fbfd); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.symposium-choice-card h2 { margin-bottom:.55rem; }
.symposium-step { display:flex; gap:.85rem; align-items:flex-start; }
.symposium-step-number { flex:0 0 2.35rem; width:2.35rem; height:2.35rem; border-radius:50%; background:#e8f3fb; color:var(--sym-blue); display:grid; place-items:center; font-weight:800; box-shadow:inset 0 0 0 1px rgba(0,91,150,.08); }
.symposium-note { border-left:4px solid var(--sym-teal); border-radius:.2rem .8rem .8rem .2rem; padding:.95rem 1.1rem; background:#effafa; }
.symposium-progress { display:flex; gap:.55rem; flex-wrap:wrap; margin:0 0 1.25rem; padding:0; list-style:none; }
.symposium-progress li { display:inline-flex; align-items:center; gap:.45rem; padding:.52rem .9rem; border:1px solid #e3eaf0; border-radius:2rem; background:#fff; color:#536678; font-size:.84rem; font-weight:600; box-shadow:0 4px 12px rgba(20,55,80,.035); }
.symposium-progress li.active { border-color:#b8e6e2; background:#e7f7f5; color:#006d70; font-weight:700; }
.symposium-kpi { position:relative; height:100%; min-height:116px; overflow:hidden; border-left:4px solid var(--sym-teal); }
.symposium-kpi .display-6 { color:var(--sym-blue-dark); font-weight:800 !important; line-height:1.12; }
.symposium-kpi i { display:grid; width:3.25rem; height:3.25rem; place-items:center; border-radius:1rem; background:#edf7fb; color:var(--sym-blue) !important; }

/* Forms */
.symposium-form .form-label,.symposium-shell .form-label { font-weight:650; color:#29445b; }
.symposium-form .required-mark { color:#b42318; }
.symposium-form textarea { min-height:115px; resize:vertical; }
.symposium-shell .form-control,.symposium-shell .form-select { min-height:46px; border-color:#d7e2ea; border-radius:.72rem; color:#24384b; box-shadow:0 1px 2px rgba(20,55,80,.025); transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.symposium-shell textarea.form-control { min-height:120px; }
.symposium-shell .form-control:focus,.symposium-shell .form-select:focus { border-color:#3a9dc1; box-shadow:0 0 0 .22rem rgba(0,166,166,.14); }
.symposium-shell .form-check-input { border-color:#b7c8d5; }
.symposium-shell .form-check-input:checked { background-color:var(--sym-blue); border-color:var(--sym-blue); }
.symposium-shell .form-check-input:focus { border-color:#3a9dc1; box-shadow:0 0 0 .2rem rgba(0,166,166,.15); }
.symposium-counter { font-variant-numeric:tabular-nums; font-weight:800; color:var(--sym-blue-dark); }
.symposium-shell .alert { border-radius:.85rem; }
.symposium-shell .btn { min-height:42px; border-radius:.72rem; font-weight:700; letter-spacing:.005em; transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.symposium-shell .btn-lg { min-height:50px; border-radius:.82rem; }
.symposium-shell .btn:focus-visible,.symposium-shell a:focus-visible { outline:3px solid rgba(0,166,166,.6); outline-offset:3px; }
.symposium-shell .btn-primary-custom { box-shadow:0 8px 20px rgba(0,91,150,.17); }
.symposium-shell .btn i { margin-right:.42rem; }
.symposium-footer-actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.symposium-prewrap { white-space:pre-wrap; overflow-wrap:anywhere; }

/* Dedicated Symposium Admin */
.symposium-admin-topbar { padding:.35rem .15rem 1.05rem; }
.symposium-admin-topbar h1 { letter-spacing:-.035em; }
.symposium-admin-identity { display:flex; align-items:center; gap:.5rem; padding:.55rem .85rem; border:1px solid var(--sym-line); border-radius:2rem; background:#fff; font-size:.9rem; }
.symposium-admin-identity a { color:var(--sym-blue); font-weight:700; text-decoration:none; }
.symposium-admin-identity a:hover { text-decoration:underline; }
.symposium-admin-nav { position:sticky; top:.65rem; z-index:20; display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.2rem; padding:.65rem; border:1px solid var(--sym-line); border-radius:1rem; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(20,55,80,.07); backdrop-filter:blur(12px); }
.symposium-admin-nav a { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:42px; border:1px solid transparent; border-radius:.72rem; padding:.55rem .9rem; color:#38556d; text-decoration:none; font-size:.88rem; font-weight:700; transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; }
.symposium-admin-nav a i { width:1.1rem; color:#16849a; text-align:center; }
.symposium-admin-nav a:hover { transform:translateY(-1px); background:#f0f7fb; color:var(--sym-blue); }
.symposium-admin-nav a.active { background:linear-gradient(135deg,#005b96,#087d9a); color:#fff; box-shadow:0 6px 16px rgba(0,91,150,.2); }
.symposium-admin-nav a.active i { color:#fff; }
.symposium-table-wrap { overflow-x:auto; border:1px solid var(--sym-line); border-radius:.8rem; }
.symposium-table { min-width:780px; margin-bottom:0; }
.symposium-table thead th { position:sticky; top:0; z-index:1; padding:.9rem .75rem; border-bottom:1px solid #dce7ee; background:#eff5f9; color:#38556d; font-size:.74rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; white-space:nowrap; }
.symposium-table tbody td { padding:.8rem .75rem; border-color:#edf1f4; vertical-align:middle; font-size:.9rem; }
.symposium-table tbody tr { transition:background-color .15s ease; }
.symposium-table tbody tr:hover { background:#f5fafc; }
.symposium-badge { display:inline-flex; align-items:center; gap:.35rem; border:1px solid transparent; border-radius:99px; padding:.36rem .72rem; font-size:.75rem; font-weight:800; letter-spacing:.015em; background:#edf1f4; color:#465563; white-space:nowrap; }
.symposium-badge.approved,.symposium-badge.accepted { background:#e5f5eb; color:#17663a; border-color:#ccebd8; }
.symposium-badge.pending,.symposium-badge.submitted,.symposium-badge.under_review { background:#fff4d6; color:#775500; border-color:#f5e3a8; }
.symposium-badge.rejected { background:#fde8e7; color:#a1241b; border-color:#f3cfcc; }
.symposium-badge.revision_requested { background:#e8f1ff; color:#2458a6; border-color:#cfddf6; }
.symposium-shell .pagination { gap:.3rem; }
.symposium-shell .page-link { border:1px solid var(--sym-line); border-radius:.6rem !important; color:var(--sym-blue); font-weight:650; }
.symposium-shell .page-item.active .page-link { border-color:var(--sym-blue); background:var(--sym-blue); }

/* Smart, non-flashing sky-blue loader for slow internal navigation and form posts. */
.symposium-smart-loader { position:fixed; inset:0; z-index:12000; display:grid; place-items:center; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .18s ease,visibility .18s ease; }
.symposium-smart-loader.is-active { visibility:visible; opacity:1; pointer-events:auto; }
.symposium-loader-backdrop { position:absolute; inset:0; background:rgba(229,246,255,.58); backdrop-filter:blur(3px); }
.symposium-loader-progress { position:fixed; inset:0 0 auto; z-index:1; height:4px; overflow:hidden; background:rgba(56,189,248,.2); }
.symposium-loader-progress::after { content:""; position:absolute; top:0; bottom:0; left:-42%; width:42%; border-radius:99px; background:linear-gradient(90deg,#38bdf8,#0284c7,#7dd3fc); box-shadow:0 0 12px rgba(14,165,233,.5); animation:symposium-loader-travel 1.15s ease-in-out infinite; }
.symposium-loader-card { position:relative; z-index:2; display:flex; align-items:center; gap:.9rem; min-width:220px; padding:1rem 1.25rem; border:1px solid #bae6fd; border-radius:1rem; background:rgba(255,255,255,.97); box-shadow:0 18px 50px rgba(2,132,199,.18); color:#0c4a6e; }
.symposium-loader-spinner { flex:0 0 2rem; width:2rem; height:2rem; border:3px solid #c8efff; border-top-color:#0284c7; border-right-color:#38bdf8; border-radius:50%; animation:symposium-loader-spin .72s linear infinite; }
.symposium-loader-copy { display:grid; gap:.1rem; line-height:1.35; }
.symposium-loader-title { font-size:.9rem; font-weight:800; color:#075985; }
.symposium-loader-subtitle { font-size:.76rem; color:#53758c; }

/* Motion is intentionally restrained and fully disabled for reduced-motion preferences. */
@keyframes symposium-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes symposium-loader-spin { to { transform:rotate(360deg); } }
@keyframes symposium-loader-travel { 0% { left:-42%; width:32%; } 55% { left:30%; width:48%; } 100% { left:105%; width:32%; } }
@media (hover:hover) {
  .symposium-card:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(20,55,80,.09); }
  .symposium-date-card:hover,.symposium-choice-card:hover { transform:translateY(-2px); border-color:#b6d8e6; box-shadow:0 12px 27px rgba(20,55,80,.09); }
  .symposium-shell .btn:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(20,55,80,.14); }
}
@media(max-width:767.98px) {
  .symposium-admin-nav { position:static; }
  .symposium-admin-nav a { flex:1 1 calc(50% - .5rem); }
  .symposium-admin-identity { font-size:.82rem; }
  .symposium-table-wrap { margin-right:-.15rem; }
}
@media(max-width:575.98px) {
  .symposium-hero { min-height:0; border-radius:0; margin-left:-.75rem; margin-right:-.75rem; }
  .symposium-hero-image { object-position:58% center; }
  .symposium-page-hero { min-height:205px; padding:1.8rem 0; }
  .symposium-admin-hero { min-height:155px; border-radius:.85rem; }
  .symposium-card { padding:1rem; }
  .symposium-footer-actions .btn { width:100%; }
  .symposium-progress li { flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .symposium-loader-spinner { animation:none; border-top-color:#0284c7; border-right-color:#0284c7; }
  .symposium-loader-progress::after { animation:none; left:0; width:100%; }
}
@media print {
  .main-nav-container,.top-bar,.footer-custom,.no-print,.symposium-footer-actions,.symposium-admin-nav { display:none!important; }
  .symposium-card { box-shadow:none; }
}
