:root{
  --ink:#242424;
  --muted:#6f6f68;
  --cream:#f4f9ff;
  --surface:rgba(255,255,255,.72);
  --surface-strong:rgba(255,255,255,.9);
  --line:rgba(36,36,36,.1);
  --gold:var(--secondary);
  --gold-soft:color-mix(in srgb,var(--secondary) 24%,#fff 76%);
  --charcoal:#2d2d2d;
  --brand-logo-size:32px;
  --danger:#c83a32;
  --success:#4f9a67;
  --info:#66bdd2;
  --shadow:0 24px 70px rgba(31,31,31,.12);
  --radius:28px;
}
*{box-sizing:border-box}
body{
  min-height:100vh;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--primary) 32%,transparent),transparent 30rem),
    radial-gradient(circle at 10% 6%,rgba(255,255,255,.9),transparent 26rem),
    linear-gradient(135deg,#f7fbff 0%,color-mix(in srgb,var(--primary) 8%,#fff 92%) 55%,color-mix(in srgb,var(--primary) 24%,#fff 76%) 100%);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 70%)}
.navbar{margin:1rem auto 0;max-width:1380px;width:calc(100% - 2rem);border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72)!important;box-shadow:0 18px 50px rgba(33,33,33,.09);backdrop-filter:blur(18px);padding:.65rem .9rem}
.navbar .container-fluid{gap:1rem}.navbar-brand{color:var(--ink)!important;font-weight:800;letter-spacing:-.04em;padding:.55rem .35rem;background:transparent}
.navbar-toggler{border:0;background:var(--charcoal);border-radius:999px}.navbar-toggler:focus{box-shadow:0 0 0 .2rem color-mix(in srgb,var(--primary) 30%,transparent)}
.nav-link{color:var(--ink)!important;border-radius:999px;padding:.65rem 1rem!important}.nav-link:hover,.nav-link:focus{background:var(--primary);color:#fff!important}
main.container-fluid{max-width:1380px;margin:1rem auto 2rem;padding:1.25rem!important;border:1px solid rgba(255,255,255,.65);border-radius:36px;background:rgba(255,255,255,.38);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.hero{position:relative;overflow:hidden;min-height:430px;border-radius:34px;padding:clamp(2rem,5vw,4.5rem)!important;color:var(--ink);background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.5) 44%,color-mix(in srgb,var(--primary) 34%,transparent)),url('data:image/svg+xml,%3Csvg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M20 60h80M60 20v80" stroke="%23ffffff" stroke-opacity=".55"/%3E%3C/svg%3E');box-shadow:inset 0 1px rgba(255,255,255,.95),var(--shadow)}
.hero::after{content:"";position:absolute;right:8%;bottom:-16%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 36%,transparent 37%),repeating-conic-gradient(from 0deg,var(--charcoal) 0 8deg,transparent 8deg 18deg);opacity:.18}.hero h1{max-width:760px;font-size:clamp(2.5rem,6vw,5.5rem);line-height:.96;letter-spacing:-.075em;font-weight:400}.hero .lead{max-width:640px;color:var(--muted);font-size:1.25rem}.btn{border-radius:999px;border:0;padding:.72rem 1.1rem;font-weight:700}.btn-primary,.btn-success{background:var(--primary);color:#fff}.btn-warning{background:var(--secondary);color:var(--charcoal)}.btn-primary:hover,.btn-success:hover,.btn-warning:hover{background:var(--charcoal);color:#fff;transform:translateY(-1px)}.btn-outline-primary{border:1px solid rgba(36,36,36,.14);background:rgba(255,255,255,.66);color:var(--ink)}.btn-outline-primary:hover{background:var(--charcoal);color:#fff}.hero-actions .btn-primary{background:var(--primary);color:#fff}.hero-actions .btn-primary:hover,.hero-actions .btn-primary:focus{background:var(--secondary);color:var(--charcoal)}.hero-actions .btn-ghost{background:var(--secondary);color:var(--charcoal);border-color:color-mix(in srgb,var(--secondary) 70%,#fff 30%)}.hero-actions .btn-ghost:hover,.hero-actions .btn-ghost:focus{background:var(--primary);color:#fff}

.landing-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;min-height:520px;border-radius:34px;padding:clamp(1.5rem,5vw,4.5rem);background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.56) 48%,color-mix(in srgb,var(--primary) 30%,transparent));box-shadow:inset 0 1px rgba(255,255,255,.95),var(--shadow)}
.landing-hero::before{content:"";position:absolute;inset:auto -8rem -12rem auto;width:34rem;height:34rem;border-radius:50%;background:radial-gradient(circle,var(--accent) 0 33%,transparent 34%),repeating-conic-gradient(from 0deg,var(--charcoal) 0 8deg,transparent 8deg 18deg);opacity:.16;pointer-events:none}.landing-copy,.landing-panel{position:relative;z-index:1}.landing-copy h1{max-width:820px;margin:.35rem 0 1rem;font-size:clamp(2.75rem,7vw,6rem);line-height:.92;letter-spacing:-.08em;font-weight:500}.landing-copy .lead{max-width:680px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem)}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.btn-ghost{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink)}.btn-ghost:hover{background:var(--charcoal);color:#fff}.landing-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:760px;margin-top:1.25rem}.landing-stats div,.landing-panel,.feature-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:0 18px 48px rgba(31,31,31,.08);backdrop-filter:blur(16px)}.landing-stats div{padding:1rem}.landing-stats strong{display:block;color:var(--primary);font-size:1.4rem}.landing-stats span{display:block;color:var(--muted);font-weight:700}.landing-panel{display:grid;gap:1rem;padding:1.1rem;transform:rotate(1.25deg)}.panel-topline,.progress-card>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-topline span,.mini-card span,.progress-card span{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.mini-card,.progress-card{border:1px solid var(--line);border-radius:24px;padding:1rem;background:var(--surface-strong)}.mini-card strong{display:block;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.schedule-card small{color:var(--muted);font-weight:700}.progress-track{height:.7rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--secondary) 22%,#fff 78%);margin-top:.8rem}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--secondary))}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.feature-card{padding:1.25rem}.feature-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:1rem;border-radius:16px;background:var(--secondary);color:var(--charcoal);font-size:1.35rem;font-weight:900}.feature-card h3{letter-spacing:-.04em}.feature-card p{color:var(--muted);margin-bottom:0}.theme-dark .landing-hero{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(15,23,42,.62) 50%,color-mix(in srgb,var(--primary) 30%,transparent))}.theme-dark .btn-ghost,.theme-dark .mini-card,.theme-dark .progress-card{background:rgba(15,23,42,.78);color:var(--ink)}


.pavilion-hero{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.72) 46%,color-mix(in srgb,var(--primary) 18%,transparent)),radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 22rem)}.hero-tagline{max-width:690px;margin:1rem 0 0;color:var(--ink);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800}.culture-panel{text-align:left}.culture-badge{display:grid;place-items:center;min-height:8rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.88),color-mix(in srgb,var(--primary) 12%,#fff 88%));font-size:5rem}.culture-logo{max-width:min(72%,12rem);max-height:7rem;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(31,31,31,.12))}.culture-panel .dark-card{background:var(--secondary);color:var(--charcoal)}.culture-panel .dark-card strong{font-size:clamp(1.35rem,3vw,2.15rem);letter-spacing:-.05em}.landing-section{margin-top:1rem;border:1px solid var(--line);border-radius:34px;background:var(--surface);box-shadow:0 18px 48px rgba(31,31,31,.08);backdrop-filter:blur(16px);padding:clamp(1.25rem,4vw,2.5rem)}.section-intro{max-width:760px;margin-bottom:1.25rem}.section-intro h2{margin:.25rem 0 .5rem;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.07em}.section-intro p{color:var(--muted);font-size:1.08rem;margin:0}.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.benefit-item{display:flex;align-items:flex-start;gap:.7rem;border:1px solid var(--line);border-radius:22px;background:var(--surface-strong);padding:1rem;font-weight:750}.benefit-item span{display:grid;place-items:center;flex:0 0 1.55rem;width:1.55rem;height:1.55rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.85rem}.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.opportunity-card{border:1px solid var(--line);border-radius:26px;background:var(--surface-strong);box-shadow:0 16px 42px rgba(31,31,31,.07);padding:1.2rem;transition:transform .18s ease,box-shadow .18s ease}.opportunity-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(31,31,31,.11)}.opportunity-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin-bottom:1rem;border-radius:18px;background:var(--primary);color:#fff;font-size:1.7rem}.opportunity-card h3{margin-bottom:.45rem;letter-spacing:-.045em}.opportunity-card p{color:var(--muted);margin:0}.theme-dark .pavilion-hero{background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(15,23,42,.68) 48%,color-mix(in srgb,var(--primary) 30%,transparent))}.theme-dark .culture-badge{background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(15,23,42,.5))}.theme-dark .benefit-item,.theme-dark .opportunity-card{background:rgba(15,23,42,.78)}
.card,.list-group,.alert{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 45px rgba(31,31,31,.08);backdrop-filter:blur(16px)}.card-body{padding:1.45rem}.card h2,.card h4,h2,h4{letter-spacing:-.045em}.display-6{font-weight:300;letter-spacing:-.07em}.list-group{overflow:hidden;padding:.45rem}.list-group-item{border:0;border-radius:18px!important;margin:.12rem 0;background:transparent;color:var(--ink);font-weight:650}.list-group-item:hover{background:var(--gold-soft);color:var(--ink)}
.form-control,.form-select{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.82);padding:.85rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--primary) 25%,transparent)}
table{border-radius:22px;overflow:hidden} .table>:not(caption)>*>*{background:rgba(255,255,255,.62);border-bottom-color:rgba(36,36,36,.08)}
.alert-info{background:color-mix(in srgb,var(--secondary) 80%,#fff 20%);color:var(--ink)}.status-pending{background:var(--gold)}.status-approved,.status-assigned,.status-completed,.status-redeemed{background:var(--success)}.status-rejected,.status-no-show{background:var(--danger)}.status-checked-in{background:var(--info)}.status-checked-out{background:#8c8c86}.card-id{width:340px;border:2px solid rgba(36,36,36,.18);border-radius:28px;background:var(--surface-strong);box-shadow:var(--shadow)}
.volunteer-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;padding:.5rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.48);backdrop-filter:blur(14px)}
@media (max-width:991px){.navbar,main.container-fluid{width:calc(100% - 1rem)}.volunteer-tabs{border-radius:26px}.hero,.landing-hero{min-height:auto}.landing-hero,.feature-grid,.benefit-grid,.opportunity-grid{grid-template-columns:1fr}.landing-panel{transform:none}.navbar{border-radius:26px}.navbar-brand{white-space:normal}}
@media print{nav,.btn,.no-print{display:none!important}.card-id{break-inside:avoid;box-shadow:none}}

