:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--bg-elevated:#101319;--surface:#141820;--surface-2:#191e27;--surface-3:#202633;--surface-soft:#94a3b812;--surface-active:#b9935a24;--panel:var(--surface);--panel-2:var(--surface-2);--panel-3:var(--surface-3);--primary:#7a1a2d;--primary-hover:#95223a;--primary-strong:#b42d49;--primary-soft:#7a1a2d29;--button-primary-start:#d19a55;--button-primary-end:#e6c777;--button-primary-hover-start:#dca45d;--button-primary-hover-end:#efd484;--button-primary-text:#1b1409;--button-primary-border:#f5be6780;--accent:#b9935a;--accent-soft:#b9935a29;--accent-strong:#d3ae71;--selected:#c29a5f;--gold:var(--accent);--gold-light:#d2bd91;--accent-gold:var(--accent);--text:#f4f6f8;--text-strong:#fff;--muted:#9aa4b2;--muted-2:#6f7a89;--icon-muted:#a7b0bd;--link:#9db7ff;--border:#94a3b829;--border-strong:#cbd5e142;--focus:#9db7ff73;--positive:#68d391;--negative:#f87171;--warning:#f59e0b;--info:#8fb7ff;--green:var(--positive);--red:var(--negative);--blue:var(--info);--purple:#b99cff;--chart-1:#8fb7ff;--chart-2:#68d391;--chart-3:#b99cff;--chart-4:#f59e0b;--chart-5:#f87171;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px #00000038;--shadow:0 18px 44px #00000047;--shadow-lg:0 30px 90px #0000006b}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html{background:var(--bg);min-height:100%}body{letter-spacing:0;background:radial-gradient(circle at 18% 0%, #b9935a1f, transparent 34rem), linear-gradient(180deg, #0d1015 0%, var(--bg) 42%, #090b0e 100%);min-width:320px;min-height:100vh;color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;line-height:1.45}body:before{content:"";z-index:0;pointer-events:none;opacity:.58;mix-blend-mode:screen;background-image:linear-gradient(135deg,#b9935a12 0 1px,#0000 1px 34px),linear-gradient(225deg,#b9935a0d 0 1px,#0000 1px 34px),repeating-linear-gradient(90deg,#0000 0 42px,#f4f6f806 42px 43px,#0000 43px 84px),radial-gradient(circle,#f4f6f80b 0 .7px,#0000 .9px);background-position:top;background-size:96px 96px,96px 96px,84px 84px,5px 5px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000c7,#0000004d);mask-image:linear-gradient(#000000c7,#0000004d)}button,input,select,textarea{font:inherit}button,select{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{color:var(--text-strong);background:#9db7ff47}#root{z-index:1;min-height:100vh;position:relative}.app{z-index:1;grid-template-columns:284px minmax(0,1fr);min-height:100vh;display:grid;position:relative}.app.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.portal-layout{display:block}aside{border-right:1px solid var(--border);background:#0d1015f5;height:100vh;padding:22px 16px;position:sticky;top:0;overflow:auto;box-shadow:inset -1px 0 #ffffff06}.sidebar-topline{justify-content:flex-end;min-height:28px;margin-bottom:2px;display:flex}.sidebar-hide-button,.sidebar-restore-button{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#080b1080;border-radius:999px;justify-content:center;align-items:center;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.sidebar-hide-button:hover,.sidebar-restore-button:hover{color:var(--accent-strong);background:#b9935a1c;border-color:#b9935a4d;transform:translateY(-1px)}.sidebar-restore-button{z-index:1250;width:40px;height:40px;box-shadow:var(--shadow-sm), 0 16px 34px #00000038;background:#0d1015d6;position:fixed;top:22px;left:22px}.brand{color:var(--text-strong);letter-spacing:0;margin-bottom:4px;font-size:27px;font-weight:850}.brand img{filter:drop-shadow(0 12px 30px #00000042);display:block}.tagline{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.35}.nav-group{margin-bottom:4px}.nav-group-title{color:var(--muted-2);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin:22px 10px 8px;font-size:11px;font-weight:800;display:flex}.nav-arrow{color:var(--muted-2);margin-left:8px;display:inline-flex}.nav-group-body{display:block}.nav-group-body.collapsed{display:none}.nav button{border-radius:var(--radius-md);width:100%;min-height:38px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;margin-bottom:4px;padding:9px 11px;font-size:13px;font-weight:500;transition:background .14s,border-color .14s,color .14s,transform .14s;display:flex}.nav button svg{color:var(--icon-muted);flex:none}.nav button:hover{color:var(--text);background:#94a3b814}.nav button.active{background:var(--surface-active);color:var(--text-strong);box-shadow:inset 3px 0 0 var(--accent);border-color:#b9935a52}.nav button.active svg{color:var(--accent-strong)}main{min-width:0;min-height:100vh;padding:28px;overflow:auto}.topbar{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff09;background:linear-gradient(135deg,#b9935a13,#0000 28%),linear-gradient(#1c212bfa,#11151dfa);border:1px solid #94a3b829;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.topbar:before{content:"";pointer-events:none;background:linear-gradient(90deg,#b9935a9e,#f4f6f82e,#0000 72%);height:1px;position:absolute;inset:0 0 auto}.topbar>*{z-index:1;position:relative}.topbar>div:first-child{flex:320px;min-width:0}.topbar .subtitle{max-width:760px}.topbar h1{font-size:clamp(24px,2vw,30px);line-height:1.12}.topbar-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.topbar-actions{background:#080b1057;border:1px solid #94a3b826;border-radius:999px;flex:0 auto;justify-content:flex-end;padding:4px;box-shadow:inset 0 1px #ffffff0a}.topbar-actions .btn,.topbar>.btn{border-radius:999px}.topbar-actions .btn{min-height:34px;box-shadow:none}h1,h2,h3,h4{color:var(--text-strong);letter-spacing:0}h1{margin:0;font-size:clamp(26px,2.4vw,34px);font-weight:830;line-height:1.08}h2{margin:0 0 12px;font-size:20px;font-weight:780;line-height:1.2}h3{margin:0 0 8px;font-size:16px;font-weight:760;line-height:1.25}h4{margin:0 0 8px;font-size:14px;font-weight:760;line-height:1.25}.subtitle{color:var(--muted);margin-top:7px;line-height:1.45}a,.drill-link{color:var(--link)}.grid{gap:16px;display:grid}.grid>*,.card,.surface{min-width:0}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.surface,.card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(#191e27fa,#12161dfa)}.card{padding:18px}.card.tight{padding:14px}.dashboard-card{min-height:455px}.card .card{box-shadow:none;background:#94a3b80b;border-color:#94a3b81f}.card.interactive,.card.click-card,.click-card,.feature-card,.dashboard-card-clickable{cursor:pointer}.metric-card{gap:8px;display:grid}.metric-label{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:720}.metric-value{color:var(--text-strong);font-size:28px;font-weight:840;line-height:1.05}.positive{color:var(--positive)}.negative{color:var(--negative)}.gold{color:var(--accent)}.blue{color:var(--info)}.purple{color:var(--purple)}.warning{color:var(--warning)}.muted{color:var(--muted)}.table,table{border-collapse:collapse;width:100%;margin-top:8px}th,td{color:var(--text);text-align:left;vertical-align:top;border-bottom:1px solid #94a3b81c;padding:10px 9px;font-size:13px}th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}tbody tr:hover{background:#94a3b80b}.status{border:1px solid var(--border);min-height:24px;color:var(--text);white-space:nowrap;background:#94a3b814;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.status.good{color:var(--positive);background:#68d3911c;border-color:#68d39140}.status.warn{color:var(--warning);background:#f59e0b1c;border-color:#f59e0b40}.status.bad{color:var(--negative);background:#f871711c;border-color:#f8717140}.status.info{color:var(--info);background:#8fb7ff1c;border-color:#8fb7ff40}.progress-wrap{background:#94a3b821;border-radius:999px;height:9px;overflow:hidden}.progress{border-radius:inherit;background:linear-gradient(90deg, var(--primary-strong), var(--chart-1));width:50%;height:100%}.form{gap:12px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:650;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text);background:#080a0ead;padding:10px 12px;font-size:14px;transition:border-color .14s,background .14s,box-shadow .14s}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:hover,select:hover,textarea:hover{border-color:#cbd5e13d}input:focus,select:focus,textarea:focus{background:#0a0d12eb;border-color:#9db7ff80;box-shadow:0 0 0 3px #9db7ff1f}input[type=checkbox],input[type=radio]{width:16px;min-width:16px;height:16px;min-height:16px;accent-color:var(--primary-strong)}.btn{border:1px solid var(--button-primary-border);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--button-primary-start), var(--button-primary-end));min-height:38px;color:var(--button-primary-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:500;line-height:1.1;text-decoration:none;transition:transform .14s,border-color .14s,background .14s,color .14s,box-shadow .14s;display:inline-flex;box-shadow:inset 0 1px #ffffff57,0 10px 24px #f2a4521f}.btn:hover{background:linear-gradient(135deg, var(--button-primary-hover-start), var(--button-primary-hover-end));transform:translateY(-1px);box-shadow:0 12px 28px #f2a45229}.btn:active{transform:translateY(0)}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn.secondary{border-color:var(--border);color:var(--text);box-shadow:none;background:#94a3b814}.btn.secondary:hover{border-color:var(--border-strong);background:#94a3b821}.btn.ghost{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{border-color:var(--border);color:var(--text);background:#94a3b814}.btn.danger{color:var(--text-strong);background:linear-gradient(#dc4f4f,#b83232);border-color:#f871716b}.btn.success{color:var(--text-strong);background:linear-gradient(#36b36e,#208451);border-color:#68d3916b}.btn.icon{width:38px;padding:0}.btn-sm,.btn.btn-sm{border-radius:var(--radius-sm);min-height:30px;padding:6px 9px;font-size:12px}.view-controls{border-radius:var(--radius-lg);background:#080b1057;border:1px solid #94a3b829;align-items:center;gap:4px;min-height:42px;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a,0 10px 24px #0000001f}.view-controls.compact{min-height:34px}.view-control{border-radius:var(--radius-md);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:500;line-height:1;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.view-control:hover{color:var(--text);background:#94a3b814;border-color:#94a3b824}.view-control:active{transform:translateY(1px)}.view-control:disabled{opacity:.48;cursor:not-allowed;transform:none}.view-control.active{color:var(--text-strong);background:#b9935a1f;border-color:#b9935a47}.view-control-icon{width:26px;height:26px;color:var(--icon-muted);background:linear-gradient(#f4f6f813,#94a3b809);border:1px solid #94a3b81f;border-radius:9px;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.view-control.active .view-control-icon,.view-control:hover .view-control-icon{color:var(--accent-strong);border-color:#b9935a3d}.topbar-actions .view-controls{min-width:max-content}select.btn{width:auto;min-width:150px;padding-right:32px;display:inline-block}.screen{display:none}.screen.active{display:block}.note{color:var(--muted);font-size:13px;line-height:1.45}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-title h2{margin:0}.mini-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.mini-box{border:1px solid var(--border);border-radius:var(--radius-md);background:#94a3b80e;padding:12px}.mini-box .label{color:var(--muted);margin-bottom:5px;font-size:12px}.mini-box .value{color:var(--text-strong);font-size:20px;font-weight:820}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-lg);min-height:220px;color:var(--muted);text-align:center;background:#94a3b809;place-items:center;padding:32px;display:grid}.seat-map-shell{border:1px solid var(--border);border-radius:var(--radius-xl);background:#080a0e6b;padding:16px}.stage-strip{border:1px solid var(--border-strong);max-width:420px;color:var(--text);letter-spacing:.12em;text-align:center;background:#94a3b814;border-radius:999px;margin:0 auto 18px;padding:8px 12px;font-size:12px;font-weight:820}.seat-row{justify-content:center;align-items:center;gap:6px;margin:7px 0;display:flex}.row-label{width:22px;color:var(--muted);text-align:center;font-size:12px;font-weight:820}.seat{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#94a3b814;border-radius:8px;justify-content:center;align-items:center;font-size:10px;transition:border-color .14s,background .14s,transform .14s;display:flex}.seat:hover{border-color:var(--border-strong);transform:translateY(-1px)}.seat.available{color:var(--positive);background:#68d3911c;border-color:#68d39157}.seat.selected{background:var(--selected);color:#12100a;border-color:#d8bd85;font-weight:820}.seat.sold{color:var(--negative);cursor:not-allowed;background:#f871711c;border-color:#f8717157}.seat.held{color:var(--warning);background:#f59e0b1c;border-color:#f59e0b57}.seat.accessible{border-style:dashed;border-radius:50%}.seat-legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:14px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border:1px solid var(--border);border-radius:4px;width:14px;height:14px}.legend-dot.available{background:#68d39124;border-color:#68d39157}.legend-dot.selected{background:var(--selected)}.legend-dot.sold{background:#f8717124;border-color:#f8717157}.legend-dot.held{background:#f59e0b24;border-color:#f59e0b57}.ai-page-assist{z-index:1200;border:1px solid var(--button-primary-border);background:linear-gradient(135deg, var(--button-primary-start), var(--button-primary-end));color:var(--button-primary-text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:540;transition:transform .14s,box-shadow .14s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 38px #f2a45229}.ai-page-assist:hover{background:linear-gradient(135deg, var(--button-primary-hover-start), var(--button-primary-hover-end));transform:translateY(-1px);box-shadow:0 20px 52px #f2a45233}.ai-popover{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-xl);width:390px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);background:linear-gradient(#191e27fa,#0e1117fa);padding:16px;position:fixed;bottom:76px;right:24px}.ai-suggestion{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:#94a3b80e;margin:7px 0;padding:9px 10px;transition:background .14s,border-color .14s,color .14s}.ai-suggestion:hover{color:var(--text);background:#8fb7ff17;border-color:#8fb7ff3d}.ai-query-box{gap:8px;margin-top:10px;display:flex}.ai-query-box input{flex:1}.advisor-answer{border:1px solid var(--border);border-radius:var(--radius-md);background:#080a0e70;padding:12px}.action-drawer{z-index:2000;border-left:1px solid var(--border);width:460px;max-width:100vw;height:100vh;box-shadow:var(--shadow-lg);background:#0f1218fa;padding:24px;transition:right .24s;position:fixed;top:0;right:-480px;overflow-y:auto}.action-drawer.open{right:0}.overlay{z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008f;display:none;position:fixed;inset:0}.overlay.open{display:block}.toast-container{z-index:3000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text);background:#141820fa;padding:12px 16px;font-size:13px;font-weight:760;animation:.22s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tab{border:1px solid var(--border);min-height:34px;color:var(--muted);cursor:pointer;background:#94a3b80f;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .14s,border-color .14s,color .14s}.tab:hover{border-color:var(--border-strong);color:var(--text)}.tab.active{background:var(--surface-active);color:var(--text-strong);border-color:#b9935a57}.selected-tab-highlight{box-shadow:inset 0 0 0 1px #b9935a2e;border-color:#b9935a6b!important}.recharts-responsive-container,.recharts-wrapper{min-width:0}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-6{gap:24px}.w-full{width:100%}.h-\[80vh\]{height:80vh}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.p-4{padding:16px}.space-y-2>*+*{margin-top:8px}.space-y-6>*+*{margin-top:24px}.rounded-lg{border-radius:var(--radius-lg)}.shadow-xl{box-shadow:var(--shadow)}.touch-none{touch-action:none}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.bg-slate-900,.bg-slate-800{background:#080a0e94}.border,.border-slate-700{border-color:var(--border)}@media (width>=768px){.md\:flex-row{flex-direction:row}.md\:w-80{width:20rem}}@media (width<=1050px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.main-side{grid-template-columns:1fr}}@media (width<=900px){.app{grid-template-columns:1fr}aside{display:none}main{padding:18px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.mini-summary{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch;padding:16px}.topbar>div:first-child{flex:0 auto}.topbar-actions,.toolbar{width:100%}.topbar-actions .btn,.toolbar .btn{flex:auto}.ai-page-assist{top:auto;bottom:18px;right:18px}.ai-popover{top:auto;bottom:72px;right:16px}.action-drawer{width:100%;right:-100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card.click-card,.click-card,.feature-card,.dashboard-card-clickable{cursor:pointer!important;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s!important}.card.click-card:hover,.click-card:hover,.feature-card:hover,.dashboard-card-clickable:hover{border-color:var(--border-strong)!important;background:linear-gradient(#202633fa,#161b24fa)!important;transform:translateY(-1px)!important;box-shadow:0 14px 34px #00000047!important}.topbar{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:24px;display:flex;align-items:center!important}.topbar-actions{align-items:center;gap:12px;display:flex}.heat-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.heat-cell{border:1px solid var(--border);border-radius:var(--radius-md);cursor:help;text-align:center;background:#94a3b80e;padding:16px 12px;position:relative}.heat-cell.hot{background:#f871711f!important;border-color:#f8717159!important}.heat-cell.warm{background:#f59e0b1f!important;border-color:#f59e0b59!important}.zip-pop,.retention-pop{z-index:99;border:1px solid var(--border-strong);border-radius:var(--radius-md);width:250px;box-shadow:var(--shadow);color:var(--text);text-align:left;background:#0f1218fa;padding:10px;font-size:12px;line-height:1.4;display:none;position:absolute}.zip-pop{bottom:110%;left:50%;transform:translate(-50%)}.marketing-heat-tip:hover .zip-pop,.retention-name:hover .retention-pop{display:block}.retention-name{color:var(--link);cursor:help;font-weight:760;position:relative}.retention-pop{bottom:110%;left:0}.person-hover-trigger{color:var(--link);cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted #9db7ff61;text-decoration:underline dotted #9db7ff61;display:inline-block;position:relative}.person-hover-popover{z-index:99999;border:1px solid var(--border-strong);border-radius:var(--radius-md);width:250px;box-shadow:var(--shadow);color:var(--text);pointer-events:none;text-align:left;background:#0f1218fa;padding:12px;font-size:13px;position:fixed}.person-hover-name{color:var(--text-strong);margin-bottom:8px;font-size:15px;font-weight:780}.person-hover-tag{color:var(--info);background:#8fb7ff17;border:1px solid #8fb7ff38;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:760}
