:root{
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#f8fafc;--surface-3:#eef2f7;
  --text:#111827;--text-2:#344054;--muted:#667085;--line:#e4e7ec;
  --accent:#6d5dfc;--accent-2:#8b7cff;--accent-soft:#f0efff;
  --success:#12b76a;--success-soft:#ecfdf3;--warning:#f79009;--warning-soft:#fffaeb;
  --danger:#f04438;--danger-soft:#fef3f2;--info:#2e90fa;--info-soft:#eff8ff;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04);--shadow:0 12px 30px rgba(16,24,40,.08);--shadow-lg:0 28px 60px rgba(16,24,40,.14);
  --radius:18px;--radius-sm:12px;--sidebar:264px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.page-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:32px 0 56px}.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#9d65ff);box-shadow:0 8px 20px rgba(109,93,252,.28);position:relative}.brand-mark:after{content:"";position:absolute;width:10px;height:10px;border:3px solid #fff;border-radius:50%;left:9px;top:9px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}.card.hover{transition:.2s ease}.card.hover:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.between{display:flex;justify-content:space-between;align-items:center;gap:14px}.wrap-row{flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer;background:var(--surface);color:var(--text);transition:.18s ease;min-height:42px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 8px 18px rgba(109,93,252,.22)}.btn.secondary{background:var(--accent-soft);color:#5145cd}.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--text-2)}.btn.danger{background:var(--danger-soft);color:#b42318;border-color:#fecdca}.btn.sm{min-height:36px;padding:8px 11px;font-size:13px}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.icon-box{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:#5d4fe0;font-weight:800}.icon-box.success{background:var(--success-soft);color:#079455}.icon-box.warning{background:var(--warning-soft);color:#dc6803}.icon-box.info{background:var(--info-soft);color:#1570ef}
