/* VenueOS workspace system. Shared by management, publishing and analytics. */
:root {
  --bg:#f7f8fc; --card:#ffffff; --surface:#ffffff; --surface2:#eef0fc; --surface3:#e4e6f0;
  --text:#1a1a2e; --ink:#1a1a2e; --dim:#687086; --text-muted:#687086;
  --border:#e4e6f0; --brand:#3848bf; --brand-light:#3848bf; --brand-lt:#eef0fc; --brand-dim:#eef0fc;
  --accent:#3848bf; --border-bright:#8589db; --green:#16834a; --green-lt:#dcfce7;
  --ui-shadow:0 12px 40px #11152a12; --radius:10px; --radius-lg:16px;
}
html.dark, html:has(.venue-control) {
  color-scheme:dark; --bg:#12141f; --card:#181a27; --surface:#181a27; --surface2:#222539; --surface3:#2c3048;
  --text:#eceef6; --ink:#eceef6; --dim:#a0a8c0; --text-muted:#a0a8c0; --border:#2a2f4a;
  --brand:#a09aff; --brand-light:#a09aff; --brand-lt:#292743; --brand-dim:#292743;
  --accent:#a09aff; --border-bright:#716bba; --green:#2dd4a0; --green-lt:#19392f;
  --ui-shadow:0 12px 40px #07091830;
}
html.dark .venue-workspace .vos-sidebar { background:#090a12; }
html.dark .venue-workspace :is(.vos-sidebar-brand-mark,.login-logo-mark),
html.dark .venue-workspace :is(.menu-add-btn,.vos-hero-btn-primary,.login-btn),
.venue-control .btn-brand { background:linear-gradient(135deg,#6d71ff,#3848bf); color:#fff; border-color:#6d71ff; }
body.venue-workspace, body.venue-control { background:var(--bg); color:var(--text); font-variant-numeric:tabular-nums; }
.venue-workspace .vos-main { background:var(--bg); min-height:100dvh; }
.venue-workspace .vos-sidebar { background:var(--surface); border-color:var(--border); }
.venue-workspace .vos-sidebar-brand { padding:28px 20px; border-color:var(--border); }
.venue-workspace :is(.vos-sidebar-brand-mark,.login-logo-mark) { background:var(--brand); color:var(--bg); border-radius:10px 3px 10px 3px; box-shadow:none; }
.venue-workspace :is(.vos-brand-name,.login-logo-text) { color:var(--text); }
.venue-workspace :is(.vos-brand-name span,.login-logo-text span) { color:var(--brand); }
.venue-workspace .vos-brand-sub { color:var(--dim); font-size:.62rem; margin-top:6px; }
.venue-workspace .vos-sidebar-nav { padding:20px 12px; gap:5px; }
.venue-workspace .vos-nav-item { color:var(--dim); font-weight:500; border-radius:7px; min-height:42px; }
.venue-workspace .vos-nav-item:hover { background:var(--surface2); color:var(--text); }
.venue-workspace .vos-nav-item.active { background:var(--brand-dim)!important; color:var(--brand)!important; }
.venue-workspace :is(.vos-sidebar-footer,.vos-sidebar-venue) { border-color:var(--border); }
.venue-workspace :is(.vos-sidebar-user,.vos-sidebar-signout) { color:var(--dim); }
.venue-workspace .vos-sidebar-venue-select { background:var(--bg); color:var(--text); border-color:var(--border); }
.venue-workspace .topbar { background:var(--bg); border-bottom:1px solid var(--border); box-shadow:none; backdrop-filter:none; }
.venue-workspace .vos-main .topbar-inner { min-height:76px; padding:14px 32px; }
.venue-workspace .topbar-title { color:var(--text); }
.venue-workspace .dash-content { padding:30px 32px 88px; max-width:1500px; margin-inline:auto; width:100%; }
.venue-workspace .vos-hero { min-height:0; background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; box-shadow:none; margin-bottom:28px; }
.venue-workspace .vos-hero::before { display:none; }
.venue-workspace .vos-hero-content { padding:4px 0 30px; }
.venue-workspace .vos-hero-eyebrow { color:var(--brand); font-size:.7rem; letter-spacing:.12em; }
.venue-workspace .vos-hero-title { color:var(--text); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; letter-spacing:-.055em; margin:10px 0 24px; text-wrap:balance; }
.venue-workspace :is(.data-card,.qrm-panel,.kpi-card,.qrm-stat) { background:var(--card); border:1px solid var(--border); border-radius:14px; box-shadow:none; color:var(--text); }
.venue-workspace .data-card-head { padding:20px 22px; border-color:var(--border); background:transparent; gap:12px; flex-wrap:wrap; }
.venue-workspace .data-card-head h3 { font-size:.86rem; font-weight:600; color:var(--text); letter-spacing:-.015em; }
.venue-workspace :is(.kpi-value,.qrm-stat-v) { color:var(--text); font-size:2.3rem; letter-spacing:-.055em; line-height:1.15; }
.venue-workspace :is(.kpi-label,.qrm-stat-k) { color:var(--dim); font-size:.76rem; font-weight:500; letter-spacing:0; text-transform:none; margin-top:10px; }
.venue-workspace .qrm-stats { gap:12px; }
.venue-workspace .qrm-stat { padding:22px; border-top:2px solid var(--brand); }
.venue-workspace :is(.topbar-btn,.menu-add-btn,.vos-hero-btn-primary,.vos-hero-btn-secondary,.qrm-btn,.login-btn),
.venue-control .btn { border-radius:7px; min-height:36px; font-weight:600; box-shadow:none; transition:background .18s, border-color .18s,transform .18s; }
.venue-workspace :is(.topbar-btn,.vos-hero-btn-secondary,.qrm-btn),.venue-control .btn-ghost { background:var(--surface2); border:1px solid var(--border); color:var(--text); }
.venue-workspace :is(.menu-add-btn,.vos-hero-btn-primary,.login-btn),.venue-control .btn-brand { background:var(--brand); border:1px solid var(--brand); color:var(--bg); }
.venue-workspace :is(.topbar-btn,.qrm-btn,.vos-hero-btn-secondary):hover,.venue-control .btn-ghost:hover { background:var(--surface3); border-color:var(--border-bright); }
:is(.venue-workspace,.venue-control) button:active:not(:disabled) { transform:translateY(1px); }
:is(.venue-workspace,.venue-control) button:disabled { opacity:.45; cursor:not-allowed; }
:is(.venue-workspace,.venue-control) :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.venue-workspace :is(input,select,textarea),.venue-control :is(input,select,textarea) { accent-color:var(--brand); }
.venue-workspace :is(.login-field input,.menu-search,.edit-input,.edit-textarea),.venue-control :is(.form-input,.form-textarea,.form-select,.list-search,.header-client,.header-house) { background:var(--bg); border-color:var(--border); color:var(--text); border-radius:7px; box-shadow:none; }
.venue-workspace .qrm-range-pill { border-radius:6px; padding:8px 13px; color:var(--dim); background:transparent; border:1px solid transparent; }
.venue-workspace .qrm-range-pill.active { background:var(--brand-dim); border-color:var(--border-bright); color:var(--brand); }
.venue-workspace :is(.edit-drawer,.edit-drawer-head,.edit-drawer-footer) { background:var(--surface); border-color:var(--border); }
.venue-workspace :is(th,td,.leaderboard-row,.activity-item) { border-color:var(--border); }
.venue-workspace .state-placeholder { color:var(--dim); padding:36px 20px; line-height:1.7; }
.venue-workspace #login-screen,.venue-control #login-screen { background:var(--bg); min-height:100dvh; }
.venue-workspace .login-card,.venue-control .login-card { background:var(--card); border:1px solid var(--border); box-shadow:var(--ui-shadow); border-radius:16px; }
.venue-workspace .bottom-nav { background:var(--surface); border-color:var(--border); }
.venue-workspace .bnav-btn.active { color:var(--brand); }
.venue-workspace .vos-live-badge { color:var(--dim); background:var(--surface2); letter-spacing:0; text-transform:none; }
.venue-workspace .vos-live-dot { display:none; }
.venue-control .app-header { height:auto; min-height:88px; padding:18px 24px; flex-wrap:wrap; gap:14px 20px; background:var(--surface); border-color:var(--border); box-shadow:none; }
.venue-control .header-brand { color:var(--text); margin-right:12px; }
.venue-control .header-brand span { color:var(--brand); }
.venue-control .header-brand i { color:var(--dim); font-style:normal; }
.venue-control .header-right { margin-left:auto; gap:8px; flex-wrap:wrap; }
.venue-control .house-row { flex-wrap:wrap; }
.venue-control .app-tabs { height:auto; min-height:58px; padding:0 24px; gap:22px; overflow-x:auto; background:var(--bg); border-color:var(--border); flex-shrink:0; }
.venue-control .app-tabs .tab-btn { padding:18px 0; color:var(--dim); }
.venue-control .app-tabs .tab-btn.active { color:var(--brand); border-color:var(--brand); background:none; }
.venue-control .tab-count { background:var(--surface2); color:var(--dim); }
.venue-control .app-content { min-height:0; }
.venue-control .list-panel { width:320px; background:var(--surface); border-color:var(--border); }
.venue-control .list-toolbar { padding:18px; background:var(--surface); border-color:var(--border); }
.venue-control .list-item { margin:6px 10px; border-radius:8px; border:1px solid transparent; padding:15px; }
.venue-control .list-item:hover { background:var(--surface2); }
.venue-control .list-item.active { background:var(--brand-dim); border-color:var(--border-bright); box-shadow:none; }
.venue-control :is(.edit-panel,.edit-form-wrap) { background:var(--bg); }
.venue-control .edit-form-wrap { max-width:1000px; width:100%; padding:30px; margin-inline:auto; }
.venue-control .edit-footer { background:var(--surface); border-color:var(--border); padding:18px 30px; }
.venue-control :is(.modal,.modal-box,.cc-live-rail) { background:var(--surface); border-color:var(--border); box-shadow:var(--ui-shadow); }
.venue-control .cc-ops-bar { background:var(--bg); color:var(--dim); border-color:var(--border); }
.venue-control .btn-accent { background:var(--green-lt); color:var(--green); border:1px solid var(--border); box-shadow:none; }
.venue-control .cc-live-rail { width:230px; }
.venue-page-intro { margin:8px 0 28px; }
.venue-page-intro p { margin:8px 0 0; color:var(--dim); max-width:60ch; line-height:1.6; }
.venue-page-intro h1 { margin:0; font:700 clamp(1.7rem,3vw,2.7rem)/1.15 'Syne',sans-serif; letter-spacing:-.05em; color:var(--text); }
.venue-eyebrow { display:block; color:var(--brand); font-size:.68rem; text-transform:uppercase; letter-spacing:.13em; margin-bottom:12px; }
.venue-analytics .panels-wrap { max-width:1450px; width:100%; margin-inline:auto; }
.venue-command { border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text); padding:0; width:min(540px,calc(100% - 32px)); box-shadow:0 24px 90px #0006; }
.venue-command::backdrop { background:#101a15a6; backdrop-filter:blur(4px); }
.venue-command header { display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--border); }
.venue-command input { display:block; width:calc(100% - 40px); margin:20px; padding:12px; background:var(--bg); border:1px solid var(--border); color:var(--text); border-radius:6px; }
.venue-command-results { padding:0 12px 12px; max-height:50dvh; overflow:auto; }
.venue-command-results button { display:block; width:100%; padding:12px; border:0; border-radius:6px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.venue-command-results button:hover { background:var(--brand-dim); color:var(--brand); }
.venue-command-close { background:none; color:var(--dim); border:0; cursor:pointer; padding:6px; }
.venue-search-trigger kbd { margin-left:18px; opacity:.6; font:inherit; font-size:11px; }
.venue-workspace .vos-chart-plot { margin:14px 10px 0; }
.venue-workspace .vos-chart-dot:focus-visible::after { content:attr(data-tip); position:absolute; bottom:100%; background:var(--surface3); color:var(--text); padding:8px; min-width:130px; z-index:5; }
.venue-workspace .vos-chart-dot { border:0; background:transparent; padding:0; }
.venue-workspace .vos-donut-ring { box-shadow:none; }
.venue-workspace .vos-rank-label { min-width:0; flex-basis:36%; }
@media(min-width:1100px) { .venue-workspace .vos-hero-actions { position:absolute; right:0; bottom:34px; } .venue-workspace .vos-hero-title { padding-right:350px; } }
@media(max-width:1100px) { .venue-control .cc-live-rail { display:none; } .venue-control .list-panel { width:280px; } }
@media(max-width:768px) {
  .venue-workspace .vos-main .topbar-inner { padding:12px 16px; gap:8px; flex-wrap:wrap; }
  .venue-workspace .vos-topbar-right { gap:6px; flex-wrap:wrap; }
  .venue-workspace .dash-content { padding:24px 16px 90px; }
  .venue-workspace .vos-live-badge,.venue-search-trigger kbd { display:none; }
  .venue-analytics #refresh-btn { display:inline-flex!important; }
  .venue-analytics #bma-grid { grid-template-columns:1fr!important; }
  .venue-workspace .qrm-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .venue-workspace .qrm-stat { padding:16px; min-width:0; }
  .venue-workspace .qrm-stat-v { font-size:1.6rem; overflow-wrap:anywhere; }
  .venue-workspace .data-card-head { padding:16px; }
  .venue-control .app-header { padding:16px; }
  .venue-control .header-right { margin-left:0; }
  .venue-control .app-content { overflow:auto; display:block; }
  .venue-control .list-panel { width:100%; height:280px; border-right:0; border-bottom:1px solid var(--border); }
  .venue-control .edit-panel { min-height:440px; overflow:visible; }
  .venue-control .edit-form-wrap { padding:22px 16px; }
  .venue-control .edit-footer { flex-wrap:wrap; padding:16px; }
}
@media(prefers-reduced-motion:no-preference) { .venue-page-intro,.venue-workspace .vos-hero { animation:venue-enter .32s ease-out both; } @keyframes venue-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } } }
@media(prefers-reduced-motion:reduce) { :is(.venue-workspace,.venue-control) *, :is(.venue-workspace,.venue-control) *::before, :is(.venue-workspace,.venue-control) *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
