/* ================================================================
   LOTUS — shared app styles for /apply + /crew
   Wears the Lotus venue rendition (see DESIGN.md): parchment/ink/gold
   + one vermillion seal. Pure φ (×/÷1.618, decimals preserved, no
   clamp for type; spacing anchored --sp-md:1rem; body line-height 1.618).
   ================================================================ */
:root{
  --phi-7: 11.089rem; --phi-6: 6.854rem; --phi-5: 4.236rem; --phi-4: 2.618rem;
  --phi-3: 1.618rem;  --phi-2: 1rem;     --phi-1: 0.618rem;  --phi-0: 0.382rem;

  --sp-xs: 0.382rem;  --sp-sm: 0.618rem; --sp-md: 1rem;
  --sp-lg: 1.618rem;  --sp-xl: 2.618rem; --sp-2xl: 4.236rem; --sp-3xl: 6.854rem;

  --parchment:      #EFE7D6;
  --parchment-deep: #E4D8C0;
  --parchment-warm: #F5EFE2;
  --ink:            #1A1712;
  --ink-soft:       #574F41;
  --ink-line:       rgba(26,23,18,.18);
  --gold:           #A8823C;
  --gold-deep:      #856427;
  --gold-bright:    #D8B25A;
  --gold-soft:      #BFA269;
  --vermillion:     #C63A28;

  /* pipeline status hues — muted/earthy so they sit on parchment; each is deep
     enough (luminance <= .15) to pass AA both as text on cream AND as a fill
     behind parchment-warm text. new=amber(look here) · reviewed=taupe(triaged)
     · contacted=teal(outreach) · hired=green(win) · declined=vermillion(stop) */
  --st-new:       #8A5A12;
  --st-reviewed:  #5F5744;
  --st-contacted: #2F5A66;
  --st-hired:     #3E6A38;
  --st-declined:  #B23320;

  --font-display: "Chakra Petch", system-ui, sans-serif;
  --font-serif:   "Lora", Georgia, serif;
  --font-serif-display: "DM Serif Display", Georgia, serif;
  --font-mono:    "JetBrains Mono", ui-monospace, monospace;
  --phi: 1.618;
}
*{ box-sizing: border-box; margin: 0; padding: 0; }
html{ font-size: 100%; -webkit-text-size-adjust: 100%; }
body{
  font-family: var(--font-display);
  background:
    radial-gradient(120% 90% at 20% 0%, var(--parchment-warm) 0%, var(--parchment) 55%, var(--parchment-deep) 100%)
    fixed;
  color: var(--ink);
  line-height: var(--phi);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
}

/* ---------- top bar (shared) ---------- */
.topbar{
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-lg);
  padding: var(--sp-lg) var(--sp-xl);
  border-bottom: 1px solid var(--ink-line);
}
.brand{ display: flex; align-items: center; gap: var(--sp-sm); text-decoration: none; color: var(--ink); }
.brand img.brandmark{ height: 2.4rem; width: auto; display: block; transform: translateY(-0.3rem); }
.brand .bt{ font-size: var(--phi-1); letter-spacing: .26em; line-height: 1.18; text-transform: uppercase; font-weight: 500; }
.brand .bt small{ display:block; font-size: .5rem; letter-spacing:.3em; color: var(--ink-soft); font-weight:400; }
.topbar .home{
  font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .22em; text-transform: uppercase; text-decoration: none;
  color: var(--ink-soft);
}
.topbar .home:hover{ color: var(--gold-deep); }

/* ---------- page shell ---------- */
.wrap{ max-width: 46rem; margin: 0 auto; padding: var(--sp-2xl) var(--sp-lg) var(--sp-3xl); }
.wrap.wide{ max-width: 74rem; }

.eyebrow{
  font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .3em; text-transform: uppercase; color: var(--vermillion);
  margin-bottom: var(--sp-sm);
}
.page-title{
  font-family: var(--font-display); font-weight: 300;
  font-size: var(--phi-5); line-height: 1; letter-spacing: .02em;
  text-transform: uppercase; color: var(--ink);
}
.lede{
  margin-top: var(--sp-md);
  font-family: var(--font-serif-display); font-style: italic;
  font-size: var(--phi-3); color: var(--ink-soft); max-width: 40ch; line-height: 1.4;
}

