:root{font-family:Aptos,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light;--paper:#f8f5ef;--sheet:#fffdf9;--inset:#f0ebe3;--ink:#2d2925;--secondary:#655e56;--muted:#81776e;--line:rgba(65,48,36,.13);--accent:#b64d35;--accent-soft:#f7e8df;--on-accent:#fffaf6;--warning:#856017;--warning-bg:#fbf0d6;--danger:#a43938;--danger-bg:#fae9e6;--success:#326744;--success-bg:#e9f3e9;--control:#fcf9f5;--hero:#eee5d7;--focus:#b64d35;--overlay:rgba(26,20,16,.58);--radius:14px;--feature:#302b27;--feature-ink:#fff8f0;--feature-muted:#d1c2b4;--feature-accent:#f3bba3;--display:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif}
:root[data-theme=dark]{color-scheme:dark;--paper:#1b1917;--sheet:#26221f;--inset:#201c19;--ink:#f4eee7;--secondary:#c8beb4;--muted:#aa9e92;--line:rgba(244,232,217,.13);--accent:#ef9b7e;--accent-soft:#493027;--on-accent:#30201a;--warning:#ebcd8e;--warning-bg:#413522;--danger:#f0a19b;--danger-bg:#462b29;--success:#acd1ae;--success-bg:#293e2d;--control:#2c2723;--hero:#352e28;--focus:#ef9b7e;--overlay:rgba(0,0,0,.68);--feature:#40342e;--feature-ink:#fff5ea;--feature-muted:#d8bca9;--feature-accent:#f3bba3}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}.hidden{display:none!important}.muted{color:var(--secondary)}.small{font-size:12px}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:650;color:var(--secondary)}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}p{line-height:1.65;text-wrap:pretty}h1{letter-spacing:-.045em}h2{font-size:20px;letter-spacing:-.025em}h3{font-size:17px;letter-spacing:-.02em}.text-button{background:none;border:0;color:var(--accent);font-weight:600;padding:8px 0;min-height:40px}.text-button:hover{text-decoration:underline}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:-.06em}.brand-light{font-weight:400;margin-left:3px}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:26px;letter-spacing:-.08em;padding-right:3px;font-family:Georgia,serif;font-weight:700}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);background:transparent;border-radius:8px;padding:8px 12px;font-size:12px;color:var(--secondary)}.theme-toggle>span:first-child{font-size:19px;line-height:1}.theme-toggle:hover{background:var(--inset);color:var(--ink)}
/* The same paper canvas carries navigation and content. */
.topbar{height:76px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:30}.top-actions{display:flex;align-items:center;gap:16px}.account-info{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--sheet);color:var(--accent);font-weight:600}.account-name{font-weight:600;font-size:12px}.account-role{font-size:10px;color:var(--secondary);display:block;margin-top:3px}.layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{border-right:1px solid var(--line);padding:32px 16px 20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:76px;height:calc(100vh - 76px)}.nav-label{padding-left:16px;color:var(--muted);font-size:10px;letter-spacing:.14em}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:12px 16px;border-radius:8px;color:var(--secondary);font-size:13px;min-height:44px}.nav button:hover{background:var(--inset)}.nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.nav .icon{width:18px;height:18px}.sidebar-footer{margin-top:auto;padding:16px;border-top:1px dashed var(--line);display:grid;gap:4px}.sidebar-footer .eyebrow{font-size:9px}.sidebar-footer p{font-size:12px;margin:4px 0;color:var(--secondary)}.sidebar-tools{display:grid;gap:4px}.sidebar-tools button{justify-content:flex-start}.content{padding:36px 40px 48px;width:100%;max-width:1460px;margin:0 auto;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.page-head h1{font-size:30px;font-weight:600;margin:0}.page-head p{margin:8px 0 0;color:var(--secondary);font-size:13px}.page-head .eyebrow{display:block;margin-bottom:10px}.role-pill{font-size:11px;color:var(--secondary);border:1px solid var(--line);border-radius:6px;padding:6px 10px}.menu-button{display:none}
/* Dates and perforated edges borrow from a paper admission pass. */
.welcome-panel{background:var(--hero);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:28px}.welcome-panel h2{font-family:Georgia,serif;font-weight:400;font-size:32px;letter-spacing:-.04em;margin:12px 0}.welcome-panel p{font-size:13px;max-width:500px;margin:0;color:var(--secondary)}.welcome-panel .btn{margin-top:20px}.welcome-stamp{border-left:1px dashed var(--line);padding-left:32px;min-width:144px;text-align:center}.welcome-stamp strong{font-size:54px;display:block;letter-spacing:-.06em;font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums}.welcome-stamp span{font-size:11px;color:var(--secondary);letter-spacing:.09em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.card>h2{margin-top:0;margin-bottom:24px;font-size:18px}.stat{grid-column:span 3;border:0;border-radius:0;background:transparent;border-left:1px solid var(--line);padding:4px 20px 8px;margin-bottom:16px}.stat:first-child{border-left:0;padding-left:0}.stat .muted{font-size:12px}.stat .num{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-.05em;margin-top:10px;font-variant-numeric:tabular-nums}.wide{grid-column:span 12}.half{grid-column:span 6}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-header h2{margin:0}.section-header .muted{font-size:12px}.list-row{padding:16px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row b{font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;background:var(--accent);color:var(--on-accent);transition:transform 120ms,opacity 120ms}.btn:hover:not(:disabled){opacity:.88}.btn:active:not(:disabled){transform:scale(.98)}.btn.secondary{background:var(--accent-soft);color:var(--accent)}.btn.danger{background:var(--danger-bg);color:var(--danger)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--secondary)}.btn.ghost:hover:not(:disabled){background:var(--inset);color:var(--ink)}.btn.sm{font-size:12px;min-height:40px;padding:8px 12px}.btn .icon{width:17px;height:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:840px}.field{display:grid;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600;color:var(--secondary)}.field input,.field textarea,.field select,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--control);color:var(--ink);min-height:44px}.field input::placeholder,.toolbar input::placeholder{color:var(--muted)}.field textarea{min-height:128px;resize:vertical}.field input:disabled{opacity:.6}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.field.actions{display:flex}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--secondary);background:var(--control)}.table td{font-size:13px}.table td b{font-weight:600}.table td:first-child{font-variant-numeric:tabular-nums}.table .actions{margin:0}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--control)}.badge{display:inline-flex;align-items:center;gap:6px;background:var(--inset);color:var(--secondary);border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;white-space:nowrap}.badge::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--warning-bg);color:var(--warning)}.badge.bad{background:var(--danger-bg);color:var(--danger)}.event-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.event-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--sheet);display:flex;flex-direction:column}.event-cover{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--control);border-bottom:1px dashed var(--line)}.date-stamp{display:grid;justify-items:center;min-width:44px}.date-stamp span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary)}.date-stamp strong{font-size:32px;font-weight:550;line-height:1.2;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.event-body{padding:20px;display:flex;flex-direction:column;flex:1}.event-body h3{margin:0 0 16px;line-height:1.35;font-size:17px;font-weight:600}.event-meta{display:grid;gap:8px;font-size:12px;color:var(--secondary);line-height:1.5}.event-meta .icon{width:14px;height:14px;margin-right:4px}.event-body .actions{margin-top:auto;padding-top:20px}.event-body .actions .btn{flex:1;white-space:nowrap}.event-card .ticket-number{font-size:9px;letter-spacing:.08em;color:var(--muted);text-align:right;margin-top:8px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{max-width:340px}.toolbar select{width:auto;min-width:170px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.pager-controls{display:flex;gap:12px;align-items:center}.pager-controls span{font-variant-numeric:tabular-nums}.empty{text-align:center;padding:48px 24px;color:var(--secondary);line-height:1.6}.empty .icon{display:block;margin:0 auto 12px;width:28px;height:28px}.notice{padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--warning-bg);color:var(--warning);margin-bottom:20px;font-size:13px;line-height:1.6}.notice.error{background:var(--danger-bg);color:var(--danger)}.notice.success{background:var(--success-bg);color:var(--success)}
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-hero{background:var(--hero);padding:40px 56px;display:flex;flex-direction:column;min-height:100dvh;justify-content:space-between;border-right:1px solid var(--line);gap:36px}.auth-story{padding:24px 0 8px}.auth-story h1{font-family:Georgia,serif;font-size:clamp(48px,5.4vw,84px);font-weight:400;line-height:1.04;letter-spacing:-.06em;margin:28px 0}.auth-story h1 em{font-weight:400;color:var(--accent)}.auth-story p{font-size:14px;line-height:1.8;color:var(--secondary);margin:0}.admission-ticket{display:grid;grid-template-columns:1fr 92px;border:1px solid var(--line);border-radius:12px;background:var(--paper);max-width:460px}.admission-ticket>div:first-child{padding:24px;display:grid;gap:12px}.admission-ticket strong{font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-.03em}.admission-ticket .eyebrow{font-size:8px}.ticket-caption{font-size:11px;color:var(--secondary)}.ticket-stub{border-left:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--accent)}.ticket-stub .icon{width:32px;height:32px}.ticket-stub span{font-size:8px;letter-spacing:.12em}.auth-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--secondary)}.auth-side{display:flex;flex-direction:column;padding:32px 48px;justify-content:space-between;gap:40px}.auth-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-top>.small{font-size:9px;letter-spacing:.13em}.auth-card{width:100%;max-width:400px;margin:0 auto}.auth-card h2{font-size:30px;line-height:1.15;font-weight:600;letter-spacing:-.045em;margin:16px 0 10px;max-width:360px}.auth-card>p{font-size:13px;margin-bottom:24px}.auth-card .form-grid{gap:16px}.auth-card .field input{background:var(--control);padding:13px 14px}.role-tabs{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;padding:4px;margin:24px 0;background:var(--inset)}.role-tabs button{flex:1;border:0;border-radius:5px;background:transparent;padding:10px 8px;min-height:40px;font-size:12px;color:var(--secondary)}.role-tabs button.active{background:var(--sheet);color:var(--ink);font-weight:650}.role-tabs button:hover{color:var(--accent)}.auth-submit{width:100%;justify-content:space-between;min-height:48px}.recovery-link{text-align:right;margin-top:-8px}.recovery-link .text-button{font-size:12px;justify-self:end;padding:0}.auth-switch{text-align:center;margin-top:24px;font-size:12px}.auth-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-bottom .small{font-size:10px}.auth-bottom .text-button{color:var(--secondary);font-weight:400}
.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--paper);padding:16px 20px;border:1px solid var(--line);border-radius:10px;z-index:100;max-width:min(420px,calc(100vw - 32px));font-size:13px;line-height:1.5;animation:appear 180ms ease-out}.toast.error{background:var(--danger-bg);color:var(--danger)}dialog.modal{color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:16px;padding:28px;width:min(640px,calc(100% - 32px));max-height:90dvh;overflow:auto;animation:appear 180ms ease-out}dialog.modal::backdrop{background:var(--overlay)}.modal .page-head{margin-bottom:24px}.modal h2{margin:0;font-size:24px}.event-detail-description{color:var(--secondary);line-height:1.7;white-space:pre-line;margin-bottom:24px}.event-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.detail-card{padding:16px;background:var(--control);border:1px solid var(--line);border-radius:8px;display:grid;gap:8px}.detail-card>span{font-size:11px;color:var(--secondary)}.detail-card strong{font-size:13px;font-weight:600}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--accent-soft);border-radius:8px;margin-top:16px}.modal-event-actions{display:flex;justify-content:flex-end;margin-top:24px}.subscribers-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.subscribers-section .section-header{margin-bottom:16px}.subscribers-section .section-header h3{margin:4px 0 0}.subscribers-table{min-width:720px}.compact-empty{padding:28px 16px;background:var(--control);border-radius:8px}
.loading{padding:60px 24px;text-align:center;color:var(--secondary)}.loading::before{content:"";display:block;width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin:0 auto 16px;animation:spin 900ms linear infinite}.skip-link{position:fixed;top:8px;left:8px;z-index:120;background:var(--accent);color:var(--on-accent);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.auth-hero{padding:48px 80px}.auth-side{padding:40px 64px}.auth-card{max-width:440px}}
@media(max-width:1180px){.content{padding:28px}.layout{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-hero{padding:32px}.auth-side{padding:28px 32px}.auth-story h1{font-size:62px}.auth-foot{flex-direction:column}.account-info{display:none}}
@media(max-width:800px){.topbar{height:64px;padding:0 20px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 64px)}.sidebar{position:static;height:auto;display:none;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar.open{display:flex}.sidebar-footer{display:none}.sidebar-tools{display:flex}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-button{display:inline-flex}.top-actions{gap:8px}.content{padding:24px}.stat{grid-column:span 3;padding:4px 12px}.stat .num{font-size:28px}.half{grid-column:span 12}.auth-hero{display:none}.auth-shell{grid-template-columns:1fr}.auth-side{min-height:100dvh;padding:24px;gap:36px}.auth-card{max-width:420px}.auth-top{max-width:600px;width:100%;margin:auto}.auth-bottom{max-width:600px;width:100%;margin:auto}.auth-card h2{font-size:32px}.welcome-panel{padding:24px}.welcome-panel h2{font-size:28px}}
@media(max-width:520px){.brand{font-size:18px;gap:8px}.logo{width:32px;height:32px;font-size:23px}.topbar{padding:0 16px}.topbar .theme-toggle{padding:8px}.topbar .theme-toggle>span:last-child{display:none}.content{padding:24px 16px}.page-head{align-items:flex-start;margin-bottom:24px}.page-head h1{font-size:27px}.page-head p{font-size:12px}.page-head>.btn{padding:8px;font-size:11px}.welcome-panel{padding:24px;grid-template-columns:1fr;gap:20px}.welcome-stamp{display:none}.grid{gap:16px}.stat{grid-column:span 6;padding:8px 16px;margin:0}.stat:nth-child(odd){border-left:0;padding-left:0}.stat .num{font-size:30px}.card{padding:20px}.event-list{grid-template-columns:1fr}.form-grid,.event-details-grid{grid-template-columns:1fr}.toolbar input{max-width:none}.toolbar select{width:100%}.pagination{align-items:flex-start;flex-direction:column;gap:12px}.pager-controls{width:100%;justify-content:space-between}.auth-side{padding:20px}.auth-top{gap:8px}.auth-card h2{font-size:30px}.auth-bottom{gap:8px}.auth-bottom .small{font-size:9px}.admission-ticket{grid-template-columns:1fr 72px}.top-actions .btn{font-size:11px}.modal .page-head{gap:8px}.modal h2{font-size:20px}.table th,.table td{padding:12px}.nav button{padding:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.btn.menu-button{display:none}
@media(max-width:800px){.btn.menu-button{display:inline-flex}}
@media(max-width:600px){.table,.table tbody{display:block}.table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px 0;border-bottom:1px dashed var(--line)}.table tr:last-child{border-bottom:0}.table td{display:flex;flex-direction:column;gap:8px;white-space:normal;border:0;padding:12px 8px;overflow-wrap:anywhere;align-items:flex-start}.table td::before{content:attr(data-label);font-size:9px;font-weight:500;color:var(--secondary);letter-spacing:.08em;text-transform:uppercase}.table td:first-child,.table td:last-child{grid-column:1/-1}.table td:first-child{font-size:15px}.table td:last-child{flex-direction:row;align-items:center;flex-wrap:wrap}.table td:last-child::before{width:100%}.table-wrap{overflow:visible}.table td .actions{margin:0;flex-wrap:wrap}}
.reception-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px;align-items:start}.reception-layout .card{min-width:0}.reception-form{border-top:3px solid var(--accent)}.reception-form h2{margin-top:8px}.reception-form .form-grid{gap:16px}.reception-form .form-grid p{margin:0}.reception-form .btn{width:100%;justify-content:center}.reception-roster{margin-top:24px}.reception-roster .section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.reception-roster h2{margin:8px 0}.reception-roster td:first-child{white-space:normal}.reception-roster td:first-child span{display:block;margin-top:4px}.reception-roster td{overflow-wrap:anywhere}
@media(max-width:1100px){.reception-layout{grid-template-columns:1fr}.reception-form .form-grid{grid-template-columns:1fr 1fr}.reception-form .field.full{grid-column:1/-1}}
@media(max-width:600px){.reception-roster .section-header{align-items:flex-start}.reception-layout{gap:16px}.reception-roster{margin-top:16px}}
.directory-filters h2{margin-top:0}.directory-filters .form-grid{gap:16px 24px}.directory-filters .form-grid p{margin:0}.directory-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}.directory-event{display:grid;gap:4px;margin:8px 0;white-space:normal}.directory-event a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.directory-table td{vertical-align:top;overflow-wrap:anywhere}.directory-table td:first-child{white-space:normal}
@media(max-width:600px){.directory-dates{grid-template-columns:1fr}.directory-table td:nth-child(2){grid-column:1/-1}.directory-table td:last-child{display:block}.directory-table td:last-child::before{display:block}}
.qr-ticket{text-align:center}.qr-ticket img{max-width:100%;height:auto;border-radius:8px;background:#fff}.qr-ticket code{display:block;overflow-wrap:anywhere;white-space:normal;padding:16px;background:var(--control);user-select:all}.qr-ticket details,.checkin-manual{margin-top:20px}.checkin-dialog summary{cursor:pointer;padding:12px 0}.qr-reader{width:100%;overflow:hidden;border-radius:8px;margin-bottom:16px}.checkin-dialog .field{margin-top:16px}.checkin-dialog [data-result]{margin-top:20px}.checkin-dialog video{max-width:100%}

/* Business logo */
.avatar{overflow:hidden;display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.business-logo-editor{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.business-logo-preview{width:96px;height:96px;border-radius:20px;border:1px solid var(--line);background:var(--inset);display:grid;place-items:center;overflow:hidden;font-size:34px;font-weight:700}.business-logo-preview img{width:100%;height:100%;object-fit:cover;display:block}.business-logo-field input[type=file]{max-width:100%}.event-business{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--secondary);font-size:12px;font-weight:600}.event-business img,.event-business-fallback{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--inset);object-fit:cover;display:grid;place-items:center}.organizer-brand{display:flex;align-items:center;gap:10px}.organizer-brand img{width:36px;height:36px;border-radius:9px;object-fit:cover;border:1px solid var(--line)}

/* Events: paper tickets, clear dates, and a single warm accent. */
.brand{gap:0;line-height:1}.brand-wordmark{font-family:var(--display);font-size:32px;font-weight:700;letter-spacing:-.075em;color:var(--ink)}.auth-mobile-brand{display:none}
.auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.auth-hero{padding:44px 64px;background:var(--hero);border-right:0}.auth-story{padding:12px 0}.auth-story .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent)}.auth-story .eyebrow::before{content:"";display:block;width:24px;height:1px;background:currentColor}.auth-story h1{font-family:var(--display);font-size:clamp(54px,5.6vw,90px);line-height:1.02;margin:32px 0 26px}.auth-story h1 em{color:var(--accent)}.auth-story p{font-size:15px;max-width:440px;line-height:1.7}.admission-ticket{max-width:490px;border-radius:16px;background:var(--sheet);box-shadow:0 1px 2px rgba(50,35,23,.04),0 12px 32px rgba(50,35,23,.06)}.admission-ticket>div:first-child{padding:26px 28px}.admission-ticket strong{font-family:var(--display);font-size:30px}.ticket-stub{background:var(--accent-soft);border-radius:0 15px 15px 0}.ticket-stub .icon{width:28px;height:28px}.auth-side{background:var(--paper);padding:40px 52px;gap:32px}.auth-card{max-width:460px;padding:34px 36px;background:var(--sheet);border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 2px rgba(50,35,23,.04),0 16px 48px rgba(50,35,23,.05)}.auth-card h2{font-family:var(--display);font-size:34px;font-weight:600;letter-spacing:-.045em}.auth-card .eyebrow{color:var(--accent)}.auth-card .field input{background:var(--control)}.auth-card .field input:focus-visible{background:var(--sheet)}.role-tabs{background:var(--inset);border:0;border-radius:10px}.role-tabs button{border-radius:7px}.role-tabs button.active{color:var(--accent);box-shadow:0 1px 4px rgba(50,35,23,.09)}.auth-submit{min-height:50px}
.topbar{height:80px;background:var(--sheet);padding:0 36px}.layout{grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 80px)}.sidebar{top:80px;height:calc(100vh - 80px);padding-top:36px}.nav button{position:relative;transition:background-color 160ms,color 160ms}.nav button.active{background:var(--accent-soft);color:var(--accent)}.nav button.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.content{max-width:1440px;padding:40px 44px 56px}.page-head h1{font-family:var(--display);font-size:36px;font-weight:600;letter-spacing:-.045em}.page-head p{font-size:14px}.page-head .eyebrow{color:var(--accent)}
.welcome-panel{background:var(--feature);color:var(--feature-ink);border:0;border-radius:18px;padding:32px 36px;box-shadow:0 12px 30px rgba(29,21,15,.1)}.welcome-panel .eyebrow{color:var(--feature-accent)}.welcome-panel h2{font-family:var(--display);font-size:38px;line-height:1.08;margin:14px 0}.welcome-panel p{color:var(--feature-muted);font-size:14px}.welcome-stamp{border-left-color:rgba(255,248,240,.24)}.welcome-stamp strong{font-size:64px}.welcome-stamp span{color:var(--feature-muted)}.grid{gap:16px}.card{border-radius:14px;box-shadow:0 1px 2px rgba(50,35,23,.03),0 8px 24px rgba(50,35,23,.035)}.stat{border:1px solid var(--line);border-radius:14px;background:var(--sheet);padding:20px 22px;margin:0 0 8px}.stat:first-child{border:1px solid var(--line);padding:20px 22px;background:var(--accent-soft)}.stat .muted{color:var(--secondary);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:650}.stat .num{font-size:38px;margin-top:12px;font-weight:600}.stat:first-child .num{color:var(--accent)}
.event-card{border-radius:14px;box-shadow:0 1px 2px rgba(50,35,23,.03),0 8px 24px rgba(50,35,23,.04);transition:transform 180ms cubic-bezier(.23,1,.32,1),box-shadow 180ms cubic-bezier(.23,1,.32,1)}.event-card:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(50,35,23,.06),0 14px 32px rgba(50,35,23,.08)}.event-cover{background:var(--accent-soft);border-bottom:1px dashed var(--line)}.date-stamp strong{color:var(--accent)}.event-body h3{font-family:var(--display);font-size:21px;font-weight:600;line-height:1.22}.btn{transition:transform 120ms cubic-bezier(.23,1,.32,1),background-color 160ms,color 160ms,opacity 160ms}.btn.secondary:hover:not(:disabled){background:var(--inset);opacity:1}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.toolbar input:focus-visible,.toolbar select:focus-visible{border-color:var(--focus);background:var(--sheet)}
:root[data-theme=dark] .card,:root[data-theme=dark] .event-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .admission-ticket{box-shadow:0 0 0 1px var(--line)}:root[data-theme=dark] .welcome-panel{box-shadow:none}
@media(max-width:1180px){.auth-hero{padding:36px}.auth-side{padding:32px}.auth-card{padding:30px}.content{padding:32px}.layout{grid-template-columns:208px minmax(0,1fr)}}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-mobile-brand{display:inline-flex}.auth-top>.small{display:none}.auth-card{max-width:480px}.auth-side{padding:28px 24px}.topbar{height:68px;padding:0 20px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 68px)}.sidebar{position:static;height:auto}.content{padding:28px 24px}.stat{grid-column:span 6}.welcome-panel h2{font-size:32px}}
@media(max-width:520px){.brand-wordmark{font-size:28px}.topbar{padding:0 16px}.auth-side{padding:20px 16px}.auth-card{padding:28px 22px;border-radius:16px}.auth-card h2{font-size:30px}.page-head h1{font-size:30px}.content{padding:24px 16px}.welcome-panel{padding:26px}.stat,.stat:first-child{padding:18px}.stat .num{font-size:34px}.event-body h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.event-card,.btn,.nav button{transition:none}.event-card:hover{transform:none}}
