/* Startup Summit 2026 — Painel de Programação
   Conceito: painel de partidas de aeroporto / cartão de embarque.
   O evento acontece em "Palcos" (gates), com horários precisos e
   trilhas codificadas por cor — a mesma lógica de um terminal. */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#07111F;
  --bg-alt:#0A1626;
  --surface:#0D1A2E;
  --surface-raised:#12213A;
  --surface-hi:#172641;
  --hairline:rgba(255,255,255,0.10);
  --hairline-soft:rgba(255,255,255,0.055);
  --border-strong:rgba(255,255,255,0.18);
  --paper:#F7F8FA;
  --paper-dim:#CBD4E1;
  --muted:#8C97AB;
  --muted-2:#687892;
  --amber:#F5B400;
  --amber-hover:#FFC72C;
  --amber-ink:#1A1200;
  --violet:#7A5CFF;
  --green-ok:#56D58A;
  --red-warn:#FF6B7A;

  --font-display:'Barlow Condensed','Bebas Neue',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-mono:'Inter',ui-monospace,monospace;

  --grad-hero:linear-gradient(120deg,#07111F 0%,#0A1930 55%,#21124D 100%);
  --grad-accent:linear-gradient(135deg,#F5B400 0%,#FFCF54 100%);

  --radius:14px;
  --radius-sm:9px;
  --nav-h:64px;
  --tab-h:56px;
}
.session-time,.flap-num,.day-card-num,.results-meta,.agenda-stat b,.timetable td.time-cell{font-variant-numeric:tabular-nums}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--ink);
  background-image:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(125,178,255,0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 0%, rgba(245,179,1,0.07), transparent 55%);
  background-attachment:fixed;
  color:var(--paper);
  font-family:var(--font-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;letter-spacing:0.01em;margin:0;color:var(--paper)}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--amber);color:var(--amber-ink)}

:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- App shell ---------- */
.app{max-width:1180px;margin:0 auto;padding:0 20px 96px}

.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(11,17,32,0.86);
  backdrop-filter:blur(10px) saturate(140%);
  border-bottom:1px solid var(--hairline-soft);
}
.topbar-inner{
  max-width:1180px;margin:0 auto;padding:0 20px;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.brand-mark{
  width:34px;height:34px;border-radius:7px;
  background:linear-gradient(155deg,var(--amber),#c98a00);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:900;color:var(--amber-ink);font-size:16px;
  box-shadow:0 2px 8px rgba(245,179,1,0.25);
  flex:0 0 auto;
}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:0.02em}
.brand-text span{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}

.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;min-width:0;flex:0 1 auto}
.tabs::-webkit-scrollbar{display:none}
.tab-btn{
  appearance:none;border:0;background:transparent;color:var(--muted);
  font-family:var(--font-body);font-weight:600;font-size:13.5px;
  padding:8px 13px;border-radius:8px;white-space:nowrap;
  transition:background .15s,color .15s;
}
.tab-btn:hover{color:var(--paper);background:var(--surface-raised)}
.tab-btn[aria-selected="true"]{color:var(--amber-ink);background:var(--amber)}

.agenda-count-pill{
  display:none;
  align-items:center;justify-content:center;
  min-width:16px;height:16px;padding:0 4px;margin-left:6px;
  background:var(--red-warn);color:#2a0000;
  font-family:var(--font-mono);font-size:10px;font-weight:700;border-radius:8px;
}
.agenda-count-pill.show{display:inline-flex}

/* ---------- Hero ---------- */
.hero{padding:44px 0 30px;border-bottom:1px solid var(--hairline-soft);margin-bottom:32px}
.hero-eyebrow{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--amber);margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.hero-eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(245,179,1,0.18)}
.hero h1{font-size:clamp(38px,7vw,68px);line-height:0.92;text-transform:uppercase}
.hero-title-link{color:inherit;text-decoration:none}
.hero-title-link:hover{text-decoration:underline;text-underline-offset:6px}
.hero-sub{
  margin-top:12px;color:var(--paper-dim);font-size:15.5px;max-width:56ch;
}
.hero-sub b{color:var(--paper);font-weight:600}