/* ---------- form ---------- */
.form{ margin-top: var(--sp-2xl); }
.form-field{ margin-bottom: var(--sp-lg); }
.form-field.two{ display:grid; grid-template-columns:1fr 1fr; gap: var(--sp-lg); }
.lbl{
  display:block; font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft);
  margin-bottom: var(--sp-sm);
}
.lbl .opt{ color: var(--ink-line); text-transform: none; letter-spacing: .05em; }
.req{ color: var(--vermillion); }
input[type=text], input[type=tel], input[type=email], input[type=number],
input[type=date], input[type=datetime-local], textarea, select{
  width:100%; font-family: var(--font-display); font-size: var(--phi-2); font-weight: 400;
  color: var(--ink); background: var(--parchment-warm);
  border: 1px solid var(--ink-line); border-radius: 0;
  padding: var(--sp-md); line-height: 1.4;
  transition: border-color .18s ease, background .18s ease;
}
textarea{ min-height: 6.854rem; resize: vertical; }
input:focus, textarea:focus, select:focus{
  outline: none; border-color: var(--gold); background: #fff;
}
input::placeholder, textarea::placeholder{ color: var(--ink-line); }

/* position pills + yes/no segments (checkbox/radio driven) */
.pillset{ display:flex; flex-wrap:wrap; gap: var(--sp-sm); }
.pill{ position:relative; }
.pill input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.pill span{
  display:inline-block; font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
  border:1px solid var(--gold); padding: var(--sp-sm) var(--sp-md);
  transition: background .18s ease, color .18s ease;
}
.pill input:checked + span{ background: var(--gold); color: var(--parchment-warm); }
.pill input:focus-visible + span{ outline: 2px solid var(--ink); outline-offset: 2px; }

.seg{ display:inline-flex; border:1px solid var(--gold); }
.seg label{ position:relative; }
.seg input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.seg span{
  display:inline-block; font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink);
  padding: var(--sp-sm) var(--sp-lg);
}
.seg label + label span{ border-left:1px solid var(--gold); }
.seg input:checked + span{ background: var(--gold); color: var(--parchment-warm); }
.seg input:focus-visible + span{ outline: 2px solid var(--ink); outline-offset: -2px; }

/* honeypot — kept out of the flow + off assistive tech */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* file input */
input[type=file]{
  width:100%; font-family: var(--font-mono); font-size: var(--phi-1);
  color: var(--ink-soft); padding: var(--sp-sm) 0;
}
input[type=file]::file-selector-button{
  font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.12em;
  text-transform: uppercase; color: var(--ink); cursor:pointer;
  background: transparent; border:1px solid var(--gold);
  padding: var(--sp-sm) var(--sp-md); margin-right: var(--sp-md);
}

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap: var(--sp-md);
  font-family: var(--font-mono); font-size: var(--phi-1);
  letter-spacing: .2em; text-transform: uppercase; text-decoration:none;
  cursor:pointer; border:1px solid transparent; border-radius:0;
  padding: var(--sp-md) var(--sp-xl); transition: background .22s ease, color .22s ease;
}
.btn-primary{ background: var(--gold-soft); color: var(--parchment-warm); font-weight:500; }
.btn-primary:hover{ background: var(--gold); }
.btn-primary:disabled{ opacity:.5; cursor:not-allowed; }
.btn-ghost{ background: transparent; color: var(--ink); border-color: var(--gold); }
.btn-ghost:hover{ background: var(--gold); color: var(--parchment-warm); }
.btn-danger{ background: transparent; color: var(--vermillion); border-color: var(--vermillion); }
.btn-danger:hover{ background: var(--vermillion); color: var(--parchment-warm); }
.btn-danger:disabled{ opacity:.5; cursor:not-allowed; }
.btn:focus-visible{ outline: 2px solid var(--ink); outline-offset: 3px; }
.btn .ring{
  width:1.618rem; height:1.618rem; border:1px solid currentColor; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; font-size:.9em;
}

.form-actions{ margin-top: var(--sp-xl); display:flex; align-items:center; gap: var(--sp-lg); }
.err{ color: var(--vermillion); font-family: var(--font-mono); font-size: var(--phi-1); }

