:root {
  --navy:#13233c; --blue:#265aa6; --blue-soft:#e9f0fb; --gold:#bb8a32; --cream:#f7f6f2;
  --ink:#202a35; --muted:#657180; --line:#dbe1e8; --white:#fff; --success:#1f7a55; --warning:#a66a11; --danger:#a5363b;
  --shadow:0 12px 32px rgba(18,35,60,.08); --radius:14px;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
a { color:var(--blue); text-decoration:none; } a:hover { text-decoration:underline; }
h1,h2,h3 { margin:0 0 .55rem; color:var(--navy); line-height:1.18; letter-spacing:-.02em; } h1 { font-size:clamp(2rem,4vw,3.35rem); } h2 { font-size:1.55rem; } h3 { font-size:1.08rem; }
p { margin:.2rem 0 1rem; }.site-wrap { width:min(1160px, calc(100% - 2rem)); margin:0 auto; }.topbar { background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }.nav-wrap { min-height:70px; display:flex; align-items:center; gap:1.5rem; }.brand { display:flex; align-items:center; gap:.6rem; color:var(--navy); text-decoration:none; min-width:225px; }.brand:hover { text-decoration:none; }.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-family:Georgia,serif; font-size:1.35rem; font-weight:bold; }.brand strong { display:block; font-size:1.1rem; letter-spacing:.08em; }.brand small { display:block; color:var(--muted); font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; }.main-nav { margin-left:auto; display:flex; align-items:center; gap:.15rem; }.main-nav a { color:var(--ink); padding:.56rem .72rem; border-radius:7px; font-weight:650; font-size:.91rem; }.main-nav a.active,.main-nav a:hover { background:var(--blue-soft); color:var(--blue); text-decoration:none; }.main-nav .account-link { color:var(--blue); border-left:1px solid var(--line); border-radius:0; margin-left:.4rem; }.menu-toggle { display:none; margin-left:auto; background:transparent; border:0; font-size:1.3rem; }.hero { background:linear-gradient(120deg, #13233c, #244f86); color:#fff; }.hero-inner { display:grid; grid-template-columns:1fr 300px; gap:4rem; padding:4.7rem 0; align-items:center; }.hero h1 { color:#fff; max-width:770px; }.hero-copy { max-width:700px; color:#e3ecf9; font-size:1.12rem; }.eyebrow { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.75rem; margin-bottom:.8rem; }.hero .eyebrow { color:#f6d498; }.hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.4rem; }.event-card { display:flex; flex-direction:column; gap:.3rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.24); padding:1.4rem; border-radius:12px; backdrop-filter:blur(5px); }.event-card strong { font-size:1.12rem; }.event-card span:not(.event-label) { color:#d6e1f3; margin-bottom:.7rem; }.event-label { color:#f6d498; text-transform:uppercase; font-weight:bold; letter-spacing:.12em; font-size:.67rem; }.section { padding:3.7rem 0; }.section-heading { max-width:730px; margin-bottom:2.1rem; }.section-copy { color:var(--muted); max-width:760px; }.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }.feature,.card,.stat,.callout { background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:var(--radius); }.feature { padding:1.35rem; }.feature-icon { display:grid; place-items:center; width:36px; height:36px; background:var(--blue-soft); color:var(--blue); border-radius:50%; font-weight:800; font-size:.72rem; margin-bottom:1rem; }.feature p { color:var(--muted); font-size:.94rem; min-height:88px; }.feature a,.text-link { font-weight:750; }.band { background:#e7edf5; padding:3rem 0; }.split { display:grid; grid-template-columns:1fr .8fr; gap:3rem; align-items:center; }.callout { padding:1.4rem; }.btn { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; padding:.7rem 1rem; border:1px solid transparent; border-radius:8px; font:inherit; font-weight:750; cursor:pointer; text-decoration:none; transition:.15s; }.btn:hover { text-decoration:none; transform:translateY(-1px); }.btn.primary { color:#fff; background:var(--blue); }.btn.primary:hover { background:#194984; }.btn.secondary { color:var(--navy); background:#fff; border-color:#b9c6d6; }.btn.tertiary { color:var(--blue); background:var(--blue-soft); }.btn.danger { color:#fff; background:var(--danger); }.btn.small { font-size:.82rem; padding:.43rem .62rem; }.narrow { width:min(770px, calc(100% - 2rem)); }.form-card { padding:2rem; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.form-stack { display:grid; gap:1rem; }.field { display:block; min-width:0; }.field span { display:block; margin-bottom:.35rem; font-size:.9rem; color:var(--navy); font-weight:720; }.field b { color:var(--danger); }.field input,.field select,.field textarea,.stacked-form input,.decision-form input,.decision-form select { width:100%; border:1px solid #b9c5d1; background:#fff; color:var(--ink); border-radius:7px; padding:.66rem .72rem; font:inherit; }.field textarea { min-height:120px; resize:vertical; }.field select[multiple] { min-height:120px; }.field input:focus,.field select:focus,.field textarea:focus { outline:3px solid rgba(38,90,166,.18); border-color:var(--blue); }.hint,.muted,small { color:var(--muted); }.hint { font-size:.79rem; margin-top:.3rem; }.full { grid-column:1/-1; }.form-actions { margin-top:.35rem; display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; }.notice { padding:.8rem 1rem; margin:1rem 0; border-radius:9px; border:1px solid; }.notice.success { color:#17553b; background:#eaf7ef; border-color:#b7e1c8; }.notice.danger { color:#7c2428; background:#fff0f1; border-color:#efc1c4; }.notice.warning { color:#704905; background:#fff8e6; border-color:#f1d393; }.center-card { padding:2.8rem 2rem; text-align:center; }.center-card .btn { margin:.2rem; }.footer { background:#0f1d31; color:#cbd6e5; padding:2.5rem 0; }.footer strong { color:#fff; }.footer p { margin:.3rem 0; font-size:.91rem; }.footer a { color:#dbe9ff; }.footer-grid { display:grid; grid-template-columns:1.3fr .8fr 1.2fr; gap:2.6rem; }.dashboard-heading,.card-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }.role-list { display:flex; gap:.4rem; flex-wrap:wrap; }.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:1.5rem 0 2rem; }.stat { padding:1.25rem; display:flex; flex-direction:column; gap:.45rem; }.stat span { color:var(--muted); font-size:.85rem; }.stat strong { font-size:2rem; color:var(--navy); }.stat a { font-size:.84rem; font-weight:700; }.dashboard-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; }.card { padding:1.3rem; }.item-list { display:grid; gap:.85rem; }.item-list article { display:flex; gap:1rem; justify-content:space-between; padding:.8rem 0; border-top:1px solid var(--line); }.item-list article:first-child { border-top:0; }.item-list h3 { margin-bottom:.18rem; }.item-list p { color:var(--muted); font-size:.9rem; margin:0; }.note { margin-top:.4rem !important; color:var(--ink) !important; }.badge { display:inline-block; padding:.23rem .5rem; border-radius:999px; font-weight:750; font-size:.72rem; white-space:nowrap; }.badge.success { background:#dff3e9; color:#176244; }.badge.danger { background:#f9e0e1; color:#8c2b31; }.badge.warning { background:#fff0cc; color:#865300; }.badge.muted { background:#edf1f5; color:#546170; }.empty { color:var(--muted); padding:1.3rem; background:#f7f9fb; border:1px dashed #bdc8d4; border-radius:9px; }.review-card { margin:1.2rem 0; }.abstract { padding:1rem; background:#f7f9fb; border-left:3px solid var(--gold); }.rubric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; }.review-form { margin-top:1rem; display:grid; gap:1rem; }.program-day { margin-top:2.2rem; }.program-day>h2 { border-bottom:2px solid var(--gold); padding-bottom:.45rem; }.schedule-grid { display:grid; gap:1rem; margin-top:1rem; }.session { display:grid; grid-template-columns:125px 1fr; background:#fff; border:1px solid var(--line); border-radius:11px; overflow:hidden; }.session-time { background:#eaf0f8; padding:1.1rem; display:flex; flex-direction:column; color:var(--navy); }.session-time span { color:var(--muted); font-size:.85rem; }.session-main { padding:1.1rem 1.2rem; }.session-meta { display:flex; gap:.5rem; flex-wrap:wrap; color:var(--blue); font-size:.8rem; font-weight:750; }.session-meta span + span::before { content:"•"; margin-right:.5rem; color:var(--gold); }.chair { color:var(--muted); font-size:.86rem; }.presentation { border-top:1px solid var(--line); padding:.6rem 0; display:grid; gap:.1rem; }.presentation span { color:var(--muted); font-size:.88rem; }.proceedings-list { display:grid; gap:1rem; }.proceeding { background:#fff; border:1px solid var(--line); padding:1.35rem; border-radius:11px; }.proceeding h2 { margin-top:.55rem; }.proceeding p { color:var(--muted); }.admin-title { margin-bottom:1.25rem; }.subnav { display:flex; flex-wrap:wrap; gap:.2rem; border-bottom:1px solid var(--line); margin-bottom:1.35rem; }.subnav a { color:var(--muted); padding:.65rem .75rem; font-weight:750; font-size:.88rem; border-bottom:3px solid transparent; }.subnav a.active,.subnav a:hover { color:var(--blue); border-bottom-color:var(--blue); text-decoration:none; }.table-wrap { overflow-x:auto; } table { width:100%; border-collapse:collapse; font-size:.88rem; } th,td { text-align:left; vertical-align:top; border-top:1px solid var(--line); padding:.75rem .65rem; } th { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; background:#f7f9fb; } td strong { color:var(--navy); } details { margin-top:.55rem; } summary { color:var(--blue); font-weight:700; cursor:pointer; }.feedback { background:#f7f9fb; border-radius:7px; padding:.65rem; margin:.5rem 0; }.feedback span { display:block; color:var(--muted); font-size:.79rem; }.feedback p { margin:.35rem 0 0; }.decision-note { display:block; margin-top:.4rem; max-width:160px; }.inline-form { display:flex; flex-wrap:wrap; gap:.35rem; }.inline-form select { min-width:100px; }.decision-form { display:grid; gap:.35rem; min-width:160px; }.two-col { display:grid; grid-template-columns:1.05fr .95fr; gap:1rem; }.stacked-form { display:grid; gap:.4rem; min-width:240px; }.check { grid-column:span 1; font-weight:650; display:flex; gap:.5rem; align-items:center; }.workflow { padding-left:1.2rem; }.workflow li { margin:.6rem 0; }.no-print { display:inline-flex; }
@media (max-width:900px) { .feature-grid { grid-template-columns:repeat(2,1fr); }.stat-grid { grid-template-columns:repeat(2,1fr); }.hero-inner { grid-template-columns:1fr; gap:1.5rem; }.event-card { max-width:440px; }.dashboard-grid,.two-col,.split { grid-template-columns:1fr; }.rubric-grid { grid-template-columns:repeat(2,1fr); }.footer-grid { grid-template-columns:1fr; gap:1rem; }.main-nav { display:none; position:absolute; top:70px; left:0; right:0; background:#fff; padding:1rem; border-bottom:1px solid var(--line); box-shadow:var(--shadow); }.main-nav.open { display:grid; }.main-nav .account-link { border-left:0; margin-left:0; }.menu-toggle { display:block; } }
@media (max-width:620px) { .site-wrap,.narrow { width:min(100% - 1.2rem, 1160px); }.section { padding:2.4rem 0; }.form-grid,.feature-grid,.stat-grid,.rubric-grid { grid-template-columns:1fr; }.hero-inner { padding:3rem 0; }.session { grid-template-columns:1fr; }.session-time { flex-direction:row; gap:.7rem; align-items:center; }.card-head,.dashboard-heading { flex-direction:column; }.check { grid-column:1; }.topbar { position:relative; } }
@media print { .topbar,.footer,.no-print,.hero,.subnav { display:none !important; } body { background:#fff; } .section { padding:0; }.site-wrap { width:100%; }.session { break-inside:avoid; box-shadow:none; }.program-day { break-before:auto; } }
.receipt-card { padding:2rem; }
.receipt-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0 1.2rem; }
.center-actions { justify-content:center; }
code { background:#f0f3f7; border:1px solid var(--line); border-radius:5px; padding:.12rem .28rem; word-break:break-word; }
@media (max-width:620px) { .receipt-grid { grid-template-columns:1fr; } }