.flap-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.flap{
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);
  padding:10px 16px 8px;min-width:96px;position:relative;overflow:hidden;
}
.flap::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,0.14)}
.flap::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(0,0,0,0.35);z-index:1}
.flap-num{
  font-family:var(--font-mono);font-weight:700;font-size:26px;color:var(--paper);
  display:block;line-height:1;
}
.flap-label{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);display:block;margin-top:5px;
}
@media (prefers-reduced-motion:no-preference){
  .flap-num{animation:flapin .5s cubic-bezier(.2,.8,.2,1) both}
  .flap:nth-child(1) .flap-num{animation-delay:.02s}
  .flap:nth-child(2) .flap-num{animation-delay:.08s}
  .flap:nth-child(3) .flap-num{animation-delay:.14s}
  .flap:nth-child(4) .flap-num{animation-delay:.2s}
}
@keyframes flapin{
  0%{transform:translateY(-40%) scaleY(0.4);opacity:0;filter:blur(1px)}
  60%{transform:translateY(4%) scaleY(1.05);opacity:1}
  100%{transform:translateY(0) scaleY(1)}
}

/* ---------- Section headers ---------- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.section-head h2{font-size:26px;text-transform:uppercase}
.section-head .hint{font-size:13px;color:var(--muted)}

/* ---------- Panel/Dashboard ---------- */
.panel-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:28px}
@media (max-width:760px){.panel-grid{grid-template-columns:1fr}}

.card{
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:20px;
}
.card h3{font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:600;margin-bottom:16px}

.track-bars{display:flex;flex-direction:column;gap:11px}
.track-bar-row{display:grid;grid-template-columns:128px 1fr 34px;align-items:center;gap:10px}
.track-bar-name{font-size:12.5px;font-weight:600;color:var(--paper-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track-bar-track{height:9px;background:var(--surface-raised);border-radius:5px;overflow:hidden;display:flex}
.track-bar-seg{height:100%;opacity:0.92}
.track-bar-total{font-family:var(--font-mono);font-size:12px;color:var(--muted);text-align:right}

.day-cards{display:flex;flex-direction:column;gap:10px}
.day-card{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-sm);
  padding:12px 14px;
}
.day-card-name{font-weight:700;font-size:14px}
.day-card-name span{display:block;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);font-weight:400;margin-top:2px;text-transform:uppercase}
.day-card-num{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--amber)}

.confidence-note{
  display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px dashed var(--hairline);
  border-radius:var(--radius);padding:14px 16px;font-size:13px;color:var(--muted-2);margin-bottom:28px;
}
.confidence-note strong{color:var(--paper-dim)}

/* ---------- Filters ---------- */
.filters{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;align-items:center;
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:12px;
}
.search-wrap{position:relative;flex:1 1 220px;min-width:180px}
.search-wrap input{
  width:100%;background:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);
  padding:9px 12px 9px 32px;color:var(--paper);font-family:var(--font-body);font-size:13.5px;
}
.search-wrap input::placeholder{color:var(--muted-2)}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:0.5;pointer-events:none}

.chip-select{
  appearance:none;background:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);
  color:var(--paper-dim);font-family:var(--font-body);font-size:13px;font-weight:600;
  padding:9px 30px 9px 12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b93a9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}

.track-toggle-row{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.track-toggle{
  appearance:none;border:1px solid var(--hairline);background:var(--ink);color:var(--paper-dim);
  font-family:var(--font-body);font-weight:600;font-size:12.5px;padding:6px 11px 6px 9px;
  border-radius:20px;display:flex;align-items:center;gap:6px;transition:all .12s;
}
.track-toggle .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.track-toggle[aria-pressed="true"]{background:var(--surface-hi);border-color:var(--amber);color:var(--paper)}
.track-toggle:hover{border-color:var(--muted)}

.results-meta{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);margin:2px 0 14px;text-transform:uppercase;letter-spacing:0.04em}