/* success / sealed panel */
.panel{
  margin-top: var(--sp-2xl); border:1px solid var(--gold); background: var(--parchment-warm);
  padding: var(--sp-2xl); text-align:center;
}
.panel .seal{
  width:3.2rem; height:3.2rem; margin:0 auto var(--sp-lg);
  border:1px solid var(--gold); border-radius:50%; color: var(--gold-deep);
  display:flex; align-items:center; justify-content:center; font-size: var(--phi-3);
}
.panel h2{ font-family: var(--font-serif-display); font-weight:400; font-size: var(--phi-4); }
.panel p{ margin-top: var(--sp-md); color: var(--ink-soft); font-family: var(--font-serif); }

/* ================= dashboard ================= */
.dash-head{ display:flex; align-items:flex-end; justify-content:space-between; gap: var(--sp-lg); flex-wrap:wrap; }
.filters{ display:flex; flex-wrap:wrap; gap: var(--sp-sm); margin-top: var(--sp-xl); }
.chip{
  font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.14em;
  text-transform: uppercase; color: var(--ink-soft); cursor:pointer;
  background: transparent; border:1px solid var(--ink-line); border-radius:2rem;
  padding: var(--sp-sm) var(--sp-md); transition: all .18s ease;
}
.chip[aria-pressed="true"]{ color: var(--ink); border-color: var(--gold); background: rgba(168,130,60,.12); }
.chip:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.chip .n{ color: var(--gold-deep); }

/* SET STATUS buttons (drawer) — each option carries its pipeline hue idle; the
   active status fills solid so it reads at a glance. --st is set per data-status. */
.status-set{ display:flex; flex-wrap:wrap; gap: var(--sp-sm); }
.status-set .chip{ color: var(--st); border-color: color-mix(in srgb, var(--st) 42%, transparent); }
.status-set .chip[data-status="new"]{       --st: var(--st-new); }
.status-set .chip[data-status="reviewed"]{  --st: var(--st-reviewed); }
.status-set .chip[data-status="contacted"]{ --st: var(--st-contacted); }
.status-set .chip[data-status="hired"]{     --st: var(--st-hired); }
.status-set .chip[data-status="declined"]{  --st: var(--st-declined); }
.status-set .chip:hover{ border-color: var(--st); background: color-mix(in srgb, var(--st) 9%, transparent); }
.status-set .chip[aria-pressed="true"]{ color: var(--parchment-warm); background: var(--st); border-color: var(--st); font-weight:500; }

.toolbar-right{ display:flex; gap: var(--sp-md); align-items:center; }
.who{ font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.1em; color: var(--ink-soft); }

.table-wrap{ margin-top: var(--sp-lg); overflow-x:auto; }
table.apps{ width:100%; border-collapse:collapse; min-width: 52rem; }
.apps thead th{
  text-align:left; font-family: var(--font-mono); font-size: var(--phi-0);
  letter-spacing:.22em; text-transform:uppercase; color: var(--gold-deep);
  padding: var(--sp-md); border-bottom:1px solid var(--gold);
}
.apps tbody td{ padding: var(--sp-md); border-bottom:1px solid var(--ink-line); font-size: var(--phi-2); vertical-align:middle; }
.apps tbody tr:hover{ background: rgba(245,239,226,.6); }
.apps .c-date{ font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink-soft); white-space:nowrap; }
.apps .c-name{ font-family: var(--font-serif); font-size: var(--phi-3); }
.apps .c-pos{ font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.08em; color: var(--ink-soft); }
.apps .c-contact{ font-family: var(--font-mono); font-size: var(--phi-1); }

/* status badges — FILLED by status hue (parchment-warm text on the deep --st
   color; each --st is luminance <= .15 so the label clears AA on its fill). */
.badge{
  font-family: var(--font-mono); font-size: var(--phi-0); letter-spacing:.16em;
  text-transform:uppercase; padding: .2rem .6rem; border:1px solid transparent; border-radius:2rem;
  white-space:nowrap; color: var(--parchment-warm);
}
.badge.new{      background: var(--st-new);      border-color: var(--st-new); }
.badge.reviewed{ background: var(--st-reviewed); border-color: var(--st-reviewed); }
.badge.contacted{background: var(--st-contacted);border-color: var(--st-contacted); }
.badge.hired{    background: var(--st-hired);    border-color: var(--st-hired); }
.badge.declined{ background: var(--st-declined); border-color: var(--st-declined); }

.link-view{
  font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.12em; text-transform:uppercase;
  color: var(--ink); text-decoration:none; border:1px solid var(--ink-line); padding: var(--sp-xs) var(--sp-md);
}
.link-view:hover{ border-color: var(--gold); color: var(--gold-deep); }