.theme-dark{
  --ink:#f8fafc;
  --muted:#cbd5e1;
  --surface:rgba(15,23,42,.74);
  --surface-strong:rgba(15,23,42,.92);
  --line:rgba(248,250,252,.14);
  background:
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--primary) 42%,transparent),transparent 30rem),
    radial-gradient(circle at 10% 6%,rgba(255,255,255,.08),transparent 26rem),
    linear-gradient(135deg,#020617 0%,var(--charcoal) 55%,#111827 100%);
}
.navbar-brand{display:inline-flex;align-items:center;gap:.55rem;max-width:min(72vw,520px)}
.brand-logo{width:var(--brand-logo-size);height:var(--brand-logo-size);object-fit:contain;border-radius:10px;flex:0 0 auto;background:rgba(255,255,255,.72);padding:.12rem}
.brand-mark{line-height:1;flex:0 0 auto}.brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-dark .navbar,.theme-dark main.container-fluid{background:rgba(15,23,42,.62)!important;border-color:var(--line)}
.theme-dark .navbar-brand{background:transparent;color:var(--ink)!important}.theme-dark .form-control,.theme-dark .form-select{background:rgba(15,23,42,.72);color:var(--ink)!important}
.theme-dark .table>:not(caption)>*>*{background:rgba(15,23,42,.72);color:var(--ink);border-bottom-color:var(--line)}
.theme-dark .btn-outline-primary{background:rgba(15,23,42,.72);color:var(--ink);border-color:var(--line)}
.page-heading{margin-bottom:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800;font-size:.78rem}.form-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:1.25rem}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.settings-panel{border:1px solid var(--line);border-radius:calc(var(--radius) - 6px);background:rgba(255,255,255,.38);padding:1rem}.theme-dark .settings-panel{background:rgba(15,23,42,.5)}.section-heading{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.section-heading span{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--secondary);color:var(--charcoal);font-weight:800}.section-heading h3{margin:0}.consent-row{display:flex;gap:.5rem;align-items:center;margin:1rem 0}.logo-preview{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.logo-preview img{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:18px;background:#fff;padding:.35rem}.color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.color-grid label{font-weight:700;color:var(--muted)}.theme-preview{display:grid;gap:.75rem}.preview-nav,.preview-card{border-radius:var(--radius);padding:1rem;background:var(--surface-strong);border:1px solid var(--line)}.preview-nav{display:flex;align-items:center;gap:.75rem}.preview-nav span{width:2rem;height:2rem;border-radius:calc(var(--radius) / 2);background:linear-gradient(135deg,var(--primary),var(--secondary))}.dark-card{background:var(--primary);color:#fff}.secondary-card{background:var(--secondary);color:var(--charcoal)}.radius-card{border-radius:var(--radius);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)}.preview-card span{display:block;color:color-mix(in srgb,currentColor 68%,transparent);font-size:.85rem}@media (max-width:991px){.settings-grid{grid-template-columns:1fr}.brand-text{white-space:normal}}
@media (max-width:575px){main.container-fluid{padding:.75rem!important;border-radius:24px}.landing-hero,.landing-section{padding:1.2rem;border-radius:24px}.landing-copy h1{font-size:2.65rem}.landing-stats{grid-template-columns:1fr}.hero-actions .btn{width:100%}.feature-card,.form-card,.opportunity-card{padding:1rem}.color-grid{grid-template-columns:1fr}.table-responsive{border-radius:22px}}


/* Admin sidebar */
.admin-sidebar-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}
.admin-sidebar-toggle::after{content:"☰";font-size:1.05rem;line-height:1}
.admin-sidebar-panel{top:1rem}
@media (max-width:991px){.admin-layout{gap:.25rem}.admin-sidebar{margin-bottom:.75rem!important}.admin-sidebar-panel{margin-top:.65rem;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-sidebar-panel .list-group-item{padding:.85rem 1rem}}
@media (min-width:992px){.admin-sidebar-panel.collapse{display:block!important}}

/* Mobile-first usability upgrades */
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{overflow-x:hidden}
a,button,.btn,.nav-link,.list-group-item,input,select,textarea{touch-action:manipulation}
img,svg,video,canvas{max-width:100%;height:auto}

.auth-layout,.register-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(1rem,4vw,2rem);align-items:start}
.auth-art,.auth-card,.register-intro,.form-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 45px rgba(31,31,31,.08);backdrop-filter:blur(16px);padding:clamp(1.1rem,3vw,2rem)}
.auth-art h1,.register-intro h1{font-size:clamp(2.1rem,5vw,4.5rem);line-height:.96;letter-spacing:-.075em}.auth-art p,.register-intro p{color:var(--muted);font-size:1.08rem}.auth-card{display:grid;gap:.8rem;background:var(--surface-strong)}.auth-highlights,.auth-links{display:flex;gap:.6rem;flex-wrap:wrap}.auth-highlights span,.auth-links a{border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);padding:.55rem .85rem;font-weight:750}.auth-links{justify-content:space-between}.register-shell{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr)}.register-shell--form-only{grid-template-columns:1fr}.register-shell--form-only .register-form{width:100%;max-width:none}.form-label.required::after{content:" *";color:var(--danger);font-weight:900}.required-asterisk{color:var(--danger);font-weight:900;margin-left:.15rem}.register-intro{position:sticky;top:1rem}.register-form{display:grid;gap:1rem}.form-section{background:rgba(255,255,255,.5)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.choice-pill{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);padding:.7rem .9rem;font-weight:700}.choice-pill input,.consent-row input{width:1.15rem;height:1.15rem;accent-color:var(--primary)}