/* ---------- Session list / cards ---------- */
.day-group{margin-bottom:30px}
.day-group-title{
  font-family:var(--font-mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
}
.day-group-title::after{content:'';flex:1;height:1px;background:var(--hairline-soft)}

.session-list{display:flex;flex-direction:column;gap:8px}

.session-card{
  display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:12px 14px;border-left:3px solid var(--track-color, var(--hairline));
  transition:background .12s,border-color .12s;
}
.session-card:hover{background:var(--surface-raised)}
.session-time{
  font-family:var(--font-mono);font-weight:700;font-size:16px;color:var(--paper);
  background:var(--ink);border:1px solid var(--hairline);border-radius:6px;
  text-align:center;padding:6px 2px;line-height:1.1;
}
.session-time small{display:block;font-size:8.5px;color:var(--muted);font-weight:500;margin-top:2px;letter-spacing:0.04em}
.session-body{min-width:0}
.session-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:5px;align-items:center}
.track-pill{
  font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
  padding:2.5px 8px;border-radius:20px;color:#0b1120;white-space:nowrap;
}
.stage-tag{
  font-family:var(--font-mono);font-size:10.5px;color:var(--muted);border:1px solid var(--hairline);
  padding:2px 7px;border-radius:20px;white-space:nowrap;
}
.confidence-flag{font-size:10px;color:var(--muted-2);cursor:help}
.session-title{font-weight:700;font-size:14.5px;color:var(--paper);margin:0 0 3px}
.session-speakers{font-size:12.5px;color:var(--muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.add-btn{
  appearance:none;border:1px solid var(--hairline);background:var(--ink);color:var(--paper-dim);
  width:40px;height:40px;border-radius:50%;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;
  transition:all .12s;flex:0 0 auto;
}
.add-btn:hover{border-color:var(--amber);color:var(--amber)}
.add-btn.active{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.add-btn.active:hover{color:var(--amber-ink)}

.empty-state{
  text-align:center;padding:60px 20px;color:var(--muted);border:1px dashed var(--hairline);border-radius:var(--radius);
}
.empty-state .icon{font-size:34px;margin-bottom:12px;opacity:0.6}
.empty-state h3{font-family:var(--font-body);font-size:17px;color:var(--paper-dim);margin-bottom:6px;font-weight:700}
.empty-state p{font-size:13.5px;max-width:36ch;margin:0 auto}

/* ---------- Day grid (26/27/28 Ago) ---------- */
.day-picker{display:flex;gap:8px;margin-bottom:18px}
.day-pick-btn{
  flex:1;min-width:0;border:1px solid var(--hairline);background:var(--surface);border-radius:var(--radius);
  padding:12px;text-align:left;transition:all .12s;color:var(--paper-dim);
}
.day-pick-btn strong{display:block;font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--paper);text-transform:uppercase}
.day-pick-btn span{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);text-transform:uppercase}
.day-pick-btn[aria-pressed="true"]{border-color:var(--amber);background:var(--surface-hi)}
.day-pick-btn:hover{border-color:var(--muted)}

.grid-scroll{overflow-x:auto;overflow-y:visible;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface)}
.timetable{width:100%;border-collapse:separate;border-spacing:0;min-width:960px}
.timetable th{
  background:var(--surface-raised);
  font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.05em;
  color:var(--paper-dim);text-align:left;padding:10px 10px;border-bottom:1px solid var(--hairline);white-space:nowrap;
}
.timetable th:first-child{background:var(--surface-raised);min-width:64px}
.timetable td{
  border-bottom:1px solid var(--hairline-soft);border-right:1px solid var(--hairline-soft);
  padding:8px;vertical-align:top;min-width:172px;
}
.timetable tr:first-child td{border-top:1px solid var(--hairline-soft)}
.timetable td.time-cell{
  background:var(--surface);
  font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--amber);
  text-align:center;vertical-align:middle;
}
.grid-item{
  background:var(--ink);border:1px solid var(--hairline);border-left:3px solid var(--track-color,var(--hairline));
  border-radius:6px;padding:7px 8px;margin-bottom:6px;font-size:11.5px;position:relative;
}
.grid-item:last-child{margin-bottom:0}
.grid-item .stage-tag{font-size:9px;padding:1px 5px;margin-bottom:3px;display:inline-block}
.grid-item .gi-title{display:block;font-weight:700;color:var(--paper);line-height:1.25;margin-bottom:2px}
.grid-item .gi-speakers{display:block;color:var(--muted);font-size:10.5px;line-height:1.3}
.grid-item .gi-add{
  position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;border:1px solid var(--hairline);
  background:var(--surface);color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:center;
}
.grid-item .gi-add.active{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}