.empty, .loading{ text-align:center; padding: var(--sp-3xl) var(--sp-lg); color: var(--ink-soft); font-family: var(--font-serif); font-style:italic; }

/* detail drawer */
.drawer-bg{ position:fixed; inset:0; background: rgba(26,23,18,.5); opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:40; }
.drawer-bg.open{ opacity:1; pointer-events:auto; }
.drawer{
  position:fixed; top:0; right:0; bottom:0; width: min(30rem, 92vw); z-index:41;
  background: var(--parchment); border-left:1px solid var(--gold);
  transform: translateX(100%); transition: transform .24s cubic-bezier(.19,1,.22,1);
  overflow-y:auto; padding: var(--sp-2xl) var(--sp-xl);
}
.drawer.open{ transform:none; }
.drawer .close{ position:absolute; top: var(--sp-lg); right: var(--sp-lg); background:none; border:none; cursor:pointer; font-size: var(--phi-4); color: var(--ink-soft); line-height:1; }
.drawer h3{ font-family: var(--font-serif-display); font-weight:400; font-size: var(--phi-4); margin-bottom: var(--sp-xs); }
.drawer .sub{ font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink-soft); margin-bottom: var(--sp-lg); }
.drow{ padding: var(--sp-md) 0; border-bottom:1px solid var(--ink-line); }
.drow .k{ font-family: var(--font-mono); font-size: var(--phi-0); letter-spacing:.2em; text-transform:uppercase; color: var(--gold-deep); }
.drow .v{ margin-top: var(--sp-xs); font-size: var(--phi-2); color: var(--ink); white-space:pre-wrap; }
.status-set{ margin-top: var(--sp-lg); display:flex; flex-wrap:wrap; gap: var(--sp-sm); }
.del-zone{ margin-top: var(--sp-xl); padding-top: var(--sp-lg); border-top:1px solid var(--ink-line); }
.del-warn{ font-family: var(--font-serif); color: var(--ink-soft); font-size: var(--phi-1); line-height:1.5; margin-bottom: var(--sp-md); }
.del-actions{ display:flex; flex-wrap:wrap; gap: var(--sp-md); }

/* ================= tabs (dashboard: Applications | Traffic) ================= */
.tabs{ display:flex; gap: var(--sp-md); margin-top: var(--sp-xl); border-bottom:1px solid var(--ink-line); }
.tab{
  font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.16em;
  text-transform:uppercase; color: var(--ink-soft); cursor:pointer;
  background:none; border:none; border-bottom:2px solid transparent;
  padding: var(--sp-sm) var(--sp-xs) var(--sp-md); transition: color .18s ease, border-color .18s ease;
}
.tab[aria-selected="true"]{ color: var(--ink); border-bottom-color: var(--gold); }
.tab:hover{ color: var(--gold-deep); }
.tab:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }

/* ================= traffic view ================= */
.tbanner{
  display:flex; gap: var(--sp-md); align-items:flex-start;
  background: var(--parchment-warm); border-left:2px solid var(--gold);
  padding: var(--sp-md) var(--sp-lg); margin-top: var(--sp-lg);
}
.tbanner .k{
  font-family: var(--font-mono); font-size: var(--phi-0); letter-spacing:.14em;
  text-transform:uppercase; color: var(--gold-deep); white-space:nowrap; padding-top:.2rem;
}
.tbanner p{ font-family: var(--font-serif); font-size: var(--phi-1); color: var(--ink-soft); line-height:1.6; }
.tbanner b{ color: var(--ink); font-weight:500; }
.tmeta{
  display:flex; align-items:center; justify-content:space-between; gap: var(--sp-md);
  flex-wrap:wrap; margin-top: var(--sp-lg);
  font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.08em; color: var(--ink-soft);
}
.kpis{ display:grid; grid-template-columns:repeat(5,1fr); gap: var(--sp-md); margin-top: var(--sp-lg); }
.kpi{ background: var(--parchment-warm); border:1px solid var(--gold-soft); padding: var(--sp-lg) var(--sp-md); }
.kpi .label{ font-family: var(--font-mono); font-size: var(--phi-0); letter-spacing:.16em; text-transform:uppercase; color: var(--ink-soft); }
.kpi .value{ font-family: var(--font-display); font-weight:500; font-size: var(--phi-4); line-height:1.1; color: var(--ink); margin-top: var(--sp-xs); letter-spacing:.01em; }
.kpi .value .u{ font-size: var(--phi-1); color: var(--ink-soft); font-weight:400; }
.kpi .sub{ font-family: var(--font-mono); font-size:.52rem; letter-spacing:.1em; text-transform:uppercase; color: var(--ink-soft); opacity:.85; margin-top: var(--sp-xs); }
.kpi.accent .value{ color: var(--gold-deep); }