@media (max-width:991px){
  body{background-attachment:fixed}.navbar{position:static;top:auto;z-index:auto;margin:.5rem auto 0;border-radius:24px}.navbar-toggler,.navbar-collapse{display:none!important}.auth-layout,.register-shell{grid-template-columns:1fr}.register-intro{position:static}.admin-sidebar{width:100%;flex:0 0 100%;max-width:100%}.admin-content{width:100%;flex:0 0 100%;max-width:100%}.admin-sidebar .sticky-top{position:static}.volunteer-tabs{display:none}.card-body{padding:1.15rem}.hero h1,.landing-copy h1{letter-spacing:-.06em}.culture-badge{min-height:6rem;font-size:3.5rem}
}

@media (max-width:767px){
  :root{--shadow:0 14px 36px rgba(31,31,31,.1)}.navbar{padding:.5rem;width:calc(100% - .75rem)}.navbar .container-fluid{gap:.5rem}.navbar-brand{max-width:calc(100vw - 6rem);padding:.45rem .65rem}.brand-logo{width:calc(var(--brand-logo-size) * .875);height:calc(var(--brand-logo-size) * .875)}.brand-text{font-size:.95rem}.navbar-toggler{width:2.75rem;height:2.75rem;padding:.35rem}.hero,.landing-hero{padding:1.25rem!important;border-radius:24px}.hero h1,.landing-copy h1{font-size:clamp(2.25rem,12vw,3.25rem)}.hero .lead,.landing-copy .lead{font-size:1rem}.landing-panel,.landing-stats div,.feature-card,.landing-section,.card,.list-group,.alert,.form-card,.auth-art,.auth-card,.register-intro,.form-section{border-radius:22px}.panel-topline,.progress-card>div{align-items:flex-start;flex-direction:column;gap:.25rem}.benefit-item{border-radius:18px}.opportunity-grid,.feature-grid{gap:.75rem}h2{font-size:1.55rem}.display-6{font-size:2rem}.btn,.form-control,.form-select{min-height:44px}.btn-sm{min-height:38px;padding:.5rem .75rem}.table,.table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border-radius:22px}.table>:not(caption)>*>*{padding:.85rem}.table form.d-flex{min-width:20rem}.table .form-control-sm,.table .form-select-sm{min-width:9rem}.card-id{width:100%;max-width:340px}.auth-links{display:grid;grid-template-columns:1fr}.auth-links a{text-align:center}.choice-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.35rem}.consent-row{align-items:flex-start}.form-label{font-weight:750}
}

