/* AVNT workspace: restrained surfaces, readable type, and a single action color. */
:root { --bg:#000; --surface:#0a0a0b; --surface2:#141416; --line:#242427; --muted:#99999f; --accent:#3985ff; }
html, body { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
button, .primary-button, .secondary-button { font-weight:550; }
.sidebar { width:216px; padding:36px 24px 28px; background:#000; border-color:#19191d; overflow-y:auto; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; scrollbar-width:thin; scrollbar-color:#303036 #000; }
.sidebar .brand.avnt-wordmark { width:144px; max-width:100%; margin:0; padding:0; }
.sidebar-label { margin:48px 0 20px; font-size:9px; font-weight:400; letter-spacing:.22em; color:#82828c; }
.sidebar nav { margin:0; gap:8px; padding-bottom:12px; }
.sidebar .nav-item { position:relative; display:flex; align-items:center; gap:8px; min-height:46px; padding:12px 0 12px 20px; border:0; border-radius:0; background:transparent; color:#9999a3; font:inherit; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:.035em; transition:color .18s; }
.sidebar .nav-item.active { background:transparent; color:#fff; font-weight:450; }
.sidebar .nav-item.active::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:2px; height:16px; background:#a9caff; border-radius:0; }
.sidebar .nav-item:hover { background:transparent; color:#fff; }
.sidebar .nav-item:focus-visible { outline:1px solid #a9caff; outline-offset:4px; }
.sidebar .inventory-nav-alert { min-width:0; margin-left:auto; padding:0; border-radius:0; background:transparent; color:#e5bf87; font-size:11px; font-weight:500; letter-spacing:0; }
.workspace { margin-left:216px; }
.topbar { height:76px; padding-inline:clamp(24px,4vw,60px); border-color:#1d1d20; font-size:13px; font-weight:500; color:#b4b4bb; }
.quiet-button { min-height:44px; text-decoration:none; color:#a1a1a8; }
.quiet-button:hover { color:white; }
.page { max-width:1540px; padding:48px clamp(24px,4vw,60px) 88px; }
.page-heading { margin-bottom:34px; align-items:center; }
.page-heading h1 { font-size:clamp(32px,3.3vw,46px); font-weight:600; letter-spacing:-.045em; line-height:1.15; margin:0 0 12px; }
.page-heading p:not(.eyebrow) { font-size:14px; line-height:1.6; max-width:620px; }
.eyebrow { font-size:10px; font-weight:550; letter-spacing:.18em; color:#75757e; margin:0 0 13px; }
.card { background:var(--surface); border-color:var(--line); border-radius:16px; box-shadow:none; }
.primary-button { min-height:44px; padding:12px 20px; background:#2777ed; border-color:#2777ed; color:white; border-radius:10px; font-size:13px; }
.primary-button:hover { background:#3985ff; border-color:#3985ff; }
.secondary-button { min-height:44px; padding:11px 17px; background:transparent; border-color:#343438; border-radius:10px; font-size:13px; }
.secondary-button:hover { background:#17171a; border-color:#606067; }
.toolbar { gap:18px; align-items:end; margin:24px 0; flex-wrap:wrap; }
.toolbar label { font-size:12px; color:#9b9ba3; gap:9px; }
.toolbar label:first-child { flex:1; max-width:440px; }
.toolbar input, .toolbar select, .editor-fields input, .editor-fields select, .editor-fields textarea,
.setup-tile input:not([type=checkbox]), .setup-tile select { background:#0b0b0d; border:1px solid #343438; min-height:46px; border-radius:9px; font-size:14px; }
.toolbar input:focus, .toolbar select:focus, .editor-fields input:focus, .editor-fields select:focus,
.editor-fields textarea:focus, .setup-tile input:focus, .setup-tile select:focus { border-color:var(--accent); }
.catalog-switch { display:inline-flex; flex-wrap:wrap; gap:4px; padding:4px; background:#101012; border:1px solid #242427; border-radius:12px; }
.catalog-switch button { min-height:40px; padding:9px 20px; border:0; border-radius:8px; background:transparent; color:#a2a2aa; font-size:13px; }
.catalog-switch button.active { background:#29292d; color:white; }
.catalog-switch button:hover { color:white; }
.category-visibility { display:flex; align-items:center; justify-content:space-between; gap:24px; border-block:1px solid var(--line); padding:18px 0; margin-bottom:24px; }
.category-visibility strong { font-size:14px; font-weight:550; }
.category-visibility p { margin:6px 0 0; font-size:12px; color:var(--muted); line-height:1.5; }
.switch-control { position:relative; display:inline-flex; align-items:center; min-width:48px; min-height:44px; cursor:pointer; }
.switch-control input { position:absolute; width:48px; height:28px; opacity:0; cursor:pointer; }
.switch-control span { width:48px; height:28px; border-radius:20px; background:#38383b; pointer-events:none; }
.switch-control span::after { content:""; display:block; margin:3px; width:22px; height:22px; border-radius:50%; background:white; transition:transform .18s; }
.switch-control input:checked + span { background:#2777ed; }
.switch-control input:checked + span::after { transform:translateX(20px); }
.switch-control input:focus-visible + span { outline:2px solid #6ba3ff; outline-offset:4px; }
.switch-control input:disabled + span { opacity:.5; }
.section-summary { font-size:12px; margin:22px 0 16px; }
.menu-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.menu-tile { background:#080809; border-color:#242427; border-radius:15px; }
.menu-tile-main { height:auto; background:none; }
.menu-photo { position:relative; inset:auto; height:160px; background:#0b0b0d; margin:10px 10px 0; border-radius:10px; }
.menu-photo img { object-fit:contain; padding:12px; }
.menu-photo svg { width:44px; height:44px; color:#48484e; }
.menu-shade { display:none; }
.menu-tile-copy { position:relative; inset:auto; display:grid; gap:9px; padding:18px 18px 14px; }
.menu-tile-copy strong { max-width:100%; min-height:38px; font-size:15px; line-height:1.3; font-weight:550; text-shadow:none; }
.menu-tile-copy>span { justify-self:start; font-size:14px; font-weight:450; color:#b3b3bb; text-shadow:none; }
.menu-tile-footer { flex-wrap:wrap; gap:8px; padding:0 14px 12px; }
.menu-tile-footer>span { flex-basis:100%; font-size:11px; margin:0 4px 2px; }
.menu-tile-footer button { flex:1; min-height:40px; border:0; border-radius:8px; background:#141416; color:#b6b6bd; font-size:12px; padding:8px; }
.menu-tile-footer button:hover { background:#242429; color:white; }
.menu-unavailable { top:70px; background:#19191feb; border:1px solid #4c4c55; color:#ddd; font-weight:550; font-size:10px; white-space:nowrap; }
.menu-stock-warning { bottom:auto; top:16px; left:16px; }
.trend-hero { background:#0a0a0b; border-color:#2b2b30; border-radius:16px; padding:30px; }
.trend-eyebrow, .trend-total>span { color:#90909b; font-weight:550; letter-spacing:.1em; }
.trend-head strong { font-weight:550; letter-spacing:-.055em; }
.trend-head small, .trend-total small, .trend-labels { color:#91919b; font-weight:400; }
.trend-line { stroke:#5b9bff; stroke-width:2; }
.trend-point { fill:#5b9bff; }
.trend-area { fill:#3985ff; fill-opacity:.07; }
.mix-panel, .metric-card, .seller-panel { background:#0a0a0b; }
.mix-icon { color:#c6c6ce; font-weight:400; }
.metric-icon, .setup-icon { background:transparent; color:#c2c2cb; font-weight:400; border-radius:0; }
.metric-card { padding:22px 18px; gap:12px; }
.metric-card>div>span { font-size:10px; font-weight:500; letter-spacing:.08em; }
.metric-card strong { font-size:27px; font-weight:550; }
.metric-card small { font-weight:400; }
.seller-count { background:#1a1a1e; color:#b5b5be!important; font-weight:450; }
.seller-fill { background:#6698df; }
.card-heading h2 { font-weight:550; letter-spacing:-.02em; }
.inventory-metrics article { background:transparent; border:0; border-left:1px solid var(--line); border-radius:0; padding:10px 24px; }
.inventory-metrics article:first-child { border-left:0; padding-left:0; }
.inventory-metrics { padding:12px 0 28px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.inventory-metrics strong { font-size:36px; font-weight:500; letter-spacing:-.04em; }
.inventory-list { gap:0; border-top:1px solid var(--line); }
.inventory-row { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:22px 6px; background:transparent; }
.inventory-art, .inventory-art img { background:#0b0b0d; border-radius:9px; }
.inventory-count b { font-size:24px; font-weight:500; }
.inventory-name strong { font-weight:500; }
.inventory-history { margin-top:40px; background:transparent; border:0; padding:0; }
.setup-grid { gap:20px; }
.setup-tile { aspect-ratio:auto; min-height:280px; padding:24px; background:#0a0a0b; border-radius:16px; }
.setup-tile h2 { font-weight:550; }
.setup-tile p { font-size:13px; line-height:1.65; }
.setup-tile .setup-switch { border-color:var(--line); min-height:48px; }
.setup-switch input, .editor-fields input[type=checkbox] { accent-color:#3985ff; min-height:auto; }
.setup-link { min-height:44px; display:flex; align-items:center; color:#76a8ff; font-weight:500; font-size:13px; }
.settings-save { padding-top:22px; }
.checklist-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; max-width:880px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.checklist-tabs { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:12px; background:#111113; }
.checklist-tabs button { min-height:40px; padding:8px 20px; border:0; border-radius:8px; background:transparent; color:#aaaab2; cursor:pointer; }
.checklist-tabs button.active { background:#2a2a2e; color:white; }
.checklist-controls label { display:grid; gap:7px; color:#9999a2; font-size:12px; }
.checklist-controls input { min-height:42px; padding:8px 12px; border:1px solid #343438; border-radius:9px; background:#111113; color:white; color-scheme:dark; font:inherit; }
.checklist-progress { max-width:880px; display:grid; gap:12px; margin:28px 0 8px; color:#adadb5; font-size:13px; }
.checklist-track { height:5px; overflow:hidden; border-radius:8px; background:#252529; }
.checklist-track>div { height:100%; width:0; background:#3985ff; transition:width .2s ease; }
.checklist-tasks, .checklist-editor { max-width:880px; }
.checklist-task { display:flex; align-items:center; width:100%; gap:18px; padding:20px 2px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; color:#f5f5f7; font:inherit; font-size:16px; cursor:pointer; }
.checklist-task:hover { color:white; background:#0d0d10; }
.checklist-task.done>span:last-child { color:#92929b; text-decoration:line-through; }
.checklist-mark { display:grid; flex:none; place-items:center; width:27px; height:27px; border:1px solid #64646d; border-radius:8px; color:white; font-size:15px; }
.checklist-task.done .checklist-mark { border-color:#3985ff; background:#3985ff; }
.checklist-empty { padding:26px 0; color:#92929a; }
.checklist-editor>p { margin:25px 0; color:#a2a2aa; font-size:13px; line-height:1.6; }
.checklist-draft-row { display:flex; gap:14px; align-items:center; padding:9px 0; }
.checklist-draft-row input { flex:1; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #39393f; border-radius:9px; background:#121215; color:white; font:inherit; }
.checklist-editor-actions { display:flex; justify-content:space-between; gap:16px; margin-top:24px; }
@media(max-width:600px) { .checklist-draft-row { gap:8px; } .checklist-tabs { width:100%; } .checklist-tabs button { flex:1; } }
.item-card, .clock-staff-row, .clock-shift-row { background:#0b0b0d; border-color:#242427; border-radius:12px; }
.clock-panel { padding:26px; }
.clock-staff-row, .clock-shift-row { padding:16px; }
.coffee-modifier-row:hover { border-color:var(--accent); }
.editor-dialog { width:min(640px,calc(100% - 32px)); background:#0b0b0d; border:1px solid #3a3a40; border-radius:20px; padding:30px; box-shadow:0 32px 100px #000b; }
.editor-dialog::backdrop { background:#000b; backdrop-filter:blur(8px); }
.dialog-heading h2 { font-size:26px; font-weight:550; letter-spacing:-.035em; padding-right:40px; margin-bottom:28px; }
.dialog-heading button { width:40px; height:40px; border-radius:50%; background:#1b1b20; font-size:23px; color:#aaaab5; }
.editor-fields { gap:20px; }
.editor-fields label { font-size:12px; }
.dialog-actions { padding-top:22px; border-top:1px solid var(--line); margin-top:28px; gap:12px; }
.photo-editor { display:grid; grid-template-columns:146px minmax(0,1fr); gap:22px; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--line); }
.photo-preview { width:146px; height:146px; display:grid; place-items:center; border:1px dashed #3e3e45; border-radius:13px; overflow:hidden; background:#141416; }
.photo-preview img { width:100%; height:100%; object-fit:contain; }
.photo-placeholder { color:#6c6c76; font-size:13px; }
.photo-controls { min-width:0; }
.photo-controls>strong { font-size:14px; font-weight:550; }
.photo-controls .fine-print { margin:8px 0 14px; }
.photo-controls label.secondary-button { display:inline-flex; justify-content:center; align-items:center; color:white; cursor:pointer; }
.photo-input { position:absolute; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; opacity:0; }
.photo-input:focus-visible + label { outline:2px solid var(--accent); outline-offset:4px; }
.photo-controls .quiet-button { display:block; padding:8px 0; font-size:12px; }
.toast { border:1px solid #38383f; background:#202026; color:white; max-width:calc(100% - 40px); line-height:1.5; }
@media(max-width:1100px) { .page { padding-inline:26px; } .menu-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; } }
@media(max-width:720px) {
  .sidebar { width:250px; } .workspace { margin-left:0; } .page { padding:30px 20px 64px; }
  .page-heading { align-items:flex-start; gap:18px; } .topbar { padding-inline:20px; }
  .sidebar nav { margin-top:0; } .catalog-switch { display:flex; } .catalog-switch button { flex:1; padding-inline:10px; }
  .toolbar { align-items:stretch; } .toolbar label:first-child { max-width:none; }
  .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .menu-photo { height:136px; margin:6px; } .menu-tile-copy { padding:12px; }
  .menu-tile-footer { padding:0 8px 10px; gap:4px; } .menu-tile-footer button { font-size:11px; }
  .setup-grid { grid-template-columns:1fr; } .setup-tile { min-height:240px; }
  .inventory-metrics article { padding:10px 14px; } .inventory-metrics strong { font-size:28px; }
  .metric-card { padding:16px 12px; } .metric-icon { width:24px; }
}
@media(max-width:420px) { .photo-editor { grid-template-columns:1fr; } .photo-preview { width:100%; height:160px; } .editor-dialog { padding:22px; } .menu-tile-copy strong { font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .switch-control span::after { transition:none; } }
.photo-preview:has(img) .photo-placeholder { display: none; }

/* Shared minimal workspace: catalog, inventory, nights, history, floor, staff, and setup. */
html, body { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif; font-weight:400; -webkit-font-smoothing:antialiased; }
button, input, select, textarea { font-family:inherit; }
button, .primary-button, .secondary-button { font-weight:450; letter-spacing:.02em; }
.page-heading { flex-wrap:wrap; align-items:flex-end; gap:28px; margin:16px 0 44px; }
.page-heading>div { min-width:0; }
.page-heading h1 { margin:0 0 16px; font-size:clamp(2.8rem,4.6vw,4.6rem); line-height:1.1; font-weight:350; letter-spacing:-.015em; overflow-wrap:break-word; }
.page-heading p:not(.eyebrow) { color:#9999a2; font-weight:400; letter-spacing:.015em; }
.eyebrow { font-weight:400; letter-spacing:.2em; color:#92929d; }
.card { background:transparent; border:0; border-radius:0; box-shadow:none; }
.card-heading { flex-wrap:wrap; gap:14px 20px; }
.card-heading h2, .night-detail h2 { font-weight:400; letter-spacing:.015em; line-height:1.3; }
.card-heading p { line-height:1.6; }
.primary-button { border-radius:5px; font-weight:450; }
.secondary-button { border:0; border-bottom:1px solid #45454c; border-radius:0; padding:10px 0; background:transparent; font-weight:400; }
.secondary-button:hover { background:transparent; border-color:#a9caff; color:#a9caff; }
button:disabled { cursor:not-allowed; opacity:.5; }
.toolbar { gap:24px; margin:28px 0; }
.toolbar label { font-weight:400; letter-spacing:.025em; }
.toolbar input, .toolbar select, .editor-fields input:not([type=checkbox]), .editor-fields select, .editor-fields textarea,
.setup-tile input:not([type=checkbox]), .setup-tile select, .add-floor-label select, .clock-unlock input, .clock-report-controls select,
.floor-inspector-controls input { border:0; border-bottom:1px solid #45454c; border-radius:0; min-height:46px; padding:12px 0; background:#000; color:#eee; font-weight:400; }
.editor-fields textarea { border:1px solid #45454c; border-radius:4px; padding:12px; }
select option { background:#000; color:#eee; }
.catalog-switch { gap:24px; padding:0; border:0; border-bottom:1px solid #26262b; border-radius:0; background:transparent; }
.catalog-switch button { min-height:46px; padding:10px 0 13px; margin-bottom:-1px; border-bottom:2px solid transparent; border-radius:0; font-weight:400; letter-spacing:.035em; }
.catalog-switch button.active { background:transparent; border-bottom-color:#a9caff; color:#fff; }
.category-visibility { padding:22px 0; }
.category-visibility strong { font-weight:400; letter-spacing:.015em; }
.section-summary { color:#9999a2; letter-spacing:.025em; }
.menu-grid { gap:36px 28px; }
.menu-tile { border:0; border-bottom:1px solid #242429; border-radius:0; background:transparent; overflow:visible; }
.menu-tile-main { border-radius:0; }
.menu-photo { margin:0; height:190px; border-radius:0; background:transparent; }
.menu-photo img { padding:10px; }
.menu-tile-copy { gap:12px; padding:22px 0 18px; }
.menu-tile-copy strong { min-height:0; font-size:16px; font-weight:400; letter-spacing:.02em; }
.menu-tile-copy>span { font-weight:400; }
.menu-tile-footer { padding:0 0 16px; gap:8px 16px; }
.menu-tile-footer>span { margin:0; }
.menu-tile-footer button { min-height:44px; padding:8px 0; flex:0 1 auto; border-radius:0; background:transparent; color:#a9caff; font-weight:400; }
.menu-tile-footer button:hover { background:transparent; color:#fff; text-decoration:underline; text-underline-offset:5px; }
.menu-unavailable { background:#000e; border-color:#505058; border-radius:4px; font-weight:400; }
.menu-stock-warning { border-radius:4px; font-weight:400; }
.inventory-metrics { gap:28px; padding:12px 0 32px; }
.inventory-metrics article, .inventory-metrics article:first-child { padding:0; border:0; gap:12px; }
.inventory-metrics span { font-weight:400; letter-spacing:.15em; }
.inventory-metrics strong { font-size:36px; font-weight:350; letter-spacing:-.015em; }
.inventory-row { padding:24px 0; }
.inventory-art, .inventory-art img { border-radius:0; background:transparent; }
.inventory-count b { font-weight:350; letter-spacing:.005em; }
.inventory-name strong { font-weight:400; letter-spacing:.015em; }
.inventory-state strong { font-weight:400; }
.inventory-history { margin-top:44px; padding:0; }
.inventory-change strong, .inventory-change b { font-weight:400; }
.nights-grid { gap:44px; grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr); }
.item-list { gap:0; }
.item-card { padding:22px 0; border:0; border-bottom:1px solid #242429; border-radius:0; background:transparent; }
.item-card.selected { border-bottom-color:#a9caff; }
.item-card .thumb { border-radius:4px; background:#0c0c0e; color:#b5b5be; }
.item-card .item-main strong { font-weight:400; letter-spacing:.02em; }
.item-card .price { font-weight:400; }
.item-card button { min-height:44px; border:0; border-bottom:1px solid #45454c; border-radius:0; padding:8px 0; color:#a9caff; background:transparent; }
.night-detail { padding:28px 0 0; border-top:1px solid #242429; }
.night-actions { gap:24px; margin:28px 0; }
.setup-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 56px; }
.setup-tile { min-width:0; min-height:260px; aspect-ratio:auto; padding:28px 0 0; border:0; border-top:1px solid #242429; border-radius:0; background:transparent; gap:16px; }
.setup-icon { display:none; }
.setup-tile h2 { margin:0; font-size:1.4rem; line-height:1.3; font-weight:400; letter-spacing:.015em; }
.setup-tile p { line-height:1.75; }
.setup-tile label { font-weight:400; letter-spacing:.015em; }
.setup-tile .setup-switch { padding-top:16px; }
.setup-tile-bottom { gap:12px; }
.setup-tile-bottom strong { font-weight:400; white-space:normal; line-height:1.5; }
.setup-link { color:#a9caff; font-weight:400; letter-spacing:.02em; }
.setup-link:hover { color:#fff; text-decoration:underline; text-underline-offset:6px; }
.settings-save { flex-wrap:wrap; padding-top:30px; border-top:1px solid #242429; }
.history-controls { gap:24px; }
.period-control { max-width:100%; gap:20px; padding:0; border:0; border-bottom:1px solid #26262b; border-radius:0; background:transparent; }
.period-control button { min-height:44px; padding:10px 0 13px; margin-bottom:-1px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; font-weight:400; letter-spacing:.035em; }
.period-control button.active { background:transparent; color:#fff; border-bottom-color:#a9caff; }
.card-search { border:0; border-bottom:1px solid #45454c; border-radius:0; padding:0; min-height:46px; background:transparent; }
#history .performance-metrics { gap:28px; padding:28px 0; border-block:1px solid #242429; }
#history .metric-card { padding:0; min-height:0; }
#history .metric-icon { display:none; }
#history .metric-card strong { font-weight:350; letter-spacing:-.015em; white-space:normal; overflow-wrap:anywhere; }
#history .metric-card small { white-space:normal; line-height:1.5; }
.history-receipts { padding:32px 0 0; background:transparent; }
.receipt-grid { gap:28px; margin-top:28px; }
.receipt-card { border-radius:4px; }
.receipt-view { min-height:44px; border-radius:0; font-weight:400; letter-spacing:.02em; }
.receipt-header strong, .receipt-header small, .receipt-line strong, .receipt-line.prominent, .receipt-line.prominent strong { font-weight:450; }
.receipt-dialog { background:#000; border:1px solid #3a3a40; border-radius:12px; padding:28px; }
.receipt-dialog-head h2 { font-weight:400; letter-spacing:.015em; }
.floor-actions { flex-wrap:wrap; gap:24px; }
.floor-summary { flex-wrap:wrap; gap:24px; margin:0 0 24px; letter-spacing:.025em; }
.floor-summary span { padding:0; background:transparent; border:0; border-radius:0; }
.floor-canvas { border-color:#303037; border-radius:6px; background-color:#000; background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px); }
.floor-empty>span { color:#9bbff8; }
.floor-empty strong { font-weight:400; letter-spacing:.015em; }
.floor-empty { padding:24px; line-height:1.6; }
.floor-item { background:#121216; border-color:#676773; border-radius:6px; box-shadow:none; }
.floor-item.table { background:#141921; }
.floor-item.booth { background:#19161e; }
.floor-item.bar { background:#111b22; }
.floor-item.stage { background:#201b16; }
.floor-item.wall { background:#28282e; }
.floor-item.occupied { background:#102849; border-color:#8bb4f5; }
.floor-item.selected { outline:2px solid #c5dcff; outline-offset:3px; }
.floor-item strong { font-weight:450; letter-spacing:.015em; }
.floor-check-badge { color:#c5dcff; }
.floor-inspector { margin-top:28px; padding:24px 0; border-top:1px solid #242429; }
.floor-inspector-head strong { font-weight:400; letter-spacing:.015em; }
.floor-inspector-controls { gap:18px; }
.floor-inspector-controls input { min-width:0; max-width:100%; }
.destructive { color:#ff9ea9; border-color:#8a4149; }
.clock-grid { gap:44px; }
.clock-panel { min-width:0; padding:28px 0 0; border-top:1px solid #242429; }
.clock-staff, .clock-shifts { gap:0; margin-top:28px; }
.clock-staff-row, .clock-shift-row { padding:20px 0; border:0; border-bottom:1px solid #242429; border-radius:0; background:transparent; }
.clock-staff-row strong, .clock-shift-row strong, .clock-shift-row b, .clock-shift-person { font-weight:400; letter-spacing:.015em; }
.clock-report-controls { flex-wrap:wrap; gap:20px; }
.clock-unlock { margin-top:26px; }
.clock-unlock form { gap:20px; }
.editor-dialog { background:#000; border-color:#3a3a40; border-radius:12px; padding:32px; }
.dialog-heading h2 { font-size:28px; line-height:1.25; font-weight:350; letter-spacing:.015em; }
.dialog-heading button { border-radius:0; background:transparent; }
.editor-fields { gap:24px; }
.editor-fields label { font-weight:400; line-height:1.6; letter-spacing:.015em; }
.dialog-actions { flex-wrap:wrap; gap:24px; }
.photo-preview { border-radius:4px; background:#000; }
.photo-controls>strong { font-weight:400; }
.permission-grid { border-color:#303037; border-radius:4px; padding:16px; gap:12px; }
.coffee-modifier-row { min-height:52px; padding:16px 0; border:0; border-bottom:1px solid #303037; border-radius:0; background:transparent; }
.coffee-modifier-row strong, .coffee-modifier-group h3 { font-weight:400; }
.notice { border:0; border-left:2px solid #cfa962; border-radius:0; background:transparent; line-height:1.6; }
.toast { background:#101013; border-color:#3a3a40; border-radius:6px; }

@media(max-width:1100px) {
  .nights-grid, .clock-grid { grid-template-columns:1fr; }
  .setup-grid { gap:36px; }
}
@media(max-width:720px) {
  .page-heading { align-items:flex-start; margin:8px 0 32px; gap:24px; }
  .page-heading h1 { font-size:clamp(2.5rem,10.5vw,3.8rem); }
  .catalog-switch { gap:18px; }
  .catalog-switch button { padding-inline:0; }
  .menu-grid { gap:28px 18px; }
  .menu-photo { height:140px; }
  .menu-tile-copy { padding:18px 0 12px; }
  .menu-tile-copy strong { font-size:14px; }
  .menu-tile-footer { padding:0 0 14px; gap:8px 14px; }
  .setup-grid { grid-template-columns:1fr; gap:36px; }
  .setup-tile { min-height:0; gap:18px; }
  .setup-tile label, .setup-tile-bottom { margin-top:8px; }
  .inventory-metrics { gap:16px; }
  .inventory-metrics article, .inventory-metrics article:first-child { padding:0; }
  .inventory-metrics strong { font-size:28px; }
  .inventory-metrics span { letter-spacing:.08em; }
  .inventory-row { padding:22px 0; }
  .inventory-history { padding:0; }
  .history-controls .period-control { width:100%; justify-content:space-between; }
  .history-receipts { padding:28px 0 0; }
  .clock-panel { padding:24px 0 0; }
  .editor-dialog, .receipt-dialog { padding:24px; }
  .dialog-heading h2 { font-size:25px; }
}

/* Overview: open analytics surfaces and the same restrained type as Hardware. */
#overview { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif; font-weight:400; -webkit-font-smoothing:antialiased; }
#overview .page-heading { flex-wrap:wrap; align-items:flex-end; gap:28px; margin:16px 0 52px; }
#overview .page-heading h1 { margin:0 0 16px; font-size:clamp(2.8rem,4.6vw,4.6rem); font-weight:350; letter-spacing:-.015em; line-height:1.1; }
#overview .page-heading p { color:#9999a2; font-weight:400; letter-spacing:.015em; }
#overview .period-control { max-width:100%; gap:22px; padding:0; border:0; border-bottom:1px solid #26262b; border-radius:0; background:transparent; }
#overview .period-control button { min-height:44px; padding:10px 0 13px; border:0; border-bottom:2px solid transparent; border-radius:0; margin-bottom:-1px; background:transparent; color:#96969f; font:inherit; font-size:.82rem; letter-spacing:.035em; }
#overview .period-control button.active { color:#fff; border-bottom-color:#a9caff; }
#overview .period-control button:hover { color:#fff; }
#overview .performance-grid { grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:44px; padding-top:36px; border-top:1px solid #242429; }
#overview .card, #overview .trend-hero { background:transparent; border:0; border-radius:0; box-shadow:none; }
#overview .trend-hero { min-width:0; min-height:390px; padding:0 0 24px; overflow:visible; }
#overview .trend-head { flex-wrap:wrap; gap:24px; }
#overview .trend-head>div:first-child { gap:12px; }
#overview .trend-eyebrow, #overview .trend-total>span { color:#92929d; font-size:.65rem; font-weight:450; letter-spacing:.16em; }
#overview .trend-head strong { font-size:clamp(2.6rem,4.5vw,4.4rem); line-height:1.12; font-weight:350; letter-spacing:-.025em; overflow-wrap:anywhere; }
#overview .trend-total { min-width:0; gap:9px; }
#overview .trend-total b { font-size:clamp(1.3rem,2vw,1.8rem); font-weight:400; letter-spacing:.005em; overflow-wrap:anywhere; }
#overview .trend-head small, #overview .trend-total small { color:#92929d; font-weight:400; line-height:1.5; }
#overview .trend-chart { margin-top:40px; }
#overview .trend-chart svg { height:185px; }
#overview .trend-line { stroke:#8bb4f5; stroke-width:2; }
#overview .trend-point { fill:#8bb4f5; }
#overview .trend-area { fill:#8bb4f5; fill-opacity:.04; }
#overview .trend-labels { margin-top:12px; font-size:.65rem; font-weight:400; }
#overview .mix-panel { min-width:0; padding:0 0 24px 36px; border-left:1px solid #242429; }
#overview .card-heading { flex-wrap:wrap; gap:10px 20px; }
#overview .card-heading h2 { font-size:1.4rem; line-height:1.3; font-weight:400; letter-spacing:.015em; }
#overview .card-heading p { margin-top:8px; line-height:1.6; }
#overview .mix-icon, #overview .metric-icon { display:none; }
#overview .mix-donut { width:180px; margin:28px auto; }
#overview .mix-donut::before { width:80%; background:#000; }
#overview .mix-donut>div { max-width:76%; }
#overview .mix-donut span { font-weight:450; font-size:.6rem; letter-spacing:.18em; }
#overview .mix-donut strong { font-weight:400; font-size:1.15rem; letter-spacing:0; }
#overview .mix-legend { gap:12px; }
#overview .mix-legend-row { font-size:.78rem; }
#overview .mix-legend-row i { width:5px; height:5px; border-radius:50%; }
#overview .mix-legend-row strong, #overview .mix-foot b { font-weight:400; }
#overview .mix-foot { gap:10px; margin-top:22px; padding-top:16px; border-color:#242429; }
#overview .performance-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; margin:30px 0 0; padding:32px 0; border-block:1px solid #242429; }
#overview .metric-card { min-width:0; min-height:0; padding:0; }
#overview .metric-card>div { width:100%; gap:10px; }
#overview .metric-card>div>span { font-size:.6rem; font-weight:450; letter-spacing:.15em; white-space:normal; }
#overview .metric-card strong { font-size:clamp(1.5rem,2.3vw,2.2rem); line-height:1.2; font-weight:350; letter-spacing:-.015em; white-space:normal; overflow-wrap:anywhere; }
#overview .metric-card small { font-size:.7rem; line-height:1.5; color:#92929b; white-space:normal; overflow:visible; }
#overview .seller-panel { padding:44px 0; }
#overview .seller-count { padding:0; background:transparent; border-radius:0; font-size:.75rem; font-weight:400; letter-spacing:.025em; }
#overview .seller-list { gap:24px; margin-top:32px; }
#overview .seller-rank { background:transparent; color:#8b8b96; font-weight:400; border-radius:0; }
#overview .seller-name-row strong, #overview .seller-amount { font-weight:400; letter-spacing:.01em; }
#overview .seller-track { height:3px; background:#202025; }
#overview .seller-fill { background:#8bb4f5; }
#overview .recent-panel { padding:36px 0 20px; margin:0; border-top:1px solid #242429; }
#overview .recent-panel .list { margin-top:26px; }
#overview .list-row { padding:18px 0; border-color:#1e1e23; font-size:.88rem; }
#overview .list-row strong { font-weight:400; }
#overview>.fine-print { margin-top:28px; max-width:760px; color:#85858f; line-height:1.7; }
#overview .payout-alert { padding:18px 0 18px 18px; border:0; border-left:2px solid #d4bb95; border-radius:0; background:transparent; }
#overview .payout-alert-icon { background:transparent; color:#d4bb95; font-weight:500; }
#overview .payout-alert-copy strong { font-weight:450; letter-spacing:.01em; }
#overview .payout-alert>a { min-height:44px; padding:10px 0; border-radius:0; background:transparent; color:#f0d2a5; font-weight:450; text-decoration:underline; text-underline-offset:6px; }
#overview .payout-alert>a:hover { color:#fff; }

@media(max-width:1100px) {
  #overview .performance-grid { grid-template-columns:1fr; gap:32px; }
  #overview .mix-panel { min-height:0; padding:32px 0 0; border-left:0; border-top:1px solid #242429; }
  #overview .performance-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
}
@media(max-width:720px) {
  #overview .page-heading { align-items:flex-start; }
}
@media(max-width:620px) {
  #overview .page-heading { margin:8px 0 32px; }
  #overview .page-heading h1 { font-size:clamp(2.5rem,10.5vw,3.8rem); }
  #overview .period-control { width:100%; justify-content:space-between; gap:10px; }
  #overview .performance-grid { padding-top:28px; }
  #overview .trend-hero { min-height:0; padding-bottom:0; }
  #overview .trend-head { flex-direction:column; gap:24px; }
  #overview .trend-head strong { font-size:clamp(2.4rem,10vw,3.2rem); }
  #overview .trend-total { text-align:left; justify-items:start; }
  #overview .trend-chart { margin-top:30px; }
  #overview .performance-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
  #overview .metric-card strong { font-size:1.75rem; }
  #overview .seller-panel { padding:32px 0; }
  #overview .seller-row { grid-template-columns:20px minmax(0,1fr) auto; gap:10px; }
  #overview .seller-amount { font-size:.8rem; }
  #overview .seller-rank { width:20px; }
  #overview .list-row { gap:10px; }
}

/* Hardware guide */
.hardware-page { max-width:1440px; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif; font-weight:400; -webkit-font-smoothing:antialiased; }
.hardware-heading { max-width:850px; padding:32px 0 64px; }
.hardware-heading h1 { max-width:820px; margin:18px 0 28px; font-size:clamp(2.8rem,5.4vw,5.4rem); line-height:1.08; letter-spacing:-.015em; font-weight:350; }
.hardware-heading>p:last-child { max-width:650px; margin:0; color:#94949e; font-size:clamp(1rem,1.7vw,1.28rem); line-height:1.65; }
.hardware-required-callout { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:0 0 48px; padding:30px 0; border-block:1px solid #202024; }
.hardware-required-callout>div { padding:0; }
.hardware-required-callout span { display:block; margin-bottom:12px; color:#8bb4f5; font-size:.65rem; font-weight:500; letter-spacing:.2em; }
.hardware-required-callout strong { display:block; margin-bottom:9px; font-size:1.08rem; font-weight:400; letter-spacing:.015em; }
.hardware-required-callout p { margin:0; color:#9299a7; font-size:.8rem; line-height:1.55; }
.hardware-list { border:0; }
.hardware-product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(44px,7vw,110px); align-items:center; min-height:580px; padding:88px 0; border-bottom:1px solid #17171a; }
.hardware-product-reverse .hardware-visual { order:2; }
.hardware-product-reverse .hardware-copy { order:1; }
.hardware-visual { position:relative; min-height:440px; display:grid; place-items:center; }
.hardware-visual img { position:relative; z-index:1; display:block; width:82%; height:390px; object-fit:contain; filter:drop-shadow(0 26px 28px #000b); }
.hardware-visual-wide img { width:91%; }
.hardware-number { position:absolute; z-index:2; top:0; left:0; color:#777780; font-size:.65rem; letter-spacing:.2em; font-variant-numeric:tabular-nums; }
.hardware-copy { max-width:510px; }
.hardware-kicker { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:0 0 22px; color:#85858f; font-size:.6rem; line-height:1.6; font-weight:450; letter-spacing:.16em; }
.hardware-kicker>span { padding:0 16px 0 0; border-right:1px solid #36363d; font-size:inherit; line-height:inherit; letter-spacing:inherit; }
.hardware-required { color:#9bbff8; }
.hardware-conditional { color:#d4bb95; }
.hardware-optional { color:#b8b8c1; }
.hardware-copy h2 { margin:0 0 26px; font-size:clamp(2.15rem,3.5vw,3.6rem); line-height:1.12; letter-spacing:.005em; font-weight:350; }
.hardware-copy>p:not(.hardware-kicker) { margin:0; color:#a0a0aa; font-size:1rem; line-height:1.75; }
.hardware-copy ul { display:grid; gap:11px; margin:26px 0 32px; padding:0; list-style:none; }
.hardware-copy li { position:relative; padding-left:20px; color:#d4d4da; font-size:.88rem; line-height:1.55; }
.hardware-copy li::before { content:""; position:absolute; left:0; top:.72em; width:4px; height:4px; border-radius:50%; background:#73737b; }
.hardware-link { display:inline-flex; align-items:center; gap:14px; min-height:46px; padding:0; border-bottom:1px solid #45454c; color:#fff; font-size:.88rem; font-weight:400; letter-spacing:.02em; text-decoration:none; transition:border-color .18s,color .18s; }
.hardware-link span { color:#73a5ff; }
.hardware-link:hover { border-color:#8bb4f5; color:#a9caff; }
.hardware-link:focus-visible { outline:2px solid #73a5ff; outline-offset:4px; }
.hardware-note { display:flex; align-items:flex-start; gap:18px; max-width:820px; margin:58px 0 0; padding:24px 0 0; }
.hardware-note>span { flex:none; padding-top:2px; color:#92929b; font-size:1.2rem; }
.hardware-note strong { display:block; margin:2px 0 9px; font-size:.95rem; font-weight:450; letter-spacing:.02em; }
.hardware-note p { margin:0; color:#85858f; font-size:.82rem; line-height:1.65; }

@media(max-width:950px) {
  .hardware-product { grid-template-columns:1fr; gap:32px; min-height:0; padding:56px 0 62px; }
  .hardware-product-reverse .hardware-visual,.hardware-product-reverse .hardware-copy { order:initial; }
  .hardware-visual { min-height:390px; }
  .hardware-copy { max-width:650px; }
}
@media(max-width:620px) {
  .hardware-heading { padding:8px 0 40px; }
  .hardware-heading h1 { font-size:clamp(2.5rem,10.5vw,3.8rem); }
  .hardware-required-callout { grid-template-columns:1fr; gap:28px; margin-bottom:34px; }
  .hardware-product { padding:38px 0 46px; gap:26px; }
  .hardware-visual { min-height:310px; }
  .hardware-visual img { width:88%; height:278px; }
  .hardware-visual-wide img { width:94%; }
  .hardware-copy h2 { font-size:clamp(2rem,8vw,2.5rem); }
}
