:root {
  --brand-primary: #1f2937;
  --brand-secondary: #334155;
  --brand-accent: #2563eb;
  --brand-bg: #f5f7fb;
  --brand-surface: #ffffff;
  --brand-text: #111827;
  --brand-muted: #64748b;
  --brand-border: #e2e8f0;
  --radius: 16px;
  --shadow: 0 10px 30px rgba(15,23,42,.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Agenda y Ejecución v4.4 -------------------------------------------------- */
.agenda-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.agenda-summary-grid>.card{min-height:92px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
.agenda-summary-grid span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-muted)}
.agenda-summary-grid strong{font-size:27px;line-height:1.1}.agenda-summary-grid small{color:var(--brand-muted)}
.agenda-validation{border:1px solid var(--brand-border);cursor:pointer}.agenda-validation.has-warnings{border-color:#f59e0b;background:#fffbeb}.agenda-validation.is-clean{border-color:#86efac;background:#f0fdf4}
.agenda-warning-panel{margin-bottom:14px;padding:18px}.agenda-warning-panel ul{margin:12px 0 0;padding-left:22px;display:grid;gap:7px;color:#92400e}
.agenda-tabs{display:flex;gap:6px;padding:5px;background:color-mix(in srgb,var(--brand-text) 5%,var(--brand-surface));border:1px solid var(--brand-border);border-radius:13px;margin-bottom:15px;overflow-x:auto}
.agenda-tabs button{border:0;background:transparent;color:var(--brand-muted);font:inherit;font-size:13px;font-weight:750;padding:9px 14px;border-radius:9px;white-space:nowrap;cursor:pointer}.agenda-tabs button.active{background:var(--brand-surface);color:var(--brand-text);box-shadow:0 1px 5px rgba(15,23,42,.12)}
.agenda-day-list,.client-agenda-days{display:grid;gap:14px}.agenda-day.card{padding:0;overflow:hidden}.agenda-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;background:#111827;color:#fff}.agenda-day-head span{font-weight:850;text-transform:uppercase;letter-spacing:.05em}.agenda-day-head strong{font-size:12px;color:#cbd5e1}
.agenda-moment-list{display:grid}.agenda-moment-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px 16px;border-top:1px solid var(--brand-border)}.agenda-moment-row:first-child{border-top:0}.agenda-moment-row>time{font-size:20px;font-weight:900;color:var(--brand-primary)}.agenda-moment-row>time small{display:block;font-size:11px;color:var(--brand-muted)}.agenda-moment-row h3{margin:0 0 4px}.agenda-moment-row p{margin:0 0 5px;color:var(--brand-muted)}.agenda-moment-row small{color:var(--brand-muted)}.agenda-row-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.agenda-empty.card{padding:34px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}.agenda-empty strong{font-size:18px}.agenda-empty span{color:var(--brand-muted)}
.agenda-table-wrap{overflow:auto;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:13px}.agenda-operation-table,.cue-table{width:100%;border-collapse:collapse;min-width:1050px;font-size:12px}.agenda-operation-table th,.agenda-operation-table td,.cue-table th,.cue-table td{padding:9px 10px;border:1px solid var(--brand-border);vertical-align:top}.agenda-operation-table thead th,.cue-table thead th{position:sticky;top:0;z-index:2;background:#111;color:#fff;font-size:10px;letter-spacing:.04em;text-align:left}.agenda-operation-table td:nth-child(2){white-space:nowrap}.agenda-operation-table td strong{display:block}.agenda-operation-table td small,.cue-table td small{display:block;margin-top:4px;color:var(--brand-muted)}
.cue-table{min-width:1380px;table-layout:fixed}.cue-table th:nth-child(1){width:55px}.cue-table th:nth-child(2){width:95px}.cue-table th:nth-child(3){width:220px}.cue-table th:nth-child(4){width:275px}.cue-table th:nth-child(5){width:255px}.cue-table th:nth-child(6){width:220px}.cue-table th:nth-child(7){width:290px}.cue-table th:nth-child(8){width:92px}.cue-table td{white-space:pre-wrap;line-height:1.35}.cue-table td:nth-child(1),.cue-table td:nth-child(2){text-align:center}.cue-day-row th{background:#e600a9!important;color:#fff!important;text-align:center!important;font-size:12px!important;text-transform:uppercase}.cue-status-completed td{background:#f0fdf4;color:#64748b}.cue-status-cancelled td{text-decoration:line-through;opacity:.65}
.agenda-inline-actions{display:flex;gap:4px;flex-direction:column}.agenda-status-select{min-width:105px;border-radius:8px;padding:6px;border:1px solid var(--brand-border);font-weight:700}.agenda-status-select.green{background:#dcfce7}.agenda-status-select.blue{background:#dbeafe}.agenda-status-select.amber{background:#fef3c7}.agenda-status-select.gray{background:#e5e7eb}
.agenda-form-modal.card{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:20px}.agenda-cue-form.card{width:min(980px,calc(100vw - 28px))}.agenda-form-checks{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:15px 0}.agenda-form-checks label{font-weight:700}.agenda-moment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.agenda-moment-grid .span-2{grid-column:span 2}
.cue-live-shell{background:#070b14;color:#f8fafc;border-radius:18px;padding:18px;min-height:600px}.cue-live-shell:fullscreen{border-radius:0;padding:26px;overflow:auto}.cue-live-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.cue-live-top>div:first-child{display:flex;align-items:baseline;gap:12px}.cue-live-top span{font-size:11px;font-weight:900;letter-spacing:.15em;color:#94a3b8}.cue-live-top strong{font-size:25px;font-variant-numeric:tabular-nums}.cue-live-current{border:1px solid #334155;background:#101827;border-radius:16px;overflow:hidden}.cue-live-current-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #334155}.cue-live-current-head>span{display:grid;place-items:center;background:#e600a9;color:white;font-size:18px;font-weight:950;border-radius:11px;padding:11px 14px}.cue-live-current-head>time{font-size:27px;font-weight:950}.cue-live-current-head h2{font-size:25px;margin:3px 0}.cue-live-current-head p,.cue-live-current-head small{margin:0;color:#94a3b8}.cue-live-tracks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.cue-live-track{padding:22px 18px;min-height:150px;border-left:1px solid #334155}.cue-live-track:first-child{border-left:0}.cue-live-track span{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;color:#94a3b8;margin-bottom:12px}.cue-live-track strong{font-size:18px;line-height:1.35;white-space:pre-wrap}.cue-live-track.video{border-top:4px solid #60a5fa}.cue-live-track.audio{border-top:4px solid #34d399}.cue-live-track.lights{border-top:4px solid #fbbf24}.cue-live-track.support{border-top:4px solid #c084fc}.cue-live-next{margin-top:16px}.cue-live-next>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#94a3b8}.cue-live-next>div{display:grid;gap:8px;margin-top:8px}.cue-live-next article{display:grid;grid-template-columns:32px 90px minmax(0,1fr);gap:12px;align-items:center;padding:11px 14px;background:#101827;border:1px solid #273449;border-radius:11px}.cue-live-next article>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#273449}.cue-live-next article time{font-weight:900}.cue-live-next article strong,.cue-live-next article small{display:block}.cue-live-next article small{color:#94a3b8;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-agenda-days section.card{padding:0;overflow:hidden}.client-agenda-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid #e5e7eb}.client-agenda-row>time{font-size:18px;font-weight:900;color:var(--brand-accent)}.client-agenda-row strong{font-size:16px}.client-agenda-row p{margin:4px 0;color:#64748b}.client-agenda-row small{color:#64748b}
.client-agenda-logistics{margin-top:10px;padding:9px 11px;border-left:3px solid var(--brand-accent);background:#f8fafc;border-radius:0 9px 9px 0}.client-agenda-logistics>span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:5px}.client-agenda-logistics>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;padding:5px 0;border-top:1px solid #e2e8f0}.client-agenda-logistics>div:first-of-type{border-top:0}.client-agenda-logistics b{font-size:11px}.client-agenda-logistics p{margin:0;color:#1e293b}.client-agenda-logistics small{grid-column:2}
.public-live-cue-card .public-live-list>div.is-current{border-left:4px solid #e600a9;padding-left:10px}.public-live-cue-card .public-live-list small{white-space:normal}

@media(max-width:980px){.agenda-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cue-live-tracks{grid-template-columns:repeat(2,minmax(0,1fr))}.cue-live-track:nth-child(3){border-left:0}.agenda-moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.agenda-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-moment-row,.client-agenda-row{grid-template-columns:62px minmax(0,1fr)}.agenda-row-meta,.client-agenda-row>div:last-child{grid-column:1/-1;justify-content:flex-start}.agenda-moment-grid{grid-template-columns:1fr}.agenda-moment-grid .span-2{grid-column:span 1}.cue-live-top,.cue-live-current-head{display:flex;flex-wrap:wrap}.cue-live-top .actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.cue-live-current-head>div{width:100%}.cue-live-tracks{grid-template-columns:1fr}.cue-live-track{border-left:0;border-bottom:1px solid #334155;min-height:auto}.cue-live-next article{grid-template-columns:28px 68px minmax(0,1fr)}}
* { box-sizing: border-box; }
body { margin:0; background:var(--brand-bg); color:var(--brand-text); }
button,input,select { font:inherit; }
button { cursor:pointer; }
.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-backdrop,.mobile-back-button{display:none}
.app-shell { min-height:100vh; display:grid; grid-template-columns:284px 1fr; transition:grid-template-columns .2s ease; }
.app-shell.sidebar-collapsed{grid-template-columns:78px 1fr}
.sidebar { background:var(--brand-sidebar,#0f172a); color:#fff; padding:18px 14px; position:sticky; top:0; height:100vh; display:flex; flex-direction:column; overflow:hidden; }
.brand { display:flex; gap:12px; align-items:center; margin-bottom:20px; min-width:0; }
.brand-mark { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg,var(--brand-accent),#7c3aed); font-weight:800; }
.brand small { display:block; color:#94a3b8; }.sidebar-brand-copy{min-width:0;overflow:hidden}.sidebar-brand-copy strong,.sidebar-brand-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-toggle{margin-left:auto;width:28px;height:28px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;font-size:21px;line-height:1;flex:0 0 auto}
.nav { display:grid; gap:7px; overflow:auto; min-height:0; padding-right:2px; }
.nav button,.back-events { border:0; background:transparent; color:var(--brand-sidebar-text,#cbd5e1); text-align:left; padding:11px 12px; border-radius:10px; display:flex;align-items:center;gap:10px;white-space:nowrap; }
.nav-icon{width:22px;min-width:22px;text-align:center;font-weight:850}.nav-label{overflow:hidden;text-overflow:ellipsis}
.nav button.active,.nav button:hover { background:#1e293b; color:white; }
.back-events{margin-bottom:10px}.back-events:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-user{margin-top:auto;padding:14px 8px 2px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:10px;min-width:0}.sidebar-user-avatar{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:50%;background:color-mix(in srgb,var(--brand-accent) 70%,white);font-weight:900}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong,.sidebar-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy small{color:#94a3b8;font-size:11px;margin-top:2px}
.sidebar-collapsed .sidebar{padding-inline:10px}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-copy{display:none}.sidebar-collapsed .brand{justify-content:center;position:relative}.sidebar-collapsed .sidebar-toggle{position:absolute;right:-7px;top:-9px}.sidebar-collapsed .nav button,.sidebar-collapsed .back-events{justify-content:center;padding-inline:8px}.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}
.main { min-width:0; }
.topbar { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 28px; background:rgba(255,255,255,.92); border-bottom:1px solid var(--brand-border); position:sticky; top:0; z-index:3; backdrop-filter:blur(10px); }
.topbar-page-title{min-width:0}.topbar-page-title h1{font-size:22px;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-page-title p{font-size:12px;color:var(--brand-muted);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar-page-actions{flex-wrap:nowrap}.topbar-page-actions .btn{white-space:nowrap}
.event-brand { display:flex; align-items:center; gap:12px; }
.event-logo { width:42px; height:42px; border-radius:10px; object-fit:contain; background:#fff; border:1px solid var(--brand-border); padding:5px; }
.content { padding:28px; max-width:1500px; margin:auto; }
.page-title { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:24px; }
.page-title h1 { margin:0; font-size:30px; }
.page-title p { margin:6px 0 0; color:var(--brand-muted); }
.actions { display:flex; gap:10px; flex-wrap:wrap; }
.btn { border:1px solid var(--brand-border); background:#fff; padding:10px 14px; border-radius:10px; font-weight:650; }
.btn.primary { background:var(--brand-accent); color:#fff; border-color:transparent; }
.btn.ghost { background:transparent; }
.cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.card { background:var(--brand-surface); border:1px solid var(--brand-border); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px; }
.metric { font-size:30px; font-weight:800; margin-top:8px; }
.muted { color:var(--brand-muted); }
.grid-2 { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:18px; }
.panel-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.panel-title h2 { font-size:18px; margin:0; }
.table-wrap { overflow:auto; border:1px solid var(--brand-border); border-radius:14px; background:#fff; }
table { width:100%; border-collapse:collapse; min-width:980px; }
th,td { padding:12px 14px; border-bottom:1px solid #edf2f7; text-align:left; font-size:14px; }
th { color:#475569; background:#f8fafc; position:sticky; top:0; }
.badge { display:inline-flex; align-items:center; padding:4px 9px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:12px; font-weight:700; }
.badge.green { background:#ecfdf5; color:#047857; }
.badge.amber { background:#fffbeb; color:#b45309; }
.badge.gray { background:#f1f5f9; color:#475569; }
.copy-btn { border:1px solid var(--brand-border); background:#fff; border-radius:8px; padding:7px 9px; }
.searchbar { display:flex; gap:10px; margin-bottom:14px; }
.searchbar input,.field input,.field select { width:100%; padding:10px 11px; border:1px solid var(--brand-border); border-radius:10px; background:white; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.field label { display:block; font-size:13px; color:#475569; margin-bottom:6px; font-weight:650; }
.seating-grid { display:grid; grid-template-columns:repeat(3,minmax(240px,1fr)); gap:14px; }
.table-card { background:#fff; border:1px solid var(--brand-border); border-radius:14px; padding:14px; }
.table-card header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.people { display:grid; gap:7px; }
.person-chip { padding:9px 10px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:9px; display:flex; justify-content:space-between; gap:8px; }
.role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.permission-card { background:#fff; border:1px solid var(--brand-border); border-radius:14px; padding:15px; }
.permission-list { display:grid; gap:8px; margin-top:12px; }
.theme-preview { border-radius:18px; overflow:hidden; border:1px solid var(--brand-border); background:#fff; }
.theme-banner { min-height:140px; display:flex; align-items:flex-end; padding:20px; background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent)); color:#fff; }
.theme-preview-body { padding:18px; }
.toast { position:fixed; right:22px; bottom:22px; opacity:0; transform:translateY(10px); pointer-events:none; padding:11px 14px; border-radius:10px; background:#111827; color:#fff; transition:.2s; z-index:10; }
.toast.show { opacity:1; transform:translateY(0); }
.empty { padding:35px; text-align:center; color:var(--brand-muted); }
.mobile-note { display:none; }
@media (max-width:1000px){
  .app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:block}.sidebar-toggle,.sidebar-user{display:none}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .nav-label{display:block}.nav{grid-template-columns:repeat(4,1fr);overflow:visible}.nav button,.sidebar-collapsed .nav button{text-align:center;justify-content:center}.back-events{display:inline-flex}.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.seating-grid,.role-grid{grid-template-columns:repeat(2,1fr)}.topbar-role,.event-brand{display:none}
}
@media (max-width:650px){
  .sidebar{padding:14px}.brand{margin-bottom:14px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.topbar{padding:9px 16px;align-items:flex-start}.topbar-page-title h1{font-size:18px}.topbar-page-title p{display:none}.topbar-page-actions{position:fixed;right:16px;bottom:16px;z-index:5;background:#fff;padding:6px;border-radius:12px;box-shadow:var(--shadow)}.topbar-page-actions:empty{display:none}.content{padding:18px}.cards,.seating-grid,.role-grid,.form-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.mobile-note{display:block}.event-logo{width:36px;height:36px}
}

/* Milestone 1.1 — operations, seating workspace, rooming and transfers */
.metric.small { font-size:20px; line-height:1.25; }
.op-col { text-align:center; min-width:74px; }
.check-control { display:inline-grid; place-items:center; width:30px; height:30px; cursor:pointer; }
.check-control input { position:absolute; opacity:0; pointer-events:none; }
.check-control span { width:22px; height:22px; border:2px solid #cbd5e1; border-radius:6px; display:block; position:relative; background:#fff; }
.check-control input:checked + span { background:var(--brand-accent); border-color:var(--brand-accent); }
.check-control input:checked + span::after { content:'✓'; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:14px; font-weight:900; }
.spaced { margin-top:18px; }

.seating-workspace { display:grid; grid-template-columns:310px minmax(0,1fr); gap:18px; align-items:start; }
.seating-pool { background:#fff; border:1px solid var(--brand-border); border-radius:14px; padding:14px; position:sticky; top:94px; max-height:calc(100vh - 118px); display:flex; flex-direction:column; }
.seating-pool small { display:block; margin-top:4px; }
.pool-search { width:100%; padding:10px 11px; border:1px solid var(--brand-border); border-radius:10px; margin-bottom:10px; }
.pool-list { display:grid; gap:7px; overflow:auto; min-height:160px; padding:2px; }
.seat-person { padding:10px; border:1px solid #dbe4ef; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fff; cursor:grab; }
.seat-person small { color:var(--brand-muted); font-size:11px; }
.seat-person.assigned { opacity:.55; background:#f8fafc; }
.drag-handle { color:#94a3b8; font-weight:900; user-select:none; }
.draggable-chip { cursor:grab; }
.drop-zone, [data-drop-zone="pool"] { transition:border-color .15s, box-shadow .15s, background .15s; }
.drag-over { border-color:var(--brand-accent)!important; box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-accent) 16%, transparent); background:color-mix(in srgb, var(--brand-accent) 5%, white)!important; }
.drop-hint { padding:18px 10px; border:1px dashed #cbd5e1; border-radius:9px; color:#94a3b8; text-align:center; font-size:13px; }
.seating-board { min-width:0; }

.travel-summary { margin-bottom:18px; }
.transfer-toolbar { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:14px; }
.transfer-toolbar input { width:min(480px,100%); padding:10px 11px; border:1px solid var(--brand-border); border-radius:10px; background:#fff; }
.segmented { display:inline-flex; background:#e9eef5; padding:4px; border-radius:11px; }
.segmented button { border:0; background:transparent; padding:8px 12px; border-radius:8px; font-weight:700; color:#64748b; }
.segmented button.active { background:#fff; color:var(--brand-text); box-shadow:0 1px 4px rgba(15,23,42,.1); }
.transfer-note { margin-top:10px; font-size:13px; }

@media (max-width:1000px){
  .seating-workspace{grid-template-columns:260px minmax(0,1fr)}
}
@media (max-width:750px){
  .seating-workspace{grid-template-columns:1fr}.seating-pool{position:static;max-height:none}.pool-list{max-height:300px}.transfer-toolbar{align-items:stretch;flex-direction:column}.transfer-toolbar input{width:100%}
}

/* Milestone 1.2 — transfer grouping and optional rooming fields */
.optional-label { display:block; margin-top:2px; font-size:10px; font-weight:600; color:#94a3b8; }
.transfer-controls { display:flex; align-items:center; gap:10px; flex:1; justify-content:flex-end; }
.transfer-controls label { display:flex; align-items:center; gap:8px; color:#64748b; font-size:13px; white-space:nowrap; }
.transfer-controls select,.vehicle-picker select { padding:9px 10px; border:1px solid var(--brand-border); border-radius:9px; background:#fff; }
.transfer-controls input { max-width:390px; }
.transfer-groups { display:grid; gap:12px; margin-bottom:22px; }
.transfer-group { background:#fff; border:1px solid var(--brand-border); border-radius:14px; padding:15px; box-shadow:0 4px 14px rgba(15,23,42,.04); }
.transfer-group-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.transfer-group h3 { margin:4px 0 5px; font-size:17px; }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:800; color:var(--brand-accent); }
.vehicle-picker { display:grid; grid-template-columns:auto auto; align-items:center; gap:6px 8px; min-width:250px; }
.vehicle-picker label { font-size:11px; color:#64748b; font-weight:700; }
.vehicle-picker .badge { grid-column:2; justify-self:start; }
.group-members { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; padding-top:12px; border-top:1px solid #edf2f7; }
.member-pill { background:#f8fafc; border:1px solid #e2e8f0; padding:7px 9px; border-radius:999px; font-size:12px; }
.transfer-detail-title { margin-top:8px; }
@media (max-width:750px){
  .transfer-controls{align-items:stretch;flex-direction:column}.transfer-controls label{justify-content:space-between}.transfer-controls input{max-width:none;width:100%}.transfer-group-head{flex-direction:column}.vehicle-picker{width:100%;min-width:0;grid-template-columns:1fr}.vehicle-picker .badge{grid-column:1}.vehicle-picker select{width:100%}
}


/* Milestone 1.3 — pre-event/live dashboard + one-page participant view */
.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:4px 0 14px}.dashboard-section-head h2{margin:3px 0 0;font-size:22px}.live-head{margin-top:30px}.activity-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.activity-strip>div{background:#fff;border:1px solid var(--brand-border);border-radius:12px;padding:14px;display:grid;gap:4px}.activity-strip span,.activity-strip small{color:var(--brand-muted);font-size:12px}.activity-strip strong{font-size:14px}.participant-phone{border:1px solid var(--brand-border);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.participant-phone-banner{display:flex;gap:12px;align-items:center;padding:18px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff}.participant-phone-banner img{width:44px;height:44px;border-radius:10px;background:#fff;object-fit:contain;padding:5px}.participant-phone-banner small{display:block;opacity:.82;margin-top:3px}.participant-onepage{padding:18px;display:grid;gap:10px}.welcome{font-size:20px;font-weight:800;margin-bottom:2px}.info-block{border:1px solid #e5eaf1;border-radius:12px;padding:12px 13px;background:#fbfcfe;display:grid;gap:3px}.info-block>span,.info-block small{font-size:12px;color:var(--brand-muted)}.info-block strong{font-size:16px}
@media(max-width:850px){.activity-strip{grid-template-columns:1fr}.dashboard-section-head{align-items:flex-start;flex-direction:column}.dashboard-section-head .btn{width:100%}}

/* Milestone 1.4 — task reminders, demographic seating, travel/transfers split */
.btn.compact{padding:7px 10px;font-size:12px}.task-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr auto;gap:8px;margin:12px 0 14px}.task-form input,.task-form select{min-width:0;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.task-list{display:grid;gap:8px}.task-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e5eaf1;border-radius:10px;background:#fbfcfe}.task-copy{display:grid;gap:3px}.task-copy small{color:var(--brand-muted);font-size:11px}.task-check input{position:absolute;opacity:0}.task-check span{display:block;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:6px;background:#fff}.small-empty{padding:18px}.auto-panel{background:#fff;border:1px solid var(--brand-border);border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.auto-panel h3{margin:4px 0 12px}.auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.auto-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#475569}.auto-grid select{padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.auto-note{margin:10px 0 0;font-size:12px}.section-tabs{display:flex;gap:6px;background:#e9eef5;padding:5px;border-radius:12px;width:max-content;margin-bottom:18px}.section-tabs button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-weight:800;color:#64748b}.section-tabs button.active{background:#fff;color:var(--brand-text);box-shadow:0 1px 4px rgba(15,23,42,.1)}
@media(max-width:900px){.task-form{grid-template-columns:1fr 1fr}.task-form #taskText{grid-column:1/-1}.auto-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.task-form,.auto-grid{grid-template-columns:1fr}.task-form #taskText{grid-column:auto}.section-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.section-tabs button{width:100%}}


/* Milestone 1.5 — rooming synchronization + operational transfer statuses */
.rooming-control{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:12px}.rooming-sync-card{background:#fff;border:1px solid var(--brand-border);border-radius:12px;padding:14px;display:grid;gap:5px}.rooming-sync-card>span,.rooming-sync-card>small,.hotel-confirm-card>small{font-size:12px;color:var(--brand-muted)}.rooming-sync-card strong{font-size:15px}.hotel-confirm-card label{font-size:12px;font-weight:750;color:#475569}.inline-save{display:flex;gap:8px;margin-top:4px}.inline-save input{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.transfer-status-control{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7;display:flex;justify-content:space-between;gap:12px;align-items:center}.transfer-status-control>label{font-size:11px;color:var(--brand-muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.status-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.status-btn{border:1px solid var(--brand-border);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#64748b}.status-btn.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.transfer-group:has(.status-btn[data-transfer-status="completed"].active){border-color:#a7f3d0}.transfer-group:has(.status-btn[data-transfer-status="enroute"].active){border-color:#fde68a}
@media(max-width:850px){.rooming-control{grid-template-columns:1fr}.transfer-status-control{align-items:flex-start;flex-direction:column}.status-actions{justify-content:flex-start}.inline-save{flex-direction:column}}

/* v2.0 Firebase foundation */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef2ff,#f8fafc)}
.login-card{width:min(440px,100%);background:white;border:1px solid var(--brand-border);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.login-card h1{margin:16px 0 6px}.login-card p{color:var(--brand-muted);margin:0 0 22px}.login-mark{width:52px;height:52px}
.login-form{display:grid;gap:14px}.login-form label{font-size:13px;font-weight:700;color:#475569}.login-form input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--brand-border);border-radius:10px}.login-form .btn{margin-top:4px}
.login-error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;padding:10px 12px;border-radius:10px;margin-bottom:12px}
.login-forgot{justify-self:end;margin:-5px 0 0;padding:2px 0;border:0;background:transparent;color:var(--brand-accent,#2563eb);font:700 12px/1.4 inherit;cursor:pointer}.login-forgot:hover{text-decoration:underline}.login-forgot:disabled{opacity:.6;cursor:wait}
.login-reset-status:empty{display:none}.login-reset-status{padding:10px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:12px;line-height:1.45}.login-reset-status.success{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.login-reset-status.error{border-color:#fecdd3;background:#fff1f2;color:#be123c}
.standalone{max-width:1200px;margin:auto;padding:38px 24px}.standalone-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:24px}.standalone-head h1{font-size:34px;margin:4px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--brand-accent)}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.event-card-live{text-align:left;background:white;border:1px solid var(--brand-border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.event-card-live:hover{transform:translateY(-1px);border-color:#cbd5e1}.event-card-live h2{margin:14px 0 4px}.event-card-live p{color:var(--brand-muted)}.event-meta{display:flex;justify-content:space-between;color:#64748b;font-size:13px;margin-top:20px}
.live-form{margin-bottom:18px}.live-form h2{margin-top:0}.form-actions{justify-content:flex-end;margin-top:14px}.back-events{width:100%;border:0;background:#172033;color:#cbd5e1;text-align:left;padding:10px 12px;border-radius:10px;margin-bottom:10px}.btn.compact{padding:7px 10px}.check-row{display:flex;gap:20px;margin-top:14px}.milestone-note{margin-top:18px}.metric.small{font-size:20px}.dashboard-section-head{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.dashboard-section-head h2{margin:3px 0}.live-head{margin-top:34px}
@media(max-width:900px){.event-grid{grid-template-columns:1fr 1fr}.standalone-head{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.event-grid{grid-template-columns:1fr}.standalone{padding:22px 16px}}

/* v2.1 import + participant editing */
.import-panel{margin-bottom:18px}.import-step{margin-top:16px}.import-preview{max-height:260px;overflow:auto}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mapping-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.mapping-row select{width:100%}.toolbar-split{display:flex;gap:10px;flex-wrap:wrap}.participant-actions{display:flex;gap:6px;flex-wrap:wrap}.mini-btn{border:1px solid var(--border);background:white;border-radius:8px;padding:6px 9px;cursor:pointer}.mini-btn:hover{border-color:var(--brand-accent)}.edit-drawer{margin-bottom:18px}.import-summary{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.import-summary strong{font-size:22px;display:block}.custom-fields{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.custom-chip{font-size:11px;background:#eef2ff;border-radius:999px;padding:3px 7px}.danger-text{color:#b91c1c}.muted-note{font-size:12px;color:var(--muted)}
@media(max-width:800px){.mapping-grid{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr}.toolbar-split{width:100%}}

/* v2.2 — Firebase seating workspace */
.seating-empty{padding:34px;text-align:center}.seating-form{margin-bottom:16px}.seating-create-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;align-items:end}
.seating-sitebar{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:16px;background:#fff;border:1px solid var(--brand-border);border-radius:14px;padding:13px 15px}.seating-sitebar label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#475569;min-width:280px}.seating-sitebar select,.auto-grid input{padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.site-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.site-summary>span{font-size:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px;color:#475569}
.seat-person-copy{min-width:0;display:grid;gap:2px;flex:1}.quick-assign{width:100%;margin-top:5px;padding:6px 7px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;font-size:11px;color:#475569}.table-card header>div{display:flex;gap:7px;align-items:center}.unit-edit{border:0;background:transparent;color:#64748b;font-size:10px;text-decoration:underline;padding:2px}.person-chip>span:first-child{display:grid;gap:1px;min-width:0}.person-chip small{font-size:10px;color:#64748b}.chip-actions{display:flex;align-items:center;gap:4px}.chip-btn{border:0;background:transparent;border-radius:6px;padding:3px 5px;color:#64748b}.chip-btn:hover,.chip-btn.active{background:#e8eef8;color:#0f172a}.person-chip.locked{background:#fff7ed;border-color:#fed7aa}.person-chip.locked .drag-handle{opacity:.25}
.seating-preview{margin-bottom:16px;border-color:#bfdbfe}.preview-counts{display:flex;gap:7px;flex-wrap:wrap}.preview-counts span{font-size:11px;padding:6px 8px;border-radius:999px;background:#eff6ff;color:#1e40af}.preview-counts strong{margin-right:3px}.auto-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.auto-grid input{width:100%}
@media(max-width:1050px){.seating-create-grid{grid-template-columns:1fr 1fr}.auto-grid{grid-template-columns:1fr 1fr}.seating-sitebar{align-items:stretch;flex-direction:column}.seating-sitebar label{min-width:0}.site-summary{justify-content:flex-start}}
@media(max-width:650px){.seating-create-grid,.auto-grid{grid-template-columns:1fr}.quick-assign{font-size:12px}.seating-sitebar{padding:11px}.site-summary>span{flex:1;text-align:center}}

/* v2.2.2 — seating metadata, bulk selection and clearer lock state */
.conditional-field.hidden{display:none}
.seating-edit-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:10px;align-items:end}
.bulk-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 0 10px;border-bottom:1px solid #e5eaf1;margin-bottom:9px}
.bulk-toolbar>strong{font-size:11px;color:#475569;text-align:right}.bulk-toolbar select{grid-column:1 / -1;width:100%;padding:7px 8px;border:1px solid #dbe4ef;border-radius:8px;background:#fff}.bulk-toolbar .btn,.bulk-toolbar .mini-btn{grid-row:3}.bulk-toolbar .btn{justify-self:stretch}.bulk-toolbar .mini-btn{justify-self:end}
.bulk-select-all{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750;color:#475569;cursor:pointer}.bulk-select-all input{width:16px;height:16px}
.seat-person.selected{border-color:var(--brand-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 14%,transparent);background:#f8fbff}
.seat-select{display:flex;align-items:flex-start;cursor:pointer}.seat-select input{position:absolute;opacity:0;pointer-events:none}.seat-select span{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;display:block;position:relative}.seat-select input:checked+span{background:var(--brand-accent);border-color:var(--brand-accent)}.seat-select input:checked+span:after{content:'✓';position:absolute;color:#fff;font-size:12px;font-weight:900;left:3px;top:-1px}
.lock-state{font-size:10px;font-weight:800;white-space:nowrap;padding:4px 6px!important;border:1px solid transparent!important}.lock-state.free-state{background:#ecfdf5;color:#047857;border-color:#a7f3d0!important}.lock-state.locked-state{background:#fff7ed;color:#c2410c;border-color:#fed7aa!important}
@media(max-width:760px){.seating-edit-grid{grid-template-columns:1fr}.bulk-toolbar{grid-template-columns:1fr auto}}

/* v2.2.3 — participant filters, preview and seating scroll correction */
.seating-workspace,.seating-pool,.seating-board{min-height:0}
.seating-pool{overflow:hidden}
.pool-list{min-height:0;flex:1 1 auto;max-height:calc(100vh - 330px);overscroll-behavior:contain}
.participant-filterbar{display:grid;grid-template-columns:minmax(280px,1.8fr) repeat(3,minmax(140px,.6fr)) auto;gap:9px;margin-bottom:14px;align-items:center}
.participant-filterbar input,.participant-filterbar select{width:100%;padding:10px 11px;border:1px solid var(--brand-border);border-radius:10px;background:#fff}
.th-sort{border:0;background:transparent;padding:0;color:inherit;font-weight:inherit;cursor:pointer}
.th-sort:hover{color:var(--brand-accent)}
.participant-link-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.name-import-note{margin-top:12px;border:1px solid #fde68a;background:#fffbeb;border-radius:10px;padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.name-import-note strong{font-size:12px;color:#92400e}.name-import-note span{font-size:11px;color:#a16207}.name-import-note .mini-btn{grid-column:2;grid-row:1/3}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:30;display:grid;place-items:center;padding:20px;overflow:auto}
.participant-preview-modal{width:min(520px,100%);background:#f5f7fb;border-radius:20px;padding:18px;box-shadow:0 30px 80px rgba(15,23,42,.25)}
.participant-preview-modal .panel-title{margin-bottom:12px}.participant-preview-modal h2{margin:3px 0 0}.preview-actions{justify-content:flex-end;margin-top:12px}.preview-logo{width:44px;height:44px;border-radius:10px;background:#fff;color:var(--brand-accent);display:grid;place-items:center;font-weight:900;font-size:20px}
.preview-empty{min-height:180px}.dashboard-preview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:18px}.dashboard-preview-grid>.card{min-width:0}.dashboard-preview-grid .participant-phone{max-width:430px}
@media(max-width:1000px){.participant-filterbar{grid-template-columns:1fr 1fr}.participant-filterbar input{grid-column:1/-1}.dashboard-preview-grid{grid-template-columns:1fr}}
@media(max-width:650px){.participant-filterbar{grid-template-columns:1fr}.participant-filterbar input{grid-column:auto}.participant-link-actions{flex-direction:column;align-items:stretch}.name-import-note{grid-template-columns:1fr}.name-import-note .mini-btn{grid-column:auto;grid-row:auto}.pool-list{max-height:300px}}

/* v2.3 — public participant portal (QR / NFC) */
.public-shell{min-height:100vh;display:grid;place-items:start center;padding:28px 16px;background:var(--brand-bg)}
.public-card{width:min(560px,100%);background:#fff;border:1px solid var(--brand-border);border-radius:26px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.12)}
.public-hero{min-height:150px;padding:24px;display:flex;align-items:flex-end;gap:14px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff}
.public-hero img,.public-logo{width:58px;height:58px;border-radius:14px;background:#fff;object-fit:contain;padding:7px;flex:none}
.public-logo{display:grid;place-items:center;color:var(--brand-accent);font-size:25px;font-weight:900}
.public-hero small{display:block;font-weight:800;letter-spacing:.12em;opacity:.8;margin-bottom:3px}.public-hero h1{font-size:24px;line-height:1.12;margin:0}
.public-body{padding:22px}.public-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--brand-accent);margin:0 0 7px}.public-body h2{font-size:28px;line-height:1.12;margin:0}.public-name{color:var(--brand-muted);margin:6px 0 20px}
.public-grid{display:grid;gap:10px}.public-info{border:1px solid #e5eaf1;border-radius:14px;padding:13px 14px;background:#fbfcfe;display:grid;gap:3px}.public-info span,.public-info small{font-size:12px;color:var(--brand-muted)}.public-info strong{font-size:17px}
.public-services{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.public-services span{font-size:12px;font-weight:750;padding:7px 9px;border-radius:999px;background:#f1f5f9;color:#475569}.public-updated{font-size:11px;line-height:1.45;color:#94a3b8;margin:20px 2px 0}
.public-loading,.public-error{padding:34px;text-align:center;margin-top:12vh}.public-error strong{font-size:20px}.public-error p{color:var(--brand-muted)}
@media(max-width:600px){.public-shell{padding:0;background:#fff}.public-card{border:0;border-radius:0;box-shadow:none;min-height:100vh}.public-hero{min-height:165px;padding:22px 18px}.public-body{padding:20px 18px}.public-body h2{font-size:27px}}


/* v2.3.4 — seating finder, direct move and compact occupied layout */
.assigned-finder{margin-bottom:14px;padding:13px 14px}
.assigned-finder-head{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr);gap:14px;align-items:center}
.assigned-finder-head strong{display:block;font-size:14px}
.assigned-finder-head small{display:block;color:var(--brand-muted);font-size:11px;margin-top:3px}
.assigned-finder-head input{width:100%;padding:10px 11px;border:1px solid var(--brand-border);border-radius:10px;background:#fff}
.assigned-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;margin-top:10px}
.assigned-result{display:grid;grid-template-columns:26px minmax(0,1fr) 120px;gap:7px;align-items:center;border:1px solid #dbe4ef;border-radius:10px;padding:7px;background:#f8fafc}.assigned-result.selected{border-color:#60a5fa;background:#eff6ff}.search-result-select{align-self:stretch}
.assigned-result-main{border:0;background:transparent;text-align:left;cursor:pointer;min-width:0;padding:2px 4px}
.assigned-result-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.assigned-result-main span{font-size:11px;color:var(--brand-accent);font-weight:800}
.assigned-move-select,.chip-move{width:100%;padding:6px 7px;border:1px solid #dbe4ef;border-radius:7px;background:#fff;font-size:10px}
.assigned-none{font-size:12px;color:var(--brand-muted);padding:4px}
.compact-seating-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
.compact-table-card{padding:10px!important;scroll-margin-top:120px}
.compact-table-card header{margin-bottom:6px}
.compact-people{display:grid;gap:4px!important}
.compact-chip{padding:6px 7px!important;gap:5px!important;align-items:center!important}
.compact-chip-copy{min-width:0;display:grid;line-height:1.05}
.compact-chip-copy>span{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-chip-copy small{font-size:9px;color:var(--brand-muted);margin-top:2px}
.compact-chip .chip-actions{display:grid!important;grid-template-columns:minmax(60px,82px) auto auto;gap:3px!important;align-items:center}
.compact-chip .lock-state{font-size:9px;padding:4px 5px!important}
.compact-chip .remove-chip{padding:3px 6px!important}
.search-match{outline:2px solid var(--brand-accent);background:#eff6ff!important}
.pulse-highlight{animation:seatPulse .55s ease-in-out 3}
@keyframes seatPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}50%{box-shadow:0 0 0 5px rgba(37,99,235,.22)}}
@media(max-width:900px){.assigned-finder-head{grid-template-columns:1fr}.compact-seating-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
@media(max-width:650px){.assigned-result{grid-template-columns:1fr}.compact-chip .chip-actions{grid-template-columns:1fr auto auto}}


/* v2.3.5 — compact unassigned pool and bulk assignment UX */
.seating-pool{min-width:260px!important}
.pool-list{gap:4px!important}
.seat-person{padding:6px 7px!important;min-height:0!important;gap:6px!important;border-radius:8px!important}
.seat-person-copy{gap:2px!important;min-width:0}
.seat-person-copy strong{font-size:11px!important;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seat-person-copy small{font-size:9px!important;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-assign{padding:5px 6px!important;font-size:9px!important;margin-top:2px!important}
.seat-select{transform:scale(.88);transform-origin:center}
.drag-handle{font-size:12px!important;opacity:.55}
.bulk-toolbar{padding:7px!important;gap:6px!important;margin-bottom:6px!important}
.bulk-toolbar strong{font-size:10px!important}
.bulk-toolbar select{padding:6px 7px!important;font-size:10px!important}
.bulk-toolbar.bulk-active{border:1px solid #bfdbfe;background:#eff6ff;border-radius:9px}
.pool-search{padding:8px 9px!important;margin-bottom:6px!important}
@media(min-width:1050px){.seating-pool{width:315px!important;flex:0 0 315px!important}}


/* v2.4.1 — isolated Firebase Rooming */
.rooming-hotelbar{margin-bottom:14px}.rooming-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.rooming-toolbar input{width:min(460px,100%);padding:10px 11px;border:1px solid var(--brand-border);border-radius:10px}.rooming-toolbar span{font-size:12px;color:var(--brand-muted)}
.rooming-form-grid,.rooming-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rooming-form-grid label,.rooming-edit-grid label{display:grid;gap:5px;font-size:12px;font-weight:750;color:#475569}.rooming-form-grid input,.rooming-edit-grid input,.rooming-edit-grid select,.rooming-edit-grid textarea{padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;font:inherit}.rooming-edit-grid .span2{grid-column:span 3}.rooming-edit-grid small{font-weight:500;color:var(--brand-muted)}
.import-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.import-summary span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-size:12px}.import-summary strong{font-size:15px;margin-right:4px}
.rooming-control{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rooming-sync-card{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;display:grid;gap:4px}.rooming-sync-card span,.rooming-sync-card label{font-size:11px;color:#64748b}.rooming-sync-card strong{font-size:14px}.inline-save{display:flex;gap:6px}.inline-save input{min-width:0;flex:1;padding:7px;border:1px solid #dbe4ef;border-radius:8px}
@media(max-width:850px){.rooming-form-grid,.rooming-edit-grid,.rooming-control{grid-template-columns:1fr}.rooming-edit-grid .span2{grid-column:auto}.rooming-toolbar{align-items:stretch;flex-direction:column}.rooming-toolbar input{width:100%}}

/* v2.4.2 */
.rooming-wide-table{overflow-x:auto}.rooming-wide-table table{min-width:1110px}

/* v2.5.0 — quick participant switches + Travel / Transfers */
.quick-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.quick-switch input{position:absolute;opacity:0;pointer-events:none}
.quick-switch span{width:30px;height:17px;border-radius:999px;background:#cbd5e1;position:relative;transition:.15s}
.quick-switch span:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:white;left:2px;top:2px;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.15s}
.quick-switch input:checked+span{background:var(--brand-accent)}
.quick-switch input:checked+span:after{transform:translateX(13px)}
.quick-switch small{font-size:10px;font-weight:800;color:var(--brand-muted)}
.module-tabs{display:flex;gap:6px;margin-bottom:14px}
.module-tabs button,.compact-tabs button{border:1px solid var(--brand-border);background:#fff;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}
.module-tabs button.active,.compact-tabs button.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}
.travel-toolbar{display:flex;gap:12px;align-items:center;margin:12px 0}
.travel-toolbar input{flex:1;padding:10px 12px;border:1px solid var(--brand-border);border-radius:10px}
.transfer-controls{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:12px;padding:13px}
.transfer-control-left{display:flex;gap:18px;align-items:flex-end}
.transfer-control-left label{display:grid;gap:5px;font-size:11px;font-weight:800}
.transfer-control-left select,.transfer-group-meta select{padding:8px;border:1px solid var(--brand-border);border-radius:8px;background:#fff}
.compact-tabs{display:flex;gap:5px}
.transfer-summary{display:flex;gap:18px;align-items:center;padding:9px 12px;margin-bottom:10px;background:#eef4ff;border-radius:10px;font-size:12px}
.transfer-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.transfer-group-card{padding:13px}
.transfer-group-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;margin:9px 0}
.transfer-group-meta label{display:grid;gap:4px}
.transfer-passengers{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.transfer-passengers span{background:#f1f5f9;border:1px solid #dbe4ef;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700}
.transfer-status-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.badge.blue{background:#dbeafe;color:#1d4ed8}
@media(max-width:800px){.transfer-controls,.transfer-control-left,.travel-toolbar{flex-direction:column;align-items:stretch}.transfer-group-meta{grid-template-columns:1fr}}

/* v2.6.0 — participant master profile, bulk attendees, seating home */
.name-link{border:0;background:transparent;padding:0;color:#0f172a;font:inherit;font-weight:800;cursor:pointer;text-align:left}
.name-link:hover{text-decoration:underline;color:var(--brand-accent)}
.select-col{width:34px;text-align:center}
.participant-bulkbar{display:flex;align-items:center;gap:10px;min-height:38px;padding:7px 10px;margin:8px 0;border:1px solid var(--brand-border);border-radius:10px;background:#fff;font-size:11px}
.participant-bulkbar:not(.active){color:var(--brand-muted)}
.participant-bulkbar select{padding:7px;border:1px solid var(--brand-border);border-radius:8px;background:white}
.profile-modal{width:min(980px,94vw);max-height:90vh;overflow:auto;padding:18px}
.profile-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.profile-summary-grid section{border:1px solid var(--brand-border);border-radius:12px;padding:12px;background:#f8fafc}
.profile-summary-grid h3,.unified-editor h3{margin:0 0 8px;font-size:13px}
.profile-summary-grid p{margin:5px 0;font-size:12px}
.profile-transfer-groups{padding:10px 0}
.profile-loading{padding:35px;text-align:center}
.unified-editor{max-height:78vh;overflow:auto}
.unified-editor>h3{margin-top:18px;padding-top:12px;border-top:1px solid var(--brand-border)}
.span-2{grid-column:span 2}
.seating-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.seating-home-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;padding:16px}
.seating-home-card h2{margin:4px 0 0;font-size:18px}
.seating-home-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.transfer-passenger-link{border:1px solid #dbe4ef;background:#f1f5f9;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700;cursor:pointer}
.transfer-passenger-link:hover{border-color:var(--brand-accent);color:var(--brand-accent)}
@media(max-width:720px){.profile-summary-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.participant-bulkbar{align-items:stretch;flex-direction:column}}

/* v2.7.0 — destructive actions + hotel contracted dates */
.danger-outline{border-color:#fecaca!important;color:#b91c1c!important;background:#fff!important}
.danger-outline:hover{background:#fef2f2!important;border-color:#fca5a5!important}
.hotel-contract-card{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.6fr)) auto auto;gap:10px;align-items:end;margin:12px 0;padding:13px}
.hotel-contract-card h3{margin:3px 0 0;font-size:13px}
.hotel-contract-card label{display:grid;gap:5px;font-size:10px;font-weight:800}
.hotel-contract-card input{padding:8px 9px;border:1px solid var(--brand-border);border-radius:8px}
@media(max-width:900px){.hotel-contract-card{grid-template-columns:1fr 1fr}.hotel-contract-card>div{grid-column:1/-1}}
@media(max-width:560px){.hotel-contract-card{grid-template-columns:1fr}}

/* v2.8.0 — feedback states, working overlay, users & permissions */
.btn,.mini-btn,.nav button,.back-events,.module-tabs button,.compact-tabs button{transition:transform .08s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}
.btn:hover,.mini-btn:hover{border-color:var(--brand-accent);box-shadow:0 3px 10px rgba(15,23,42,.09);transform:translateY(-1px)}
.btn:active,.mini-btn:active,.nav button:active,.back-events:active{transform:translateY(1px) scale(.985);box-shadow:none}
.btn.primary:hover{filter:brightness(.94);box-shadow:0 4px 12px rgba(37,99,235,.22)}
button:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.working-overlay{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.34);backdrop-filter:blur(4px);display:grid;place-items:center;opacity:0;transition:opacity .16s ease;pointer-events:all}
.working-overlay.visible{opacity:1}
.working-card{min-width:min(340px,86vw);background:#fff;border-radius:16px;padding:24px;text-align:center;box-shadow:0 24px 70px rgba(15,23,42,.28);display:grid;gap:9px;justify-items:center}
.working-card strong{font-size:15px}.working-card small{color:#64748b}
.working-spinner{width:36px;height:36px;border:4px solid #dbeafe;border-top-color:var(--brand-accent);border-radius:50%;animation:workingSpin .75s linear infinite}
@keyframes workingSpin{to{transform:rotate(360deg)}}
.modal-close{width:32px;height:32px;border-radius:50%;border:1px solid #fecaca;background:#fff;color:#dc2626;font-size:23px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.13s}
.modal-close:hover{background:#fee2e2;border-color:#f87171;transform:scale(1.06)}
.modal-close:active{transform:scale(.94)}
.user-help{display:flex;gap:10px;align-items:center;margin-bottom:12px;padding:11px 13px}.user-help span{font-size:11px;color:#64748b}
.user-form{margin-bottom:14px}
.permission-grid{border:1px solid var(--brand-border);border-radius:12px;overflow:hidden;margin:14px 0}
.permission-head,.permission-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px;gap:8px;align-items:center;padding:9px 12px}
.permission-head{background:#f1f5f9;font-size:11px}.permission-row{border-top:1px solid var(--brand-border);font-size:12px}.permission-row label{display:flex;gap:6px;align-items:center}
.user-active{display:flex;gap:7px;align-items:center;font-weight:700;font-size:12px}
@media(max-width:650px){.permission-head,.permission-row{grid-template-columns:1fr 70px 70px}}

/* v2.8.2 — event home / authorized module launcher */
.event-home-welcome{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin-bottom:14px}
.event-home-welcome h2{margin:3px 0 4px;font-size:19px}
.event-home-welcome p{margin:0;color:#64748b;font-size:12px}
.module-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}
.module-home-card{appearance:none;width:100%;text-align:left;padding:17px;display:grid;grid-template-columns:46px 1fr;gap:12px;border:1px solid var(--brand-border);cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,border-color .16s ease;background:#fff}
.module-home-card:hover{transform:translateY(-2px);border-color:var(--brand-accent);box-shadow:0 8px 22px rgba(15,23,42,.09)}
.module-home-card:active{transform:translateY(1px) scale(.992)}
.module-home-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:var(--brand-accent);font-size:20px;font-weight:900}
.module-home-copy h2{font-size:16px;margin:1px 0 5px;color:#0f172a}
.module-home-copy p{font-size:11px;line-height:1.45;color:#64748b;margin:0;min-height:32px}
.module-home-footer{grid-column:1/-1;border-top:1px solid var(--brand-border);padding-top:10px;margin-top:3px;display:flex;justify-content:space-between;align-items:center}
.module-home-enter{font-size:11px;font-weight:800;color:var(--brand-accent)}
@media(max-width:600px){.event-home-welcome{align-items:flex-start;flex-direction:column}.module-home-grid{grid-template-columns:1fr}}

/* v2.8.3 — transfer privacy split + configurable vehicles */
.travel-readonly-note{display:flex;align-items:center;gap:10px;padding:11px 13px;margin-bottom:10px}
.travel-readonly-note strong{font-size:12px}.travel-readonly-note small{color:#64748b}
.subpermission-card{display:grid;gap:8px;border:1px solid var(--brand-border);border-radius:12px;background:#f8fafc;padding:12px;margin:12px 0}
.subpermission-card>div{display:grid;gap:2px}.subpermission-card small{color:#64748b}
.subpermission-card label{display:flex;gap:8px;align-items:flex-start;font-size:12px}
.vehicle-config-card{margin-bottom:12px;padding:14px}
.vehicle-config-list{display:grid;gap:7px;margin-top:10px}
.vehicle-config-row{display:grid;grid-template-columns:minmax(180px,1fr) 130px auto;gap:8px;align-items:end}
.vehicle-config-row label{display:grid;gap:4px;font-size:10px;font-weight:800}
.vehicle-config-row input{padding:8px 9px;border:1px solid var(--brand-border);border-radius:8px}
@media(max-width:650px){.vehicle-config-row{grid-template-columns:1fr 100px}.vehicle-config-row button{grid-column:1/-1}}

/* v2.8.4 — participant operations + transfer status flow */
.transfer-status-flow{align-items:center}
.transfer-status-flow>span{font-size:10px;font-weight:800;color:#64748b;margin-right:2px}
.status-step.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;box-shadow:0 2px 7px rgba(37,99,235,.18)}
.transfer-status-time{display:block;margin-top:3px;color:#64748b;font-size:9px;font-weight:600}
.quick-switch input:disabled+span{opacity:.55;cursor:not-allowed}
.table-wrap input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}

/* v2.9.0 — travel data quality + airport/airline autocomplete */
.section-help{margin:-3px 0 10px;color:#64748b;font-size:11px;line-height:1.45}
.travel-master-grid{align-items:start}
.reference-autocomplete{position:relative;width:100%}
.reference-autocomplete>input{width:100%}
.reference-suggestions{position:absolute;z-index:2000;left:0;right:0;top:calc(100% + 4px);display:none;max-height:280px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.16);padding:5px}
.reference-suggestions.open{display:grid}
.reference-suggestions button{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:start;text-align:left;border:0;background:#fff;padding:7px 8px;border-radius:7px;cursor:pointer;font:inherit}
.reference-suggestions button:hover,.reference-suggestions button:focus{background:#eef4ff;outline:none}
.reference-suggestions strong{font-size:11px;color:var(--brand-accent)}
.reference-suggestions span{font-size:10px;color:#475569;line-height:1.3}
input[type="date"]:invalid{border-color:#fca5a5;background:#fff7f7}

/* v2.9.1 — rooming itinerary validation */
.itinerary-date-guide{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:9px 11px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px;color:#475569}
.itinerary-date-guide strong{color:#0f172a}
.rooming-itinerary-context{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}
.rooming-itinerary-context>div{display:grid;gap:3px;padding:9px 11px;border:1px solid #dbe3ef;border-radius:9px;background:#f8fafc}
.rooming-itinerary-context span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800}
.rooming-itinerary-context strong{font-size:11px;color:#0f172a}
.rooming-exception-control{display:flex!important;gap:9px;align-items:flex-start;padding:10px 11px;border:1px dashed #f59e0b;border-radius:9px;background:#fffbeb}
.rooming-exception-control>label,.rooming-exception-control span{display:grid;gap:2px}
.rooming-exception-control input[type="checkbox"]{margin-top:2px;flex:0 0 auto}
.rooming-exception-control small{font-size:9px;line-height:1.4;color:#78716c}
.rooming-date-warning{display:none;padding:8px 10px;border-radius:8px;font-size:10px;font-weight:700;background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
.rooming-date-warning.visible{display:block}
.rooming-date-warning.exception{background:#fffbeb;color:#92400e;border-color:#fde68a}
.rooming-exception-badge{margin-top:4px;font-size:8px}
@media(max-width:650px){.rooming-itinerary-context{grid-template-columns:1fr}}

/* v3.0.0 — separate client portal + protected change requests */
.client-app{min-height:100vh;background:#f6f8fb;color:#0f172a}
.client-header{height:72px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50}
.client-brand{display:flex;align-items:center;gap:11px}.client-brandmark{width:38px;height:38px;border-radius:11px;background:var(--brand-accent);color:#fff;display:grid;place-items:center;font-weight:900}
.client-brand>div:last-child{display:grid;gap:1px}.client-brand small{font-size:8px;letter-spacing:.12em;color:#64748b;font-weight:900}.client-brand strong{font-size:14px}
.client-header-actions{display:flex;align-items:center;gap:9px;font-size:10px;color:#475569}
.client-nav{height:50px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;padding:0 28px;align-items:end;overflow:auto}
.client-nav button{border:0;background:transparent;padding:14px 12px 12px;font:inherit;font-size:10px;font-weight:800;color:#64748b;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}
.client-nav button.active{color:var(--brand-accent);border-bottom-color:var(--brand-accent)}
.client-nav-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#fff1f2;color:#be123c;margin-left:4px;font-size:8px}
.client-content{max-width:1280px;margin:0 auto;padding:25px 28px 50px}
.client-page-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.client-page-title h1{font-size:24px;margin:0 0 4px}.client-page-title p{margin:0;color:#64748b;font-size:11px}
.client-status-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:12px;margin-bottom:14px;border:1px solid}
.client-status-banner>div{display:grid;gap:3px}.client-status-banner strong{font-size:12px}.client-status-banner span{font-size:10px;color:#64748b}
.client-status-banner.open{background:#f0fdf4;border-color:#bbf7d0}.client-status-banner.locked{background:#f8fafc;border-color:#e2e8f0}
.client-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px}
.client-metric{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;gap:5px}.client-metric span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}.client-metric strong{font-size:26px}.client-metric.attention{border-color:#fde68a;background:#fffbeb}
.client-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-module-card{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;display:grid;grid-template-columns:44px 1fr;gap:11px;cursor:pointer;transition:.15s ease}.client-module-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.07);border-color:#bfdbfe}.client-module-icon{width:42px;height:42px;border-radius:11px;background:#eff6ff;color:var(--brand-accent);display:grid;place-items:center;font-size:18px}.client-module-card h2{font-size:15px;margin:0 0 4px}.client-module-card p{font-size:10px;color:#64748b;margin:0;line-height:1.45}.client-module-card>span{grid-column:1/-1;padding-top:10px;border-top:1px solid #edf2f7;color:var(--brand-accent);font-size:10px;font-weight:800}
.client-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:9px 11px;display:flex;gap:12px;align-items:center;margin-bottom:10px}.client-toolbar input{flex:1;border:1px solid #dbe3ef;border-radius:8px;padding:8px 10px}.client-toolbar span{font-size:10px;color:#64748b}
.client-table-wrap{overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.client-table-wrap table{width:100%;border-collapse:collapse}.client-table-wrap th{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;text-align:left;padding:9px 10px;white-space:nowrap}.client-table-wrap td{padding:10px;border-top:1px solid #eef2f7;font-size:10px;vertical-align:top}.client-table-wrap td strong{display:block;font-size:10px}.client-table-wrap td small{display:block;margin-top:3px;color:#64748b;font-size:8px}
.client-warning-text{color:#b45309!important;font-weight:700}
.client-request-backdrop{z-index:2500}
.client-request-modal{width:min(920px,calc(100vw - 28px));max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:17px;box-shadow:0 24px 70px rgba(15,23,42,.25)}
.client-request-modal section{padding:12px 0;border-top:1px solid #eef2f7}.client-request-modal section:first-of-type{border-top:0}.client-request-modal h3{font-size:12px;margin:0 0 9px}.client-request-modal textarea{width:100%;border:1px solid #dbe3ef;border-radius:9px;padding:9px;font:inherit}
.client-service-checks{display:flex!important;gap:14px;align-items:center;padding-top:20px}.client-service-checks label{display:flex;align-items:center;gap:6px}
.client-current-hotel{font-size:10px;color:#64748b;margin:-4px 0 9px}
.client-request-info{display:grid;gap:3px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px 12px}.client-request-info strong{font-size:10px;color:#1d4ed8}.client-request-info span{font-size:9px;color:#475569}
.client-request-list,.internal-request-list{display:grid;gap:10px}.client-request-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:13px}.client-request-card-head{display:flex;justify-content:space-between;gap:12px}.client-request-card-head>div{display:grid;gap:2px}.client-request-card-head strong{font-size:12px}.client-request-card-head small,.client-request-card>small{font-size:9px;color:#64748b}.client-request-card p{font-size:10px;color:#475569}.client-request-domains{display:flex;gap:5px;margin:8px 0}.client-request-domains span{font-size:8px;padding:4px 6px;border-radius:999px;background:#f1f5f9;color:#475569;font-weight:700}
.client-empty{padding:24px;text-align:center;color:#64748b;font-size:11px}
.dashboard-client-alert{width:100%;border:1px solid #fde68a;background:#fffbeb;border-radius:12px;padding:11px 13px;margin-bottom:13px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.dashboard-client-alert span{display:grid;gap:2px}.dashboard-client-alert strong{font-size:11px;color:#92400e}.dashboard-client-alert small{font-size:9px;color:#78716c}.dashboard-client-alert b{font-size:10px;color:#b45309}
.client-change-summary{display:flex;align-items:center;gap:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:12px 14px;margin-bottom:12px}.client-change-summary>div{display:grid;text-align:center;min-width:70px}.client-change-summary span{font-size:8px;text-transform:uppercase;color:#92400e;font-weight:900}.client-change-summary strong{font-size:24px;color:#92400e}.client-change-summary p{font-size:10px;color:#78716c;margin:0}
.internal-request-card{padding:14px}.internal-request-card.pending{border-color:#fde68a}.internal-request-head{display:flex;justify-content:space-between;gap:15px}.internal-request-head h2{font-size:14px;margin:2px 0}.internal-request-head small{font-size:9px;color:#64748b}
.client-note{background:#f8fafc;border-radius:9px;padding:9px 10px;margin:10px 0}.client-note strong{font-size:9px}.client-note p{font-size:10px;margin:4px 0 0;color:#475569}
.change-diff{display:grid;gap:9px;margin:10px 0}.change-domain{border:1px solid #e2e8f0;border-radius:9px;overflow:hidden}.change-domain h4{font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin:0;padding:7px 9px;background:#f8fafc}.change-diff-row{display:grid;grid-template-columns:150px minmax(0,1fr) 20px minmax(0,1fr);gap:7px;align-items:center;padding:7px 9px;border-top:1px solid #eef2f7;font-size:9px}.change-diff-row span{font-weight:800;color:#475569}.change-diff-row del{color:#991b1b;background:#fff1f2;padding:4px 6px;border-radius:5px;text-decoration:none}.change-diff-row ins{color:#166534;background:#f0fdf4;padding:4px 6px;border-radius:5px;text-decoration:none;font-weight:700}.change-diff-row>strong{text-align:center;color:#94a3b8}.request-review-note{display:block;margin-top:8px;color:#64748b;font-size:9px}
.client-role-permission-note{display:none;gap:4px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin:11px 0}.client-role-permission-note.visible{display:grid}.client-role-permission-note strong{font-size:10px;color:#1d4ed8}.client-role-permission-note span{font-size:9px;line-height:1.45;color:#475569}
@media(max-width:850px){.client-metrics{grid-template-columns:repeat(2,1fr)}.client-home-grid{grid-template-columns:1fr}.client-header{padding:0 14px}.client-nav{padding:0 14px}.client-content{padding:18px 14px 40px}.client-header-actions>span{display:none}}
@media(max-width:620px){.client-metrics{grid-template-columns:1fr 1fr}.change-diff-row{grid-template-columns:1fr}.change-diff-row>strong{display:none}.client-status-banner{align-items:flex-start;flex-direction:column}}

/* v3.1.0 — client portal refinement, seating, filters, shared rooming */
.client-toolbar label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;color:#64748b;white-space:nowrap}
.client-toolbar select,.client-seating-bar select,.client-rooming-top select{border:1px solid #dbe3ef;border-radius:8px;padding:7px 9px;background:#fff;font:inherit;font-size:10px}
.client-name-link,.client-name-inline{border:0;background:transparent;padding:0;color:var(--brand-accent);font:inherit;font-weight:800;cursor:pointer;text-align:left}
.client-name-link:hover,.client-name-inline:hover{text-decoration:underline}
.client-name-inline{font-size:9px}
.client-profile-modal{width:min(900px,calc(100vw - 28px));max-height:88vh;overflow:auto;background:#fff;border-radius:15px;padding:17px;box-shadow:0 24px 70px rgba(15,23,42,.25)}
.client-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.client-profile-grid section{border:1px solid #e2e8f0;border-radius:11px;padding:11px;background:#fff}
.client-profile-grid h3{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 8px}
.client-profile-grid p{font-size:10px;line-height:1.45;margin:5px 0;color:#334155}
.client-seating-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:9px 11px;margin-bottom:10px}
.client-seating-bar label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;color:#64748b}
.client-seating-bar input{flex:1;min-width:160px;border:1px solid #dbe3ef;border-radius:8px;padding:8px 10px}
.client-seating-bar>span{font-size:9px;color:#64748b;white-space:nowrap}
.client-seating-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;align-items:start}
.client-seat-pool,.client-seat-unit{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;min-height:90px}
.client-seat-pool{position:sticky;top:136px;max-height:calc(100vh - 165px);overflow:auto}
.client-seat-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.client-seat-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #eef2f7;margin-bottom:7px}
.client-seat-title strong{font-size:11px}.client-seat-title span{font-size:9px;color:#64748b}
.client-seat-people{display:grid;gap:6px}
.client-seat-chip{border:1px solid #e2e8f0;border-radius:8px;padding:7px;background:#f8fafc;display:grid;gap:5px}
.client-seat-chip[draggable="true"]{cursor:grab}.client-seat-chip[draggable="true"]:active{cursor:grabbing}
.client-seat-chip select{width:100%;border:1px solid #dbe3ef;border-radius:7px;padding:5px;background:#fff;font-size:9px}
.client-seat-unit.droppable:hover,.client-seat-pool.droppable:hover{border-color:#93c5fd;background:#f8fbff}
.client-rooming-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;margin-bottom:10px}
.client-rooming-top>.client-toolbar{margin:0}
.client-rooming-top>label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px 10px;font-size:9px;font-weight:800;color:#64748b}
.client-flight-stack>div{padding:2px 0;white-space:nowrap}
.client-roommate-field small{font-size:8px;line-height:1.35;color:#64748b;margin-top:3px}
.rooming-shared-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;margin:8px 0}
.rooming-shared-summary strong{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.rooming-shared-summary span{font-size:10px;font-weight:700}
.client-seating-permission{display:none!important}.client-seating-permission.visible-client-permission{display:grid!important}
.reference-suggestions button strong{white-space:nowrap}
@media(max-width:900px){.client-seating-layout{grid-template-columns:1fr}.client-seat-pool{position:static;max-height:none}.client-profile-grid{grid-template-columns:1fr}.client-rooming-top{grid-template-columns:1fr}}
@media(max-width:620px){.client-toolbar{align-items:stretch;flex-direction:column}.client-toolbar label{justify-content:space-between}.client-seating-bar{align-items:stretch;flex-direction:column}}

.client-rooming-top.single{grid-template-columns:1fr}
.client-seat-lock{font-size:7px;justify-self:start}
.client-seat-chip select:disabled{opacity:.55;cursor:not-allowed}

.rooming-flight-line{white-space:nowrap;padding:1px 0;font-size:9px}

.rooming-shared-flight-note{display:grid;gap:3px;padding:9px 11px;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff}
.rooming-shared-flight-note strong{font-size:9px;color:#1d4ed8;text-transform:uppercase;letter-spacing:.04em}
.rooming-shared-flight-note span{font-size:9px;color:#475569;line-height:1.45}
input[type="email"]:invalid:not(:placeholder-shown){border-color:#fca5a5;background:#fff7f7}
.client-profile-custom{grid-column:1/-1}

/* v3.1.1 — instant client navigation + safe client view fallback */
.client-view-error{max-width:620px;margin:50px auto;padding:22px}.client-view-error h2{margin:10px 0 5px}.client-view-error p{color:#64748b;font-size:11px;line-height:1.5}

/* v3.1.2 — internal Rooming route, client change center, roommate search, sex warning */
.rooming-loading-card{display:flex;align-items:center;gap:11px;padding:18px}.rooming-loading-card strong{font-size:12px}.rooming-loading-card small{color:#64748b;font-size:9px}
.dashboard-client-center{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;margin-bottom:13px;border-color:#fde68a;background:#fffbeb}.dashboard-client-center>div:first-child{display:grid;gap:3px}.dashboard-client-center h2{margin:0;font-size:15px;color:#92400e}.dashboard-client-center small{font-size:9px;color:#78716c}
.roommate-picker{position:relative;display:grid;gap:6px}.roommate-selected{min-height:42px;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #dbe3ef;border-radius:9px;background:#f8fafc;padding:7px 9px}.roommate-selected span{display:grid;gap:2px}.roommate-selected strong{font-size:10px}.roommate-selected small{font-size:8px;color:#64748b}.roommate-selected button{width:24px;height:24px;border:0;border-radius:999px;background:#fee2e2;color:#991b1b;cursor:pointer;font-weight:900}
.roommate-picker>input[type="search"]{width:100%;border:1px solid #dbe3ef;border-radius:9px;padding:8px 10px}.roommate-results{max-height:235px;overflow:auto;border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:4px}.roommate-results>small{display:block;padding:8px;color:#64748b;font-size:9px}.roommate-results button{width:100%;border:0;background:#fff;border-radius:7px;padding:7px 8px;display:flex;justify-content:space-between;gap:9px;text-align:left;cursor:pointer}.roommate-results button:hover{background:#eff6ff}.roommate-results button>span:first-child{display:grid;gap:2px}.roommate-results strong{font-size:10px}.roommate-results small,.roommate-result-meta{font-size:8px;color:#64748b}.roommate-result-meta{text-align:right;white-space:nowrap}
.roommate-sex-warning{display:none;border-radius:8px;padding:8px 10px;font-size:9px;line-height:1.4}.roommate-sex-warning.visible{display:block}.roommate-sex-warning.alert{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.roommate-sex-warning.neutral{background:#f8fafc;border:1px solid #cbd5e1;color:#475569}
.import-map-table{display:grid;gap:6px;margin:10px 0}.import-map-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) 220px;gap:8px;align-items:center;padding:7px;border:1px solid #e2e8f0;border-radius:8px}.import-map-row strong{font-size:9px}.import-map-row small{font-size:8px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-map-row select{border:1px solid #dbe3ef;border-radius:7px;padding:6px;background:#fff;font-size:9px}
@media(max-width:700px){.dashboard-client-center{align-items:flex-start;flex-direction:column}.import-map-row{grid-template-columns:1fr}.roommate-results button{align-items:flex-start;flex-direction:column}.roommate-result-meta{text-align:left}}

/* v3.1.3 Rooming loading diagnostics */
.rooming-loading-card{display:flex;align-items:center;gap:12px}.rooming-loading-card>div:last-child{display:grid;gap:3px}.rooming-timeout-hint{color:#94a3b8!important;font-size:8px!important}


/* v3.1.4 — nonblocking Rooming + robust roommate finder */
.hidden{display:none!important}
.build-badge{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#243044;color:#cbd5e1;font-size:7px;font-weight:800;letter-spacing:.04em}
.rooming-inline-status{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:10px;border:1px solid #dbe3ef;background:#fff}
.rooming-inline-status>div:not(.working-spinner){display:grid;gap:2px}.rooming-inline-status strong{font-size:10px}.rooming-inline-status small{font-size:9px;color:#64748b}.rooming-inline-status.warning{justify-content:space-between;background:#fffbeb;border-color:#fde68a}.rooming-inline-status.warning strong{color:#92400e}
.roommate-selected-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe3ef;background:#f8fafc;border-radius:9px;padding:9px 10px}.roommate-selected-card>div{display:grid;gap:2px}.roommate-selected-card strong{font-size:10px}.roommate-selected-card small{font-size:8px;color:#64748b}.roommate-selected-card button{border:0;background:#fee2e2;color:#991b1b;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800;cursor:pointer}.roommate-open-btn{width:100%;margin-top:6px}
.roommate-finder-backdrop{position:fixed;inset:0;z-index:4000;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:18px}.roommate-finder-modal{width:min(650px,calc(100vw - 28px));max-height:82vh;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 24px 70px rgba(15,23,42,.3)}.roommate-finder-modal>input{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;font:inherit}.roommate-finder-results{overflow:auto;display:grid;gap:5px;min-height:120px}.roommate-result-row{width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;cursor:pointer}.roommate-result-row:hover{background:#eff6ff;border-color:#bfdbfe}.roommate-result-row>span:first-child{display:grid;gap:2px}.roommate-result-row strong{font-size:10px}.roommate-result-row small{font-size:8px;color:#64748b}


/* v3.2.0 — event modules, rooming payment and client rooming workflow */
.event-module-picker,.event-modules-settings{display:grid;gap:10px}
.event-module-picker{margin:18px 0;padding:16px;border:1px solid var(--brand-border);border-radius:14px;background:#f8fafc}
.event-module-picker h3{margin:3px 0 4px}.event-module-picker p{margin:0 0 5px;color:var(--brand-muted);font-size:12px}
.module-choice{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #dbe4ef;border-radius:11px;background:#fff;cursor:pointer}
.module-choice input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand-accent)}
.module-choice span{display:grid;gap:3px}.module-choice strong{font-size:13px}.module-choice small{font-size:11px;color:var(--brand-muted);line-height:1.35}
.module-choice.fixed{background:#f1f5f9;cursor:default}
.event-modules-settings{max-width:760px}.event-modules-settings .module-choice{margin:0}
.client-rooming-guest-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0}
.client-rooming-remove-person{border:0;background:transparent;color:#b91c1c;font-size:8px;font-weight:800;white-space:nowrap;cursor:pointer;padding:3px 4px;border-radius:5px}
.client-rooming-remove-person:hover{background:#fff1f2}
.client-rooming-actions{display:flex;gap:5px;flex-wrap:wrap}
@media(max-width:650px){
  html,body{max-width:100%;overflow-x:hidden}
  .main,.content,.client-content{min-width:0;max-width:100%}
  .table-wrap,.client-table-wrap,.rooming-wide-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .event-module-picker,.event-modules-settings{padding:12px}
  .module-choice{padding:11px}
  .client-rooming-guest-line{align-items:flex-start;flex-direction:column;gap:2px}
}

/* v4.7.4 · filtros de Participantes compactos en escritorio */
@media(min-width:901px){
  .participant-filterbar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin-bottom:9px;padding:6px 7px;border:1px solid var(--brand-border);border-radius:11px;background:var(--brand-surface)}
  .participant-filterbar>input{flex:0 1 300px;min-width:180px;max-width:300px;padding:8px 9px}
  .participant-filterbar>select{flex:0 1 155px;min-width:120px;padding:8px 9px}
  .participant-filterbar>.mini-btn{flex:0 0 auto;min-height:34px;padding:7px 10px}
}


/* v3.3.0 — event lifecycle, compact dashboards and room occupant management */
.event-list-tabs{display:flex;gap:6px;margin:0 0 16px;background:#eef2f7;padding:5px;border-radius:12px;width:max-content}
.event-list-tabs button{border:0;background:transparent;padding:8px 13px;border-radius:9px;font-weight:800;color:#64748b;cursor:pointer}
.event-list-tabs button.active{background:#fff;color:var(--brand-text);box-shadow:0 1px 4px rgba(15,23,42,.08)}
.event-list-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e2e8f0;font-size:10px;margin-left:4px}
.event-card-managed{padding:0;overflow:hidden;display:grid}
.event-card-open{border:0;background:transparent;text-align:left;padding:6px 18px 16px;cursor:pointer;width:100%}
.event-card-open h2{margin:8px 0 4px}.event-card-open p{margin:0;color:var(--brand-muted)}
.event-card-status{display:flex;justify-content:space-between;align-items:center;padding:15px 18px 0}.event-card-status small{color:#94a3b8}
.event-card-actions{display:flex;justify-content:flex-end;gap:7px;padding:10px 14px;border-top:1px solid #edf2f7;background:#fbfcfe}
.danger-text{color:#b91c1c!important;border-color:#fecaca!important}
.dashboard-summary-cards .card,.rooming-summary-cards .card{padding:13px 14px}
.dashboard-summary-cards .metric,.rooming-summary-cards .metric{font-size:25px;margin-top:4px}
.dashboard-summary-cards .metric.small,.rooming-summary-cards .metric.small{font-size:16px}
.dashboard-section-compact{margin-top:14px;margin-bottom:9px}
.rooming-summary-cards{margin:10px 0 12px}
.rooming-control-compact{gap:8px;margin-top:10px!important}
.rooming-control-compact .rooming-sync-card{padding:10px 12px}
.rooming-occupants-editor{border:1px solid #dbe4ef;background:#f8fafc;border-radius:12px;padding:12px;margin:10px 0 12px}
.rooming-occupants-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.rooming-occupants-editor-head>div{display:grid;gap:3px}
.rooming-current-occupants{display:grid;gap:6px;margin-bottom:7px}
.rooming-occupant-chip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:9px}
.rooming-occupant-chip>div{display:grid;gap:2px}.rooming-occupant-chip strong{font-size:11px}.rooming-occupant-chip small{font-size:9px;color:#64748b}
.rooming-occupant-chip button{border:0;background:#fff1f2;color:#b91c1c;font-weight:800;font-size:9px;padding:5px 7px;border-radius:7px;cursor:pointer}
.internal-roommate-finder .roommate-result span{font-size:9px;font-weight:800;color:var(--brand-accent)}
.client-seat-person-name{font-size:10px;font-weight:800;color:#1e293b;line-height:1.25;cursor:grab;user-select:none}
.client-seat-chip:active .client-seat-person-name{cursor:grabbing}
@media(max-width:750px){
  .event-list-tabs{width:100%}.event-list-tabs button{flex:1}
  .event-card-actions{justify-content:stretch}.event-card-actions button{flex:1}
  .dashboard-summary-cards,.rooming-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rooming-occupants-editor-head{align-items:stretch;flex-direction:column}.rooming-occupants-editor-head .btn{width:100%}
}
@media(max-width:480px){
  .dashboard-summary-cards,.rooming-summary-cards{grid-template-columns:1fr 1fr!important}
  .dashboard-summary-cards .card,.rooming-summary-cards .card{padding:11px}
  .dashboard-summary-cards .metric,.rooming-summary-cards .metric{font-size:22px}
}


/* v3.3.1 — Rooming hotfix, archived visibility and notification badge */
.nav button{position:relative;display:flex;align-items:center;gap:8px}
.nav button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nav-notification{margin-left:auto;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:900;line-height:1}
.archived-event-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:10px 13px;border:1px solid #dbe3ef;background:#f8fafc;border-radius:11px}
.archived-event-banner>div{display:grid;gap:2px}.archived-event-banner strong{font-size:12px}.archived-event-banner span:not(.badge){font-size:10px;color:#64748b}
.rooming-capacity-warning{display:grid;gap:3px;margin-top:9px;padding:9px 10px;border-radius:9px;border:1px solid #fecaca;background:#fff1f2;color:#991b1b}
.rooming-capacity-warning strong{font-size:10px}.rooming-capacity-warning span{font-size:9px;line-height:1.35}
.roommate-result{width:100%;text-align:left}
@media(max-width:650px){.archived-event-banner{align-items:flex-start;flex-direction:column}.nav-notification{flex:0 0 auto}.nav button{min-width:max-content}}


/* v3.3.2 — compact Rooming columns + clearer save feedback */
.rooming-wide-table th,.rooming-wide-table td{padding-left:8px;padding-right:8px}
.rooming-wide-table th{white-space:nowrap;font-size:10px}
.rooming-wide-table td{font-size:10px}
.rooming-wide-table .edit-col{width:40px;min-width:40px;text-align:center}
.icon-edit-btn{width:29px;height:29px;border:1px solid #dbe4ef;background:#fff;border-radius:8px;display:inline-grid;place-items:center;cursor:pointer;color:#475569;transition:.12s}
.icon-edit-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent);background:#f8fbff}
.icon-edit-btn:active{transform:scale(.94)}
.icon-edit-btn svg{width:15px;height:15px;fill:currentColor}
.working-overlay{backdrop-filter:blur(4px)}
@media(max-width:750px){
  .rooming-wide-table table{min-width:1060px}
}


/* v3.3.3 — rooming night count */
.nights-col{text-align:center;font-weight:800}
.night-count-backdrop{position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.42);backdrop-filter:blur(4px);display:grid;place-items:center;padding:22px}
.night-count-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 28px 90px rgba(15,23,42,.28)}
.night-count-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:16px;align-items:stretch}
.night-count-chart{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding:6px 4px 2px;min-height:430px}
.night-count-day{min-width:92px;flex:1;display:grid;grid-template-rows:auto 1fr auto auto;gap:8px;text-align:center;padding:10px 8px 8px;border-radius:8px}
.night-count-day.alt{background:#f1f1f1}
.night-count-date{font-size:12px;font-weight:800;color:#111827;white-space:nowrap}
.night-count-bar-zone{height:300px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #dbe4ef}
.night-count-bar{width:min(72px,82%);background:#111;min-height:8px}
.night-count-day>strong{font-size:19px;color:#111827}
.night-count-day>small{font-size:10px;color:#64748b}
.night-count-summary{display:grid;align-content:center;gap:17px;border-left:1px solid #e2e8f0;padding-left:24px}
.night-count-summary>div{display:grid;gap:3px}
.night-count-summary span{font-size:10px;font-weight:800;letter-spacing:.04em;color:#64748b}
.night-count-summary strong{font-size:20px;color:#111827}
.night-count-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}
.night-count-foot small{color:#64748b}
@media(max-width:850px){
  .night-count-layout{grid-template-columns:1fr}
  .night-count-summary{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid #e2e8f0;padding:18px 0 0}
  .night-count-chart{min-height:360px}
  .night-count-bar-zone{height:240px}
}
@media(max-width:560px){
  .night-count-backdrop{padding:8px}.night-count-modal{padding:14px;border-radius:14px}
  .night-count-summary{grid-template-columns:1fr 1fr;gap:12px}
  .night-count-summary strong{font-size:16px}
  .night-count-foot{align-items:stretch;flex-direction:column}.night-count-foot .btn{width:100%}
  .night-count-day{min-width:78px}.night-count-bar-zone{height:220px}
}


/* v3.4.0 — sortable compact tables + dashboard snap */
.table-sort-btn{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-weight:800;color:inherit;cursor:pointer;white-space:nowrap}
.table-sort-btn span{font-size:9px;color:#94a3b8;min-width:9px}
.table-sort-btn.active span{color:var(--brand-accent)}
.table-sort-btn:hover{color:var(--brand-accent)}

.rooming-payment-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.rooming-payment-badge.master{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}
.rooming-payment-badge.self{background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff}
.rooming-wide-table .flight-number-cell{min-width:74px;width:74px;text-align:center}
.rooming-wide-table .flight-number-cell .rooming-flight-line{white-space:nowrap;font-weight:800;font-size:10px}

.participant-compact-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.participant-compact-table table{width:max-content;min-width:100%;table-layout:auto}
.participant-compact-table th,.participant-compact-table td{padding:7px 8px;vertical-align:middle}
.participant-compact-table th{font-size:10px;white-space:nowrap}
.participant-compact-table td{font-size:10px}
.participant-compact-table .participant-first-name,.participant-compact-table .participant-last-name{min-width:118px;font-weight:700}
.participant-compact-table .participant-seating-col{min-width:92px;max-width:130px;text-align:center}
.participant-compact-table .seating-value{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:7px;background:#f1f5f9;font-weight:700;color:#334155}
.participant-compact-table .status-col{min-width:66px;width:66px;text-align:center}
.participant-compact-table .qr-col{min-width:72px;width:72px;text-align:center}
.participant-compact-table .edit-col{min-width:42px;width:42px;text-align:center}
.compact-status-check{width:18px;height:18px;accent-color:var(--brand-accent);cursor:pointer}
.compact-status-check:disabled{cursor:not-allowed;opacity:.55}
.participant-view-btn{min-width:42px}

.qr-page-modal{width:min(760px,95vw);max-height:92vh;overflow:auto}
.qr-page-actions{display:flex;align-items:center;gap:12px;margin:10px 0 14px}
.qr-page-actions small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b}
.published-page-frame{border:1px solid #dbe4ef;border-radius:14px;overflow:hidden;background:#f8fafc}
.published-page-frame iframe{display:block;width:100%;height:min(640px,65vh);border:0;background:#fff}

.dashboard-snap-note{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-4px 0 12px;padding:8px 11px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569}
.dashboard-snap-note span{font-size:11px;font-weight:800}.dashboard-snap-note small{font-size:9px;color:#94a3b8}
.dashboard-snap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));grid-auto-flow:dense;gap:10px;align-items:stretch}
.dashboard-widget{position:relative;min-width:0;min-height:118px;padding:14px 15px!important;display:flex;flex-direction:column;justify-content:center;gap:4px;transition:transform .12s,box-shadow .12s,opacity .12s}
.dashboard-widget.wide{grid-column:span 2}
.dashboard-widget.dragging{opacity:.55;transform:scale(.985);box-shadow:0 18px 48px rgba(15,23,42,.2)}
.dashboard-drag-handle{position:absolute;right:8px;top:7px;width:27px;height:27px;border:0;background:transparent;color:#94a3b8;font-size:18px;line-height:1;cursor:grab;border-radius:7px}
.dashboard-drag-handle:hover{background:#f1f5f9;color:#334155}.dashboard-drag-handle:active{cursor:grabbing}
.dashboard-widget .metric{font-size:27px;margin:2px 0}
.dashboard-widget .metric.small{font-size:16px}
.dashboard-widget h2,.dashboard-widget h3{margin:2px 0}
.dashboard-widget small{color:#64748b}
.dashboard-widget-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dashboard-widget-row .actions{flex-wrap:wrap}
.widget-inline-action{margin-top:5px;align-self:flex-start}
.dashboard-activity-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:5px}
.dashboard-activity-compact>div{display:grid;gap:2px;padding:8px;border-radius:9px;background:#f8fafc}
.dashboard-activity-compact span{font-size:9px;color:#64748b;font-weight:800;text-transform:uppercase}
.dashboard-activity-compact strong{font-size:11px}.dashboard-activity-compact small{font-size:9px}
.dashboard-sample-name{margin:2px 0 7px;font-weight:800;color:#334155}

@media(max-width:760px){
  .dashboard-snap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-widget.wide{grid-column:span 2}
  .dashboard-snap-note{align-items:flex-start;flex-direction:column}
  .participant-compact-table .participant-first-name,.participant-compact-table .participant-last-name{min-width:105px}
  .qr-page-actions{align-items:stretch;flex-direction:column}.qr-page-actions .btn{width:100%}.qr-page-actions small{width:100%}
}
@media(max-width:480px){
  .dashboard-snap-grid{grid-template-columns:1fr}
  .dashboard-widget.wide{grid-column:span 1}
  .dashboard-widget{min-height:105px}
  .published-page-frame iframe{height:62vh}
}


/* v3.5.0 — flexible Dashboard, QR, execution and Live Views */
.dashboard-snap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-widget.span-1{grid-column:span 1}
.dashboard-widget.span-2{grid-column:span 2}
.dashboard-widget.span-3{grid-column:span 3}
.dashboard-widget.span-4{grid-column:span 4}
.dashboard-widget-tools{position:absolute;right:7px;top:6px;display:flex;gap:2px;z-index:3}
.dashboard-widget-tools button{width:26px;height:26px;border:0;background:transparent;border-radius:7px;color:#94a3b8;cursor:pointer;display:grid;place-items:center}
.dashboard-widget-tools button:hover{background:rgba(255,255,255,.72);color:#334155}
.dashboard-drag-handle{position:static!important}
.dashboard-widget-settings{font-size:12px}
.dashboard-config-modal{width:min(540px,94vw)}
.dashboard-config-section{display:grid;gap:9px;margin-top:18px}
.dashboard-size-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.dashboard-size-options button,.dashboard-color-options button{border:1px solid #dbe4ef;background:#fff;border-radius:9px;padding:9px;cursor:pointer;font-weight:800}
.dashboard-size-options button.active,.dashboard-color-options button.active{border-color:var(--brand-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 15%,transparent)}
.dashboard-color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.dashboard-color-options button{display:flex;align-items:center;gap:8px;text-align:left;font-size:10px}
.dashboard-color-options button>span{width:24px;height:24px;border:1px solid #dbe4ef;border-radius:7px;flex:none}

.participant-compact-table th{position:relative}
.participant-compact-table th,.participant-compact-table td{font-size:13px!important}
.participant-compact-table th{font-size:11.5px!important}
.participant-compact-table .participant-first-name,.participant-compact-table .participant-last-name{font-size:13.5px!important}
.participant-compact-table .seating-value{font-size:11px}
.participant-col-resizer{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}
.participant-col-resizer:after{content:"";position:absolute;left:3px;top:22%;bottom:22%;width:1px;background:#cbd5e1}
.participant-col-resizer:hover:after{width:2px;background:var(--brand-accent)}
body.resizing-columns{cursor:col-resize!important;user-select:none!important}
.compact-switch{gap:0;justify-content:center}
.compact-switch span{width:32px;height:18px}
.compact-switch span:after{width:14px;height:14px}
.compact-switch input:checked+span:after{transform:translateX(14px)}

.qr-page-top{display:grid;grid-template-columns:270px 1fr;gap:20px;align-items:center;margin:12px 0 18px}
.participant-qr-card{display:grid;justify-items:center;gap:7px;padding:14px;border:1px solid #dbe4ef;border-radius:14px;background:#fff}
.participant-qr-card strong{font-size:13px}.participant-qr-card small{font-size:9px;color:#64748b;text-align:center}
.participant-qr-canvas{width:230px;height:230px;display:grid;place-items:center;overflow:hidden}
.participant-qr-canvas canvas,.participant-qr-canvas img{width:230px!important;height:230px!important;display:block}
.qr-unavailable{font-size:11px;color:#b91c1c;text-align:center}
.qr-page-actions{display:grid;align-content:center;gap:8px}
.qr-page-actions small{margin-top:3px;white-space:normal;word-break:break-all}
.published-page-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.published-page-title strong{font-size:12px}

.live-view-form{margin-bottom:14px}
.live-widget-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.live-widget-picker>strong{width:100%;font-size:11px}
.live-widget-picker label{border:1px solid #dbe4ef;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800;background:#fff}
.live-view-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}
.live-view-intro h2{margin:3px 0}.live-view-intro p{margin:0;color:#64748b;font-size:11px}
.live-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.live-view-card{display:grid;gap:10px}.live-view-card.inactive{opacity:.68}
.live-view-url{font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px;background:#f8fafc;border-radius:8px;word-break:break-all}
.live-view-widgets{display:flex;gap:5px;flex-wrap:wrap}
.live-view-widgets span{font-size:8px;font-weight:800;padding:4px 6px;border-radius:999px;background:#eef2ff;color:#4338ca}
.live-editor{margin-bottom:16px}.live-editor-settings{display:grid;grid-template-columns:1.2fr .8fr 1.3fr auto;gap:12px;align-items:end;margin-bottom:16px}.live-editor-settings label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#475569}.live-editor-settings input,.live-editor-settings select{width:100%;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.live-editor-settings input[type=file]{font-size:11px}.live-editor-settings small{font-weight:500;color:var(--brand-muted)}.live-editor-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px}.live-widget-catalog{display:flex;flex-direction:column;gap:7px;border:1px solid var(--brand-border);border-radius:13px;padding:12px;align-self:start}.live-widget-catalog strong{margin-bottom:5px}.live-widget-catalog button{text-align:left}.live-editor-preview{min-height:440px;background:#0b1220 center/cover;border-radius:16px;padding:16px}.live-editor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense;gap:10px}.live-editor-widget{min-width:0;min-height:120px;padding:13px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:var(--preview-widget-bg,#172033);color:#fff;display:grid;align-content:space-between;gap:12px;cursor:grab}.live-editor-widget>div:first-child{display:flex;align-items:center;gap:8px}.live-widget-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.live-widget-controls label{display:grid;gap:3px;font-size:10px}.live-widget-controls select{padding:5px;border-radius:7px}.live-widget-controls input[type=color]{width:34px;height:29px;padding:2px;border-radius:7px}.live-editor .form-actions{justify-content:flex-end;margin-top:14px}

.execution-page .page-title{position:sticky;top:0;z-index:4;background:var(--brand-bg);padding-bottom:8px}
.execution-tabs{display:flex;gap:6px;margin-bottom:10px}
.execution-tabs button,.execution-filters button{border:1px solid #dbe4ef;background:#fff;border-radius:9px;padding:9px 12px;font-weight:850;cursor:pointer}
.execution-tabs button.active,.execution-filters button.active{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}
.execution-controls{display:grid;gap:8px;margin-bottom:10px}
.execution-controls>input{padding:12px 14px;border:1px solid #dbe4ef;border-radius:11px;font-size:16px}
.execution-filters{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}
.execution-filters button{white-space:nowrap;font-size:10px;padding:7px 9px}
.execution-participant-list,.execution-transfer-list{display:grid;gap:8px}
.execution-transfer-days{display:grid;gap:18px}
.execution-transfer-day{display:grid;gap:9px}
.execution-transfer-day>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;padding:12px 14px;border-radius:14px;background:#e9eef7;color:#17233a}
.execution-transfer-day>header span{grid-column:1/-1;font-size:10px;font-weight:900;letter-spacing:.12em;color:#64748b}
.execution-transfer-day>header h2{margin:0;font-size:19px}
.execution-transfer-day>header small{font-weight:800;color:#64748b}
.execution-person-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:12px}
.execution-person-card>div:first-child{display:grid;gap:2px;min-width:0}.execution-person-card strong{font-size:14px}.execution-person-card small{font-size:10px;color:#64748b}
.execution-actions{display:flex;gap:7px}
.execution-actions button,.execution-next-status{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:11px 14px;font-size:11px;font-weight:900;cursor:pointer;min-width:84px}
.execution-actions button.done,.execution-next-status.done{background:#dcfce7;border-color:#86efac;color:#166534}
.execution-transfer-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:13px;display:grid;gap:10px}
.execution-transfer-head{display:flex;justify-content:space-between;gap:12px}.execution-transfer-head h2{margin:2px 0;font-size:18px}
.execution-transfer-names{display:flex;gap:5px;flex-wrap:wrap}.execution-transfer-names span{font-size:9px;background:#f1f5f9;border-radius:999px;padding:5px 7px}
.execution-next-status{width:100%;background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;font-size:13px;padding:13px}

.public-live-shell{width:100%;height:100vh;height:100dvh;min-height:0;box-sizing:border-box;background:#0b1220 center/cover fixed;color:#fff;padding:clamp(22px,2.7vw,52px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(12px,1.5vw,24px);overflow:hidden;font-family:Inter,Arial,sans-serif}
.public-live-header{display:flex;justify-content:space-between;align-items:center;gap:20px}
.public-live-header>div:first-child{display:flex;align-items:center;gap:14px}.public-live-header img{max-width:150px;max-height:58px;object-fit:contain}
.public-live-mark{width:54px;height:54px;border-radius:16px;background:var(--brand-accent);display:grid;place-items:center;font-weight:900}
.public-live-header small{font-size:12px;letter-spacing:.12em;color:#94a3b8}.public-live-header h1{margin:3px 0 0;font-size:clamp(26px,4vw,54px)}
.public-live-clock{font-size:clamp(28px,5vw,64px);font-weight:300;font-variant-numeric:tabular-nums}
.public-live-countdown{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:18px}
.public-live-countdown span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#94a3b8}.public-live-countdown strong{font-size:clamp(28px,5vw,70px);font-variant-numeric:tabular-nums}
.public-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-content:center}
.public-live-layout{min-height:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:minmax(112px,1fr);gap:clamp(9px,1vw,16px);align-content:stretch;overflow:hidden}.public-live-widget{min-width:0;min-height:0;overflow:hidden}.public-live-card{box-sizing:border-box;height:100%;min-height:0;border:1px solid rgba(255,255,255,.14);background:var(--live-card-bg,rgba(255,255,255,.055));border-radius:20px;padding:clamp(14px,1.3vw,22px);display:grid;align-content:center;gap:4px;overflow:hidden;backdrop-filter:blur(9px)}
.public-live-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:850}.public-live-card strong{font-size:clamp(42px,7vw,88px);line-height:1}.public-live-card small{font-size:13px;color:#cbd5e1}
.public-live-title-card{display:flex;align-items:center;gap:22px;min-height:135px}.public-live-title-card img{width:min(170px,18vw);max-height:90px;object-fit:contain}.public-live-title-card>div{display:grid;gap:6px}.public-live-title-card strong{font-size:clamp(30px,5vw,70px)}.public-live-clock-card strong,.public-live-countdown-card strong{font-variant-numeric:tabular-nums}.public-live-countdown-card strong{font-size:clamp(32px,5vw,70px)}.public-live-list-card{align-content:start}.public-live-list{display:grid;gap:10px;margin-top:12px}.public-live-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12)}.public-live-list>div strong{font-size:18px}.public-live-list canvas{grid-column:2;grid-row:1/3;background:#fff;border-radius:8px;padding:3px}
.public-live-footer{display:flex;justify-content:space-between;color:#64748b;font-size:10px}
.public-live-error{margin:auto;max-width:500px;text-align:center}
.public-live-shell.production{background:#111827}

@media(max-width:980px){
  .dashboard-snap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-widget.span-3{grid-column:span 3}
  .dashboard-widget.span-4{grid-column:span 3}
}
@media(max-width:760px){
  .dashboard-snap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-widget.span-3,.dashboard-widget.span-4{grid-column:span 2}
  .qr-page-top{grid-template-columns:1fr}.participant-qr-card{max-width:290px;margin:auto;width:100%}
  .live-view-intro{align-items:stretch;flex-direction:column}
  .live-editor-settings{grid-template-columns:1fr 1fr}.live-editor-body{grid-template-columns:1fr}.live-widget-catalog{display:grid;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .dashboard-snap-grid{grid-template-columns:1fr}
  .dashboard-widget.span-2,.dashboard-widget.span-3,.dashboard-widget.span-4{grid-column:span 1}
  .execution-person-card{align-items:stretch;flex-direction:column}.execution-actions{width:100%}.execution-actions button{flex:1}
  .public-live-shell{padding:18px;gap:18px}.public-live-header{align-items:flex-start}.public-live-clock{font-size:28px}.public-live-grid{grid-template-columns:1fr 1fr}.public-live-layout{grid-template-columns:1fr}.public-live-widget{grid-column:span 1!important}.public-live-card{min-height:125px;padding:15px}.public-live-card strong{font-size:44px}.live-editor-settings,.live-widget-catalog{grid-template-columns:1fr}
}

.dashboard-custom-color{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}
.dashboard-custom-color label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800}.dashboard-custom-color input{width:42px;height:30px;border:0;padding:0;background:transparent}


/* v3.5.1 — MVP polish: compact actions + readable operational tables */
.page-title .actions .btn:not(.primary),
.page-title .toolbar-split .btn:not(.primary){
  padding:7px 10px;
  border-radius:8px;
  font-size:10.5px;
  min-height:31px;
}
.page-title .actions .btn.primary,
.page-title .toolbar-split .btn.primary{
  padding:8px 11px;
  border-radius:8px;
  font-size:11px;
  min-height:32px;
}
.transfer-controls .actions .btn:not(.primary),
.hotel-contract-card .btn:not(.primary),
.rooming-control .btn:not(.primary){
  padding:7px 10px;
  border-radius:8px;
  font-size:10.5px;
}

.rooming-wide-table th{font-size:11.5px!important}
.rooming-wide-table td{font-size:12.5px!important;line-height:1.32}
.rooming-wide-table .name-link{font-size:13.5px!important;font-weight:800}
.rooming-wide-table .flight-number-cell .rooming-flight-line{font-size:12px!important}
.rooming-wide-table .rooming-payment-badge{font-size:10px}
.transfer-passenger-link{font-size:11.5px!important;padding:5px 8px}
.transfer-group-card h2{font-size:17px}
.transfer-group-meta{font-size:11.5px}
.transfer-status-flow .mini-btn{font-size:10.5px;padding:6px 9px}

.travel-toolbar{gap:8px}
.travel-toolbar>span{font-size:11px;white-space:nowrap}
.travel-export-actions{display:flex;gap:5px;align-items:center}
.travel-export-actions .btn{padding:7px 10px;border-radius:8px;font-size:10.5px}

@media(max-width:800px){
  .travel-export-actions{width:100%}
  .travel-export-actions .btn{flex:1}
}


/* v3.5.2 — participant matrix + bulk QR */
.participant-export-modal{width:min(900px,96vw);max-height:92vh;overflow:auto}
.export-scope{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 12px;margin-top:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.export-scope>strong{font-size:11px;margin-right:4px}
.export-scope label{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:750}
.export-scope label.disabled{opacity:.45}
.matrix-select-toolbar{display:flex;align-items:center;gap:7px;margin:12px 0}
.matrix-select-toolbar span{margin-left:auto;font-size:10px;color:#64748b;font-weight:800}
.matrix-field-groups{display:grid;gap:10px}
.matrix-field-groups section{border:1px solid #e2e8f0;border-radius:11px;padding:10px}
.matrix-group-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.matrix-group-title strong{font-size:11px}
.matrix-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.matrix-check-grid label{display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;background:#f8fafc;font-size:10px;min-width:0}
.matrix-check-grid input{flex:none}

.qr-bulk-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.qr-bulk-options article{border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;gap:8px;align-content:start}
.qr-bulk-options strong{font-size:13px}.qr-bulk-options p{margin:0;color:#64748b;font-size:10.5px;line-height:1.45}
.qr-bulk-options .btn{justify-self:start}

.toolbar-split{flex-wrap:wrap}

@media(max-width:720px){
  .matrix-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qr-bulk-options{grid-template-columns:1fr}
  .export-scope{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:480px){
  .matrix-check-grid{grid-template-columns:1fr}
}


/* v3.6.0 — Reports / Audit + user administration */
.user-row-actions{display:flex;justify-content:flex-end;gap:5px;align-items:center}
.icon-delete-btn{width:29px;height:29px;border:1px solid #fecaca;background:#fff;border-radius:8px;display:inline-grid;place-items:center;cursor:pointer;color:#b91c1c;font-size:20px;line-height:1;transition:.12s}
.icon-delete-btn:hover{background:#fef2f2;border-color:#f87171}.icon-delete-btn:active{transform:scale(.94)}

.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}
.report-summary-grid>.card{padding:13px 14px;display:grid;gap:3px;min-height:86px;align-content:center}
.report-summary-grid>.wide{grid-column:span 2}
.report-summary-grid span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.report-summary-grid strong{font-size:24px;color:#111827}
.report-summary-grid>.wide strong{font-size:14px}
.report-summary-grid small{font-size:9px;color:#64748b}

.report-filter-card{padding:12px;margin-bottom:10px}
.report-search-row{display:flex;gap:8px;align-items:center;margin-bottom:9px}
.report-search-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid #dbe4ef;border-radius:9px;font-size:12px}
.report-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.report-filter-grid label{display:grid;gap:4px;font-size:9px;font-weight:850;color:#64748b}
.report-filter-grid select,.report-filter-grid input{width:100%;min-width:0;padding:8px 9px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;font-size:10px;color:#111827}

.report-audit-table table{min-width:1180px}
.report-audit-table th{font-size:10px;white-space:nowrap}
.report-audit-table td{font-size:11px;vertical-align:middle}
.report-audit-table td>small{display:block;margin-top:2px;color:#94a3b8;font-size:8px}
.report-audit-table td>strong{font-size:11.5px}
.report-date{white-space:nowrap;width:118px}
.report-summary-cell{min-width:280px;max-width:420px;line-height:1.4;color:#475569}
.report-module-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:8px;font-weight:900;white-space:nowrap}
.report-module-badge.attendees{background:#eff6ff;color:#1d4ed8}
.report-module-badge.seating{background:#ecfdf5;color:#047857}
.report-module-badge.rooming{background:#fff7ed;color:#c2410c}
.report-module-badge.transfers{background:#eef2ff;color:#4338ca}
.report-module-badge.client{background:#fdf2f8;color:#be185d}
.report-module-badge.users{background:#fef2f2;color:#b91c1c}
.report-module-badge.visuals{background:#f5f3ff;color:#6d28d9}

.report-detail-modal{width:min(820px,95vw);max-height:92vh;overflow:auto}
.report-detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}
.report-detail-meta>div{padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;display:grid;gap:3px}
.report-detail-meta span{font-size:8px;font-weight:850;text-transform:uppercase;color:#64748b}
.report-detail-meta strong{font-size:11px;word-break:break-word}.report-detail-meta small{font-size:8px;color:#64748b;word-break:break-all}
.report-change-list{margin-top:12px;display:grid;gap:6px}
.report-change-list h3{font-size:12px;margin:0 0 4px}
.report-change-list>div{display:grid;grid-template-columns:150px 1fr 20px 1fr;gap:7px;align-items:center;padding:8px;border-bottom:1px solid #eef2f7;font-size:10px}
.report-change-list .before{padding:5px 7px;border-radius:7px;background:#fef2f2;color:#991b1b;word-break:break-word}
.report-change-list .after{padding:5px 7px;border-radius:7px;background:#ecfdf5;color:#065f46;word-break:break-word}
.report-no-diff{margin-top:12px;padding:11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:10px}
.report-raw{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:10px}
.report-raw summary{cursor:pointer;font-size:10px;font-weight:850;color:#475569}
.report-raw pre{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:12px;font-size:9px;max-height:330px;overflow:auto}

@media(max-width:1000px){
  .report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-summary-grid>.wide{grid-column:span 2}
  .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-change-list>div{grid-template-columns:1fr;gap:4px}
  .report-change-list>div>span:nth-of-type(2){display:none}
}
@media(max-width:480px){
  .report-filter-grid{grid-template-columns:1fr}
  .report-search-row{align-items:stretch;flex-direction:column}
  .report-detail-meta{grid-template-columns:1fr}
}

/* v3.7.0 — Experience module + professional Rooming List */
.experience-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.experience-summary>.card{padding:14px 15px;display:grid;gap:4px;min-height:105px;align-content:center}
.experience-summary span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.experience-summary strong{font-size:27px;color:#111827}
.experience-summary small{font-size:9px;color:#64748b;line-height:1.35}
.experience-summary .experience-future{background:linear-gradient(135deg,#f8fafc,#eef2ff)}
.experience-summary .experience-future strong{font-size:15px}
.experience-controls{margin-top:2px}
.experience-permission-note{background:#f8fafc;border-style:dashed}
.hotel-contract-card label input[type="time"]{min-width:105px}
@media(max-width:780px){
  .experience-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .experience-summary .experience-future{grid-column:span 2}
}
@media(max-width:480px){
  .experience-summary{grid-template-columns:1fr}
  .experience-summary .experience-future{grid-column:span 1}
}
.rooming-bed-type{display:block;margin-top:2px;font-size:9px;color:#64748b;font-weight:700;white-space:nowrap}
.report-module-badge.experience{background:#ecfeff;color:#0f766e}


/* v3.7.1 — Experience isolated from Participants */
.experience-permission-note{border-left:3px solid #2563eb}


/* v3.7.2 — participant profile links + Experience bulk operation */
.participant-profile-link{border:0;background:transparent;padding:0;color:#1d4ed8;font:inherit;font-weight:800;text-align:left;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.participant-profile-link:hover{text-decoration:underline;color:var(--brand-accent)}
.experience-bulkbar{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 11px;margin:8px 0;border:1px solid #e2e8f0;border-radius:11px;background:#fff}
.experience-bulkbar>label{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800}
.experience-bulkbar>strong{font-size:10.5px;color:#475569}
.experience-bulkbar select{margin-left:auto;min-width:175px;padding:7px 9px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;font-size:10.5px}
.experience-person-card{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto;align-items:center!important}
.experience-select{display:grid;place-items:center;width:28px;height:32px;cursor:pointer}
.experience-select input{width:18px;height:18px;accent-color:var(--brand-accent);cursor:pointer}
.experience-person-name{display:grid;gap:2px;min-width:0}
.experience-person-name strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.experience-person-name small{font-size:10px;color:#64748b}
@media(max-width:620px){
  .experience-bulkbar{align-items:stretch;flex-wrap:wrap}
  .experience-bulkbar select{margin-left:0;flex:1;min-width:150px}
  .experience-person-card{grid-template-columns:26px minmax(0,1fr)}
  .experience-person-card .execution-actions{grid-column:1/-1;width:100%;padding-left:34px}
}


/* v3.8.0 — Client request filters + Seating anti-repeat */
.request-center-summary{display:grid!important;grid-template-columns:repeat(4,minmax(95px,130px)) 1fr;align-items:center;gap:10px}
.request-center-summary>div{display:grid;gap:2px;padding:6px 10px;border-right:1px solid #e2e8f0}
.request-center-summary>div span{font-size:8px;text-transform:uppercase;font-weight:850;color:#64748b}
.request-center-summary>div strong{font-size:22px}
.request-center-summary>p{margin:0!important;font-size:10px!important}
.request-filter-panel{padding:11px;margin:10px 0}
.request-filter-search{display:flex;gap:8px;margin-bottom:8px}
.request-filter-search input{flex:1;min-width:0;padding:9px 11px;border:1px solid #dbe4ef;border-radius:9px;font-size:11px}
.request-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(110px,.55fr);gap:7px;align-items:end}
.request-filter-grid label{display:grid;gap:4px;font-size:8.5px;font-weight:850;color:#64748b}
.request-filter-grid select{width:100%;padding:8px 9px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;font-size:10px}
.request-filter-result{height:51px;border:1px solid #e2e8f0;border-radius:9px;padding:6px 10px;display:grid;align-content:center;grid-template-columns:auto auto;column-gap:6px}
.request-filter-result span,.request-filter-result small{font-size:8px;color:#64748b}
.request-filter-result strong{font-size:18px;grid-row:1/3;grid-column:2;align-self:center}
.anti-repeat-result{display:block;margin-top:4px;color:#2563eb;font-weight:800;font-size:9px}
@media(max-width:850px){
  .request-center-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .request-center-summary>p{grid-column:1/-1}
  .request-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .request-filter-grid{grid-template-columns:1fr}
  .request-filter-search{flex-direction:column}
}

/* v3.9.0 — Event-level Branding */
.sidebar{background:var(--brand-sidebar);color:var(--brand-sidebar-text)}
.sidebar .brand strong{color:var(--brand-sidebar-text)}
.sidebar .brand small{color:color-mix(in srgb,var(--brand-sidebar-text) 68%,transparent)}
.shell-brand-logo{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#fff;padding:5px;flex:none}
.nav button{color:color-mix(in srgb,var(--brand-sidebar-text) 82%,transparent)}
.nav button.active,.nav button:hover{background:var(--brand-sidebar-active);color:#fff}
.back-events{color:var(--brand-sidebar-text)}
.topbar{background:color-mix(in srgb,var(--brand-topbar) 94%,transparent)}
.app-shell .card,.app-shell .table-wrap,.app-shell .table-card,.app-shell .permission-card,.app-shell .seating-pool,.app-shell .auto-panel,.app-shell .seating-sitebar,.app-shell .rooming-sync-card,.app-shell .transfer-group,.app-shell .event-card-live{background:var(--brand-surface);color:var(--brand-text)}
.app-shell .btn:not(.primary),.app-shell .mini-btn,.app-shell input,.app-shell select,.app-shell textarea{background:var(--brand-surface);color:var(--brand-text);border-color:var(--brand-border)}
.app-shell th{background:color-mix(in srgb,var(--brand-surface) 88%,var(--brand-bg));color:color-mix(in srgb,var(--brand-text) 74%,var(--brand-muted))}
.app-shell td,.app-shell th{border-bottom-color:color-mix(in srgb,var(--brand-text) 8%,var(--brand-surface))}
.app-shell .muted,.app-shell .field label,.app-shell .auto-grid label,.app-shell .seating-sitebar label{color:var(--brand-muted)}
.public-card{background:var(--brand-surface);color:var(--brand-text)}
.public-body{background:var(--brand-surface)}
.public-info{background:color-mix(in srgb,var(--brand-surface) 94%,var(--brand-bg));border-color:var(--brand-border)}

.branding-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}
.branding-settings{padding:17px}
.branding-logo-editor{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}
.branding-logo-preview{width:112px;height:112px;border:1px solid var(--brand-border);border-radius:16px;background:color-mix(in srgb,var(--brand-surface) 90%,var(--brand-bg));display:grid;place-items:center;overflow:hidden}
.branding-logo-preview img{max-width:92px;max-height:92px;object-fit:contain}
.branding-logo-preview>div{font-size:30px;font-weight:900;color:var(--brand-accent)}
.branding-logo-fields{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:end}
.branding-logo-fields>label:first-child{grid-column:1/-1;display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--brand-muted)}
.branding-logo-fields input[type="text"],.branding-logo-fields input:not([type]){width:100%;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text)}
.branding-logo-fields>small{grid-column:1/-1;font-size:9px;color:var(--brand-muted)}
.brand-upload-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand-border);border-radius:8px;padding:7px 10px;font-size:10px;font-weight:850;background:var(--brand-surface);cursor:pointer}
.brand-upload-btn input{display:none}
.branding-colors-title{margin-top:22px}
.brand-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.brand-presets button{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:6px}
.brand-presets button span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.brand-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.brand-color-field{border:1px solid var(--brand-border);border-radius:10px;padding:9px;background:color-mix(in srgb,var(--brand-surface) 96%,var(--brand-bg));display:grid;gap:5px}
.brand-color-field>span{font-size:10px;font-weight:850}
.brand-color-field>div{display:grid;grid-template-columns:38px 1fr;gap:7px;align-items:center}
.brand-color-field input[type="color"]{width:38px;height:32px;padding:2px;border:1px solid var(--brand-border);border-radius:7px;background:transparent}
.brand-color-field input[type="text"]{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--brand-border);border-radius:7px;background:var(--brand-surface);color:var(--brand-text);font:10px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}
.brand-color-field small{font-size:8.5px;color:var(--brand-muted)}
.branding-previews{display:grid;gap:12px;position:sticky;top:92px}
.branding-preview-card{padding:12px}.branding-preview-card>.eyebrow{display:block;margin:0 0 8px 3px}
.brand-system-preview{--preview-accent:#2563eb;--preview-bg:#f5f7fb;--preview-surface:#fff;--preview-text:#111827;--preview-muted:#64748b;--preview-sidebar:#0f172a;--preview-sidebar-text:#cbd5e1;--preview-sidebar-active:#1e40af;--preview-topbar:#fff;display:grid;grid-template-columns:92px 1fr;height:310px;border:1px solid #dbe4ef;border-radius:12px;overflow:hidden;background:var(--preview-bg);color:var(--preview-text);font-size:7px}
.brand-preview-sidebar{background:var(--preview-sidebar);color:var(--preview-sidebar-text);padding:9px 7px;display:grid;align-content:start;gap:6px}.brand-preview-sidebar>span{padding:6px;border-radius:5px}.brand-preview-sidebar>span.active{background:var(--preview-sidebar-active);color:#fff}
.brand-preview-logo{width:28px;height:28px;border-radius:7px;background:#fff;display:grid;place-items:center;color:var(--preview-accent);font-weight:900;margin-bottom:7px;overflow:hidden}.brand-preview-logo img{width:100%;height:100%;object-fit:contain;padding:3px}.brand-preview-logo.public{width:32px;height:32px;margin:0}
.brand-preview-main{min-width:0;background:var(--preview-bg)}.brand-preview-topbar{height:42px;background:var(--preview-topbar);display:flex;justify-content:space-between;align-items:center;padding:0 10px;border-bottom:1px solid rgba(0,0,0,.07)}.brand-preview-topbar span{color:var(--preview-muted)}
.brand-preview-content{padding:10px}.brand-preview-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:9px}.brand-preview-title button{border:0;border-radius:5px;background:var(--preview-accent);color:#fff;padding:5px 7px;font-size:6px;font-weight:800}
.brand-preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px}.brand-preview-metrics>div{background:var(--preview-surface);border:1px solid rgba(0,0,0,.07);border-radius:7px;padding:8px;display:grid;gap:2px}.brand-preview-metrics small{color:var(--preview-muted)}.brand-preview-metrics b{font-size:15px}
.brand-preview-table{margin-top:8px;background:var(--preview-surface);border:1px solid rgba(0,0,0,.07);border-radius:7px;display:grid;grid-template-columns:1.4fr 1fr .55fr;overflow:hidden}.brand-preview-table>*{padding:6px;border-bottom:1px solid rgba(0,0,0,.05)}.brand-preview-table>span:nth-child(-n+3){font-weight:800;color:var(--preview-muted);background:color-mix(in srgb,var(--preview-surface) 90%,var(--preview-bg))}
.brand-participant-preview{border:1px solid var(--brand-border);border-radius:14px;overflow:hidden;background:var(--brand-surface)}.brand-participant-hero{min-height:86px;padding:12px;display:flex;align-items:flex-end;gap:9px;color:#fff;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent))}.brand-participant-hero small{display:block;font-size:6px;letter-spacing:.08em}.brand-participant-hero strong{font-size:10px}.brand-participant-body{padding:12px}.brand-participant-body>small{font-size:6px;color:var(--brand-accent);font-weight:900}.brand-participant-body h3{font-size:14px;margin:3px 0}.brand-participant-body p{font-size:8px;color:var(--brand-muted);margin:0 0 8px}.brand-participant-body>div{padding:8px;border:1px solid var(--brand-border);border-radius:7px;display:grid;gap:2px}.brand-participant-body>div span{font-size:7px;color:var(--brand-muted)}.brand-participant-body>div strong{font-size:9px}
@media(max-width:1050px){.branding-layout{grid-template-columns:1fr}.branding-previews{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.branding-logo-editor{grid-template-columns:1fr}.branding-logo-preview{margin:auto}.branding-logo-fields{grid-template-columns:1fr}.branding-logo-fields>*{grid-column:1!important}.brand-color-grid,.branding-previews{grid-template-columns:1fr}}

/* Branding also follows the event into the client workspace */
.client-app{background:var(--brand-bg);color:var(--brand-text)}
.client-header,.client-nav,.client-metric,.client-module-card,.client-toolbar,.client-table-wrap,.client-request-modal,.client-request-card,.client-profile-modal,.client-profile-grid section,.client-seating-bar,.client-seat-pool,.client-seat-unit,.client-rooming-top>label{background:var(--brand-surface);border-color:var(--brand-border);color:var(--brand-text)}
.client-header,.client-nav{background:var(--brand-topbar)}
.client-brandmark{background:var(--brand-accent)}
.client-page-title p,.client-brand small,.client-header-actions,.client-toolbar span,.client-table-wrap td small,.client-module-card p,.client-seat-title span,.client-seating-bar>span{color:var(--brand-muted)}
.client-table-wrap th{background:color-mix(in srgb,var(--brand-surface) 88%,var(--brand-bg));color:var(--brand-muted)}
.client-module-icon{background:color-mix(in srgb,var(--brand-accent) 10%,var(--brand-surface));color:var(--brand-accent)}
.client-brand-logo{background:#fff!important;border:1px solid var(--brand-border);overflow:hidden;padding:4px}.client-brand-logo img{width:100%;height:100%;object-fit:contain}
.app-shell .participant-profile-modal,.app-shell .participant-preview-modal,.app-shell .dashboard-config-modal,.app-shell .participant-export-modal,.app-shell .report-detail-modal{background:var(--brand-surface);color:var(--brand-text)}


/* v3.9.1 — Participant-page branding + split QR preview */

/* Public participant page has its own visual variables, independent from the internal shell. */
.participant-public-themed{
  background:var(--pp-bg)!important;
  color:var(--pp-text);
}
.participant-public-themed .public-card{
  background:var(--pp-surface)!important;
  color:var(--pp-text);
}
.participant-public-themed .public-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,var(--pp-hero-start),var(--pp-hero-end))!important;
  color:var(--pp-hero-text)!important;
}
.participant-public-themed .public-hero-background{
  position:absolute!important;
  inset:0;
  z-index:-3;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  background:transparent!important;
}
.participant-public-themed .public-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:var(--pp-hero-overlay);
  opacity:var(--pp-overlay-opacity);
  pointer-events:none;
}
.participant-public-themed .public-hero-content{
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  align-items:flex-end;
  gap:14px;
}
.participant-public-themed .public-event-logo,
.participant-public-themed .public-logo{
  width:58px;
  height:58px;
  border-radius:14px;
  background:#fff;
  object-fit:contain;
  padding:7px;
  flex:none;
}
.participant-public-themed .public-logo{
  display:grid;
  place-items:center;
  color:var(--pp-accent);
  font-size:25px;
  font-weight:900;
}
.participant-public-themed .public-body{background:var(--pp-surface);color:var(--pp-text)}
.participant-public-themed .public-kicker{color:var(--pp-accent)}
.participant-public-themed .public-name,
.participant-public-themed .public-info span,
.participant-public-themed .public-info small{color:var(--pp-muted)}
.participant-public-themed .public-info{
  background:var(--pp-info-bg)!important;
  color:var(--pp-text);
  border-color:color-mix(in srgb,var(--pp-text) 10%,var(--pp-surface));
}
.participant-public-themed .public-services span{
  background:var(--pp-chip-bg)!important;
  color:var(--pp-chip-text)!important;
}
.participant-public-themed .public-updated{color:color-mix(in srgb,var(--pp-muted) 72%,transparent)}
.public-person-heading{display:flex;align-items:center;gap:14px;margin-bottom:0}
.public-person-copy{min-width:0;flex:1}
.public-participant-photo{
  width:74px;
  height:74px;
  border-radius:18px;
  object-fit:cover;
  border:3px solid var(--pp-surface);
  box-shadow:0 6px 20px rgba(15,23,42,.14);
  flex:none;
}
/* No photo element = no reserved gap, placeholder or empty avatar. */
.public-person-heading:not(:has(.public-participant-photo)){display:block}

/* Participant QR/NFC modal — control panel left, real published page right. */
.qr-preview-split-modal{
  position:relative;
  width:min(1180px,96vw)!important;
  max-width:1180px!important;
  max-height:94vh!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:17px!important;
}
.qr-preview-close{position:absolute;right:10px;top:9px;z-index:10}
.qr-preview-split{display:grid;grid-template-columns:minmax(300px,350px) minmax(0,1fr);min-height:690px}
.qr-preview-control-panel{
  padding:22px 20px;
  background:color-mix(in srgb,var(--brand-bg) 72%,var(--brand-surface));
  border-right:1px solid var(--brand-border);
  overflow:auto;
}
.qr-preview-heading{margin-bottom:12px}
.qr-preview-heading .eyebrow{display:block;margin-bottom:3px}
.qr-preview-heading h2{font-size:22px;margin:0 0 3px;line-height:1.1}
.qr-preview-heading p{margin:0;color:var(--brand-muted);font-size:11px;line-height:1.4}
.qr-preview-control-panel .participant-qr-card{
  padding:14px;
  margin-bottom:13px;
  background:var(--brand-surface);
}
.qr-preview-control-panel .participant-qr-canvas{
  width:260px;
  height:260px;
}
.qr-preview-control-panel .participant-qr-canvas canvas,
.qr-preview-control-panel .participant-qr-canvas img{
  width:260px!important;
  height:260px!important;
}
.qr-preview-control-panel .qr-page-actions{display:grid;gap:7px}
.qr-preview-control-panel .qr-page-actions .btn{width:100%;justify-content:center}
.qr-preview-url{font-size:8.5px!important;line-height:1.35;color:var(--brand-muted)!important;word-break:break-all!important}
.qr-preview-page-panel{
  min-width:0;
  padding:17px 18px 18px;
  background:var(--brand-surface);
  display:grid;
  grid-template-rows:auto 1fr;
}
.qr-preview-page-panel .published-page-title{padding:0 22px 7px 0;margin:0}
.qr-preview-page-panel .published-page-frame{
  min-height:0;
  height:100%;
  border-radius:12px;
}
.qr-preview-page-panel .published-page-frame iframe{
  height:100%!important;
  min-height:640px;
}

/* Branding editor: separate system and participant public-page identities. */
.branding-layout-v391{grid-template-columns:minmax(0,1.32fr) minmax(340px,.68fr)}
.branding-settings-stack{display:grid;gap:14px}
.participant-page-branding-settings{overflow:hidden}
.participant-header-image-editor{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin:12px 0 16px;
}
.participant-header-thumb{
  height:112px;
  border:1px solid var(--brand-border);
  border-radius:13px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--brand-surface) 92%,var(--brand-bg));
  color:var(--brand-muted);
  font-size:10px;
}
.participant-header-thumb img{width:100%;height:100%;object-fit:cover}
.participant-header-fields{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:end}
.participant-header-fields>label:first-child{grid-column:1/-1;display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--brand-muted)}
.participant-header-fields input{width:100%;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text)}
.participant-header-fields>small{grid-column:1/-1;font-size:9px;color:var(--brand-muted)}
.participant-brand-presets{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.participant-brand-presets button{
  border:1px solid var(--brand-border);
  background:var(--brand-surface);
  color:var(--brand-text);
  border-radius:999px;
  padding:6px 9px;
  font-size:9px;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:6px;
}
.participant-brand-presets button span{width:20px;height:14px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}
.participant-overlay-control{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(160px,1.4fr) 42px;
  gap:9px;
  align-items:center;
  margin-top:12px;
  padding:10px;
  border:1px solid var(--brand-border);
  border-radius:10px;
  background:color-mix(in srgb,var(--brand-surface) 96%,var(--brand-bg));
}
.participant-overlay-control>span{font-size:10px;font-weight:850}
.participant-overlay-control input{width:100%}
.participant-overlay-control strong{font-size:10px;text-align:right}
.participant-brand-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.participant-brand-switches label{
  display:flex;
  gap:7px;
  align-items:flex-start;
  border:1px solid var(--brand-border);
  border-radius:10px;
  padding:10px;
  font-size:10px;
  font-weight:750;
  background:color-mix(in srgb,var(--brand-surface) 96%,var(--brand-bg));
}
.participant-brand-switches input{margin-top:1px;flex:none}
.participant-photo-note{
  margin-top:9px;
  padding:10px 11px;
  display:grid;
  gap:2px;
  border-radius:10px;
  background:color-mix(in srgb,var(--brand-accent) 6%,var(--brand-surface));
  border:1px dashed color-mix(in srgb,var(--brand-accent) 25%,var(--brand-border));
}
.participant-photo-note strong{font-size:10px;color:var(--brand-accent)}
.participant-photo-note span{font-size:9px;color:var(--brand-muted);line-height:1.4}

/* Participant branding preview uses its own palette. */
.participant-page-preview-card .brand-participant-preview{
  background:var(--pp-surface);
  color:var(--pp-text);
}
.brand-participant-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,var(--pp-hero-start,var(--brand-primary)),var(--pp-hero-end,var(--brand-accent)))!important;
  color:var(--pp-hero-text,#fff)!important;
  padding:0!important;
}
.brand-participant-hero-bg{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
}
.brand-participant-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:var(--pp-hero-overlay,#0f172a);
  opacity:var(--pp-overlay-opacity,.18);
}
.brand-participant-hero-content{
  width:100%;
  min-height:90px;
  padding:12px;
  display:flex;
  align-items:flex-end;
  gap:9px;
  position:relative;
  z-index:1;
}
.participant-page-preview-card .brand-participant-body{background:var(--pp-surface);color:var(--pp-text)}
.participant-page-preview-card .brand-participant-body>small{color:var(--pp-accent)}
.participant-page-preview-card .brand-participant-body p{color:var(--pp-muted)}
.brand-public-info{
  padding:8px;
  border:1px solid color-mix(in srgb,var(--pp-text) 10%,var(--pp-surface));
  border-radius:7px;
  display:grid;
  gap:2px;
  background:var(--pp-info-bg);
}
.brand-public-info span{font-size:7px;color:var(--pp-muted)}
.brand-public-info strong{font-size:9px}
.brand-public-chips{border:0!important;padding:6px 0 0!important}
.brand-public-chips span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:4px 6px;
  border-radius:999px;
  background:var(--pp-chip-bg);
  color:var(--pp-chip-text)!important;
  font-size:6.5px!important;
}

@media(max-width:1050px){
  .branding-layout-v391{grid-template-columns:1fr}
  .branding-layout-v391 .branding-previews{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .qr-preview-split-modal{overflow:auto!important}
  .qr-preview-split{grid-template-columns:1fr;min-height:0}
  .qr-preview-control-panel{border-right:0;border-bottom:1px solid var(--brand-border)}
  .qr-preview-page-panel{min-height:650px}
}
@media(max-width:700px){
  .participant-header-image-editor{grid-template-columns:1fr}
  .participant-header-thumb{width:min(100%,360px);margin:auto}
  .participant-header-fields{grid-template-columns:1fr}
  .participant-header-fields>*{grid-column:1!important}
  .participant-brand-switches{grid-template-columns:1fr}
  .branding-layout-v391 .branding-previews{grid-template-columns:1fr}
}
@media(max-width:600px){
  .participant-public-themed.public-shell{background:var(--pp-surface)!important}
  .qr-preview-control-panel .participant-qr-canvas{width:230px;height:230px}
  .qr-preview-control-panel .participant-qr-canvas canvas,
  .qr-preview-control-panel .participant-qr-canvas img{width:230px!important;height:230px!important}
  .qr-preview-page-panel{padding:13px 10px 10px;min-height:620px}
  .qr-preview-page-panel .published-page-frame iframe{min-height:570px}
}


/* v3.9.2 — Seating large participant pool
   Prevents CSS Grid from squeezing hundreds of participant rows into the visible
   height of the sticky left panel. The list is now a true independent scroller. */
.seating-workspace{
  grid-template-columns:minmax(350px,380px) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start;
}
.seating-pool{
  width:auto!important;
  max-width:none!important;
  flex:none!important;
  position:sticky!important;
  top:86px!important;
  height:calc(100dvh - 104px);
  max-height:calc(100dvh - 104px)!important;
  min-height:430px!important;
  overflow:hidden!important;
  padding:13px!important;
  display:flex!important;
  flex-direction:column!important;
}
.seating-pool>.panel-title,
.seating-pool>.pool-search,
.seating-pool>.large-pool-hint,
.seating-pool>.bulk-toolbar{
  flex:0 0 auto;
}
.large-pool-hint{
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 8px;
  margin:-1px 0 6px;
  border-radius:8px;
  background:color-mix(in srgb,var(--brand-accent) 6%,var(--brand-surface));
  border:1px solid color-mix(in srgb,var(--brand-accent) 16%,var(--brand-border));
}
.large-pool-hint span{
  flex:none;
  padding:3px 5px;
  border-radius:999px;
  background:color-mix(in srgb,var(--brand-accent) 12%,var(--brand-surface));
  color:var(--brand-accent);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.large-pool-hint small{
  margin:0!important;
  min-width:0;
  color:var(--brand-muted);
  font-size:8.5px!important;
  line-height:1.25;
}
.pool-list{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:6px!important;
  flex:1 1 0!important;
  min-height:120px!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:2px 6px 8px 2px!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  align-content:flex-start!important;
}
.pool-list>.seat-person{
  flex:0 0 auto!important;
}
.seat-person{
  min-height:48px!important;
  height:auto!important;
  padding:7px 8px!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:7px!important;
  line-height:normal!important;
  overflow:visible!important;
}
.seat-person-copy{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
  overflow:visible!important;
}
.seat-person-copy strong{
  display:block!important;
  min-height:14px;
  font-size:12px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.seat-person-copy small{
  display:block!important;
  min-height:11px;
  margin:0!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.seat-person .quick-assign{
  display:block!important;
  height:28px!important;
  min-height:28px!important;
  margin:4px 0 0!important;
  padding:4px 7px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.seat-select{
  transform:none!important;
  width:22px;
  height:28px;
  display:grid!important;
  place-items:center;
  align-items:center!important;
}
.seat-select span{
  width:17px!important;
  height:17px!important;
  flex:none;
}
.seat-person>.drag-handle{
  width:22px;
  height:32px;
  display:grid;
  place-items:center;
  align-self:center;
  font-size:15px!important;
  opacity:.7!important;
  cursor:grab;
  user-select:none;
}
.seat-person:hover{
  border-color:color-mix(in srgb,var(--brand-accent) 35%,var(--brand-border));
  background:color-mix(in srgb,var(--brand-accent) 2.5%,var(--brand-surface));
}
.seat-person:active,.seat-person.dragging{cursor:grabbing}
.pool-search{
  flex:none!important;
  min-height:38px;
  font-size:13px!important;
}
.bulk-toolbar{
  flex:none!important;
  position:relative;
  z-index:2;
  background:var(--brand-surface);
}
.bulk-toolbar.bulk-active{
  padding:8px!important;
}

/* More room for the pool without sacrificing the board on common laptop widths. */
@media(min-width:1050px) and (max-width:1350px){
  .seating-workspace{grid-template-columns:340px minmax(0,1fr)!important}
}
@media(max-width:1049px) and (min-width:751px){
  .seating-workspace{grid-template-columns:320px minmax(0,1fr)!important}
  .seating-pool{height:calc(100dvh - 104px);min-height:390px!important}
}
@media(max-width:750px){
  .seating-workspace{grid-template-columns:1fr!important}
  .seating-pool{
    position:static!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
  .pool-list{
    flex:none!important;
    max-height:420px!important;
    min-height:180px!important;
  }
}


/* v3.9.3 — badge header visibility + interactive focal-point crop */

/* The published header uses the same focal point and zoom chosen in Branding. */
.participant-public-themed .public-hero{
  min-height:132px;
}
.participant-public-themed .public-hero-background{
  object-position:var(--pp-hero-x,50%) var(--pp-hero-y,50%)!important;
  transform:scale(var(--pp-hero-zoom,1));
  transform-origin:var(--pp-hero-x,50%) var(--pp-hero-y,50%);
  transition:transform .18s ease,object-position .18s ease;
}
.participant-public-themed .public-hero-empty{
  min-height:150px;
}
.participant-public-themed .public-event-copy{
  min-width:0;
}
.participant-public-themed .public-event-copy small,
.participant-public-themed .public-event-copy h1{
  color:var(--pp-hero-text)!important;
}

/* Crop editor. It mirrors the visible badge-header proportion rather than
   assuming the uploaded source image already has the correct aspect ratio. */
.crop-editor-layout{
  grid-template-columns:minmax(280px,1.15fr) minmax(240px,.85fr)!important;
  align-items:start!important;
}
.participant-header-crop-wrap{
  display:grid;
  gap:8px;
  min-width:0;
}
.participant-header-crop-stage{
  position:relative;
  width:100%;
  aspect-ratio:3.25/1;
  overflow:hidden;
  border-radius:13px;
  border:1px solid var(--brand-border);
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));
  display:grid;
  place-items:center;
  touch-action:none;
  user-select:none;
}
.participant-header-crop-stage.has-image{cursor:grab}
.participant-header-crop-stage.dragging{cursor:grabbing}
.participant-header-crop-stage>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--crop-x,50%) var(--crop-y,50%);
  transform:scale(var(--crop-zoom,1));
  transform-origin:var(--crop-x,50%) var(--crop-y,50%);
  pointer-events:none;
  -webkit-user-drag:none;
}
#participantHeaderCropFallback{
  display:grid;
  place-items:center;
  gap:2px;
  color:#fff;
  text-align:center;
}
#participantHeaderCropFallback strong{font-size:11px}
#participantHeaderCropFallback span{font-size:8.5px;opacity:.75}
.crop-safe-guide{
  position:absolute;
  inset:7px;
  z-index:2;
  border:1px dashed rgba(255,255,255,.58);
  border-radius:8px;
  pointer-events:none;
  box-shadow:0 0 0 999px rgba(15,23,42,.05);
}
.crop-safe-guide:before,.crop-safe-guide:after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.32);
  pointer-events:none;
}
.crop-safe-guide:before{left:50%;top:0;bottom:0;width:1px}
.crop-safe-guide:after{top:50%;left:0;right:0;height:1px}
.crop-safe-guide span{
  position:absolute;
  left:8px;
  bottom:7px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(15,23,42,.68);
  color:#fff;
  font-size:7.5px;
  font-weight:800;
  backdrop-filter:blur(5px);
}
.participant-crop-controls{
  display:grid;
  grid-template-columns:32px minmax(100px,1fr) 32px 52px auto;
  gap:6px;
  align-items:center;
}
.participant-crop-controls input[type="range"]{
  width:100%;
  accent-color:var(--brand-accent);
}
.participant-crop-controls>strong{
  text-align:center;
  font-size:9px;
  color:var(--brand-muted);
}
.crop-zoom-btn{
  width:32px!important;
  height:30px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:17px!important;
  line-height:1!important;
}
.participant-crop-controls button:disabled{opacity:.4;cursor:not-allowed}

.participant-brand-switches{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.participant-empty-header-note{
  margin-top:9px;
  padding:10px 11px;
  display:grid;
  gap:2px;
  border-radius:10px;
  background:color-mix(in srgb,var(--brand-accent) 6%,var(--brand-surface));
  border:1px solid color-mix(in srgb,var(--brand-accent) 16%,var(--brand-border));
}
.participant-empty-header-note strong{
  font-size:10px;
  color:var(--brand-accent);
}
.participant-empty-header-note span{
  font-size:9px;
  color:var(--brand-muted);
  line-height:1.4;
}

/* Branding preview mirrors crop controls. */
.brand-participant-hero-bg{
  object-position:var(--pp-hero-x,50%) var(--pp-hero-y,50%);
  transform:scale(var(--pp-hero-zoom,1));
  transform-origin:var(--pp-hero-x,50%) var(--pp-hero-y,50%);
}
.brand-participant-hero.is-empty .brand-participant-hero-content{display:none}
.brand-participant-hero.is-empty{min-height:96px}
.brand-preview-event-copy{display:grid;gap:1px;min-width:0}

/* Service labels intentionally read as confirmed capabilities rather than
   internal operational wording. */
.participant-public-themed .public-services span{
  font-weight:800;
}

@media(max-width:850px){
  .crop-editor-layout{grid-template-columns:1fr!important}
  .participant-brand-switches{grid-template-columns:1fr 1fr!important}
}
@media(max-width:600px){
  .participant-brand-switches{grid-template-columns:1fr!important}
  .participant-crop-controls{grid-template-columns:32px minmax(80px,1fr) 32px 48px}
  .participant-crop-controls #participantCropCenter{grid-column:1/-1;width:100%}
  .participant-header-crop-stage{aspect-ratio:2.7/1}
}


/* ==========================================================================
   v4.0.0 — Client Portal as an event experience / microsite
   ========================================================================== */

/* Premium portal shell */
.client-experience-shell{
  min-height:100vh;
  background:color-mix(in srgb,var(--brand-bg) 92%,#ffffff);
}
.client-premium-header{
  height:76px!important;
  padding:0 clamp(18px,3vw,42px)!important;
  border-bottom:0!important;
  background:color-mix(in srgb,var(--brand-topbar) 92%,transparent)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 color-mix(in srgb,var(--brand-text) 7%,transparent);
}
.client-premium-header .client-brand{
  gap:11px;
}
.client-premium-header .client-brand small{
  letter-spacing:.16em;
  font-size:7px;
  font-weight:900;
}
.client-premium-header .client-brand strong{
  font-size:13px;
}
.client-premium-header .client-brandmark{
  width:39px;
  height:39px;
  border-radius:12px;
}
.client-premium-header .client-header-actions{
  gap:7px;
}
.client-welcome-name{
  margin-right:6px;
  font-size:9px;
  font-weight:750;
  color:var(--brand-muted);
}
.client-header-icon{
  width:31px;
  height:31px;
  border:1px solid var(--brand-border);
  border-radius:9px;
  display:grid;
  place-items:center;
  background:var(--brand-surface);
  color:var(--brand-text);
  cursor:pointer;
  font-size:16px;
  line-height:1;
}
.client-premium-nav{
  height:52px!important;
  padding:0 clamp(18px,3vw,42px)!important;
  align-items:center!important;
  gap:3px!important;
  border-bottom:1px solid var(--brand-border)!important;
  background:color-mix(in srgb,var(--brand-topbar) 97%,transparent)!important;
}
.client-premium-nav button{
  padding:8px 12px!important;
  border:0!important;
  border-radius:999px!important;
  font-size:9.5px!important;
  transition:.16s ease;
}
.client-premium-nav button:hover{
  background:color-mix(in srgb,var(--brand-accent) 7%,var(--brand-surface));
  color:var(--brand-accent);
}
.client-premium-nav button.active{
  background:color-mix(in srgb,var(--brand-accent) 12%,var(--brand-surface))!important;
  color:var(--brand-accent)!important;
}
.client-content-home{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
}

/* Hero */
.client-home-hero{
  position:relative;
  isolation:isolate;
  min-height:min(690px,72vh);
  overflow:hidden;
  background:
    radial-gradient(circle at 77% 15%,color-mix(in srgb,var(--brand-accent) 55%,transparent),transparent 34%),
    linear-gradient(125deg,color-mix(in srgb,var(--brand-primary) 96%,#000),color-mix(in srgb,var(--brand-secondary) 82%,var(--brand-accent)));
  color:#fff;
}
.client-home-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--hero-x,50%) var(--hero-y,50%);
  animation:clientHeroBreathe 18s ease-in-out infinite alternate;
}
@keyframes clientHeroBreathe{
  from{transform:scale(1.002)}
  to{transform:scale(1.045)}
}
.client-home-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--client-hero-overlay,#071426) 96%,transparent) 0%,color-mix(in srgb,var(--client-hero-overlay,#071426) 78%,transparent) 42%,color-mix(in srgb,var(--client-hero-overlay,#071426) 36%,transparent) 100%);
  opacity:var(--client-hero-opacity,.46);
}
.client-home-hero:not(.has-image) .client-home-hero-overlay{
  opacity:.25;
}
.client-home-hero-inner{
  width:min(1320px,calc(100% - 72px));
  min-height:min(690px,72vh);
  margin:auto;
  padding:clamp(58px,8vh,92px) 0;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.62fr);
  gap:clamp(38px,7vw,96px);
  align-items:center;
}
.client-home-hero-copy{
  max-width:760px;
  animation:clientHeroCopyIn .7s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes clientHeroCopyIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
.client-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:17px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.client-hero-kicker:before{
  content:"";
  width:28px;
  height:1px;
  background:currentColor;
}
.client-home-hero h1{
  max-width:760px;
  margin:0;
  font-size:clamp(42px,6.6vw,86px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
}
.client-home-hero-copy>p{
  max-width:650px;
  margin:24px 0 0;
  font-size:clamp(14px,1.55vw,19px);
  line-height:1.55;
  color:rgba(255,255,255,.84);
}
.client-hero-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:30px;
}
.client-hero-primary,.client-hero-secondary{
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  font:inherit;
  font-size:10.5px;
  font-weight:900;
  cursor:pointer;
  transition:.18s ease;
}
.client-hero-primary{
  border:1px solid #fff;
  background:#fff;
  color:#0f172a;
}
.client-hero-secondary{
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.08);
  color:#fff;
  backdrop-filter:blur(12px);
}
.client-hero-primary:hover,.client-hero-secondary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}
.client-hero-event-card{
  align-self:end;
  padding:22px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:rgba(10,22,40,.24);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 50px rgba(0,0,0,.15);
  animation:clientHeroCardIn .78s .08s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes clientHeroCardIn{
  from{opacity:0;transform:translateY(24px) scale(.98)}
  to{opacity:1;transform:none}
}
.client-hero-event-card>span{
  display:block;
  margin-bottom:4px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(255,255,255,.62);
}
.client-hero-event-card>strong{
  display:block;
  font-size:20px;
  line-height:1.12;
  color:#fff;
}
.client-hero-mini-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:20px 0 14px;
}
.client-hero-mini-metrics>div{
  padding:10px;
  border-radius:12px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
}
.client-hero-mini-metrics b{
  display:block;
  font-size:19px;
  color:#fff;
}
.client-hero-mini-metrics small{
  display:block;
  margin-top:1px;
  font-size:7.5px;
  color:rgba(255,255,255,.7);
}
.client-hero-status{
  display:flex;
  align-items:center;
  gap:7px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.78);
  font-size:8.5px;
  font-weight:750;
}
.client-hero-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#94a3b8;
}
.client-hero-status.open i{
  background:#4ade80;
  box-shadow:0 0 0 5px rgba(74,222,128,.12);
}

/* Section typography */
.client-onboarding-section,
.client-experience-section,
.client-home-status-section{
  width:min(1280px,calc(100% - 56px));
  margin:0 auto;
}
.client-onboarding-section{
  padding:76px 0 70px;
  scroll-margin-top:136px;
}
.client-experience-section{
  padding:66px 0 76px;
  border-top:1px solid var(--brand-border);
}
.client-home-status-section{
  padding:58px 0 84px;
  border-top:1px solid var(--brand-border);
}
.client-section-heading{
  max-width:720px;
  margin-bottom:28px;
}
.client-section-heading.centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.client-section-heading>span{
  display:block;
  margin-bottom:7px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.16em;
  color:var(--brand-accent);
}
.client-section-heading h2{
  margin:0;
  font-size:clamp(27px,3.4vw,46px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--brand-text);
}
.client-section-heading p{
  margin:13px 0 0;
  max-width:660px;
  font-size:12px;
  line-height:1.65;
  color:var(--brand-muted);
}
.client-section-heading.centered p{margin-left:auto;margin-right:auto}

/* Onboarding storytelling */
.client-onboarding-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.7fr);
  gap:22px;
  align-items:start;
}
.client-onboarding-steps{
  display:grid;
  gap:8px;
}
.client-onboarding-step{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  padding:18px;
  border:1px solid var(--brand-border);
  border-radius:16px;
  background:var(--brand-surface);
  transition:.18s ease;
}
.client-onboarding-step:hover{
  transform:translateX(3px);
  border-color:color-mix(in srgb,var(--brand-accent) 25%,var(--brand-border));
}
.client-onboarding-step.ready{
  border-color:color-mix(in srgb,var(--brand-accent) 35%,var(--brand-border));
  box-shadow:0 10px 30px color-mix(in srgb,var(--brand-accent) 8%,transparent);
}
.client-onboarding-step.done{
  background:color-mix(in srgb,#22c55e 4%,var(--brand-surface));
}
.client-step-number{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--brand-accent) 9%,var(--brand-surface));
  color:var(--brand-accent);
  font-size:11px;
  font-weight:950;
}
.client-onboarding-step.done .client-step-number{
  background:#dcfce7;
  color:#15803d;
}
.client-onboarding-step small{
  display:block;
  margin-bottom:3px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  color:var(--brand-muted);
}
.client-onboarding-step h3{
  margin:0;
  font-size:14px;
  color:var(--brand-text);
}
.client-onboarding-step p{
  margin:5px 0 0;
  font-size:9.5px;
  line-height:1.5;
  color:var(--brand-muted);
}
.client-step-action{
  margin-top:10px;
  min-height:34px;
  padding:0 13px;
  border:0;
  border-radius:9px;
  background:var(--brand-accent);
  color:#fff;
  font:inherit;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.client-step-coming{
  display:inline-flex;
  margin-top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--brand-accent) 7%,var(--brand-surface));
  color:var(--brand-accent);
  font-size:7.5px;
  font-weight:850;
}
.client-template-story{
  position:sticky;
  top:150px;
  padding:24px;
  border:1px solid var(--brand-border);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--brand-accent) 12%,transparent),transparent 38%),
    var(--brand-surface);
  overflow:hidden;
}
.client-template-story>h3{
  margin:7px 0 0;
  font-size:21px;
  line-height:1.15;
}
.client-template-story>p{
  margin:10px 0 17px;
  font-size:10.5px;
  line-height:1.55;
  color:var(--brand-muted);
}
.client-template-story>small{
  display:block;
  margin-top:12px;
  font-size:8.3px;
  line-height:1.45;
  color:var(--brand-muted);
}
.client-template-preview{
  overflow:hidden;
  border:1px solid var(--brand-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 15px 38px rgba(15,23,42,.08);
  transform:rotate(-1deg);
}
.template-window-top{
  height:28px;
  padding:0 8px;
  display:flex;
  align-items:center;
  gap:4px;
  background:#f1f5f9;
  border-bottom:1px solid #e2e8f0;
}
.template-window-top i{
  width:6px;height:6px;border-radius:50%;background:#cbd5e1;
}
.template-window-top span{
  margin-left:5px;
  font-size:7px;
  color:#64748b;
}
.template-grid{
  display:grid;
  grid-template-columns:1.4fr 1.4fr .7fr .7fr;
  font-size:7px;
}
.template-grid>*{
  padding:7px;
  border-right:1px solid #e2e8f0;
  border-bottom:1px solid #e2e8f0;
}
.template-grid b{
  background:#dbeafe;
  color:#1e3a8a;
}

/* Experience showcase / simple animated previews */
.client-experience-showcase{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.client-experience-card{
  position:relative;
  min-width:0;
  min-height:330px;
  padding:18px;
  border:1px solid var(--brand-border);
  border-radius:18px;
  background:var(--brand-surface);
  color:var(--brand-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
  overflow:hidden;
  transition:.22s cubic-bezier(.2,.8,.2,1);
}
.client-experience-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--brand-accent) 30%,var(--brand-border));
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.client-experience-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.client-experience-card-head span{
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--brand-accent);
}
.client-experience-card-head i{
  width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--brand-accent) 8%,var(--brand-surface));
  color:var(--brand-accent);
  font-size:13px;
  font-style:normal;
}
.client-experience-card h3{
  margin:18px 0 0;
  font-size:18px;
  line-height:1.1;
  letter-spacing:-.02em;
}
.client-experience-card>p{
  min-height:60px;
  margin:8px 0 14px;
  font-size:9.5px;
  line-height:1.5;
  color:var(--brand-muted);
}
.client-feature-mock{
  position:relative;
  height:125px;
  padding:12px;
  border-radius:13px;
  background:color-mix(in srgb,var(--brand-bg) 80%,var(--brand-surface));
  border:1px solid var(--brand-border);
  overflow:hidden;
}
.client-experience-card:hover .client-feature-mock{
  animation:featurePulse 1.4s ease-in-out infinite alternate;
}
@keyframes featurePulse{
  from{transform:translateY(0)}
  to{transform:translateY(-2px)}
}
.mock-search{
  width:100%;height:17px;border-radius:6px;background:var(--brand-surface);margin-bottom:7px;
}
.mock-person{
  height:22px;
  display:grid;
  grid-template-columns:15px 1fr 30px;
  gap:5px;
  align-items:center;
  border-bottom:1px solid var(--brand-border);
}
.mock-person i{width:11px;height:11px;border-radius:50%;background:color-mix(in srgb,var(--brand-accent) 20%,#fff)}
.mock-person span{height:5px;border-radius:999px;background:#cbd5e1}
.mock-person b{height:11px;border-radius:999px;background:#dcfce7}
.mock-hotel-row{
  height:31px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--brand-border);
}
.mock-hotel-row span{width:58%;height:6px;border-radius:999px;background:#cbd5e1}
.mock-hotel-row b{font-size:6.5px;padding:4px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8}
.mock-hotel-row:nth-child(2) b{background:#f3e8ff;color:#7e22ce}
.mock-route{height:40px;display:flex;align-items:center;gap:6px}
.mock-route i{width:11px;height:11px;border:3px solid var(--brand-accent);border-radius:50%}
.mock-route span{height:2px;flex:1;background:linear-gradient(90deg,var(--brand-accent),#cbd5e1)}
.mock-flight{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--brand-border);font-size:8px;font-weight:850}
.mock-flight b{font-size:7px;color:var(--brand-muted)}
.mock-tables{display:flex;gap:8px;justify-content:center;padding:9px 0 14px}
.mock-tables i{
  width:34px;height:34px;border:2px solid color-mix(in srgb,var(--brand-accent) 35%,#cbd5e1);border-radius:50%;
  display:grid;place-items:center;font-style:normal;font-size:7px;font-weight:900;color:var(--brand-accent);
}
.mock-seat-line{height:6px;border-radius:999px;background:#cbd5e1;margin:8px 0}
.mock-seat-line.short{width:68%}
.client-experience-link{
  position:absolute;
  left:18px;
  bottom:16px;
  font-size:9px;
  font-weight:900;
  color:var(--brand-accent);
}

/* Current-event status */
.client-home-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.client-home-status-grid>div{
  min-height:125px;
  padding:18px;
  border:1px solid var(--brand-border);
  border-radius:16px;
  background:var(--brand-surface);
  display:grid;
  align-content:center;
}
.client-home-status-grid small{
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--brand-muted);
}
.client-home-status-grid strong{
  margin:3px 0;
  font-size:32px;
  letter-spacing:-.04em;
}
.client-home-status-grid span{
  font-size:8.5px;
  color:var(--brand-muted);
}
.client-home-status-grid .attention{
  border-color:#fde68a;
  background:#fffbeb;
}

/* Client Portal branding editor inside admin Branding */
.client-portal-branding-settings{overflow:hidden}
.client-hero-brand-editor{
  display:grid;
  grid-template-columns:minmax(300px,1.1fr) minmax(270px,.9fr);
  gap:15px;
  margin:12px 0 14px;
}
.client-hero-brand-preview{
  position:relative;
  isolation:isolate;
  min-height:245px;
  overflow:hidden;
  border-radius:15px;
  background:linear-gradient(125deg,var(--brand-primary),var(--brand-accent));
  color:#fff;
}
.client-hero-brand-preview>img{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--client-hero-x,50%) var(--client-hero-y,50%);
}
.client-hero-brand-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:var(--client-hero-overlay,#071426);
  opacity:var(--client-hero-opacity,.46);
}
.client-hero-brand-copy{
  min-height:245px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
}
.client-hero-brand-copy img{
  width:54px;height:34px;object-fit:contain;object-position:left center;margin-bottom:auto;
}
.client-hero-brand-copy small{
  margin-bottom:5px;font-size:7px;font-weight:900;letter-spacing:.14em;
}
.client-hero-brand-copy strong{
  max-width:430px;font-size:25px;line-height:1.02;
}
.client-hero-brand-copy span{
  max-width:470px;margin-top:7px;font-size:8.5px;line-height:1.45;color:rgba(255,255,255,.78);
}
.client-hero-brand-fields{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:7px;
  align-content:start;
}
.client-hero-brand-fields>label:first-child{
  grid-column:1/-1;
  display:grid;gap:5px;font-size:9px;font-weight:850;color:var(--brand-muted);
}
.client-hero-brand-fields input{
  width:100%;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);
}
.client-hero-position-controls{
  grid-column:1/-1;
  display:grid;
  gap:8px;
  margin-top:6px;
}
.client-hero-position-controls label{
  display:grid;
  grid-template-columns:120px 1fr;
  align-items:center;
  gap:8px;
  font-size:8.5px;
  font-weight:800;
  color:var(--brand-muted);
}
.client-hero-position-controls input{padding:0;border:0;accent-color:var(--brand-accent)}
.client-portal-copy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:10px;
}
.client-portal-copy-grid label{
  display:grid;gap:5px;font-size:9px;font-weight:850;color:var(--brand-muted);
}
.client-portal-copy-grid input,.client-portal-copy-grid textarea{
  width:100%;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font:inherit;font-size:10px;resize:vertical;
}
.client-portal-color-grid{grid-template-columns:minmax(180px,280px)!important;margin-top:10px}

/* Existing client pages receive a softer presentation without losing density. */
.client-experience-shell:not(.client-home-route) .client-content{
  max-width:1320px;
  padding-top:30px;
}
.client-experience-shell:not(.client-home-route) .client-page-title h1{
  font-size:29px;
  letter-spacing:-.035em;
}
.client-experience-shell:not(.client-home-route) .client-page-title p{
  max-width:620px;
  line-height:1.55;
}
.client-experience-shell .client-table-wrap,
.client-experience-shell .client-toolbar,
.client-experience-shell .client-seating-bar{
  border-radius:14px;
}

@media(max-width:1100px){
  .client-home-hero-inner{grid-template-columns:1fr;align-content:center}
  .client-hero-event-card{max-width:520px;align-self:auto}
  .client-experience-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-onboarding-layout{grid-template-columns:1fr}
  .client-template-story{position:static}
  .client-hero-brand-editor{grid-template-columns:1fr}
}
@media(max-width:850px){
  .client-premium-header{height:68px!important;padding:0 14px!important}
  .client-premium-nav{padding:0 12px!important}
  .client-welcome-name,.client-event-button{display:none!important}
  .client-home-hero-inner{width:calc(100% - 34px);min-height:610px;padding:50px 0}
  .client-home-hero{min-height:610px}
  .client-home-hero h1{font-size:clamp(40px,11vw,64px)}
  .client-onboarding-section,.client-experience-section,.client-home-status-section{width:calc(100% - 28px)}
  .client-home-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-portal-copy-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .client-home-hero-inner{min-height:570px}
  .client-home-hero{min-height:570px}
  .client-hero-event-card{display:none}
  .client-home-hero-copy>p{font-size:13px}
  .client-hero-actions{flex-direction:column;align-items:stretch}
  .client-hero-primary,.client-hero-secondary{width:100%}
  .client-onboarding-section{padding-top:54px}
  .client-section-heading h2{font-size:31px}
  .client-onboarding-step{grid-template-columns:42px 1fr;padding:14px;gap:10px}
  .client-step-number{width:36px;height:36px}
  .client-experience-showcase{grid-template-columns:1fr}
  .client-experience-card{min-height:300px}
  .client-home-status-grid{grid-template-columns:1fr 1fr}
  .client-hero-brand-fields{grid-template-columns:1fr}
  .client-hero-brand-fields>*{grid-column:1!important}
  .client-hero-position-controls label{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .client-home-hero-image,
  .client-home-hero-copy,
  .client-hero-event-card,
  .client-experience-card:hover .client-feature-mock{
    animation:none!important;
  }
}


/* v4.0.1 — client onboarding is unmistakable + production-like participant management */
.client-event-selector .event-list-tabs{display:none!important}
.client-home-hero.first-start{min-height:520px!important}.client-home-hero.first-start .client-home-hero-inner{min-height:520px!important;padding-top:46px!important;padding-bottom:46px!important}
.client-upload-action{display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer}.client-import-validation{margin-top:9px;padding:9px 10px;border-radius:9px;display:grid;gap:3px}.client-import-validation.ok{background:#ecfdf5;color:#065f46}.client-import-validation.error{background:#fef2f2;color:#991b1b}.client-import-validation strong{font-size:9px}.client-import-validation small{font-size:8px;line-height:1.4}.client-import-pending{display:inline-flex;margin-top:9px;padding:7px 9px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:8px;font-weight:850}.client-step-action.secondary{margin-left:6px;background:#0f172a}
.client-participant-toolbar{justify-content:space-between!important}.client-participant-toolbar input{flex:1;max-width:700px}.client-participant-production-table table{min-width:1050px}.client-participant-production-table th{white-space:nowrap}.client-sort-head{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:850;cursor:pointer;white-space:nowrap}.client-sort-head span{font-size:9px;color:#94a3b8}.client-sort-head.active{color:var(--brand-accent)}.client-seat-cell{display:inline-flex;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--brand-accent) 7%,var(--brand-surface));font-size:9px;font-weight:750;white-space:nowrap}.client-yesno{font-size:9px;font-weight:850}.client-yesno.yes{color:#047857}.client-yesno.no{color:#94a3b8}.client-participant-row-actions{display:flex;gap:5px;white-space:nowrap}.client-empty-participants{display:grid;place-items:center;gap:7px;padding:34px!important;text-align:center}.client-empty-participants strong{font-size:16px}.client-empty-participants span{font-size:10px;color:var(--brand-muted)}.client-create-participant-modal{width:min(760px,94vw);max-height:90vh;overflow:auto}.initial-import-request .change-diff-row{grid-template-columns:120px 1fr!important}.initial-import-request del,.initial-import-request strong{display:none!important}


/* v4.0.3 — contractual Rooming onboarding */
.hotel-contract-card>div:first-child small{display:block;margin-top:5px;font-size:8px;color:var(--brand-muted);max-width:260px;line-height:1.35}
.client-rooming-contract{
  display:grid;
  grid-template-columns:1.15fr 1fr .9fr;
  gap:1px;
  margin:-6px 0 20px;
  overflow:hidden;
  border:1px solid var(--brand-border);
  border-radius:13px;
  background:var(--brand-border);
}
.client-rooming-contract>div{
  padding:12px 14px;
  background:var(--brand-surface);
}
.client-rooming-contract small{
  display:block;
  margin-bottom:3px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.09em;
  color:var(--brand-muted);
}
.client-rooming-contract strong{font-size:11px;color:var(--brand-text)}
.client-import-warnings{
  display:grid;
  gap:3px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid color-mix(in srgb,#f59e0b 25%,transparent);
}
.client-import-warnings span{
  font-size:7.8px;
  line-height:1.35;
  color:#92400e;
}
@media(max-width:760px){
  .client-rooming-contract{grid-template-columns:1fr}
}


/* v4.0.4 — split initial template: SIN HOTEL / CON HOTEL */
.template-tabs-preview{
  display:flex;
  gap:3px;
  padding:5px 7px 0;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}
.template-tabs-preview span{
  padding:4px 8px;
  border:1px solid #e2e8f0;
  border-bottom:0;
  border-radius:6px 6px 0 0;
  background:#fff;
  color:#64748b;
  font-size:6.5px;
  font-weight:850;
}
.template-tabs-preview span.active{background:#dbeafe;color:#1d4ed8}
.client-import-room-summary{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:6px 0;
}
.client-import-room-summary span{
  padding:4px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--brand-accent) 8%,var(--brand-surface));
  color:var(--brand-accent);
  font-size:7.5px;
  font-weight:850;
}
.initial-import-warning-list{
  display:grid;
  gap:3px;
  margin-top:8px;
  padding:8px;
  border-radius:8px;
  background:#fffbeb;
  border:1px solid #fde68a;
}
.initial-import-warning-list small{font-size:8px;line-height:1.35;color:#92400e}


/* v4.0.5 — three-mode Client Portal permissions */
.client-access-control{margin-bottom:14px;padding:18px}
.client-access-control-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.client-access-control-head h2{margin:3px 0 5px;font-size:18px}
.client-access-control-head p{margin:0;max-width:760px;color:var(--brand-muted);font-size:9.5px;line-height:1.5}
.client-access-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.client-access-mode-grid label{position:relative;display:flex;gap:9px;align-items:flex-start;padding:13px;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-surface);cursor:pointer;transition:.15s ease}
.client-access-mode-grid label:hover{border-color:color-mix(in srgb,var(--brand-accent) 30%,var(--brand-border))}
.client-access-mode-grid label.selected{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--brand-border));background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface));box-shadow:0 5px 18px color-mix(in srgb,var(--brand-accent) 7%,transparent)}
.client-access-mode-grid input{margin-top:2px;accent-color:var(--brand-accent);flex:none}
.client-access-mode-grid span{display:grid;gap:3px}
.client-access-mode-grid strong{font-size:11px;color:var(--brand-text)}
.client-access-mode-grid small{font-size:8.3px;line-height:1.45;color:var(--brand-muted)}
.client-access-save-note{display:block;margin-top:9px;color:var(--brand-muted);font-size:8px}
@media(max-width:850px){.client-access-mode-grid{grid-template-columns:1fr}.client-access-control-head{flex-direction:column}}


/* v4.0.11 — Client Seating structure management */
.client-seating-adminbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:10px}
.client-seating-adminbar .client-seating-bar{margin:0}
.client-seating-structure-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.client-seat-title>div:first-child{display:flex;align-items:center;gap:7px;min-width:0}
.client-seat-unit-tools{display:inline-flex;gap:4px;opacity:.72;transition:.15s ease}
.client-seat-unit:hover .client-seat-unit-tools{opacity:1}
.client-seat-tool{border:0;background:transparent;padding:2px 3px;font-size:7.5px;font-weight:800;color:var(--brand-accent);cursor:pointer}
.client-seat-tool.danger{color:#dc2626}
.client-empty.card>span{display:block;margin:5px 0 12px;color:var(--brand-muted);font-size:9px}
@media(max-width:900px){.client-seating-adminbar{grid-template-columns:1fr}.client-seating-structure-actions{justify-content:flex-start}}


/* v4.0.12 — ongoing bulk participant management */
.client-onboarding-complete{display:flex;align-items:center;gap:14px;margin:18px 24px;padding:16px 18px}
.client-onboarding-complete>div{flex:1}
.client-onboarding-complete strong{display:block;font-size:12px;margin-bottom:3px}
.client-onboarding-complete p{margin:0;color:var(--brand-muted);font-size:9px;line-height:1.45}
.client-reset-pending-banner{display:flex;gap:10px;align-items:center;margin-bottom:10px;padding:11px 14px;border:1px solid #fde68a;background:#fffbeb;border-radius:11px;color:#92400e;font-size:9px}
.client-reset-pending-banner strong{font-size:10px}
.btn.danger-soft{border-color:#fecaca;color:#b91c1c;background:#fff}
.btn.danger-soft:hover{background:#fef2f2}
.client-bulk-import-modal{width:min(760px,calc(100vw - 28px));padding:20px}
.client-bulk-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}
.client-bulk-import-summary>div{padding:12px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-bg)}
.client-bulk-import-summary strong{display:block;font-size:20px}
.client-bulk-import-summary span{display:block;margin-top:2px;color:var(--brand-muted);font-size:8px}
.client-bulk-import-note{margin-top:10px;padding:10px 12px;border-radius:9px;background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface));font-size:9px;color:var(--brand-muted)}
.destructive-request{border-color:#fecaca!important;background:#fff7f7!important}
.destructive-request small{display:block;margin-top:8px;color:#991b1b}
@media(max-width:700px){
  .client-bulk-import-summary{grid-template-columns:repeat(2,1fr)}
  .client-onboarding-complete{align-items:flex-start;flex-direction:column}
}


/* v4.0.16 — Client Rooming management */
.client-rooming-consistency-warning{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 10px;padding:11px 14px;border:1px solid #fde68a;background:#fffbeb;border-radius:12px;color:#92400e}
.client-rooming-consistency-warning>div{display:flex;flex-direction:column;gap:2px}
.client-rooming-consistency-warning strong{font-size:10px}
.client-rooming-consistency-warning span{font-size:8.5px;line-height:1.4}
.compact-modal{width:min(580px,calc(100vw - 28px))}
@media(max-width:700px){.client-rooming-consistency-warning{align-items:flex-start;flex-direction:column}}


/* v4.1.0 — SaaS Platform / Organizations */
.platform-shell{min-height:100vh;background:#f4f6fa;color:#111827}
.platform-topbar{height:66px;background:#0b1220;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.platform-brand{display:flex;align-items:center;gap:12px}.platform-brand strong{display:block;font-size:14px}.platform-brand small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}
.platform-content{max-width:1500px;margin:0 auto;padding:30px}
.platform-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.platform-metrics .card{padding:18px}.platform-metrics span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.platform-metrics strong{display:block;font-size:30px;margin:5px 0}.platform-metrics small{color:#64748b}
.platform-org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.platform-org-card{padding:17px;display:flex;flex-direction:column;gap:14px}.platform-org-card.is-suspended{opacity:.72}
.platform-org-head{display:flex;align-items:center;gap:10px}.platform-org-head>div:nth-child(2){flex:1}.platform-org-head h2{font-size:15px;margin:0}.platform-org-head p{font-size:9px;color:#64748b;margin:2px 0 0}
.platform-org-avatar{width:40px;height:40px;border-radius:11px;background:#e0e7ff;color:#3730a3;display:grid;place-items:center;font-weight:800}
.platform-org-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.platform-org-stats>div{padding:10px;border-right:1px solid #e5e7eb}.platform-org-stats>div:last-child{border-right:0}.platform-org-stats strong,.platform-org-stats span{display:block}.platform-org-stats strong{font-size:13px}.platform-org-stats span{font-size:8px;color:#64748b;margin-top:2px}
.platform-org-limits{display:flex;flex-wrap:wrap;gap:6px}.platform-org-limits span{font-size:8px;padding:5px 7px;border-radius:20px;background:#f1f5f9;color:#475569}
.platform-org-form{margin-bottom:18px}.platform-admin-separator{margin:16px 0 12px;border-top:1px solid #e5e7eb;position:relative}.platform-admin-separator span{position:relative;top:-7px;background:#fff;padding-right:8px;font-size:8px;color:#64748b;letter-spacing:.08em}
.platform-support-banner{margin:0 0 16px;padding:10px 13px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;display:flex;align-items:center;gap:10px}.platform-support-banner span{flex:1;font-size:9px}
.badge.violet{background:#ede9fe;color:#6d28d9}
@media(max-width:760px){.platform-content{padding:18px}.platform-metrics{grid-template-columns:1fr}.platform-topbar{padding:0 16px}.platform-org-grid{grid-template-columns:1fr}.platform-support-banner{align-items:flex-start;flex-direction:column}}

/* v4.1.1 — platform/company identity + seating order */
.platform-org-avatar.has-logo{background:#fff;border:1px solid #e5e7eb;overflow:hidden}.platform-org-avatar.has-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.platform-org-actions{flex-wrap:wrap}.platform-org-meta{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;background:#f8fafc;border-radius:8px;font-size:8px}.platform-org-meta strong{overflow-wrap:anywhere;text-align:right}
.platform-org-editor,.platform-members-panel,.platform-team-panel{margin-bottom:18px}.platform-team-create{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr auto;gap:8px;margin-bottom:12px}.platform-team-create input,.platform-team-create select{min-width:0}
.organization-logo-editor{margin-bottom:14px}.organization-event-list-brand{display:flex;align-items:center;gap:12px}.organization-event-list-brand img{max-width:110px;max-height:44px;object-fit:contain}.organization-account-form{margin:14px 0 18px}
.event-card-logo-wrap{height:54px;display:flex;align-items:center;margin-bottom:8px}.event-card-logo-wrap img{max-height:50px;max-width:150px;object-fit:contain}.event-card-logo-wrap span{width:42px;height:42px;border-radius:10px;background:#eef2ff;color:#3730a3;display:grid;place-items:center;font-weight:800}
.organization-shell-logo{object-fit:contain;background:#fff;padding:3px;border-radius:8px}
.seating-order-note{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:10px 14px}.seating-order-note strong{font-size:10px}.seating-order-note span{font-size:8.5px;color:#64748b}.seating-order-head{display:flex;align-items:center;gap:9px}.seating-order-head>div:nth-child(2){flex:1}.seating-order-number{width:27px;height:27px;border-radius:50%;background:#eef2ff;color:#3730a3;display:grid;place-items:center;font-weight:800;font-size:10px}.seating-order-controls{display:flex;gap:4px}
@media(max-width:760px){.platform-team-create{grid-template-columns:1fr}.seating-order-note{align-items:flex-start;flex-direction:column}.organization-event-list-brand img{max-width:80px}.platform-org-actions .btn,.platform-org-actions .mini-btn{flex:1 1 44%}}


/* v4.2.0 — commercial plan controls */
.module-choice.plan-locked{opacity:.64;background:#f8fafc;border-style:dashed}.module-choice.plan-locked input{cursor:not-allowed}.module-choice.plan-locked .badge{margin-left:auto}
.platform-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 4px}.platform-feature-grid label{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #e5e7eb;border-radius:10px}.platform-feature-grid span{display:flex;flex-direction:column}.platform-feature-grid strong{font-size:9px}.platform-feature-grid small{font-size:8px;color:#64748b;margin-top:2px}.platform-feature-chips{display:flex;flex-wrap:wrap;gap:4px}.platform-feature-chips span{font-size:7.5px;background:#eef2ff;color:#4338ca;border-radius:14px;padding:4px 6px}
@media(max-width:760px){.platform-feature-grid{grid-template-columns:1fr}}


/* v4.2.5 — Badge designer */
.badge-designer-settings{border:1px solid color-mix(in srgb,var(--brand-accent) 22%,var(--brand-border));}
.badge-designer-preview-picker{display:flex;align-items:end;gap:12px;justify-content:space-between;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface));margin-bottom:10px}
.badge-designer-preview-picker label{min-width:260px}.badge-designer-preview-picker span{font-size:9px;color:var(--brand-muted)}
.badge-layout-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.badge-layout-presets button{border:1px solid var(--brand-border);background:var(--brand-surface);padding:8px 11px;border-radius:10px;cursor:pointer}.badge-layout-presets button:hover{border-color:var(--brand-accent)}.badge-layout-presets span{font-size:9px;font-weight:800}
.badge-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-design-grid>label{display:grid;gap:5px;font-size:9px;font-weight:700}.badge-design-grid small{font-size:8px;color:var(--brand-muted);font-weight:500}.badge-check{align-content:center}
.badge-person-colors{margin-top:10px}.badge-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.badge-site-config-head{display:flex;justify-content:space-between;gap:12px;margin:12px 0 7px}.badge-site-config-head strong{font-size:10px}.badge-site-config-head span{font-size:8.5px;color:var(--brand-muted);text-align:right}
.badge-site-display-list{display:grid;gap:8px}.badge-site-display-row{display:grid;grid-template-columns:minmax(145px,1.1fr) repeat(3,minmax(120px,1fr)) minmax(145px,.9fr);gap:8px;align-items:end;padding:9px;border:1px solid var(--brand-border);border-radius:10px;background:color-mix(in srgb,var(--brand-surface) 94%,var(--brand-bg))}
.badge-site-display-row>label{display:grid;gap:4px;font-size:8px;font-weight:700}.badge-site-visible{display:flex!important;align-items:center!important;gap:7px}.badge-site-visible span{display:grid}.badge-site-visible small{font-size:7px;color:var(--brand-muted)}.badge-site-featured{display:flex!important;align-items:center;gap:6px;padding-bottom:8px}
.badge-site-empty{font-size:9px;color:var(--brand-muted);padding:12px;border:1px dashed var(--brand-border);border-radius:10px}
.badge-order-help{font-size:9px;color:var(--brand-muted)}.badge-section-order-list{display:grid;gap:7px}.badge-section-order-item{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);cursor:grab}.badge-section-order-item.dragging{opacity:.45}.badge-drag-handle{color:var(--brand-muted);font-weight:900;letter-spacing:-2px}.badge-section-order-item strong{font-size:9px}.badge-section-order-item>div{display:flex;gap:4px}

/* Real public badge layout */
.badge-public-hero{min-height:var(--badge-header-height)!important;height:var(--badge-header-height);padding:22px 24px!important;align-items:flex-end!important}
.badge-public-hero.align-center .public-hero-content{justify-content:center;text-align:center;align-items:center;flex-direction:column}.badge-public-hero.align-right .public-hero-content{justify-content:flex-start;text-align:right;align-items:flex-end;flex-direction:column}.badge-public-hero.align-left .public-hero-content{justify-content:flex-start;text-align:left}
.badge-public-body{display:grid;gap:0}.badge-section{margin-top:14px}.badge-section:first-child{margin-top:0}
.badge-personal-section.align-center{text-align:center}.badge-personal-section.align-right{text-align:right}
.badge-personal-section.align-center .public-person-heading{justify-content:center}.badge-personal-section.align-right .public-person-heading{justify-content:flex-end}
.badge-personal-section.align-center .public-person-heading:not(:has(.public-participant-photo)),.badge-personal-section.align-right .public-person-heading:not(:has(.public-participant-photo)){display:block}
.badge-personal-section .public-kicker{color:var(--badge-personal-label-color)!important}
.badge-personal-section h2{color:var(--badge-name-color)!important;font-size:var(--badge-name-size)!important}
.badge-personal-section .public-name{color:var(--pp-text);font-weight:700}
.badge-category{margin:5px 0 0;color:var(--badge-category-color)!important;font-size:var(--badge-category-size)!important;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.badge-personal-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.badge-personal-section.align-center .badge-personal-meta{justify-content:center}.badge-personal-section.align-right .badge-personal-meta{justify-content:flex-end}.badge-personal-meta span{font-size:10px;color:var(--pp-muted);padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--pp-muted) 8%,transparent)}
.badge-section-title{font-size:15px;margin:0 0 8px;color:var(--pp-text)}.badge-group-title{font-size:13px;margin:14px 2px 7px;color:var(--badge-group-color);text-transform:uppercase;letter-spacing:.035em}
.badge-seating-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-seating-grid.cols-auto{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}
.badge-seating-card{border-color:var(--badge-card-border)!important;border-radius:var(--badge-card-radius)!important}.badge-seating-card.featured{grid-column:1/-1}
.badge-seating-grid.style-compact{gap:7px}.badge-seating-grid.style-compact .public-info{padding:9px 11px}.badge-seating-grid.style-compact .public-info strong{font-size:15px}.badge-seating-grid.style-compact .public-info span,.badge-seating-grid.style-compact .public-info small{font-size:10px}
.badge-seating-grid.style-lines{gap:0}.badge-seating-grid.style-lines .public-info{border:0!important;border-bottom:1px solid var(--badge-card-border)!important;border-radius:0!important;background:transparent!important;padding:9px 2px}.badge-seating-grid.style-lines .public-info:last-child{border-bottom:0!important}
.badge-services-section .public-services{margin-top:0}.badge-qr-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--badge-card-border);border-radius:var(--badge-card-radius);background:var(--pp-info-bg)}.badge-qr-card>div:first-child{display:grid;gap:4px}.badge-qr-card strong{font-size:14px}.badge-qr-card small{font-size:10px;color:var(--pp-muted);max-width:260px}
.badge-qr-holder{width:128px;height:128px;background:#fff;padding:6px;border-radius:8px;display:grid;place-items:center;flex:none}.badge-qr-holder img,.badge-qr-holder canvas{max-width:100%;height:auto!important}
.badge-qr-holder.is-preview{width:56px;height:56px;grid-template-columns:1fr 1fr;gap:3px;padding:5px}.badge-qr-holder.is-preview span{background:#111;border-radius:1px}.badge-qr-holder.is-preview span:nth-child(2),.badge-qr-holder.is-preview span:nth-child(3){opacity:.55}

/* Branding preview reuses the real badge structure at miniature scale. */
#participantBadgePreviewHost{min-width:0}.badge-preview-mini{border:1px solid var(--brand-border);border-radius:14px;overflow:hidden;background:var(--pp-bg)}.badge-preview-page{background:var(--pp-surface);overflow:hidden}.badge-preview-mini .public-hero{height:calc(var(--badge-header-height) * .58);min-height:64px!important;padding:10px!important}.badge-preview-mini .public-hero-content{gap:7px}.badge-preview-mini .public-event-logo,.badge-preview-mini .public-logo{width:34px;height:34px;border-radius:8px;padding:4px;font-size:15px}.badge-preview-mini .public-event-copy small{font-size:5px}.badge-preview-mini .public-event-copy h1{font-size:10px}.badge-preview-mini .public-body{padding:12px}.badge-preview-mini .badge-section{margin-top:8px}.badge-preview-mini .public-kicker{font-size:6px;margin-bottom:3px}.badge-preview-mini .badge-personal-section h2{font-size:calc(var(--badge-name-size) * .48)!important}.badge-preview-mini .public-name{font-size:8px;margin:3px 0}.badge-preview-mini .badge-category{font-size:calc(var(--badge-category-size) * .58)!important;margin-top:2px}.badge-preview-mini .public-participant-photo{width:44px;height:44px;border-radius:10px}.badge-preview-mini .badge-personal-meta span{font-size:6px;padding:2px 4px}.badge-preview-mini .badge-section-title{font-size:8px;margin-bottom:4px}.badge-preview-mini .badge-group-title{font-size:7px;margin:7px 1px 3px}.badge-preview-mini .public-grid{gap:5px}.badge-preview-mini .public-info{padding:6px 7px;border-radius:calc(var(--badge-card-radius) * .55)!important}.badge-preview-mini .public-info span,.badge-preview-mini .public-info small{font-size:6px}.badge-preview-mini .public-info strong{font-size:8px}.badge-preview-mini .public-services{gap:4px}.badge-preview-mini .public-services span{font-size:6px;padding:3px 5px}.badge-preview-mini .badge-qr-card{padding:7px;gap:7px}.badge-preview-mini .badge-qr-card strong{font-size:7px}.badge-preview-mini .badge-qr-card small{font-size:5px}.badge-preview-mini .public-updated{font-size:5px;margin-top:8px}
@media(max-width:760px){
  .badge-design-grid{grid-template-columns:1fr}.badge-switch-grid{grid-template-columns:1fr}.badge-site-display-row{grid-template-columns:1fr 1fr}.badge-site-visible{grid-column:1/-1}.badge-site-featured{grid-column:1/-1}.badge-designer-preview-picker{align-items:stretch;flex-direction:column}.badge-seating-grid.cols-2{grid-template-columns:1fr}
}

/* v4.7.4 — participant dialogs always open inside the visible viewport */
.participant-editor-backdrop{
  align-items:flex-start;
  justify-items:center;
  padding-top:max(18px,env(safe-area-inset-top));
  padding-bottom:max(18px,env(safe-area-inset-bottom));
  overscroll-behavior:contain;
}
.participant-editor-modal{
  width:min(980px,calc(100vw - 28px));
  max-height:calc(100dvh - 36px);
  margin:auto;
  overflow:auto;
}
.rooming-bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0;padding:9px 11px;border:1px solid var(--brand-border);border-radius:11px;background:var(--brand-surface)}
.rooming-bulkbar.active{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--brand-border));background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface))}
.rooming-bulkbar strong{min-width:105px;font-size:11px}.rooming-bulkbar select{min-width:245px}.rooming-bulkbar input[type="date"]{min-width:155px}.rooming-select-col{width:38px!important;min-width:38px!important;text-align:center!important}.rooming-select-col input{width:17px;height:17px;accent-color:var(--brand-accent)}
.hotel-contract-fields label small{display:block;margin-top:3px;color:var(--brand-muted);font-size:8px;font-weight:500}
.client-content{font-size:15px}.client-page-title p{font-size:14px;line-height:1.5}.client-toolbar span,.client-toolbar label{font-size:12px}.client-toolbar input,.client-toolbar select{font-size:13px!important;min-height:40px}.client-table-wrap th{font-size:10px}.client-table-wrap td,.client-table-wrap td strong{font-size:13px}.client-table-wrap td small{font-size:11px}.client-participant-row-actions .mini-btn{font-size:11px;min-height:34px}
.client-participant-toolbar{flex-wrap:wrap}.client-participant-toolbar>input{min-width:240px}.client-participant-toolbar>select{min-width:150px;border:1px solid var(--brand-border);border-radius:8px;padding:8px;background:var(--brand-surface);color:var(--brand-text)}
.client-participant-bulkbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border:1px solid var(--brand-border);border-radius:11px;background:var(--brand-surface)}.client-participant-bulkbar.active{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--brand-border));background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface))}.client-participant-bulkbar label,.client-participant-bulkbar strong{font-size:12px}.client-participant-bulkbar input[type="checkbox"],.client-select-col input{width:17px;height:17px;accent-color:var(--brand-accent)}.client-select-col{width:38px!important;min-width:38px!important;text-align:center!important}
.client-hotel-quick-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin:0 0 12px}.client-hotel-quick-summary>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--brand-border);border-radius:11px;background:var(--brand-surface)}.client-hotel-quick-summary span{font-size:10px;color:var(--brand-muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.client-hotel-quick-summary strong{font-size:15px;color:var(--brand-text)}
@media(max-width:650px){
  .participant-editor-backdrop{padding:8px}
  .participant-editor-modal{width:100%;max-height:calc(100dvh - 16px);border-radius:14px}
  .rooming-bulkbar>*{flex:1 1 140px}.rooming-bulkbar strong{flex-basis:100%}
  .client-content{font-size:16px}.client-page-title p{font-size:14px}.client-table-wrap td{font-size:13px}.client-participant-toolbar>input,.client-participant-toolbar>select{flex:1 1 100%;max-width:none}.client-hotel-quick-summary{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.client-hotel-quick-summary>div{min-width:165px;scroll-snap-align:start}.client-participant-bulkbar>*{flex:1 1 140px}.client-participant-bulkbar label,.client-participant-bulkbar strong{flex-basis:100%}
  .participant-public-themed .badge-public-hero{height:clamp(112px,32vw,150px)!important;min-height:112px!important;padding:14px 18px!important}.participant-public-themed .public-hero-background{object-fit:contain!important;object-position:center!important;transform:none!important}
}


/* v4.2.6 — simplified badge designer + participant column chooser */
.badge-designer-title{align-items:flex-start}
.badge-save-state{display:flex;align-items:center;gap:9px}.badge-save-state span{font-size:8.5px;color:var(--brand-muted)}.badge-designer-settings.is-dirty .badge-save-state span{color:#b45309;font-weight:800}
.badge-quick-options{display:flex;flex-wrap:wrap;gap:7px 12px}.badge-quick-options label{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:700;padding:7px 9px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface)}.badge-quick-options.compact label{font-weight:600}
.badge-basic-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.badge-basic-layout-grid>label{display:grid;gap:5px;font-size:9px;font-weight:700}.badge-basic-layout-grid>label:has(input[type="checkbox"]){display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--brand-border);border-radius:9px}
.badge-site-display-row{display:block!important;padding:11px!important}.badge-site-row-head{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px}.badge-site-row-head>div{display:grid}.badge-site-row-head small{font-size:7.5px;color:var(--brand-muted)}.badge-site-row-main{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px;align-items:end;margin-top:9px}.badge-site-row-main>label{display:grid;gap:4px;font-size:8px;font-weight:700}.badge-site-featured{display:flex!important;align-items:center!important;gap:6px!important;min-height:38px;padding:0 8px!important;border:1px solid var(--brand-border);border-radius:8px}
.badge-inline-advanced{margin-top:7px}.badge-inline-advanced summary,.badge-advanced-panel summary{cursor:pointer;font-size:8.5px;color:var(--brand-muted)}.badge-inline-advanced label{display:grid;gap:4px;margin-top:6px;font-size:8px;font-weight:700}
.badge-advanced-panel{margin-top:15px;border:1px solid var(--brand-border);border-radius:10px;background:color-mix(in srgb,var(--brand-bg) 45%,var(--brand-surface));overflow:hidden}.badge-advanced-panel>summary{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;list-style:none}.badge-advanced-panel>summary::-webkit-details-marker{display:none}.badge-advanced-panel>summary strong{font-size:9px;color:var(--brand-text)}.badge-advanced-panel>summary span{font-size:8px}.badge-advanced-body{padding:0 13px 13px}
.badge-sticky-save{position:sticky;bottom:10px;z-index:5;margin-top:16px;padding:10px 12px;border:1px solid var(--brand-border);border-radius:11px;background:color-mix(in srgb,var(--brand-surface) 94%,transparent);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.badge-sticky-save>div{display:grid}.badge-sticky-save strong{font-size:9px}.badge-sticky-save small{font-size:7.5px;color:var(--brand-muted)}
.participant-brand-color-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.visual-advanced{margin-top:10px}
.rooming-membership-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px;border:1px solid var(--brand-border);border-radius:10px}.rooming-membership-fields>strong{grid-column:1/-1;font-size:9px}.rooming-membership-fields label{display:grid;gap:4px;font-size:8px}
.participant-columns-modal{width:min(760px,calc(100vw - 28px))}.participant-columns-groups{display:grid;gap:13px;max-height:60vh;overflow:auto;padding-right:4px}.participant-columns-groups section{border-bottom:1px solid var(--brand-border);padding-bottom:10px}.participant-columns-groups h3{font-size:10px;margin:0 0 7px}.participant-column-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.participant-column-choice-grid label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--brand-border);border-radius:8px;font-size:8.5px;background:var(--brand-surface)}
@media(max-width:760px){
  .badge-save-state{align-items:flex-end;flex-direction:column}.badge-basic-layout-grid{grid-template-columns:1fr}.badge-site-row-main{grid-template-columns:1fr}.participant-brand-color-grid.compact{grid-template-columns:1fr 1fr}.participant-column-choice-grid{grid-template-columns:1fr 1fr}.rooming-membership-fields{grid-template-columns:1fr}.badge-sticky-save{align-items:stretch;flex-direction:column}
}


/* v4.2.7 — Client module permissions */
.permission-row.client-unsupported-module{opacity:.52;background:#f8fafc}
.permission-row.client-unsupported-module span small{display:block;font-size:7px;color:var(--brand-muted);margin-top:2px}
.client-role-permission-note span b{color:var(--brand-text)}

/* v4.3.12 — timezone-neutral Rooming calendar dates */
body.app-is-working{overflow:hidden}
.working-overlay{visibility:visible}
.protected-org-label{align-self:center;font-size:8px;font-weight:800;color:#64748b;padding:5px 7px;border-radius:999px;background:#f1f5f9}
.permission-preflight{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:10px;padding:12px 14px;border-color:#bbf7d0;background:#f0fdf4}
.permission-preflight-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-weight:900}
.permission-preflight strong,.permission-preflight small{display:block}.permission-preflight strong{font-size:11px;color:#166534}.permission-preflight small{margin-top:2px;font-size:8.5px;color:#3f6212;line-height:1.4}

.hotel-contract-card{display:block!important;padding:16px!important}
.hotel-contract-head{display:grid;gap:3px;margin-bottom:13px}
.hotel-contract-head small{font-size:9px;color:var(--brand-muted)}
.hotel-contract-fields{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}
.hotel-contract-fields label{display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--brand-text)}
.hotel-contract-fields input{min-height:38px;padding:8px 9px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text)}
.hotel-contract-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--brand-border)}
.hotel-contract-actions .btn{min-height:38px;padding:9px 13px!important;font-size:11px!important;font-weight:800}
.hotel-contract-actions .btn.primary{box-shadow:0 4px 12px color-mix(in srgb,var(--brand-accent) 24%,transparent)}
.onboarding-hotel-btn.is-selected{border-color:#86efac;background:#f0fdf4;color:#166534}
.inline-save .btn.primary{min-width:84px;font-weight:800;box-shadow:0 3px 9px color-mix(in srgb,var(--brand-accent) 20%,transparent)}

.badge-designer-title .badge-save-state{padding:6px 9px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-surface)}
.badge-essential-options{margin-bottom:10px}
.badge-content-panel,.badge-seating-detail-panel{margin-top:9px;background:var(--brand-surface)}
.badge-content-panel>summary,.badge-seating-detail-panel>summary{min-height:42px}
.badge-content-panel[open]>summary,.badge-seating-detail-panel[open]>summary{border-bottom:1px solid var(--brand-border)}
.badge-content-panel .badge-advanced-body,.badge-seating-detail-panel .badge-advanced-body{padding-top:12px}
.badge-sticky-save .btn.primary{min-height:40px;font-size:11px;font-weight:850}

@media(max-width:1100px){.hotel-contract-fields{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:700px){.hotel-contract-fields{grid-template-columns:1fr 1fr}.hotel-contract-actions{align-items:stretch}.hotel-contract-actions .btn{flex:1 1 42%}}
@media(max-width:480px){.hotel-contract-fields{grid-template-columns:1fr}.hotel-contract-actions .btn{flex:1 1 100%}}
@media(max-width:560px){.permission-preflight{grid-template-columns:auto 1fr}.permission-preflight>.badge{grid-column:2;justify-self:start}}

/* v4.3.12 — compact Seating previews and collapsible Rooming setup */
.rooming-collapsible{display:block!important;padding:0!important;overflow:hidden;margin:12px 0}
.rooming-collapsible>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;cursor:pointer;background:#f8fafc;border-bottom:1px solid transparent}
.rooming-collapsible>summary::-webkit-details-marker{display:none}
.rooming-collapsible[open]>summary{border-bottom-color:#e2e8f0}
.rooming-collapsible>summary>div{display:grid;gap:2px}.rooming-collapsible>summary>span{font-size:10px;font-weight:800;color:#64748b}
.rooming-collapsible .rooming-hotelbar{margin:0;border:0;border-radius:0;box-shadow:none}
.rooming-collapsible.hotel-contract-card{grid-template-columns:1fr!important;padding:0!important}
.rooming-collapsible.hotel-contract-card>.hotel-contract-head,.rooming-collapsible.hotel-contract-card>.hotel-contract-fields,.rooming-collapsible.hotel-contract-card>.hotel-contract-actions{margin:12px 14px}
.seating-badge-preview{margin:12px 0;padding:0!important;overflow:hidden}
.seating-badge-preview>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#f8fafc}
.seating-badge-preview>summary::-webkit-details-marker{display:none}.seating-badge-preview>summary>div{display:grid;gap:2px}.seating-badge-preview>summary>span{font-size:10px;color:#64748b}
.seating-badge-preview-body{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr) auto;gap:14px;align-items:start;padding:14px}
.seating-badge-preview-body>label{display:grid;gap:6px;font-size:10px;font-weight:800}.seating-badge-preview-body select{width:100%;padding:9px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}
.seating-badge-preview-frame{max-height:300px;overflow:auto;border:1px solid #e2e8f0;border-radius:14px;background:#eef2f7}
@media(max-width:850px){.seating-badge-preview-body{grid-template-columns:1fr}.seating-badge-preview-frame{max-height:360px}}

/* v4.3.12 · Experience custom controls and dashboard widgets */
.experience-config-modal{width:min(680px,calc(100vw - 28px));max-height:88vh;overflow:auto;padding:20px}
.experience-check-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:16px 0}
.experience-check-form label,.dashboard-shared-widget-form label{display:grid;gap:6px;font-weight:750;color:#334155}
.experience-check-list{display:grid;gap:8px}
.experience-check-list>div,.dashboard-reminder-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px}
.experience-person-card .execution-actions{flex-wrap:wrap;justify-content:flex-end}
.experience-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.dashboard-widget-remove{font-size:18px!important;line-height:1}
.dashboard-widget-catalog{width:min(760px,calc(100vw - 28px));max-height:88vh;overflow:auto;padding:20px}
.dashboard-widget-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.dashboard-widget-catalog-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;border-radius:11px;padding:10px 12px}
.dashboard-widget-catalog-grid span{display:grid;gap:2px}.dashboard-widget-catalog-grid small{color:#7c3aed;font-size:10px}
.dashboard-shared-widget-form{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}
.dashboard-shared-widget-form h3{margin:0}.dashboard-shared-widget-form input{width:100%}
.dashboard-reminder-list{display:grid;gap:7px}.dashboard-reminder-list span{display:grid;gap:2px}.dashboard-reminder-list small{color:#64748b}
.dashboard-contact-qr{width:98px;height:98px;padding:3px;background:#fff;border-radius:8px;margin-top:5px}.dashboard-contact-qr img,.dashboard-contact-qr canvas{width:92px!important;height:92px!important}
.dashboard-reminders{display:grid;gap:7px}.dashboard-reminders>div{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid #e2e8f0}.dashboard-reminders small{white-space:nowrap}
@media(max-width:700px){.experience-check-form{grid-template-columns:1fr}.dashboard-widget-catalog-grid{grid-template-columns:1fr}}

/* v4.3.12 · configurable Experience, Rooming and contacts */
.experience-check-list>div>span{display:grid;gap:2px}.experience-check-list>div>span small{font-size:9px;color:var(--brand-muted)}
.experience-restore{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--brand-border)}
.dashboard-contact-list{display:grid;gap:7px}.dashboard-contact-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--brand-border);border-radius:9px}.dashboard-contact-list span{display:grid;gap:2px}.dashboard-contact-list small{color:var(--brand-muted)}
.dashboard-contacts{display:grid;gap:8px}.dashboard-contacts>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--brand-border)}.dashboard-contacts span{display:grid;gap:2px}.dashboard-contacts .dashboard-contact-qr{width:58px;height:58px;margin:0}.dashboard-contacts .dashboard-contact-qr img,.dashboard-contacts .dashboard-contact-qr canvas{width:52px!important;height:52px!important}
.rooming-columns-modal{width:min(720px,calc(100vw - 28px))}
.rooming-wide-table.hide-rooming-guest th:nth-child(1),.rooming-wide-table.hide-rooming-guest td:nth-child(1),
.rooming-wide-table.hide-rooming-room th:nth-child(2),.rooming-wide-table.hide-rooming-room td:nth-child(2),
.rooming-wide-table.hide-rooming-pax th:nth-child(3),.rooming-wide-table.hide-rooming-pax td:nth-child(3),
.rooming-wide-table.hide-rooming-checkIn th:nth-child(4),.rooming-wide-table.hide-rooming-checkIn td:nth-child(4),
.rooming-wide-table.hide-rooming-checkOut th:nth-child(5),.rooming-wide-table.hide-rooming-checkOut td:nth-child(5),
.rooming-wide-table.hide-rooming-nights th:nth-child(6),.rooming-wide-table.hide-rooming-nights td:nth-child(6),
.rooming-wide-table.hide-rooming-arrival th:nth-child(7),.rooming-wide-table.hide-rooming-arrival td:nth-child(7),
.rooming-wide-table.hide-rooming-arrivalTime th:nth-child(8),.rooming-wide-table.hide-rooming-arrivalTime td:nth-child(8),
.rooming-wide-table.hide-rooming-departure th:nth-child(9),.rooming-wide-table.hide-rooming-departure td:nth-child(9),
.rooming-wide-table.hide-rooming-departureTime th:nth-child(10),.rooming-wide-table.hide-rooming-departureTime td:nth-child(10),
.rooming-wide-table.hide-rooming-confirmation th:nth-child(11),.rooming-wide-table.hide-rooming-confirmation td:nth-child(11),
.rooming-wide-table.hide-rooming-payment th:nth-child(12),.rooming-wide-table.hide-rooming-payment td:nth-child(12),
.rooming-wide-table.hide-rooming-status th:nth-child(13),.rooming-wide-table.hide-rooming-status td:nth-child(13){display:none}

/* v4.3.12 · full names, compact top actions and Seating overview */
.experience-person-card{grid-template-columns:28px minmax(180px,.7fr) minmax(250px,1.3fr)!important}
.experience-person-name strong,.execution-person-name strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25;overflow-wrap:anywhere}
.execution-person-name{min-width:190px;max-width:320px;display:grid;gap:2px;flex:0 1 300px}
.execution-person-card .execution-actions{flex:1;justify-content:flex-end;flex-wrap:wrap}
.seating-overview-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px;align-items:start}
.seating-overview-list{min-width:0}.seating-overview-list .seating-home-grid{grid-template-columns:minmax(0,1fr)}
.seating-overview-badge{min-width:0;position:sticky;top:92px}.seating-overview-badge .seating-badge-preview{margin:0}.seating-overview-badge .seating-badge-preview-body{grid-template-columns:1fr}.seating-overview-badge .seating-badge-preview-frame{max-height:520px}
.topbar-page-actions{min-width:0;max-width:min(58vw,760px);overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.topbar-page-actions>.actions,.topbar-page-actions{flex-wrap:nowrap!important}
.topbar-page-actions .btn,.topbar-page-actions .mini-btn{min-height:32px;height:32px;padding:5px 9px!important;border-radius:8px!important;font-size:11px!important;line-height:1;white-space:nowrap}
@media(max-width:1100px){.seating-overview-list .seating-home-grid{grid-template-columns:1fr}.topbar-page-actions{max-width:48vw}}
@media(max-width:880px){.seating-overview-layout{grid-template-columns:1fr}.seating-overview-badge{position:static}.seating-overview-list .seating-home-grid{grid-template-columns:1fr}}

/* v4.7.0 · acciones masivas de Experiencia */
.execution-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:9px 11px;border:1px solid var(--brand-border);border-radius:11px;background:#f8fafc}.execution-bulkbar.active{border-color:#93c5fd;background:#eff6ff}.execution-bulkbar label{display:flex;align-items:center;gap:7px}.execution-bulkbar select{min-width:210px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.execution-person-card{grid-template-columns:28px minmax(190px,.7fr) minmax(250px,1.3fr)!important}.execution-select{display:grid;place-items:center;align-self:stretch}.execution-select input{width:18px;height:18px;accent-color:var(--brand-accent)}.execution-person-card.selected{border-color:#60a5fa;background:#eff6ff}
@media(max-width:620px){.experience-person-card{grid-template-columns:26px minmax(0,1fr)!important}.execution-person-name{min-width:0;max-width:none}.seating-overview-list .seating-home-grid{grid-template-columns:1fr}.topbar-page-actions{max-width:none}}

/* v4.3.12 · Client notification settings */
.request-center-summary{grid-template-columns:repeat(5,minmax(90px,1fr))!important}
.request-center-summary>div:last-child{border-right:0}
.request-filter-guidance{margin:-1px 0 9px;padding:7px 9px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:9.5px;line-height:1.35}
.client-notification-settings{margin:12px 0;padding:15px}.client-notification-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.client-notification-head h2{font-size:17px;margin:3px 0}.client-notification-head p{max-width:850px;margin:0;color:var(--brand-muted);font-size:10px;line-height:1.45}
.client-notification-form{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(320px,1.35fr) minmax(210px,.8fr) auto;gap:12px;align-items:end;margin-top:13px;padding-top:13px;border-top:1px solid var(--brand-border)}
.client-notification-form>label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#475569}.client-notification-form>label>small{font-size:8px;color:var(--brand-muted);font-weight:500}.client-notification-form textarea{width:100%;resize:vertical;min-height:57px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font:inherit;font-size:10px}
.client-notification-switch{display:flex!important;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--brand-border);border-radius:10px;background:#f8fafc}.client-notification-switch input{width:18px;height:18px;accent-color:var(--brand-accent);margin-top:1px}.client-notification-switch span{display:grid;gap:3px}.client-notification-switch small{font-size:8px;color:var(--brand-muted);font-weight:500}
.client-notification-timing{display:grid;gap:3px;padding:9px 10px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff}.client-notification-timing span{font-size:8px;text-transform:uppercase;font-weight:850;color:#1d4ed8}.client-notification-timing strong{font-size:16px;color:#1e3a8a}.client-notification-timing small{font-size:8px;color:#475569;line-height:1.35}
@media(max-width:1100px){.client-notification-form{grid-template-columns:1fr 1fr}.client-notification-form .btn{justify-self:start}.request-center-summary{grid-template-columns:repeat(5,minmax(75px,1fr))!important}}
@media(max-width:700px){.client-notification-head{flex-direction:column}.client-notification-form{grid-template-columns:1fr}.request-center-summary{grid-template-columns:repeat(2,1fr)!important}.request-center-summary>div{border-right:0}.request-center-summary>div:last-child{grid-column:1/-1}}

/* v4.3.12 · compact operational panels and collapsible configuration */
.experience-person-name,.execution-person-name{overflow:visible!important;min-width:220px!important}
.experience-person-name strong,.execution-person-name strong{display:block!important;width:auto!important;max-width:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:13px;line-height:1.3}
.experience-person-name .participant-surname,.execution-person-name .participant-surname{font-weight:900;color:inherit}

.client-settings-modal{width:min(940px,95vw);max-height:92vh;overflow:hidden;border-radius:16px;background:var(--brand-bg);box-shadow:0 28px 70px rgba(15,23,42,.28);display:grid;grid-template-rows:auto minmax(0,1fr)}
.client-settings-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--brand-surface);border-bottom:1px solid var(--brand-border)}
.client-settings-modal-head h2{margin:2px 0;font-size:18px}.client-settings-modal-head p{margin:0;color:var(--brand-muted);font-size:10px}.client-settings-modal-body{overflow:auto;padding:14px;display:grid;gap:12px}
.client-settings-modal .client-access-control,.client-settings-modal .client-notification-settings{margin:0}
.client-settings-modal .client-notification-form{grid-template-columns:minmax(210px,.9fr) minmax(280px,1.25fr) minmax(190px,.8fr);align-items:stretch}
.client-settings-modal .client-notification-form>.btn{grid-column:1/-1;justify-self:end}

.rooming-summary-cards{gap:6px!important;margin:7px 0!important;grid-template-columns:repeat(4,minmax(100px,1fr))!important}
.rooming-summary-cards .card{min-height:52px!important;padding:7px 10px!important;display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.rooming-summary-cards .card .muted{font-size:8px;line-height:1.2}.rooming-summary-cards .metric,.rooming-summary-cards .metric.small{font-size:16px!important;margin:0!important;white-space:nowrap}
.rooming-control-compact{display:grid!important;grid-template-columns:minmax(130px,.8fr) minmax(140px,.9fr) minmax(280px,1.4fr)!important;gap:6px!important;margin:6px 0 9px!important}
.rooming-control-compact .rooming-sync-card{min-height:48px;padding:7px 9px!important}.rooming-control-compact .rooming-sync-card>span,.rooming-control-compact .rooming-sync-card>label{font-size:8px!important}.rooming-control-compact .rooming-sync-card>strong{font-size:10px!important}
.rooming-control-compact .inline-save input{min-height:30px;padding:5px 7px;font-size:9px}.rooming-control-compact .inline-save .btn{min-height:30px;padding:5px 8px;font-size:9px}

.report-summary-strip{grid-template-columns:repeat(4,minmax(95px,.55fr)) minmax(260px,1.8fr)!important;gap:6px!important;margin-bottom:7px!important}
.report-summary-strip>.card{min-height:54px!important;padding:7px 10px!important;display:grid;align-content:center;gap:1px}
.report-summary-strip>.wide{grid-column:auto!important}.report-summary-strip strong{font-size:17px!important}.report-summary-strip>.wide strong{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-summary-strip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.branding-collapsible{padding:0!important;overflow:hidden}.branding-collapsible>summary{list-style:none;cursor:pointer;padding:12px 14px;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:14px;background:color-mix(in srgb,var(--brand-bg) 55%,var(--brand-surface));border-bottom:1px solid transparent}
.branding-collapsible>summary::-webkit-details-marker{display:none}.branding-collapsible[open]>summary{border-bottom-color:var(--brand-border)}.branding-collapsible[open]>summary .branding-collapse-cue{font-size:0}.branding-collapsible[open]>summary .branding-collapse-cue::after{content:'Cerrar';font-size:9px}
.branding-collapse-cue{font-size:9px;color:var(--brand-accent);white-space:nowrap}.branding-collapsible>summary~*{margin-left:14px!important;margin-right:14px!important}.branding-collapsible>summary~*:last-child{margin-bottom:14px!important}

@media(max-width:1050px){.rooming-control-compact{grid-template-columns:1fr 1fr!important}.rooming-control-compact .rooming-sync-card:last-child{grid-column:1/-1}.client-settings-modal .client-notification-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.experience-person-name,.execution-person-name{min-width:0!important}.rooming-summary-cards{grid-template-columns:repeat(2,1fr)!important}.rooming-control-compact{grid-template-columns:1fr!important}.rooming-control-compact .rooming-sync-card:last-child{grid-column:auto}.report-summary-strip{grid-template-columns:repeat(2,1fr)!important}.report-summary-strip>.wide{grid-column:1/-1!important}.client-settings-modal .client-notification-form{grid-template-columns:1fr}.client-settings-modal .client-notification-form>.btn{grid-column:auto}.client-settings-modal-body{padding:9px}.branding-collapsible>summary{padding:10px 11px}.branding-collapsible>summary~*{margin-left:10px!important;margin-right:10px!important}}

/* v4.7.0 · Agenda base importada desde Excel */
.agenda-import-modal.card{width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 28px)}
.agenda-file-drop{display:grid;place-items:center;gap:6px;min-height:150px;margin:18px 0;padding:24px;border:2px dashed var(--brand-accent);border-radius:14px;background:color-mix(in srgb,var(--brand-accent) 5%,var(--brand-surface));text-align:center;cursor:pointer}.agenda-file-drop strong{font-size:17px}.agenda-file-drop span{color:var(--brand-muted);font-size:11px}
.agenda-import-help{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;padding:13px;border-radius:11px;background:#f8fafc;font-size:11px}.agenda-import-help span{color:#64748b}
.agenda-import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.agenda-import-stats span{display:grid;gap:2px;padding:10px;border:1px solid var(--brand-border);border-radius:10px;color:var(--brand-muted);font-size:10px}.agenda-import-stats strong{font-size:19px;color:var(--brand-text)}
.agenda-import-types{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.agenda-type-badge{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.agenda-moment-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-moment-title h3{margin:0}
.agenda-custom-fields{display:flex;gap:5px 12px;flex-wrap:wrap;margin:5px 0}.agenda-custom-fields small{padding:3px 6px;border-radius:6px;background:#f8fafc;text-transform:none}
.agenda-import-table-wrap{max-height:44vh;overflow:auto;border:1px solid var(--brand-border);border-radius:11px}.agenda-import-table{width:100%;border-collapse:collapse;min-width:820px;font-size:10px}.agenda-import-table th,.agenda-import-table td{padding:8px 9px;border-bottom:1px solid var(--brand-border);text-align:left;vertical-align:top}.agenda-import-table th{position:sticky;top:0;background:#111827;color:#fff;z-index:1}.agenda-import-table td:first-child{color:var(--brand-muted)}
.agenda-import-issues{margin-top:10px;padding:10px 12px;border:1px solid #fbbf24;border-radius:10px;background:#fffbeb;color:#92400e}.agenda-import-issues summary{cursor:pointer;font-weight:800}.agenda-import-issues ul{margin:8px 0 0;padding-left:20px}
.agenda-moment-row.moment-type-break,.client-agenda-row.moment-type-break{border-left:4px solid #0ea5e9;background:#f0f9ff}.agenda-moment-row.moment-type-lunch,.client-agenda-row.moment-type-lunch{border-left:4px solid #f59e0b;background:#fffbeb}.agenda-moment-row.moment-type-cocktail,.client-agenda-row.moment-type-cocktail{border-left:4px solid #a855f7;background:#faf5ff}
@media(max-width:700px){.agenda-import-stats{grid-template-columns:repeat(2,1fr)}.agenda-import-help{grid-template-columns:1fr}.agenda-import-modal.card{padding:14px}}

/* v4.7.0 · timeline table, Excel mapping and grid editor */
.agenda-source-controls{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:10px;align-items:end;margin:15px 0;padding:12px;background:#f8fafc;border-radius:11px}.agenda-source-controls label,.agenda-mapping-grid label{display:grid;gap:5px}.agenda-source-controls span,.agenda-mapping-grid span{font-size:10px;font-weight:800;color:#475569}.agenda-source-controls select,.agenda-source-controls input,.agenda-mapping-grid select{width:100%;min-height:38px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;padding:7px 9px}
.agenda-mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.agenda-mapping-note{margin:13px 0;padding:10px 12px;border-left:3px solid var(--brand-accent);background:#f8fafc;color:#64748b;font-size:10px}
.timeline-grid-modal{width:min(1500px,calc(100vw - 24px));height:min(88vh,900px);padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.timeline-grid-wrap{overflow:auto;border:1px solid var(--brand-border);border-radius:11px;background:#fff}.timeline-grid-table{width:100%;min-width:1420px;border-collapse:collapse;font-size:10px}.timeline-grid-table th{position:sticky;top:0;z-index:3;background:#111827;color:#fff;text-align:left;padding:8px}.timeline-grid-table td{padding:4px;border-bottom:1px solid #e2e8f0;vertical-align:top}.timeline-grid-table input,.timeline-grid-table select,.timeline-grid-table textarea{width:100%;min-width:92px;border:1px solid transparent;background:transparent;border-radius:6px;padding:6px;font:inherit;resize:vertical}.timeline-grid-table textarea{min-width:190px}.timeline-grid-table input:focus,.timeline-grid-table select:focus,.timeline-grid-table textarea:focus{outline:none;border-color:var(--brand-accent);background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 15%,transparent)}.timeline-grid-table input[type=checkbox]{min-width:18px;width:18px;height:18px}
.timeline-grid-table tr.timeline-section-base{background:#fff}.timeline-grid-table tr.timeline-section-logistics{background:#f0fdf4}.timeline-grid-table tr.timeline-section-production{background:#eff6ff}.timeline-grid-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;padding-top:12px}.timeline-grid-footer>span{color:#b45309;font-size:10px}.timeline-grid-footer>.actions{margin-left:auto}
.timeline-view-table{min-width:1180px}.timeline-view-table td:nth-child(2){white-space:nowrap}.timeline-section-badge.base{background:#f1f5f9;color:#334155}.timeline-section-badge.logistics{background:#dcfce7;color:#166534}.timeline-section-badge.production{background:#dbeafe;color:#1d4ed8}.timeline-view-table tr.timeline-section-logistics td{background:#f7fef9}.timeline-view-table tr.timeline-section-production td{background:#f7faff}

/* v4.7.0 · editor maestro de Agenda */
.agenda-sheet{display:grid;gap:10px}.agenda-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.agenda-sheet-toolbar>div:first-child{display:grid;gap:2px}.agenda-sheet-toolbar strong{font-size:14px}.agenda-sheet-toolbar small{color:var(--brand-muted);font-size:10px}.agenda-sheet-toolbar .actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.agenda-sheet-legend{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.agenda-sheet-legend>span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.agenda-sheet-legend .base{background:#eef2f7;color:#334155}.agenda-sheet-legend .logistics{background:#f1e8ff;color:#7e22ce}.agenda-sheet-legend .reminder{background:#fef3c7;color:#92400e}.agenda-sheet-legend .custom{background:#e0f2fe;color:#075985}.agenda-sheet-legend button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:0}.agenda-sheet-wrap{max-height:calc(100vh - 250px);border-radius:10px}.agenda-sheet-table{width:100%;min-width:1560px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:10px}.agenda-sheet-table th,.agenda-sheet-table td{border-right:1px solid #dce2ea;border-bottom:1px solid #dce2ea;vertical-align:top}.agenda-sheet-table th{position:sticky;top:0;z-index:4;background:#111;color:#fff;text-align:left;padding:8px 7px;font-size:9px;letter-spacing:.02em}.agenda-sheet-table th:first-child,.agenda-sheet-table td:first-child{width:34px;text-align:center}.agenda-sheet-table th:nth-child(2){width:126px}.agenda-sheet-table th:nth-child(3){width:90px}.agenda-sheet-table th:nth-child(4){width:82px}.agenda-sheet-table th:nth-child(5){width:128px}.agenda-sheet-table th:nth-child(6){width:250px}.agenda-sheet-table th:nth-child(7){width:250px}.agenda-sheet-table th:nth-child(8){width:170px}.agenda-sheet-table th:nth-child(9){width:125px}.agenda-sheet-table th:nth-child(10){width:145px}.agenda-sheet-table th:nth-child(11){width:190px}.agenda-sheet-table input:not([type=checkbox]),.agenda-sheet-table select,.agenda-sheet-table textarea{display:block;width:100%;min-height:38px;border:0;border-radius:0;background:transparent;color:var(--brand-text);font:inherit;padding:8px 7px;resize:vertical}.agenda-sheet-table textarea{min-height:48px}.agenda-sheet-table input:focus,.agenda-sheet-table select:focus,.agenda-sheet-table textarea:focus{position:relative;z-index:1;outline:2px solid var(--brand-accent);outline-offset:-2px;background:#fff}.agenda-sheet-table input[type=checkbox]{width:17px;height:17px;margin-top:10px}.agenda-sheet-table tr.timeline-section-base td{background:#fff}.agenda-sheet-table tr.timeline-section-logistics td{background:#faf7ff}.agenda-sheet-table tr.timeline-section-reminder td{background:#fffbeb}.agenda-sheet-table tr.timeline-section-logistics select[data-grid-field=section]{background:#9333ea;color:#fff;font-weight:800;border-radius:999px;margin:5px;width:calc(100% - 10px);min-height:29px;padding:4px 8px}.agenda-sheet-table tr.timeline-section-reminder select[data-grid-field=section]{background:#f59e0b;color:#422006;font-weight:800;border-radius:999px;margin:5px;width:calc(100% - 10px);min-height:29px;padding:4px 8px}.agenda-sheet-table tr.timeline-section-base select[data-grid-field=section]{background:#e9eef5;color:#334155;font-weight:800;border-radius:999px;margin:5px;width:calc(100% - 10px);min-height:29px;padding:4px 8px}.client-agenda-row time small{display:block;margin-top:4px;color:var(--brand-muted);font-size:9px;font-weight:650}
@media(max-width:900px){.agenda-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-source-controls{grid-template-columns:1fr 130px}.agenda-source-controls .btn{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.agenda-mapping-grid,.agenda-source-controls{grid-template-columns:1fr}.timeline-grid-modal{padding:10px;height:94vh}.timeline-grid-footer{align-items:flex-start;flex-wrap:wrap}.timeline-grid-footer>.actions{width:100%;margin-left:0}.timeline-grid-footer>.actions .btn{flex:1}.agenda-sheet-toolbar{align-items:flex-start;flex-direction:column}.agenda-sheet-toolbar .actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.agenda-sheet-toolbar .actions .btn{flex:0 0 auto}.agenda-sheet-wrap{max-height:calc(100vh - 285px)}}
/* v4.7.0 · Lector QR de Experiencia */
.experience-future.is-ready{border-color:#86efac;background:linear-gradient(145deg,#f0fdf4,#fff)}
.experience-scanner-backdrop{z-index:1600}
.experience-scanner-modal{width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:20px}
.experience-scanner-check{display:grid;gap:7px;margin:14px 0;font-weight:700}.experience-scanner-check select{min-height:44px}
.experience-camera-shell{position:relative;overflow:hidden;border-radius:18px;background:#0f172a;aspect-ratio:4/3;max-height:410px;min-height:280px}
.experience-camera-shell>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#0f172a;opacity:0}.experience-camera-shell>video.is-ready{opacity:1}
.experience-camera-shell #experienceHtml5Reader{position:absolute;inset:0;width:100%;height:100%;background:#0f172a}.experience-camera-shell #experienceHtml5Reader video{width:100%!important;height:100%!important;object-fit:cover!important}.experience-camera-shell #experienceHtml5Reader:empty{display:none}
.experience-camera-target{z-index:3;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(58%,260px);aspect-ratio:1;border:2px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(15,23,42,.28);pointer-events:none}
.experience-camera-target i{position:absolute;width:30px;height:30px;border-color:#e600a9;border-style:solid}.experience-camera-target i:nth-child(1){left:-3px;top:-3px;border-width:5px 0 0 5px;border-radius:14px 0 0}.experience-camera-target i:nth-child(2){right:-3px;top:-3px;border-width:5px 5px 0 0;border-radius:0 14px 0 0}.experience-camera-target i:nth-child(3){left:-3px;bottom:-3px;border-width:0 0 5px 5px;border-radius:0 0 0 14px}.experience-camera-target i:nth-child(4){right:-3px;bottom:-3px;border-width:0 5px 5px 0;border-radius:0 0 14px}
.experience-camera-message{z-index:4;position:absolute;left:12px;right:12px;bottom:12px;padding:9px 12px;border-radius:10px;background:rgba(15,23,42,.82);color:#fff;text-align:center;font-size:13px;pointer-events:none}
.experience-scan-result{display:grid;gap:2px;margin:12px 0;padding:13px 15px;border-radius:12px;border:1px solid #dbe3ee;background:#f8fafc}.experience-scan-result span{font-size:13px;color:#64748b}.experience-scan-result.success{border-color:#86efac;background:#f0fdf4}.experience-scan-result.success strong{color:#15803d}.experience-scan-result.duplicate{border-color:#fde68a;background:#fffbeb}.experience-scan-result.duplicate strong{color:#a16207}.experience-scan-result.error{border-color:#fecaca;background:#fef2f2}.experience-scan-result.error strong{color:#b91c1c}
.experience-manual-scan{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.experience-manual-scan label{display:grid;gap:6px}.experience-manual-scan input{min-height:42px}
.experience-manual-matches{display:grid;gap:6px;margin-top:8px}.experience-manual-matches button{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:10px 12px;border:1px solid #dbe3ee;background:#fff;border-radius:10px;cursor:pointer}.experience-manual-matches button:hover{border-color:#e600a9}.experience-manual-matches span{color:#64748b;font-size:12px}
@media(max-width:640px){.experience-scanner-modal{padding:14px}.experience-manual-scan{grid-template-columns:1fr}.experience-camera-shell{aspect-ratio:3/4;max-height:52vh}}

/* v4.7.0 · Experiencia configurable + operación manual/QR */
.experience-point-form{grid-template-columns:minmax(190px,1.4fr) minmax(150px,.8fr) minmax(180px,1fr) auto;align-items:end}
.execution-experience-modes{display:flex;gap:8px;margin-bottom:14px;padding:5px;border-radius:13px;background:#e8edf5;width:max-content;max-width:100%}.execution-experience-modes button{min-height:38px;padding:8px 18px;border:0;border-radius:9px;background:transparent;color:#475569;font-weight:800;cursor:pointer}.execution-experience-modes button.active{background:#fff;color:#172554;box-shadow:0 2px 8px rgba(15,23,42,.1)}
.experience-scanner-panel{width:min(760px,100%);margin:0 auto;padding:20px}.experience-scanner-panel .experience-camera-shell{max-height:440px}.experience-scanner-start{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;border:1px dashed #94a3b8;border-radius:18px;background:#f8fafc;padding:28px}.experience-scanner-start strong{font-size:21px}.experience-scanner-start span{color:#64748b;max-width:460px}.experience-scanner-start .btn{margin-top:10px}
.experience-points-section{margin-top:18px}.experience-points-section .section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.experience-points-section h2,.experience-points-section p{margin:3px 0}.experience-points-section p{color:#64748b}.experience-points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.experience-point-card{display:grid;gap:8px}.experience-point-card .badge{width:max-content}.experience-point-card h3{margin:0}.experience-point-card>small{color:#64748b;min-height:18px}.experience-point-card>div strong{font-size:25px;color:#172554}.experience-point-card>div span{color:#64748b;font-size:13px}
@media(max-width:760px){.experience-point-form{grid-template-columns:1fr}.execution-experience-modes{width:100%}.execution-experience-modes button{flex:1;padding-inline:8px}.experience-scanner-panel{padding:14px}}

/* v4.7.0 · Experiencia en vivo y reportes */
.experience-report-modal{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.experience-report-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.experience-report-points>strong{grid-column:1/-1}.experience-report-points label,.experience-report-detail{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc}
.public-live-experience-bars{display:grid;gap:13px}.public-live-experience-bars>div{display:grid;gap:5px}.public-live-experience-bars header{display:flex;justify-content:space-between;gap:12px}.public-live-experience-bars header b{color:#fff}.public-live-experience-bars i{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.public-live-experience-bars i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#4ade80)}.public-live-experience-bars small{color:#94a3b8}.public-live-experience-recent .public-live-list>div:first-child{border-color:#4ade80;background:rgba(34,197,94,.12)}
.experience-scan-result.success strong,.experience-scan-result.duplicate strong{font-size:21px}.experience-scan-result.success span,.experience-scan-result.duplicate span{font-size:15px}
@media(max-width:640px){.experience-scanner-panel{margin:-8px -8px 0;width:calc(100% + 16px)}.experience-scanner-panel .experience-camera-shell{min-height:62vh;max-height:68vh;aspect-ratio:auto}.experience-scanner-panel .experience-camera-target{width:min(72%,310px)}.experience-report-points{grid-template-columns:1fr}.experience-scan-result.success strong,.experience-scan-result.duplicate strong{font-size:24px}}

/* v4.7.0 · detalle de Experiencia y ejecución móvil compacta */
.experience-heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.experience-point-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.experience-point-card:hover{border-color:#93c5fd;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}.experience-point-card em{font-size:11px;font-style:normal;font-weight:800;color:#2563eb}.experience-detail-modal{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.experience-detail-search{width:100%;margin:15px 0 10px;padding:11px 13px;border:1px solid var(--brand-border);border-radius:10px;font:inherit}.experience-detail-list{display:grid;gap:6px}.experience-detail-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(110px,auto);gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--brand-border);border-radius:10px}.experience-detail-list>div>span:first-child{display:grid;gap:2px}.experience-detail-list small{color:var(--brand-muted)}.execution-controls{grid-template-columns:minmax(220px,1fr) minmax(170px,auto);align-items:center}.execution-controls>select{height:100%;min-height:43px;padding:9px 11px;border:1px solid #dbe4ef;border-radius:11px;background:#fff;font-weight:750}
@media(max-width:640px){.experience-points-section .section-heading{align-items:flex-start;flex-direction:column;gap:10px}.experience-heading-actions{justify-content:flex-start}.experience-detail-list>div{grid-template-columns:minmax(0,1fr) auto}.experience-detail-list>div>small{grid-column:1/-1}.execution-controls{grid-template-columns:minmax(0,1fr) 132px;gap:6px}.execution-controls>input{min-width:0;font-size:13px;padding:9px 10px}.execution-controls>select{min-width:0;font-size:11px;padding:7px}.execution-person-card{display:grid!important;grid-template-columns:24px minmax(88px,.72fr) minmax(0,1.55fr)!important;align-items:center!important;gap:7px!important;padding:9px!important}.execution-select{grid-column:1}.execution-person-name{grid-column:2;min-width:0!important;max-width:none!important}.execution-person-name strong{font-size:11px!important;line-height:1.2!important}.execution-person-name small{font-size:8px}.execution-person-card .execution-actions{grid-column:3;width:auto!important;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;padding:0!important}.execution-actions button{flex:1 1 calc(50% - 4px)!important;min-width:58px!important;padding:7px 5px!important;border-radius:8px;font-size:9px}.execution-bulkbar{gap:6px;padding:7px 8px;font-size:10px}.execution-bulkbar select{order:4;min-width:150px;flex:1;padding:7px}.execution-bulkbar .btn,.execution-bulkbar .mini-btn{padding:7px 8px!important;font-size:9px!important}}

/* v4.7.0 · navegación y Participantes pensados para teléfono */
.participant-mobile-list{display:grid;gap:8px}.participant-mobile-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px 9px;padding:11px;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-surface)}.participant-mobile-card.selected{border-color:#60a5fa;background:#eff6ff}.participant-mobile-select{grid-row:1/3;display:grid;align-items:start;padding-top:2px}.participant-mobile-select input{width:18px;height:18px;accent-color:var(--brand-accent)}.participant-mobile-copy{min-width:0;display:grid;gap:3px}.participant-mobile-copy>strong{font-size:14px;overflow-wrap:anywhere}.participant-mobile-copy>small{font-size:10px;color:var(--brand-muted);overflow-wrap:anywhere}.participant-mobile-status{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.participant-mobile-status span{padding:3px 5px;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800}.participant-mobile-status span.yes{background:#dcfce7;color:#166534}.participant-mobile-actions{grid-column:2;display:flex;gap:6px}.participant-mobile-actions button{min-height:36px;flex:1}.participant-mobile-more{width:100%;min-height:44px}
@media(max-width:650px){body:has(.mobile-menu-open){overflow:hidden}.mobile-menu-toggle{display:grid;width:42px;height:42px;place-content:center;gap:4px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);flex:0 0 auto}.mobile-menu-toggle span{display:block;width:20px;height:2px;border-radius:3px;background:var(--brand-text)}.mobile-menu-close{display:grid;margin-left:auto;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:24px}.app-shell .sidebar,.app-shell.sidebar-collapsed .sidebar{display:flex;position:fixed;z-index:31;right:0;left:auto;top:0;width:min(86vw,340px);height:100dvh;padding:16px 14px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 45px rgba(15,23,42,.3);overflow:hidden}.app-shell.mobile-menu-open .sidebar{transform:translateX(0)}.app-shell .sidebar .brand{margin-bottom:14px}.app-shell .sidebar .sidebar-brand-copy,.app-shell.sidebar-collapsed .sidebar .sidebar-brand-copy,.app-shell .sidebar .nav-label,.app-shell.sidebar-collapsed .sidebar .nav-label,.app-shell .sidebar .sidebar-user-copy{display:block}.app-shell .sidebar .sidebar-toggle{display:none}.app-shell .sidebar .nav{display:grid;grid-template-columns:1fr;overflow:auto;gap:5px}.app-shell .sidebar .nav button,.app-shell.sidebar-collapsed .sidebar .nav button{justify-content:flex-start;text-align:left;padding:10px 11px}.app-shell .sidebar .back-events,.app-shell.sidebar-collapsed .sidebar .back-events{display:flex;justify-content:flex-start}.app-shell .sidebar .sidebar-user{display:flex;justify-content:flex-start}.mobile-menu-backdrop{position:fixed;z-index:30;inset:0;border:0;background:rgba(15,23,42,.56);backdrop-filter:blur(2px)}.mobile-menu-open .mobile-menu-backdrop{display:block}.topbar{min-height:62px;align-items:center}.topbar-right{gap:6px}.topbar #logoutTop{padding:8px 9px}.content{padding:12px}.participant-filterbar{grid-template-columns:1fr 1fr!important;gap:6px}.participant-filterbar input{grid-column:1/-1!important}.participant-filterbar select,.participant-filterbar .mini-btn{min-width:0;width:100%;font-size:10px;padding:8px}.participant-bulkbar{flex-direction:row;align-items:center;flex-wrap:wrap}.participant-bulkbar select{order:4;flex:1;min-width:160px}.execution-actions button{min-height:34px!important;padding-block:8px!important}}

/* v4.7.0 · cabecera móvil despejada */
@media(max-width:650px){.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:8px 10px!important;gap:8px}.mobile-back-button{display:flex;align-items:center;gap:3px;min-height:42px;padding:7px 8px;border:0;background:transparent;color:var(--brand-text);font-size:11px;font-weight:800}.mobile-back-button span{font-size:24px;line-height:.7}.topbar-page-title{min-width:0}.topbar-page-title h1{font-size:15px;text-align:center}.topbar-right{min-width:42px}.topbar #logoutTop{display:none}.mobile-menu-toggle{position:relative;z-index:40}.topbar-page-actions{position:fixed!important;top:auto!important;left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 24px)!important;z-index:20!important;overflow-x:auto!important;background:var(--brand-surface)!important;padding:6px!important;border:1px solid var(--brand-border);border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.2)}.topbar-page-actions:empty{display:none!important}.mobile-menu-open .topbar-page-actions{visibility:hidden;pointer-events:none}.content{padding-bottom:76px}}

/* v4.7.4 · tipos de participante y gafetes por tipo */
.event-identity-settings{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:12px;margin:16px 0}.event-identity-settings label{display:grid;gap:6px;font-weight:750}.event-identity-settings small{font-size:10px;color:var(--brand-muted);font-weight:500}.participant-type-settings{display:grid;gap:11px}.participant-type-settings>p{margin:0;color:var(--brand-muted);font-size:12px}.participant-type-settings>#participantTypeRows{display:grid;gap:7px}.participant-type-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--brand-border);border-radius:10px;background:color-mix(in srgb,var(--brand-surface) 93%,var(--brand-background))}.participant-type-row input{min-height:38px}.participant-type-badge{white-space:nowrap}.badge-participant-type-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.45fr) auto;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px solid color-mix(in srgb,var(--brand-accent) 34%,var(--brand-border));border-radius:12px;background:color-mix(in srgb,var(--brand-accent) 6%,var(--brand-surface))}.badge-participant-type-editor>div{display:grid;gap:3px}.badge-participant-type-editor>div strong{font-size:18px}.badge-participant-type-editor>div small{color:var(--brand-muted);font-size:10px}.badge-participant-type-editor label{display:grid;gap:6px;font-size:11px;font-weight:800}.badge-designer-embedded{display:block;border:0!important;padding:0!important;margin:18px 0 0;background:transparent!important}.badge-designer-embedded .badge-designer-preview-picker{margin-top:0}.participant-page-branding-settings>.badge-designer-embedded .badge-sticky-save{margin-bottom:0}.participant-page-branding-settings[open]{overflow:visible}
@media(max-width:700px){.event-identity-settings{grid-template-columns:1fr}.participant-type-row{grid-template-columns:minmax(0,1fr) auto}.participant-type-row .badge{grid-row:2}.participant-type-row button{grid-row:2}.badge-participant-type-editor{grid-template-columns:1fr}.badge-participant-type-editor .mini-btn{justify-self:start}}

/* v4.15.5 · Live View de estatus de Seating */
.live-seating-picker{display:flex;gap:8px 16px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid var(--brand-border);border-radius:11px}.live-seating-picker legend{padding:0 7px;font-weight:850}.live-seating-picker legend small{font-weight:500;color:var(--brand-muted)}.live-seating-picker label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:750}
.public-seating-live{min-height:100vh;background:#e9eaec;color:#151922;padding:22px 28px 12px;display:grid;grid-template-rows:auto 1fr auto;gap:18px;font-family:Inter,Arial,sans-serif}.public-seating-live-header{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,2fr) minmax(240px,1fr);align-items:center}.public-seating-live-header>div{display:flex;gap:13px;align-items:center}.public-seating-live-header img{width:86px;height:54px;object-fit:contain}.seating-live-logo{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--brand-accent);color:#fff;font-weight:950}.public-seating-live-header p{display:grid;margin:0}.public-seating-live-header p strong{font-size:17px}.public-seating-live-header p small{font-size:11px;color:#677081}.public-seating-live-header h1{margin:0;text-align:center;font-size:clamp(24px,2.5vw,46px)}.public-seating-live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0}.seating-live-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:13px;min-width:0;padding:22px;border-radius:20px;background:#fff;box-shadow:0 5px 22px rgba(15,23,42,.07)}.seating-live-panel>header h2{margin:0 0 11px;text-align:center;font-size:clamp(18px,1.6vw,30px)}.seating-live-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center}.seating-live-progress i{height:14px;border-radius:999px;background:#22262d;overflow:hidden}.seating-live-progress i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e600a9,#b51281)}.seating-live-progress strong{font-size:18px}.seating-live-progress small{grid-column:1/-1;text-align:center;color:#667085}.seating-live-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}.seating-live-units section{min-width:0;padding:9px;border-right:1px solid #dfe3e8}.seating-live-units section:last-child{border-right:0}.seating-live-units h3{margin:0;text-align:center;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seating-live-units b{display:block;margin:5px 0;text-align:center;font-size:11px;color:#b51281}.seating-live-units span{display:block;padding:6px 4px;border-radius:5px;background:#f0f1f3;text-align:center;font-size:9px;font-weight:800}.seating-live-units ol{margin:7px 0 0;padding-left:20px}.seating-live-units li{padding:3px 0;font-size:9px;border-bottom:1px solid #eceff2}.seating-live-units li.empty{list-style:none;color:#8a93a2}.seating-live-unassigned{min-height:0;padding:12px;border-radius:10px;background:#edf0f2;overflow:auto}.seating-live-unassigned>div{display:flex;justify-content:space-between;align-items:center}.seating-live-unassigned h3{margin:0;font-size:12px}.seating-live-unassigned b{color:#b51281}.seating-live-unassigned ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 18px;margin:8px 0 0;padding-left:20px}.seating-live-unassigned li{font-size:9px}.seating-live-unassigned li.complete{grid-column:1/-1;color:#15803d;font-weight:800}.public-seating-live>footer{display:flex;justify-content:space-between;color:#6b7280;font-size:9px}
@media(max-width:900px){.public-seating-live{padding:15px}.public-seating-live-header{grid-template-columns:1fr}.public-seating-live-header>span{display:none}.public-seating-live-header h1{grid-row:1;text-align:left;margin-bottom:10px}.public-seating-live-grid{grid-template-columns:1fr}.seating-live-unassigned ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.15.5 · selección completa de Seating y catálogo de Live Views */
@media(min-width:1050px){.seating-workspace{grid-template-columns:minmax(270px,295px) minmax(0,1fr)!important}.seating-pool{min-width:0!important}}
@media(max-width:1049px) and (min-width:751px){.seating-workspace{grid-template-columns:270px minmax(0,1fr)!important}.seating-pool{min-width:0!important}}
.seating-bulk-move{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:10px 12px;position:sticky;top:72px;z-index:5;border-color:color-mix(in srgb,var(--brand-accent) 35%,var(--brand-border));box-shadow:0 7px 20px rgba(15,23,42,.08)}
.seating-bulk-move>div{display:grid;gap:2px;margin-right:auto}.seating-bulk-move>div strong{font-size:13px}.seating-bulk-move select{min-width:220px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}
.unit-select-all{display:inline-grid;place-items:center;vertical-align:middle;margin-right:4px}.unit-select-all input{width:16px;height:16px;accent-color:var(--brand-accent);cursor:pointer}
.assigned-seat-select{flex:0 0 22px}.compact-chip.selected{border-color:#60a5fa!important;background:#eff6ff!important;box-shadow:inset 3px 0 0 #2563eb}.compact-chip{display:flex!important}.compact-chip-copy{flex:1}.compact-chip .chip-actions{flex:0 0 auto}
@media(max-width:720px){.seating-bulk-move{position:static;align-items:stretch;flex-wrap:wrap}.seating-bulk-move>div{width:100%}.seating-bulk-move select{min-width:0;flex:1}.compact-chip{flex-wrap:wrap!important}.compact-chip .chip-actions{width:100%;margin-left:27px}}

.live-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.live-category-card{appearance:none;width:100%;min-height:185px;text-align:left;color:inherit;font:inherit;border:1px solid var(--brand-border);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;cursor:pointer;transition:.18s ease}.live-category-card:not(.future):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-accent) 45%,var(--brand-border));box-shadow:0 12px 28px rgba(15,23,42,.09)}.live-category-card.future{grid-column:1/-1;min-height:110px;cursor:default;opacity:.7}.live-category-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#eef2ff;color:#4338ca;font-size:26px;font-weight:900}.seating-category .live-category-icon{background:#fce7f3;color:#be185d}.live-category-card h2{margin:4px 0;font-size:21px}.live-category-card p{margin:0 0 10px;color:var(--brand-muted);font-size:12px;line-height:1.5}.live-category-card strong{font-size:11px;color:var(--brand-accent)}.live-category-arrow{font-size:28px;color:var(--brand-muted)}
.live-theme-box{display:grid;gap:10px;margin:12px 0;padding:13px;border:1px solid var(--brand-border);border-radius:12px;background:#f8fafc}.seating-theme-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.seating-theme-fields label{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:11px;font-weight:800}.seating-theme-fields input[type=color]{width:48px;height:34px;padding:2px;border:1px solid var(--brand-border);border-radius:8px;background:#fff}
.seating-theme-preview{min-height:250px;padding:24px;border-radius:17px;background:var(--seating-live-bg,#e9eaec) center/cover;color:var(--seating-live-text,#151922);display:grid;place-items:center}.seating-theme-preview article{width:min(580px,90%);padding:22px;border-radius:18px;background:var(--seating-live-panel,#fff);box-shadow:0 8px 24px rgba(15,23,42,.1);display:grid;gap:12px}.seating-theme-preview article>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--seating-live-accent,#d900a9)}.seating-theme-preview article>strong{font-size:25px}.seating-theme-preview article>div{height:11px;border-radius:99px;background:#dfe3e8;overflow:hidden}.seating-theme-preview article>div:before{content:"";display:block;width:72%;height:100%;background:var(--seating-live-accent,#d900a9)}.seating-theme-preview article small{font-size:13px;font-weight:750}
@media(max-width:760px){.live-category-grid{grid-template-columns:1fr}.live-category-card.future{grid-column:auto}.seating-theme-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.public-seating-live{background-color:var(--seating-live-bg,#e9eaec);background-position:center;background-size:cover;color:var(--seating-live-text,#151922)}
.public-seating-live-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.public-seating-live-grid.sites-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seating-live-panel{background:var(--seating-live-panel,#fff)}.seating-live-logo,.seating-live-progress i span{background:var(--seating-live-accent,#d900a9)}.seating-live-units b,.seating-live-unassigned b{color:var(--seating-live-accent,#d900a9)}
.seating-live-units li,.seating-live-unassigned li{font-size:12px;line-height:1.25}.seating-live-units span{font-size:11px}.seating-live-units h3{font-size:14px}.seating-live-unassigned h3{font-size:14px}
@media(max-width:1200px){.public-seating-live-grid.sites-3{grid-template-columns:1fr}.public-seating-live-grid.sites-3 .seating-live-panel{min-height:520px}}
@media(max-width:900px){.public-seating-live-grid,.public-seating-live-grid.sites-3{grid-template-columns:1fr}.seating-live-units li,.seating-live-unassigned li{font-size:13px}}

/* v4.15.5 · barra única de búsqueda y acciones de Seating */
.seating-command-bar{padding:11px 13px}.seating-command-main{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(210px,.75fr) minmax(480px,1.7fr);gap:12px;align-items:center}.seating-command-copy{display:grid;gap:2px}.seating-command-copy strong{font-size:13px}.seating-command-copy small{font-size:10px;color:var(--brand-muted)}.seating-command-main>input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.seating-command-actions{display:grid;grid-template-columns:auto auto minmax(165px,1fr) auto auto;gap:7px;align-items:center}.seating-command-actions .bulk-select-all{white-space:nowrap;font-size:10px}.seating-command-actions>strong{white-space:nowrap;font-size:10px;color:var(--brand-muted)}.seating-command-actions select{min-width:0;width:100%;padding:8px 9px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;font-size:10px}.seating-command-bar.has-selection{border-color:color-mix(in srgb,var(--brand-accent) 35%,var(--brand-border));box-shadow:0 6px 18px rgba(15,23,42,.07)}.seating-command-bar .assigned-results{border-top:1px solid var(--brand-border);padding-top:9px}
.seating-pool>.panel-title{margin-bottom:8px}.seating-pool>.pool-list{border-top:1px solid var(--brand-border);padding-top:7px}
@media(max-width:1250px){.seating-command-main{grid-template-columns:minmax(190px,.7fr) minmax(240px,1.3fr)}.seating-command-actions{grid-column:1/-1}}
@media(max-width:760px){.seating-command-main{grid-template-columns:1fr}.seating-command-actions{grid-column:auto;grid-template-columns:1fr auto}.seating-command-actions select{grid-column:1/-1}.seating-command-actions .btn{grid-column:1}.seating-command-actions .mini-btn{grid-column:2}.seating-command-copy small{display:none}}

/* v4.15.5 · grupos visuales en Seating y cabeceros completos */
.participant-public-themed .badge-public-hero.fit-contain .public-hero-background{object-fit:contain!important;object-position:center!important;transform:none!important}
.badge-seating-card.has-unit-image{text-align:center;align-items:center;padding:14px 16px!important}.badge-seating-card.has-unit-image>span,.badge-seating-card.has-unit-image>small{align-self:stretch;text-align:left}.badge-seating-unit-image{display:block;width:min(250px,82%);height:170px;margin:8px auto;object-fit:contain}.badge-seating-unit-text{display:block;margin:2px 0 5px;font-size:15px;text-align:center}.badge-preview-mini .badge-seating-unit-image{width:min(110px,78%);height:72px;margin:4px auto}.badge-preview-mini .badge-seating-unit-text{font-size:7px;margin:1px 0 3px}
.compact-table-card.has-visual-unit>header>div{min-width:0}.seating-unit-thumb{width:30px;height:30px;object-fit:contain;border:1px solid var(--brand-border);border-radius:7px;background:#fff;padding:2px;flex:none}.seating-unit-badge-text{display:block;margin:-2px 10px 8px;color:var(--brand-muted);font-size:8px}
.seating-unit-editor-backdrop{align-items:center;justify-items:center;padding:16px}.seating-unit-editor{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto}.seating-unit-visual-editor{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;margin-top:14px;padding:14px;border:1px solid var(--brand-border);border-radius:13px;background:color-mix(in srgb,var(--brand-bg) 52%,var(--brand-surface))}.seating-unit-image-preview{min-height:190px;border:1px dashed var(--brand-border);border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.seating-unit-image-preview>div{display:grid;gap:4px;text-align:center;color:var(--brand-muted)}.seating-unit-image-preview>div strong{font-size:11px}.seating-unit-image-preview>div span{font-size:8px}.seating-unit-image-preview img{width:100%;height:190px;object-fit:contain;padding:10px}.seating-unit-image-fields{display:grid;align-content:start;gap:9px}.seating-unit-image-fields>label:not(.brand-upload-btn){display:grid;gap:5px;font-size:9px;font-weight:750}.seating-unit-image-fields>small{font-size:8px;line-height:1.45;color:var(--brand-muted)}
@media(max-width:650px){.badge-seating-unit-image{width:min(220px,86%);height:150px}.seating-unit-editor-backdrop{padding:8px}.seating-unit-editor{width:100%;max-height:calc(100dvh - 16px)}.seating-unit-visual-editor{grid-template-columns:1fr}.seating-unit-image-preview,.seating-unit-image-preview img{min-height:150px;height:150px}}

/* v4.15.5 · Agenda maestra por bloques y Cue de consola */
.agenda-toolbar-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid #d1d5db;border-radius:10px;background:#f6ff00;color:#111827;font-size:11px;font-weight:900}.agenda-tabs{width:max-content;max-width:100%;margin:0 0 12px;padding:4px}.agenda-tabs button{min-width:110px;padding:7px 14px}.agenda-master,.cue-master{display:grid;gap:9px;min-width:0}.agenda-view-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 3px}.agenda-view-caption>div{display:grid;gap:2px}.agenda-view-caption strong{font-size:14px}.agenda-view-caption small,.agenda-view-caption>span{color:var(--brand-muted);font-size:9px}.agenda-custom-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);font-size:10px}.agenda-custom-filter label{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#f1f5f9;font-weight:800}.agenda-custom-filter label.transition{background:#dcfce7;color:#166534}.agenda-custom-filter label.logistics{background:#f3e8ff;color:#6b21a8}
.agenda-editor-tools{display:flex!important;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.agenda-column-chip{border:1px solid #dbe3ee;border-radius:999px;background:#f8fafc;color:#475569;padding:5px 8px;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.agenda-column-chip:hover{border-color:#fca5a5;color:#b91c1c}
.agenda-block{overflow:visible;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-surface)}.agenda-block-head{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:5px 9px;border-radius:11px 11px 0 0;background:#20a9d2;color:#07111f}.agenda-block-head>div{display:flex;align-items:center;gap:7px;min-width:0}.agenda-block-head strong{font-size:11px;font-weight:950;letter-spacing:.03em}.agenda-block-head small{font-size:8px;font-weight:700;opacity:.78}.agenda-block.block-color-1 .agenda-block-head{background:#3038a5;color:#fff}.agenda-block.block-color-2 .agenda-block-head{background:#ff5a1f;color:#111827}.agenda-block.block-color-3 .agenda-block-head{background:#ff9e1a;color:#111827}.agenda-block.block-color-4 .agenda-block-head{background:#14b8a6;color:#07111f}.agenda-block-date,.agenda-block-title-input{min-height:25px;border:1px solid rgba(255,255,255,.42);border-radius:6px;background:rgba(255,255,255,.86);padding:4px 7px;color:#111827;font:inherit;font-size:9px;font-weight:850}.agenda-block-date{width:122px}.agenda-block-title-input{width:min(360px,38vw)}.agenda-block-toggle,.agenda-block-add,.agenda-add-menu>summary{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:7px;background:rgba(255,255,255,.22);color:inherit;font-size:19px;font-weight:900;cursor:pointer}.agenda-add-menu{position:relative}.agenda-add-menu>summary{list-style:none}.agenda-add-menu>summary::-webkit-details-marker{display:none}.agenda-add-menu>div{position:absolute;z-index:20;right:0;top:31px;display:grid;width:155px;padding:5px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.18)}.agenda-add-menu button{border:0;border-radius:6px;background:transparent;padding:7px 9px;text-align:left;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.agenda-add-menu button:hover{background:#f1f5f9}
.agenda-block-table-wrap{overflow:auto;border-radius:0 0 11px 11px}.agenda-master-table,.cue-sheet-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;font-size:10px}.agenda-master-table th,.cue-sheet-table th{position:sticky;top:0;z-index:2;background:#111;color:#fff;padding:6px 7px;text-align:left;font-size:8px;white-space:nowrap}.agenda-master-table td,.cue-sheet-table td{padding:3px 4px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;vertical-align:middle;background:#fff}.agenda-master-table th:first-child,.agenda-master-table td:first-child,.cue-sheet-table th:first-child,.cue-sheet-table td:first-child{width:54px;text-align:center}.agenda-master-table th:nth-child(2),.agenda-master-table td:nth-child(2),.cue-sheet-table th:nth-child(2),.cue-sheet-table td:nth-child(2){width:96px}.agenda-master-table th:nth-child(3),.agenda-master-table td:nth-child(3),.cue-sheet-table th:nth-child(3),.cue-sheet-table td:nth-child(3){width:78px}.agenda-master-table th:nth-child(4),.agenda-master-table td:nth-child(4),.cue-sheet-table th:nth-child(4),.cue-sheet-table td:nth-child(4){min-width:270px}.agenda-master-table th:nth-child(5),.agenda-master-table td:nth-child(5){min-width:260px}.agenda-master-table input,.agenda-master-table select,.agenda-master-table textarea,.cue-sheet-table input,.cue-sheet-table textarea{width:100%;min-height:35px;border:1px solid #d1d5db;border-radius:9px;background:#fff;padding:7px 9px;color:#111827;font:inherit;font-size:11px;resize:vertical}.agenda-master-table textarea,.cue-sheet-table textarea{min-width:150px}.agenda-master-table input:focus,.agenda-master-table select:focus,.agenda-master-table textarea:focus,.cue-sheet-table input:focus,.cue-sheet-table textarea:focus{outline:2px solid color-mix(in srgb,var(--brand-accent) 28%,transparent);border-color:var(--brand-accent)}.agenda-view-value{min-height:34px;padding:6px 7px;line-height:1.35}.agenda-view-value.is-title{font-weight:850}.agenda-drag-cell{white-space:nowrap}.agenda-drag-handle{border:0;background:transparent;color:#64748b;font-size:17px;cursor:grab}.agenda-master-table tr.is-dragging{opacity:.45}.agenda-master-table tr.is-drag-target td{border-top:3px solid var(--brand-accent)}.agenda-kind-pill{display:inline-flex;min-width:82px;justify-content:center;padding:7px 9px;border-radius:9px;background:#25282d;color:#fff;font-weight:850}.agenda-kind-pill.transition{background:#32b94b}.agenda-kind-pill.logistics{background:#762bad}.agenda-row-delete{width:29px;height:29px;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b91c1c;font-size:17px;cursor:pointer}
.cue-sheet-table{min-width:1250px}.cue-sheet-table td:nth-child(n+5):not(:last-child){min-width:170px}.cue-sheet-table tr.cue-status-completed td{background:#ecfdf5;color:#166534}.cue-ready-toggle{min-width:88px;padding:8px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.cue-ready-toggle.is-complete{border-color:#86efac;background:#dcfce7;color:#166534}.cue-columns-modal{width:min(700px,calc(100vw - 28px))}.cue-column-editor{display:grid;gap:7px;margin:15px 0}.cue-column-editor>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--brand-border);border-radius:9px;background:#f8fafc}.cue-column-editor input[type=checkbox]{width:18px;height:18px}.cue-column-editor input[data-cue-column-label]{min-height:38px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:8px;background:#fff}
@media(max-width:760px){.agenda-view-caption{align-items:flex-start;flex-direction:column;gap:5px}.agenda-block-title-input{width:min(210px,52vw)}.agenda-block-date{width:110px}.agenda-block-head{align-items:flex-start}.agenda-block-head>div:first-child{flex-wrap:wrap}.agenda-master-table,.cue-sheet-table{min-width:1050px}.agenda-tabs{width:100%}.agenda-tabs button{min-width:100px;flex:1}.cue-column-editor>div{grid-template-columns:auto minmax(0,1fr)}.cue-column-editor .mini-btn{grid-column:2}.agenda-custom-filter{overflow-x:auto;flex-wrap:nowrap}.agenda-custom-filter label{white-space:nowrap}}

/* v4.15.5 · modos de edición, color de bloques y Cue compacto */
.agenda-block-color{width:31px;height:27px;min-width:31px;padding:2px;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(255,255,255,.88);cursor:pointer}.agenda-block-toggle{font-size:15px;line-height:1}.agenda-type-select{min-width:92px!important;border-color:transparent!important;color:#fff!important;font-weight:900!important;text-align:center;cursor:pointer}.agenda-type-select.base{background:#25282d!important}.agenda-type-select.transition{background:#32b94b!important}.agenda-type-select.logistics{background:#762bad!important}.agenda-master-table tr.timeline-section-base td:first-child{box-shadow:inset 3px 0 #25282d}.agenda-master-table tr.timeline-section-transition td:first-child{box-shadow:inset 3px 0 #32b94b}.agenda-master-table tr.timeline-section-logistics td:first-child{box-shadow:inset 3px 0 #762bad}
.cue-sheet-table{min-width:max(980px,100%)}.cue-sheet-table th:first-child,.cue-sheet-table td:first-child{position:sticky;left:0;z-index:3;width:38px;min-width:38px;text-align:center}.cue-sheet-table th:nth-child(2),.cue-sheet-table td:nth-child(2){position:sticky;left:38px;z-index:3;width:90px;min-width:90px}.cue-sheet-table th:nth-child(3),.cue-sheet-table td:nth-child(3){width:68px;min-width:68px}.cue-sheet-table th:nth-child(4),.cue-sheet-table td:nth-child(4){min-width:220px}.cue-sheet-table th:first-child,.cue-sheet-table th:nth-child(2){z-index:5;background:#111}.cue-sheet-table td:first-child,.cue-sheet-table td:nth-child(2){background:#fff}.cue-sheet-table tr.cue-status-completed td:first-child,.cue-sheet-table tr.cue-status-completed td:nth-child(2){background:#ecfdf5}.cue-sheet-table .cue-status-column,.cue-sheet-table td.cue-status-cell{width:62px!important;min-width:62px!important;text-align:center}.cue-ready-toggle{min-width:52px;padding:7px 5px}.cue-ready-toggle:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.agenda-block-color{width:29px;height:25px;min-width:29px}.cue-sheet-table{min-width:980px}}

/* v4.15.5 · Dashboard de oficina cliente y consola técnica */
.office-category .live-category-icon{background:#e0f2fe;color:#0369a1}.technical-category .live-category-icon{background:#111827;color:#f8fafc}.live-purpose-note{display:grid;gap:5px;margin:14px 0;padding:15px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.live-purpose-note strong{font-size:13px}.live-purpose-note span{font-size:11px;line-height:1.5;color:var(--brand-muted)}.technical-live-preview{min-height:250px;margin-top:12px;padding:24px;border-radius:16px;background:#050505;color:#fff;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.technical-live-preview>strong{font-size:32px;color:#ff2424}.technical-live-preview>span{padding:16px;border:2px solid #fff;border-radius:12px;font-weight:850}.technical-live-preview>small{color:#94a3b8}.office-editor-preview{background-color:#eef0f2!important}.office-editor-preview .live-editor-widget{color:#111827;border-color:#cbd5e1}.live-editor-grid{grid-auto-rows:minmax(105px,auto)}

.public-office-live,.public-tech-console{min-height:100vh;padding:18px 26px 10px;background-position:center;background-size:cover;font-family:Inter,Arial,sans-serif;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;overflow:hidden}.public-office-live{background-color:#f8fafc;color:#0f172a}.public-office-live>header,.public-tech-console>header{display:grid;grid-template-columns:86px max-content max-content minmax(260px,1fr);gap:12px;align-items:stretch}.live-screen-logo{width:86px;height:76px;padding:8px;border:1px solid currentColor;border-radius:12px;object-fit:contain;background:rgba(255,255,255,.06)}.live-screen-logo.fallback{display:grid;place-items:center;font-weight:950}.public-office-live>header>time,.public-office-live>header>h1,.public-tech-console>header>time,.public-tech-console>header>h1{min-height:76px;margin:0;padding:5px 16px;border:1px solid currentColor;border-radius:12px;display:grid;place-items:center;font-size:clamp(28px,3.8vw,66px);font-weight:450;line-height:1;white-space:nowrap}.public-office-live>header>h1,.public-tech-console>header>h1{text-align:center;text-transform:uppercase;font-size:clamp(25px,3.1vw,54px)}.public-live-date{font-variant-numeric:tabular-nums}.public-office-live>footer,.public-tech-console>footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;opacity:.62}

.office-live-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;gap:10px;overflow:hidden}.office-live-slot{min-width:0;min-height:0;overflow:hidden}.office-widget{height:100%;min-height:0;padding:13px 16px;border-radius:14px;background:var(--office-widget-bg,#fff);box-shadow:0 3px 14px rgba(15,23,42,.06);overflow:hidden}.office-widget h2{margin:0 0 10px;text-align:center;text-transform:uppercase;font-size:clamp(13px,1.15vw,23px)}.office-widget h3{margin:8px 0;text-align:center;text-transform:uppercase;font-size:clamp(9px,.78vw,14px)}.office-number{display:grid;place-items:center;align-content:center}.office-number h2{margin:0}.office-number>strong{font-size:clamp(56px,7vw,112px);font-weight:450;line-height:1}.office-agenda{display:grid;grid-template-rows:auto minmax(0,1fr)}.office-agenda-list{min-height:0;display:grid;gap:4px;align-content:start;overflow:hidden}.office-agenda-row{min-height:31px;display:grid;grid-template-columns:25px 80px minmax(0,1fr);gap:7px;align-items:center}.office-agenda-row i{font-style:normal;font-size:20px;text-align:center}.office-agenda-row time,.office-agenda-row strong{height:100%;min-width:0;padding:5px 8px;border:1px solid #334155;border-radius:7px;display:flex;align-items:center}.office-agenda-row time{justify-content:center;font-weight:700;font-variant-numeric:tabular-nums}.office-agenda-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-agenda-row.completed time,.office-agenda-row.completed strong{background:#8ce397;border-color:#16a34a}.office-agenda-row.completed i{color:#16a34a}.office-agenda-row.current i{color:#dc2626}.office-agenda-row.current{position:relative}.office-agenda-row.current:before{content:"";position:absolute;left:-20px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid #dc2626}

.office-progress{display:grid;align-content:start}.office-progress>div,.office-seating>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;margin:6px 0}.office-progress header{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;text-transform:uppercase}.office-progress header span,.office-seating>div>span{font-size:12px}.office-progress header b,.office-seating small{font-size:10px}.office-progress i,.office-seating i{grid-column:1;position:relative;height:19px;border-radius:999px;background:#111;overflow:hidden}.office-progress i>span,.office-seating i>span{display:block;height:100%;border-radius:inherit}.office-progress i em,.office-seating i em{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal;font-size:10px;font-weight:900}.office-seating>div{grid-template-columns:minmax(0,1fr) auto}.office-seating>div>span{grid-column:1/-1}.office-seating small{align-self:center}.office-hotel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.office-hotel-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.office-hotel-totals>div{display:grid;text-align:center}.office-hotel-totals span{text-transform:uppercase;font-size:11px}.office-hotel-totals strong{font-size:clamp(37px,4vw,72px);font-weight:450;line-height:1.05}.office-night-chart{min-height:0;display:flex;align-items:end;justify-content:center;gap:7px}.office-night-chart>div{height:100%;min-width:28px;display:grid;grid-template-rows:auto minmax(35px,1fr) auto;gap:2px;text-align:center}.office-night-chart small,.office-night-chart b{font-size:8px}.office-night-chart i{position:relative;display:block}.office-night-chart i span{position:absolute;left:12%;right:12%;bottom:0;background:#111}.office-transfers{display:grid;grid-template-rows:auto minmax(0,1fr)}.office-transfer-table{min-height:0;display:grid;align-content:start;overflow:hidden}.office-transfer-table>header,.office-transfer-table>div{display:grid;grid-template-columns:minmax(90px,1.2fr) 45px minmax(90px,1fr) 70px;gap:5px;align-items:center}.office-transfer-table>header{padding:4px 7px;font-size:10px}.office-transfer-table>div>*{min-width:0;padding:5px 7px;border:1px solid #64748b;border-radius:7px;text-align:center;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-transfer-table .status-departed{background:#fef3c7}.office-transfer-table .status-arrived,.office-transfer-table .status-finalized{background:#dcfce7}.live-empty{margin:auto;color:#64748b;text-align:center;font-size:11px}

.public-tech-console{background-color:#000;color:#fff;padding-bottom:12px}.public-tech-console>header>time,.public-tech-console>header>h1{background:#4a4a4a}.public-tech-console .live-screen-logo{background:#4a4a4a}.tech-cue-scroll{min-height:0;overflow:auto}.tech-cue-head,.tech-cue-row{display:grid;gap:5px;align-items:stretch;min-width:1450px}.tech-cue-head{position:sticky;top:0;z-index:4;padding:4px 5px 10px;background:#000}.tech-cue-head span{text-align:center;font-size:clamp(12px,1.15vw,22px);font-weight:900}.tech-current-cue{margin-bottom:15px;padding:12px 8px 14px;border:3px solid #fff;border-radius:14px;background:#303030}.tech-current-cue>h2{margin:0 0 10px;text-align:center;color:#ff2020;text-transform:uppercase;font-size:clamp(25px,2.3vw,45px)}.tech-cue-row{padding:2px 5px;margin-bottom:4px}.tech-cue-row>b,.tech-cue-row>time,.tech-cue-row>span,.tech-cue-row>strong,.tech-cue-cell{min-height:54px;padding:10px;border:2px solid #fff;border-radius:10px;display:flex;align-items:center;font-size:clamp(11px,1vw,19px);font-weight:750}.tech-cue-row>b{justify-content:center;border-color:transparent}.tech-cue-row>time,.tech-cue-row>span{justify-content:center;white-space:nowrap}.tech-current-cue .tech-cue-row>*{min-height:95px}.tech-cue-cell.track-video{border-color:#f4f400}.tech-cue-cell.track-content{border-color:#ff00e6}.tech-cue-cell.track-audio{border-color:#00f13b}.tech-cue-cell.track-lights{border-color:#ff1c1c}.tech-cue-cell.track-support{border-color:#fff}.tech-next-cues{display:grid}.tech-finished{height:100%;display:grid;place-items:center;align-content:center;text-align:center}.tech-finished>strong{font-size:80px;color:#22c55e}.tech-finished h2{margin:5px 0;font-size:35px}.tech-finished p{color:#94a3b8}

@media(max-width:1100px){.public-office-live,.public-tech-console{overflow:auto}.public-office-live>header,.public-tech-console>header{grid-template-columns:70px 1fr 1fr}.live-screen-logo{width:70px;height:62px}.public-office-live>header>time,.public-tech-console>header>time{min-height:62px;font-size:28px}.public-office-live>header>h1,.public-tech-console>header>h1{grid-column:1/-1;min-height:55px;font-size:26px}.office-live-grid{height:auto;min-height:900px}.office-live-slot{grid-column:span 6!important}.tech-cue-scroll{overflow:auto}}
@media(max-width:650px){.public-office-live,.public-tech-console{padding:10px}.public-office-live>header,.public-tech-console>header{grid-template-columns:58px 1fr}.live-screen-logo{width:58px;height:54px}.public-office-live>header>time,.public-tech-console>header>time{min-height:54px;font-size:22px;padding:4px 8px}.public-live-date{grid-column:1/-1}.public-office-live>header>h1,.public-tech-console>header>h1{font-size:21px}.office-live-grid{display:block;overflow:visible;min-height:0}.office-live-slot{margin-bottom:9px;min-height:180px}.office-live-slot:has(.office-agenda),.office-live-slot:has(.office-transfers){min-height:430px}.office-agenda-row{grid-template-columns:22px 65px minmax(0,1fr)}.office-widget{padding:12px}.public-office-live>footer,.public-tech-console>footer{display:grid}.tech-cue-head,.tech-cue-row{min-width:1250px}}

/* v4.15.5 · Agenda ordering and configurable Live Views */
.agenda-block-drag-handle{width:30px;height:30px;border:1px solid currentColor;border-radius:8px;background:rgba(255,255,255,.2);color:inherit;font-weight:900;cursor:grab}.agenda-block-drag-handle:active,.agenda-drag-handle:active{cursor:grabbing}.agenda-block.is-drag-target{outline:4px solid #f59e0b;outline-offset:3px}.agenda-block.is-dragging{opacity:.55}.agenda-block-head>div:first-child{align-items:center}.cue-sheet-table tr.is-drag-target,.agenda-master-table tr.is-drag-target{outline:3px solid #2563eb;outline-offset:-3px}.cue-column-editor>div{grid-template-columns:auto minmax(0,1fr) 48px auto}.cue-column-editor input[type=color]{width:44px;height:38px;padding:3px;border:1px solid var(--brand-border);border-radius:8px;background:#fff}

.public-live-share{min-width:116px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;align-items:center;justify-self:end;padding:6px;border:1px solid rgba(100,116,139,.35);border-radius:12px;background:rgba(255,255,255,.92);color:#0f172a}.public-live-share>div{width:76px;height:76px;padding:4px;background:#fff;overflow:hidden}.public-live-share img,.public-live-share canvas{width:68px!important;height:68px!important}.public-live-share canvas{display:block}.public-live-share small{max-width:105px;font-size:9px;font-weight:800;line-height:1.25}.public-live-shell>.public-live-share{position:fixed;z-index:10;top:18px;right:18px;box-shadow:0 5px 20px rgba(0,0,0,.2)}

.public-live-participants{align-content:center}.public-live-participants-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:7px}.public-live-participants-breakdown small{padding:6px;border-radius:8px;background:rgba(148,163,184,.14);text-align:center;text-transform:uppercase}.public-live-participants-breakdown b{margin-right:3px;font-size:1.25em}.public-live-countries{overflow:hidden}.public-live-country-list{min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:5px 12px;overflow:auto}.public-live-country-list>div{display:grid;grid-template-columns:minmax(70px,1fr) minmax(45px,1.2fr) 30px;gap:7px;align-items:center}.public-live-country-list strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.public-live-country-list i{height:8px;border-radius:999px;background:rgba(148,163,184,.25);overflow:hidden}.public-live-country-list i span{display:block;height:100%;border-radius:inherit;background:var(--brand-accent,#2563eb)}.public-live-country-list b{text-align:right;font-size:12px}

.public-office-live{background-image:radial-gradient(circle at 12% 0,rgba(14,165,233,.13),transparent 28%),radial-gradient(circle at 88% 8%,rgba(217,0,169,.10),transparent 24%);background-attachment:fixed}.public-office-live>header{grid-template-columns:86px max-content max-content minmax(260px,1fr) minmax(116px,190px)}.public-office-live>header>h1{border:0;background:linear-gradient(135deg,#0f172a,#334155);color:#fff;box-shadow:0 8px 20px rgba(15,23,42,.16)}.office-widget{border:1px solid rgba(148,163,184,.35);box-shadow:0 8px 24px rgba(15,23,42,.09)}.office-widget h2{padding-bottom:7px;border-bottom:2px solid rgba(217,0,169,.22)}.office-agenda-row.current time,.office-agenda-row.current strong{border:2px solid #dc2626;animation:office-current-pulse 1.35s ease-in-out infinite}.office-agenda-row.current strong{background:#fff7f7}@keyframes office-current-pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.08)}50%{box-shadow:0 0 0 5px rgba(220,38,38,.23)}}.office-night-chart{width:100%;justify-content:stretch}.office-night-chart>div{flex:1 1 0;min-width:0}.office-night-chart i span{left:8%;right:8%;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#d900a9,#7c3aed)}
.office-participants>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.office-participants>div span{padding:5px;border-radius:8px;background:#f1f5f9;text-align:center;text-transform:uppercase;font-size:10px}.office-participants>div b{margin-right:3px;font-size:14px}.office-countries{display:grid;grid-template-rows:auto minmax(0,1fr)}.office-country-list{min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:5px 12px;align-content:start;overflow:auto}.office-country-list>div{display:grid;grid-template-columns:minmax(65px,1fr) minmax(40px,1fr) 28px;gap:6px;align-items:center}.office-country-list strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.office-country-list i{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.office-country-list i span{display:block;height:100%;border-radius:inherit}.office-country-list b{text-align:right;font-size:11px}

.public-tech-console>header{grid-template-columns:86px max-content max-content minmax(260px,1fr) minmax(116px,190px)}.tech-cue-head span[style*="--cue-column-color"]{color:var(--cue-column-color)!important;text-shadow:0 0 12px color-mix(in srgb,var(--cue-column-color) 45%,transparent)}.tech-cue-cell[style*="--cue-column-color"]{border-color:var(--cue-column-color)!important}.public-tech-console .public-live-share{background:#151515;color:#fff;border-color:#64748b}.public-tech-console .public-live-share>div{background:#fff}

.seating-live-panel{grid-template-rows:auto minmax(0,1fr)}.seating-status-widget-grid{min-height:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(70px,auto);gap:10px;overflow:auto}.seating-status-widget{min-width:0;min-height:0;padding:12px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:var(--seating-widget-bg,#fff);overflow:auto}.seating-status-widget>h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 9px;font-size:14px}.seating-status-widget>h3 b{color:var(--seating-live-accent)}.seating-widget-progress{align-content:center}.seating-widget-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.seating-widget-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:7px;background:rgba(148,163,184,.13);font-size:12px}.seating-widget-list small{color:#64748b}.seating-widget-columns{columns:3;column-gap:24px;margin:0;padding-left:18px}.seating-widget-columns li{break-inside:avoid;padding:3px;font-size:12px}.seating-group-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.seating-group-people article{padding:8px;border:1px solid rgba(148,163,184,.4);border-radius:9px}.seating-group-people article header{display:flex;justify-content:space-between;gap:7px}.seating-group-people article header b{color:var(--seating-live-accent)}.seating-group-people ul{margin:7px 0 0;padding-left:18px}.seating-group-people li{padding:2px 0;font-size:12px}.public-seating-live-header{grid-template-columns:minmax(240px,1fr) minmax(280px,2fr) minmax(116px,190px)}
@media(max-width:1100px){.public-office-live>header,.public-tech-console>header{grid-template-columns:70px 1fr 1fr}.public-office-live>header .public-live-share,.public-tech-console>header .public-live-share{grid-column:3;grid-row:1/3}.public-seating-live-header{grid-template-columns:1fr auto}.public-seating-live-header h1{grid-column:1}.public-seating-live-header .public-live-share{grid-column:2;grid-row:1}}
@media(max-width:760px){.cue-column-editor>div{grid-template-columns:auto minmax(0,1fr) 48px}.cue-column-editor .mini-btn{grid-column:2/4}.public-live-share{min-width:76px;grid-template-columns:76px}.public-live-share small{display:none}.seating-status-widget-grid{grid-template-columns:1fr}.seating-status-widget{grid-column:1!important}.seating-widget-columns{columns:2}.public-seating-live-header .public-live-share{position:absolute;right:14px;top:14px}.public-seating-live-header{position:relative;padding-right:90px}}

/* v4.15.5 · ficha de hotel, eliminación segura e importación verificable */
.hotel-editor-backdrop,.rooming-import-backdrop{z-index:1450}.hotel-editor-modal,.rooming-import-modal{width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.hotel-editor-modal h3{margin:18px 0 8px;color:#172554;font-size:14px}.hotel-editor-modal .rooming-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hotel-editor-modal .span2{grid-column:1/-1}.hotel-contact-summary{display:grid;grid-template-columns:1.5fr .7fr 1.4fr;gap:10px;padding:0 16px 16px}.hotel-contact-summary>span{display:grid;gap:3px;min-width:0;padding:10px 12px;border:1px solid var(--brand-border);border-radius:10px;background:#f8fafc;color:var(--brand-muted);font-size:12px}.hotel-contact-summary strong{color:var(--brand-text);font-size:11px;text-transform:uppercase}.mini-btn.danger{border-color:#fecaca;color:#b91c1c;background:#fff}.mini-btn.danger:hover{background:#fef2f2;border-color:#f87171}
.rooming-import-modal{display:block}.rooming-import-modal>input[type=file]{width:100%;margin:18px 0;padding:26px;border:2px dashed #94a3b8;border-radius:14px;background:#f8fafc}.rooming-import-sheet{display:grid;grid-template-columns:170px minmax(220px,1fr);gap:6px 12px;align-items:center;margin:15px 0;padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;font-weight:800}.rooming-import-sheet small{grid-column:2;color:#64748b;font-weight:500}.rooming-import-summary{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px}.rooming-import-summary>span{padding:9px;border:1px solid var(--brand-border);border-radius:10px;background:#f8fafc;text-align:center}.rooming-import-columns{margin:12px 0;border:1px solid var(--brand-border);border-radius:11px;overflow:hidden}.rooming-import-columns>summary{padding:11px 13px;background:#f8fafc;font-weight:800;cursor:pointer}.rooming-import-columns>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--brand-border)}.rooming-import-columns span{display:grid;gap:2px;padding:8px;background:#fff;overflow:hidden}.rooming-import-columns strong,.rooming-import-columns small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rooming-import-columns small{color:#64748b}.rooming-import-preview{max-height:310px}.rooming-import-preview table{min-width:820px}.rooming-column-groups{display:grid;gap:14px;max-height:60vh;overflow:auto}.rooming-column-groups section{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--brand-border)}
@media(max-width:760px){.hotel-editor-modal .rooming-form-grid{grid-template-columns:1fr}.hotel-editor-modal .span2{grid-column:auto}.hotel-contact-summary{grid-template-columns:1fr}.rooming-import-sheet{grid-template-columns:1fr}.rooming-import-sheet small{grid-column:auto}.rooming-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.rooming-import-columns>div{grid-template-columns:1fr}}

/* v4.15.5 · selector de idioma no invasivo */
.epm-language-switcher{position:fixed;right:14px;bottom:14px;z-index:3000;display:flex;gap:2px;padding:3px;border:1px solid rgba(148,163,184,.55);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 6px 22px rgba(15,23,42,.18);backdrop-filter:blur(8px)}
.epm-language-switcher button{width:36px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:#475569;font:800 11px/1 Inter,Arial,sans-serif;cursor:pointer}
.epm-language-switcher button:hover{background:#f1f5f9;color:#0f172a}.epm-language-switcher button.active{background:var(--brand-accent,#2563eb);color:#fff}
@media(max-width:650px){.epm-language-switcher{right:8px;bottom:8px}.epm-language-switcher button{width:32px;height:28px}}

/* v4.15.5 · ejecución de consola, ritmo del evento y Live View 16:9 */
.execution-console{display:grid;gap:12px}.execution-console-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.execution-console-toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:850}.execution-console-toolbar select{padding:8px 10px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.execution-console-toolbar>span{font-size:11px;color:var(--brand-muted);font-weight:800}.execution-delay-card{padding:14px 17px;border:2px solid #cbd5e1;border-radius:14px;background:#f8fafc;display:grid;gap:3px}.execution-delay-card>span{font-size:9px;font-weight:950;letter-spacing:.12em}.execution-delay-card>strong{font-size:25px}.execution-delay-card>small{color:#64748b}.execution-delay-card.on-time{border-color:#22c55e;background:#f0fdf4;color:#166534}.execution-delay-card.late{border-color:#ef4444;background:#fef2f2;color:#b91c1c}.execution-delay-card.early{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.execution-console-current{padding:20px;border:2px solid var(--brand-accent);border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.10)}.execution-console-status{display:flex;justify-content:space-between;align-items:center;gap:12px}.execution-console-status span{font-size:10px;font-weight:950;letter-spacing:.1em;color:var(--brand-accent)}.execution-console-status strong{font-size:28px}.execution-console-current h2{margin:12px 0 5px;font-size:clamp(25px,4vw,42px)}.execution-console-current p{margin:0 0 14px;color:var(--brand-muted)}.execution-console-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}.execution-console-times span{display:grid;gap:3px;padding:9px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:9px}.execution-console-times b{color:#0f172a;font-size:14px}.execution-console-actions{display:flex;gap:8px;justify-content:flex-end}.execution-console-actions .btn{min-height:44px;min-width:125px}.execution-console-next{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.execution-console-next span{font-size:9px;font-weight:950;color:#2563eb}.execution-console-list{display:grid;gap:6px}.execution-console-list>article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--brand-border);border-radius:11px;background:#fff}.execution-console-list>article.current{border-color:var(--brand-accent);background:#fff7fd}.execution-console-list>article.completed{opacity:.62}.execution-console-list time{font-size:17px;font-weight:900}.execution-console-list>article>div:nth-child(2){display:grid;gap:2px}.execution-console-list small{color:#64748b}.execution-console-finished{padding:38px;text-align:center;border:1px solid #86efac;border-radius:16px;background:#f0fdf4}.execution-console-finished>strong{font-size:48px;color:#16a34a}.execution-console-finished h2{margin:4px 0}.public-live-delay-card.on-time{border-color:#22c55e}.public-live-delay-card.late{border-color:#ef4444}.public-live-delay-card.early{border-color:#3b82f6}.public-live-delay-card.unknown{opacity:.72}

@media(min-aspect-ratio:16/9) and (min-width:1100px){.public-live-shell{padding-left:max(42px,3vw);padding-right:max(42px,3vw);padding-top:max(30px,2.4vw);padding-bottom:max(26px,2vw)}}
@media(max-width:700px){.assigned-result{grid-template-columns:26px minmax(0,1fr)}.assigned-move-select{grid-column:2}.execution-console-times{grid-template-columns:1fr}.execution-console-actions{display:grid;grid-template-columns:1fr 1fr}.execution-console-actions .btn{min-width:0}.execution-console-list>article{grid-template-columns:58px minmax(0,1fr)}.execution-console-list .execution-console-actions{grid-column:1/-1}.public-live-shell{height:auto;min-height:100dvh;overflow:auto;padding:18px}.public-live-layout{grid-template-columns:1fr;grid-auto-rows:auto;overflow:visible}.public-live-widget{grid-column:span 1!important;grid-row:span 1!important}.public-live-card{min-height:125px}}

/* v4.14 · controles visuales y legibilidad del Live View operativo */
.public-office-live .live-screen-logo,.public-office-live .live-screen-logo.fallback,.public-office-live>header>time,.public-office-live>header>h1{background:var(--office-header-bg,#fff);color:var(--office-header-text,#0f172a)}
.public-office-live>header>time{font-size:calc(clamp(28px,3.8vw,66px) * var(--office-header-scale,1))}.public-office-live>header>h1{font-size:calc(clamp(25px,3.1vw,54px) * var(--office-header-scale,1))}
.office-widget h2{font-size:calc(clamp(13px,1.15vw,23px) * var(--office-font-scale,1))}.office-widget h3{font-size:calc(clamp(10px,.9vw,16px) * var(--office-font-scale,1))}
.office-night-chart small,.office-night-chart b{font-size:calc(11px * var(--office-font-scale,1));font-weight:750}.office-transfer-table>header{font-size:calc(12px * var(--office-font-scale,1));font-weight:850}.office-transfer-table>div>*{font-size:calc(11px * var(--office-font-scale,1))}
.office-country-list strong{font-size:calc(13px * var(--office-font-scale,1))}.office-country-list b{font-size:calc(13px * var(--office-font-scale,1))}

/* v4.15 · operación avanzada de transfers */
.transfer-search-label{min-width:min(340px,38vw)}.transfer-search-label input{width:100%;padding:9px 11px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text)}
.transfer-summary{flex-wrap:wrap;min-height:48px}.transfer-vehicle-summary{display:flex;gap:6px;flex-wrap:wrap;flex:1}.transfer-vehicle-summary b{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #cbd5e1;color:#334155;font-size:10.5px}
.transfer-missing-summary{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #86efac;border-radius:9px;background:#f0fdf4;color:#166534;font-weight:750}.transfer-missing-summary.has-pending{border-color:#fbbf24;background:#fffbeb;color:#92400e}.transfer-missing-summary .mini-btn{margin-left:3px;background:#fff}
.missing-transfer-modal{width:min(1120px,94vw);max-height:88vh;overflow:auto;padding:18px}.missing-transfer-modal .table-wrap{max-height:58vh}.missing-transfer-modal table{min-width:900px}.missing-flight-fields{color:#b45309;text-transform:capitalize}
.transfer-selection-bar{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:12px;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc;color:#64748b}.transfer-selection-bar.active{border-style:solid;border-color:#93c5fd;background:#eff6ff;color:#1e3a8a;box-shadow:0 7px 20px rgba(37,99,235,.08)}.transfer-selection-bar>span{font-size:11px}.transfer-selection-bar .actions{margin-left:auto}.transfer-move-control{display:flex;align-items:flex-end;gap:6px;min-width:min(430px,42vw)}.transfer-move-control label{display:grid;gap:3px;flex:1;font-size:9px;font-weight:850;text-transform:uppercase}.transfer-move-control select{width:100%;min-height:34px;border:1px solid #93c5fd;border-radius:8px;background:#fff;padding:6px 8px;color:#1e3a8a}.transfer-selection-warning{flex-basis:100%;color:#b45309;font-weight:750}
.transfer-date-list{display:grid;gap:18px}.transfer-date-section{display:grid;gap:9px}.transfer-date-section>header{display:flex;align-items:baseline;gap:10px;padding:2px 4px 7px;border-bottom:2px solid color-mix(in srgb,var(--brand-accent) 26%,var(--brand-border))}.transfer-date-section>header span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--brand-accent)}.transfer-date-section>header h2{margin:0;font-size:19px}.transfer-date-section>header small{margin-left:auto;color:var(--brand-muted)}
.transfer-group-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.transfer-group-card{display:flex;flex-direction:column;gap:8px;border-top:4px solid #cbd5e1;overflow:hidden}.transfer-group-card.is-vip{border-color:#8b5cf6;background:linear-gradient(145deg,color-mix(in srgb,#8b5cf6 6%,var(--brand-surface)),var(--brand-surface) 45%)}.transfer-group-card.is-vip .eyebrow{color:#7c3aed}
.transfer-flight-line{display:flex;gap:9px 16px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px;color:#64748b}.transfer-flight-line span{display:flex;gap:5px;align-items:center}.transfer-flight-line strong{color:#0f172a}
.transfer-assignment-line{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:2px}.transfer-assignment-line>label{display:grid;gap:5px;font-size:10px;font-weight:850;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.transfer-assignment-line select,.transfer-driver-edit input{width:100%;min-width:0;padding:9px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);text-transform:none;letter-spacing:0}.transfer-assignment-line>label>strong{text-transform:none;letter-spacing:0;color:var(--brand-text);font-size:12px}.transfer-driver-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}
.transfer-passenger-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 5px 3px 6px;border:1px solid #dbe4ef;background:#f1f5f9;border-radius:999px;transition:.15s}.transfer-passenger-chip input{margin:0;accent-color:var(--brand-accent)}.transfer-passenger-chip .transfer-passenger-link{border:0;background:transparent;padding:2px 3px}.transfer-passenger-chip.selected{border-color:#60a5fa;background:#dbeafe}.transfer-passenger-chip.manually-moved{border-color:#f59e0b;background:#fef3c7}.transfer-passenger-chip i{font-style:normal;font-size:8px;color:#d97706;margin-right:3px}
.transfer-status-flow{padding-top:10px;border-top:1px solid var(--brand-border)}.transfer-status-flow .status-step{border:1px solid transparent;border-radius:9px;padding:8px 11px;font-size:10.5px;font-weight:900;cursor:pointer;opacity:.7;transition:.15s}.transfer-status-flow .status-step:hover,.transfer-status-flow .status-step.active{opacity:1;transform:translateY(-1px);box-shadow:0 4px 11px rgba(15,23,42,.14)}.transfer-status-flow .status-scheduled{background:#e2e8f0;color:#334155}.transfer-status-flow .status-departed{background:#fef3c7;color:#92400e}.transfer-status-flow .status-arrived{background:#dbeafe;color:#1d4ed8}.transfer-status-flow .status-finalized{background:#dcfce7;color:#166534}.transfer-status-flow .status-scheduled.active{background:#475569;color:#fff}.transfer-status-flow .status-departed.active{background:#f59e0b;color:#fff}.transfer-status-flow .status-arrived.active{background:#2563eb;color:#fff}.transfer-status-flow .status-finalized.active{background:#16a34a;color:#fff}
@media(max-width:900px){.transfer-search-label{min-width:0}.transfer-selection-bar{align-items:flex-start;flex-direction:column}.transfer-selection-bar .actions{margin-left:0}.transfer-move-control{width:100%;min-width:0}.transfer-group-grid{grid-template-columns:1fr}}
@media(max-width:560px){.transfer-assignment-line{grid-template-columns:1fr}.transfer-date-section>header{flex-wrap:wrap}.transfer-date-section>header small{width:100%;margin-left:0}.transfer-flight-line{align-items:flex-start;flex-direction:column}}

/* v4.15.5 · responsive unificado para tablet, móvil y ventanas reducidas */
@media(max-width:1100px){
  html,body{max-width:100%;overflow-x:hidden}
  body:has(.mobile-menu-open){overflow:hidden}
  .app-shell,.app-shell.sidebar-collapsed{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-height:100dvh}
  .main,.content,.page-title,.card{min-width:0;max-width:100%}
  .content{width:100%;max-width:none;padding:18px}
  .app-shell .sidebar,.app-shell.sidebar-collapsed .sidebar{display:flex;position:fixed;z-index:31;right:0;left:auto;top:0;width:min(86vw,360px);height:100dvh;padding:16px 14px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 45px rgba(15,23,42,.3);overflow:hidden}
  .app-shell.mobile-menu-open .sidebar{transform:translateX(0)}
  .app-shell .sidebar .brand{margin-bottom:14px}
  .app-shell .sidebar .sidebar-brand-copy,.app-shell.sidebar-collapsed .sidebar .sidebar-brand-copy,.app-shell .sidebar .nav-label,.app-shell.sidebar-collapsed .sidebar .nav-label,.app-shell .sidebar .sidebar-user-copy{display:block}
  .app-shell .sidebar .sidebar-toggle{display:none}
  .app-shell .sidebar .nav{display:grid;grid-template-columns:1fr;overflow:auto;gap:5px}
  .app-shell .sidebar .nav button,.app-shell.sidebar-collapsed .sidebar .nav button{justify-content:flex-start;text-align:left;padding:10px 11px}
  .app-shell .sidebar .back-events,.app-shell.sidebar-collapsed .sidebar .back-events{display:flex;justify-content:flex-start}
  .app-shell .sidebar .sidebar-user{display:flex;justify-content:flex-start}
  .mobile-menu-toggle{display:grid;width:42px;height:42px;place-content:center;gap:4px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);flex:0 0 auto}
  .mobile-menu-toggle span{display:block;width:20px;height:2px;border-radius:3px;background:var(--brand-text)}
  .mobile-menu-close{display:grid;margin-left:auto;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:24px}
  .mobile-menu-backdrop{position:fixed;z-index:30;inset:0;border:0;background:rgba(15,23,42,.56);backdrop-filter:blur(2px)}
  .mobile-menu-open .mobile-menu-backdrop{display:block}
  .topbar{min-height:66px;padding:9px 18px;gap:10px}
  .topbar-right{gap:7px}.topbar-role,.event-brand{display:none}
  .topbar-page-title h1{font-size:19px}.topbar-page-title p{font-size:11px}
  .grid-2,.seating-workspace,.role-grid{grid-template-columns:1fr}
  .table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
  .modal-backdrop{padding:12px}
  .modal-backdrop>.card,.modal-backdrop>form{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .module-tabs,.agenda-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin}
  .module-tabs button,.agenda-tabs button{flex:0 0 auto;white-space:nowrap}
  .transfer-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,auto);align-items:start;gap:12px;padding:12px}
  .transfer-control-left{display:grid;grid-template-columns:auto minmax(150px,190px) minmax(230px,1fr);align-items:end;gap:10px}
  .transfer-search-label{min-width:0}
  .transfer-controls>.actions{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:7px;align-content:start}
  .transfer-controls>.actions .btn{width:100%;min-height:38px;padding:8px 10px;white-space:normal;line-height:1.15}
  .transfer-summary{display:grid;grid-template-columns:max-content max-content minmax(180px,1fr);gap:8px 14px;align-items:center}
  .transfer-vehicle-summary{min-width:0}
  .transfer-missing-summary{grid-column:1/-1;justify-self:start;max-width:100%}
  .transfer-selection-bar{align-items:flex-start;flex-wrap:wrap}
  .transfer-move-control{min-width:min(420px,100%)}
}
@media(max-width:760px){
  .content{padding:12px;padding-bottom:76px}
  .topbar{display:flex;padding:8px 10px;position:sticky}
  .topbar-page-title{flex:1;min-width:0}.topbar-page-title h1{font-size:16px}.topbar-page-title p{display:none}
  .topbar-right{flex:0 0 auto}.topbar #logoutTop{display:none}
  .page-title{align-items:flex-start;flex-direction:column;margin-bottom:16px}.page-title h1{font-size:24px}
  .cards,.seating-grid,.role-grid,.form-grid{grid-template-columns:1fr}
  .card{padding:14px}
  .transfer-controls{grid-template-columns:1fr}
  .transfer-control-left{grid-template-columns:1fr 1fr}
  .transfer-control-left .compact-tabs,.transfer-search-label{grid-column:1/-1}
  .transfer-controls>.actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .transfer-summary{grid-template-columns:1fr 1fr;padding:10px}
  .transfer-vehicle-summary,.transfer-missing-summary{grid-column:1/-1}
  .transfer-summary>span:last-child{grid-column:1/-1}
  .transfer-missing-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;justify-self:stretch}
  .transfer-selection-bar{flex-direction:column}.transfer-selection-bar .actions{width:100%;margin-left:0}.transfer-selection-bar .actions>*{flex:1}
  .transfer-move-control{width:100%;min-width:0}
  .transfer-date-section>header{flex-wrap:wrap}.transfer-date-section>header small{width:100%;margin-left:0}
  .missing-transfer-modal{width:calc(100vw - 24px);padding:13px}.missing-transfer-modal .panel-title{align-items:flex-start;gap:10px}
}
@media(max-width:430px){
  .content{padding-inline:9px}
  .topbar-page-title h1{font-size:14px}
  .transfer-control-left{grid-template-columns:1fr}.transfer-control-left .compact-tabs,.transfer-search-label{grid-column:auto}
  .compact-tabs button{flex:1}
  .transfer-controls>.actions{grid-template-columns:1fr 1fr}
  .transfer-summary{grid-template-columns:1fr}
  .transfer-summary>*{grid-column:1!important}
  .transfer-missing-summary{grid-template-columns:auto minmax(0,1fr) auto}
  .transfer-group-grid{grid-template-columns:1fr}.transfer-group-card{padding:11px}
}
/* Participant Center ------------------------------------------------------- */
.participant-center-stack{display:grid;gap:12px}.participant-message-card,.participant-schedule-card,.participant-poll-card{background:var(--pp-info-bg,#fff);border:1px solid var(--badge-card-border,#e5e7eb);border-radius:var(--badge-card-radius,14px);padding:16px}.participant-message-card{display:grid;gap:14px}.participant-message-card img{width:100%;max-height:240px;object-fit:cover;border-radius:10px}.participant-message-card p,.participant-schedule-card p,.participant-poll-card p{margin:6px 0;white-space:pre-wrap}.participant-schedule-card{display:flex;align-items:flex-start;gap:12px}.participant-schedule-card>div{min-width:0}.participant-poll-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.participant-poll-options{display:grid;gap:8px;margin:14px 0}.participant-poll-options label{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--badge-card-border,#e5e7eb);border-radius:10px;cursor:pointer}.participant-poll-options input{width:auto}.poll-feedback,.poll-saved-note{display:block;margin-top:8px}.participant-center-admin{overflow:visible}.participant-center-visibility{padding:18px;border-bottom:1px solid var(--border)}.participant-center-admin-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}.participant-center-admin-columns>section{border:1px solid var(--border);border-radius:14px;padding:14px;min-width:0}.participant-center-admin-list{display:grid;gap:9px}.participant-center-admin-list article{display:flex;align-items:center;gap:8px;padding:10px;background:var(--brand-bg);border-radius:10px}.participant-center-admin-list article>div{display:grid;gap:2px;min-width:0;margin-right:auto}.participant-center-admin-list small{overflow:hidden;text-overflow:ellipsis}.participant-center-editor{display:grid;gap:13px}.center-audience-grid{display:grid;gap:10px}.center-participant-picker select{min-height:130px}.participant-poll-results{margin:0 18px 18px;padding:16px;border:1px solid var(--brand-accent);border-radius:14px}.poll-result-row{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--border)}
@media(max-width:1100px){.participant-center-admin-columns{grid-template-columns:1fr}.participant-center-admin-list article{flex-wrap:wrap}}
@media(max-width:640px){.participant-message-card,.participant-schedule-card,.participant-poll-card{padding:13px}.participant-center-admin-columns{padding:10px}.participant-center-visibility{padding:12px}.participant-poll-heading{align-items:flex-start}}

/* v4.17 · Digital badge como módulo independiente */
.branding-only .participant-page-branding-settings,.branding-only .participant-center-admin,.branding-only .digital-badge-content-area,.branding-only .participant-page-preview-card{display:none!important}
.digital-badge-only>nav{grid-column:1/-1}.digital-badge-only .branding-settings-stack>details:first-child,.digital-badge-only .client-portal-branding-settings,.digital-badge-only .branding-preview-card:not(.participant-page-preview-card){display:none!important}
.digital-badge-section-nav{position:sticky;top:72px;z-index:8;display:flex;gap:7px;padding:9px;border:1px solid var(--brand-border);border-radius:13px;background:color-mix(in srgb,var(--brand-surface) 94%,transparent);box-shadow:0 8px 24px rgba(15,23,42,.08);overflow-x:auto}.digital-badge-section-nav button{flex:0 0 auto;border:0;border-radius:9px;padding:9px 12px;background:var(--brand-bg);color:var(--brand-text);font-weight:800;cursor:pointer}.digital-badge-section-nav button:hover{background:var(--brand-accent);color:#fff}
.digital-badge-only .participant-page-branding-settings{scroll-margin-top:140px}.participant-center-admin,.digital-badge-content-area{scroll-margin-top:140px}.digital-badge-only .branding-settings-stack{gap:16px}.digital-badge-only .branding-previews{position:sticky;top:142px;align-self:start}
.participant-center-admin{padding:18px}.badge-center-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.badge-center-module-card{display:grid;gap:12px;padding:14px;border:1px solid var(--brand-border);border-radius:13px;background:var(--brand-bg)}.badge-center-module-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.badge-center-module-head>div{display:grid;gap:3px}.badge-center-module-head small{color:var(--brand-muted)}.badge-module-switch{display:flex!important;align-items:center;gap:6px;white-space:nowrap;text-transform:none!important;font-size:11px!important}.badge-module-switch input{width:auto}.badge-center-module-controls{display:grid;grid-template-columns:minmax(0,1fr) 94px 104px;gap:8px}.badge-center-module-controls label{min-width:0}.badge-center-module-controls input{width:100%;min-width:0}.digital-badge-content-area{display:grid;gap:15px}.digital-badge-content-area>.participant-center-editor,.digital-badge-content-area>.participant-center-admin-list{margin-top:2px}.participant-experience-list{display:grid;gap:8px}.participant-experience-list>div{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:11px 13px;border:1px solid var(--badge-card-border,#e5e7eb);border-radius:var(--badge-card-radius,14px);background:var(--pp-info-bg,#fff)}.participant-experience-list span{grid-row:1/3;color:var(--pp-accent,#2563eb);font-weight:900}.participant-experience-list small{color:var(--pp-muted,#64748b)}
.participant-center-section .badge-section-title{font-size:var(--center-title-size,18px)}.participant-center-section .participant-message-card,.participant-center-section .participant-message-card p,.participant-center-section .participant-schedule-card,.participant-center-section .participant-schedule-card p,.participant-center-section .participant-poll-card,.participant-center-section .participant-experience-list{font-size:var(--center-content-size,14px)}
@media(max-width:1100px){.digital-badge-only .branding-previews{position:static}.badge-center-modules{grid-template-columns:1fr}.digital-badge-section-nav{top:66px}}
@media(max-width:640px){.participant-center-admin{padding:13px}.badge-center-module-controls{grid-template-columns:1fr 1fr}.badge-center-module-controls label:first-child{grid-column:1/-1}.digital-badge-section-nav{margin-inline:-4px}.digital-badge-section-nav button{padding:8px 10px}}

/* v4.17.1 · editor y vista previa fiel del Digital badge */
.center-audience-grid .is-hidden{display:none!important}.center-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.center-participant-picker{grid-column:1/-1}.center-participant-picker select{width:100%;min-height:150px;max-height:230px}.badge-center-module-controls-wide{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.badge-qr-control-card{grid-column:1/-1}
#participantBadgePreviewHost{position:relative;max-height:calc(100vh - 235px);overflow:auto;border-radius:14px;transition:opacity .15s}#participantBadgePreviewHost.is-loading{opacity:.42;pointer-events:none}#participantBadgePreviewHost.is-loading:after{content:'Cargando datos actuales…';position:absolute;z-index:5;top:18px;left:50%;transform:translateX(-50%);padding:7px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}
.digital-badge-only .badge-preview-mini .public-hero{height:var(--badge-header-height)!important;min-height:90px!important;padding:18px!important}.digital-badge-only .badge-preview-mini .public-hero-content{gap:12px}.digital-badge-only .badge-preview-mini .public-event-logo,.digital-badge-only .badge-preview-mini .public-logo{width:52px;height:52px;border-radius:12px;padding:6px;font-size:20px}.digital-badge-only .badge-preview-mini .public-event-copy small{font-size:10px}.digital-badge-only .badge-preview-mini .public-event-copy h1{font-size:20px}.digital-badge-only .badge-preview-mini .public-body{padding:18px}.digital-badge-only .badge-preview-mini .badge-section{margin-top:16px}.digital-badge-only .badge-preview-mini .public-kicker{font-size:10px;margin-bottom:6px}.digital-badge-only .badge-preview-mini .badge-personal-section h2{font-size:var(--badge-name-size)!important}.digital-badge-only .badge-preview-mini .public-name{font-size:14px;margin:6px 0}.digital-badge-only .badge-preview-mini .badge-category{font-size:var(--badge-category-size)!important;margin-top:4px}.digital-badge-only .badge-preview-mini .public-participant-photo{width:72px;height:72px;border-radius:14px}.digital-badge-only .badge-preview-mini .badge-personal-meta span{font-size:11px;padding:5px 8px}.digital-badge-only .badge-preview-mini .badge-section-title{font-size:var(--center-title-size,18px);margin-bottom:8px}.digital-badge-only .badge-preview-mini .badge-group-title{font-size:12px;margin:13px 2px 6px}.digital-badge-only .badge-preview-mini .public-grid{gap:9px}.digital-badge-only .badge-preview-mini .public-info{padding:12px 13px;border-radius:var(--badge-card-radius)!important}.digital-badge-only .badge-preview-mini .public-info span,.digital-badge-only .badge-preview-mini .public-info small{font-size:11px}.digital-badge-only .badge-preview-mini .public-info strong{font-size:16px}.digital-badge-only .badge-preview-mini .public-services span{font-size:11px;padding:6px 9px}.digital-badge-only .badge-preview-mini .badge-qr-card{padding:13px;gap:12px}.digital-badge-only .badge-preview-mini .badge-qr-card strong{font-size:14px}.digital-badge-only .badge-preview-mini .badge-qr-card small{font-size:10px}.digital-badge-only .badge-preview-mini .public-updated{font-size:10px;margin-top:15px}.digital-badge-only .badge-preview-mini .badge-seating-unit-image{width:min(230px,82%);height:150px}.digital-badge-only .badge-preview-mini .badge-seating-unit-text{font-size:14px}
@media(max-width:640px){.center-audience-grid{grid-template-columns:1fr}.center-participant-picker{grid-column:auto}.badge-center-module-controls-wide{grid-template-columns:1fr}#participantBadgePreviewHost{max-height:none}}

/* v4.18 · navegación simple del Digital badge */
.digital-badge-section-nav button.active,.digital-badge-section-nav button[aria-current="page"]{background:var(--brand-accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--brand-accent) 28%,transparent)}
.digital-badge-only .branding-settings-stack{min-width:0}.digital-badge-only .branding-previews{display:grid;gap:10px}.digital-badge-context-card,.digital-badge-preview-picker-card{padding:13px!important}
.digital-badge-active-design{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.72fr);gap:10px;align-items:end}.digital-badge-active-design>div{display:grid;gap:3px}.digital-badge-active-design>div>strong{font-size:17px}.digital-badge-active-design small,.digital-badge-preview-picker-card small{color:var(--brand-muted);font-size:9px;line-height:1.35}.digital-badge-active-design label,.digital-badge-preview-picker-card label{display:grid;gap:5px;font-size:10px;font-weight:800}.digital-badge-active-design>.mini-btn{grid-column:2;justify-self:stretch}
.digital-badge-preview-picker-card{display:grid;gap:5px}.digital-badge-preview-picker-card select{width:100%}
.digital-badge-only .participant-page-branding-settings{padding:0;overflow:hidden}.digital-badge-only .participant-page-branding-settings>summary{padding:16px 18px;border-bottom:1px solid var(--brand-border)}.digital-badge-only .participant-page-branding-settings>summary~*{margin-left:18px;margin-right:18px}.digital-badge-only .participant-page-branding-settings>.badge-designer-embedded{margin-bottom:18px}
.badge-style-select{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(180px,.75fr);gap:6px 10px;align-items:center;padding:10px 12px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);font-size:10px;font-weight:800}.badge-style-select small{grid-column:1/-1;color:var(--brand-muted);font-weight:500}.badge-style-select select{width:100%}
.badge-center-module-controls select{width:100%;min-width:0}.badge-center-module-controls label{display:grid;gap:5px}.badge-center-module-card{transition:border-color .16s,opacity .16s}.badge-center-module-card:has(.badge-module-switch input:not(:checked)){opacity:.68}.badge-center-module-card:has(.badge-module-switch input:checked){border-color:color-mix(in srgb,var(--brand-accent) 28%,var(--brand-border))}
.digital-badge-content-area{min-height:210px}.digital-badge-content-area .empty{display:grid;place-items:center;min-height:120px;color:var(--brand-muted)}
@media(max-width:1100px){.digital-badge-active-design{grid-template-columns:1fr 1fr}.digital-badge-only .branding-previews{grid-template-columns:1fr}.digital-badge-context-card,.digital-badge-preview-picker-card{grid-column:auto}}
@media(max-width:640px){.digital-badge-section-nav{position:static}.digital-badge-active-design{grid-template-columns:1fr}.digital-badge-active-design>.mini-btn{grid-column:auto}.badge-style-select{grid-template-columns:1fr}.badge-style-select small{grid-column:auto}.digital-badge-only .participant-page-branding-settings>summary~*{margin-left:12px;margin-right:12px}.digital-badge-only .participant-page-branding-settings>summary{padding:14px}.digital-badge-only .participant-page-branding-settings>.badge-designer-embedded{margin-bottom:12px}}

/* Branding: printed badge workshop */
.app-loading{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;text-align:center}.app-loading [hidden]{display:none}.app-loading-spinner{display:block;width:30px;height:30px;border:3px solid #e4e7ef;border-top-color:#7634ed;border-radius:50%;animation:app-loading-spin .9s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}
.print-badge-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:20px;margin-top:18px}.print-badge-editor{display:grid;gap:18px;min-width:0}.print-badge-layout .card{padding:22px;min-width:0}.print-badge-layout h2{margin:0 0 12px;font-size:20px}.print-badge-layout p,.print-badge-layout small{color:#64748b;line-height:1.5}.print-badge-layout label{display:flex;flex-direction:column;gap:6px;font-size:14px}.print-badge-layout input:not([type=checkbox]),.print-badge-layout select{width:100%;max-width:100%;min-width:0;border:1px solid #d9dce5;border-radius:8px;padding:9px;background:#fff}.print-badge-layout input[type=color]{height:40px;padding:3px}.print-badge-layout .print-check{display:flex;flex-direction:row;align-items:center;gap:10px;margin:12px 0}.print-badge-layout input[type=checkbox]{flex:0 0 auto;width:18px;height:18px}.print-badge-layout details{margin:15px 0;border:1px solid #e4e4ee;border-radius:12px;padding:14px}.print-badge-layout summary{font-weight:700;cursor:pointer}.print-badge-layout .btn{margin:8px 0;white-space:normal}.print-badge-layout small{display:block}.print-field{border-top:1px solid #e4e4ee;margin-top:14px;padding-top:6px}.print-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.print-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.print-toolbar>label{flex:1 1 180px}.print-people{max-height:300px;overflow:auto;margin-top:12px}.print-people .print-check{padding:8px;border-bottom:1px solid #eee}.print-badge-preview{align-self:start;position:sticky;top:16px}.print-preview-pane{background:#f4f3f8;padding:12px;border-radius:10px;min-height:150px;margin:16px 0;overflow:hidden}.print-preview-pane iframe{display:block;width:100%;height:560px;border:0;margin-top:12px}.print-badge-layout #printStatus{white-space:pre-wrap}.print-badge-layout .print-error{color:#b91c1c!important}
@media(max-width:1000px){.print-badge-layout{grid-template-columns:1fr}.print-badge-preview{position:static}}@media(max-width:540px){.print-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-badge-layout .card{padding:16px}.print-preview-pane iframe{height:420px}}@media(prefers-reduced-motion:reduce){.app-loading-spinner{animation:none}}

.print-preview-pane canvas{display:block;width:100%;height:auto;background:white;margin:8px 0 16px}.print-preview-pane>strong{display:block;margin-top:16px}.print-preview-pane{max-height:65vh;overflow:auto}

.print-art-size{border:1px solid #e4e4ee;border-radius:12px;padding:14px;margin:16px 0}.print-art-size legend{font-weight:700;padding:0 6px}.print-art-size .print-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-art-size small{margin-top:10px}

.transfer-schedule-edit{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.transfer-schedule-edit label{flex:1 1 160px;min-width:0}.transfer-schedule-edit input{display:block;width:100%;min-width:0;padding:9px;border:1px solid #d8dce5;border-radius:8px}.transfer-schedule-edit .btn{flex:0 0 auto}

/* Seating Live View: the viewport owns the height, not the longest list. */
.public-seating-live{height:100vh;height:100dvh;min-height:0;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:16px 24px;overflow:hidden}
.public-seating-live-grid{min-width:0;min-height:0;grid-auto-rows:minmax(0,1fr)}
.public-seating-live .seating-live-panel{min-height:0;overflow:hidden;padding:14px;gap:10px;grid-template-rows:auto minmax(0,1fr)}
.public-seating-live .seating-live-panel.single-seating{grid-template-rows:minmax(0,1fr)}
.public-seating-live .seating-live-panel>header h2{font-size:18px;margin:0}
.public-seating-live .seating-status-widget-grid{grid-auto-rows:minmax(0,1fr);overflow:hidden}
.public-seating-live .seating-status-widget{display:flex;flex-direction:column;overflow:hidden}
.public-seating-live .seating-status-widget>h3{flex:none;overflow-wrap:anywhere}
.public-seating-live [data-seating-scroll]{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;overflow-wrap:anywhere}
.public-seating-live .seating-widget-columns{columns:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:2px 24px;align-content:start;padding-left:20px}
.public-seating-live .seating-group-people{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));align-content:start}
.public-seating-live .seating-widget-progress{justify-content:center}
@media(max-width:900px){
 .public-seating-live{height:auto;min-height:100dvh;overflow:visible;padding:14px;grid-template-rows:auto auto auto}
 .public-seating-live .public-seating-live-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
 .public-seating-live .seating-live-panel{min-height:0;overflow:visible;grid-template-rows:auto auto}
 .public-seating-live .seating-status-widget-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;overflow:visible}
 .public-seating-live .seating-status-widget{grid-column:1!important;grid-row:auto!important;overflow:visible}
 .public-seating-live [data-seating-scroll]{overflow:visible}
 .public-seating-live .seating-widget-columns{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
 .public-seating-live-header h1{min-width:0;overflow-wrap:anywhere}
 .public-seating-live>footer{flex-wrap:wrap;gap:6px}
}

.badge-transfer-visibility{display:grid;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e4e4ee}.badge-transfer-visibility label{display:flex;align-items:center;gap:8px;font-size:14px}.badge-transfer-visibility input[type=checkbox]{width:18px;height:18px;flex:none}.badge-transfer-visibility small{color:#64748b;line-height:1.4}
/* v4.22 interactive result screens reuse the Live View shell and six-column editor. */
.interactive-source-picker{padding:18px;border:1px solid #dbe2ef;border-radius:14px;margin:18px 0;background:#f8fafc}.interactive-source-picker>label{max-width:220px}.interactive-source-picker fieldset{border:1px solid #dbe2ef;border-radius:12px;margin:14px 0;padding:14px}.interactive-source-picker legend{font-weight:700;padding:0 8px}.interactive-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.interactive-source-grid label{display:grid;gap:6px;min-width:0}.interactive-source-grid select,.interactive-source-grid input{width:100%;min-width:0}.interactive-source-picker>small{display:block;line-height:1.5;color:#64748b}
.public-interactive-live{min-height:100dvh;height:auto;overflow:visible}.public-interactive-live .office-live-grid{grid-template-rows:none;grid-auto-rows:minmax(110px,auto);height:auto;min-height:0;overflow:visible;align-content:start}.public-interactive-live .office-live-slot{overflow:visible}.interactive-result{height:100%;min-height:0;min-width:0;background:var(--office-widget-bg,#fff);color:var(--result-text,#0f172a);border-radius:16px;border:1px solid #94a3b855;box-shadow:0 8px 24px #0f172a12;padding:clamp(16px,1.5vw,30px);display:flex;flex-direction:column;gap:20px;font-size:calc(clamp(14px,1vw,20px)*var(--office-font-scale,1));overflow-wrap:anywhere}.interactive-result header small,.interactive-result-note{opacity:.72;line-height:1.4}.interactive-result h2{font-size:calc(clamp(22px,1.8vw,38px)*var(--office-font-scale,1));line-height:1.2;margin:10px 0;padding-bottom:15px;border-bottom:3px solid var(--result-accent,#6345e9)}.interactive-result-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.interactive-result-metrics>div{display:flex;flex-direction:column;gap:7px}.interactive-result-metrics strong{font-size:calc(clamp(28px,2.6vw,54px)*var(--office-font-scale,1));line-height:1.1;letter-spacing:-.025em}.interactive-result-metrics small{font-size:.8em;line-height:1.35}.interactive-answer-list{display:grid;gap:18px;margin:8px 0;flex:1;align-content:center}.interactive-answer>div:first-child{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:8px}.interactive-answer b{white-space:nowrap;font-variant-numeric:tabular-nums}.interactive-answer-track{height:12px;border-radius:8px;background:#94a3b833;overflow:hidden}.interactive-answer-track i{display:block;height:100%;background:var(--result-accent,#6345e9);border-radius:8px}.interactive-result-note{font-size:.75em}.public-interactive-live>footer{font-size:12px;opacity:.85}
@media(max-width:900px){.interactive-source-grid{grid-template-columns:1fr 1fr}.public-interactive-live .office-live-slot{grid-column:1/-1!important}.public-interactive-live .office-live-grid{grid-auto-rows:auto;display:flex;flex-direction:column}.interactive-result{min-height:400px}}
@media(max-width:550px){.interactive-source-grid{grid-template-columns:1fr}.interactive-result-metrics{grid-template-columns:1fr 1fr}.interactive-result-metrics>div:last-child{grid-column:1/-1}.interactive-answer>div:first-child{flex-wrap:wrap}}

/* Shared optional participant links */
.information-links-editor{display:grid;gap:12px;margin-bottom:20px}
.information-links-editor label{display:grid;gap:6px}
.information-link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;align-items:end;margin:12px 0}
.participant-links-banner{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:14px}
.participant-link-buttons{display:flex;flex-wrap:wrap;gap:10px}
.participant-link-buttons .btn{background:var(--pp-accent);white-space:normal;text-align:center;min-height:44px;overflow-wrap:anywhere}
@media(max-width:600px){.information-link-row{grid-template-columns:1fr}.participant-link-buttons .btn{width:100%}}

.information-links-design{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.participant-useful-links .participant-link-buttons .btn{display:inline-flex;align-items:center;justify-content:center;min-width:0}@media(max-width:600px){.information-links-design{grid-template-columns:1fr}}

.manual-transfer-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.manual-transfer-people{max-height:320px;overflow:auto;margin:14px 0;display:grid;gap:8px}.manual-transfer-people label{display:flex;align-items:center;gap:8px}.manual-transfer-people input{width:auto}.manual-transfer-people [hidden]{display:none}
/* Operational TV: fixed viewport, no responsive stacking or implicit growth. */
.public-office-live.office-tv{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;box-sizing:border-box;overflow:hidden;padding:1.2vh 1.3vw;gap:1vh;grid-template-rows:minmax(0,8vh) minmax(0,1fr) minmax(0,2vh)}
.office-tv>header{min-width:0;min-height:0;grid-template-columns:5vw 14vw 17vw minmax(0,1fr) 9vw;gap:.7vw;overflow:hidden}
.office-tv>header>.live-screen-logo,.office-tv>header>time,.office-tv>header>h1,.office-tv>header>.public-live-share{grid-row:auto;grid-column:auto;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box;padding:.4vh .5vw;overflow:hidden}
.office-tv>header>time{font-size:calc(2.4vw * var(--office-header-scale,1))}
.office-tv>header>h1{font-size:calc(2vw * var(--office-header-scale,1));white-space:normal;overflow-wrap:anywhere;line-height:1.05}
.office-tv .office-live-grid{display:grid;height:100%;min-height:0;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(var(--tv-rows,6),minmax(0,1fr));gap:.6vh;overflow:hidden}
.office-tv .office-live-slot{position:relative;grid-column:var(--tv-column)!important;min-height:0!important;min-width:0;margin:0;overflow:hidden;border-radius:12px;background:var(--office-widget-bg,#fff)}
.office-tv .office-live-slot>:first-child{position:absolute;top:0;left:0;transform-origin:top left;box-sizing:border-box;min-height:0;height:auto;overflow:visible}
.office-tv .office-agenda-list,.office-tv .office-transfer-table{overflow:visible;min-height:max-content}
.office-tv .office-agenda-row strong,.office-tv .office-transfer-table>div>*{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.office-tv .office-night-chart{height:90px;min-height:90px}
.office-tv>footer{min-width:0;display:flex;font-size:1vh;overflow:hidden}
.office-tv-preview{aspect-ratio:16/9;min-height:0;padding:12px;height:auto;align-self:start}
.office-tv-preview .live-editor-grid{height:auto;aspect-ratio:16/9;grid-template-rows:repeat(var(--tv-rows,6),minmax(0,1fr));grid-auto-rows:0;gap:4px}
.office-tv-preview .live-editor-widget{min-height:0;padding:4px;display:block;overflow:hidden;border-radius:5px;font-size:10px}
.office-tv-editor-controls{padding-top:12px;border-top:1px solid #cbd5e1}
.office-tv-editor-controls .live-widget-controls{margin-top:8px}

.office-tv>header>.public-live-share{grid-template-columns:minmax(0,1fr);justify-items:center}.office-tv .public-live-share>div{width:6vh;height:6vh;padding:0}.office-tv .public-live-share img,.office-tv .public-live-share canvas{width:6vh!important;height:6vh!important}.office-tv .public-live-share small{display:none}

.office-tv .office-country-list{max-height:none;overflow:visible}.office-tv .office-country-list strong{white-space:normal;overflow-wrap:anywhere}

/* v4.31.0 — First visual pass: compact actions, responsive views and disclosures. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-shell .topbar{gap:12px}.app-shell .topbar-page-title{flex:1;min-width:0}.app-shell .topbar-right{flex-shrink:0;min-width:0}.app-shell .topbar-page-actions{max-width:none;overflow:visible!important;flex-wrap:wrap!important;padding:0;gap:7px}.app-shell .topbar-page-actions>.actions{flex-wrap:wrap!important}.page-action-menu{position:relative;flex:0 0 auto}.page-action-menu>summary{display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;list-style:none;padding:7px 11px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font-size:11px;font-weight:800;min-height:34px}.page-action-menu>summary::-webkit-details-marker{display:none}.page-action-menu[open]>summary{border-color:var(--brand-accent);color:var(--brand-accent)}.page-action-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:40;display:grid;gap:6px;width:max-content;min-width:220px;max-width:min(360px,calc(100vw - 24px));padding:10px;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-surface);box-shadow:0 14px 35px #0f172a26;max-height:70vh;overflow:auto}.page-action-dropdown .btn,.page-action-dropdown .mini-btn{width:100%;height:auto!important;min-height:34px!important;white-space:normal!important;text-align:left;justify-content:flex-start;line-height:1.3!important}.page-action-dropdown>.actions{display:grid;gap:6px}.app-shell .module-tabs,.app-shell .agenda-tabs,.app-shell .tabs{flex-wrap:wrap;min-width:0;max-width:100%;overflow:visible}.app-shell .module-tabs button,.app-shell .agenda-tabs button{min-height:36px;padding:8px 11px;white-space:normal;line-height:1.25}.responsive-tab-select{display:none}.app-shell .content input[type=color]{width:40px!important;max-width:40px!important;min-width:40px!important;height:32px!important;padding:3px!important;border-radius:7px;flex:0 0 40px}.app-shell .content label{min-width:0}.app-shell .content input,.app-shell .content select,.app-shell .content textarea{max-width:100%;min-width:0}.app-shell .actions{gap:7px}.app-shell .content .btn{line-height:1.3}.app-shell .content .btn.compact{min-height:32px;padding:7px 11px;font-size:11px}.ui-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.ui-fold>summary::-webkit-details-marker,.transfer-date-section>summary::-webkit-details-marker,.transfer-group-card>summary::-webkit-details-marker{display:none}.fold-chevron{font-size:20px;line-height:1;transition:transform .15s;color:var(--brand-muted);flex-shrink:0}details[open]>summary>.fold-chevron{transform:rotate(180deg)}
.transfer-primary-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.transfer-primary-toolbar .compact-tabs{display:flex;gap:5px;flex-shrink:0}.transfer-primary-toolbar .transfer-search-label{flex:1;min-width:180px;max-width:480px}.transfer-primary-toolbar input{width:100%;padding:9px 12px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font-size:12px}.transfer-primary-toolbar .btn{margin-left:auto}.transfer-tools{padding:0!important;margin:0 0 12px}.transfer-tools>summary{padding:13px 16px}.transfer-tools>summary>div{display:grid;gap:3px}.transfer-tools summary strong{font-size:12px}.transfer-tools summary small{font-size:10px;color:var(--brand-muted)}.transfer-tools .transfer-controls{padding:15px;border-top:1px solid var(--brand-border);margin:0;gap:16px;align-items:flex-start}.transfer-tools .transfer-control-left{display:grid;grid-template-columns:minmax(160px,1fr) minmax(110px,.55fr);gap:12px;flex:1}.transfer-tools .transfer-controls>.actions{display:flex;flex-wrap:wrap;max-width:360px}.transfer-tools .transfer-controls .btn{min-height:32px!important;height:auto!important;padding:7px 10px!important;width:auto;font-size:11px!important}.transfer-summary{padding:12px 14px;font-size:11px;gap:9px;flex-wrap:wrap}.transfer-selection-bar:not(.active){padding:9px 12px;opacity:.8}.transfer-selection-bar:not(.active)>.actions,.transfer-selection-bar:not(.active)>.transfer-move-control,.transfer-selection-bar:not(.active)>span{display:none}.transfer-date-section{border:1px solid var(--brand-border);border-radius:13px;background:var(--brand-surface);overflow:hidden}.transfer-date-section>summary{padding:15px 17px;display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.transfer-date-section>summary>span:first-child{font-size:9px;letter-spacing:.06em;color:var(--brand-muted);font-weight:800}.transfer-date-section>summary h2{font-size:15px;margin:0;flex:1}.transfer-date-section>summary small{font-size:11px;color:var(--brand-muted)}.transfer-date-section>.transfer-group-grid{padding:12px;gap:10px;border-top:1px solid var(--brand-border);background:var(--brand-bg)}.transfer-group-card{padding:0!important;align-self:start}.transfer-group-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:13px 14px;cursor:pointer;list-style:none}.transfer-group-summary>.panel-title{grid-column:1;display:flex;gap:10px;align-items:center;margin:0}.transfer-group-summary .eyebrow{font-size:8px}.transfer-group-summary h2{font-size:16px;margin:4px 0 0}.transfer-group-summary .badge{font-size:9px;flex-shrink:0}.transfer-group-summary>.fold-chevron{grid-column:2;grid-row:1/3;align-self:center}.transfer-group-brief{font-size:10px;color:var(--brand-muted)}.transfer-group-summary .transfer-status-time{display:none}.transfer-group-body{padding:12px 14px 15px;display:grid;gap:12px;border-top:1px solid var(--brand-border)}.transfer-group-body .transfer-status-flow{gap:5px;flex-wrap:wrap}.transfer-group-body .transfer-status-flow .status-step{padding:7px 9px;font-size:10px}.transfer-group-body .transfer-schedule-edit{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) auto;gap:8px}.transfer-group-body .transfer-schedule-edit .btn{font-size:10px;padding:7px 9px}.transfer-group-body .transfer-assignment-line{grid-template-columns:1fr 1fr}.transfer-group-body .transfer-passengers{margin:0}
.reports-tabs{margin-bottom:16px}.report-advanced-filters{margin-top:10px;border-top:1px solid var(--brand-border);padding-top:10px}.report-advanced-filters>summary{font-size:11px;font-weight:800;color:var(--brand-muted)}.report-advanced-filters>summary:after{content:'⌄';font-size:16px}.report-advanced-filters[open]>.report-filter-grid{margin-top:12px}.report-audit-table table{min-width:850px;table-layout:fixed}.report-audit-table th:first-child{width:130px}.report-audit-table th:nth-child(2){width:150px}.report-audit-table th:nth-child(3){width:95px}.report-audit-table th:nth-child(4){width:140px}.report-audit-table th:nth-child(5){width:140px}.report-audit-table th:nth-child(6){width:100px}.report-audit-table th:last-child{width:96px}.report-audit-table td{overflow-wrap:anywhere;line-height:1.5}.report-audit-table .report-summary-cell{min-width:0;max-width:none;color:var(--brand-muted);font-size:10px}.report-detail-modal{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}.report-raw{margin-top:16px}.report-raw>summary{cursor:pointer;font-size:12px;font-weight:800;padding:11px;background:var(--brand-bg);border-radius:8px}.report-raw pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;font-size:10px;line-height:1.6;background:#0f172a;color:#e2e8f0;border-radius:9px}.report-change-list .before,.report-change-list .after{max-height:130px;overflow:auto;overflow-wrap:anywhere}.report-summary-grid .card{padding:13px 15px}.report-summary-grid strong{font-size:20px}.report-filter-card{padding:14px}
.event-settings-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;max-width:1100px;margin:auto}.settings-overview{padding:23px!important;position:sticky;top:98px;display:grid;gap:12px}.settings-overview-icon{display:grid;place-items:center;width:46px;height:46px;font-size:25px;border-radius:12px;background:color-mix(in srgb,var(--brand-accent) 10%,var(--brand-surface));color:var(--brand-accent)}.settings-overview .eyebrow{font-size:9px}.settings-overview h2{font-size:20px;line-height:1.3;margin:0;overflow-wrap:anywhere}.settings-overview p{font-size:12px;color:var(--brand-muted);margin:0}.settings-overview-stats{display:grid;gap:12px;margin:8px 0;padding:15px 0;border-block:1px solid var(--brand-border)}.settings-overview-stats>div{display:flex;align-items:center;gap:10px}.settings-overview-stats strong{font-size:23px;color:var(--brand-accent)}.settings-overview-stats span{font-size:10px;color:var(--brand-muted)}.settings-section-links{display:grid;gap:6px}.settings-section-links a{padding:8px 10px;border-radius:7px;font-size:11px;color:var(--brand-text);background:var(--brand-bg);text-decoration:none}.settings-section-links a:hover{color:var(--brand-accent)}.settings-overview>small{font-size:10px;color:var(--brand-muted)}.settings-main{display:grid;gap:16px;min-width:0}.settings-section{padding:23px!important;scroll-margin-top:100px}.settings-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:21px}.settings-section-heading>span{background:var(--brand-bg);color:var(--brand-accent);padding:7px 10px;border-radius:8px;font-size:11px;font-weight:900}.settings-section-heading h2{font-size:18px;margin:0 0 5px}.settings-section-heading p{font-size:11px;color:var(--brand-muted);margin:0}.settings-section .event-identity-settings{gap:14px}.settings-section input,.settings-section select{padding:9px 11px;border-radius:8px;border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);font-size:12px}.settings-section input:disabled,.settings-section input[readonly]{background:var(--brand-bg);color:var(--brand-muted)}.settings-section label{font-size:11px}.settings-section small{color:var(--brand-muted);font-size:10px}.settings-section .participant-type-settings{padding:0;border:0;background:none}.settings-section .participant-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px 0;margin:0;border-bottom:1px solid var(--brand-border)}.settings-section .participant-type-row input{min-width:0;width:100%}.settings-section .participant-type-row .badge{font-size:8px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.settings-add-type{display:flex;align-items:center;gap:9px;margin-top:16px}.settings-add-type label{flex:1}.settings-add-type input{width:100%}.settings-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-module-choice{display:grid!important;grid-template-columns:34px minmax(0,1fr) 35px;align-items:center;gap:10px!important;border:1px solid var(--brand-border)!important;border-radius:11px!important;padding:14px!important;margin:0!important;background:var(--brand-surface)}.settings-module-icon{display:grid;place-items:center;min-width:0;width:34px;height:34px;border-radius:8px;color:var(--brand-accent);background:var(--brand-bg);font-size:20px}.settings-module-choice>span:nth-child(2){display:grid;gap:4px}.settings-module-choice strong{font-size:12px}.settings-module-choice small{font-size:10px;line-height:1.4}.settings-module-choice input[type=checkbox]{appearance:none;width:34px!important;height:20px!important;min-width:34px!important;border-radius:20px;background:#cbd5e1;border:0;padding:0;position:relative;cursor:pointer;transition:background .15s;flex:none}.settings-module-choice input[type=checkbox]:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 3px #0f172a33;transition:transform .15s}.settings-module-choice input[type=checkbox]:checked{background:var(--brand-accent)}.settings-module-choice input[type=checkbox]:checked:before{transform:translateX(14px)}.settings-module-choice input[type=checkbox]:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 35%,transparent);outline-offset:3px}.settings-module-choice:has(input:checked){border-color:color-mix(in srgb,var(--brand-accent) 38%,var(--brand-border))!important;background:color-mix(in srgb,var(--brand-accent) 3%,var(--brand-surface))}.settings-module-choice.plan-locked{opacity:.6;cursor:default}.settings-module-choice.plan-locked .badge{grid-column:2}.settings-fixed-modules{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.settings-fixed-modules>span{font-size:11px;font-weight:800;padding:9px 12px;border-radius:8px;background:var(--brand-bg)}.settings-fixed-modules small{font-weight:500;display:block;margin:3px 0 0}.settings-data-note{font-size:10px;color:var(--brand-muted);margin:16px 0 0;line-height:1.6}.settings-save-bar{padding:14px 18px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;bottom:12px;z-index:2;box-shadow:0 8px 25px #0f172a10}.settings-save-bar>span{font-size:11px;color:var(--brand-muted)}
@media(max-width:1100px){.app-shell .topbar .event-brand{display:none}.app-shell .topbar-page-title h1{font-size:19px}.event-settings-layout{grid-template-columns:200px minmax(0,1fr)}.settings-module-grid{grid-template-columns:1fr}.transfer-tools .transfer-controls{flex-wrap:wrap}.transfer-tools .transfer-controls>.actions{max-width:none;flex-basis:100%}.transfer-group-grid{grid-template-columns:1fr 1fr}.report-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.app-shell .topbar{padding:10px 14px;flex-wrap:wrap;gap:8px}.app-shell .topbar-page-title{flex:1 1 50%;min-width:140px}.app-shell .topbar-page-title h1{font-size:17px;white-space:normal}.app-shell .topbar-page-title p{display:none}.app-shell .topbar-right{flex-wrap:wrap;gap:7px;max-width:100%}.app-shell .topbar-role{display:none}.app-shell .topbar-page-actions{flex-wrap:wrap!important}.app-shell .topbar-page-actions>.btn{white-space:normal!important;max-width:200px;height:auto!important}.app-shell .content{padding:16px}.app-shell .has-compact-select{display:none!important}.responsive-tab-select{display:grid;gap:5px;font-size:10px;font-weight:800;margin-bottom:13px;color:var(--brand-muted)}.responsive-tab-select select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font-size:12px}.transfer-primary-toolbar{gap:8px}.transfer-primary-toolbar .transfer-search-label{min-width:160px;max-width:none;order:3;flex-basis:100%}.transfer-primary-toolbar>.btn{padding:8px 10px;font-size:11px}.transfer-tools .transfer-control-left{grid-template-columns:1fr 1fr}.transfer-group-grid{grid-template-columns:1fr}.transfer-date-section>summary{flex-wrap:wrap;gap:5px 10px;padding:13px}.transfer-date-section>summary h2{font-size:13px}.transfer-date-section>summary small{flex-basis:calc(100% - 40px)}.transfer-group-body .transfer-schedule-edit{grid-template-columns:1fr 1fr}.transfer-group-body .transfer-schedule-edit .btn{grid-column:1/-1;justify-self:start}.transfer-group-body .transfer-assignment-line{grid-template-columns:1fr}.event-settings-layout{grid-template-columns:1fr;gap:14px}.settings-overview{position:static;padding:18px!important;grid-template-columns:auto 1fr;gap:7px 12px}.settings-overview-icon{grid-row:1/4}.settings-overview .eyebrow{margin:0}.settings-overview h2{font-size:17px}.settings-overview-stats{grid-column:1/-1;grid-template-columns:1fr 1fr;padding:10px 0;margin:5px 0}.settings-section-links{grid-column:1/-1;display:flex;flex-wrap:wrap}.settings-overview>small{grid-column:1/-1}.settings-section{padding:18px!important}.settings-save-bar{bottom:8px}.settings-save-bar>span{max-width:150px;font-size:10px}.settings-save-bar .btn{font-size:11px;padding:10px 12px}.report-filter-grid{grid-template-columns:1fr 1fr}.report-detail-modal{padding:15px!important}.report-detail-meta{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.transfer-tools .transfer-control-left{grid-template-columns:1fr}.settings-section .event-identity-settings{grid-template-columns:1fr}.settings-section .participant-type-row{grid-template-columns:minmax(0,1fr) auto}.settings-section .participant-type-row .badge{grid-column:1;grid-row:2;justify-self:start}.settings-section .participant-type-row button{grid-column:2;grid-row:1/3}.settings-add-type{flex-direction:column;align-items:stretch}.settings-add-type label{width:100%}.report-detail-meta{grid-template-columns:1fr}.page-action-dropdown{min-width:200px}.app-shell .topbar-page-actions>.btn{max-width:165px}.report-filter-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fold-chevron,.settings-module-choice input[type=checkbox],.settings-module-choice input[type=checkbox]:before{transition:none}}
/* Explicit hidden states protect native disclosures from legacy grid rules. */
.transfer-group-card{display:block}.transfer-group-card:not([open])>.transfer-group-body,.transfer-date-section:not([open])>.transfer-group-grid,.transfer-tools:not([open])>.transfer-controls,.report-advanced-filters:not([open])>.report-filter-grid,.page-action-menu:not([open])>.page-action-dropdown{display:none!important}
.report-audit-table table{min-width:980px}.report-audit-table th:first-child{width:125px}.report-audit-table th:nth-child(2){width:140px}.report-audit-table th:nth-child(3){width:85px}.report-audit-table th:nth-child(4){width:125px}.report-audit-table th:nth-child(5){width:130px}.report-audit-table th:nth-child(6){width:90px}.report-audit-table th:nth-child(7){width:195px}.report-audit-table th:last-child{width:90px}