/* mobile stacked agenda-by-time (replaces grid table) */
.grid-mobile{display:none;flex-direction:column;gap:18px}
.grid-mobile .slot-time{
  font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--amber);
  margin-bottom:8px;display:flex;align-items:center;gap:8px;
}
.grid-mobile .slot-time::after{content:'';flex:1;height:1px;background:var(--hairline-soft)}

@media (max-width:820px){
  .grid-scroll{display:none}
  .grid-mobile{display:flex}
}

/* ---------- Minha Agenda ---------- */
.agenda-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:22px;
}
.agenda-stats{display:flex;gap:18px;flex-wrap:wrap}
.agenda-stat{font-family:var(--font-mono)}
.agenda-stat b{font-size:22px;color:var(--paper);display:block;font-weight:700}
.agenda-stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em}
.agenda-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{
  border:1px solid var(--hairline);background:var(--surface);color:var(--paper-dim);
  font-weight:600;font-size:12.5px;padding:9px 14px;border-radius:var(--radius-sm);transition:all .12s;
}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.danger:hover{border-color:var(--red-warn);color:var(--red-warn)}

.conflict-tag{
  display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--red-warn);
  background:rgba(255,140,140,0.1);border:1px solid rgba(255,140,140,0.3);padding:2px 7px;border-radius:20px;
  margin-left:6px;font-family:var(--font-mono);
}