@media (max-width:575px){
  main.container-fluid{width:calc(100% - .5rem);margin:.5rem auto 1rem;padding:.65rem!important}.landing-hero,.landing-section{padding:1rem!important}.hero-actions{gap:.55rem}.landing-stats div{padding:.85rem}.mini-card,.progress-card,.feature-card,.opportunity-card{border-radius:18px}.benefit-item{font-size:.95rem}.auth-art,.auth-card,.register-intro,.form-section,.form-card{padding:1rem}.row{--bs-gutter-x:.75rem}.list-group-item{padding:.75rem .85rem}.alert{padding:.85rem}.table{font-size:.92rem}.form-control,.form-select{font-size:16px}.color-grid{grid-template-columns:1fr}.settings-panel{padding:.85rem}.logo-preview{gap:.75rem}.logo-preview img{width:58px;height:58px}
}

/* Full-width registration form after intro panel removal. */
.register-shell.register-shell--form-only{display:block;width:100%}
.register-shell.register-shell--form-only>.register-form{display:block;width:100%;max-width:100%}
.register-shell.register-shell--form-only .form-section{width:100%}
.register-shell.register-shell--form-only .form-section+.form-section{margin-top:1rem}

/* Volunteer management action controls */
.volunteers-table-wrap{border-radius:24px}
.volunteers-table{min-width:1080px}
.volunteers-table th,.volunteers-table td{vertical-align:middle}
.volunteer-actions-heading,.volunteer-actions-cell{width:34rem}
.volunteer-actions{display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(11rem,.8fr) minmax(16rem,1.2fr);gap:.5rem;align-items:center;min-width:32rem}
.volunteer-action-group{display:flex;align-items:center;gap:.35rem;padding:.3rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.44)}
.volunteer-action-group .btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .7rem;line-height:1;white-space:nowrap}
.volunteer-action-group--links .btn{flex:1 1 0;min-width:0}
.volunteer-action-group--status .btn{flex:1 1 0}
.volunteer-action-group--role{display:grid;grid-template-columns:minmax(8.5rem,1fr) auto}
.volunteer-action-group--role .form-select{min-height:2.25rem;padding:.45rem 2rem .45rem .75rem;border-radius:999px}
.volunteer-action-group--role .btn{min-width:5.75rem}
.theme-dark .volunteer-action-group{background:rgba(15,23,42,.5)}
@media (max-width:1199px){.volunteer-actions-heading,.volunteer-actions-cell{width:28rem}.volunteer-actions{grid-template-columns:1fr;min-width:25rem}.volunteer-action-group--role{grid-template-columns:minmax(11rem,1fr) auto}}
@media (max-width:767px){.volunteers-table{min-width:980px}.volunteer-actions-heading,.volunteer-actions-cell{width:24rem}.volunteer-actions{min-width:22rem}.table .volunteer-action-group--role .form-select-sm{min-width:11rem}.table form.volunteer-action-group{min-width:0}}