.tcharts{ display:grid; grid-template-columns:1fr 1fr; gap: var(--sp-lg); margin-top: var(--sp-xl); }
.tchart{ background: var(--parchment-warm); border:1px solid var(--gold-soft); padding: var(--sp-lg); }
.tchart h4{ font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.16em; text-transform:uppercase; color: var(--ink-soft); font-weight:400; margin-bottom: var(--sp-lg); }
.tbars{ display:flex; align-items:flex-end; gap: var(--sp-sm); height:140px; }
.tbar-col{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; }
.tbar-v{ font-family: var(--font-mono); font-size: var(--phi-0); color: var(--ink); margin-bottom: var(--sp-xs); }
.tbar{ width:100%; max-width:2.2rem; background: var(--gold-deep); border-radius:3px 3px 0 0; min-height:2px; transition: background .18s ease; }
.tbar-col:hover .tbar{ background: var(--gold); }
.tbar-col.partial .tbar{ background: repeating-linear-gradient(135deg, var(--gold-deep) 0 5px, var(--gold-soft) 5px 9px); }
.tbar-x{ font-family: var(--font-mono); font-size:.52rem; letter-spacing:.06em; color: var(--ink-soft); margin-top: var(--sp-sm); }

.apps.traffic{ min-width: 40rem; }
.apps.traffic th, .apps.traffic td{ text-align:right; }
.apps.traffic th:first-child, .apps.traffic td:first-child{ text-align:left; }
/* pad every traffic cell (base padding only targets tbody td, so tfoot fell to
   zero and shifted the totals row left of the body columns) */
.apps.traffic td{ padding: var(--sp-md); font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink); }
.apps.traffic tfoot td{ border-top:1px solid var(--gold); border-bottom:none; font-weight:500; }
.apps.traffic tfoot td:first-child{ color: var(--gold-deep); letter-spacing:.1em; text-transform:uppercase; font-size: var(--phi-0); }
.tnote{ margin-top: var(--sp-lg); font-family: var(--font-serif); font-style:italic; color: var(--ink-soft); font-size: var(--phi-1); line-height:1.6; max-width: 60ch; }

/* ================= events console (owner: guest list) ================= */
.ev-layout{ display:grid; grid-template-columns: 20rem 1fr; gap: var(--sp-xl); margin-top: var(--sp-xl); align-items:start; }
.ev-list-head{ display:flex; align-items:center; justify-content:space-between; gap: var(--sp-md); margin-bottom: var(--sp-lg); }
.ev-list-head h2{ font-family: var(--font-serif-display); font-weight:400; font-size: var(--phi-3); }
#ev-list{ display:flex; flex-direction:column; gap: var(--sp-sm); }
.ev-item{
  display:block; width:100%; text-align:left; cursor:pointer;
  background: var(--parchment-warm); border:1px solid var(--ink-line); border-left:2px solid transparent;
  padding: var(--sp-md); transition: border-color .16s ease, background .16s ease;
}
.ev-item:hover{ border-color: var(--gold-soft); }
.ev-item.active{ border-left-color: var(--gold); background: #fff; }
.ev-item-top{ display:flex; align-items:center; gap: var(--sp-sm); flex-wrap:wrap; margin-bottom: var(--sp-sm); }
.ev-badge{ font-family: var(--font-mono); font-size:.52rem; letter-spacing:.14em; text-transform:uppercase; padding:.15rem .5rem; border-radius:2rem; border:1px solid transparent; }
.ev-badge.pub{ background: var(--st-hired); color: var(--parchment-warm); }
.ev-badge.draft{ background: transparent; color: var(--ink-soft); border-color: var(--ink-line); }
.ev-badge.st{ background: var(--st-declined); color: var(--parchment-warm); }
.ev-admits{ margin-left:auto; font-family: var(--font-mono); font-size:.52rem; letter-spacing:.08em; text-transform:uppercase; color: var(--gold-deep); }
.ev-item-title{ font-family: var(--font-display); font-weight:500; font-size: var(--phi-2); letter-spacing:.02em; color: var(--ink); }
.ev-item-date{ font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink-soft); margin-top:.15rem; }