.persistence-note{
  display:flex;gap:12px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:16px;margin-top:34px;font-size:13px;color:var(--muted-2);
}
.persistence-note .pn-icon{
  font-family:var(--font-mono);font-weight:700;font-size:11px;color:var(--amber);
  background:var(--ink);border:1px solid var(--hairline);border-radius:6px;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.persistence-note strong{color:var(--paper-dim)}

/* ---------- Legenda ---------- */
.legend-grid{display:flex;flex-direction:column;gap:2px;border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}
.legend-row{
  display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 18px;background:var(--surface);
  border-bottom:1px solid var(--hairline-soft);
}
.legend-row:last-child{border-bottom:none}
.legend-track{display:flex;align-items:center;gap:10px}
.legend-track .dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.legend-track b{font-size:14.5px}
.legend-crit p{margin:0;font-size:13.5px;color:var(--paper-dim);line-height:1.5}
.legend-crit small{display:block;margin-top:4px;color:var(--muted-2);font-size:12px}
@media (max-width:640px){.legend-row{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{
  margin-top:60px;padding-top:24px;border-top:1px solid var(--hairline-soft);
  color:var(--muted-2);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.site-footer .mono{font-family:var(--font-mono)}
.site-footer .mono a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-footer .mono a:hover{color:var(--amber)}

/* ---------- View visibility ---------- */
.view{display:none}
.view.active{display:block;animation:viewin .25s ease both}
@keyframes viewin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}
}

@media (max-width:640px){
  .app{padding:0 14px 96px}
  .hero{padding:30px 0 24px}
  .session-card{grid-template-columns:52px 1fr;grid-template-rows:auto auto;row-gap:10px}
  .session-time{grid-column:1;grid-row:1;width:52px;font-size:14px;justify-self:start}
  .add-btn{grid-column:2;grid-row:1;justify-self:end;align-self:start}
  .session-body{grid-column:1 / -1;grid-row:2}
  .panel-grid{gap:12px}
}

/* ---------- Botón de tema ---------- */
.theme-toggle{
  appearance:none;border:1px solid var(--hairline);background:var(--surface);color:var(--paper-dim);
  width:34px;height:34px;border-radius:8px;font-size:15px;flex:0 0 auto;margin-left:4px;
  display:flex;align-items:center;justify-content:center;transition:all .12s;
}
.theme-toggle:hover{border-color:var(--amber);color:var(--amber)}

/* ---------- Franja de patrocinadores ---------- */
.sponsor-strip{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:12px 16px;margin-bottom:28px;
}
.sponsor-strip-label{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);flex:0 0 auto;
}
.sponsor-chips{display:flex;gap:10px;flex-wrap:wrap;flex:1}
.sponsor-chip{
  display:flex;align-items:center;gap:8px;background:var(--ink);border:1px solid var(--hairline);
  border-radius:var(--radius-sm);padding:8px 12px;text-decoration:none;
}
.sponsor-chip:hover{border-color:var(--muted)}
.sponsor-chip .sp-logo{height:20px;width:auto}
.sponsor-chip .sp-name{font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--paper);letter-spacing:0.01em;text-transform:uppercase}
.sponsor-chip .sp-tier{font-family:var(--font-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}

/* =====================================================================
   TEMA CLARO — "boarding pass" en papel. Override de tokens sobre :root.
   ===================================================================== */
:root[data-theme="light"]{
  color-scheme:light;
  --ink:#ffffff;
  --surface:#faf7f0;
  --surface-raised:#f2ece0;
  --surface-hi:#e9e1d1;
  --hairline:#ded6c6;
  --hairline-soft:#ebe5d8;
  --paper:#182338;
  --paper-dim:#3d4665;
  --muted:#6b7288;
  --muted-2:#8a90a2;
  --amber:#bd7f08;
  --amber-ink:#fff8e6;
  --green-ok:#1f9d63;
  --red-warn:#cf4646;
}
:root[data-theme="light"] body{
  background:#efe9dc;
  background-image:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(24,35,56,0.06), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 0%, rgba(189,127,8,0.08), transparent 55%);
}
:root[data-theme="light"] .topbar{background:rgba(250,247,240,0.86)}
:root[data-theme="light"] .brand-mark{color:#fff8e6}
:root[data-theme="light"] .tab-btn[aria-selected="true"]{color:#fff8e6}
:root[data-theme="light"] .track-pill{color:#ffffff}
:root[data-theme="light"] .add-btn.active,
:root[data-theme="light"] .grid-item .gi-add.active,
:root[data-theme="light"] .day-card-num,
:root[data-theme="light"] .timetable td.time-cell,
:root[data-theme="light"] .grid-mobile .slot-time,
:root[data-theme="light"] .persistence-note .pn-icon{color:var(--amber)}
:root[data-theme="light"] .add-btn.active,
:root[data-theme="light"] .grid-item .gi-add.active,
:root[data-theme="light"] .tab-btn[aria-selected="true"]{color:#fff8e6}
:root[data-theme="light"] .flap::after{background:rgba(0,0,0,0.05)}
:root[data-theme="light"] .flap::before{background:rgba(0,0,0,0.10)}
:root[data-theme="light"] .conflict-tag{background:rgba(207,70,70,0.08);border-color:rgba(207,70,70,0.3);color:var(--red-warn)}
:root[data-theme="light"] .agenda-count-pill{color:#fff}

/* =====================================================================
   ECOMMERCE DAY — componentes de marca, sponsors, media, features
   ===================================================================== */

/* Co-branding en el header */
.org-mark{
  width:34px;height:34px;border-radius:8px;background:var(--surface-hi);border:1px solid var(--hairline);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  font-family:var(--font-display);font-weight:800;font-size:16px;color:var(--paper);
}
.org-mark img,.brand-mark img{width:100%;height:100%;object-fit:contain}
.cobrand-x{color:var(--muted-2);font-size:12px;font-weight:600;margin:0 -2px}
.brand-mark{background:var(--grad-accent);box-shadow:0 2px 10px rgba(245,180,0,0.25)}

/* Botón de variante (reusa .theme-toggle) */
.theme-toggle{width:auto;padding:0 12px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.05em;gap:6px}

/* Hero con media */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:46px 30px 34px;margin-bottom:30px;background:var(--grad-hero);
}
.hero > *{position:relative;z-index:2}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:'';position:absolute;inset:0;background:var(--hero-overlay,linear-gradient(90deg,rgba(7,17,31,.96),rgba(7,17,31,.55)))}
.hero-lockup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.lockup-chip{
  display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,0.06);
  border:1px solid var(--hairline);border-radius:20px;padding:5px 12px 5px 8px;
}
.lockup-chip .lk-mark{
  width:20px;height:20px;border-radius:5px;background:var(--surface-hi);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:11px;color:var(--paper);
}
.lockup-chip.is-event .lk-mark{background:var(--grad-accent);color:var(--amber-ink)}
.lockup-chip .lk-role{font-family:var(--font-mono);font-size:8.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.lockup-chip .lk-name{font-weight:700;font-size:12.5px;color:var(--paper)}
.tt-accent{color:var(--amber)}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.btn-hero{
  appearance:none;border:1px solid var(--border-strong);background:rgba(255,255,255,0.04);
  color:var(--paper);font-family:var(--font-body);font-weight:600;font-size:14px;
  padding:12px 20px;border-radius:var(--radius-sm);transition:all .14s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
}
.btn-hero.primary{background:var(--grad-accent);border-color:transparent;color:var(--amber-ink)}
.btn-hero.primary:hover{filter:brightness(1.06)}
.btn-hero.secondary:hover{border-color:var(--paper);background:rgba(255,255,255,0.08)}

/* Íconos de track */
.tic{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;vertical-align:-0.12em;color:currentColor;flex:0 0 auto}
.tic svg{display:block;width:100%;height:100%;stroke:currentColor;fill:none}
.timetable th .tic{width:13px;height:13px}
.timetable th{white-space:nowrap}
.timetable th{vertical-align:middle}
.track-pill{display:inline-flex;align-items:center;gap:5px}
.track-pill .tic{width:12px;height:12px}
.track-toggle .tic{width:13px;height:13px}
.legend-track .tic{width:19px;height:19px;color:var(--paper)}

/* Speakers con foto */
.spk-row{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}
.spk-avatars{display:flex;flex:0 0 auto}
.spk-avatar{
  width:26px;height:26px;border-radius:50%;background:var(--surface-hi);border:1.5px solid var(--surface);
  margin-left:-7px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;
  font-size:9.5px;font-weight:700;color:var(--paper-dim);
}
.spk-avatar:first-child{margin-left:0}
.spk-avatar img{width:100%;height:100%;object-fit:cover}
.spk-names{font-size:12.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spk-names b{color:var(--paper-dim);font-weight:600}

/* Badges de sesión */
.sponsored-badge{
  display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--amber-ink);background:var(--grad-accent);
  padding:2px 7px;border-radius:20px;
}
.featured-star{color:var(--amber)}

/* Sponsors por tier */
.sponsors{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;margin-bottom:28px}
.sponsor-tier{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--hairline-soft)}
.sponsor-tier:last-child{border-bottom:none}
.sponsor-tier-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.sponsor-tier-label::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber)}
.sponsor-logos{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sponsor-logo{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:8px 14px;text-decoration:none;transition:transform .12s,border-color .12s}
.sponsor-logo:hover{border-color:var(--border-strong);transform:scale(1.03)}
.sponsor-logo img{width:auto;display:block}
.sponsor-logo .sl-text{font-family:var(--font-display);font-weight:800;letter-spacing:0.02em;color:var(--paper);text-transform:uppercase}
.sponsor-logo.xl{padding:12px 20px}.sponsor-logo.xl img{height:44px}.sponsor-logo.xl .sl-text{font-size:24px}
.sponsor-logo.lg img{height:38px}.sponsor-logo.lg .sl-text{font-size:20px}
.sponsor-logo.md img{height:30px}.sponsor-logo.md .sl-text{font-size:16px}
.sponsor-logo.sm img{height:24px}.sponsor-logo.sm .sl-text{font-size:13px}
.sponsor-logo.xs img{height:20px}.sponsor-logo.xs .sl-text{font-size:12px}
.sponsor-banner{display:block;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--hairline)}
.sponsor-banner img{width:100%;display:block}
.sponsor-slot-empty{font-family:var(--font-mono);font-size:11px;color:var(--muted-2);font-style:italic}
.sponsors-compact{padding:10px 16px;margin-bottom:22px}
.sponsors-compact .sponsor-tier{grid-template-columns:110px 1fr;padding:8px 0;border-bottom:none}