.id-card-clean{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:1.75rem 1.35rem}.id-card-logo{width:190px;max-width:90%;max-height:125px;object-fit:contain}.id-card-name{margin:.15rem 0 0;font-size:1.55rem;font-weight:800;line-height:1.12}.id-card-areas{margin:0;color:var(--muted);font-weight:700;line-height:1.35}.id-card-qr{width:230px;max-width:85%;aspect-ratio:1;object-fit:contain;margin-top:.25rem}.id-card-code{margin:-.35rem 0 0;color:var(--ink);font-size:1.05rem;font-weight:800;letter-spacing:.08em}
@media print{.id-card-clean{margin:auto;background:#fff!important;color:#242424!important}.id-card-areas{color:#555!important}.id-card-code{color:#242424!important}}

/* Attendance scanner and log */
.btn-secondary-color{background:var(--secondary);color:var(--charcoal)}
.btn-secondary-color:hover,.btn-secondary-color:focus{background:var(--charcoal);color:#fff;transform:translateY(-1px)}
.attendance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.attendance-heading .btn{white-space:nowrap}
.attendance-scan-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:1rem;align-items:start}
.attendance-reader{overflow:hidden;border:1px dashed var(--line);border-radius:22px;background:rgba(255,255,255,.45);min-height:220px}
.attendance-filters{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:.8rem;align-items:end}
.attendance-filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.attendance-filter-actions .btn{white-space:nowrap}
.attendance-log-table{border-radius:22px}.attendance-log-table table{min-width:860px}
.theme-dark .attendance-reader{background:rgba(15,23,42,.5)}
@media (max-width:991px){.attendance-scan-grid,.attendance-filters{grid-template-columns:1fr}.attendance-heading{display:grid}.attendance-heading .btn{width:100%}.attendance-filter-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-filter-actions .btn{width:100%}}
@media (max-width:575px){.attendance-filter-actions{grid-template-columns:1fr}.attendance-reader{min-height:180px}.attendance-log-table table{min-width:760px}}

/* Grouped admin navigation */
.admin-nav-section{margin:.35rem 0 .2rem;padding-top:.25rem;border-top:1px solid var(--line)}
.admin-nav-section:first-of-type{border-top:0}
.admin-nav-heading{padding:.45rem .75rem .15rem;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.admin-nav-link{display:flex;align-items:center;gap:.45rem}
.admin-nav-subitem{margin-left:.35rem;padding-left:1.15rem!important;font-size:.94rem;font-weight:650}
.admin-nav-subitem::before{content:"";width:.38rem;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 45%,transparent);flex:0 0 auto}
.theme-dark .admin-nav-section{border-top-color:var(--line)}