input,select,textarea{width:100%;background:#fff;border:1px solid #d0d5dd;color:var(--text);border-radius:12px;padding:11px 13px;outline:none;transition:.15s ease;box-shadow:0 1px 2px rgba(16,24,40,.03)}input:focus,select:focus,textarea:focus{border-color:#8b7cff;box-shadow:0 0 0 4px rgba(109,93,252,.1)}textarea{min-height:120px;resize:vertical}.field{margin-bottom:16px}.label{display:flex;justify-content:space-between;gap:10px;margin:0 0 7px;color:var(--text-2);font-size:13px;font-weight:650}.hint{font-size:12px;color:var(--muted);margin-top:6px}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:#7f6cf5}.divider{height:1px;background:var(--line);margin:18px 0}
.hero{padding:64px 0 40px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.055em;margin:12px 0 18px}.hero p{font-size:18px;line-height:1.7;max-width:760px}.pill,.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-3);color:#475467;font-size:12px;font-weight:700}.badge.success{background:var(--success-soft);color:#027a48}.badge.warning{background:var(--warning-soft);color:#b54708}.badge.danger{background:var(--danger-soft);color:#b42318}.badge.info{background:var(--info-soft);color:#175cd3}.badge.purple{background:var(--accent-soft);color:#5945d8}
.section-title{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}.section-desc{margin:0;color:var(--muted);font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-title{font-size:30px;letter-spacing:-.035em;margin:0 0 5px}.page-subtitle{margin:0;color:var(--muted);font-size:14px}
/* public event */
.event-shell{min-height:100vh;background:#090b13;color:#fff;--event-primary:#7c3aed}.event-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(900px 500px at 50% -100px,color-mix(in srgb,var(--event-primary) 52%,transparent),transparent 68%),radial-gradient(650px 420px at 105% 25%,color-mix(in srgb,var(--event-primary) 25%,transparent),transparent 70%)}.event-shell .card{background:rgba(17,20,31,.9);border-color:rgba(255,255,255,.1);color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.24);backdrop-filter:blur(12px)}.event-shell .muted{color:#aeb7c8}.event-shell .pill{background:rgba(255,255,255,.09);color:#e6eaff}.event-shell input,.event-shell select,.event-shell textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13);color:#fff}.event-shell input::file-selector-button{border:0;border-radius:9px;padding:7px 10px;margin-right:10px;background:rgba(255,255,255,.12);color:#fff}.event-shell .label{color:#d7ddec}.event-nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px 0}.event-header{position:relative;z-index:1;text-align:center;padding:52px 20px 34px}.event-header h1{font-size:clamp(40px,7vw,76px);letter-spacing:-.055em;line-height:1.01;margin:12px auto;max-width:900px}.event-header p{color:#cbd3e3;font-size:17px;max-width:680px;margin:0 auto 22px;line-height:1.65}.style-grid{position:relative;z-index:1}.style-card{display:flex;flex-direction:column;gap:12px;min-height:260px;overflow:hidden;position:relative}.style-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-75px;background:color-mix(in srgb,var(--event-primary) 30%,transparent);filter:blur(3px)}.style-card>*{position:relative}.style-card h2{margin:4px 0;font-size:23px}.style-card .price{font-size:26px;font-weight:850;letter-spacing:-.03em;margin-top:auto}.style-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--event-primary) 23%,rgba(255,255,255,.07));font-size:20px;font-weight:900}.event-shell .btn.ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}.event-shell .btn.primary{background:linear-gradient(135deg,var(--event-primary),color-mix(in srgb,var(--event-primary) 62%,#fff));box-shadow:0 9px 25px color-mix(in srgb,var(--event-primary) 28%,transparent)}
.stepper{display:flex;gap:8px;margin:0 0 24px}.step{flex:1;height:5px;border-radius:99px;background:rgba(255,255,255,.12)}.step.active{background:var(--event-primary)}.upload-zone{border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.035);border-radius:16px;padding:22px;text-align:center}.upload-zone strong{display:block;margin-bottom:4px}.session-card{max-width:760px;margin:44px auto;position:relative;z-index:1}.price-summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:10px}.price-summary strong{font-size:22px}.preview{aspect-ratio:4/3;border-radius:18px;background:#0a1020;border:1px dashed rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain}.status{padding:7px 10px;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800}.status.pending{background:#3a2b0f;color:#facc15}.status.paid{background:#10351e;color:#4ade80}.status.done{background:#0d2f3a;color:#67e8f9}.qr-placeholder{background:#fff;color:#111;border-radius:18px;padding:28px;min-height:300px;display:grid;place-items:center;text-align:center}.flow-note{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}.flow-note:last-child{border:0}.flow-num{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);font-weight:800}
/* Admin shell */
.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;background:#0c111d;color:#d0d5dd;border-right:1px solid #1f2937;padding:18px 14px;z-index:50;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.sidebar>*{flex-shrink:0}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#2d3748;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:#475467}.sidebar{scrollbar-width:thin;scrollbar-color:#2d3748 transparent}.sidebar .brand{padding:7px 10px 22px;color:#fff}.side-section{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#667085;padding:16px 12px 7px}.side-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:#98a2b3;font-weight:650;font-size:14px;margin:2px 0;transition:.15s}.side-link:hover{background:#151c2c;color:#fff}.side-link.active{background:linear-gradient(135deg,rgba(109,93,252,.23),rgba(139,124,255,.08));color:#fff}.side-icon{width:20px;text-align:center;font-size:15px}.sidebar-bottom{margin-top:auto;border-top:1px solid #1f2937;padding-top:14px}.content{margin-left:var(--sidebar);min-height:100vh;padding:26px 30px 56px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.admin-user{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b44d6;display:grid;place-items:center;font-weight:850}.mobile-menu{display:none}.admin-actions{display:flex;align-items:center;gap:10px}.top-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px;color:var(--text-2)}.top-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--success)}
.kpi-card{padding:20px}.kpi-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.kpi{font-size:31px;font-weight:850;letter-spacing:-.04em}.kpi-foot{font-size:12px;color:var(--muted);margin-top:5px}.metric-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:#5945d8;font-size:18px}.metric-icon.green{background:var(--success-soft);color:#079455}.metric-icon.blue{background:var(--info-soft);color:#1570ef}.metric-icon.orange{background:var(--warning-soft);color:#dc6803}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-action{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.15s}.quick-action:hover{border-color:#c7bfff;box-shadow:var(--shadow-sm)}.quick-action strong{display:block;font-size:14px;margin-bottom:3px}.quick-action span{font-size:12px;color:var(--muted)}
.table-wrap{overflow:auto;border-radius:14px;border:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 14px;border-bottom:1px solid #edf0f3;text-align:left;font-size:13px;white-space:nowrap}th{color:#667085;background:#f9fafb;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:750}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fcfcfd}.td-main{font-weight:700;color:#1d2939}.td-sub{font-size:12px;color:var(--muted);margin-top:2px}.empty{padding:38px;text-align:center;color:var(--muted)}
.event-list-card{display:flex;gap:16px;align-items:flex-start}.event-swatch{width:52px;height:52px;border-radius:15px;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-weight:850;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.event-list-body{min-width:0;flex:1}.event-list-body h3{margin:1px 0 5px;font-size:17px}.event-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.event-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.event-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.form-section{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.form-section+.form-section{margin-top:14px}.form-section-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.form-section-head h3{font-size:16px;margin:1px 0 3px}.form-section-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.color-field{display:grid;grid-template-columns:42px 1fr;gap:9px}.color-preview{width:42px;height:42px;border-radius:11px;border:1px solid var(--line)}
.template-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.template-option{border:1px solid var(--line);border-radius:13px;padding:13px;cursor:pointer;background:#fff}.template-option:hover{border-color:#bcb2ff}.template-option strong{display:block;font-size:13px}.template-option small{color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.login-visual{position:relative;background:linear-gradient(145deg,#171329,#0c111d);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(5px)}.login-visual:before{width:420px;height:420px;background:rgba(109,93,252,.38);top:-150px;right:-120px}.login-visual:after{width:300px;height:300px;background:rgba(23,178,106,.13);bottom:-100px;left:-80px}.login-copy{position:relative;z-index:1;max-width:560px}.login-copy h1{font-size:52px;letter-spacing:-.055em;line-height:1.02;margin:14px 0}.login-copy p{color:#b8c0cf;line-height:1.7}.login-panel{display:grid;place-items:center;padding:28px}.login-card{width:min(430px,100%)}.login-card h2{font-size:30px;letter-spacing:-.03em;margin:0 0 8px}
/* booth */
.booth{min-height:100vh;display:grid;place-items:center;padding:34px;text-align:center;background:#060810;color:#fff}.booth-box{max-width:1200px;width:100%;position:relative}.booth-title{font-size:clamp(52px,7vw,96px);letter-spacing:-.06em;line-height:.98;margin:8px 0 16px}.booth-sub{font-size:clamp(20px,2vw,28px);color:#c4cada;max-width:760px;margin:0 auto 28px}.booth-content{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:42px;text-align:left}.booth-qr-wrap{text-align:center}.booth .qr{background:#fff;padding:18px;border-radius:24px;display:inline-block;box-shadow:0 25px 60px rgba(0,0,0,.4)}.booth-label{font-size:18px;font-weight:750;margin-top:18px}.booth-url{color:#8f98a9;font-size:13px;word-break:break-all}.booth-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}.booth-badge i{width:7px;height:7px;background:#32d583;border-radius:50%}.booth-steps{display:grid;gap:10px}.booth-step{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:13px 15px;border-radius:14px}.booth-step-num{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.1);font-weight:800}
.gallery{columns:3 280px;column-gap:16px}.gallery-item{break-inside:avoid;margin-bottom:16px}.gallery-item img{width:100%;border-radius:14px;display:block}.gallery-meta{padding-top:12px}.gallery-meta p{margin:0}.gallery-meta small{color:#aeb7c8}.alert{padding:12px 14px;border-radius:12px;background:var(--warning-soft);border:1px solid #fedf89;color:#93370d;margin-bottom:14px;font-size:13px}.success-alert{padding:12px 14px;border-radius:12px;background:var(--success-soft);border:1px solid #abefc6;color:#05603a;margin-bottom:14px;font-size:13px}
@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:1fr}.booth-content{grid-template-columns:1fr;text-align:center}.booth-steps{max-width:680px;margin:auto;text-align:left}}
@media(max-width:820px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.wrap,.page-wrap{width:min(100% - 28px,1180px)}.sidebar{transform:translateX(-100%);transition:.2s ease}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.3)}.content{margin-left:0;padding:18px 16px 40px}.mobile-menu{display:inline-flex}.admin-top{margin-bottom:22px}.admin-actions .top-chip{display:none}.hero{padding-top:38px}.hero h1{font-size:46px}.event-header{padding-top:28px}.event-header h1{font-size:44px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.template-options{grid-template-columns:1fr 1fr}.gallery{columns:2 160px}.table-wrap{margin:0 -2px}.event-list-card{flex-wrap:wrap}}
@media(max-width:520px){.grid{gap:12px}.card{padding:17px}.page-title{font-size:25px}.admin-top{align-items:flex-start}.admin-user .muted{display:none}.template-options{grid-template-columns:1fr}.gallery{columns:1}.booth{padding:22px}.booth-title{font-size:48px}.booth .qr{padding:12px}.event-nav .brand span:last-child{display:none}}
#uploadPreview img{width:100%;max-height:330px;object-fit:contain;border-radius:12px;display:block;margin:auto}.upload-zone:has(img){padding:10px}
.ai-orb{width:72px;height:72px;border-radius:24px;margin:auto;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--event-primary) 75%,#fff),color-mix(in srgb,var(--event-primary) 48%,#131b2d));box-shadow:0 18px 50px color-mix(in srgb,var(--event-primary) 28%,transparent);font-size:30px}.ai-orb span{animation:pulseGlow 1.5s ease-in-out infinite}.loading-line{height:6px;max-width:280px;margin:20px auto 0;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.loading-line i{display:block;width:42%;height:100%;border-radius:inherit;background:var(--event-primary);animation:loadingMove 1.15s ease-in-out infinite}.integration-meta{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.integration-meta span{color:var(--muted)}.check-list{display:grid;gap:12px}.check-list>div{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.check-list>div:last-child{border-bottom:0}.check-dot{width:18px;height:18px;border-radius:50%;background:#fef0c7;border:5px solid #fdb022}.check-dot.ok{background:#dcfae6;border-color:#17b26a}.copy-field{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f9fafb}.copy-field code{flex:1;overflow:auto;font-size:12px}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.12em;color:#7f6bf2}.page-title{margin:5px 0 3px;font-size:30px;letter-spacing:-.04em}.page-subtitle{margin:0;color:var(--muted);font-size:13px}@keyframes loadingMove{0%{transform:translateX(-110%)}50%{transform:translateX(85%)}100%{transform:translateX(260%)}}@keyframes pulseGlow{50%{transform:scale(1.16);opacity:.72}}
/* Operator console */
.operator-sidebar{background:#0b1320}.operator-content{background:#f5f7fb}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.health-grid>div{padding:11px;border:1px solid var(--line);border-radius:12px;background:#f9fafb}.health-grid span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.health-grid strong{display:block;margin-top:4px;font-size:13px;text-transform:capitalize}.health-online{color:#079455}.health-offline,.health-error{color:#d92d20}.health-degraded{color:#dc6803}.health-unknown{color:#667085}.operator-danger-zone{border:1px solid #fecdca;background:#fffbfa;border-radius:14px;padding:13px}.operator-danger-zone summary{cursor:pointer;font-weight:750;color:#b42318}.operator-media{width:100%;aspect-ratio:4/3;object-fit:contain;background:#0b111d;border-radius:14px;border:1px solid var(--line)}.operator-media-placeholder{display:grid;place-items:center;aspect-ratio:4/3;background:#f8fafc;border:1px dashed var(--line);border-radius:14px}.operator-history,.incident-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.operator-history:last-child,.incident-item:last-child{border-bottom:0}.booth-assist-banner{display:inline-flex;max-width:760px;padding:12px 16px;margin:0 0 22px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(247,144,9,.13);color:#ffdca8;font-weight:700}.operator-booth-card{border-top:3px solid #7f6bf2}
@media(max-width:620px){.health-grid{grid-template-columns:1fr}.operator-history,.incident-item{flex-direction:column}.operator-danger-zone .row{align-items:stretch}}

/* V4 event builder + capture runtime */
.event-shell{background-image:linear-gradient(rgba(9,11,19,.84),rgba(9,11,19,.96)),var(--event-cover,none);background-size:cover;background-position:center;background-attachment:fixed}.event-logo{display:block;max-width:150px;max-height:78px;object-fit:contain;margin:0 auto 18px}.theme-minimal .style-card:before{display:none}.theme-minimal .event-header h1{font-weight:650}.theme-cinematic .event-header h1{text-transform:uppercase;letter-spacing:-.035em}.theme-cinematic .card{background:rgba(8,10,15,.86)}
.template-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.template-choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff;cursor:pointer;transition:.15s}.template-choice:has(input:checked){border-color:#8b7cff;box-shadow:0 0 0 3px rgba(109,93,252,.09);background:#faf9ff}.template-choice input{width:auto}.template-choice small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.template-dot{width:31px;height:31px;border-radius:10px;flex:0 0 31px}.brand-preview{width:100%;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:#f8fafc}.input-with-unit{display:flex;width:100%;min-width:0;border:1px solid #d0d5dd;border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.input-with-unit:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.10)}.input-with-unit input{flex:1;min-width:0;width:100%;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.input-with-unit span{display:flex;align-items:center;flex:0 0 auto;padding:0 13px;background:#f9fafb;color:var(--muted);font-size:13px;border-left:1px solid var(--line);white-space:nowrap}.setting-row{padding:12px;border:1px solid var(--line);border-radius:12px}.style-admin-row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.style-admin-row:last-child{border-bottom:0}.style-admin-row p{margin:6px 0 0;line-height:1.45}
.capture-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.capture-choice.single{grid-template-columns:1fr}.capture-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.035);cursor:pointer;transition:.15s}.capture-option input{position:absolute;opacity:0;pointer-events:none}.capture-option.selected{border-color:color-mix(in srgb,var(--event-primary) 72%,#fff);background:color-mix(in srgb,var(--event-primary) 16%,rgba(255,255,255,.04));box-shadow:0 0 0 3px color-mix(in srgb,var(--event-primary) 12%,transparent)}.capture-option strong{display:block}.capture-option small{display:block;color:#aeb7c8;margin-top:3px;line-height:1.35}.capture-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:19px}.camera-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 14px;padding:12px;border-radius:13px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.camera-runtime{margin:0;background:#050710;color:#fff;min-height:100vh}.camera-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:22px;gap:16px;background:radial-gradient(900px 500px at 20% 0,color-mix(in srgb,var(--event-primary) 34%,transparent),transparent 70%),#050710}.camera-head,.camera-footer{display:flex;justify-content:space-between;align-items:center;gap:18px}.camera-head h1{font-size:25px;margin:10px 0 0}.camera-stage{position:relative;min-height:0;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:#02040a;box-shadow:0 28px 70px rgba(0,0,0,.35)}.camera-stage video,.camera-stage>img{width:100%;height:100%;max-height:calc(100vh - 190px);min-height:480px;object-fit:cover;display:block;transform:scaleX(-1)}.camera-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,rgba(109,93,252,.15),rgba(5,7,16,.86));z-index:3}.camera-overlay h2{font-size:38px;margin:12px 0}.camera-overlay p{color:#aeb7c8;font-size:18px}.camera-orb{width:80px;height:80px;border-radius:26px;margin:auto;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:34px}.camera-countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:min(28vw,280px);font-weight:900;text-shadow:0 15px 50px rgba(0,0,0,.7);z-index:5;background:rgba(0,0,0,.18)}.camera-footer strong{display:block;margin-top:3px}.camera-actions{display:flex;gap:10px}.camera-wait{background:linear-gradient(135deg,#2563eb,#7c3aed)}
.booth-screen-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.schedule-form{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f9fafb}.schedule-list{display:grid;gap:8px;margin-top:12px}.schedule-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.schedule-row small{display:block;color:var(--muted);margin-top:3px}.device-token{display:block;margin-top:5px;font-size:12px;background:#f2f4f7;padding:8px 10px;border-radius:9px;word-break:break-all}.promo-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:45px;align-items:center;text-align:left}.promo-queue{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.promo-queue>div{min-width:120px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.promo-queue strong{display:block;font-size:26px}.promo-queue span{font-size:11px;color:#8f98a9}.booth-logo{max-width:180px;max-height:80px;object-fit:contain;margin:25px 0 0}.promo-gallery{position:fixed;inset:0;z-index:-1;opacity:.14}.promo-gallery:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050710 35%,rgba(5,7,16,.64),#050710)}.promo-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}.promo-gallery img.active{opacity:1}
@media(max-width:900px){.promo-layout{grid-template-columns:1fr;text-align:center}.capture-choice{grid-template-columns:1fr}.camera-stage video,.camera-stage>img{min-height:380px}.template-picker{grid-template-columns:1fr}.camera-head,.camera-footer{flex-wrap:wrap}}
.funnel-row{padding:11px 0}.bar{height:8px;border-radius:999px;background:#eef2f6;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.hour-bars{display:grid;gap:8px}.hour-bars>div{display:grid;grid-template-columns:55px 1fr 45px;align-items:center;gap:10px;font-size:12px}.hour-bars strong{text-align:right}
.paper-meter{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f9fafb;border:1px solid var(--line)}

/* V5 fleet management */
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.check-card input{width:auto;margin-top:3px}.check-card span{display:flex;flex-direction:column;gap:2px}.check-card small{color:var(--muted)}.fleet-list{display:flex;flex-direction:column;gap:10px}.fleet-row{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.fleet-booth{display:flex;flex-direction:column;gap:3px}.fleet-booth small{color:var(--muted)}.fleet-slots{display:flex;gap:10px;flex-wrap:wrap}.fleet-slot{border-left:5px solid var(--slot-color,#7c3aed);background:#f8fafc;border-radius:10px;padding:9px 10px;min-width:220px;display:flex;align-items:center;justify-content:space-between;gap:12px}.fleet-slot div{display:flex;flex-direction:column;gap:2px}.fleet-slot small{color:var(--muted)}.empty-inline{color:var(--muted);padding:10px 0}@media(max-width:820px){.fleet-row{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}}


/* V6 sponsors, queue, recovery, venues */
.sponsor-strip{position:relative;z-index:1}.sponsor-logos{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:14px}.sponsor-logo-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:110px}.sponsor-logo-item img{max-width:130px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:6px}.sponsor-logo-item span{font-size:10px;letter-spacing:.08em;color:#98a2b3}.booth-sponsors{margin-top:22px}.booth-sponsors>span{font-size:11px;letter-spacing:.12em;color:#98a2b3}.booth-sponsors>div{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:9px}.booth-sponsors img{max-width:105px;max-height:38px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.queue-display-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:22px;margin-top:26px}.queue-now,.queue-next{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:22px;padding:26px}.queue-now span,.queue-next>span{font-size:12px;letter-spacing:.12em;color:#aab4c8;font-weight:800}.queue-now strong{display:block;font-size:clamp(70px,12vw,150px);line-height:1;margin:18px 0 10px}.queue-now small{font-size:20px;color:#dbe3f4}.queue-next-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.queue-next-list>div{background:rgba(255,255,255,.06);border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.queue-next-list strong{font-size:26px}.queue-next-list small{color:#aab4c8}.queue-current-card{background:var(--accent-soft);border-radius:16px;padding:22px;display:flex;align-items:center;gap:18px}.queue-current-card>strong{font-size:34px;color:#5945d8}.queue-current-card>span{color:var(--text-2)}
@media(max-width:820px){.queue-display-grid{grid-template-columns:1fr}.queue-next-list{grid-template-columns:1fr 1fr}.sponsor-logos{gap:12px}.sponsor-logo-item{min-width:90px}}

/* KANAN marketing site */
.marketing-body{background:#f7f8fc;color:#101828;overflow-x:hidden}.marketing-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.marketing-nav-wrap{position:sticky;top:0;z-index:80;background:rgba(247,248,252,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,24,40,.07)}.marketing-nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.marketing-brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.08em;color:#101828}.marketing-logo{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:15px;box-shadow:0 9px 24px rgba(79,70,229,.24)}.marketing-links{display:flex;align-items:center;gap:26px}.marketing-links a{font-size:13px;font-weight:700;color:#667085}.marketing-links a:hover{color:#101828}.marketing-actions{display:flex;gap:8px}.marketing-hero{min-height:700px;display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center;padding-top:64px;padding-bottom:70px}.marketing-eyebrow{font-size:12px;font-weight:850;letter-spacing:.14em;color:#5b5bd6;display:flex;align-items:center;gap:9px;text-transform:uppercase}.marketing-pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.marketing-hero h1{font-size:clamp(46px,6.2vw,78px);line-height:.99;letter-spacing:-.055em;margin:22px 0;color:#101828}.marketing-hero h1 span{background:linear-gradient(95deg,#6d28d9,#2563eb 58%,#0891b2);-webkit-background-clip:text;color:transparent}.marketing-hero-copy>p{font-size:18px;line-height:1.75;color:#667085;max-width:680px}.marketing-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn.xl{padding:15px 21px;border-radius:14px;font-size:14px}.marketing-proof-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4e7ec;margin-top:34px;padding-top:24px;gap:16px}.marketing-proof-row div{display:flex;flex-direction:column;gap:4px}.marketing-proof-row strong{font-size:13px}.marketing-proof-row span{font-size:12px;color:#98a2b3}.marketing-hero-visual{position:relative;min-height:520px;display:flex;align-items:center}.marketing-window{width:100%;background:#101828;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:9px;box-shadow:0 40px 100px rgba(16,24,40,.24);transform:rotate(1deg)}.marketing-window-head{height:42px;display:flex;align-items:center;gap:7px;padding:0 12px;color:#98a2b3;font-size:11px}.marketing-window-head>span{width:9px;height:9px;border-radius:50%;background:#344054}.marketing-window-head>b{margin-left:8px;font-weight:700}.marketing-window-body{background:#f8fafc;border-radius:17px;padding:18px}.marketing-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.marketing-stat-grid>div{background:#fff;border:1px solid #eaecf0;padding:15px;border-radius:14px}.marketing-stat-grid small{display:block;color:#98a2b3;font-size:10px}.marketing-stat-grid strong{display:block;font-size:27px;margin:6px 0 3px}.marketing-stat-grid em{font-size:9px;color:#12b76a;font-style:normal}.marketing-fleet-list{background:#fff;border:1px solid #eaecf0;border-radius:15px;margin-top:12px;padding:5px 14px}.marketing-fleet-list>div{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f2f4f7}.marketing-fleet-list>div:last-child{border:0}.marketing-fleet-list span{display:flex;flex-direction:column;flex:1}.marketing-fleet-list b{font-size:11px}.marketing-fleet-list small{font-size:9px;color:#98a2b3;margin-top:3px}.marketing-fleet-list em{font-size:8px;font-weight:900;font-style:normal;color:#027a48;background:#ecfdf3;padding:5px 7px;border-radius:999px}.fleet-dot{width:8px;height:8px;border-radius:50%}.fleet-dot.green{background:#12b76a}.fleet-dot.amber{background:#f79009}.floating-card{position:absolute;background:#fff;border:1px solid #eaecf0;border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.16)}.floating-ai{left:-28px;bottom:44px;padding:12px 15px;display:flex;align-items:center;gap:10px}.floating-ai>span{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#f4ebff;color:#7f56d9}.floating-ai div{display:flex;flex-direction:column}.floating-ai b{font-size:11px}.floating-ai small{color:#98a2b3;font-size:9px}.floating-queue{right:-16px;top:58px;padding:13px 17px;display:flex;align-items:center;gap:8px}.floating-queue b{font-size:20px}.floating-queue span{font-size:8px;font-weight:900;background:#ecfdf3;color:#027a48;border-radius:999px;padding:4px 6px}.marketing-band{border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;background:#fff}.marketing-band-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#98a2b3;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.marketing-section{padding-top:105px;padding-bottom:105px}.marketing-section-head{max-width:750px;margin-bottom:45px}.marketing-section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:15px 0;color:#101828}.marketing-section-head>p{font-size:16px;line-height:1.7;color:#667085}.marketing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.marketing-feature{background:#fff;border:1px solid #eaecf0;border-radius:20px;padding:25px;min-height:245px;transition:.2s ease}.marketing-feature:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(16,24,40,.08)}.marketing-feature.featured{background:linear-gradient(145deg,#151b2d,#23234d);color:#fff;border-color:transparent}.marketing-feature h3{font-size:18px;margin:20px 0 10px}.marketing-feature p{font-size:13px;line-height:1.75;color:#667085}.marketing-feature.featured p{color:#cbd5e1}.feature-icon{width:42px;height:42px;border-radius:13px;background:#f4ebff;color:#6941c6;display:grid;place-items:center;font-weight:900}.marketing-feature.featured .feature-icon{background:rgba(255,255,255,.12);color:#fff}.feature-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.feature-tags span{font-size:9px;background:rgba(255,255,255,.1);border-radius:999px;padding:5px 8px;color:#ddd6fe}.marketing-section-dark{background:#0d1220;color:#fff}.marketing-section-head.light h2{color:#fff}.usecase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.usecase-card{min-height:370px;border-radius:22px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.11)}.usecase-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 10%,rgba(255,255,255,.14),transparent 36%);pointer-events:none}.usecase-card.wedding{background:linear-gradient(160deg,#5b3548,#241d2a)}.usecase-card.auto{background:linear-gradient(160deg,#4c260f,#18181b)}.usecase-card.corporate{background:linear-gradient(160deg,#153a62,#111827)}.usecase-card.community{background:linear-gradient(160deg,#422a71,#161427)}.usecase-label{font-size:9px;font-weight:900;letter-spacing:.16em;color:#d0d5dd}.usecase-card h3{font-size:23px;margin:10px 0}.usecase-card p{font-size:13px;line-height:1.7;color:#d0d5dd}.usecase-card>span{font-size:10px;color:#98a2b3;margin-top:14px}.marketing-steps{display:flex;align-items:stretch;gap:10px}.marketing-steps>div{flex:1;background:#fff;border:1px solid #eaecf0;border-radius:17px;padding:20px;display:flex;gap:12px}.marketing-steps>div>b{font-size:11px;color:#7f56d9}.marketing-steps>div span{display:flex;flex-direction:column;gap:5px}.marketing-steps strong{font-size:13px}.marketing-steps small{font-size:11px;color:#98a2b3}.marketing-steps>i{display:grid;place-items:center;color:#d0d5dd;font-style:normal}.operational-section{background:linear-gradient(180deg,#fff,#f2f4f7)}.operational-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.operational-grid h2{font-size:clamp(35px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:15px 0}.operational-grid p{color:#667085;line-height:1.75}.operational-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.operational-checks span{font-size:12px;font-weight:700}.ops-card{background:#101828;color:#fff;padding:23px;border-radius:22px;box-shadow:0 25px 60px rgba(16,24,40,.18)}.ops-head{display:flex;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #344054}.ops-head span{font-size:9px;color:#6ce9a6;background:#054f31;padding:5px 8px;border-radius:999px}.ops-line{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #1d2939;font-size:12px}.ops-line b.ok{color:#6ce9a6}.ops-line b.warn{color:#fec84b}.ops-alert{margin-top:15px;background:#3b2a08;color:#fec84b;padding:11px;border-radius:10px;font-size:10px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value-grid>div{border-top:2px solid #7f56d9;padding:20px 5px}.value-grid strong{font-size:15px}.value-grid p{font-size:12px;line-height:1.65;color:#667085}.faq-section{background:#fff}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid #eaecf0;padding:19px 0}.faq-list summary{font-weight:800;cursor:pointer;font-size:14px}.faq-list p{color:#667085;line-height:1.7;font-size:13px;max-width:760px}.contact-section{background:#101828;color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-grid h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.04em;line-height:1.05;margin:15px 0}.contact-grid>div>p{color:#98a2b3;line-height:1.7}.contact-domain{font-size:22px;font-weight:900;margin-top:30px}.lead-card{background:#fff;color:#101828;border-radius:22px;padding:28px}.lead-card input,.lead-card select,.lead-card textarea{background:#f9fafb;color:#101828;border-color:#d0d5dd}.marketing-footer{background:#080c15;color:#98a2b3;padding:32px 0}.marketing-footer>.marketing-container{display:flex;align-items:center;justify-content:space-between;gap:20px}.marketing-footer p{font-size:11px}.marketing-footer div:last-child{display:flex;gap:18px}.marketing-footer a{font-size:11px;color:#98a2b3}
@media(max-width:980px){.marketing-links{display:none}.marketing-hero{grid-template-columns:1fr;padding-top:80px}.marketing-hero-visual{min-height:440px}.marketing-feature-grid{grid-template-columns:repeat(2,1fr)}.usecase-grid{grid-template-columns:repeat(2,1fr)}.operational-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.value-grid{grid-template-columns:repeat(2,1fr)}.marketing-steps{display:grid;grid-template-columns:1fr 1fr}.marketing-steps>i{display:none}.marketing-band-inner{flex-wrap:wrap;justify-content:center;padding:24px 0}.floating-ai{left:5px}.floating-queue{right:5px}}
@media(max-width:640px){.marketing-container{width:min(100% - 28px,1180px)}.marketing-nav{height:66px}.marketing-actions .ghost{display:none}.marketing-hero{min-height:auto;padding:65px 0}.marketing-hero h1{font-size:45px}.marketing-hero-copy>p{font-size:15px}.marketing-proof-row{grid-template-columns:1fr}.marketing-hero-visual{min-height:350px}.marketing-window{transform:none}.marketing-stat-grid{grid-template-columns:1fr 1fr}.marketing-stat-grid>div:last-child{display:none}.floating-card{display:none}.marketing-section{padding-top:75px;padding-bottom:75px}.marketing-feature-grid,.usecase-grid,.value-grid,.operational-checks{grid-template-columns:1fr}.marketing-steps{grid-template-columns:1fr}.usecase-card{min-height:300px}.marketing-footer>.marketing-container{align-items:flex-start;flex-direction:column}.contact-grid{gap:28px}.lead-card{padding:20px}.lead-card .grid-2{grid-template-columns:1fr}}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid>div{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:11px}.detail-grid span{display:block;font-size:10px;color:#98a2b3;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.detail-grid strong{display:block;font-size:12px;overflow-wrap:anywhere}.surface{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px}.tiny{font-size:9px}@media(max-width:1080px){.grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.grid-5,.detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.grid-5,.detail-grid{grid-template-columns:1fr}}


/* V8 Visual Theme Builder */
.builder-layout{display:grid;grid-template-columns:minmax(360px,500px) minmax(0,1fr);gap:22px;align-items:start}
.builder-panel{max-height:none}.builder-group{padding:16px 0;border-top:1px solid var(--line)}.builder-group:first-of-type{border-top:0}.builder-group h3{font-size:14px;margin:0 0 12px}
.builder-preview-sticky{position:sticky;top:18px}.theme-preview{--pv-accent:#7c3aed;--pv-bg:#090b13;--pv-surface:#11141f;--pv-text:#fff;--pv-muted:#aeb7c8;--pv-radius:22px;--pv-button-radius:14px;--pv-font:Inter,system-ui,sans-serif;--pv-overlay:.84;position:relative;overflow:hidden;border-radius:24px;min-height:720px;background:var(--pv-bg);color:var(--pv-text);font-family:var(--pv-font);box-shadow:0 28px 70px rgba(16,24,40,.18)}
.theme-preview:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(9,11,19,var(--pv-overlay)),rgba(9,11,19,min(1,calc(var(--pv-overlay) + .08)))),var(--pv-cover,none);background-size:cover;background-position:center}
.theme-preview-overlay{position:absolute;inset:0;background:radial-gradient(500px 280px at 50% -40px,color-mix(in srgb,var(--pv-accent) 42%,transparent),transparent 70%)}
.theme-preview-content{position:relative;z-index:1;padding:24px}.theme-preview-nav{display:flex;justify-content:space-between;align-items:center;font-size:12px}.theme-preview-brand{display:flex;align-items:center;gap:9px}.theme-preview-brand img{width:42px;height:28px;object-fit:contain}.theme-preview-brand span{width:28px;height:28px;border-radius:9px;background:var(--pv-accent);display:grid;place-items:center;color:#fff;font-weight:900}
.theme-preview-hero{padding:66px 10px 34px;text-align:center}.theme-preview[data-align="left"] .theme-preview-hero{text-align:left}.theme-preview-hero small{display:inline-block;background:color-mix(in srgb,var(--pv-accent) 22%,transparent);padding:7px 11px;border-radius:999px;font-weight:800;font-size:10px;letter-spacing:.08em}.theme-preview-hero h2{font-size:48px;line-height:1.02;letter-spacing:-.05em;margin:14px 0 12px}.theme-preview-hero p{color:var(--pv-muted);max-width:520px;margin:0 auto 16px;line-height:1.6}.theme-preview[data-align="left"] .theme-preview-hero p{margin-left:0}
.theme-preview-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.theme-preview[data-align="left"] .theme-preview-pills{justify-content:flex-start}.theme-preview-pills span,.theme-preview-venue{font-size:10px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--pv-text) 12%,transparent);border-radius:999px}
.theme-preview-venue{display:inline-flex;margin-top:10px}.theme-preview-sponsor{text-align:center;padding:14px;border-radius:var(--pv-radius);background:color-mix(in srgb,var(--pv-surface) 88%,transparent);margin-bottom:14px;color:var(--pv-muted);font-size:10px;letter-spacing:.08em}
.theme-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-preview-card{background:color-mix(in srgb,var(--pv-surface) 90%,transparent);border:1px solid color-mix(in srgb,var(--pv-text) 9%,transparent);border-radius:var(--pv-radius);padding:18px;display:flex;flex-direction:column;gap:10px;min-height:220px}.theme-preview[data-card="solid"] .theme-preview-card,.theme-preview[data-card="solid"] .theme-preview-sponsor{background:var(--pv-surface);backdrop-filter:none}.theme-preview[data-card="minimal"] .theme-preview-card{background:transparent;box-shadow:none}.theme-preview-card i{font-style:normal;font-size:11px;color:var(--pv-muted)}.theme-preview-card b{font-size:18px}.theme-preview-card p{font-size:11px;color:var(--pv-muted);line-height:1.5;margin:0}.theme-preview-card strong{margin-top:auto}.theme-preview-card button{border:0;border-radius:var(--pv-button-radius);padding:10px;background:var(--pv-accent);color:#fff;font-weight:800}

/* V8 customer theme */
.event-shell.theme-builder-enabled{background-color:var(--theme-bg);color:var(--theme-text);font-family:var(--theme-font);background-image:linear-gradient(rgba(9,11,19,var(--theme-overlay)),rgba(9,11,19,min(1,calc(var(--theme-overlay) + .08)))),var(--event-cover,none)}
.event-shell.theme-builder-enabled .card{border-radius:var(--theme-radius);background:color-mix(in srgb,var(--theme-surface) 90%,transparent);color:var(--theme-text)}
.event-shell.theme-builder-enabled.card-style-solid .card{background:var(--theme-surface);backdrop-filter:none}
.event-shell.theme-builder-enabled.card-style-minimal .style-card{background:transparent;box-shadow:none}
.event-shell.theme-builder-enabled .muted,.event-shell.theme-builder-enabled .event-header p{color:var(--theme-muted)}
.event-shell.theme-builder-enabled .btn{border-radius:var(--theme-button-radius)}
.event-shell.theme-builder-enabled.hero-align-left .event-header{text-align:left;padding-left:0;padding-right:0}
.event-shell.theme-builder-enabled.hero-align-left .event-header h1,.event-shell.theme-builder-enabled.hero-align-left .event-header p{margin-left:0;margin-right:0}
.event-shell.theme-builder-enabled.hero-align-left .event-logo{margin-left:0}

/* V8 Print Designer */
.print-designer-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.print-tools{position:sticky;top:18px}.print-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-tool-grid button{border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:10px;font-weight:750;cursor:pointer;color:#344054}.print-tool-grid button:hover{border-color:#b8acf5;background:#f4f1ff}.print-stage-wrap{display:flex;justify-content:center;align-items:center;background:#eef2f6;border-radius:18px;padding:24px;min-height:650px;overflow:auto}
.print-stage{position:relative;width:min(100%,620px);background:var(--print-bg,#fff);box-shadow:0 20px 50px rgba(16,24,40,.2);overflow:hidden;touch-action:none}.print-stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(16,24,40,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,40,.06) 1px,transparent 1px);background-size:5% 5%;pointer-events:none}
.print-el{position:absolute;border:1px dashed #7c3aed;background:rgba(124,58,237,.06);display:flex;align-items:center;justify-content:flex-start;padding:4px 6px;overflow:hidden;cursor:move;user-select:none;touch-action:none;font-weight:700;line-height:1.15}.print-el.selected{outline:2px solid #7c3aed;outline-offset:1px}.print-el.type-photo{justify-content:center;background:linear-gradient(135deg,#e4e7ec,#f8fafc);color:#667085}.print-el.type-logo{background:rgba(255,255,255,.82);justify-content:center}.print-el img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.resize-handle{position:absolute;width:14px;height:14px;right:-1px;bottom:-1px;background:#7c3aed;border-radius:4px 0 0 0;cursor:nwse-resize}.element-inspector .field{margin-top:10px}

@media(max-width:1050px){.builder-layout,.print-designer-layout{grid-template-columns:1fr}.builder-preview-sticky,.print-tools{position:static}.print-stage-wrap{min-height:520px}}
@media(max-width:620px){.theme-preview{min-height:600px}.theme-preview-hero h2{font-size:36px}.theme-preview-grid{grid-template-columns:1fr}.print-tool-grid{grid-template-columns:1fr 1fr}.print-stage-wrap{padding:12px;min-height:420px}}

/* V9.0.1 clearer gallery consent */
.gallery-consent-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:flex-start;margin:6px 0 18px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04);cursor:pointer;transition:.16s}
.gallery-consent-card:hover{border-color:color-mix(in srgb,var(--event-primary) 52%,rgba(255,255,255,.16));background:rgba(255,255,255,.055)}
.gallery-consent-card:has(input:checked){border-color:color-mix(in srgb,var(--event-primary) 68%,#fff);background:color-mix(in srgb,var(--event-primary) 12%,rgba(255,255,255,.04));box-shadow:0 0 0 3px color-mix(in srgb,var(--event-primary) 9%,transparent)}
.gallery-consent-check{position:relative;width:27px;height:27px;flex:0 0 27px;margin-top:1px}.gallery-consent-check input{position:absolute;inset:0;width:27px;height:27px;margin:0;opacity:0;cursor:pointer}.gallery-consent-check>span{width:27px;height:27px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.32);border-radius:8px;background:rgba(255,255,255,.06);color:transparent;font-weight:900;transition:.16s}.gallery-consent-card:has(input:checked) .gallery-consent-check>span{background:var(--event-primary);border-color:var(--event-primary);color:#fff}
.gallery-consent-copy{display:grid;gap:6px;min-width:0}.gallery-consent-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;line-height:1.35}.gallery-consent-desc{font-size:12px;line-height:1.55;color:#c3cad7}.gallery-consent-note{font-size:11px;line-height:1.5;color:#98a3b8;padding-top:2px}.gallery-consent-note strong{color:#d7deea}
@media(max-width:560px){.gallery-consent-card{padding:14px;gap:11px}.gallery-consent-title .badge{width:max-content}.gallery-consent-desc{font-size:11.5px}}

/* V10.0.3 — simplified public booth displays */
.public-head{padding:2px 4px 0}.public-head h1{font-size:clamp(24px,2.5vw,38px);margin:8px 0 4px}.public-head p{margin:0;color:#98a2b3;font-size:14px}.public-ready-dot{padding:10px 14px;border-radius:999px;background:#2d240e;color:#fdb022;font-size:13px;font-weight:850;white-space:nowrap}.public-ready-dot.ok{background:#073b2a;color:#6ce9a6}.public-ready-dot.bad{background:#4b161a;color:#fda29b}.simple-camera-shell{padding:18px}.simple-camera-stage{border-radius:28px}.public-camera-overlay{background:linear-gradient(180deg,rgba(5,7,16,.72),rgba(5,7,16,.9))}.public-camera-message{max-width:850px;padding:30px}.instruction-kicker{font-size:13px;letter-spacing:.15em;font-weight:900;color:#c4b5fd}.public-camera-message h2{font-size:clamp(42px,5.7vw,78px);line-height:1;margin:18px 0 16px}.public-camera-message p{font-size:clamp(18px,2vw,28px);line-height:1.45;max-width:800px;margin:0 auto}.public-mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.public-mini-steps span{padding:15px 16px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:16px;font-size:15px;font-weight:750}.public-mini-steps b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--event-primary);margin-right:8px}.camera-called{position:absolute;inset:0;z-index:6;background:rgba(5,7,16,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.camera-called span{font-size:18px;font-weight:900;letter-spacing:.18em;color:#c4b5fd}.camera-called strong{font-size:min(19vw,220px);line-height:.95;margin:18px 0}.camera-called small{font-size:28px;color:#d0d5dd}.public-countdown{background:rgba(5,7,16,.48)}.public-camera-footer{min-height:86px}.camera-current{min-width:180px}.camera-current span{display:block;color:#98a2b3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.camera-current strong{font-size:28px}.camera-main-hint{font-size:16px;color:#d0d5dd;font-weight:650;text-align:right;max-width:580px}.operator-capture-settings{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.section-head.compact{margin-bottom:10px}

.public-info-screen{min-height:100vh;background:radial-gradient(900px 520px at 0 0,color-mix(in srgb,var(--event-primary) 38%,transparent),transparent 70%),radial-gradient(900px 520px at 100% 100%,color-mix(in srgb,var(--event-secondary) 55%,transparent),transparent 72%),#050710;color:#fff}.public-display{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:24px 30px}.public-display-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.public-brand-row{display:flex;align-items:center;gap:16px}.public-brand-row img{max-width:120px;max-height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:7px}.public-brand-row span{font-size:11px;letter-spacing:.14em;font-weight:850;color:#aab4c8;text-transform:uppercase}.public-brand-row h1{font-size:clamp(28px,3.2vw,48px);margin:4px 0 0;letter-spacing:-.035em}.public-clock{text-align:right}.public-clock strong{display:block;font-size:34px;line-height:1}.public-clock span{font-size:10px;color:#98a2b3;letter-spacing:.16em}.public-display-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;min-height:0}.public-queue-panel,.public-start-panel{border:1px solid rgba(255,255,255,.12);background:rgba(10,14,25,.72);backdrop-filter:blur(18px);border-radius:28px;padding:24px;min-height:0}.public-section-label{font-size:12px;letter-spacing:.15em;font-weight:900;color:#a89fff}.public-now-card{margin-top:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--event-primary) 35%,#111827),#101522);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:22px;text-align:center}.public-now-card>span{font-size:12px;font-weight:900;letter-spacing:.14em;color:#ddd6fe}.public-now-card>strong{display:block;font-size:clamp(76px,10vw,145px);line-height:.95;margin:15px 0 8px}.public-now-card>small{font-size:20px;color:#d0d5dd}.public-next-wrap{margin-top:18px}.public-next-title{display:flex;align-items:center;justify-content:space-between}.public-next-title strong{font-size:13px;letter-spacing:.13em}.public-next-title span{font-size:12px;color:#98a2b3}.public-next-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px}.public-next-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:14px;padding:13px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07)}.public-next-list strong{font-size:25px}.public-next-list span{font-size:12px;color:#aab4c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-empty-next{grid-column:1/-1!important;color:#98a2b3!important;justify-content:center!important}.public-wait-info{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.035)}.public-wait-info span{color:#98a2b3;font-size:12px}.public-wait-info strong{font-size:14px}.public-start-panel{display:flex;flex-direction:column;align-items:center;text-align:center}.public-start-panel h2{font-size:clamp(36px,4.3vw,60px);margin:9px 0 16px;letter-spacing:-.04em}.public-start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-bottom:16px}.public-start-steps div{padding:12px 8px;border-radius:13px;background:rgba(255,255,255,.055);font-size:11px;font-weight:750}.public-start-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--event-primary);margin:0 auto 7px}.public-qr{padding:13px;background:#fff;border-radius:20px;box-shadow:0 15px 45px rgba(0,0,0,.28)}.public-start-panel>p{font-size:14px;line-height:1.55;color:#d0d5dd;max-width:430px;margin:16px 0 0}.public-operator-note{margin-top:12px;padding:11px 13px;border-radius:12px;background:#30280d;color:#fec84b;font-size:12px;width:100%}.public-display-foot{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:22px;min-height:62px}.public-help{display:flex;flex-direction:column;gap:3px}.public-help strong{font-size:13px}.public-help span{font-size:11px;color:#98a2b3}.public-result-strip{display:flex;gap:7px}.public-result-strip img{width:48px;height:48px;border-radius:10px;object-fit:cover;opacity:.32;border:1px solid rgba(255,255,255,.1)}.public-result-strip img.active{opacity:1;transform:scale(1.08)}.public-sponsors{display:flex;align-items:center;gap:9px}.public-sponsors>span{font-size:8px;letter-spacing:.12em;color:#667085}.public-sponsors img{max-width:72px;max-height:32px;object-fit:contain;background:#fff;padding:3px;border-radius:7px}.public-sponsors strong{font-size:10px}.public-no-event{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.public-no-event h1{font-size:60px;margin:20px 0 8px}.public-no-event p{color:#98a2b3;font-size:20px}.public-qr-fallback{width:260px;min-height:260px;display:grid;place-items:center;color:#111;padding:20px}.public-qr-fallback small{word-break:break-all;font-weight:500}

@media(max-width:900px){.public-display{padding:16px}.public-display-grid{grid-template-columns:1fr}.public-display-foot{grid-template-columns:1fr}.public-next-list{grid-template-columns:1fr 1fr}.public-mini-steps{grid-template-columns:1fr}.public-camera-footer{align-items:flex-start}.camera-main-hint{text-align:left;max-width:none}.public-clock{display:none}.public-result-strip,.public-sponsors{display:none}}


/* V11.0.1 Public Pricing + WhatsApp CTA */
.contact-whatsapp{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.contact-whatsapp .btn.ghost{border-color:#344054;color:#fff}
.pricing-hero{padding-top:120px;padding-bottom:72px;text-align:center;max-width:900px}.pricing-hero .marketing-eyebrow{justify-content:center}.pricing-hero h1{font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin:18px 0;color:#101828}.pricing-hero>p{font-size:17px;line-height:1.75;color:#667085;max-width:760px;margin:0 auto}.pricing-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.pricing-section{padding-top:30px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.pricing-card{position:relative;background:#fff;border:1px solid #eaecf0;border-radius:24px;padding:28px;display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(16,24,40,.05)}.pricing-card.featured{border:2px solid #7c3aed;box-shadow:0 25px 70px rgba(124,58,237,.12);transform:translateY(-8px)}.pricing-popular{position:absolute;right:20px;top:18px;background:#f4ebff;color:#6941c6;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.08em}.pricing-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#7c3aed}.pricing-card h2{font-size:25px;margin:10px 0}.pricing-desc{font-size:13px;line-height:1.7;color:#667085;min-height:66px}.pricing-value{font-size:31px;font-weight:900;letter-spacing:-.04em;margin-top:12px}.pricing-card>small{color:#98a2b3;margin-top:3px}.pricing-card ul{list-style:none;padding:20px 0;margin:18px 0;border-top:1px solid #eaecf0;display:grid;gap:11px;flex:1}.pricing-card li{font-size:13px;color:#344054;display:flex;gap:8px}.pricing-card li:before{content:"✓";color:#12b76a;font-weight:900}.pricing-card>.btn{width:100%}
.pricing-detail-section{padding:80px 0;background:#fff;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.pricing-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.pricing-detail-grid h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-.04em;margin:14px 0}.pricing-detail-grid>div>p{color:#667085;line-height:1.75}.pricing-factors{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pricing-factors div{background:#f9fafb;border:1px solid #eaecf0;border-radius:16px;padding:18px}.pricing-factors b{display:block;font-size:13px;margin-bottom:5px}.pricing-factors span{font-size:11px;color:#667085;line-height:1.5}
.pricing-contact{background:#101828;color:#fff}.pricing-contact-box{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.pricing-contact-box h2{font-size:clamp(32px,4vw,48px);margin:13px 0}.pricing-contact-box p{color:#98a2b3;max-width:650px}.pricing-contact-actions{display:flex;flex-direction:column;gap:10px;min-width:250px}.pricing-contact-actions .btn.ghost{border-color:#344054;color:#fff}.marketing-links .active{color:#101828}
@media(max-width:980px){.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.pricing-detail-grid,.pricing-contact-box{grid-template-columns:1fr}.pricing-contact-actions{flex-direction:row;flex-wrap:wrap;min-width:0}.pricing-factors{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pricing-hero{padding-top:80px}.pricing-hero h1{font-size:44px}.pricing-factors{grid-template-columns:1fr}.pricing-contact-actions{flex-direction:column}.contact-whatsapp{flex-direction:column}.contact-whatsapp .btn{width:100%}}

/* V11.1 gallery/share/voucher */
.voucher-card{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.voucher-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}.success-text{color:#32d583!important}.danger-text{color:#f97066!important}.moderation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.moderation-card{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer}.moderation-card>input{position:absolute;z-index:2;top:12px;left:12px;width:22px;height:22px}.moderation-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#eef2f7}.moderation-card>span{display:block;padding:12px}.moderation-card small{display:block;color:var(--muted);margin:4px 0 8px}.gallery-display{margin:0;min-height:100vh;background:#060812;color:#fff;overflow:hidden;font-family:Inter,system-ui,sans-serif}.gallery-display-bg{position:fixed;inset:-4%;background-size:cover;background-position:center;filter:blur(50px) brightness(.32);transform:scale(1.1);transition:background-image .8s ease}.gallery-display>header,.gallery-display>main,.gallery-display>footer{position:relative;z-index:1}.gallery-display>header{height:15vh;padding:3vh 4vw;display:flex;align-items:center;justify-content:space-between}.gallery-display header img{max-height:6vh;max-width:16vw;object-fit:contain}.gallery-display header span{display:block;font-size:1.2vw;letter-spacing:.18em;color:#aeb7c8;margin-top:.4vh}.gallery-display header h1{margin:.4vh 0 0;font-size:2.6vw}.gallery-live-dot{padding:.8vw 1.2vw;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(0,0,0,.25);font-size:1.1vw}.gallery-live-dot i{display:inline-block;width:.7vw;height:.7vw;border-radius:50%;background:#32d583;margin-right:.5vw;box-shadow:0 0 15px #32d583}.gallery-display>main{height:72vh;display:grid;place-items:center;padding:0 5vw}.gallery-display-image{height:64vh;max-width:78vw;min-width:42vw;border-radius:2vw;overflow:hidden;background:rgba(255,255,255,.05);box-shadow:0 30px 100px rgba(0,0,0,.5);position:relative;display:grid;place-items:center}.gallery-display-image img{max-width:100%;max-height:100%;width:auto;height:100%;object-fit:contain;transition:opacity .35s}.gallery-display-empty{text-align:center;color:#aeb7c8;padding:5vw}.gallery-display-empty b{display:block;color:#fff;font-size:2vw;margin-bottom:1vh}.gallery-display-meta{text-align:center;margin-top:1.5vh}.gallery-display-meta strong{display:block;font-size:1.5vw}.gallery-display-meta span{color:#aeb7c8;font-size:1vw}.gallery-display>footer{height:13vh;padding:2vh 4vw;display:flex;justify-content:space-between;align-items:center;color:#9ba6ba}.gallery-display footer div{display:flex;gap:1vw;color:#fff}.share-result-wrap{max-width:620px;margin:0 auto;padding:28px 18px 48px}.share-result-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-weight:800}.share-result-brand img{max-height:44px;max-width:130px}.share-result-card{background:rgba(15,19,31,.94);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:22px;color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.28)}.share-result-card h1{margin:13px 0 6px;font-size:32px}.share-result-card p{color:#aeb7c8}.share-result-image{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:18px;background:#05070d;margin:18px 0}.result-ready-overlay{position:fixed;z-index:50;inset:0;background:rgba(3,5,10,.90);display:grid;place-items:center;backdrop-filter:blur(12px)}.result-ready-overlay[hidden]{display:none}.result-ready-card{width:min(92vw,1100px);display:grid;grid-template-columns:1.2fr .8fr;grid-template-areas:'kicker kicker' 'num num' 'image qr' 'image title' 'image note';gap:14px 32px;align-items:center;text-align:center;padding:3vw;background:#0d111c;border:1px solid rgba(255,255,255,.12);border-radius:30px}.result-ready-card .instruction-kicker{grid-area:kicker}.result-ready-card>strong{grid-area:num;font-size:4vw}.result-ready-card>img{grid-area:image;width:100%;height:48vh;object-fit:contain;border-radius:18px;background:#05070c}.result-ready-qr{grid-area:qr;background:#fff;padding:16px;border-radius:18px;justify-self:center}.result-ready-card>b{grid-area:title;font-size:1.7vw}.result-ready-card>small{grid-area:note;color:#9ba6ba;font-size:1vw}@media(max-width:900px){.moderation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-input-row{grid-template-columns:1fr}.result-ready-card{grid-template-columns:1fr;grid-template-areas:'kicker' 'num' 'image' 'qr' 'title' 'note'}.result-ready-card>img{height:36vh}.gallery-display header h1{font-size:5vw}.gallery-display header span,.gallery-live-dot,.gallery-display-meta span{font-size:2.3vw}.gallery-display-meta strong{font-size:3vw}}

.result-ready-card.no-preview{grid-template-columns:1fr;grid-template-areas:'kicker' 'num' 'qr' 'title' 'note';max-width:720px}.result-ready-card.no-preview>img{display:none}

.gallery-fullscreen-btn{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);color:#fff;border-radius:999px;padding:.8vw 1.2vw;font-weight:800;font-size:1vw;cursor:pointer}.gallery-fullscreen-btn:hover{background:rgba(255,255,255,.10)}


/* === V13 Advanced Print Designer === */
.designer-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px;padding:12px 14px;position:sticky;top:0;z-index:20}
.designer-toolbar-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.toolbar-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#475467}.toolbar-check input{width:auto}
.designer-zoom{min-width:155px;justify-content:flex-end}.designer-zoom span{min-width:50px;text-align:center;font-weight:800}
.print-designer-pro-layout{display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:16px;align-items:start}
.print-tools-left,.print-tools-right{position:sticky;top:72px;max-height:calc(100vh - 92px);overflow:auto}
.print-tool-grid.pro{grid-template-columns:1fr 1fr}.print-tool-grid.pro button{min-height:42px}
.print-spec-card{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);font-size:12px}.print-spec-card strong{font-size:14px}.print-spec-card span{color:var(--muted)}
.print-canvas-panel.pro{min-width:0}.print-canvas-head{margin-bottom:12px}.print-stage-viewport{min-height:680px;max-height:76vh;overflow:auto;background:#eef2f7;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;align-items:flex-start;justify-content:center}
.print-stage-zoom{width:min(100%,780px);transition:transform .12s ease}.print-stage.pro{position:relative;overflow:visible;background:var(--print-bg,#fff);box-shadow:0 20px 60px rgba(15,23,42,.15);user-select:none;touch-action:none}
.print-stage-grid{pointer-events:none;position:absolute;inset:0;z-index:9990;background-image:linear-gradient(to right,rgba(86,103,132,.10) 1px,transparent 1px),linear-gradient(to bottom,rgba(86,103,132,.10) 1px,transparent 1px);background-size:var(--grid-size,5%) var(--grid-size,5%)}
.print-safe-guide,.print-bleed-guide{pointer-events:none;position:absolute;z-index:9992;border:1px dashed rgba(14,116,144,.8)}.print-bleed-guide{border-color:rgba(245,158,11,.75)}.print-safe-guide:after,.print-bleed-guide:after{position:absolute;top:2px;left:4px;font-size:9px;font-weight:800;background:rgba(255,255,255,.86);padding:1px 4px;border-radius:4px}.print-safe-guide:after{content:'SAFE';color:#0e7490}.print-bleed-guide:after{content:'BLEED';color:#b45309}
.pd-guide{pointer-events:none;position:absolute;z-index:9999;background:#7c3aed;display:none}.pd-guide.vertical{top:0;bottom:0;width:1px}.pd-guide.horizontal{left:0;right:0;height:1px}
.print-el.pro{position:absolute;box-sizing:border-box;cursor:move;display:flex;align-items:center;justify-content:flex-start;overflow:visible;transform-origin:center center;outline:1px solid transparent}.print-el.pro.selected{outline:2px solid #7c3aed;box-shadow:0 0 0 1px rgba(255,255,255,.9)}.print-el.pro.locked{cursor:not-allowed}.print-el.pro.hidden-el{opacity:.22!important}.print-el.pro img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.print-el.pro.type-shape{min-width:8px;min-height:8px}.print-el.pro.type-qr{justify-content:center}.print-el.pro.type-photo{justify-content:center;color:#64748b;text-align:center;font-weight:800}.pd-photo-placeholder{font-size:11px;line-height:1.25}.pd-photo-placeholder small{font-size:8px;font-weight:500}
.pd-resize-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #7c3aed;border-radius:50%;z-index:10003}.h-nw{left:-6px;top:-6px;cursor:nwse-resize}.h-n{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}.h-ne{right:-6px;top:-6px;cursor:nesw-resize}.h-e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.h-se{right:-6px;bottom:-6px;cursor:nwse-resize}.h-s{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}.h-sw{left:-6px;bottom:-6px;cursor:nesw-resize}.h-w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.pd-rotate-handle{position:absolute;left:50%;top:-28px;transform:translateX(-50%);width:12px;height:12px;border:2px solid #7c3aed;border-radius:50%;background:#fff;cursor:grab;z-index:10004}.pd-rotate-handle:after{content:'';position:absolute;left:50%;top:10px;height:14px;border-left:1px solid #7c3aed}
.pd-lock-mark{position:absolute;right:3px;top:3px;font-size:11px;background:#fff;border-radius:5px;padding:1px 3px;z-index:10005}.pd-qr-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff}.pd-qr-preview canvas,.pd-qr-preview img{max-width:100%;max-height:100%;width:auto!important;height:auto!important}
.designer-statusbar{display:flex;justify-content:space-between;gap:14px;padding:10px 4px 0;color:var(--muted);font-size:11px}
.pd-asset-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.pd-asset-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px;cursor:pointer;text-align:left;min-width:0}.pd-asset-card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f8fafc;border-radius:7px}.pd-asset-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;margin-top:4px}
.pd-history-list{display:grid;gap:8px;max-height:260px;overflow:auto}.pd-history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px}.pd-history-item strong{font-size:12px}
.input-suffix{position:relative;float:right;margin-top:-33px;margin-right:10px;color:var(--muted);font-size:12px;pointer-events:none}
.element-inspector .field{margin-bottom:10px}.element-inspector textarea{min-height:74px}

/* === V13 Toast === */
#kananToastContainer{position:fixed;right:18px;top:18px;z-index:20000;display:grid;gap:10px;width:min(360px,calc(100vw - 36px));pointer-events:none}
.kanan-toast{pointer-events:auto;background:#101828;color:#fff;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.28);padding:13px 15px;display:flex;align-items:flex-start;gap:11px;border:1px solid rgba(255,255,255,.08);animation:toastIn .2s ease}.kanan-toast.success{background:#063f2d}.kanan-toast.error{background:#5b1420}.kanan-toast.warning{background:#5a3b05}.kanan-toast.info{background:#15325b}.kanan-toast-icon{font-size:16px;line-height:1.2}.kanan-toast-body{flex:1;min-width:0}.kanan-toast-title{font-weight:800;font-size:13px}.kanan-toast-message{font-size:12px;opacity:.88;margin-top:2px;line-height:1.45}.kanan-toast-close{border:0;background:transparent;color:#fff;opacity:.6;cursor:pointer;padding:0;font-size:18px}.kanan-toast.hiding{opacity:0;transform:translateY(-6px);transition:.18s}@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* === V13 Select2 === */
.select2-container{width:100%!important}.select2-container .select2-selection--single{height:42px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.select2-container .select2-selection--single .select2-selection__rendered{line-height:40px!important;padding-left:12px!important;color:#101828!important}.select2-container .select2-selection--single .select2-selection__arrow{height:40px!important}.select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default.select2-container--focus .select2-selection--single{border-color:#7c3aed!important;box-shadow:0 0 0 3px rgba(124,58,237,.10)}.select2-container .select2-selection--multiple{min-height:42px!important;border:1px solid var(--line)!important;border-radius:11px!important;padding:3px 7px!important}.select2-dropdown{border-color:var(--line)!important;border-radius:10px!important;overflow:hidden;box-shadow:0 12px 32px rgba(15,23,42,.14)}.select2-search__field{border:1px solid var(--line)!important;border-radius:8px!important}.select2-results__option--highlighted.select2-results__option--selectable{background:#7c3aed!important}

/* === V13 DataTables === */
.dt-container{width:100%;font-size:13px}.dt-layout-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;flex-wrap:wrap}.dt-search input,.dt-length select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff}.dt-paging{display:flex;gap:4px;align-items:center}.dt-paging-button{border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;padding:6px 9px!important;cursor:pointer!important}.dt-paging-button.current{background:#7c3aed!important;color:#fff!important;border-color:#7c3aed!important}.dt-info{color:var(--muted);font-size:12px}.dt-processing{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(15,23,42,.15)!important;padding:14px 20px!important}.dataTable thead th{white-space:nowrap}.dataTables-empty{text-align:center;color:var(--muted);padding:30px!important}

@media(max-width:1280px){.print-designer-pro-layout{grid-template-columns:230px minmax(0,1fr)}.print-tools-right{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:16px}.print-tools-right>.divider{display:none}.print-stage-viewport{min-height:580px}}
@media(max-width:900px){.print-designer-pro-layout{grid-template-columns:1fr}.print-tools-left,.print-tools-right{position:static;max-height:none}.print-tools-right{display:block}.designer-toolbar{position:static}.print-stage-viewport{min-height:460px;padding:18px}.designer-statusbar{flex-direction:column}.print-tool-grid.pro{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.print-tool-grid.pro{grid-template-columns:1fr 1fr}.designer-toolbar-group{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.designer-toolbar-group .btn{white-space:nowrap}}

/* === V13.0.1 Marketing navigation/contact fixes === */
.contact-whatsapp .btn.ghost,
.pricing-contact-actions .btn.ghost{
  background:transparent;
  border-color:#475467;
  color:#fff;
  box-shadow:none;
}
.contact-whatsapp .btn.ghost:hover,
.pricing-contact-actions .btn.ghost:hover{
  background:rgba(255,255,255,.08);
  border-color:#667085;
  color:#fff;
}
.marketing-links a.active{color:#101828;position:relative}
.marketing-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;border-radius:999px;background:linear-gradient(90deg,#7c3aed,#2563eb)}
@media(max-width:640px){
  .contact-whatsapp .btn.ghost,
  .pricing-contact-actions .btn.ghost{background:rgba(255,255,255,.04)}
}


/* === V13.0.2 Compact desktop form/grid system === */
/* Keep operational tables/designer wide, but prevent normal forms from stretching across large monitors. */
.app-form{width:min(100%,1080px)}
.app-form.app-form-narrow{width:min(100%,760px)}
.app-form .grid{gap:14px}
.app-form .field{margin-bottom:12px}
.app-form> .field{max-width:720px}
.app-form textarea{min-height:104px}
.app-form .btn.block{width:auto;min-width:170px}
.app-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.form-section{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}
.form-section+.form-section{margin-top:14px}
.form-section-title{margin:0 0 4px;font-size:15px;font-weight:800;color:var(--text)}
.form-section-desc{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.compact-check{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:650;color:var(--text-2)}
.compact-check input{width:auto;margin:0}
.field-inline{display:flex;align-items:flex-end;gap:12px}.field-inline>.field{flex:1;margin-bottom:0}

/* Client / EO access layout */
.client-form-shell{width:min(100%,1080px)}
.client-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.client-access-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px;transition:.15s ease}
.client-access-card:has(.client-event-toggle:checked){border-color:#b8b0ff;background:#fbfaff;box-shadow:0 0 0 2px rgba(109,93,252,.06)}
.client-access-head{display:flex;align-items:flex-start;gap:9px}.client-access-head input{width:auto;margin-top:3px}.client-access-title{display:block;font-weight:800;font-size:13px;line-height:1.35}.client-access-meta{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.client-permissions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 0 24px}.permission-check{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;font-size:11px;color:var(--text-2);cursor:pointer}.permission-check input{width:auto;margin:0}.permission-check:has(input:checked){background:var(--accent-soft);border-color:#d9d3ff;color:#5145cd}
.client-card-form{width:min(100%,1080px)}
.client-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}

/* Select2 inside action rows should not stretch tiny selectors across the card. */
.row>.select2-container{flex:0 1 260px;min-width:150px}
.style-admin-row>.select2-container{flex:0 1 220px}

/* Consistent desktop grid density for application forms. */
@media(min-width:821px){
  .app-form .grid-2{grid-template-columns:repeat(2,minmax(240px,1fr))}
  .app-form .grid-3{grid-template-columns:repeat(3,minmax(200px,1fr))}
  .app-form .grid-4{grid-template-columns:repeat(4,minmax(160px,1fr))}
  .content .card{scroll-margin-top:18px}
}
@media(max-width:1100px){.client-access-grid{grid-template-columns:1fr}}
@media(max-width:820px){
  .app-form,.app-form.app-form-narrow,.client-form-shell,.client-card-form{width:100%;max-width:none}
  .app-form .btn.block{width:100%}
  .client-access-grid{grid-template-columns:1fr}
  .client-permissions{margin-left:0}
  .field-inline{align-items:stretch;flex-direction:column}
}


/* === V13.0.3 Global layout & form polish === */
:root{
  --form-max:1080px;
  --form-card-max:1140px;
  --field-h:44px;
}

/* Form-first cards should not stretch across ultra-wide content areas. */
.form-card-compact{
  width:min(100%,var(--form-card-max));
  max-width:var(--form-card-max);
  margin-right:auto;
}
.form-card-compact>.app-form,
.form-card-compact>form.app-form{width:100%;max-width:none}

/* Better density for ordinary application forms across Admin/Operator/Client. */
.app-form{max-width:var(--form-max)}
.app-form input:not([type="checkbox"]):not([type="radio"]),
.app-form select,
.app-form .select2-container .select2-selection--single{
  min-height:var(--field-h);
}
.app-form .field>.top-chip,
.app-form .field>.readonly-metric{
  width:100%;
  min-height:var(--field-h);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:10px 13px;
  border:1px solid #d9d6fe;
  border-radius:12px;
  background:linear-gradient(180deg,#faf9ff,#f3f1ff);
  color:#5145cd;
  font-weight:800;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}

/* Standard checkbox / radio chip used for standalone settings. */
.app-check{
  display:inline-flex;
  align-items:flex-start;
  gap:9px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--text-2);
  font-size:13px;
  font-weight:650;
  line-height:1.45;
  cursor:pointer;
  transition:.15s ease;
}
.app-check:hover{border-color:#c8c1ff;background:#fcfbff}
.app-check:has(input:checked){
  border-color:#c7bfff;
  background:var(--accent-soft);
  color:#5145cd;
  box-shadow:0 0 0 2px rgba(109,93,252,.05);
}
.app-check input[type="checkbox"],
.app-check input[type="radio"]{
  flex:0 0 auto;
  width:16px!important;
  height:16px;
  margin:1px 0 0!important;
  accent-color:var(--accent);
}

/* Utility for cards that combine a setting and an explanation. */
.setting-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f9fafb;
}
.setting-card input{flex:0 0 auto;width:16px!important;margin:2px 0 0!important}
.setting-card strong{display:block;font-size:13px;color:var(--text)}
.setting-card small{display:block;margin-top:2px;color:var(--muted);line-height:1.45}

/* AI Budget page */
.budget-list{display:grid;gap:14px}
.budget-card{width:min(100%,1180px);padding:20px}
.budget-card .budget-form{width:100%;max-width:none}
.budget-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.budget-title{margin:0;font-size:22px;letter-spacing:-.025em}
.budget-date{margin-top:4px;color:var(--muted);font-size:12px}
.budget-spent{
  min-width:150px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f9fafb;
  text-align:right;
}
.budget-spent span{display:block;color:var(--muted);font-size:11px}
.budget-spent strong{display:block;margin-top:2px;font-size:17px}
.budget-grid{
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(150px,.72fr) minmax(170px,.72fr);
  gap:12px;
  align-items:end;
}
.budget-grid .field{margin:0}
.budget-estimate{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:10px 13px;
  border:1px solid #d9d6fe;
  border-radius:12px;
  background:linear-gradient(180deg,#faf9ff,#f3f1ff);
  color:#5145cd;
  font-weight:850;
  font-size:14px;
}
.budget-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}
.budget-enforce{
  flex:1 1 520px;
  max-width:660px;
}
.budget-progress{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.budget-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}
.budget-progress-track{height:9px;background:#eef2f6;border-radius:99px;overflow:hidden;margin-top:7px}
.budget-progress-bar{height:100%;border-radius:inherit}

/* Marketing lead form follows the same compact rhythm while retaining its marketing card. */
.lead-card form{width:100%}
.lead-card .grid{gap:12px}
.lead-card .field{margin-bottom:12px}
.lead-card textarea{min-height:100px}

/* Avoid layout gaps when a form uses 4-column grid for only 3 practical controls. */
@media(min-width:1281px){
  .content .form-card-compact{max-width:var(--form-card-max)}
}
@media(max-width:1180px){
  .budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .form-card-compact,.budget-card{width:100%;max-width:none}
  .budget-head{flex-direction:column}
  .budget-spent{text-align:left;min-width:0;width:100%}
  .budget-grid{grid-template-columns:1fr}
  .budget-footer{align-items:stretch;flex-direction:column}
  .budget-enforce{max-width:none;flex-basis:auto}
  .budget-footer .btn{width:100%}
}

/* === V13.0.4 Final global form alignment === */
.form-card-compact,.form-card-standard{width:100%;max-width:none;margin-right:0}
.app-form{width:100%;max-width:none;min-width:0}
.app-form.app-form-narrow{width:min(100%,820px);max-width:820px}
.app-form .grid{align-items:start}.app-form .field{min-width:0}
.app-form .field input,.app-form .field select,.app-form .field textarea,.app-form .field .select2-container{max-width:100%}
.auto-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:0;align-items:start}
.auto-form-grid>input[type="hidden"]{display:none}.auto-form-grid>.field{margin-bottom:14px;max-width:none!important}
.auto-form-grid>.field:has(textarea),.auto-form-grid>.divider,.auto-form-grid>.section-head,.auto-form-grid>.form-section,.auto-form-grid>.app-form-actions,.auto-form-grid>.setting-card,.auto-form-grid>.app-check{grid-column:1/-1}
.auto-form-grid>.btn{grid-column:1/-1;justify-self:end}
.app-form-actions{justify-content:flex-end;padding-top:14px;margin-top:6px;border-top:1px solid var(--line)}.app-form-actions .btn{min-width:150px}
.app-check{width:100%;max-width:none}.setting-card{min-height:58px}.readonly-metric,.budget-estimate{min-height:44px}
.form-help-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr)!important;align-items:start}.form-help-layout>.card{height:auto}.form-help-layout>.card:last-child{position:sticky;top:20px}
.staff-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr);gap:18px;align-items:start}
.staff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.staff-form-grid .field{margin-bottom:14px}.staff-form-grid .span-2{grid-column:1/-1}.staff-help-card{align-self:start}.staff-help-card .flow-note{padding:14px 0}.staff-help-card .flow-note:first-of-type{padding-top:4px}
.budget-card{width:100%;max-width:none;padding:20px 22px}.budget-head{margin-bottom:14px}.budget-spent{display:none}
.budget-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:stretch}.budget-controls{min-width:0}
.budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:start}.budget-grid .field{margin:0}
.budget-footer{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.budget-enforce{max-width:none;min-width:0}
.budget-summary{border:1px solid var(--line);border-radius:14px;background:#f9fafb;padding:14px;display:flex;flex-direction:column;gap:12px}.budget-summary-title{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.budget-summary-item{padding:11px 12px;background:#fff;border:1px solid var(--line);border-radius:11px}.budget-summary-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.budget-summary-item strong{font-size:17px;letter-spacing:-.02em}.budget-summary-item.accent{border-color:#d9d6fe;background:linear-gradient(180deg,#faf9ff,#f3f1ff)}.budget-summary-item.accent strong{color:#5145cd}.budget-progress{margin-top:auto;padding-top:2px;border-top:0}
.client-form-shell,.client-card-form{width:100%;max-width:none}.client-access-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.app-form textarea{min-height:92px}.app-form .field:has(textarea){align-self:start}
.app-form .select2-container,.staff-form-grid .select2-container,.client-form-shell .select2-container,.client-card-form .select2-container{width:100%!important;min-width:0!important}
.content>.grid{align-items:start}.content .card h2:first-child{margin-top:0}
@media(min-width:1281px){.content .form-card-compact,.content .form-card-standard{width:100%;max-width:none}}
@media(max-width:1280px){.budget-body{grid-template-columns:1fr 240px}.staff-layout,.form-help-layout{grid-template-columns:minmax(0,1fr) 300px!important}}
@media(max-width:1050px){.budget-body{grid-template-columns:1fr}.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.budget-summary-title{grid-column:1/-1}.budget-progress{grid-column:1/-1}.staff-layout,.form-help-layout{grid-template-columns:1fr!important}.form-help-layout>.card:last-child{position:static}}
@media(max-width:820px){.auto-form-grid,.staff-form-grid,.budget-grid{grid-template-columns:1fr}.auto-form-grid>*,.staff-form-grid .span-2{grid-column:1!important}.budget-footer{grid-template-columns:1fr}.budget-footer .btn{width:100%}.budget-summary{grid-template-columns:1fr}.client-access-grid{grid-template-columns:1fr}.app-form.app-form-narrow{width:100%;max-width:none}}

/* === V13.0.5 Form System Audit: consistent desktop geometry === */
:root{
  --form-work-max:1180px;
  --form-wide-max:1280px;
  --form-column-min:260px;
}

/* Forms should fill their panel, but the panel itself is intentionally bounded on desktop. */
.app-form,.client-form-shell,.client-card-form{width:100%;max-width:none;min-width:0}
.app-form.app-form-narrow{width:100%;max-width:none}
.content>.form-card-standard,
.content>.budget-list,
.content>.staff-layout,
.content>.form-help-layout,
.content>.form-record-layout{
  width:min(100%,var(--form-work-max));
  max-width:var(--form-work-max);
}
.content>.grid.form-record-layout{width:min(100%,var(--form-wide-max));max-width:var(--form-wide-max)}

/* Stable two-column form geometry. Nothing is allowed to create a mysterious half-empty row. */
.auto-form-grid,.form-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:16px;
  row-gap:0;
  align-items:start;
}
.auto-form-grid>.field,.form-grid-2>.field{margin-bottom:14px;min-width:0;max-width:none!important}
.auto-form-grid>.form-span-full,
.auto-form-grid>.field:has(textarea),
.auto-form-grid>.field:has(.check-grid),
.auto-form-grid>.divider,
.auto-form-grid>.section-head,
.auto-form-grid>.form-section,
.auto-form-grid>.app-form-actions,
.auto-form-grid>.setting-card,
.auto-form-grid>.app-check{grid-column:1/-1}
.auto-form-grid>.btn{grid-column:1/-1;justify-self:end;margin-top:2px}

/* Master + records/help pages use the screen meaningfully without stretching inputs. */
.form-record-layout{
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.form-record-layout.is-single{
  grid-template-columns:minmax(0,920px)!important;
  max-width:920px!important;
}
.form-help-layout{
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.form-help-layout>.card:last-child{position:sticky;top:18px}

/* All controls share one rhythm. */
.app-form .field,.client-form-shell .field,.client-card-form .field{min-width:0}
.app-form input:not([type="checkbox"]):not([type="radio"]),
.app-form select,.app-form textarea,
.client-form-shell input:not([type="checkbox"]):not([type="radio"]),
.client-form-shell select,.client-form-shell textarea,
.client-card-form input:not([type="checkbox"]):not([type="radio"]),
.client-card-form select,.client-card-form textarea{
  width:100%;max-width:100%;
}
.app-form textarea,.client-form-shell textarea,.client-card-form textarea{min-height:88px}
.app-form input[type="file"],.client-form-shell input[type="file"],.client-card-form input[type="file"]{
  min-height:44px;padding:7px 9px;background:#fff;
}
.app-form input[type="file"]::file-selector-button,
.client-form-shell input[type="file"]::file-selector-button,
.client-card-form input[type="file"]::file-selector-button{
  border:0;border-radius:9px;background:#f2f4f7;color:#344054;padding:7px 10px;margin-right:9px;font-weight:700;cursor:pointer;
}
.app-form .select2-container,.client-form-shell .select2-container,.client-card-form .select2-container{width:100%!important;max-width:100%!important;min-width:0!important}

/* Settings are rows, not floating unstyled checkboxes. */
.setting-row,.app-check,.setting-card{
  width:100%;min-height:54px;display:flex;align-items:flex-start;gap:10px;
  border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:10px 12px;
}
.setting-row:has(input:checked),.app-check:has(input:checked){border-color:#c7bfff;background:var(--accent-soft)}
.setting-row input[type="checkbox"],.setting-row input[type="radio"]{width:16px!important;height:16px;flex:0 0 auto;margin:2px 0 0!important;accent-color:var(--accent)}

/* Action placement is predictable on every form. */
.app-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;margin-top:4px;border-top:1px solid var(--line)}
.app-form-actions .btn{min-width:150px}
.app-form>.btn:last-child:not(.block){display:flex;width:max-content;margin:12px 0 0 auto}
.app-form>.btn.block:last-child{width:max-content;min-width:170px;margin:12px 0 0 auto}

/* Assignment/options cards scale cleanly from laptop to large desktop. */
.check-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.check-card{min-width:0}.check-card strong,.check-card small{overflow-wrap:anywhere}
.client-access-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}

/* AI Budget: no auto-narrowing, no dead space inside the card. */
.budget-list{width:min(100%,1180px);max-width:1180px}
.budget-card{width:100%;max-width:none;padding:20px 22px}
.budget-form{width:100%!important;max-width:none!important}
.budget-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:stretch}
.budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:start}
.budget-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:14px}
.budget-summary{min-width:0}

/* Staff scheduling: form is compact, help is useful, and neither can overflow. */
.staff-layout{width:min(100%,1180px);max-width:1180px;grid-template-columns:minmax(0,760px) minmax(280px,360px);gap:18px;align-items:start}
.staff-layout>.card{min-width:0}.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.staff-form-grid .span-2{grid-column:1/-1}
.staff-help-card{position:sticky;top:18px;min-width:0}

/* Long dashboard/table pages remain wide; only ordinary forms are constrained. */
.table-wrap,.dataTable-wrapper,.dt-container{max-width:100%}

@media(max-width:1200px){
  .content>.form-record-layout,.content>.form-help-layout,.content>.staff-layout,.content>.budget-list{width:100%;max-width:none}
  .form-record-layout,.form-help-layout,.staff-layout{grid-template-columns:1fr!important}
  .form-help-layout>.card:last-child,.staff-help-card{position:static}
  .budget-body{grid-template-columns:1fr}
  .budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.budget-summary-title,.budget-progress{grid-column:1/-1}
}
@media(max-width:820px){
  .auto-form-grid,.form-grid-2,.staff-form-grid,.budget-grid{grid-template-columns:1fr}
  .auto-form-grid>*,.staff-form-grid .span-2{grid-column:1!important}
  .form-record-layout.is-single{max-width:none!important}
  .budget-footer{grid-template-columns:1fr}.budget-footer .btn,.app-form-actions .btn{width:100%}
  .budget-summary{grid-template-columns:1fr}.client-access-grid,.check-grid{grid-template-columns:1fr}
  .app-form>.btn:last-child,.app-form>.btn.block:last-child{width:100%;margin-left:0}
}
/* Final containment safeguards for forms missed by page-specific markup. */
.content>.card:has(>form.app-form),
.content>.card:has(>form.client-form-shell){width:min(100%,var(--form-work-max));max-width:var(--form-work-max)}
.content>.stack>.card:has(>form.client-card-form){width:min(100%,var(--form-work-max));max-width:var(--form-work-max)}
.content>.grid.grid-2:has(> .card > form.app-form){width:min(100%,var(--form-wide-max));max-width:var(--form-wide-max);align-items:start}
.form-stack-layout{grid-template-columns:1fr!important;width:min(100%,var(--form-work-max));max-width:var(--form-work-max);gap:18px!important;align-items:start!important}
.form-stack-layout>.card{min-width:0}
.auto-form-grid.auto-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.auto-form-grid.auto-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.auto-form-grid.auto-form-grid-3{grid-template-columns:1fr}}

/* V13.0.6 — scalable Booth Fleet list/detail */
.booth-create-panel{padding:0;overflow:hidden}.booth-create-panel>summary{list-style:none}.booth-create-panel>summary::-webkit-details-marker{display:none}.booth-create-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer}.booth-create-summary span:first-child{display:flex;flex-direction:column;gap:3px}.booth-create-summary small{color:var(--muted);font-weight:400}.booth-create-panel[open] .booth-create-summary{border-bottom:1px solid var(--line);background:#fafbff}.booth-create-form{padding:0 20px 20px}.form-action-cell{display:flex;align-items:flex-end;justify-content:flex-start}.booth-health-inline{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px}.health-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#98a2b3}.health-dot-online{background:#12b76a}.health-dot-offline,.health-dot-error{background:#f04438}.health-dot-degraded{background:#f79009}.health-dot-unknown{background:#98a2b3}.booth-paper-cell{min-width:110px}.booth-paper-cell strong{display:block;font-size:12px}.booth-paper-cell>span{display:block;height:5px;background:#eaecf0;border-radius:99px;overflow:hidden;margin-top:6px}.booth-paper-cell i{display:block;height:100%;background:var(--accent);border-radius:99px}.back-link{font-size:13px;color:#5d49dc;font-weight:750}.booth-detail-metric{font-size:18px;font-weight:800;margin-top:7px;line-height:1.2}.booth-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px;align-items:start}.device-identity{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.booth-detail-layout .stack{display:grid;gap:18px}.booth-detail-layout .setting-card{align-self:end;margin-bottom:0}.booth-detail-layout .form-action-cell{justify-content:flex-end}.dataTable td:last-child{min-width:245px}.dataTable td:nth-child(2){max-width:310px}.dataTable td:nth-child(5){min-width:230px}
@media(max-width:1180px){.booth-detail-layout{grid-template-columns:1fr}.dataTable td:nth-child(5){min-width:190px}}
@media(max-width:820px){.booth-create-summary{align-items:flex-start}.booth-create-form{padding:0 16px 16px}.booth-health-inline{flex-wrap:wrap}.booth-detail-layout .form-action-cell{justify-content:stretch}.booth-detail-layout .form-action-cell .btn{width:100%}}


/* V13.0.8 — Booth detail polish + opaque admin references */
.booth-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.booth-detail-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:7px}.booth-detail-title-row .page-title{margin:0}.booth-detail-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.credential-alert code{display:inline-block;margin:5px 0 0;padding:6px 8px;background:rgba(255,255,255,.7);border-radius:7px;word-break:break-all}
.booth-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.booth-overview-card{padding:18px 20px;min-height:112px;display:flex;flex-direction:column;justify-content:center}.booth-overview-card>span{font-size:12px;color:var(--muted);font-weight:700}.booth-overview-card>strong{font-size:18px;line-height:1.25;margin-top:7px}.booth-overview-card>small{font-size:11px;color:var(--muted);margin-top:6px}.booth-paper-progress{height:6px;background:#eaecf0;border-radius:999px;overflow:hidden;margin-top:12px}.booth-paper-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}
.booth-detail-main{display:grid;gap:18px}.booth-settings-section,.booth-schedule-section{width:100%;max-width:none}.booth-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:0;align-items:start}.booth-settings-grid .field{min-width:0}.booth-active-setting{grid-column:1/3;margin:0;align-self:stretch}.booth-form-actions{grid-column:3/4;display:flex;align-items:center;justify-content:flex-end;min-height:66px}.booth-form-actions .btn{min-width:180px}
.booth-event-control-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);gap:14px;align-items:stretch}.booth-subcard{border:1px solid var(--line);background:#fafbfc;border-radius:15px;padding:16px;min-width:0}.booth-subcard-head{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}.booth-subcard-head strong{font-size:14px}.booth-subcard-head small{font-size:12px;color:var(--muted)}.booth-subcard .field{margin-bottom:12px}.booth-inline-actions{display:flex;justify-content:flex-end;align-items:flex-end}.booth-schedule-add-grid{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(175px,.9fr) minmax(175px,.9fr);gap:0 12px;align-items:end}.booth-schedule-add-grid .booth-inline-actions{grid-column:1/-1}.booth-schedule-list-head{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.booth-schedule-list-head span{color:var(--muted);font-size:12px}.booth-schedule-list{margin-top:6px}.booth-schedule-list .schedule-row{padding:12px 2px}
.booth-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.booth-tool-card{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;align-content:start}.booth-tool-card>form,.booth-tool-card>.field,.booth-tool-card>.booth-security-actions{grid-column:1/-1}.booth-tool-card h3{font-size:16px;margin:1px 0 4px}.booth-tool-card p{font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.5}.booth-tool-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:#5d49dc;font-weight:900}.booth-tool-card form .field{margin-top:4px}.booth-security-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booth-security-actions form{margin:0}.booth-security-card .device-token{min-height:43px;display:flex;align-items:center}
@media(max-width:1180px){.booth-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booth-active-setting{grid-column:1/2}.booth-form-actions{grid-column:2/3}.booth-event-control-grid{grid-template-columns:1fr}.booth-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booth-security-card{grid-column:1/-1}.booth-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.booth-detail-head{align-items:flex-start;flex-direction:column}.booth-detail-actions{width:100%}.booth-detail-actions .btn{flex:1}.booth-overview-grid,.booth-settings-grid,.booth-tools-grid,.booth-schedule-add-grid{grid-template-columns:1fr}.booth-active-setting,.booth-form-actions,.booth-security-card,.booth-schedule-add-grid .booth-inline-actions{grid-column:1/-1}.booth-form-actions .btn,.booth-inline-actions .btn{width:100%}.booth-security-actions{grid-template-columns:1fr}}


/* V13.0.9 — camera kiosk viewport + form unit-field fix */
.camera-runtime.camera-simple{height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#050710}
.camera-runtime.camera-simple .simple-camera-shell{height:100vh;height:100dvh;min-height:0;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr) auto;padding:14px 16px;gap:12px;overflow:hidden}
.camera-topbar{min-height:74px}.camera-brand-block{min-width:0}.camera-brand-block h1{font-size:clamp(24px,2vw,34px);line-height:1.05;margin:7px 0 4px}.camera-brand-block p{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72vw}.camera-top-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.camera-fullscreen-btn{height:40px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.camera-fullscreen-btn:hover{background:rgba(255,255,255,.11)}
.camera-runtime.camera-simple .simple-camera-stage{height:100%;min-height:0;border-radius:22px;overflow:hidden;isolation:isolate}
.camera-runtime.camera-simple .camera-stage video,.camera-runtime.camera-simple .camera-stage>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;display:block}
.camera-runtime.camera-simple .camera-stage>img{object-fit:contain;background:#02040a}
.camera-runtime.camera-simple .camera-overlay,.camera-runtime.camera-simple .camera-called,.camera-runtime.camera-simple .camera-countdown,.camera-error-overlay{position:absolute;inset:0}
.camera-runtime.camera-simple .public-camera-message{max-width:780px;padding:24px}.camera-runtime.camera-simple .public-camera-message h2{font-size:clamp(34px,4.6vw,68px);margin:13px 0 12px}.camera-runtime.camera-simple .public-camera-message p{font-size:clamp(16px,1.55vw,23px)}.camera-runtime.camera-simple .camera-orb{width:68px;height:68px;font-size:29px;border-radius:21px}.camera-runtime.camera-simple .public-mini-steps{margin-top:20px;gap:9px}.camera-runtime.camera-simple .public-mini-steps span{padding:11px 12px;font-size:13px}
.camera-runtime.camera-simple .camera-called{background:rgba(5,7,16,.92);z-index:7}.camera-runtime.camera-simple .camera-called strong{font-size:min(17vw,190px);margin:10px 0;line-height:.9}.camera-runtime.camera-simple .camera-called small{font-size:clamp(20px,2vw,30px)}.camera-runtime.camera-simple .camera-called p{margin:12px 0 0;color:#cbd5e1;font-size:clamp(15px,1.35vw,20px)}
.camera-runtime.camera-simple .public-countdown{z-index:9;background:rgba(3,5,10,.72);font-size:min(24vw,230px)}
.camera-error-overlay{z-index:12;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,rgba(185,28,28,.20),rgba(5,7,16,.96));padding:24px}.camera-error-overlay[hidden]{display:none}.camera-error-card{width:min(620px,92%);padding:34px;border:1px solid rgba(255,255,255,.12);background:rgba(15,20,33,.92);border-radius:26px;box-shadow:0 28px 80px rgba(0,0,0,.45)}.camera-error-icon{width:62px;height:62px;border-radius:20px;background:#5b171c;color:#fda29b;display:grid;place-items:center;margin:0 auto 18px;font-size:34px;font-weight:900}.camera-error-card h2{font-size:clamp(30px,3vw,46px);margin:12px 0 10px}.camera-error-card p{color:#cbd5e1;font-size:16px;line-height:1.55;margin:0 auto 20px;max-width:520px}.camera-error-card small{display:block;color:#98a2b3;margin-top:13px}
.camera-runtime.camera-simple .public-camera-footer{min-height:82px;display:grid;grid-template-columns:minmax(150px,.55fr) minmax(260px,1.2fr) auto;gap:16px;align-items:center;padding:0 4px}.camera-runtime.camera-simple .camera-current{min-width:0}.camera-runtime.camera-simple .camera-current strong{font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-runtime.camera-simple .camera-main-hint{text-align:center;max-width:none;font-size:14px;line-height:1.4}.camera-runtime.camera-simple .camera-actions{justify-content:flex-end;gap:10px}.camera-runtime.camera-simple .camera-actions .btn{min-width:190px;min-height:52px;font-size:15px}.camera-runtime.camera-simple .camera-actions[hidden]{display:none}
.camera-runtime.camera-simple:fullscreen .simple-camera-shell{padding:12px 14px}.camera-runtime.camera-simple:fullscreen .camera-fullscreen-btn span{display:inline}
@media(max-width:980px){.camera-runtime.camera-simple .public-camera-footer{grid-template-columns:1fr auto}.camera-runtime.camera-simple .camera-main-hint{grid-column:1/-1;grid-row:1;text-align:left}.camera-runtime.camera-simple .camera-current{grid-column:1}.camera-runtime.camera-simple .camera-actions{grid-column:2}.camera-brand-block p{display:none}.camera-fullscreen-btn span{display:none}.camera-runtime.camera-simple .camera-actions .btn{min-width:150px}}
@media(max-width:720px){.camera-runtime.camera-simple{overflow:auto;height:auto;min-height:100dvh}.camera-runtime.camera-simple .simple-camera-shell{height:auto;min-height:100dvh;overflow:visible}.camera-runtime.camera-simple .simple-camera-stage{min-height:58vh}.camera-runtime.camera-simple .public-camera-footer{grid-template-columns:1fr}.camera-runtime.camera-simple .camera-main-hint,.camera-runtime.camera-simple .camera-current,.camera-runtime.camera-simple .camera-actions{grid-column:1}.camera-runtime.camera-simple .camera-actions{width:100%}.camera-runtime.camera-simple .camera-actions .btn{flex:1;min-width:0}.camera-top-actions{gap:6px}.public-ready-dot{padding:8px 10px}}

/* V13.1 multi-shot camera */
.camera-shot-progress{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:rgba(124,58,237,.18);border:1px solid rgba(167,139,250,.35);color:#c4b5fd;font-weight:850;font-size:clamp(14px,1.2vw,22px);letter-spacing:.04em;margin:8px auto 2px}.camera-shot-progress[hidden]{display:none!important}

/* V13.1 multi-shot results */
.result-multishot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.share-shot-card{display:flex;flex-direction:column;gap:8px}.share-shot-card .share-result-image{width:100%;margin:0;aspect-ratio:3/4;object-fit:cover}@media(max-width:720px){.result-multishot-grid{grid-template-columns:1fr}}

/* V13.1.3 — Events list-first navigation */
.event-list-card-wide{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px;
  border:1px solid var(--border,#e4e7ec);
  border-radius:18px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.event-list-card-wide:hover{
  border-color:#d6d0ff;
  box-shadow:0 10px 28px rgba(16,24,40,.07);
  transform:translateY(-1px);
}
.event-list-card-wide .event-swatch{margin:0;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:800}
.event-list-card-wide .event-list-body{min-width:0}
.event-list-card-wide h3{margin:7px 0 4px}
@media (max-width:700px){
  .event-list-card-wide{grid-template-columns:44px minmax(0,1fr);padding:14px;gap:12px}
  .event-list-card-wide .event-swatch{width:44px;height:44px;border-radius:13px}
}

/* === V13.1.4 Event edit card grid === */
.event-edit-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}
.event-edit-col-4{grid-column:span 4}.event-edit-col-6{grid-column:span 6}
.event-edit-card{width:100%;min-width:0;margin:0}.event-edit-card .form-section-head,.event-edit-card .section-head{margin-bottom:18px}.event-edit-card .form-section-head>div:nth-child(2),.event-edit-card .section-head>div:first-child{min-width:0}
.event-edit-form{width:100%;max-width:none}.event-edit-form .field{width:100%;max-width:none;margin-bottom:14px}.event-edit-form input:not([type="checkbox"]):not([type="radio"]),.event-edit-form select,.event-edit-form textarea{width:100%;max-width:none}
.event-edit-form textarea{min-height:110px}.event-edit-save{width:100%!important;margin-top:4px}.event-edit-option-list{display:grid;grid-template-columns:1fr;gap:9px}.event-edit-option-list.compact{gap:7px}.event-edit-option-list .setting-row{width:100%;margin:0;box-sizing:border-box}
.event-edit-sponsor{display:block}.event-edit-sponsor-head{display:flex;align-items:flex-start;gap:10px;width:100%}.event-edit-sponsor-head input{margin-top:3px}.event-edit-template-row,.event-edit-package-row{width:100%;align-items:flex-start}.event-edit-package-row{padding:16px}.event-edit-template-row{padding:14px}.event-edit-style-row{align-items:flex-start}.event-edit-style-row>div{min-width:0;flex:1}.event-edit-style-row p{overflow-wrap:anywhere}.event-edit-brand-preview{display:block;max-width:100%;width:auto;max-height:220px;margin-top:10px;object-fit:contain}.event-edit-kpis .card{min-width:0}
@media(max-width:1180px){.event-edit-col-4{grid-column:span 6}}
@media(max-width:820px){.event-edit-grid{grid-template-columns:1fr}.event-edit-col-4,.event-edit-col-6{grid-column:1/-1}.event-edit-card .form-section-head,.event-edit-card .section-head{align-items:flex-start;flex-wrap:wrap}.event-edit-kpis{grid-template-columns:1fr}}

/* V13.1.5 — Leads list-first admin */
.leads-list-card{padding:0;overflow:hidden}
.leads-list-head{padding:22px 24px 10px}
.leads-list-filter{display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;gap:12px;align-items:end;padding:12px 24px 20px;border-bottom:1px solid var(--line)}
.leads-list-filter .field{margin:0}
.leads-filter-actions{display:flex;gap:8px;align-items:center;min-height:44px}
.leads-table-wrap{border:0;border-radius:0}
.leads-table th,.leads-table td{padding:14px 16px;vertical-align:middle}
.lead-action-cell{text-align:right}
.leads-detail-grid .card{min-width:0}
@media(max-width:900px){.leads-list-filter{grid-template-columns:1fr 180px}.leads-filter-actions{grid-column:1/-1}.leads-detail-grid{grid-template-columns:1fr}}
@media(max-width:640px){.leads-list-head{padding:18px 18px 8px}.leads-list-filter{grid-template-columns:1fr;padding:10px 18px 18px}.leads-filter-actions{grid-column:auto}.leads-list-card{margin-left:-2px;margin-right:-2px}.leads-table th,.leads-table td{padding:12px 13px}}

/* V13.1.6 — Events compact full-width list */
.events-page-head{margin-bottom:22px}
.events-list-card{padding:0;overflow:hidden;width:100%;max-width:none}
.events-list-title{padding:22px 24px 18px;border-bottom:1px solid var(--line,#e4e7ec)}
.events-list-title .section-title{margin:0 0 5px}
.events-list-title .section-desc{margin:0}
.events-list-table{width:100%}
.events-list-header,.events-list-row{display:grid;grid-template-columns:minmax(320px,2.35fr) minmax(105px,.7fr) minmax(86px,.55fr) minmax(86px,.55fr) minmax(120px,.82fr) minmax(74px,.45fr) minmax(250px,1.35fr);column-gap:16px;align-items:center}
.events-list-header{padding:11px 20px;background:#f8fafc;border-bottom:1px solid var(--line,#e4e7ec);color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.events-list-row{padding:16px 20px;border-bottom:1px solid var(--line,#e4e7ec);transition:background .16s ease}
.events-list-row:last-child{border-bottom:0}
.events-list-row:hover{background:#fbfbff}
.events-event-cell{display:flex;align-items:center;gap:13px;min-width:0}
.events-list-swatch{width:46px;height:46px;border-radius:13px;flex:0 0 46px}
.events-event-info{min-width:0}
.events-event-info h3{margin:4px 0 3px;font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.events-event-badges{gap:5px}
.events-event-badges .badge{font-size:10px;padding:4px 7px}
.events-list-value{min-width:0;font-size:13px;color:#344054}
.events-list-value strong{font-size:14px;color:var(--text,#101828)}
.events-value-suffix{color:var(--muted)}
.events-list-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;min-width:0}
.events-list-actions form{display:inline-flex;margin:0}
.events-list-actions .btn{white-space:nowrap}
.events-empty{padding:34px 24px}
@media(max-width:1280px){
  .events-list-header,.events-list-row{grid-template-columns:minmax(280px,2fr) minmax(90px,.7fr) minmax(75px,.52fr) minmax(75px,.52fr) minmax(110px,.8fr) minmax(65px,.42fr) minmax(210px,1.2fr);column-gap:11px}
  .events-list-actions{gap:5px}.events-list-actions .btn{padding-left:10px;padding-right:10px}
}
@media(max-width:1050px){
  .events-list-header{display:none}
  .events-list-row{grid-template-columns:minmax(0,1fr) auto auto;gap:12px 16px;padding:16px 18px}
  .events-event-cell{grid-column:1/-1}
  .events-list-value{display:flex;align-items:center;gap:6px}
  .events-list-value::before{content:attr(data-label) ':';font-size:11px;font-weight:750;color:var(--muted)}
  .events-list-actions{grid-column:1/-1;justify-content:flex-start;padding-top:2px}
  .events-list-actions::before{display:none}
}
@media(max-width:640px){
  .events-list-title{padding:18px}
  .events-list-row{grid-template-columns:1fr 1fr;gap:11px 14px;padding:15px 18px}
  .events-event-cell{grid-column:1/-1}
  .events-list-value{display:block}
  .events-list-value::before{display:block;margin-bottom:4px}
  .events-value-suffix{font-size:12px}
  .events-list-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;width:100%}
  .events-list-actions .btn{width:100%;justify-content:center}
  .events-list-actions form{width:100%}.events-list-actions form .btn{width:100%}
}

/* === V13.1.7 Approval list-first + global Select2 === */
.approvals-page-head,.approval-create-head{margin-bottom:18px}
.approvals-list-card{width:100%}
.approvals-list-head{margin-bottom:4px}
.approvals-filter{display:grid;grid-template-columns:minmax(280px,520px) auto;align-items:end;gap:12px;padding:14px 0 15px;border-bottom:1px solid var(--line);margin-bottom:14px}
.approvals-filter .field{margin:0}
.approvals-filter-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-bottom:1px}
.approval-access-note{padding:10px 12px;border:1px solid #e4e7ec;border-radius:11px;background:#f8fafc;color:var(--muted);font-size:12px;margin-bottom:14px}
.approvals-table-wrap{width:100%;overflow-x:auto}
.approval-create-card{width:100%;max-width:980px}
.approval-create-form{width:100%!important;max-width:none!important}
.approval-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.approval-create-form>.field,.approval-create-grid .field{max-width:none!important;width:100%;margin-bottom:14px}
.approval-create-form textarea{min-height:150px}
.field-help{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}
.approval-create-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #ddd6fe;border-radius:12px;background:#faf9ff;color:#475467;font-size:12px;line-height:1.5}
.approval-create-note strong{color:#42389d}

/* Every normal form select in Admin / Operator / Client is rendered by Select2. */
form .select2-container{display:block;width:100%!important;max-width:100%}
form .select2-container .select2-selection--single{width:100%}
form .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#98a2b3}
.select2-container--open{z-index:12000}
.select2-results__options{max-height:300px!important}

@media(max-width:760px){
  .approvals-filter,.approval-create-grid{grid-template-columns:1fr}
  .approvals-filter-actions{padding-bottom:0}
  .approvals-page-head,.approval-create-head{align-items:flex-start}
}

/* === V13.1.8 Sponsor list-first + 4/5-column form grid === */
.sponsors-page-head,.sponsor-form-head{margin-bottom:18px}
.sponsors-head-actions{justify-content:flex-end}
.sponsors-list-card{width:100%;max-width:none;padding:0;overflow:hidden}
.sponsors-list-head{padding:22px 24px 10px;margin:0}
.sponsors-table-wrap{padding:0 24px 22px;overflow-x:auto}
.sponsors-table-wrap .dt-container{width:100%}
.sponsor-table-name{display:flex;align-items:center;gap:11px;min-width:230px}
.sponsor-table-name>div{min-width:0}.sponsor-table-name strong{display:block}.sponsor-table-name span{display:block;color:var(--muted);font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.sponsor-table-logo{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:4px;flex:0 0 42px}
.sponsor-table-logo-empty{display:grid;place-items:center;padding:0;background:var(--accent-soft);color:#5d49dc;font-weight:850}
.sponsor-url{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sponsor-table-actions{flex-wrap:nowrap}.sponsor-table-actions form{margin:0}
.sponsor-form-card{width:100%;max-width:none}.sponsor-form{width:100%!important;max-width:none!important}
.sponsor-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px;align-items:start}
.sponsor-form-grid .field{min-width:0;width:100%;max-width:none;margin-bottom:15px}.sponsor-form-grid input:not([type="checkbox"]),.sponsor-form-grid textarea{width:100%;max-width:none}
.sponsor-span-2{grid-column:span 2}.sponsor-span-full{grid-column:1/-1}.sponsor-form-grid textarea{min-height:125px}
.sponsor-status-field{min-width:140px}.sponsor-active-control{height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #d8d0ff;border-radius:11px;background:#f8f7ff;font-weight:750;color:#5145cd;box-sizing:border-box;cursor:pointer}.sponsor-active-control input{width:auto!important;margin:0}
.sponsor-logo-field input[type="file"]{min-height:44px;padding:7px 8px}
.sponsor-logo-preview{display:none;margin:0 0 16px;min-height:0}.sponsor-logo-preview.has-image{display:flex;align-items:center;justify-content:flex-start}.sponsor-logo-preview img{display:block;max-width:220px;max-height:120px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}
.sponsor-form-actions{padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}
@media(max-width:1180px){.sponsor-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.sponsor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-span-2{grid-column:span 2}.sponsor-logo-field{grid-column:span 1}}
@media(max-width:640px){.sponsors-page-head,.sponsor-form-head{align-items:flex-start}.sponsors-head-actions{width:100%;justify-content:space-between}.sponsors-list-head{padding:18px 18px 8px}.sponsors-table-wrap{padding:0 18px 18px}.sponsor-form-grid{grid-template-columns:1fr}.sponsor-span-2,.sponsor-span-full,.sponsor-logo-field{grid-column:1/-1}.sponsor-form-actions{display:grid;grid-template-columns:1fr}.sponsor-form-actions .btn{width:100%}}

/* === V13.1.9 Venue list-first, Fleet Planner grid, unified DataTables / Select2 / search === */
:root{
  --ui-control-h:44px;
  --ui-control-radius:11px;
  --ui-control-border:#d0d5dd;
  --ui-control-focus:#7c3aed;
  --ui-control-focus-shadow:0 0 0 3px rgba(124,58,237,.10);
}

/* One visual language for DataTables search/length, Select2 and application search controls. */
.content .ui-search-control,
.content input[type="search"],
.dt-container .dt-input,
.dt-container .dt-search input,
.dt-container .dt-length select,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple{
  min-height:var(--ui-control-h)!important;
  border:1px solid var(--ui-control-border)!important;
  border-radius:var(--ui-control-radius)!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:none!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
  box-sizing:border-box;
}
.content .ui-search-control,
.content input[type="search"],
.dt-container .dt-search input,
.dt-container .dt-length select{
  height:var(--ui-control-h);
  padding:0 13px!important;
  font:inherit;
  outline:none;
}
.content .ui-search-control:focus,
.content input[type="search"]:focus,
.dt-container .dt-input:focus,
.dt-container .dt-search input:focus,
.dt-container .dt-length select:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple{
  border-color:var(--ui-control-focus)!important;
  box-shadow:var(--ui-control-focus-shadow)!important;
}
.select2-container .select2-selection--single .select2-selection__rendered{height:42px!important;line-height:42px!important;padding:0 34px 0 13px!important;color:var(--text)!important}
.select2-container .select2-selection--single .select2-selection__arrow{height:42px!important;right:5px!important}
.select2-container .select2-selection--multiple{padding:4px 7px!important;align-items:center}
.select2-container--default .select2-selection--multiple .select2-selection__choice{margin-top:3px!important;margin-bottom:3px!important;border:1px solid #ddd6fe!important;border-radius:8px!important;background:#f5f3ff!important;color:#5145cd!important;padding:3px 7px!important}
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field{height:31px!important;margin-top:1px!important;line-height:31px!important}
.select2-dropdown{border:1px solid var(--ui-control-border)!important;border-radius:12px!important;box-shadow:0 16px 36px rgba(15,23,42,.14)!important;overflow:hidden}
.select2-search--dropdown{padding:9px!important;background:#fff}.select2-search--dropdown .select2-search__field{height:40px!important;border:1px solid var(--ui-control-border)!important;border-radius:9px!important;padding:0 11px!important;outline:none}.select2-search--dropdown .select2-search__field:focus{border-color:var(--ui-control-focus)!important;box-shadow:var(--ui-control-focus-shadow)!important}
.select2-results__option{padding:9px 12px!important;font-size:13px}.select2-results__option--highlighted.select2-results__option--selectable{background:var(--accent)!important}.select2-results__option--selected{background:#f2f4f7!important;color:#344054!important}

.dt-container{width:100%;font-size:13px;color:var(--text)}
.dt-container .dt-layout-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:0!important;padding:10px 0!important}
.dt-container .dt-layout-row:first-child{padding-top:4px!important}.dt-container .dt-layout-row:last-child{padding-bottom:0!important}
.dt-container .dt-layout-cell{display:flex;align-items:center;gap:8px}
.dt-container .dt-search,.dt-container .dt-length{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650}
.dt-container .dt-search label,.dt-container .dt-length label{margin:0;white-space:nowrap}
.dt-container .dt-search input{width:min(300px,40vw)!important;margin-left:0!important}
.dt-container .dt-length select{width:82px!important;padding-right:28px!important}
.dt-container table.dataTable{margin:4px 0 8px!important;border-collapse:separate!important;border-spacing:0!important;width:100%!important}
.dt-container table.dataTable thead th{padding:12px 14px!important;background:#f8fafc!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;color:#667085!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.045em!important;white-space:nowrap}
.dt-container table.dataTable thead th:first-child{border-left:1px solid var(--line)!important;border-top-left-radius:11px}.dt-container table.dataTable thead th:last-child{border-right:1px solid var(--line)!important;border-top-right-radius:11px}
.dt-container table.dataTable tbody td{padding:13px 14px!important;border-bottom:1px solid #eef2f6!important;vertical-align:middle!important;background:#fff}
.dt-container table.dataTable tbody tr:hover td{background:#fcfcff!important}
.dt-container .dt-info{color:var(--muted)!important;font-size:12px!important;padding:0!important}
.dt-container .dt-paging{display:flex!important;align-items:center!important;gap:5px!important}
.dt-container .dt-paging .dt-paging-button{min-width:36px!important;height:36px!important;padding:0 10px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:#344054!important;box-shadow:none!important;margin:0!important;display:inline-grid!important;place-items:center!important}
.dt-container .dt-paging .dt-paging-button:hover{background:#f8f7ff!important;border-color:#c7bfff!important;color:#5145cd!important}
.dt-container .dt-paging .dt-paging-button.current{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.dt-container .dt-paging .dt-paging-button.disabled{opacity:.45!important;cursor:not-allowed!important}
.dt-container .dt-processing{border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 34px rgba(15,23,42,.14)!important;color:var(--text)!important;padding:12px 18px!important}

/* Venue: list-first + separate 5/4-column form. */
.venues-page-head,.venue-form-head,.fleet-page-head{margin-bottom:18px}
.venues-head-actions{justify-content:flex-end}.venues-list-card{width:100%;max-width:none;padding:0;overflow:hidden}.venues-list-head{padding:22px 24px 10px;margin:0}.venues-table-wrap{padding:0 24px 22px;overflow-x:auto}.venue-address-cell{max-width:300px;white-space:normal;line-height:1.45}.venues-table-wrap .dt-container{width:100%}
.venue-form-card,.venue-area-card{width:100%;max-width:none}.venue-form{width:100%!important;max-width:none!important}.venue-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px;align-items:start}.venue-form-grid .field{min-width:0;width:100%;max-width:none;margin-bottom:15px}.venue-form-grid input:not([type="checkbox"]),.venue-form-grid textarea{width:100%;max-width:none}.venue-span-2{grid-column:span 2}.venue-span-3{grid-column:span 3}.venue-form-grid textarea{min-height:116px}.venue-status-field{min-width:130px}.venue-active-control{height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #d8d0ff;border-radius:11px;background:#f8f7ff;font-weight:750;color:#5145cd;box-sizing:border-box;cursor:pointer}.venue-active-control input{width:auto!important;margin:0}.venue-form-actions{padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}
.venue-area-card{margin-top:18px}.venue-area-form{width:100%!important;max-width:none!important}.venue-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 12px;align-items:end}.venue-area-grid .field{min-width:0;margin-bottom:14px}.venue-area-span-2{grid-column:span 2}.venue-area-submit{display:flex;align-items:flex-end;padding-bottom:14px}.venue-area-submit .btn{width:100%}.venue-area-list{border-top:1px solid var(--line);margin-top:3px}.venue-area-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-bottom:1px solid #eef2f6}.venue-area-row>div:first-child{min-width:0}.venue-area-row strong{display:block}.venue-area-row span:not(.badge){display:block;margin-top:3px;color:var(--muted);font-size:12px}.venue-area-row form{margin:0}

/* Fleet Planner: five-column desktop, four-column medium, simpler multi-booth selection. */
.fleet-planner-card,.fleet-day-card,.fleet-timeline-card{width:100%;max-width:none}.fleet-planner-card{margin-bottom:16px}.fleet-assign-form{width:100%!important;max-width:none!important}.fleet-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px;align-items:end}.fleet-form-grid .field{min-width:0;width:100%;max-width:none;margin-bottom:15px}.fleet-span-2{grid-column:span 2}.fleet-span-3{grid-column:span 3}.fleet-submit{padding-bottom:15px;display:flex;align-items:flex-end}.fleet-submit .btn{width:100%;min-height:44px}.fleet-booth-label{align-items:center;margin-bottom:6px}.fleet-booth-label .label{margin:0}.fleet-select-actions{gap:10px}.link-button{border:0;background:transparent;padding:0;color:#6941c6;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.link-button:hover{text-decoration:underline}.fleet-day-card{margin-bottom:16px;padding-top:17px;padding-bottom:17px}.fleet-day-grid{display:grid;grid-template-columns:minmax(320px,1.7fr) repeat(4,minmax(120px,.72fr));gap:12px;align-items:stretch}.fleet-date-form{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:10px;align-items:end;margin:0!important;width:100%!important;max-width:none!important}.fleet-date-form .field{margin:0}.fleet-date-form .btn{min-height:44px}.fleet-stat{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#f9fafb}.fleet-stat span{font-size:11px;color:var(--muted);font-weight:700}.fleet-stat strong{font-size:22px;line-height:1.1;margin-top:5px}.fleet-timeline-head{align-items:flex-end}.fleet-search{width:min(320px,100%)}.fleet-search input{width:100%}.fleet-search-row[hidden]{display:none!important}.fleet-timeline-card .fleet-list{margin-top:4px}

@media(max-width:1180px){
  .venue-form-grid,.venue-area-grid,.fleet-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .venue-span-3,.fleet-span-3{grid-column:span 2}.venue-span-2,.fleet-span-2{grid-column:span 2}
  .venue-status-field{grid-column:span 1}.venue-area-submit{grid-column:span 1}
  .fleet-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fleet-date-form{grid-column:1/-1}
}
@media(max-width:900px){
  .venue-form-grid,.venue-area-grid,.fleet-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .venue-span-2,.venue-span-3,.fleet-span-2,.fleet-span-3,.venue-area-span-2{grid-column:span 2}
  .fleet-submit{grid-column:span 2}.fleet-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-date-form{grid-column:1/-1}
  .fleet-timeline-head{align-items:flex-start;flex-direction:column}.fleet-search{width:100%}
}
@media(max-width:640px){
  .venues-page-head,.venue-form-head,.fleet-page-head{align-items:flex-start}.venues-head-actions{width:100%;justify-content:space-between}.venues-list-head{padding:18px 18px 8px}.venues-table-wrap{padding:0 18px 18px}
  .venue-form-grid,.venue-area-grid,.fleet-form-grid,.fleet-day-grid{grid-template-columns:1fr}.venue-span-2,.venue-span-3,.fleet-span-2,.fleet-span-3,.venue-area-span-2,.fleet-submit,.venue-status-field,.venue-area-submit{grid-column:1/-1}
  .venue-form-actions{display:grid;grid-template-columns:1fr}.venue-form-actions .btn{width:100%}.venue-area-row{align-items:flex-start;flex-direction:column}.venue-area-row>.row{width:100%;justify-content:space-between}
  .fleet-date-form{grid-template-columns:1fr}.fleet-date-form .btn{width:100%}.fleet-stat{min-height:64px}.fleet-select-actions{gap:8px}
  .dt-container .dt-layout-row{align-items:stretch!important}.dt-container .dt-layout-cell{width:100%;justify-content:space-between}.dt-container .dt-search{width:100%}.dt-container .dt-search label{display:none}.dt-container .dt-search input{width:100%!important;margin:0!important}.dt-container .dt-paging{width:100%;justify-content:center}
}

/* === V13.2.0 Global 5/4-column data-entry form system ===
   Large data-entry forms share one geometry: 5 columns on wide desktop,
   4 on medium desktop, 2 on tablet, 1 on mobile. Inline actions, filters,
   designer controls, table-row forms, and Event Edit's narrow cards remain compact. */
.form-grid-45{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  column-gap:14px!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
}
.form-grid-45>input[type="hidden"]{display:none!important}
/* Flatten legacy row grids so old grid-2/grid-3 markup participates in the same 5/4 grid. */
.form-grid-45>.grid,
.form-grid-45>.staff-form-grid,
.form-grid-45>.budget-grid,
.form-grid-45>.approval-create-grid,
.form-grid-45>.booth-settings-grid,
.form-grid-45>.booth-schedule-add-grid{display:contents!important}
.form-grid-45>.field,
.form-grid-45>.grid>.field,
.form-grid-45>.staff-form-grid>.field,
.form-grid-45>.budget-grid>.field,
.form-grid-45>.approval-create-grid>.field,
.form-grid-45>.booth-settings-grid>.field,
.form-grid-45>.booth-schedule-add-grid>.field{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  margin-bottom:15px!important;
  grid-column:span 1;
}
.form-grid-45 .field input:not([type="checkbox"]):not([type="radio"]),
.form-grid-45 .field select,
.form-grid-45 .field textarea,
.form-grid-45 .field .select2-container{width:100%!important;max-width:100%!important;min-width:0!important}
/* Two-column width is useful for longer textual values without making every textarea full-screen. */
.form-grid-45>.field:has(textarea),
.form-grid-45>.grid>.field:has(textarea),
.form-grid-45>.staff-form-grid>.field:has(textarea),
.form-grid-45>.approval-create-grid>.field:has(textarea),
.form-grid-45>.field.form-span-2,
.form-grid-45>.grid>.field.form-span-2{grid-column:span 2}
/* Full-width content blocks and option groups always start on a clean row. */
.form-grid-45>.form-span-full,
.form-grid-45>.field.form-span-full,
.form-grid-45>.divider,
.form-grid-45>.section-head,
.form-grid-45>.form-section,
.form-grid-45>.app-form-actions,
.form-grid-45>.approval-create-note,
.form-grid-45>.client-access-grid,
.form-grid-45>.check-grid,
.form-grid-45>.budget-progress,
.form-grid-45>.budget-footer,
.form-grid-45>.client-card-head,
.form-grid-45>.alert,
.form-grid-45>.card,
.form-grid-45>.builder-group,
.form-grid-45>label:has(input[type="checkbox"]),
.form-grid-45>label:has(input[type="radio"]),
.form-grid-45>.row:not(.field-inline){grid-column:1/-1!important}
.form-grid-45>.app-check,.form-grid-45>.setting-card,.form-grid-45>.setting-row{grid-column:span 2}
.form-grid-45>.btn:last-child:not(.block),.form-grid-45>.btn.block:last-child{grid-column:1/-1;justify-self:end}

/* Explicit form layouts follow the same 5/4 rule too. */
.approval-create-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.booth-settings-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.booth-schedule-add-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.booth-settings-grid .booth-active-setting{grid-column:span 2}
.booth-settings-grid .booth-form-actions{grid-column:span 1}
.booth-schedule-add-grid .booth-inline-actions{grid-column:span 1}

@media(max-width:1180px){
  .form-grid-45{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .approval-create-grid,.booth-settings-grid,.booth-schedule-add-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .form-grid-45>.app-check,.form-grid-45>.setting-card,.form-grid-45>.setting-row{grid-column:span 2}
  .booth-settings-grid .booth-active-setting{grid-column:span 2}.booth-settings-grid .booth-form-actions{grid-column:span 2}
  .booth-schedule-add-grid .booth-inline-actions{grid-column:span 1}
}
@media(max-width:900px){
  .form-grid-45{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .approval-create-grid,.booth-settings-grid,.booth-schedule-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid-45>.field:has(textarea),.form-grid-45>.grid>.field:has(textarea),.form-grid-45>.staff-form-grid>.field:has(textarea),.form-grid-45>.approval-create-grid>.field:has(textarea){grid-column:span 2}
  .booth-settings-grid .booth-active-setting,.booth-settings-grid .booth-form-actions,.booth-schedule-add-grid .booth-inline-actions{grid-column:1/-1}
}
@media(max-width:640px){
  .form-grid-45{grid-template-columns:1fr!important}
  .approval-create-grid,.booth-settings-grid,.booth-schedule-add-grid{grid-template-columns:1fr}
  .form-grid-45>*,.form-grid-45>.field:has(textarea),.form-grid-45>.grid>.field:has(textarea),.form-grid-45>.staff-form-grid>.field:has(textarea),.form-grid-45>.approval-create-grid>.field:has(textarea),.form-grid-45>.app-check,.form-grid-45>.setting-card,.form-grid-45>.setting-row{grid-column:1/-1!important}
  .form-grid-45>.btn:last-child,.form-grid-45>.btn.block:last-child{width:100%;margin-left:0}
}

/* === V13.2.1 Data list standard: statistics + filter cards + DataTables === */
.data-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}.data-stat-card{min-width:0;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;min-height:104px}.data-stat-card span{font-size:12px;color:var(--muted);font-weight:700}.data-stat-card strong{font-size:27px;line-height:1.05;margin:7px 0 5px;color:var(--text);letter-spacing:-.02em}.data-stat-card small{font-size:11px;color:#98a2b3}.data-filter-card{width:100%;max-width:none;margin:0 0 16px;padding:20px 22px}.data-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.data-filter-head .section-title{margin:0}.data-filter-head .section-desc{margin:5px 0 0}.data-filter-grid{display:grid;grid-template-columns:minmax(260px,3fr) minmax(150px,1fr);gap:14px;align-items:end}.data-filter-grid .field{margin:0;min-width:0}.data-filter-grid input,.data-filter-grid select,.data-filter-grid .select2-container{width:100%!important;max-width:none!important}.data-filter-search{min-width:0}.data-filter-length{max-width:190px}.dt-auto-stat-grid{margin-top:16px}.dt-auto-filter-card{margin-top:0}.dt-auto-filter-card+.card{margin-top:0!important}.dt-auto-filter-card .data-filter-grid{grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(220px,1.2fr) minmax(130px,.65fr)}
.leads-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.leads-filter-card .data-filter-grid{grid-template-columns:minmax(260px,2fr) minmax(160px,.9fr) minmax(170px,1fr) minmax(210px,1.2fr) minmax(130px,.65fr)}.leads-list-card{width:100%;max-width:none}.leads-list-head{padding-bottom:14px}.leads-table-wrap{overflow-x:auto}

/* Fleet Planner V13.2.1: timeline is a DataTable, not a custom timeline row/card list. */
.fleet-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.fleet-filter-card{margin-bottom:16px}.fleet-filter-grid{grid-template-columns:minmax(280px,1.2fr) minmax(240px,1.4fr) minmax(170px,.9fr) minmax(210px,1.1fr) minmax(130px,.65fr)}.fleet-date-filter{margin:0!important;max-width:none!important;width:100%!important}.fleet-date-filter>.row{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:9px}.fleet-date-filter .btn{min-height:44px}.fleet-timeline-card{width:100%;max-width:none}.fleet-timeline-table-wrap{overflow-x:auto}.fleet-timeline-table{width:100%}.fleet-timeline-table td:nth-child(2),.fleet-timeline-table td:nth-child(3){white-space:normal;min-width:180px}.fleet-timeline-table form{margin:0}.fleet-timeline-head{align-items:center}

.table-wrap{border:0!important}
.data-filter-column,.data-filter-column-search{min-width:0}.data-filter-column-search input:disabled{background:#f8fafc;color:#98a2b3;cursor:not-allowed}.data-filter-grid-advanced{align-items:end}
@media(max-width:1180px){.data-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.leads-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.data-filter-grid,.leads-filter-card .data-filter-grid,.fleet-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-filter-length{max-width:none}.fleet-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.data-stat-grid,.fleet-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leads-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-filter-grid,.leads-filter-card .data-filter-grid,.fleet-filter-grid{grid-template-columns:1fr}.data-filter-head{align-items:stretch;flex-direction:column}.data-filter-head .btn{width:100%}.fleet-date-filter>.row{grid-template-columns:1fr auto}}
@media(max-width:560px){.data-stat-grid,.fleet-stat-grid,.leads-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.data-stat-card{min-height:88px;padding:14px 15px}.data-stat-card strong{font-size:23px}.data-filter-card{padding:17px}.fleet-date-filter>.row{grid-template-columns:1fr}.fleet-date-filter .btn{width:100%}}

/* V13.2.2: DataTables embedded inside grid/stack cards keep their tools inside the same card. */
.dt-inline-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 12px}
.dt-inline-stat-grid .data-stat-card{padding:14px 15px;min-height:86px}
.dt-inline-filter-card{margin:0 0 14px;padding:16px}
.dt-inline-filter-card .data-filter-grid{grid-template-columns:1fr 1fr}
@media(max-width:640px){.dt-inline-stat-grid,.dt-inline-filter-card .data-filter-grid{grid-template-columns:1fr}}

/* V13.2.3 — role-wide list/form consistency + long-distance monitor readability */
.table-wrap{border:0!important;box-shadow:none!important}
.app-form-fullwidth,.form-card-standard>form.app-form,.content form.form-grid-45{width:100%!important;max-width:none!important}
.form-card-standard{width:100%;max-width:none!important;container-type:inline-size}
.content .full-width-area,.content .list-card-full{width:100%;max-width:none!important}

/* Five columns on wide workspaces, four on normal desktop, then two/one responsively. */
.form-grid-45{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0 14px!important;align-items:end}
@media(max-width:1440px){.form-grid-45{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:980px){.form-grid-45{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.form-grid-45{grid-template-columns:1fr!important}}
@container (max-width:760px){.form-grid-45{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container (max-width:480px){.form-grid-45{grid-template-columns:1fr!important}}

/* DataTables controls are visually identical in every role. */
.dt-container{width:100%;max-width:none!important}
.dt-container .dt-info{font-size:12px;color:var(--muted);padding-top:13px!important}
.dt-container .dt-paging{padding-top:10px!important}
.data-stat-grid,.data-filter-card{width:100%;max-width:none!important}
.data-filter-grid input,.data-filter-grid select,.data-filter-grid .select2-container,.dt-container input,.dt-container select{min-height:44px}

/* Operator screens: full-width work area and consistent cards. */
.operator-content .card,.operator-content section.card{max-width:none}
.operator-content .operator-page-stats{margin-bottom:16px}
.operator-content .operator-filter-card{margin-bottom:16px}
.operator-content .operator-list-table td{white-space:normal;vertical-align:middle}
.operator-content .operator-list-table td:last-child{white-space:nowrap}

/* Public monitor screens must be readable from roughly 3–5 metres. */
.public-info-screen .public-brand-row span{font-size:clamp(15px,1.05vw,21px)}
.public-info-screen .public-brand-row h1{font-size:clamp(38px,3.6vw,62px)}
.public-info-screen .public-clock strong{font-size:clamp(42px,3.8vw,64px)}
.public-info-screen .public-clock span{font-size:clamp(14px,.9vw,18px)}
.public-info-screen .public-section-label{font-size:clamp(17px,1.2vw,23px)}
.public-info-screen .public-now-card>span{font-size:clamp(17px,1.15vw,22px)}
.public-info-screen .public-now-card>small{font-size:clamp(25px,2vw,36px)}
.public-info-screen .public-next-title strong,.public-info-screen .public-next-title span{font-size:clamp(17px,1.15vw,22px)}
.public-info-screen .public-next-list strong{font-size:clamp(30px,2.5vw,44px)}
.public-info-screen .public-next-list span{font-size:clamp(17px,1.25vw,24px)}
.public-info-screen .public-wait-info span{font-size:clamp(16px,1.15vw,21px)}
.public-info-screen .public-wait-info strong{font-size:clamp(21px,1.55vw,28px)}
.public-info-screen .public-start-panel h2{font-size:clamp(44px,4.6vw,72px)}
.public-info-screen .public-start-steps div{font-size:clamp(16px,1.15vw,22px);line-height:1.3}
.public-info-screen .public-start-steps b{width:34px;height:34px;font-size:18px}
.public-info-screen .public-start-panel>p{font-size:clamp(19px,1.35vw,26px);max-width:620px}
.public-info-screen .public-operator-note{font-size:clamp(18px,1.25vw,24px);padding:15px 18px}
.public-info-screen .public-help strong{font-size:clamp(18px,1.2vw,24px)}
.public-info-screen .public-help span{font-size:clamp(16px,1.05vw,21px)}
.public-info-screen .public-sponsors>span{font-size:clamp(11px,.75vw,15px)}
.public-info-screen .public-sponsors strong{font-size:clamp(14px,.9vw,18px)}

.camera-runtime.camera-simple .camera-brand-block h1{font-size:clamp(34px,2.8vw,50px)}
.camera-runtime.camera-simple .camera-brand-block p{font-size:clamp(18px,1.35vw,25px)}
.camera-runtime.camera-simple .public-ready-dot{font-size:clamp(17px,1.15vw,22px);padding:12px 17px}
.camera-runtime.camera-simple .camera-fullscreen-btn{font-size:clamp(16px,1.05vw,20px);height:48px;padding:0 17px}
.camera-runtime.camera-simple .instruction-kicker{font-size:clamp(18px,1.25vw,24px)}
.camera-runtime.camera-simple .public-camera-message p{font-size:clamp(24px,2.1vw,34px)}
.camera-runtime.camera-simple .public-mini-steps span{font-size:clamp(19px,1.45vw,27px);padding:18px}
.camera-runtime.camera-simple .camera-called span{font-size:clamp(24px,1.8vw,34px)}
.camera-runtime.camera-simple .camera-called small{font-size:clamp(32px,2.6vw,46px)}
.camera-runtime.camera-simple .camera-called p{font-size:clamp(22px,1.7vw,30px)}
.camera-runtime.camera-simple .camera-shot-progress{font-size:clamp(19px,1.45vw,28px)}
.camera-runtime.camera-simple .camera-current span{font-size:clamp(16px,1.05vw,20px)}
.camera-runtime.camera-simple .camera-current strong{font-size:clamp(30px,2.2vw,40px)}
.camera-runtime.camera-simple .camera-main-hint{font-size:clamp(20px,1.45vw,28px)}
.camera-runtime.camera-simple .camera-actions .btn{font-size:clamp(18px,1.3vw,24px);min-height:58px}
.camera-runtime.camera-simple .camera-error-card p{font-size:clamp(20px,1.45vw,27px)}
.camera-runtime.camera-simple .camera-error-card small{font-size:clamp(16px,1.05vw,21px)}

.gallery-display header span{font-size:clamp(16px,1.2vw,24px)}
.gallery-display header h1{font-size:clamp(36px,2.9vw,58px)}
.gallery-live-dot{font-size:clamp(16px,1.15vw,22px)}
.gallery-display-empty{font-size:clamp(18px,1.3vw,25px)}
.gallery-display-empty b{font-size:clamp(34px,2.4vw,48px)}
.gallery-display-meta strong{font-size:clamp(26px,1.8vw,36px)}
.gallery-display-meta span{font-size:clamp(17px,1.2vw,23px)}
.gallery-display>footer{font-size:clamp(17px,1.15vw,22px)}
.result-ready-card>b{font-size:clamp(25px,1.9vw,36px)}
.result-ready-card>small{font-size:clamp(17px,1.2vw,23px)}

/* V13.2.3 final consistency pass */
.form-grid-45>.span-2,.form-grid-45>.field.span-2{grid-column:span 2!important}
.form-grid-45>.span-3,.form-grid-45>.field.span-3{grid-column:span 3!important}
.form-grid-45>.span-4,.form-grid-45>.field.span-4{grid-column:span 4!important}
.form-grid-45>.span-full,.form-grid-45>.field.span-full{grid-column:1/-1!important}
.content>section.card,.content>div.card,.operator-content>section.card,.operator-content>div.card{width:100%;max-width:none}
.content .table-wrap{border:0!important;outline:0!important;box-shadow:none!important;background:transparent}
.content .table-wrap>table{width:100%!important}

/* Operator work forms get the same full-width 5/4 layout when they are normal data-entry forms. */
.operator-content form.app-form,.operator-content form.form-grid-45{width:100%!important;max-width:none!important}
.operator-content .form-card-standard{width:100%;max-width:none}

/* DataTables bottom info intentionally shows the first visible row only, e.g. “1 dari 4”. */
.dt-container .dt-info{white-space:nowrap}

/* Monitor / TV typography: never rely on admin-sized text at viewing distance. */
.public-info-screen .public-now-card>strong{font-size:clamp(96px,11vw,170px)!important}
.public-info-screen .public-empty-next{font-size:clamp(18px,1.25vw,24px)!important}
.public-info-screen .public-no-event .booth-badge{font-size:clamp(18px,1.2vw,24px)!important;padding:12px 18px!important}
.public-info-screen .public-no-event h1{font-size:clamp(54px,5vw,88px)!important}
.public-info-screen .public-no-event p{font-size:clamp(24px,1.8vw,34px)!important}
.result-ready-card .instruction-kicker{font-size:clamp(18px,1.25vw,24px)!important}
.result-ready-card>strong{font-size:clamp(72px,8vw,130px)!important}
.camera-runtime.camera-simple .public-camera-message h2{font-size:clamp(52px,5.5vw,82px)!important}
.camera-runtime.camera-simple .camera-countdown{font-size:min(30vw,320px)!important}
.camera-runtime.camera-simple .camera-error-card h2{font-size:clamp(42px,3.6vw,62px)!important}
.gallery-display .gallery-fullscreen-btn{font-size:clamp(16px,1.05vw,20px)!important;min-height:48px!important;padding:0 18px!important}

@media(max-width:1440px){
  .form-grid-45>.span-4,.form-grid-45>.field.span-4{grid-column:span 4!important}
}
@media(max-width:980px){
  .form-grid-45>.span-2,.form-grid-45>.field.span-2,
  .form-grid-45>.span-3,.form-grid-45>.field.span-3,
  .form-grid-45>.span-4,.form-grid-45>.field.span-4{grid-column:1/-1!important}
}
.survey-distribution{display:flex;flex-wrap:wrap;gap:6px;white-space:normal}.survey-distribution span{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border-radius:999px;background:#f5f3ff;color:#4c3fb3;font-size:12px}.survey-distribution b{color:#241b69}
/* V13.2.3 readability floor: secondary monitor copy must remain legible from 3–5 m on large displays. */
.public-info-screen :where(p,small,button,a){font-size:clamp(20px,1.35vw,28px)}
.public-info-screen .public-brand-row span,
.public-info-screen .public-clock span,
.public-info-screen .public-sponsors>span,
.public-info-screen .public-sponsors strong{font-size:clamp(18px,1.2vw,24px)!important}
.public-info-screen .public-next-title :where(strong,span),
.public-info-screen .public-wait-info :where(span,strong),
.public-info-screen .public-help :where(strong,span){font-size:clamp(20px,1.35vw,28px)!important}
.camera-runtime.camera-simple :where(p,small,button,.public-ready-dot,.instruction-kicker,.camera-shot-progress,.camera-current span){font-size:clamp(20px,1.35vw,28px)!important}
.camera-runtime.camera-simple .public-mini-steps span{font-size:clamp(22px,1.55vw,30px)!important}
.gallery-display :where(header span,footer,.gallery-display-empty,.gallery-display-meta span,.gallery-fullscreen-btn){font-size:clamp(20px,1.35vw,28px)!important}
.result-ready-card>small{font-size:clamp(20px,1.35vw,28px)!important}

/* === V13.2.4 — full workspace width: eliminate unused right-side area === */
/*
   Admin / Operator / Client work pages must use the complete area available
   to the right of the sidebar. Older form-width guards are intentionally
   overridden here so list cards, form cards and page-level layouts never
   stop at 980/1180/1280px on larger screens.
*/
.content > .page-head,
.content > section,
.content > article,
.content > .card,
.content > .grid,
.content > .stack,
.content > .budget-list,
.content > .staff-layout,
.content > .form-help-layout,
.content > .form-record-layout,
.content > .form-stack-layout,
.content > .data-stat-grid,
.content > .data-filter-card{
  width:100%!important;
  max-width:none!important;
}

/* Vertical page stacks should not re-introduce a narrow work column. */
.content > .stack > .card,
.content > .stack > section.card,
.content > .stack > article.card{
  width:100%!important;
  max-width:none!important;
}

/* Defeat earlier high-specificity :has() desktop constraints. */
.content > .card:has(> form.app-form),
.content > .card:has(> form.client-form-shell),
.content > section.card:has(> form.app-form),
.content > section.card:has(> form.client-form-shell),
.content > .grid.grid-2:has(> .card > form.app-form),
.content > .grid.grid-2:has(> .card > form.client-form-shell),
.content > .stack > .card:has(> form.client-card-form){
  width:100%!important;
  max-width:none!important;
}

/* Single-record layouts previously reserved a fixed 920px column. */
.content .form-record-layout.is-single{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr)!important;
}

/* Specific legacy cards that once carried their own desktop cap. */
.content .approval-create-card,
.content .form-card-standard,
.content .form-card-compact,
.content .sponsor-form-card,
.content .venue-form-card,
.content .venue-area-card,
.content .fleet-planner-card,
.content .fleet-day-card,
.content .fleet-timeline-card,
.content .events-list-card,
.content .sponsors-list-card,
.content .venues-list-card,
.content .leads-list-card,
.content .list-card-full{
  width:100%!important;
  max-width:none!important;
}

/* Forms fill their card; the 5/4 grid keeps individual controls readable. */
.content form.app-form,
.content form.client-form-shell,
.content form.client-card-form,
.content form.form-grid-45,
.operator-content form,
.client-content form{
  max-width:none;
}
.content form.app-form,
.content form.client-form-shell,
.content form.client-card-form,
.content form.form-grid-45{
  width:100%!important;
  max-width:none!important;
}

/* Keep intentionally compact inline/table action forms compact. */
.content form[data-inline-form],
.content form[data-compact-form],
.content .inline-form{
  width:auto!important;
  max-width:100%!important;
}

/* Inline max-width values on old admin sections must not create dead space. */
.content > section.card[style*="max-width"],
.content > div.card[style*="max-width"]{
  width:100%!important;
  max-width:none!important;
}

/* v13.2.5 - form guidance: placeholders must remain readable and consistent. */
input::placeholder,
textarea::placeholder{
  color:#98a2b3;
  opacity:1;
}
.operator-content input::placeholder,
.operator-content textarea::placeholder,
.content input::placeholder,
.content textarea::placeholder{
  color:#98a2b3;
}

/* === V13.2.6 — booth monitor must always fit inside one TV viewport === */
.public-info-screen{height:100vh;height:100dvh;min-height:0!important;overflow:hidden!important}
.public-info-screen .public-display{
  height:100%;min-height:0!important;max-height:100%;overflow:hidden;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:clamp(8px,1.1vh,14px);
  padding:clamp(10px,1.45vh,18px) clamp(18px,2.2vw,34px);
}
.public-info-screen .public-display-head{min-height:0;gap:18px}
.public-info-screen .public-brand-row h1{font-size:clamp(36px,5.1vh,58px)!important;margin:2px 0 0}
.public-info-screen .public-brand-row span{font-size:clamp(15px,2.1vh,20px)!important}
.public-info-screen .public-clock strong{font-size:clamp(40px,5.8vh,60px)!important}
.public-info-screen .public-clock span{font-size:clamp(14px,1.9vh,18px)!important}
.public-info-screen .public-display-grid{min-height:0;height:100%;gap:clamp(10px,1.2vw,18px)}
.public-info-screen .public-queue-panel,.public-info-screen .public-start-panel{
  min-height:0;height:100%;overflow:hidden;border-radius:22px;
  padding:clamp(14px,2vh,22px);
}
.public-info-screen .public-section-label{font-size:clamp(16px,2.1vh,21px)!important}
.public-info-screen .public-now-card{margin-top:clamp(8px,1.1vh,12px);padding:clamp(14px,1.9vh,20px)}
.public-info-screen .public-now-card>span{font-size:clamp(16px,2vh,20px)!important}
.public-info-screen .public-now-card>strong{font-size:clamp(84px,14vh,145px)!important;margin:clamp(6px,1.2vh,12px) 0 clamp(4px,.8vh,8px)!important}
.public-info-screen .public-now-card>small{font-size:clamp(22px,3.1vh,32px)!important}
.public-info-screen .public-next-wrap{margin-top:clamp(10px,1.5vh,16px)}
.public-info-screen .public-next-title :where(strong,span){font-size:clamp(16px,2.1vh,21px)!important}
.public-info-screen .public-next-list{gap:7px;margin-top:7px}
.public-info-screen .public-next-list>div{padding:clamp(9px,1.3vh,12px) 12px}
.public-info-screen .public-next-list strong{font-size:clamp(26px,3.5vh,38px)!important}
.public-info-screen .public-next-list span,.public-info-screen .public-empty-next{font-size:clamp(16px,2vh,21px)!important}
.public-info-screen .public-wait-info{margin-top:9px;padding:9px 12px}
.public-info-screen .public-wait-info :where(span,strong){font-size:clamp(17px,2.2vh,22px)!important}
.public-info-screen .public-start-panel h2{font-size:clamp(42px,6.4vh,66px)!important;margin:clamp(5px,.8vh,8px) 0 clamp(8px,1.2vh,12px)}
.public-info-screen .public-start-steps{margin-bottom:clamp(8px,1.2vh,12px);gap:7px}
.public-info-screen .public-start-steps div{padding:clamp(8px,1.2vh,11px) 6px;font-size:clamp(15px,2vh,20px)!important}
.public-info-screen .public-start-steps b{width:clamp(26px,3.7vh,32px);height:clamp(26px,3.7vh,32px);font-size:clamp(15px,2vh,18px);margin-bottom:5px}
.public-info-screen .public-qr{padding:clamp(7px,1vh,10px);border-radius:16px}
.public-info-screen #qr canvas,.public-info-screen #qr img{display:block!important;width:clamp(165px,22vh,235px)!important;height:clamp(165px,22vh,235px)!important}
.public-info-screen .public-start-panel>p{font-size:clamp(17px,2.35vh,23px)!important;line-height:1.35;margin:clamp(8px,1.2vh,12px) 0 0;max-width:620px}
.public-info-screen .public-operator-note{font-size:clamp(16px,2.1vh,21px)!important;margin-top:8px;padding:9px 12px}
.public-info-screen .public-display-foot{
  min-height:0!important;height:auto;gap:clamp(10px,1.5vw,20px);padding:2px 0 0;
  align-items:center;
}
.public-info-screen .public-help{gap:0}
.public-info-screen .public-help :where(strong,span){font-size:clamp(16px,2vh,21px)!important;line-height:1.2}
.public-info-screen .public-sponsors{min-width:0;flex-wrap:nowrap;overflow:hidden}
.public-info-screen .public-sponsors>span,.public-info-screen .public-sponsors strong{font-size:clamp(15px,1.9vh,20px)!important;white-space:nowrap}
.public-info-screen .public-sponsors img{max-width:88px;max-height:34px}

@media (min-width:901px) and (max-height:820px){
  .public-info-screen .public-display{padding-top:8px;padding-bottom:8px;gap:7px}
  .public-info-screen .public-brand-row h1{font-size:40px!important}
  .public-info-screen .public-clock strong{font-size:44px!important}
  .public-info-screen .public-now-card>strong{font-size:96px!important}
  .public-info-screen .public-start-panel h2{font-size:44px!important}
  .public-info-screen #qr canvas,.public-info-screen #qr img{width:165px!important;height:165px!important}
  .public-info-screen .public-start-steps div{font-size:15px!important}
  .public-info-screen .public-start-panel>p{font-size:17px!important}
}

/* V13.2.6 landing-page content editor */
.landing-editor-form{display:grid;gap:14px;width:100%}
.landing-editor-section{padding:0!important;overflow:hidden;width:100%;max-width:none!important}
.landing-editor-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#fff}
.landing-editor-section>summary::-webkit-details-marker{display:none}
.landing-editor-section>summary strong{display:block;font-size:18px}
.landing-editor-section>summary small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.landing-editor-section>summary>span{font-size:20px;color:var(--muted);transition:.2s}
.landing-editor-section[open]>summary>span{transform:rotate(180deg)}
.landing-editor-section-body{border-top:1px solid var(--line);padding:20px}
.landing-editor-subgroup{border-top:1px dashed var(--line);padding-top:16px;margin-top:4px}
.landing-editor-subgroup:first-child{border-top:0;padding-top:0}
.landing-editor-subgroup>h3{font-size:15px;margin:0 0 12px;color:var(--text-2)}
.landing-editor-item{border:1px solid var(--line);border-radius:14px;background:#fbfcfe;margin:9px 0;overflow:hidden}
.landing-editor-item>summary{cursor:pointer;padding:12px 14px;list-style:none}
.landing-editor-item>summary::-webkit-details-marker{display:none}
.landing-editor-item-grid{padding:2px 14px 14px}
.landing-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:none!important}
.landing-editor-actions p{margin:4px 0 0}
.landing-reset-form{margin-top:12px;display:flex;justify-content:flex-end}

/* === V13.2.7 — booth monitor visual balance + single QR === */
.public-info-screen .public-display-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:center!important;
  align-content:center!important;
}
.public-info-screen .public-queue-panel,
.public-info-screen .public-start-panel{
  height:auto!important;
  min-height:0!important;
  align-self:center!important;
  overflow:visible!important;
  padding:clamp(18px,2.4vh,26px)!important;
}
.public-info-screen .public-queue-panel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.public-info-screen .public-now-card{
  min-height:clamp(190px,26vh,270px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.public-info-screen .public-now-card>strong{
  font-size:clamp(78px,12vh,132px)!important;
}
.public-info-screen .public-now-card>small{
  max-width:92%;
  line-height:1.25;
}
.public-info-screen .public-queue-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.public-info-screen .public-queue-stats>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.07);
}
.public-info-screen .public-queue-stats span{
  color:#98a2b3;
  font-size:clamp(13px,1.65vh,17px);
  font-weight:850;
  letter-spacing:.08em;
}
.public-info-screen .public-queue-stats strong{
  color:#fff;
  font-size:clamp(18px,2.35vh,24px);
}
.public-info-screen .public-next-wrap{
  margin-top:12px!important;
}
.public-info-screen .public-next-title strong{
  font-size:clamp(15px,1.95vh,19px)!important;
}
.public-info-screen .public-next-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.public-info-screen .public-empty-next{
  min-height:58px;
  text-align:center;
}
.public-info-screen .public-queue-hint{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:color-mix(in srgb,var(--event-primary) 10%,rgba(255,255,255,.035));
  border:1px solid color-mix(in srgb,var(--event-primary) 30%,rgba(255,255,255,.08));
  text-align:left;
}
.public-info-screen .public-queue-hint>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:var(--event-primary);
  color:#fff;
  font-size:20px;
  font-weight:900;
}
.public-info-screen .public-queue-hint div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.public-info-screen .public-queue-hint strong{
  font-size:clamp(16px,2vh,20px);
}
.public-info-screen .public-queue-hint small{
  color:#c8d0df;
  font-size:clamp(14px,1.75vh,18px);
  line-height:1.3;
}
.public-info-screen .public-start-panel{
  justify-content:flex-start!important;
}
.public-info-screen .public-start-panel h2{
  font-size:clamp(40px,5.7vh,60px)!important;
  margin:clamp(6px,.9vh,10px) 0 clamp(10px,1.35vh,14px)!important;
}
.public-info-screen .public-start-steps{
  max-width:100%;
}
.public-info-screen .public-qr{
  display:grid;
  place-items:center;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
}
.public-info-screen #qr{
  width:clamp(190px,25vh,250px)!important;
  height:clamp(190px,25vh,250px)!important;
  overflow:hidden!important;
  display:block!important;
  line-height:0!important;
}
/* qrcode.js creates a canvas plus a hidden image. Never force both visible. */
.public-info-screen #qr>canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.public-info-screen #qr>img{
  display:none!important;
}
.public-info-screen #qr>table{
  width:100%!important;
  height:100%!important;
}
.public-info-screen .public-start-panel>p{
  max-width:680px!important;
  margin-top:12px!important;
}
.public-info-screen .public-result-strip:empty{display:none}

@media (min-width:901px) and (max-height:820px){
  .public-info-screen .public-now-card{min-height:165px}
  .public-info-screen #qr{width:170px!important;height:170px!important}
  .public-info-screen .public-queue-hint{padding:9px 11px;margin-top:9px}
  .public-info-screen .public-queue-stats>div{padding:9px 11px}
}


/* === V13.2.8 — Landing Page editor card spacing === */
/* Landing editor is a vertical accordion, not a 5/4-column data-entry form. */
.landing-editor-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;
  row-gap:18px!important;
  align-items:stretch!important;
}
.landing-editor-form>.landing-editor-section,
.landing-editor-form>.landing-editor-actions{
  grid-column:1/-1!important;
  width:100%!important;
  margin:0!important;
}
.landing-editor-form>.landing-editor-section+ .landing-editor-section{margin-top:0!important}
.landing-editor-actions{margin-top:2px!important}
@media(max-width:640px){
  .landing-editor-form{gap:14px!important;row-gap:14px!important}
}


/* === V13.2.9 — booth monitor equal panel height === */
.public-info-screen .public-display-grid{
  align-items:stretch!important;
  align-content:stretch!important;
}
.public-info-screen .public-queue-panel,
.public-info-screen .public-start-panel{
  height:100%!important;
  align-self:stretch!important;
}
.public-info-screen .public-queue-panel{
  gap:clamp(10px,1.3vh,14px);
}
.public-info-screen .public-next-wrap{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
.public-info-screen .public-next-list{
  flex:1 1 auto;
  align-content:start;
}
.public-info-screen .public-start-panel{
  gap:clamp(8px,1vh,12px);
}
.public-info-screen .public-start-panel .public-qr{
  margin-top:auto;
}
.public-info-screen .public-start-panel>p{
  margin-bottom:auto!important;
}


/* === V13.2.11 — booth monitor compact equal cards + aligned footer === */
/* Keep both cards equal-height, but size them from content instead of stretching
   the middle row to the whole remaining viewport. */
.public-info-screen .public-display-grid{
  height:auto!important;
  align-self:center!important;
  align-items:stretch!important;
  align-content:initial!important;
}
.public-info-screen .public-queue-panel,
.public-info-screen .public-start-panel{
  height:auto!important;
  align-self:stretch!important;
}

/* Left panel: make the queue area consume any small height difference so there
   is never an unexplained blank block. */
.public-info-screen .public-queue-panel{
  display:grid!important;
  grid-template-rows:auto auto auto minmax(105px,1fr) auto;
  gap:clamp(10px,1.25vh,14px)!important;
}
.public-info-screen .public-queue-panel>.public-section-label{align-self:center}
.public-info-screen .public-now-card,
.public-info-screen .public-queue-stats,
.public-info-screen .public-next-wrap,
.public-info-screen .public-queue-hint{margin-top:0!important}
.public-info-screen .public-next-wrap{
  min-height:0;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr);
  gap:8px;
}
.public-info-screen .public-next-list{
  min-height:0;
  height:100%;
  margin-top:0!important;
  align-content:stretch!important;
}
.public-info-screen .public-empty-next{
  min-height:100%!important;
  height:100%;
  display:flex!important;
  flex-direction:column;
  align-items:center!important;
  justify-content:center!important;
  gap:5px;
  padding:18px!important;
  text-align:center;
}
.public-info-screen .public-empty-next strong{
  color:#eef2f8;
  font-size:clamp(18px,2.2vh,23px)!important;
  line-height:1.15;
}
.public-info-screen .public-empty-next span{
  color:#98a2b3;
  font-size:clamp(15px,1.8vh,19px)!important;
  line-height:1.3;
  white-space:normal!important;
  overflow:visible!important;
}

/* Right panel: balanced vertical rhythm without large dead zones. */
.public-info-screen .public-start-panel{
  display:grid!important;
  grid-template-rows:auto auto auto auto auto;
  align-content:center!important;
  justify-items:center;
  gap:clamp(10px,1.5vh,16px)!important;
}
.public-info-screen .public-start-panel h2,
.public-info-screen .public-start-steps,
.public-info-screen .public-qr,
.public-info-screen .public-start-panel>p{
  margin:0!important;
}
.public-info-screen .public-start-steps{width:100%}
.public-info-screen .public-start-panel .public-qr{margin-inline:auto!important}

/* Footer columns mirror the two cards exactly. Help is centered beneath the
   left card; sponsor attribution is centered beneath the right card. */
.public-info-screen .public-display-foot{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:clamp(10px,1.2vw,18px)!important;
  align-items:center!important;
}
.public-info-screen .public-help{
  grid-column:1!important;
  grid-row:1!important;
  width:100%;
  align-items:center!important;
  justify-self:stretch!important;
  text-align:center!important;
}
.public-info-screen .public-sponsors{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:center!important;
  justify-content:center!important;
  width:100%;
}
.public-info-screen .public-result-strip{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}

@media (min-width:901px) and (max-height:820px){
  .public-info-screen .public-queue-panel{
    grid-template-rows:auto auto auto minmax(76px,1fr) auto;
  }
  .public-info-screen .public-empty-next{padding:10px!important}
}
@media(max-width:900px){
  .public-info-screen .public-display-grid{align-self:stretch!important}
  .public-info-screen .public-display-foot{grid-template-columns:1fr!important}
  .public-info-screen .public-help,.public-info-screen .public-sponsors{grid-column:1!important}
  .public-info-screen .public-sponsors{grid-row:2!important}
  .public-info-screen .public-result-strip{display:none!important}
}

/* === V13.2.13 — booth monitor left panel full-width content === */
@media (min-width:901px){
  .public-info-screen .public-queue-panel{
    width:100%!important;
    min-width:0!important;
    justify-items:stretch!important;
  }
  .public-info-screen .public-queue-panel>.public-now-card,
  .public-info-screen .public-queue-panel>.public-queue-stats,
  .public-info-screen .public-queue-panel>.public-next-wrap,
  .public-info-screen .public-queue-panel>.public-queue-hint{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
  }
  .public-info-screen .public-queue-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .public-info-screen .public-next-list,
  .public-info-screen .public-next-list>div,
  .public-info-screen .public-empty-next{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* === V13.2.14 — booth left panel true full-width === */
@media (min-width:901px){
  /* Grid tracks from the previous revision could still shrink the left content.
     Use a simple vertical flex stack so every block stretches to the panel edges. */
  .public-info-screen .public-queue-panel{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
  }
  .public-info-screen .public-queue-panel>.public-section-label{
    width:100%!important;
    align-self:stretch!important;
    text-align:center!important;
  }
  .public-info-screen .public-queue-panel>.public-now-card,
  .public-info-screen .public-queue-panel>.public-queue-stats,
  .public-info-screen .public-queue-panel>.public-next-wrap,
  .public-info-screen .public-queue-panel>.public-queue-hint{
    display:block;
    flex:0 0 auto;
    align-self:stretch!important;
    width:auto!important;
    min-width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  .public-info-screen .public-queue-panel>.public-queue-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .public-info-screen .public-queue-panel>.public-next-wrap{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:105px!important;
  }
  .public-info-screen .public-next-wrap>.public-next-title,
  .public-info-screen .public-next-wrap>.public-next-list,
  .public-info-screen .public-next-list>div,
  .public-info-screen .public-empty-next{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .public-info-screen .public-next-wrap>.public-next-list{
    flex:1 1 auto!important;
  }
  .public-info-screen .public-queue-panel>.public-queue-hint{
    display:flex!important;
  }
}


/* === V13.2.15 — customer-ready gate before camera countdown === */
.camera-runtime.camera-simple .camera-called .camera-ready-btn{
  min-width:min(420px,72vw);
  min-height:clamp(64px,8vh,86px);
  margin-top:clamp(20px,3vh,30px);
  padding:0 clamp(28px,4vw,52px);
  border:0;
  border-radius:22px;
  background:var(--event-primary);
  color:#fff;
  box-shadow:0 18px 50px color-mix(in srgb,var(--event-primary) 35%,transparent);
  font:inherit;
  font-size:clamp(25px,2.2vw,38px)!important;
  font-weight:950;
  letter-spacing:.04em;
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,opacity .16s ease;
}
.camera-runtime.camera-simple .camera-called .camera-ready-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.camera-runtime.camera-simple .camera-called .camera-ready-btn:active{transform:translateY(0) scale(.985)}
.camera-runtime.camera-simple .camera-called .camera-ready-btn:disabled{opacity:.58;cursor:wait;transform:none}
.camera-runtime.camera-simple .camera-called .camera-ready-btn[hidden]{display:none!important}
@media(max-width:720px){.camera-runtime.camera-simple .camera-called .camera-ready-btn{min-width:min(88vw,420px);min-height:68px;font-size:24px!important}}

/* === V13.3.0 — scalable gallery moderation === */
.gallery-table-thumb{width:74px;height:74px;object-fit:cover;border-radius:12px;display:block;background:#eef2f7}
.gallery-preview-btn{border:0;padding:0;background:transparent;cursor:pointer;border-radius:12px}
.gallery-preview-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:3px}
.gallery-moderation-modal{position:fixed;z-index:120;inset:0;background:rgba(3,7,18,.78);backdrop-filter:blur(12px);display:grid;place-items:center;padding:28px}
.gallery-moderation-modal[hidden]{display:none}
.gallery-modal-card{width:min(1200px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.gallery-modal-close{position:fixed;top:24px;right:30px;z-index:2;border:0;border-radius:999px;width:44px;height:44px;background:#fff;font-size:28px;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.gallery-modal-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.gallery-modal-head h2{margin:4px 0 0}
.gallery-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-compare-grid>div>span{display:block;font-weight:800;margin-bottom:8px}.gallery-compare-frame{background:#0a0d14;border-radius:18px;min-height:380px;display:grid;place-items:center;overflow:hidden}.gallery-compare-frame img{display:block;max-width:100%;max-height:68vh;object-fit:contain}
@media(max-width:800px){.gallery-compare-grid{grid-template-columns:1fr}.gallery-compare-frame{min-height:260px}.gallery-moderation-modal{padding:12px}.gallery-modal-card{padding:16px}}

/* === V13.3.1 — camera overlay hidden-state hardening ===
   Author display rules must never override the HTML hidden state. */
.camera-runtime.camera-simple #countdown[hidden],
.camera-runtime.camera-simple #calledOverlay[hidden],
.camera-runtime.camera-simple #idle[hidden],
.camera-runtime.camera-simple #cameraError[hidden],
.camera-runtime.camera-simple #previewActions[hidden],
.camera-runtime.camera-simple #shotProgress[hidden],
.camera-runtime.camera-simple #shot[hidden],
.camera-runtime.camera-simple #video[hidden]{
  display:none!important;
}

/* Countdown only becomes the top visual layer after customer confirms readiness. */
.camera-runtime.camera-simple #countdown:not([hidden]){
  display:grid!important;
  z-index:20!important;
}
.camera-runtime.camera-simple #calledOverlay:not([hidden]){
  display:flex!important;
  z-index:10!important;
}


/* === V13.3.3 — public start mobile overflow fix === */
.event-shell{
  overflow-x:clip;
}
.event-shell .session-card,
.event-shell .session-card>.card,
.event-shell #startForm,
.event-shell #uploadField,
.event-shell #uploadField>.grid,
.event-shell .capture-choice,
.event-shell .capture-option{
  min-width:0;
  max-width:100%;
}
.event-shell #uploadField>.grid{
  width:100%;
}
.event-shell .upload-zone{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.event-shell .upload-zone>div{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.event-shell [id^="uploadPreview"] img,
.event-shell #uploadPreview img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  margin:0 auto;
}
.event-shell .upload-zone:has(img){
  padding:10px;
}
.event-shell .capture-option>*{
  min-width:0;
}
.event-shell .capture-option strong,
.event-shell .capture-option small{
  overflow-wrap:anywhere;
  word-break:normal;
}
.event-shell .capture-option .badge{
  max-width:100%;
  white-space:nowrap;
}

@media(max-width:820px){
  .event-shell .wrap{
    width:calc(100% - 24px);
    max-width:100%;
  }
  .event-shell .session-card{
    width:100%;
    max-width:100%;
    margin:24px auto 36px;
  }
  .event-shell .session-card>.card{
    padding:18px;
    overflow:hidden;
  }
  .event-shell .event-nav{
    gap:10px;
    flex-wrap:wrap;
    padding:14px 0;
  }
  .event-shell .event-nav>.row{
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .event-shell .event-nav .pill{
    max-width:min(62vw,260px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .event-shell .between{
    min-width:0;
  }
  .event-shell #uploadField>.grid.grid-3{
    grid-template-columns:1fr;
    gap:12px;
  }
  .event-shell [id^="uploadPreview"] img,
  .event-shell #uploadPreview img{
    max-height:min(58vh,360px);
  }
}

@media(max-width:480px){
  .event-shell .wrap{
    width:calc(100% - 20px);
  }
  .event-shell .session-card>.card{
    padding:15px;
    border-radius:16px;
  }
  .event-shell .capture-option{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px 12px;
    padding:13px;
    align-items:center;
  }
  .event-shell .capture-option>.badge{
    grid-column:2;
    justify-self:start;
    margin-top:-2px;
  }
  .event-shell .capture-choice.single .capture-option>.badge,
  .event-shell .package-choice .capture-option>.badge{
    grid-column:2;
  }
  .event-shell .capture-icon{
    grid-row:1 / span 2;
  }
  .event-shell #uploadField .label{
    font-size:15px;
  }
  .event-shell .upload-zone{
    padding:14px;
    border-radius:14px;
  }
  .event-shell .upload-zone:has(img){
    padding:8px;
  }
  .event-shell [id^="uploadPreview"] img,
  .event-shell #uploadPreview img{
    max-height:none;
    aspect-ratio:auto;
  }
}

/* === V13.4.0 — camera ready / skip queue actions === */
.camera-called-actions{display:flex;gap:14px;align-items:stretch;justify-content:center;flex-wrap:wrap;width:min(760px,94%);margin:12px auto 0}
.camera-called-actions .camera-ready-btn,.camera-called-actions .camera-skip-btn{flex:1 1 280px;min-height:74px;border-radius:18px;font-weight:900;font-size:clamp(22px,2vw,34px);border:1px solid rgba(255,255,255,.16);cursor:pointer}
.camera-skip-btn{background:rgba(255,255,255,.08);color:#fff}
.camera-skip-btn:hover{background:rgba(255,255,255,.13)}
@media(max-width:720px){.camera-called-actions{gap:10px}.camera-called-actions .camera-ready-btn,.camera-called-actions .camera-skip-btn{flex-basis:100%;min-height:58px;font-size:21px}}

/* === V13.4.1 — legal pages === */
.legal-page-wrap{padding-top:48px;padding-bottom:72px}.legal-page-card{max-width:980px;margin:0 auto;padding:clamp(24px,4vw,48px)}.legal-page-card h1{font-size:clamp(34px,5vw,58px);letter-spacing:-.04em;margin:10px 0 8px}.legal-page-content{font-size:17px;line-height:1.75;color:var(--text-2,#475467)}.legal-page-content h2{font-size:24px;color:var(--text,#101828);margin:30px 0 8px}.legal-page-content p{margin:0 0 14px}.legal-page-content ul{margin:0 0 16px;padding-left:22px}.legal-links-inline{display:flex;gap:8px 14px;flex-wrap:wrap}.legal-links-inline a{text-decoration:underline;text-underline-offset:3px}


/* === V13.4.4 — camera called-state layout cleanup === */
.camera-runtime.camera-simple .camera-called{
  padding:clamp(24px,4vh,48px) clamp(28px,5vw,72px)!important;
  box-sizing:border-box;
  justify-content:center!important;
  gap:0!important;
  background:linear-gradient(180deg,rgba(4,7,15,.86),rgba(4,7,15,.94))!important;
}
.camera-runtime.camera-simple .camera-called>span{
  margin:0 0 clamp(10px,1.6vh,18px)!important;
  font-size:clamp(20px,1.55vw,30px)!important;
  letter-spacing:.18em!important;
  line-height:1.1;
}
.camera-runtime.camera-simple .camera-called .camera-shot-progress{
  margin:0 0 8px!important;
  font-size:clamp(18px,1.25vw,24px)!important;
}
.camera-runtime.camera-simple .camera-called>strong{
  display:block;
  margin:0!important;
  font-size:clamp(110px,13vw,190px)!important;
  line-height:.9!important;
  letter-spacing:-.045em;
  text-shadow:0 10px 40px rgba(0,0,0,.35);
}
.camera-runtime.camera-simple .camera-called>small{
  margin:clamp(8px,1.3vh,14px) 0 0!important;
  font-size:clamp(26px,2vw,36px)!important;
  line-height:1.15;
  font-weight:800;
}
.camera-runtime.camera-simple .camera-called>small[hidden]{display:none!important}
.camera-runtime.camera-simple .camera-called>p{
  max-width:900px;
  margin:clamp(14px,2vh,22px) auto 0!important;
  font-size:clamp(20px,1.45vw,27px)!important;
  line-height:1.35;
  color:#d5d9e3;
}
.camera-runtime.camera-simple .camera-called-actions{
  width:min(900px,92%)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)!important;
  gap:14px!important;
  margin:clamp(18px,2.5vh,28px) auto 0!important;
  align-items:stretch!important;
}
.camera-runtime.camera-simple .camera-called-actions .camera-ready-btn,
.camera-runtime.camera-simple .camera-called-actions .camera-skip-btn{
  width:100%!important;
  min-width:0!important;
  min-height:clamp(68px,8vh,84px)!important;
  height:auto!important;
  margin:0!important;
  padding:12px 24px!important;
  border-radius:18px!important;
  font-size:clamp(21px,1.75vw,30px)!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}
.camera-runtime.camera-simple .camera-called-actions .camera-ready-btn{
  box-shadow:0 14px 36px color-mix(in srgb,var(--event-primary) 28%,transparent)!important;
}
.camera-runtime.camera-simple .camera-called-actions .camera-skip-btn{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}

/* Called/countdown screens should not repeat the queue number in the footer. */
.camera-runtime.camera-simple[data-camera-view="called"] .public-camera-footer,
.camera-runtime.camera-simple[data-camera-view="countdown"] .public-camera-footer{
  grid-template-columns:1fr!important;
  min-height:72px!important;
}
.camera-runtime.camera-simple[data-camera-view="called"] .camera-current,
.camera-runtime.camera-simple[data-camera-view="countdown"] .camera-current,
.camera-runtime.camera-simple[data-camera-view="called"] .camera-actions,
.camera-runtime.camera-simple[data-camera-view="countdown"] .camera-actions{
  display:none!important;
}
.camera-runtime.camera-simple[data-camera-view="called"] .camera-main-hint,
.camera-runtime.camera-simple[data-camera-view="countdown"] .camera-main-hint{
  grid-column:1!important;
  text-align:center!important;
  max-width:1100px!important;
  margin:0 auto!important;
  font-size:clamp(20px,1.35vw,26px)!important;
  line-height:1.3!important;
}

@media(max-width:980px){
  .camera-runtime.camera-simple .camera-called{padding:24px!important}
  .camera-runtime.camera-simple .camera-called>strong{font-size:clamp(92px,18vw,150px)!important}
  .camera-runtime.camera-simple .camera-called-actions{width:min(760px,96%)!important}
}
@media(max-width:720px){
  .camera-runtime.camera-simple .camera-called{padding:20px 16px!important;justify-content:center!important}
  .camera-runtime.camera-simple .camera-called>strong{font-size:clamp(82px,25vw,126px)!important}
  .camera-runtime.camera-simple .camera-called>p{font-size:18px!important}
  .camera-runtime.camera-simple .camera-called-actions{grid-template-columns:1fr!important;width:min(94vw,520px)!important;gap:10px!important;margin-top:16px!important}
  .camera-runtime.camera-simple .camera-called-actions .camera-ready-btn,
  .camera-runtime.camera-simple .camera-called-actions .camera-skip-btn{min-height:60px!important;font-size:20px!important}
}

/* === V13.5.0 — final result review before print / completion === */
.camera-result-review{position:absolute;inset:0;z-index:14;display:grid;place-items:center;background:radial-gradient(circle at 50% 15%,rgba(124,58,237,.18),rgba(4,7,15,.97) 58%);padding:clamp(18px,2.5vw,36px);overflow:auto}
.camera-result-review[hidden]{display:none!important}
.camera-result-card{width:min(1180px,96%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:clamp(18px,2.3vw,32px);border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(12,16,28,.96);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.camera-result-card h2{font-size:clamp(32px,4.2vw,58px);margin:0;letter-spacing:-.035em}
.camera-result-card>p{margin:0;color:#cbd5e1;font-size:clamp(16px,1.35vw,22px);line-height:1.4;max-width:820px}
.camera-result-loading{width:min(640px,100%);display:grid;gap:16px;padding:34px 10px}
.camera-result-loading[hidden],.camera-result-media[hidden],.camera-result-actions[hidden],.camera-result-message[hidden]{display:none!important}
.camera-result-loading strong{font-size:clamp(20px,1.8vw,28px)}
.camera-result-media{width:100%;min-height:0;display:grid;place-items:center;flex:1 1 auto;overflow:hidden;padding:8px}
.camera-final-print,.camera-final-photo{display:block;max-width:100%;max-height:min(54vh,600px);width:auto;height:auto;object-fit:contain;border-radius:18px;background:#05070d;box-shadow:0 18px 55px rgba(0,0,0,.38)}
.camera-final-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;place-items:center}
.camera-final-grid img{display:block;width:100%;max-height:46vh;object-fit:contain;border-radius:16px;background:#05070d}
.camera-result-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:4px}
.camera-result-actions .btn{min-height:64px;font-size:clamp(17px,1.35vw,22px);font-weight:900}
.camera-result-actions .btn:only-child{grid-column:1/-1}
.camera-result-message{width:100%;padding:15px 18px;border-radius:14px;background:rgba(124,58,237,.14);border:1px solid rgba(167,139,250,.28);font-size:clamp(17px,1.3vw,21px);font-weight:800;color:#ede9fe}
@media(max-width:760px){.camera-result-review{padding:12px}.camera-result-card{width:100%;border-radius:20px;padding:16px}.camera-result-actions{grid-template-columns:1fr}.camera-final-grid{grid-template-columns:1fr}.camera-final-grid img,.camera-final-print,.camera-final-photo{max-height:48vh}.camera-result-actions .btn{min-height:56px}}


/* === V13.6.0 — review approval, result history, recovery & refund === */
.result-review-shell{border:1px solid color-mix(in srgb,var(--event-primary,#7c3aed) 28%,#d0d5dd);border-radius:24px;padding:clamp(18px,3vw,30px);background:linear-gradient(180deg,color-mix(in srgb,var(--event-primary,#7c3aed) 5%,#fff),#fff);box-shadow:0 18px 50px rgba(16,24,40,.08)}
.result-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.result-review-head h2{margin:4px 0 6px;font-size:clamp(24px,4vw,36px);letter-spacing:-.035em}.result-review-head p{margin:0;max-width:720px;color:var(--muted,#667085);line-height:1.55}
.result-review-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.result-review-steps span{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border-radius:12px;background:#f2f4f7;color:#667085;font-size:13px;font-weight:800}.result-review-steps span.active{background:color-mix(in srgb,var(--event-primary,#7c3aed) 12%,#fff);color:var(--event-primary,#7c3aed)}.result-review-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #d0d5dd}
.result-review-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:20px;align-items:start}.result-review-media{margin:0!important;min-width:0}.result-review-guide{display:grid;gap:13px;padding:18px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}.result-review-guide>strong{font-size:18px}.result-review-guide p{margin:0;color:#667085;font-size:14px;line-height:1.55}.review-limit{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eaecf0;padding-top:11px;font-size:13px}.review-limit strong{font-size:14px;color:#101828}
.result-review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.result-review-actions .btn{min-height:58px;white-space:normal;line-height:1.2}.result-review-actions .btn:only-child{grid-column:1/-1}.result-review-message{text-align:center;margin-top:12px}
.result-history-panel{margin-top:18px;padding:16px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}.result-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:13px}.result-history-form{margin:0}.result-history-item{width:100%;padding:8px;border:2px solid transparent;border-radius:14px;background:#f2f4f7;cursor:pointer;text-align:left;transition:.18s ease}.result-history-item:hover{transform:translateY(-1px);border-color:#d0d5dd}.result-history-item.selected{border-color:var(--event-primary,#7c3aed);background:color-mix(in srgb,var(--event-primary,#7c3aed) 8%,#fff)}.result-history-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;display:block;background:#101828}.result-history-item span{display:block;margin-top:7px;font-size:12px;font-weight:800;color:#344054}
.operator-review-card{border:1px solid #fdb022}.operator-review-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px}.operator-review-preview{display:grid;place-items:center;min-height:320px;border-radius:18px;background:#101828;padding:14px}.operator-review-preview img{max-width:100%;max-height:620px;object-fit:contain;border-radius:12px}.operator-review-guide{display:grid;align-content:start;gap:12px}.review-choice{padding:15px;border:1px solid #eaecf0;border-radius:14px;background:#f9fafb}.review-choice strong,.review-choice span{display:block}.review-choice span{margin-top:5px;color:#667085;font-size:13px;line-height:1.45}.operator-review-actions form{display:contents}
.recovery-kpis .kpi-value{font-size:36px;font-weight:900;letter-spacing:-.04em;margin:6px 0}.recovery-kpis .small-value{font-size:24px}.preview-recovery-card{border-top:4px solid #f79009}
.refund-self-card{border:1px solid #d0d5dd;border-radius:16px;background:#fff;overflow:hidden}.refund-self-card summary{cursor:pointer;padding:16px 18px;font-weight:850;list-style:none}.refund-self-card summary::-webkit-details-marker{display:none}.refund-self-body{padding:0 18px 18px}.refund-summary>div{padding:14px;border:1px solid #eaecf0;border-radius:14px;background:#f9fafb}.refund-summary span,.refund-summary strong{display:block}.refund-summary span{font-size:12px;color:#667085}.refund-summary strong{margin-top:5px;font-size:15px}
.camera-result-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.camera-result-history{width:100%;max-width:960px}.camera-result-history[hidden]{display:none!important}.camera-history-title{font-weight:850;margin:6px 0 9px;color:#e2e8f0}.camera-history-grid{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 8px}.camera-history-item{flex:0 0 118px;padding:7px;border:2px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.05);color:#fff;text-align:left;cursor:pointer}.camera-history-item.selected{border-color:var(--event-primary,#8b5cf6);background:color-mix(in srgb,var(--event-primary,#8b5cf6) 20%,transparent)}.camera-history-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}.camera-history-item span{display:block;font-size:11px;font-weight:800;margin-top:5px}
@media(max-width:900px){.result-review-main,.operator-review-layout{grid-template-columns:1fr}.result-review-actions{grid-template-columns:1fr}.refund-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.camera-result-actions{grid-template-columns:1fr}}
@media(max-width:560px){.result-review-shell{padding:15px;border-radius:18px}.result-review-steps{gap:5px}.result-review-steps span{font-size:11px;gap:4px}.result-review-steps b{width:20px;height:20px}.result-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.refund-summary{grid-template-columns:1fr!important}}

/* === V13.6.1 — workflow audit & UI polish === */
.compact-alert{padding:11px 13px!important;border-radius:12px!important;font-size:13px!important;line-height:1.45!important}
.result-review-actions.actions-1,.camera-result-actions.actions-1{grid-template-columns:minmax(0,1fr)!important}
.result-review-actions.actions-2,.camera-result-actions.actions-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.result-review-actions.actions-3,.camera-result-actions.actions-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.result-review-actions button[disabled],.camera-result-actions button[disabled]{opacity:.48;cursor:not-allowed;filter:saturate(.65)}
.result-history-item img{aspect-ratio:4/3;object-fit:contain!important;background:#101828;padding:2px}
.camera-history-item{flex-basis:132px}.camera-history-item img{aspect-ratio:4/3;object-fit:contain!important;background:#05070d}
.operator-review-actions{align-items:stretch}.operator-review-actions form{min-width:0}.operator-review-actions .btn{width:100%;height:100%}
.refund-kpis .kpi-value{font-size:clamp(25px,3vw,38px);font-weight:900;letter-spacing:-.035em;margin:7px 0;overflow-wrap:anywhere}
.refund-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0 18px}.refund-flow span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:8px;border-radius:12px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800;text-align:center}.refund-flow span b{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#fff;border:1px solid #d0d5dd}.refund-flow span.done{background:#ecfdf3;color:#027a48}.refund-flow span.done b{border-color:#6ce9a6;color:#027a48}
.refund-action-bar{align-items:center}.refund-action-bar .btn{min-height:44px}
.refund-detail-card input[readonly],.refund-detail-card input:disabled{background:#f2f4f7;color:#667085}
.preview-recovery-card .dataTables_wrapper,.preview-recovery-card .dt-container{min-width:0}
@media(max-width:900px){.result-review-actions.actions-2,.result-review-actions.actions-3,.camera-result-actions.actions-2,.camera-result-actions.actions-3{grid-template-columns:1fr!important}.refund-flow{grid-template-columns:1fr 1fr}.refund-flow span:last-child{grid-column:1/-1}}
@media(max-width:560px){.refund-flow{grid-template-columns:1fr}.refund-flow span:last-child{grid-column:auto}.refund-action-bar{display:grid!important;grid-template-columns:1fr;width:100%}.refund-action-bar .btn{width:100%}}
.review-context{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.review-context .pill{font-size:11px;padding:6px 9px}

/* v13.7.0 — selective final review retake / upload replacement */
.review-shot-panel{margin-top:18px;padding:18px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}.review-shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.review-shot-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid #eaecf0;border-radius:16px;background:#f9fafb}.review-shot-image{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:13px;background:#0b111d}.review-shot-image img{width:100%;height:100%;object-fit:contain;display:block}.review-shot-number{position:absolute;left:8px;bottom:8px;padding:6px 9px;border-radius:999px;background:rgba(16,24,40,.82);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(4px)}.review-shot-empty{height:100%;display:grid;place-items:center;color:#98a2b3;font-weight:800}.review-shot-card .btn{min-height:44px;white-space:normal}.review-shot-card .hint{margin:0}.camera-final-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin-top:12px}.camera-final-slot{display:grid;gap:8px;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}.camera-final-slot img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:10px;background:#05070d}.camera-final-slot .btn{min-height:44px;padding:9px 10px;font-size:13px}.camera-final-slot-label{text-align:center;font-size:12px;font-weight:800;color:#d0d5dd}
.review-shot-grid.single-shot{grid-template-columns:minmax(280px,520px)}.operator-replace-form{display:grid;gap:9px}.operator-file-picker{display:grid;gap:6px;padding:10px;border:1px dashed #d0d5dd;border-radius:12px;background:#fff;color:#667085;font-size:12px;font-weight:700}.operator-file-picker input[type=file]{width:100%;min-width:0;font-size:12px}.operator-file-picker input[type=file]::file-selector-button{margin-right:8px;border:0;border-radius:8px;padding:7px 9px;background:#f2f4f7;color:#344054;font-weight:800;cursor:pointer}
@media(max-width:760px){.review-shot-grid,.camera-final-slots{grid-template-columns:1fr}.review-shot-image{aspect-ratio:16/10}}

/* v13.7.0 — real-time operational dashboard */
.ops-live-indicator{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800}.ops-live-indicator i,.ops-health-dot,.ops-device i{width:8px;height:8px;border-radius:50%;background:#98a2b3;display:inline-block}.ops-live-indicator.online{background:#ecfdf3;color:#027a48}.ops-live-indicator.online i{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.12)}.ops-live-indicator.offline{background:#fef3f2;color:#b42318}.ops-live-indicator.offline i{background:#f04438}.ops-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ops-summary-grid>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f9fafb}.ops-summary-grid span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ops-summary-grid strong{display:block;margin-top:4px;font-size:22px;line-height:1}.ops-booth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ops-booth-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.04)}.ops-booth-card.online{border-top:3px solid #12b76a}.ops-booth-card.offline{border-top:3px solid #f04438}.ops-booth-card.has-exception{box-shadow:0 0 0 2px rgba(240,68,56,.08),0 8px 24px rgba(16,24,40,.04)}.ops-booth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ops-booth-card.online .ops-health-dot{background:#12b76a}.ops-booth-card.offline .ops-health-dot{background:#f04438}.ops-device-row{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.ops-device{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#f2f4f7;color:#667085}.ops-device.ok{background:#ecfdf3;color:#027a48}.ops-device.ok i{background:#12b76a}.ops-device.warn{background:#fffaeb;color:#b54708}.ops-device.warn i{background:#f79009}.ops-device.bad{background:#fef3f2;color:#b42318}.ops-device.bad i{background:#f04438}.ops-booth-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ops-booth-metric{padding:9px 8px;border-radius:12px;background:#f9fafb;text-align:center}.ops-booth-metric span{display:block;font-size:10px;color:#667085;text-transform:uppercase;font-weight:800}.ops-booth-metric strong{display:block;margin-top:3px;font-size:18px}.ops-booth-metric.warn{background:#fffaeb}.ops-booth-metric.warn strong{color:#b54708}.ops-booth-metric.danger{background:#fef3f2}.ops-booth-metric.danger strong{color:#b42318}.ops-booth-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #eaecf0;color:#667085;font-size:11px}
@media(max-width:1050px){.ops-booth-grid{grid-template-columns:1fr}.ops-booth-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-booth-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* === V13.8.11 — public refund form dark-theme & responsive polish === */
.event-shell .refund-self-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));
  color:#f8fafc;
  overflow:hidden;
  box-shadow:none;
}
.event-shell .refund-self-card summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:66px;
  padding:14px 16px;
  color:#f8fafc;
  background:rgba(255,255,255,.025);
  cursor:pointer;
  list-style:none;
  user-select:none;
  transition:background .18s ease,border-color .18s ease;
}
.event-shell .refund-self-card summary:hover{background:rgba(255,255,255,.055)}
.event-shell .refund-self-card summary::-webkit-details-marker{display:none}
.event-shell .refund-self-card[open] summary{background:rgba(255,255,255,.045)}
.event-shell .refund-self-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.event-shell .refund-self-summary-main>span:last-child{display:grid;gap:2px;min-width:0}
.event-shell .refund-self-summary-main strong{font-size:14px;line-height:1.25;color:#fff}
.event-shell .refund-self-summary-main small{font-size:11px;line-height:1.35;color:#98a6ba;font-weight:600}
.event-shell .refund-self-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--event-primary) 20%,rgba(255,255,255,.07));color:#fff;font-weight:900}
.event-shell .refund-self-chevron{flex:0 0 auto;font-size:22px;line-height:1;color:#9ca9bb;transition:transform .18s ease}
.event-shell .refund-self-card[open] .refund-self-chevron{transform:rotate(180deg)}
.event-shell .refund-self-body{padding:16px;border-top:1px solid rgba(255,255,255,.08)}
.event-shell .refund-self-intro{margin-bottom:15px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
.event-shell .refund-self-intro strong{display:block;color:#fff;font-size:14px;margin-bottom:4px}
.event-shell .refund-self-intro p{margin:0;color:#aeb7c8;font-size:12px;line-height:1.55}
.event-shell .refund-self-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.event-shell .refund-self-form-grid .field{margin:0;min-width:0}
.event-shell .refund-self-form-grid .refund-note-field{grid-column:1/-1}
.event-shell .refund-self-card .label{margin-bottom:7px;color:#dfe6f1;font-size:12px;font-weight:800}
.event-shell .refund-self-card .label-optional{margin-left:auto;color:#7f8ca0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.event-shell .refund-self-card input,
.event-shell .refund-self-card select,
.event-shell .refund-self-card textarea{
  width:100%;
  min-height:44px;
  background:#0b101a;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  color:#f8fafc;
  box-shadow:none;
}
.event-shell .refund-self-card input:focus,
.event-shell .refund-self-card select:focus,
.event-shell .refund-self-card textarea:focus{
  border-color:color-mix(in srgb,var(--event-primary) 72%,#fff);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--event-primary) 22%,transparent);
}
.event-shell .refund-self-card select{color-scheme:dark}
.event-shell .refund-self-card select option{background:#0b101a;color:#f8fafc}
.event-shell .refund-self-card textarea{min-height:100px;max-height:220px;resize:vertical;line-height:1.5}
.event-shell .refund-self-card input::placeholder,
.event-shell .refund-self-card textarea::placeholder{color:#66758b;opacity:1}
.event-shell .refund-self-card .hint{color:#8f9db1;line-height:1.45}
.event-shell .refund-self-card .hint strong{color:#cbd5e1}
.event-shell .refund-amount-wrap{position:relative}
.event-shell .refund-amount-wrap>span{position:absolute;z-index:1;left:13px;top:50%;transform:translateY(-50%);color:#91a0b4;font-size:12px;font-weight:800;pointer-events:none}
.event-shell .refund-amount-wrap input{padding-left:40px}
.event-shell .refund-self-actions{display:grid;gap:8px;margin-top:14px}
.event-shell .refund-self-actions .btn{min-height:46px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#fff}
.event-shell .refund-self-actions .btn:hover{background:rgba(255,255,255,.09)}
.event-shell .refund-message{min-height:18px;margin:0;text-align:center}
.event-shell .refund-message[data-state="error"]{color:#fda29b}
.event-shell .refund-message[data-state="success"]{color:#6ce9a6}
.event-shell .refund-message[data-state="loading"]{color:#b9c3d4}
.event-shell .refund-status-note{margin:0 0 14px;padding:0 0 14px}
.event-shell .refund-self-card .success-alert{margin:0}
@media(max-width:680px){
  .event-shell .refund-self-form-grid{grid-template-columns:1fr}
  .event-shell .refund-self-form-grid .refund-note-field{grid-column:auto}
  .event-shell .refund-self-card summary{padding:13px 14px}
  .event-shell .refund-self-summary-main small{display:none}
  .event-shell .refund-self-body{padding:14px}
  .event-shell .refund-self-card textarea{min-height:92px}
}

/* === V13.8.12 — Payment Health / webhook observability === */
.payment-health-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.payment-health-kpi{min-width:0}.payment-health-kpi>span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.payment-health-kpi>strong{display:block;margin:7px 0 4px;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.04em}.payment-health-kpi>small{display:block;color:var(--muted);font-size:11px;line-height:1.4}.payment-health-kpi.warn{border-top:3px solid #f79009}.payment-health-kpi.warn>strong{color:#b54708}.payment-health-kpi.bad{border-top:3px solid #f04438}.payment-health-kpi.bad>strong{color:#b42318}.payment-health-detail{margin-bottom:18px;border-top:3px solid #36bffa}.payment-health-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.payment-health-summary>div{padding:12px;border:1px solid #eaecf0;border-radius:13px;background:#f9fafb;min-width:0}.payment-health-summary span{display:block;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.payment-health-summary strong{display:block;margin-top:5px;font-size:13px;overflow-wrap:anywhere}.payment-health-subtitle{margin:0 0 9px;font-size:13px;font-weight:850}.payment-health-code{margin:0;max-height:390px;overflow:auto;padding:14px;border:1px solid #1d2939;border-radius:13px;background:#101828;color:#d0d5dd;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.payment-health-timeline{display:grid;gap:8px;max-height:390px;overflow:auto}.payment-health-log{padding:11px 12px;border:1px solid #eaecf0;border-left:3px solid #12b76a;border-radius:12px;background:#fff}.payment-health-log.bad{border-left-color:#f04438;background:#fffafa}.payment-health-log>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.payment-health-log strong{font-size:12px}.payment-health-log span,.payment-health-log small{color:#667085;font-size:10px}.payment-health-log small{display:block;margin-top:5px;line-height:1.4}.payment-health-log.bad strong{color:#b42318}
@media(max-width:1180px){.payment-health-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-health-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.payment-health-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-health-log>div{align-items:flex-start;flex-direction:column;gap:2px}}@media(max-width:520px){.payment-health-kpis,.payment-health-summary{grid-template-columns:1fr}}


/* V13.8.13 Booth Health & Preflight */
.booth-health-head{align-items:flex-start}.booth-health-kpis.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.booth-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booth-health-card{padding:20px;min-width:0}.booth-health-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.booth-health-card-head h2{font-size:18px;margin:0}.booth-health-card-head p{margin:5px 0 0;color:var(--muted);font-size:12px;text-transform:capitalize}.booth-health-agent{text-align:right}.booth-health-agent strong,.booth-health-agent small{display:block}.booth-health-agent small{margin-top:4px;color:var(--muted);font-size:11px}.booth-health-devices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.booth-health-devices>div,.booth-health-runtime>div{border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:rgba(255,255,255,.025)}.booth-health-devices span,.booth-health-runtime span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.booth-health-runtime{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.booth-health-runtime strong{font-size:17px}.booth-health-paper{margin:15px 0 10px}.booth-health-meta{display:flex;gap:8px 16px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.booth-health-meta strong{color:var(--text)}.booth-health-preflight{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.booth-health-preflight>div>span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.booth-health-preflight>small{color:var(--muted);text-align:right}.booth-health-actions{display:flex;gap:8px;flex-wrap:wrap}.preflight-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preflight-result-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.025)}.preflight-score{display:flex;gap:12px;margin:10px 0;font-size:12px}.preflight-result-card details{border-top:1px solid var(--line);padding-top:10px}.preflight-result-card summary{cursor:pointer;font-weight:700;font-size:12px}.preflight-check-list{display:grid;gap:8px;margin-top:10px}.preflight-check-row{display:flex;gap:9px;align-items:flex-start}.preflight-check-row strong,.preflight-check-row small{display:block}.preflight-check-row strong{font-size:12px}.preflight-check-row small{color:var(--muted);font-size:11px;margin-top:2px}.preflight-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#64748b;flex:0 0 auto}.preflight-dot.pass{background:#22c55e}.preflight-dot.warning{background:#f59e0b}.preflight-dot.fail{background:#ef4444}.preflight-dot.info{background:#38bdf8}
@media(max-width:1200px){.booth-health-kpis.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.booth-health-grid,.preflight-result-grid{grid-template-columns:1fr}.booth-health-kpis.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.booth-health-kpis.grid-5{grid-template-columns:1fr}.booth-health-card-head{display:block}.booth-health-agent{text-align:left;margin-top:10px}.booth-health-devices{grid-template-columns:1fr}.booth-health-runtime{grid-template-columns:repeat(2,1fr)}.booth-health-preflight{align-items:flex-start;flex-direction:column}.booth-health-preflight>small{text-align:left}}

/* V13.8.15 Event Readiness & Go Live */
.event-readiness-card{border-top:3px solid #7c3aed;overflow:hidden}.event-readiness-head{align-items:flex-start}.event-readiness-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.event-readiness-summary>div{padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.event-readiness-summary strong{display:block;font-size:26px;line-height:1;font-weight:900;letter-spacing:-.035em}.event-readiness-summary span{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.event-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.event-readiness-item{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-left-width:3px;border-radius:13px;background:rgba(255,255,255,.02)}.event-readiness-item.success{border-left-color:#12b76a}.event-readiness-item.warning{border-left-color:#f79009}.event-readiness-item.danger{border-left-color:#f04438;background:rgba(240,68,56,.035)}.event-readiness-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(255,255,255,.05);font-weight:900}.event-readiness-item.success .event-readiness-icon{color:#12b76a}.event-readiness-item.warning .event-readiness-icon{color:#f79009}.event-readiness-item.danger .event-readiness-icon{color:#f04438}.event-readiness-item strong{display:block;font-size:12px}.event-readiness-item p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.event-readiness-item .badge{margin-top:8px}.event-readiness-history{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.event-readiness-history>summary{cursor:pointer;font-size:12px;font-weight:800}.event-layout-contract{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.event-layout-contract .badge{font-size:10px}
@media(max-width:900px){.event-readiness-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.event-readiness-grid{grid-template-columns:1fr}}@media(max-width:560px){.event-readiness-summary{grid-template-columns:1fr}.event-readiness-head{display:block}.event-readiness-head>.row{margin-top:12px}}