/* Indicador de "ahora" en la grilla */
.timetable tr.is-now td.time-cell{color:var(--amber);position:relative}
.timetable tr.is-now td.time-cell::after{content:'AHORA';display:block;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:0.08em;color:var(--amber-ink);background:var(--amber);border-radius:10px;padding:1px 6px;margin-top:4px}
.timetable tr.is-now td{background:rgba(245,180,0,0.05)}
.grid-mobile .slot.is-now .slot-time{color:var(--amber)}
.grid-mobile .slot.is-now .slot-time::before{content:'AHORA · ';font-size:9px;background:var(--amber);color:var(--amber-ink);padding:1px 6px;border-radius:10px}

/* Galería de media (destaque, variante B) */
.media-feature{margin-bottom:28px}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.media-card{position:relative;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);background:var(--surface-raised)}
.media-card img,.media-card video{width:100%;height:100%;object-fit:cover}
.media-card .mc-cap{position:absolute;left:0;right:0;bottom:0;padding:20px 12px 10px;font-size:12px;color:var(--paper);background:linear-gradient(transparent,rgba(7,17,31,0.85))}

/* Empty state con CTA + ilustración */
.empty-ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}

/* Motion sutil en tarjetas */
@media (prefers-reduced-motion:no-preference){
  .session-card{transition:background .12s,border-color .12s,transform .12s}
  .session-card:hover{transform:translateY(-1px)}
}