.ev-detail-pane .empty{ padding: var(--sp-2xl) var(--sp-lg); }
.ev-form h3{ font-family: var(--font-serif-display); font-weight:400; font-size: var(--phi-4); margin-bottom: var(--sp-lg); }
.ev-form-actions{ margin-top: var(--sp-lg); display:flex; align-items:center; gap: var(--sp-md); flex-wrap:wrap; }
.ev-flyer-cur{ display:flex; align-items:center; gap: var(--sp-md); margin-bottom: var(--sp-sm); }
.ev-flyer-cur img{ width:4rem; height:4rem; object-fit:cover; border:1px solid var(--gold-soft); }
.ev-flyer-cur span{ font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink-soft); }

/* checkbox rows (shared with the public guest-list form) */
.gl-check{ display:flex; align-items:center; gap: var(--sp-sm); cursor:pointer; margin: var(--sp-md) 0; }
.gl-check input{ width:1.15rem; height:1.15rem; accent-color: var(--gold-deep); flex:none; }
.gl-check span{ font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.08em; text-transform:uppercase; color: var(--ink); }
.ev-pub span{ color: var(--gold-deep); }

.ev-entries{ margin-top: var(--sp-2xl); padding-top: var(--sp-lg); border-top:1px solid var(--gold); }
.ev-entries-head{ display:flex; align-items:baseline; justify-content:space-between; gap: var(--sp-md); flex-wrap:wrap; margin-bottom: var(--sp-lg); }
.ev-entries-head h3{ font-family: var(--font-serif-display); font-weight:400; font-size: var(--phi-3); }
.ev-admits-total{ font-family: var(--font-mono); font-size: var(--phi-1); letter-spacing:.08em; text-transform:uppercase; color: var(--gold-deep); }
.ev-entries-actions{ display:flex; gap: var(--sp-md); }
.ev-del-confirm{ background: var(--parchment-warm); border:1px solid var(--vermillion); padding: var(--sp-lg); margin-bottom: var(--sp-lg); }
.ev-table{ min-width: 40rem; }
.ev-table .ev-plus{ color: var(--gold-deep); font-weight:500; }
.ev-table .ev-ph{ font-family: var(--font-mono); font-size: var(--phi-1); color: var(--ink-soft); }

@media (max-width: 760px){
  .ev-layout{ grid-template-columns:1fr; }
}

@media (max-width: 620px){
  .topbar{ padding: var(--sp-md) var(--sp-lg); }
  .wrap{ padding: var(--sp-xl) var(--sp-lg) var(--sp-2xl); }
  .page-title{ font-size: var(--phi-4); }
  .form-field.two{ grid-template-columns:1fr; }
  .kpis{ grid-template-columns:repeat(2,1fr); }
  .tcharts{ grid-template-columns:1fr; }
}

/* ================= print (owner: guest-list print view) ================= */
#printroot{ display:none; }
@media print{
  /* hide the whole console; show only the print root */
  body > header, body > main, .drawer, .drawer-bg{ display:none !important; }
  #printroot{ display:block !important; }
  #printroot .print-head{ margin-bottom: 1rem; }
  #printroot .print-head h1{ font-family: var(--font-display); font-weight:500; font-size: 22pt; text-transform:uppercase; letter-spacing:.02em; }
  #printroot .print-head p{ font-family: var(--font-mono); font-size: 10pt; color:#333; margin-top:.25rem; }
  #printroot .print-table{ width:100%; border-collapse:collapse; }
  #printroot .print-table th, #printroot .print-table td{ text-align:left; padding:.35rem .5rem; border-bottom:1px solid #999; font-family: var(--font-display); font-size: 12pt; }
  #printroot .print-table th{ font-family: var(--font-mono); font-size: 9pt; text-transform:uppercase; letter-spacing:.1em; border-bottom:2px solid #333; }
  #printroot .print-table th:first-child, #printroot .print-table td:first-child{ width:2.5rem; color:#666; }
  #printroot .print-table th:last-child, #printroot .print-table td:last-child{ width:4rem; }
  @page{ margin: 1.6cm; }
}