/* =====================================================================
   VARIANTE B — Conference Tech: más expresiva, glow, gradientes, media
   ===================================================================== */
:root[data-variant="B"]{
  --grad-hero:linear-gradient(120deg,#07111F 0%,#151046 45%,#2A1568 100%);
}
:root[data-variant="B"] body{
  background-image:
    radial-gradient(ellipse 900px 560px at 12% -12%, rgba(122,92,255,0.20), transparent 60%),
    radial-gradient(ellipse 760px 520px at 100% 0%, rgba(245,180,0,0.10), transparent 55%);
}
:root[data-variant="B"] .tab-btn[aria-selected="true"]{box-shadow:0 0 0 1px rgba(245,180,0,0.4),0 6px 20px rgba(245,180,0,0.25)}
:root[data-variant="B"] .brand-mark{box-shadow:0 0 18px rgba(245,180,0,0.45)}
:root[data-variant="B"] .hero h1 .tt-accent{text-shadow:0 0 26px rgba(245,180,0,0.45)}
:root[data-variant="B"] .add-btn.active{box-shadow:0 0 16px rgba(245,180,0,0.4)}
:root[data-variant="B"] .session-card{background:linear-gradient(180deg,var(--surface),rgba(122,92,255,0.05))}
:root[data-variant="B"] .session-card:hover{border-color:var(--border-strong)}
:root[data-variant="B"] .flap{background:linear-gradient(180deg,var(--surface),rgba(122,92,255,0.08))}
:root[data-variant="B"] .card{background:linear-gradient(180deg,var(--surface),rgba(122,92,255,0.04))}
/* La galería de media solo aparece en variante B */
.media-feature{display:none}
:root[data-variant="B"] .media-feature{display:block}

/* ---------- Co-branding con logos reales ---------- */
.brand-orgs{display:flex;align-items:center;gap:14px}
.brand-orgs img{height:26px;width:auto;display:block;flex:0 0 auto}
.brand-divider{width:1px;height:26px;background:var(--hairline);flex:0 0 auto}
.lockup-label{font-family:var(--font-mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.hero-lockup{gap:14px}
.lockup-logos{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.lockup-logo{display:inline-flex;align-items:center}
.lockup-logo img{height:32px;width:auto;display:block}
@media (max-width:600px){
  .brand-divider,.brand-text{display:none}
  .brand-orgs img{height:22px}
  .brand-orgs{gap:10px}
}

/* ---------- Notas por día ---------- */
.day-card-note{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.03em;text-transform:uppercase;color:var(--amber);margin-top:5px}
.day-pick-note{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:0.02em;text-transform:uppercase;color:var(--amber);margin-top:4px}

/* ---------- Nota de sponsors ---------- */
.sponsors-note{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-2);padding:13px 18px 2px;font-style:italic}
