:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20242b;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}header{background:#121923;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:24px}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:21px}.brand span{color:#62d49f}nav{display:flex;gap:16px;flex-wrap:wrap}nav a{color:#dce5ee;text-decoration:none;font-size:14px}.container{max-width:1240px;margin:0 auto;padding:28px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.pagehead h1{margin:0}.user{font-size:13px;color:#68717c}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:#fff;border:1px solid #dde2e7;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card h2,.card h3{margin-top:0}.metric{font-size:30px;font-weight:800}.muted{color:#69737e}.notice{padding:12px 14px;border-radius:8px;margin:0 0 16px;background:#e8eef8}.notice.success{background:#e2f6ea}.notice.error{background:#ffe7e7}.notice.warning{background:#fff3cf}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dde2e7;border-radius:10px;overflow:hidden}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0f2;vertical-align:top;font-size:14px}th{background:#f8fafb;font-weight:700}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8edf2;font-size:12px;font-weight:700}.badge.good{background:#dbf5e6;color:#1d6a43}.badge.warn{background:#fff1c5;color:#7e5c00}.badge.bad{background:#ffe0e0;color:#8d2929}.button,button{display:inline-block;background:#162335;color:#fff;border:0;border-radius:8px;padding:9px 13px;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary{background:#e8edf2;color:#20242b}.button.danger{background:#a43333}.button.small{padding:6px 9px;font-size:12px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cdd4db;border-radius:7px;background:#fff;font:inherit}label{display:block;font-weight:700;margin:12px 0 5px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.inline{display:inline}.inline input[type=checkbox]{width:auto}.login{max-width:460px;margin:8vh auto}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f4f6;padding:2px 5px;border-radius:4px;word-break:break-all}.hero{padding:24px}.switchline{display:flex;align-items:center;gap:8px}.switchline input{width:auto}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}.container{padding:18px}.row{grid-template-columns:1fr}}

/* PubTools business dashboard — reference design */
.business-shell{background:#f4f7fb;color:#11182a;min-height:100vh}
.business-shell .container{max-width:none;margin:0 0 0 224px;padding:42px 46px 64px;min-height:100vh}
.business-sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#0f1628;color:#fff;padding:28px 18px 22px;display:flex;flex-direction:column;z-index:40;box-shadow:12px 0 40px rgba(15,22,40,.08)}
.sidebar-brand{padding:4px 12px 26px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.sidebar-brand>a{display:block;color:#f7f9fd;text-decoration:none;font-size:25px;font-weight:850;letter-spacing:-.04em}
.sidebar-brand>span{display:block;color:#8290aa;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.business-nav{display:flex;flex-direction:column;gap:5px}
.business-nav-item{min-height:42px;border-radius:12px;padding:0 11px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;color:#c8d0e2;text-decoration:none;font-size:13px;font-weight:650;transition:background .16s ease,color .16s ease}
.business-nav-item:hover{background:#18233b;color:#fff}
.business-nav-item.active{background:#202c49;color:#fff;box-shadow:inset 3px 0 0 #8af2c4}
.business-nav-item.active .nav-icon{color:#8af2c4}
.nav-icon{width:21px;text-align:center;color:#8f9bb4;font-size:15px;font-weight:800}
.nav-coming{opacity:.62;cursor:default}
.nav-coming:hover{background:transparent;color:#c8d0e2}
.nav-coming em{font-style:normal;text-transform:uppercase;letter-spacing:.07em;font-size:8px;color:#7e8ca8;background:#182238;border-radius:999px;padding:3px 5px}
.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:5px}
.sidebar-foot{margin:15px 11px 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#66748f;line-height:1.55}.sidebar-foot span{color:#59667f}
.business-mobilebar{display:none}
.business-shell .pagehead{margin:0 0 26px;align-items:center}.business-shell .pagehead h1{font-size:28px;letter-spacing:-.035em}.business-shell .user{background:#fff;border:1px solid #e4e9f1;padding:8px 12px;border-radius:999px;color:#68758e}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:0 0 28px}
.dashboard-welcome h1{margin:0;color:#11182a;font-size:31px;line-height:1.15;letter-spacing:-.045em;font-weight:820}
.dashboard-welcome p{margin:7px 0 0;color:#68758e;font-size:14px}
.dashboard-user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4e9f1;border-radius:16px;padding:8px 12px 8px 8px;box-shadow:0 5px 18px rgba(22,32,51,.04)}
.dashboard-user-chip>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#111a2d;color:#8af2c4;font-weight:850}
.dashboard-user-chip strong,.dashboard-user-chip small{display:block}.dashboard-user-chip strong{font-size:12px}.dashboard-user-chip small{font-size:10px;color:#7a869c;margin-top:2px}
.headline-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-bottom:20px}
.headline-card{background:#fff;border:1px solid #e4e9f1;border-radius:18px;padding:21px 22px;min-height:118px;box-shadow:0 7px 22px rgba(22,32,51,.035)}
.metric-label{font-size:12px;color:#74809a;font-weight:700}.metric-value{font-size:32px;line-height:1.1;font-weight:820;letter-spacing:-.045em;margin:14px 0 8px;color:#11182a}.metric-word{font-size:25px}.metric-status{font-size:25px;max-width:260px}
.metric-note{font-size:11px;color:#68758e;line-height:1.45}.metric-note.neutral{color:#7c889d}
.headline-card.status-card{border:0;background:linear-gradient(135deg,#8af2c4 0%,#8b7cff 100%);color:#0d1530;box-shadow:0 12px 28px rgba(92,108,217,.16)}
.headline-card.status-card .metric-label,.headline-card.status-card .metric-value,.headline-card.status-card .metric-note{color:#0d1530}
.headline-card.status-warn{background:linear-gradient(135deg,#ffe2a6 0%,#ff9f9f 100%)}
.dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(270px,.95fr);gap:20px;margin-bottom:20px}
.business-shell .panel{background:#fff;border:1px solid #e4e9f1;border-radius:18px;padding:22px;box-shadow:0 7px 22px rgba(22,32,51,.035)}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-head h2,.panel-head h3{margin:0;color:#11182a;font-size:16px;letter-spacing:-.02em}.panel-head p{margin:5px 0 0;color:#8490a5;font-size:11px}.panel-head a{color:#6658d9;text-decoration:none;font-size:11px;font-weight:800}.panel-pill{font-size:10px;font-weight:800;color:#64708a;background:#f1f4f8;border-radius:999px;padding:6px 9px}
.sales-overview-panel{min-height:280px}.sales-chart-empty{height:205px;margin-top:14px;position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#fafbfe 100%)}
.sales-chart-grid{position:absolute;inset:10px 0 18px;display:flex;flex-direction:column;justify-content:space-around}.sales-chart-grid i{display:block;border-top:1px solid #eef1f6}
.sales-chart-empty:after{content:"";position:absolute;left:6%;right:4%;bottom:28px;height:2px;background:#e5eaf1;border-radius:2px}
.sales-empty-message{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.sales-empty-message strong{font-size:15px;color:#34405a}.sales-empty-message span{max-width:390px;margin-top:6px;color:#8a95a9;font-size:11px;line-height:1.55}
.sales-hour-chart{height:214px;margin-top:14px;display:grid;grid-template-columns:repeat(24,minmax(10px,1fr));gap:4px;align-items:end;padding:22px 4px 0;border-bottom:1px solid #e5eaf1;overflow:hidden}.sales-hour{height:100%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;position:relative}.sales-hour i{display:block;min-height:3px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#8a7dff,#6558d9)}.sales-hour small{display:block;margin-top:5px;color:#8893a7;font-size:8px;text-align:center;white-space:nowrap}.sales-hour-value{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);display:none;padding:4px 6px;border-radius:5px;background:#11182a;color:#fff;font-size:9px;white-space:nowrap;z-index:3}.sales-hour:hover .sales-hour-value{display:block}.sales-height-5{height:5%}.sales-height-10{height:10%}.sales-height-15{height:15%}.sales-height-20{height:20%}.sales-height-25{height:25%}.sales-height-30{height:30%}.sales-height-35{height:35%}.sales-height-40{height:40%}.sales-height-45{height:45%}.sales-height-50{height:50%}.sales-height-55{height:55%}.sales-height-60{height:60%}.sales-height-65{height:65%}.sales-height-70{height:70%}.sales-height-75{height:75%}.sales-height-80{height:80%}.sales-height-85{height:85%}.sales-height-90{height:90%}.sales-height-95{height:95%}.sales-height-100{height:100%}
.sales-filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;gap:10px;align-items:end}.sales-filters label{margin:0;color:#657189;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.sales-filters input{margin-top:5px;text-transform:none;letter-spacing:0}.sales-filters button{height:38px}.table-scroll{overflow-x:auto}.migration-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:16px 0}.migration-summary p{margin:0;padding:10px;border-radius:10px;background:#f7f8fb;color:#68758e;font-size:11px}.migration-summary strong{display:block;color:#11182a;font-size:18px;margin-bottom:2px}
.migration-error{margin:10px 0 0;font-size:12px;max-width:260px}.history-scan-form{margin-top:10px}.history-scan-form .button{width:100%}.admin-shell td form select{min-width:190px}
.today-panel{min-height:280px}.today-list{display:flex;flex-direction:column;margin-top:12px}.today-list>div{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;padding:13px 0;border-bottom:1px solid #eef1f5}.today-list>div:last-child{border-bottom:0}.today-list p{margin:0}.today-list strong,.today-list small{display:block}.today-list strong{font-size:12px;color:#263149}.today-list small{font-size:10px;color:#8893a7;margin-top:3px;line-height:1.4}.activity-dot{width:9px;height:9px;border-radius:50%;margin-top:3px;background:#8a7dff;box-shadow:0 0 0 4px rgba(138,125,255,.09)}.activity-dot.good{background:#79d89b;box-shadow:0 0 0 4px rgba(121,216,155,.1)}.activity-dot.warn{background:#f9c65b;box-shadow:0 0 0 4px rgba(249,198,91,.11)}.activity-dot.accent{background:#8a7dff}
.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}.chart-panel{min-height:255px}.chart-row{display:grid;grid-template-columns:minmax(150px,190px) 1fr;gap:24px;align-items:center;margin-top:15px}
.donut-wrap{position:relative;width:168px;height:168px;margin:auto}.donut{width:168px;height:168px;display:block}.donut-centre{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut-centre strong{font-size:25px;line-height:1;color:#11182a;letter-spacing:-.04em}.donut-centre span{font-size:10px;color:#7f8ba1;margin-top:5px;text-transform:uppercase;letter-spacing:.08em;font-weight:750}
.chart-legend{display:flex;flex-direction:column;gap:2px}.chart-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eef1f5;font-size:11px;color:#66728a}.chart-legend>div:last-child{border-bottom:0}.chart-legend strong{font-size:11px;color:#28334a}.legend-dot{width:8px;height:8px;border-radius:50%;display:block}.tone1{background:#79e7b2}.tone2{background:#8a7dff}.tone3{background:#ffbf69}.tone4{background:#ff7b8d}.tone5{background:#4dc7d9}.tone6{background:#a6b4cf}
.tools-section{margin-top:6px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 14px}.section-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:850;color:#8b7cff}.section-head h2{margin:4px 0 0;font-size:22px;letter-spacing:-.035em}.section-head p{max-width:520px;margin:0;color:#7b879d;font-size:11px;line-height:1.5;text-align:right}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{position:relative;display:grid;grid-template-columns:42px 1fr 16px;gap:13px;align-items:start;padding:17px;background:#fff;border:1px solid #e4e9f1;border-radius:16px;text-decoration:none;color:#11182a;box-shadow:0 5px 18px rgba(22,32,51,.03);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.module-card:not(.module-static):hover{transform:translateY(-2px);border-color:#cfc9ff;box-shadow:0 10px 26px rgba(22,32,51,.07)}.module-icon{width:42px;height:42px;border-radius:12px;background:#f0edff;color:#6658d9;display:grid;place-items:center;font-size:17px;font-weight:850}.module-topline{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#657189;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.module-topline small{font-size:8px;color:#8c97aa;background:#f3f5f8;padding:3px 5px;border-radius:999px;letter-spacing:0;text-transform:none}.module-value{font-size:19px;font-weight:820;margin:6px 0 3px;letter-spacing:-.03em}.module-card p{margin:0;color:#8490a4;font-size:10px;line-height:1.45}.module-arrow{color:#9ba6b9;padding-top:13px}.module-static .module-arrow{display:none}
.locations-panel{margin-top:18px}.locations-panel h3{margin:5px 0}.locations-panel p{margin:0;color:#7c889d;font-size:12px}
.business-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.business-choice{background:#fff;border:1px solid #e4e9f1;border-radius:18px;padding:20px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;color:#11182a;text-decoration:none;box-shadow:0 6px 18px rgba(22,32,51,.04)}.business-monogram{width:48px;height:48px;border-radius:14px;background:#11182a;color:#8af2c4;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px}.business-choice strong,.business-choice small{display:block}.business-choice small{color:#77869a;margin-top:4px}.empty-state{background:#fff;border:1px dashed #cbd5df;border-radius:18px;padding:34px;text-align:center;color:#697789}.empty-state h2,.empty-state h3{color:#11182a;margin-top:0}
.business-shell .stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.business-shell .stat-card{border-color:#e4e9f1;border-radius:16px}.business-shell .stat-card strong{color:#11182a}.business-shell .button{background:#11182a}.business-shell .button.secondary{background:#eef1f6;color:#263149}
@media(max-width:1120px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr)}}
@media(max-width:860px){.business-sidebar{display:none}.business-mobilebar{display:flex;position:sticky;top:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;height:58px;padding:0 16px;background:#0f1628;color:#cbd4e6}.business-mobilebar a{color:#fff;text-decoration:none;font-size:12px}.mobile-brand{font-size:18px!important;font-weight:850}.business-mobilebar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#8f9bb4}.business-shell .container{margin:0;padding:24px 18px 50px}.dashboard-welcome{align-items:flex-start}.dashboard-user-chip{display:none}.dashboard-primary-grid,.dashboard-secondary-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}.section-head{align-items:flex-start;flex-direction:column}.section-head p{text-align:left}.chart-row{grid-template-columns:170px 1fr}.sales-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-filters button{grid-column:1/-1}.sales-hour-chart{gap:2px}.sales-hour small{font-size:0}.sales-hour small:after{content:"·";font-size:8px}}
@media(max-width:560px){.dashboard-welcome h1{font-size:27px}.headline-metrics{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr}.sales-overview-panel{min-height:260px}.section-head{margin-top:6px}}

/* 0.6.0 business team, subscriptions and full membership read hub */
.permission-group{margin:18px 0;padding:14px 16px;border:1px solid #e2e7ef;border-radius:13px}.permission-group legend{padding:0 6px;font-weight:800;color:#28334a}.permission-group .switchline{font-weight:600;margin:9px 0}.membership-search{display:grid;grid-template-columns:minmax(160px,1fr) minmax(240px,2fr) auto;gap:10px;align-items:end}.membership-search>input:only-of-type{grid-column:1/3}.membership-list{display:flex;flex-direction:column;margin-top:14px}.membership-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) auto 18px;gap:15px;align-items:center;padding:14px 4px;border-bottom:1px solid #edf0f5;text-decoration:none;color:#172033}.membership-row:hover{background:#fafbfe}.membership-row strong,.membership-row small,.membership-row b{display:block}.membership-row small{margin-top:4px;color:#7b879a;font-size:11px}.membership-row i{font-style:normal;color:#8b96a8}.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.membership-profile-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:10px 0 20px;padding:22px;border-radius:18px;background:#fff;border:1px solid #e4e9f1}.membership-profile-head h2{margin:4px 0}.membership-profile-head p{margin:0;color:#758198}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0}.detail-grid>div{padding:10px 0;border-bottom:1px solid #edf0f4}.detail-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8490a5}.detail-grid dd{margin:4px 0 0;font-weight:700;word-break:break-word}.stat-card{text-decoration:none;color:inherit}.stat-card:hover{border-color:#cbc5ff}button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.membership-search{grid-template-columns:1fr}.membership-search>input:only-of-type{grid-column:auto}.membership-row{grid-template-columns:1fr auto}.membership-row>span:nth-child(2){display:none}.membership-row i{display:none}.detail-grid{grid-template-columns:1fr}}


/* PubTools Cloud 0.3.3 — administrator Customer Hub preview */
.business-admin-overview{margin-bottom:26px}.customer-hub-preview-card{display:flex;flex-direction:column;justify-content:space-between;border-color:#cfd8e6;background:linear-gradient(145deg,#fff,#f7f9fc)}.customer-hub-preview-card .eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:850;color:#6658d9}.customer-hub-preview-card h2{margin:5px 0 8px}.customer-hub-preview-card small{display:block;margin-top:13px;line-height:1.5}.customer-preview-banner{position:sticky;top:12px;z-index:35;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-18px 0 24px;padding:12px 14px;border:1px solid #c9d4e7;border-radius:13px;background:#fff8d9;box-shadow:0 7px 22px rgba(31,43,65,.09)}.customer-preview-banner strong,.customer-preview-banner span{display:block}.customer-preview-banner strong{font-size:12px;color:#473900}.customer-preview-banner span{margin-top:3px;color:#74622a;font-size:10px;line-height:1.45}.customer-preview-banner .button{white-space:nowrap;background:#fff;color:#243047;border:1px solid #d7c77d}
@media(max-width:700px){.customer-preview-banner{top:68px;align-items:flex-start;flex-direction:column;margin:0 0 18px}.customer-preview-banner .button{width:100%;text-align:center}}

/* Sales Intelligence 0.4.3 — completed-sale drill-down */
.sale-detail-cards .stat-card small{display:block;margin-top:5px;color:#8792a6;font-size:10px}.sale-detail-cards .stat-card a{color:#6658d9;text-decoration:none}.sale-evidence>details>summary{cursor:pointer}.sale-evidence pre{max-height:420px;overflow:auto;margin:14px 0;padding:14px;border:1px solid #e5e9f0;border-radius:12px;background:#111827;color:#d8e1ef;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.sale-evidence details details{margin-top:14px;padding-top:12px;border-top:1px solid #edf0f4}

/* Sales Intelligence 0.4.4 — ETAL-only inventory / comparison toggle */
.sales-source-mode{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.source-toggle-form{margin:0}.source-toggle-form .switchline{margin:0}.source-toggle-form input[type=checkbox]{appearance:none;width:42px;height:23px;border:0;border-radius:999px;background:#cbd3df;position:relative;cursor:pointer;padding:0;transition:background .15s ease}.source-toggle-form input[type=checkbox]:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .15s ease}.source-toggle-form input[type=checkbox]:checked{background:#7769e8}.source-toggle-form input[type=checkbox]:checked:before{transform:translateX(19px)}

/* Sales Intelligence 0.4.4 — stored-data inventory */
.sales-inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:12px}.sales-inventory>div{border:1px solid var(--line,#dfe3e8);border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.45)}.sales-inventory span,.sales-inventory small{display:block}.sales-inventory strong{display:block;font-size:1.35rem;margin:2px 0}.sales-inventory small{opacity:.75;word-break:break-word}

/* 0.4.6 Development ICRTouch Lab */
.dev-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.dev-test{border:1px solid #e1e5ec;border-radius:12px;padding:14px;background:#fafbfc}.dev-test p{font-size:12px;margin:7px 0}.dev-test small{display:block;color:#77839a;line-height:1.45;min-height:38px}.dev-test form{margin-top:12px}.dev-result{max-width:760px;max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px;background:#101725;color:#e7edf8;border-radius:8px;padding:12px}

/* 0.8.1 focused Sales Intelligence pages and visible hour labels */
.sales-section-nav{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;padding:4px 0}.sales-section-nav a{white-space:nowrap;padding:9px 12px;border:1px solid #dfe5ee;border-radius:999px;background:#fff;color:#344058;text-decoration:none;font-size:12px;font-weight:750}.sales-section-nav a.active{background:#11182a;color:#fff;border-color:#11182a}.sales-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.sales-category-grid a{padding:18px;border:1px solid #e1e6ef;border-radius:15px;background:#fff;text-decoration:none;color:#172033}.sales-category-grid strong,.sales-category-grid span{display:block}.sales-category-grid span{margin-top:6px;color:#748096;font-size:12px;line-height:1.5}.sales-hour-scroll{overflow-x:auto;padding-bottom:8px}.sales-hour-scroll .sales-hour-chart{min-width:920px}.sales-hour b,.sales-hour em{display:block;margin-top:4px;color:#7b879a;font-size:9px;font-style:normal;white-space:nowrap}.sales-hour em{margin-top:1px}.sales-hour small{font-size:9px!important}.sales-hour small:after{content:none!important}

/* Membership card scanning: camera, USB scanner and manual fallback */
.membership-card-scanner{margin-top:12px}.membership-scanner-controls{display:flex;gap:8px;flex-wrap:wrap}.membership-camera-panel{margin-top:12px;padding:12px;border:1px solid #dfe5ee;border-radius:14px;background:#101725}.membership-camera-video{display:block;width:100%;max-height:420px;border-radius:10px;background:#000}.membership-camera-status{margin:8px 0 0;color:#dce5f5}.membership-scanner-result{margin-top:10px}.membership-scanner-result.success{color:#17643a}.membership-scanner-result.error{color:#9d2535}
@media(max-width:700px){.sales-category-grid{grid-template-columns:1fr}.sales-hour-scroll .sales-hour-chart{min-width:820px}}

/* 0.8.3 polished Sales Intelligence + membership scanner */
.sales-filter-shell{margin:16px 0 20px;padding:18px;border:1px solid #e3e8f0;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fbfcff 100%);box-shadow:0 14px 36px rgba(20,31,56,.06)}
.sales-filter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.sales-filter-head h2{margin:2px 0 4px;font-size:19px}.sales-filter-head p{margin:0;color:#77839a;font-size:12px}.eyebrow{display:block;color:#7165e8;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.sales-presets{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.sales-preset{padding:8px 11px;border:1px solid #dfe4ed;border-radius:999px;background:#fff;color:#46536b;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 2px 7px rgba(20,31,56,.03)}.sales-preset:hover,.sales-preset.active{border-color:#6f63e8;background:#6f63e8;color:#fff}
.sales-filters.sales-filters-primary{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:10px}.sales-filters-primary label{padding:0}.sales-filters-primary input,.sales-filters-primary select{width:100%;height:41px;border:1px solid #d9e0ea;border-radius:10px;background:#fff}.sales-filter-submit{height:41px;align-self:end;border-radius:10px;box-shadow:0 8px 18px rgba(82,69,210,.2)}.sales-filter-note{margin:12px 0 0;color:#8792a5;font-size:10px}
.sales-section-nav{padding:6px;border-radius:16px;background:#f2f4f8;gap:4px}.sales-section-nav a{border:0;background:transparent;border-radius:11px;padding:10px 13px}.sales-section-nav a.active{background:#fff;color:#2c3650;box-shadow:0 3px 11px rgba(25,34,55,.08)}
.sales-overview-hero{border-radius:20px;box-shadow:0 15px 38px rgba(20,31,56,.06)}.sales-overview-hero .sales-hour-chart{height:250px}.stat-grid .stat-card{border-radius:17px;box-shadow:0 8px 24px rgba(20,31,56,.045)}.stat-grid .stat-card strong{letter-spacing:-.025em}.sales-category-grid a{border-radius:18px;box-shadow:0 8px 24px rgba(20,31,56,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.sales-category-grid a:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(20,31,56,.08);border-color:#d0caf9}

.membership-card-scanner{overflow:hidden;border-radius:22px!important;padding:0!important;box-shadow:0 18px 45px rgba(17,25,46,.08)}.membership-scan-header{display:flex;gap:15px;align-items:flex-start;padding:22px 22px 12px}.membership-scan-header h2{margin:3px 0 5px;font-size:21px}.membership-scan-header p{margin:0;max-width:650px;color:#748197;font-size:12px;line-height:1.55}.membership-scan-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:linear-gradient(145deg,#776bf0,#574acb);color:#fff;font-size:24px;font-weight:800;box-shadow:0 9px 20px rgba(91,76,207,.25)}.membership-scan-actions{padding:6px 22px 18px;display:flex;gap:9px;flex-wrap:wrap}.membership-camera-launch{min-height:44px;padding:0 17px;border-radius:12px}.membership-camera-launch span{margin-right:7px}
.membership-camera-panel{margin:0 22px 20px;padding:12px;border:1px solid #26324b;border-radius:18px;background:#0c1322;box-shadow:0 16px 38px rgba(7,12,23,.22)}.membership-camera-panel[hidden]{display:none!important}.membership-camera-stage{position:relative;overflow:hidden;border-radius:13px;aspect-ratio:4/3;max-height:480px;background:radial-gradient(circle at 50% 35%,#1f2a40,#090e18 72%)}.membership-camera-video{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;background:#05070c}.membership-camera-guide{pointer-events:none;position:absolute;inset:12%;display:block}.membership-camera-guide i{position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}.membership-camera-guide i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:8px 0 0}.membership-camera-guide i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 8px 0 0}.membership-camera-guide i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 8px}.membership-camera-guide i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 8px}.membership-camera-guide span{position:absolute;left:50%;bottom:-35px;transform:translateX(-50%);width:max-content;max-width:90vw;padding:6px 9px;border-radius:999px;background:rgba(4,8,16,.7);color:#fff;font-size:10px;font-weight:750;white-space:nowrap}.membership-camera-status{margin:0;padding:0 22px 15px;color:#68758d;font-size:11px;font-weight:650}.membership-manual-divider{display:flex;align-items:center;gap:10px;padding:0 22px;color:#9aa4b6;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.membership-manual-divider:before,.membership-manual-divider:after{content:"";height:1px;flex:1;background:#e8ebf1}.membership-card-search{padding:14px 22px 22px;margin:0}.membership-card-search input{min-height:44px;border-radius:11px!important}.membership-card-search button{min-height:44px;border-radius:11px!important}.membership-scanner-result{padding:0 22px 16px;margin:0}.membership-scanner-result:empty{display:none}
@media(max-width:1050px){.sales-filters.sales-filters-primary{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:700px){.sales-filter-shell{padding:14px;border-radius:17px}.sales-filter-head{flex-direction:column}.sales-presets{justify-content:flex-start}.sales-filters.sales-filters-primary{grid-template-columns:1fr 1fr}.sales-filter-submit{grid-column:1/-1}.membership-scan-header{padding:18px 16px 10px}.membership-scan-actions{padding:6px 16px 16px}.membership-camera-panel{margin:0 12px 18px}.membership-camera-stage{aspect-ratio:3/4}.membership-manual-divider{padding:0 16px}.membership-card-search{padding:13px 16px 18px}.membership-camera-guide{inset:18% 8%}.membership-camera-guide span{white-space:normal;text-align:center;width:230px;bottom:-48px}}
@media(max-width:470px){.sales-filters.sales-filters-primary{grid-template-columns:1fr}.sales-filter-submit{grid-column:auto}.sales-preset{padding:7px 9px}.membership-scan-icon{width:38px;height:38px;flex-basis:38px}.membership-scan-header h2{font-size:19px}}


/* 0.8.4 membership tiers, timed offers and wallet preview */
.membership-benefit-hero{margin:0 0 16px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#151d31,#3d356f);color:#fff;box-shadow:0 18px 44px rgba(21,29,49,.16)}.membership-benefit-hero h2{margin:6px 0 18px;color:#fff}.membership-tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.membership-tier-grid>div{padding:17px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.08)}.membership-tier-grid strong{font-size:18px}.membership-tier-grid p{margin:6px 0 0;color:#d9def0;font-size:12px;line-height:1.55}.membership-offer-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.membership-offer-form label{font-size:11px;font-weight:750;color:#59667d}.membership-offer-form input,.membership-offer-form select,.membership-offer-form textarea{display:block;width:100%;margin-top:6px}.membership-offer-wide{grid-column:1/-1}.membership-offer-list{display:grid;gap:10px}.membership-offer-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e2e7ef;border-radius:15px;background:#fff}.membership-offer-card.inactive{opacity:.55}.membership-offer-card h4{margin:4px 0 5px;font-size:16px}.membership-offer-card p{margin:0 0 5px;color:#6c788d;font-size:12px}.membership-offer-card small{color:#8a95a7}.membership-wallet-benefit{display:flex;justify-content:space-between;gap:15px;margin:10px 0;padding:16px;border-radius:15px;background:#171f34;color:#fff}.membership-wallet-benefit span{color:#c9d1e2;font-size:11px}.membership-wallet-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.membership-wallet-offers article{padding:15px;border:1px solid #e3e8ef;border-radius:14px;background:#fbfcfe}.membership-wallet-offers strong,.membership-wallet-offers small{display:block}.membership-wallet-offers strong{margin:5px 0}.membership-wallet-offers small{color:#7f8a9d}
@media(max-width:780px){.membership-tier-grid,.membership-wallet-offers{grid-template-columns:1fr}.membership-offer-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.membership-offer-form{grid-template-columns:1fr}.membership-offer-wide{grid-column:auto}.membership-offer-card,.membership-wallet-benefit{align-items:flex-start;flex-direction:column}}

/* 0.8.5 membership product discount manager */
.membership-product-filter{display:grid;grid-template-columns:2fr 2fr auto;gap:12px;align-items:end;margin:0 0 16px}.membership-product-filter label{font-size:11px;font-weight:750;color:#59667d}.membership-product-filter select,.membership-product-filter input{display:block;width:100%;margin-top:6px}.ptc-si-answer{min-width:90px}.membership-itemiser-picker{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:0 0 16px}.membership-itemiser-picker label{font-size:11px;font-weight:750;color:#59667d}.membership-itemiser-picker select{display:block;margin-top:6px;min-width:190px}.membership-benefit-hero p{max-width:900px;color:#d9def0;line-height:1.55}@media(max-width:700px){.membership-product-filter{grid-template-columns:1fr}.ptc-si-answer{min-width:80px}}

/* v0.8.7 native Cloud till writer + product-sales intelligence */
.sales-insight-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:12px;margin:16px 0}.sales-insight-card h2{margin:8px 0 6px;font-size:20px}.sales-insight-card>strong{font-size:28px;letter-spacing:-.03em}.sales-insight-mix{min-height:170px}.sales-donut-wrap{display:flex;align-items:center;gap:18px;margin-top:8px}.sales-donut{width:132px;height:132px;flex:0 0 132px}.sales-donut-track{stroke:#edf0f5}.sales-donut-seg{stroke-linecap:butt}.sales-donut-food{stroke:#6f63e8}.sales-donut-drink{stroke:#31a36e}.sales-donut-other{stroke:#c9cfda}.sales-donut-legend{display:grid;gap:8px;font-size:11px;color:#6b768b}.sales-donut-legend span{display:flex;align-items:center;gap:6px}.sales-donut-legend i{width:9px;height:9px;border-radius:50%;background:#c9cfda}.sales-donut-legend .food i{background:#6f63e8}.sales-donut-legend .drink i{background:#31a36e}.sales-rank-bars{display:grid;gap:10px}.sales-rank-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px}.sales-rank-row>div{min-width:0}.sales-rank-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.sales-rank-row i{display:block;height:6px;margin-top:5px;border-radius:999px;background:linear-gradient(90deg,#7468e9,#9a91f4)}.sales-rank-row b{font-size:11px}.sales-rank-num{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#f0f2f7;color:#68758a;font-size:10px;font-weight:850}.sales-rank-width-5{width:5%}.sales-rank-width-10{width:10%}.sales-rank-width-15{width:15%}.sales-rank-width-20{width:20%}.sales-rank-width-25{width:25%}.sales-rank-width-30{width:30%}.sales-rank-width-35{width:35%}.sales-rank-width-40{width:40%}.sales-rank-width-45{width:45%}.sales-rank-width-50{width:50%}.sales-rank-width-55{width:55%}.sales-rank-width-60{width:60%}.sales-rank-width-65{width:65%}.sales-rank-width-70{width:70%}.sales-rank-width-75{width:75%}.sales-rank-width-80{width:80%}.sales-rank-width-85{width:85%}.sales-rank-width-90{width:90%}.sales-rank-width-95{width:95%}.sales-rank-width-100{width:100%}
@media(max-width:900px){.sales-insight-grid{grid-template-columns:1fr 1fr}.sales-insight-mix{grid-column:1/-1}}@media(max-width:600px){.sales-insight-grid{grid-template-columns:1fr}.sales-insight-mix{grid-column:auto}.sales-donut-wrap{align-items:flex-start;flex-direction:column}}

/* Cloud 0.8.13: one-PLU till-style editor */
.ptc-plu-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:28px 0 10px;padding-top:18px;border-top:1px solid var(--border,#dfe4ec)}
.ptc-plu-section-head h3{margin:2px 0 4px}
.ptc-price-level-grid th,.ptc-price-level-grid td{vertical-align:top;min-width:150px}
.ptc-price-level-grid th:first-child{min-width:140px}
.ptc-price-level-grid th small,.ptc-price-cell small,.ptc-raw-plu-table td small{display:block;margin-top:4px;color:var(--muted,#667085);font-weight:400}
.ptc-price-cell{display:block;margin:0}
.ptc-price-cell .code{display:block;font-size:11px;margin-bottom:4px;color:var(--muted,#667085)}
.ptc-price-cell input{width:100%;min-width:120px}
.ptc-raw-plu-table td:first-child strong,.ptc-raw-plu-table td:first-child small{display:block}
.ptc-raw-plu-table select{min-width:120px}
@media(max-width:800px){.ptc-price-level-grid th,.ptc-price-level-grid td{min-width:130px}}



/* Membership create/share — 0.8.16 */
.membership-member-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
.membership-member-create-form label{display:grid;gap:7px;font-weight:700}
.membership-member-create-form input,.membership-member-create-form select,.membership-join-link-row input{width:100%;box-sizing:border-box}
.membership-join-share{overflow:hidden}.membership-join-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.membership-join-link-row input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f7f8fa}
@media(max-width:760px){.membership-member-create-form{grid-template-columns:1fr}.membership-join-link-row{grid-template-columns:1fr}.membership-join-link-row .button{width:100%;text-align:center}}
/* 0.9.0 Staff & Rota */
.rota-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:6px;background:#eef1f6;border-radius:13px}.rota-tabs a{padding:8px 11px;border-radius:9px;color:#657189;text-decoration:none;font-size:11px;font-weight:800}.rota-tabs a.active{background:#fff;color:#11182a;box-shadow:0 2px 8px rgba(22,32,51,.08)}
.rota-toolbar,.rota-controls,.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.rota-toolbar h2{margin:4px 0 0}.rota-controls{align-items:center}.rota-inline-filter{display:flex;align-items:end;gap:8px}.rota-inline-filter label{margin:0}.rota-stats{margin-bottom:14px}.rota-board-wrap{overflow:auto;margin:0 0 18px;border:1px solid #e2e7ef;border-radius:16px;background:#fff}.rota-board{display:grid;grid-template-columns:190px repeat(7,minmax(155px,1fr));min-width:1275px}.rota-corner,.rota-day-head,.rota-person,.rota-cell{border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.rota-corner,.rota-day-head{position:sticky;top:0;z-index:5;background:#f7f8fb;padding:12px}.rota-corner{left:0;z-index:7}.rota-day-head strong,.rota-day-head span,.rota-day-head small,.rota-person strong,.rota-person small{display:block}.rota-day-head span,.rota-person small,.rota-corner small{margin-top:3px;color:#8490a4;font-size:10px}.rota-person{position:sticky;left:0;z-index:4;background:#fff;padding:13px;min-height:94px}.open-person{background:#f6f3ff}.rota-cell{position:relative;min-height:94px;padding:7px;background:#fff;transition:background .12s ease}.rota-cell.is-unavailable{background:repeating-linear-gradient(-45deg,#fff,#fff 9px,#f5f6f9 9px,#f5f6f9 18px)}.rota-cell.is-leave{background:#fff8e9}.rota-cell.is-drop-target{background:#eefaf5;box-shadow:inset 0 0 0 2px #6fd7a0}.open-cell{background:#faf8ff}.rota-state{margin:0 0 5px;padding:5px 7px;border-radius:8px;background:#f0f2f7;color:#667188;font-size:9px;font-weight:800;text-transform:uppercase}.leave-state{background:#fff0c9;color:#8b6515}
.rota-shift{position:relative;margin:0 0 6px;padding:8px;border:1px solid #dfe4ec;border-left:4px solid #aeb6c7;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(22,32,51,.04);cursor:grab}.rota-shift.published{border-left-color:#57bd86}.rota-shift.open-shift{border-left-color:#7c6ee8;background:#faf9ff}.rota-shift.is-dragging{opacity:.45}.rota-shift>strong,.rota-shift>small,.rota-shift>em,.rota-shift>.ack{display:block}.rota-shift>strong{font-size:11px;color:#172033}.rota-shift>small{margin-top:2px;color:#78859a;font-size:9px}.rota-shift>em{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#69758b;font-size:9px;font-style:normal}.rota-shift .ack{margin-top:5px;font-size:8px;font-weight:800}.rota-shift .ack.yes{color:#288657}.rota-shift .ack.no{color:#9a6b1c}.shift-actions{display:flex;gap:3px;flex-wrap:wrap;margin-top:6px}.shift-actions form{display:inline}.shift-actions button{min-height:24px;padding:3px 6px;border-radius:6px;font-size:8px}.rota-add{display:grid;place-items:center;width:25px;height:25px;margin:3px auto 0;padding:0;border:1px dashed #b8c1d0;border-radius:8px;background:transparent;color:#7b879b;font-size:16px}.rota-add:hover{background:#f1f3f7}.hidden-form{display:none!important}.rota-below{align-items:start}.switch-row,.venue-checks{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0}.switch-row label,.venue-checks label{margin:0;font-size:11px}.venue-checks strong{width:100%;font-size:11px}.shift-list{display:grid;gap:8px}.shift-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e4e8ef;border-radius:11px}.shift-list article strong,.shift-list article span{display:block}.shift-list article span{margin-top:3px;color:#78859a;font-size:10px}.rota-swap-form{display:flex;gap:5px;align-items:center}.rota-swap-form select{min-width:110px;max-width:150px;padding:5px}.rota-requests{margin-top:18px}
@media(max-width:760px){.rota-toolbar,.rota-controls,.panel-head{align-items:flex-start;flex-direction:column}.rota-controls .actions,.rota-toolbar .actions{width:100%;overflow:auto;flex-wrap:nowrap}.rota-board{grid-template-columns:145px repeat(7,145px);min-width:1160px}.rota-person{padding:10px}.shift-list article{align-items:flex-start;flex-direction:column}.rota-swap-form{width:100%;flex-wrap:wrap}.rota-swap-form select{max-width:none;flex:1}}
.rota-role-rates label{display:grid;grid-template-columns:minmax(130px,1fr) 130px;gap:8px;align-items:center;padding:6px 8px;border:1px solid #e6eaf0;border-radius:9px;background:#fafbfc}.rota-role-rates label input[type=number]{min-width:0;width:100%}
@media(max-width:600px){.rota-role-rates label{grid-template-columns:1fr}}
.rota-budget-form{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap}.rota-budget-form label{min-width:130px}.rota-budget-form input{min-width:115px}.bad-text{color:#b42318!important;font-weight:700}



/* 0.9.6 — clear shift states + phone-first rota */
.rota-status-legend{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:0 0 10px}.rota-key{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:10px;font-size:10px;font-weight:650}.rota-key i{width:9px;height:9px;border-radius:3px}.rota-key strong{font-size:10px;letter-spacing:.06em}.rota-key-live{background:#e1f7eb;color:#17633e}.rota-key-live i{background:#27a566}.rota-key-draft{background:#eceff3;color:#596575}.rota-key-draft i{background:#9aa4b2}.rota-draft-stat small{display:block;margin-top:4px;color:#7c8797;font-size:9px}
.rota-shift{padding:9px 8px 8px;border-width:1px;border-left-width:6px}.rota-shift.published{border-color:#8dd5ae;border-left-color:#239a5f;background:#e9f8f0;box-shadow:0 3px 9px rgba(35,154,95,.10)}.rota-shift.draft{border-color:#c9d0d9;border-left-color:#8e98a6;background:#edf0f3;box-shadow:none}.rota-shift.draft>strong{color:#4e5968}.rota-shift.draft>small,.rota-shift.draft>em{color:#7d8795}.rota-shift.open-shift.published{border-left-color:#7064d9;background:#f0efff}.rota-status{display:inline-flex!important;width:max-content;max-width:100%;margin:0 0 6px;padding:3px 6px;border-radius:999px;font-size:7px!important;font-weight:900!important;line-height:1;letter-spacing:.07em}.rota-status.live{background:#1f8f59;color:#fff}.rota-status.draft{background:#737e8c;color:#fff}.rota-shift.draft .shift-actions button{background:#667180}.rota-shift.draft .shift-actions form:nth-of-type(1) button{background:#1f8f59}.rota-mobile-board{display:none}.rota-editor-close{display:none}
@media(max-width:760px){
  .business-shell .container{padding:16px 12px 92px}.rota-tabs{position:sticky;top:62px;z-index:25;overflow-x:auto;flex-wrap:nowrap;margin:0 -4px 12px;padding:5px}.rota-tabs a{white-space:nowrap;flex:0 0 auto}.rota-toolbar{padding:14px}.rota-toolbar h2{font-size:20px}.rota-toolbar .actions{display:grid!important;grid-template-columns:1fr 1fr;overflow:visible!important}.rota-toolbar .actions .button{width:100%;text-align:center}.rota-stats{grid-template-columns:1fr 1fr!important;gap:8px}.rota-stats .stat-card{padding:12px}.rota-stats .stat-card strong{font-size:20px}.rota-controls{padding:12px}.rota-controls>.actions{display:grid!important;grid-template-columns:1fr;overflow:visible!important}.rota-controls>.actions form,.rota-controls>.actions button,.rota-controls>.actions select{width:100%}.rota-budget-form{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.rota-budget-form button{grid-column:1/-1}.rota-status-legend{display:grid;grid-template-columns:1fr;gap:6px}.rota-key{width:100%;padding:8px 10px}.rota-desktop-board{display:none!important}.rota-mobile-board{display:grid;gap:10px;margin:0 0 18px}.rota-mobile-day{overflow:hidden;border:1px solid #dfe5ec;border-radius:15px;background:#fff;box-shadow:0 2px 9px rgba(21,32,51,.04)}.rota-mobile-day-head{display:flex!important;position:static!important;align-items:center!important;justify-content:space-between!important;gap:12px;padding:12px 13px!important;background:#f6f8fa!important;color:#192334!important}.rota-mobile-day-head>div strong,.rota-mobile-day-head>div span{display:block}.rota-mobile-day-head>div strong{font-size:16px}.rota-mobile-day-head>div span{margin-top:1px;color:#778295;font-size:10px}.rota-mobile-count{padding:4px 7px;border-radius:999px;background:#e9edf3;color:#5f6b7d;font-size:9px;font-weight:850}.rota-mobile-day-body{display:grid;gap:9px;padding:10px}.rota-mobile-entry{display:grid;grid-template-columns:minmax(82px,100px) minmax(0,1fr);gap:8px;align-items:start}.rota-mobile-person{padding:8px 2px}.rota-mobile-person strong,.rota-mobile-person span{display:block;overflow:hidden;text-overflow:ellipsis}.rota-mobile-person strong{font-size:11px;color:#273247}.rota-mobile-person span{margin-top:2px;color:#8792a4;font-size:8px}.rota-mobile-entry .rota-shift{margin:0;min-width:0;padding:10px;border-radius:12px}.rota-mobile-entry .rota-shift>strong{font-size:15px}.rota-mobile-entry .rota-shift>small{font-size:10px;line-height:1.35}.rota-mobile-entry .rota-status{font-size:8px!important;padding:4px 7px}.rota-mobile-entry .shift-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.rota-mobile-entry .shift-actions>button,.rota-mobile-entry .shift-actions form,.rota-mobile-entry .shift-actions form button{width:100%;min-height:34px}.rota-mobile-empty{padding:18px;border:1px dashed #d7dde5;border-radius:11px;color:#8b95a4;text-align:center;font-size:11px}.rota-mobile-add{width:100%;text-align:center;min-height:40px}.rota-below{display:block}.rota-editor-panel{position:fixed;left:0;right:0;bottom:0;z-index:85;max-height:88vh;margin:0;padding:20px 14px 24px;border-radius:20px 20px 0 0;overflow:auto;transform:translateY(110%);transition:transform .22s ease;box-shadow:0 -18px 55px rgba(15,22,40,.25)}.rota-editor-panel.is-open{transform:translateY(0)}.rota-editor-close{display:grid;position:sticky;top:0;float:right;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;background:#e9edf2;color:#283448;font-size:22px;z-index:2}.rota-editor-panel h3{margin-top:6px}.rota-editor-panel .form-grid{grid-template-columns:1fr 1fr}.rota-editor-panel .switch-row{display:grid;gap:8px}.rota-editor-panel .switch-row label{padding:9px;border-radius:9px;background:#f4f6f8}.rota-editor-open{overflow:hidden}.rota-requests{overflow:auto}.rota-requests table{min-width:760px}
}
@media(max-width:430px){.rota-mobile-entry{grid-template-columns:1fr}.rota-mobile-person{padding:2px 2px 0}.rota-mobile-person strong{font-size:12px}.rota-editor-panel .form-grid,.rota-budget-form{grid-template-columns:1fr}.rota-budget-form button{grid-column:auto}}


/* 0.9.6 installable app shell */
.business-mobile-bottomnav{display:none}
@media(max-width:860px){.business-mobile-bottomnav{display:grid;position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:70;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(15,22,40,.96);box-shadow:0 12px 34px rgba(15,22,40,.28);backdrop-filter:blur(16px)}.business-mobile-bottomnav a{display:grid;place-items:center;gap:2px;min-width:0;padding:7px 2px;border-radius:12px;color:#9faac0;text-decoration:none}.business-mobile-bottomnav a span{font-size:16px;line-height:1}.business-mobile-bottomnav a b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.business-mobile-bottomnav a.active{background:#26324a;color:#fff}.business-shell .container{padding-bottom:100px}}

/* 1.0.0 — Cloud-native operational modules + kitchen board */
.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}
.kitchen-grid .panel{min-height:220px}
.kitchen-grid ul{margin:12px 0 18px;padding-left:22px}
.permission-group{margin:18px 0}
@media(max-width:720px){.kitchen-grid{grid-template-columns:1fr}.table-scroll table{min-width:760px}}
.event-admin .event-hero{background:linear-gradient(135deg,#14213d,#243b67);color:#fff}.event-admin .event-hero .muted{color:#eef}.event-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.event-tabs a{padding:10px 14px;border-radius:999px;text-decoration:none;background:#eef1f5;color:#1f2d3d;font-weight:700}.event-tabs a.active{background:#14213d;color:#fff}.event-admin textarea{min-height:110px}.event-admin .panel{border-radius:18px}

/* Membership v1.6 layout isolation */
.memberships-top,.membership-shell,.membership-shell *{box-sizing:border-box}.memberships-top{max-width:100%;clear:both}.memberships-top:before,.memberships-top:after{content:none!important}.membership-shell img,.memberships-top img{max-width:100%;height:auto}.membership-shell .panel{min-width:0}.membership-shell table{width:100%}
/* v1.8 Memberships production polish - intentionally scoped */
.membership-page{display:block;max-width:100%;min-width:0}.membership-page .memberships-top{padding:24px;margin:0 0 18px;border:1px solid #e2e7ef;border-radius:18px;background:#fff;overflow:hidden}.membership-page .memberships-top h2{margin:4px 0 6px}.membership-page .membership-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.membership-page .membership-stats>div{min-width:0;padding:14px;border:1px solid #e4e8ef;border-radius:14px;background:#f8fafc}.membership-page .membership-stats span,.membership-page .membership-stats strong{display:block}.membership-page .membership-stats span{font-size:11px;color:#667085}.membership-page .membership-stats strong{margin-top:4px;font-size:24px}.membership-page .membership-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.membership-page .membership-toolbar input,.membership-page .membership-toolbar select{max-width:100%;min-width:180px}.membership-page .table-scroll{max-width:100%;overflow-x:auto}.membership-page .code{word-break:break-all}@media(max-width:760px){.membership-page .membership-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-page .actions{align-items:stretch}.membership-page .actions>a,.membership-page .actions>form{max-width:100%}}@media(max-width:440px){.membership-page .membership-stats{grid-template-columns:1fr}.membership-page .membership-toolbar>*{width:100%}}
.ptc-media-preview{display:block;width:min(100%,320px);max-height:180px;object-fit:cover;margin:10px 0;border-radius:14px;border:1px solid #e1e6ef;background:#fff}.ptc-media-preview.icon{width:96px;height:96px;object-fit:cover}.ptc-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.ptc-offer-image-form{margin-top:10px;display:grid;gap:7px;max-width:280px}.ptc-offer-image-form input[type=file]{font-size:12px}
.ptc-offer-image-form{margin-top:10px;display:grid;gap:7px;max-width:280px}.ptc-offer-image-form input[type=file]{font-size:12px}


/* v2.2.0 CSP-safe polish */
.to-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.to-tabs a{padding:9px 13px;border-radius:999px;background:#eef2f7;text-decoration:none;font-weight:700}.to-tabs a.on{background:#111827;color:#fff}.to-order-card{border-left:5px solid #111827}.to-order-card.ready{border-color:#16a34a}.to-order-card.preparing{border-color:#f59e0b}.menu-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.qr-box{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#fff}.ptc-code-padded{padding:14px}.ptc-mt-16{margin-top:16px}.ptc-mt-10{margin-top:10px}.ptc-mt-8{margin-top:8px}.ptc-mt-6{margin-top:6px}.ptc-mt-45{margin-top:.45rem}.ptc-w-90{width:90px}.ptc-w-140{width:140px}.ptc-w-auto{width:auto!important}.ptc-w-80{max-width:80px}.ptc-flex-gap-6{display:flex;gap:6px}.ptc-event-cover-preview{max-width:100%;max-height:180px;border-radius:14px;margin:8px 0}.ptc-pre-wrap{white-space:pre-wrap}.ptc-pre-line{white-space:pre-line}.ptc-admin-note{margin-top:8px}.ptc-stack-gap{display:grid;gap:8px}.ptc-mobile-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.panel,.card{overflow-wrap:anywhere}.table-scroll{-webkit-overflow-scrolling:touch}.button,button,input,select,textarea{min-height:42px}.button.small,button.small{min-height:34px}.ptc-media-preview{object-fit:cover}.ptc-media-preview.icon{aspect-ratio:1/1}.notice{overflow-wrap:anywhere}
@media(max-width:850px){.menu-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start}.panel-head>.actions{width:100%}.panel-head>.actions .button,.panel-head>.actions button{flex:1 1 auto}.membership-toolbar{align-items:stretch}.membership-toolbar input,.membership-toolbar select,.membership-toolbar button{width:100%;max-width:none}.ptc-mobile-actions{display:grid;grid-template-columns:1fr 1fr}.ptc-mobile-actions .button,.ptc-mobile-actions button{width:100%}}
@media(max-width:560px){.ptc-mobile-actions{grid-template-columns:1fr}.actions{gap:8px}.actions>.button,.actions>button{max-width:100%}.table-scroll{margin-inline:-10px;padding-inline:10px}.dashboard-grid,.grid{gap:12px}.panel,.card{border-radius:16px}.ptc-event-cover-preview{max-height:150px}}

/* v2.1.2 membership till writer restoration */

/* v2.2 customer memberships + Till Offer Builder */
.ptc-member-account-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.ptc-member-account-card{padding:22px;border:1px solid var(--border,#dfe4ec);border-radius:18px;background:#fff}.ptc-member-account-hero{padding:26px;border-radius:22px;background:linear-gradient(135deg,#121a2d,#293454);color:#fff}.ptc-member-account-hero h1{margin:6px 0}.ptc-member-account-actions{display:flex;gap:10px;flex-wrap:wrap}.ptc-member-account-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.ptc-member-account-status>div{padding:14px;border-radius:14px;background:rgba(255,255,255,.1)}.ptc-member-account-status span,.ptc-member-account-status strong{display:block}.ptc-tob-hero{padding:24px;border-radius:20px;background:linear-gradient(135deg,#171f34,#2d3858);color:#fff;margin-bottom:18px}.ptc-tob-hero h2{margin:6px 0}.ptc-tob-permission-note{padding:12px 14px;border-radius:12px;background:#f4f6fa;color:#566174;margin:12px 0}@media(max-width:800px){.ptc-member-account-grid{grid-template-columns:1fr}.ptc-member-account-status{grid-template-columns:1fr}}

.ptc-itemiser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.ptc-itemiser-card{padding:14px;border:1px solid var(--border,#dfe4ec);border-radius:14px;background:#fff}.ptc-itemiser-card>strong,.ptc-itemiser-card>span{display:block;margin-bottom:8px}.ptc-itemiser-card .actions{gap:6px}.ptc-itemiser-card form{margin:0}

/* v2.3.0 Web SDK release; preserves v2.2.0 CSP-safe polish */
/* v2.7 Customer App Builder */
.app-builder-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.app-builder-head h2{margin:5px 0 8px;font-size:30px}.app-builder-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:24px;align-items:start}.app-builder-form{padding:24px}.app-builder-form h3{margin:26px 0 10px}.app-builder-form small{color:#7a8798}.app-slug-row{display:flex;align-items:center;border:1px solid #dce3ea;border-radius:12px;overflow:hidden;background:#f7f9fb}.app-slug-row span{padding:0 12px;color:#6f7b8d;font-size:12px;white-space:nowrap}.app-slug-row input{border:0!important;border-left:1px solid #dce3ea!important;border-radius:0!important;margin:0!important}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-row{display:flex!important;gap:10px;align-items:center}.check-row input{width:auto!important;margin:0!important}.app-module-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-module-choice{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:14px;border:1px solid #e0e6ec;border-radius:15px;background:#fff}.app-module-choice>input{width:auto!important;margin:0!important}.app-module-choice>b{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f0f4f6;color:#27323f}.app-module-choice span strong,.app-module-choice span small{display:block}.app-module-choice span small{margin-top:3px;font-size:10px}.app-module-choice.unavailable{opacity:.55;background:#f7f8f9}.upload-preview{margin:10px 0 18px;display:flex;align-items:center;gap:12px}.upload-preview img{width:72px;height:72px;border-radius:15px;object-fit:contain;background:#f1f4f5}.upload-preview.hero img{width:180px;height:100px;object-fit:cover}.app-builder-preview{position:sticky;top:18px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.preview-toolbar button{border:0;background:#eef2f4;padding:7px 10px;border-radius:8px;margin-left:4px;font-size:11px}.app-device{margin:0 auto;background:#17211f;border:10px solid #17211f;box-shadow:0 22px 60px rgba(18,30,28,.18);transition:.25s;width:330px;border-radius:36px}.app-device.tablet{width:520px;max-width:100%;border-radius:28px}.app-device.desktop{width:100%;border-radius:18px}.app-device-screen{min-height:650px;background:var(--preview-bg,#f4f7f6);border-radius:26px;overflow:hidden;position:relative;padding-bottom:68px}.app-device.tablet .app-device-screen,.app-device.desktop .app-device-screen{border-radius:18px}.preview-hero{height:210px;background:linear-gradient(135deg,var(--preview-primary),color-mix(in srgb,var(--preview-primary) 65%,#000));position:relative;overflow:hidden;color:white}.preview-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.preview-hero-copy{position:absolute;inset:auto 18px 18px;z-index:1}.preview-logo{width:58px;height:58px;border-radius:16px;object-fit:contain;background:#fff;padding:6px}.preview-hero-copy small{display:block;margin-top:9px;opacity:.8}.preview-hero-copy h3{font-size:26px;margin:3px 0}.preview-hero-copy p{margin:0;opacity:.88;font-size:12px}.preview-body{padding:16px}.preview-card,.preview-offer{background:#fff;border-radius:18px;padding:16px;box-shadow:0 7px 22px rgba(28,40,38,.08);margin-bottom:12px}.preview-card small,.preview-offer small{display:block;color:#788582}.preview-card strong,.preview-offer strong{display:block;margin:5px 0}.preview-progress{height:9px;background:#e6ece9;border-radius:999px;overflow:hidden;margin-top:10px}.preview-progress i{display:block;width:60%;height:100%;background:var(--preview-primary)}.preview-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.preview-actions span{font-size:10px;text-align:center;padding:10px 3px;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(28,40,38,.06)}.preview-offer b{color:var(--preview-primary);font-size:10px;text-transform:uppercase}.preview-nav{position:absolute;left:0;right:0;bottom:0;height:62px;background:rgba(255,255,255,.95);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;border-top:1px solid #e5eae8}.preview-nav span{text-align:center;color:#40504d}.preview-nav small{display:block;font-size:9px}.app-share-card{margin-top:16px;text-align:center}.app-share-card .code{overflow-wrap:anywhere;margin:8px 0}.app-qr svg{max-width:180px;height:auto}@media(max-width:1050px){.app-builder-layout{grid-template-columns:1fr}.app-builder-preview{position:static}.app-device.desktop{max-width:700px}}@media(max-width:620px){.app-builder-head{display:block}.app-module-picker,.form-grid.two{grid-template-columns:1fr}.app-slug-row{display:block}.app-slug-row span{display:block;padding:8px 12px}.app-slug-row input{border-left:0!important;border-top:1px solid #dce3ea!important}.app-device{width:min(330px,100%)}}

.staff-preview-stage{display:flex;justify-content:center;padding:22px 0 40px}.staff-preview-device{width:min(100%,430px);min-height:680px;border:1px solid #dfe5ee;border-radius:30px;background:#f7f9fc;box-shadow:0 22px 55px rgba(25,38,61,.14);overflow:hidden}.staff-preview-stage.device-tablet .staff-preview-device{width:min(100%,760px)}.staff-preview-stage.device-desktop .staff-preview-device{width:100%;max-width:1180px;border-radius:18px}.staff-preview-head{display:flex;gap:14px;align-items:center;padding:22px;background:#fff;border-bottom:1px solid #e7ebf1}.staff-preview-head h2,.staff-preview-head p{margin:2px 0}.staff-preview-head small{letter-spacing:.12em;color:#68758a;font-weight:700}.staff-preview-device .tools-section{padding:20px}.staff-preview-device .module-grid{grid-template-columns:1fr}.staff-preview-stage.device-tablet .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-preview-stage.device-desktop .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-preview-device .module-card{display:flex;gap:13px;background:#fff;border:1px solid #e4e9f0;border-radius:18px;padding:16px}.staff-preview-device .module-card h3,.staff-preview-device .module-card p{margin:0 0 5px}.staff-preview-permissions{margin:0 20px 22px}

/* v2.8.16 Food Safety staff workflow */
.fs-staff-home{background:linear-gradient(135deg,#fff,#f7fbf8);border-color:#dce9df}.fs-progress-wrap{margin:16px 0 4px}.fs-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.fs-progress-head span{font-size:12px;color:#667486;font-weight:750}.fs-progress{width:100%;height:13px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e8edf0}.fs-progress::-webkit-progress-bar{background:#e8edf0;border-radius:999px}.fs-progress::-webkit-progress-value{background:linear-gradient(90deg,#23865f,#35aa79);border-radius:999px}.fs-progress::-moz-progress-bar{background:linear-gradient(90deg,#23865f,#35aa79);border-radius:999px}.fs-area-dashboard{margin-top:16px}.fs-area-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.fs-area-head h2{margin:3px 0}.fs-area-percent{display:grid;place-items:center;min-width:58px;height:58px;border-radius:18px;background:#e9f7ef;color:#187149;font-size:18px}.fs-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.fs-task-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #dfe6e4;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 6px 18px rgba(23,44,35,.04);transition:.16s ease}.fs-task-card:hover{transform:translateY(-1px);border-color:#b8d4c4;box-shadow:0 10px 24px rgba(23,44,35,.07)}.fs-task-card.complete{background:#f0faf4;border-color:#c7e8d4}.fs-task-card.later{background:#f7f8fa;color:#687487}.fs-task-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:11px;background:#edf2f0;font-weight:900}.fs-task-card.complete .fs-task-icon{background:#d9f2e3;color:#116e43}.fs-task-card strong,.fs-task-card small{display:block}.fs-task-card small{margin-top:3px;color:#748194}.fs-form-shell{max-width:880px;margin:0 auto}.fs-check-item{margin:12px 0;padding:18px}.fs-check-item>strong{display:block;font-size:16px;margin-bottom:12px}.fs-result{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.fs-result label{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #dfe5e9;border-radius:999px;background:#f8faf9;font-weight:750}.fs-result input{min-height:auto;width:auto}.fs-attestation{margin:18px 0;padding:20px;border:2px solid #d6e3db;border-radius:18px;background:#fbfdfb}.fs-attestation h3{margin:0 0 8px}.fs-attestation p{color:#526174;line-height:1.6}.fs-attest-check{display:flex;align-items:flex-start;gap:10px;padding:13px;border-radius:13px;background:#f0f7f3}.fs-attest-check input{width:auto;min-height:auto;margin-top:4px}.fs-fast-warning{margin-top:14px}.fs-fast-warning label{display:block;margin-top:10px}.fs-fast-warning input[type=checkbox]{width:auto;min-height:auto}.fs-submit{width:100%;min-height:50px;font-size:15px}.fs-exception-panel table td{vertical-align:top}.fs-exception-panel small{color:#748194}
@media(max-width:700px){.fs-task-grid{grid-template-columns:1fr}.fs-area-percent{min-width:52px;height:52px}.fs-check-item{padding:15px}.fs-result label{flex:1 1 30%;justify-content:center}.fs-progress-head{align-items:flex-start;flex-direction:column;gap:3px}}

/* v2.8.22 Reservations parity & admin polish */
.reservation-settings{margin:18px 0 26px}
.reservation-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 14px;padding:18px;border:1px solid #dfe6ea;border-radius:16px;background:linear-gradient(135deg,#f8fafb,#fff)}
.reservation-settings-head h3{margin:3px 0 6px;font-size:24px}.reservation-health{min-width:210px;padding:13px 15px;border:1px solid #d7e3df;border-radius:14px;background:#f0f7f4}.reservation-health strong,.reservation-health span{display:block}.reservation-health strong{font-size:18px;color:#216848}.reservation-health span{margin-top:4px;color:#667486;font-size:11px}
.settings-card{margin:12px 0;border:1px solid #dfe5ea;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(22,34,50,.035)}
.settings-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;background:#f9fafb}.settings-card>summary::-webkit-details-marker{display:none}.settings-card>summary span{font-weight:850;color:#243146}.settings-card>summary small{color:#748195;font-weight:600}.settings-card[open]>summary{border-bottom:1px solid #e5e9ed}.settings-body{padding:18px}
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-card .switchline{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #e2e7eb;border-radius:11px;background:#fafbfc;font-weight:700}.settings-card .switchline input{width:auto;min-height:auto;margin-top:3px}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-day{border:1px solid #dfe5e9;border-radius:14px;background:#fbfcfd;overflow:hidden}.schedule-day>header{padding:10px 12px;border-bottom:1px solid #e3e7eb;background:#f3f6f8}.schedule-day>header .switchline{padding:0;border:0;background:transparent}.schedule-session{display:grid;grid-template-columns:72px minmax(120px,1.4fr) minmax(94px,.8fr) minmax(94px,.8fr) minmax(96px,.8fr);gap:8px;align-items:end;padding:10px 11px;border-bottom:1px solid #edf0f2}.schedule-session:last-child{border-bottom:0}.schedule-session label{margin:0;font-size:10px}.schedule-session input,.schedule-session select{min-height:38px;padding:8px 9px;margin-top:4px}.schedule-session .session-on{display:flex;align-items:center;gap:6px;padding-bottom:9px}.schedule-session .session-on input{width:auto;min-height:auto;margin:0}.schedule-session .session-on span{font-size:10px;font-weight:800}
.exception-table{max-height:620px}.exception-table input,.exception-table select{min-width:125px;margin:0;padding:8px}.exception-table td:nth-child(2) input{min-width:220px}
.settings-savebar{position:sticky;bottom:12px;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0;padding:13px 14px;border:1px solid #cdd9e1;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(28,38,52,.12);backdrop-filter:blur(8px)}.settings-savebar span{color:#6b788a;font-size:11px}
.availability-preview{margin-top:18px}.availability-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.availability-preview-day{padding:10px;border:1px solid #dfe5e8;border-radius:11px;background:#fff}.availability-preview-day strong,.availability-preview-day span,.availability-preview-day small{display:block}.availability-preview-day strong{font-size:12px}.availability-preview-day span{margin-top:3px;font-size:11px;font-weight:750}.availability-preview-day small{margin-top:4px;color:#7a8697;font-size:9px;line-height:1.35}.availability-preview-day.open{border-color:#cbe3d4;background:#f3faf6}.availability-preview-day.open span{color:#24704a}.availability-preview-day.closed{background:#f7f8f9;color:#697587}
.reservation-public .reservation-date-picker{display:flex;align-items:end;gap:10px;margin-bottom:16px}.reservation-public .reservation-date-picker label{flex:1;margin:0}.reservation-public .reservation-date-picker button{margin-bottom:0}
@media(max-width:1100px){.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-grid{grid-template-columns:1fr}.availability-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.reservation-settings-head{display:block}.reservation-health{margin-top:12px;min-width:0}.form-grid.three{grid-template-columns:1fr}.settings-card>summary{display:block}.settings-card>summary small{display:block;margin-top:4px}.schedule-session{grid-template-columns:1fr 1fr}.schedule-session .session-on{grid-column:1/-1;padding-bottom:0}.schedule-session label:nth-child(2){grid-column:1/-1}.availability-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-savebar{position:static;display:block}.settings-savebar button{width:100%}.settings-savebar span{display:block;margin-top:8px}.reservation-public .reservation-date-picker{display:block}.reservation-public .reservation-date-picker button{width:100%;margin-top:8px}}

/* Reservations 2.8.22 email-template editor */
.reservation-settings .email-template-row{margin:18px 0;padding:18px;border:1px solid var(--line,#dfe3e8);border-radius:16px;background:rgba(255,255,255,.72)}
.reservation-settings .email-template-row h4{margin:0 0 12px}.reservation-settings .email-template-row textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}
.reservation-status-action{display:inline-flex;align-items:center;gap:6px;margin:0 6px 6px 0;vertical-align:middle}.reservation-status-action select{width:auto;min-width:150px;min-height:34px;padding:5px 28px 5px 8px;font-size:12px}.reservation-status-action .button{white-space:nowrap}
@media(max-width:760px){.reservation-status-action{display:flex;align-items:stretch}.reservation-status-action select{flex:1;min-width:0}.reservation-status-action .button{flex:0 0 auto}}

/* 2.8.26 — premium Customer App Builder */
.app-builder-head{padding:24px 26px;border:1px solid #e2e8e6;border-radius:22px;background:linear-gradient(135deg,#fff,#f6f9f8);box-shadow:0 14px 34px rgba(22,42,49,.06)}
.app-builder-form{border-radius:22px!important;box-shadow:0 18px 42px rgba(22,42,49,.07)!important}
.app-branding-section{margin-top:24px;padding:22px;border:1px solid #e2e8e6;border-radius:20px;background:linear-gradient(180deg,#fbfcfc,#f7faf9)}
.section-heading h3{margin:3px 0 6px!important;font-size:22px}.section-heading p{margin:0;line-height:1.55}
.app-image-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.app-image-guide article{padding:14px;border:1px solid #dfe7e4;border-radius:15px;background:#fff}.app-image-guide b,.app-image-guide strong,.app-image-guide small{display:block}.app-image-guide b{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6f7e7a}.app-image-guide strong{margin:5px 0;font-size:13px}.app-image-guide small{line-height:1.45;color:#7a8784}.app-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-upload-card{padding:14px;border:1px solid #dfe6e4;border-radius:16px;background:#fff}.app-upload-card.wide{grid-column:1/-1}.app-upload-card label>span,.app-upload-card label>small{display:block}.app-upload-card label>span{font-weight:850}.app-upload-card label>small{margin:3px 0 10px}.app-upload-card input[type=file]{padding:10px;background:#f7f9f8;border:1px dashed #cbd8d4;border-radius:11px}.app-module-choice{transition:.16s ease;cursor:pointer}.app-module-choice:hover{transform:translateY(-1px);border-color:#aebfba;box-shadow:0 8px 20px rgba(22,42,49,.06)}.app-builder-preview{padding:14px;border-radius:22px;background:linear-gradient(180deg,#f8faf9,#eef4f2)}.preview-toolbar{padding:2px 4px}.app-share-card{border-radius:18px!important}.preview-hero{height:230px}.preview-hero>img{opacity:.5}.preview-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.45))}.preview-hero-copy{z-index:2}.preview-logo{width:64px;height:64px;border-radius:18px}.preview-card,.preview-offer{border:1px solid rgba(30,55,49,.06)}
@media(max-width:760px){.app-image-guide,.app-upload-grid{grid-template-columns:1fr}.app-upload-card.wide{grid-column:auto}.app-builder-head{padding:18px}}

/* 2.8.27 — premium daily operations dashboard */
.ops-attention{margin:4px 0 18px;border-radius:22px;background:linear-gradient(135deg,#151c30,#202944);padding:18px;color:#fff;box-shadow:0 18px 45px rgba(18,27,47,.14)}.ops-attention-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ops-attention-head strong{background:rgba(255,255,255,.1);padding:6px 9px;border-radius:999px}.ops-attention-list{display:grid;gap:8px}.ops-alert{display:grid;grid-template-columns:10px 1fr 18px;gap:11px;align-items:center;padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.07)}.ops-alert:hover{background:rgba(255,255,255,.11)}.ops-alert-dot{width:8px;height:8px;border-radius:50%;background:#f5c45e;box-shadow:0 0 0 4px rgba(245,196,94,.12)}.ops-alert.danger .ops-alert-dot{background:#ff7777;box-shadow:0 0 0 4px rgba(255,119,119,.12)}.ops-alert strong,.ops-alert small{display:block}.ops-alert strong{font-size:12px}.ops-alert small{margin-top:3px;color:#aeb8ce;font-size:10px;line-height:1.4}.ops-alert b{font-size:16px;color:#9ba8c2}
.ops-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.ops-kpi{position:relative;display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;padding:17px;background:linear-gradient(160deg,#fff,#fafbfe);border:1px solid #e5e9f1;border-radius:19px;color:#11182a;text-decoration:none;box-shadow:0 8px 25px rgba(22,32,51,.045);overflow:hidden}.ops-kpi:after{content:"";position:absolute;inset:auto -30px -45px auto;width:90px;height:90px;border-radius:50%;background:rgba(105,90,220,.045)}.ops-kpi:hover{transform:translateY(-1px);border-color:#d5cff8}.ops-kpi.needs-action{border-color:#f0c6c6;background:linear-gradient(160deg,#fff,#fff9f9)}.ops-kpi-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f0edff;color:#6557d7;font-size:18px;font-weight:900}.ops-kpi small{display:block;color:#8a95a8;font-size:8px;font-weight:900;letter-spacing:.1em}.ops-kpi strong{display:block;font-size:24px;line-height:1.1;margin:4px 0 2px;letter-spacing:-.04em}.ops-kpi p{margin:0;color:#7f8ba0;font-size:10px}
.ops-main-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;margin-bottom:18px}.ops-main-grid .panel{margin:0;border-radius:22px}.ops-timeline{margin-top:7px}.ops-timeline-row{display:grid;grid-template-columns:44px 10px 1fr 14px;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid #eef1f5;color:#172033;text-decoration:none}.ops-timeline-row:last-child{border-bottom:0}.ops-timeline-row time{font-size:11px;font-weight:850;color:#5f6b80}.ops-line-dot{width:8px;height:8px;border-radius:50%;background:#aab4c6}.ops-line-dot.accent{background:#7b6ee5}.ops-line-dot.sport{background:#52b886}.ops-line-dot.order{background:#e4a93d}.ops-line-dot.rota{background:#5c8fd8}.ops-line-copy small,.ops-line-copy strong,.ops-line-copy em{display:block}.ops-line-copy small{font-size:7px;letter-spacing:.1em;color:#9aa5b7;font-weight:900}.ops-line-copy strong{font-size:11px;margin-top:2px}.ops-line-copy em{font-style:normal;font-size:9px;color:#8490a4;margin-top:2px}.ops-timeline-row>b{color:#a0aabd}.ops-empty{padding:28px 10px;text-align:center;color:#7f8ba0}.ops-empty strong,.ops-empty span{display:block}.ops-empty strong{color:#30394c;margin-bottom:5px;font-size:12px}.ops-empty span{font-size:10px}
.ops-sport-list{margin-top:7px}.ops-sport-row{display:grid;grid-template-columns:72px minmax(0,1fr) 150px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eef1f5}.ops-sport-row:last-child{border-bottom:0}.ops-sport-time strong,.ops-sport-time small{display:block}.ops-sport-time strong{font-size:15px}.ops-sport-time small{font-size:8px;color:#8b96a9;margin-top:3px;line-height:1.3}.ops-sport-fixture{display:flex;align-items:center;gap:7px;min-width:0}.ops-team{display:flex;align-items:center;gap:6px;min-width:0}.ops-team span:last-child{font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.ops-team-badge,.ops-team-fallback{width:27px;height:27px;border-radius:8px;background:#f3f5f8;display:grid;place-items:center;flex:0 0 27px}.ops-team-badge img{max-width:21px;max-height:21px;object-fit:contain}.ops-team-fallback{font-size:7px;font-weight:900;color:#667085}.ops-vs{font-size:7px;font-weight:900;color:#a0a9b8}.ops-sport-meta{text-align:right}.ops-sport-meta strong,.ops-sport-meta small{display:block}.ops-sport-meta strong{font-size:9px}.ops-sport-meta small{font-size:8px;color:#8b96a9;margin-top:4px}
.ops-section{margin:24px 0 18px}.ops-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.ops-pulse-card{display:grid;grid-template-columns:38px 1fr 14px;gap:10px;align-items:center;min-height:88px;padding:14px;border:1px solid #e5e9f1;border-radius:17px;background:#fff;color:#182034;text-decoration:none;box-shadow:0 5px 18px rgba(22,32,51,.025)}.ops-pulse-card:hover{border-color:#d5cff8;box-shadow:0 9px 24px rgba(22,32,51,.055)}.ops-pulse-icon{width:38px;height:38px;border-radius:12px;background:#f4f2ff;color:#6658d9;display:grid;place-items:center;font-weight:900}.ops-pulse-card small,.ops-pulse-card strong,.ops-pulse-card em{display:block}.ops-pulse-card small{font-size:7px;letter-spacing:.08em;color:#98a2b3;font-weight:900}.ops-pulse-card strong{font-size:13px;margin:3px 0}.ops-pulse-card em{font-size:8px;color:#8792a5;font-style:normal;line-height:1.35}.ops-pulse-card>b{font-size:10px;color:#a5afbf}.ops-next-strip{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(100px,.55fr));gap:12px;align-items:center;padding:18px 20px;margin:20px 0;border-radius:20px;background:linear-gradient(135deg,#f4f2ff,#f8fafc);border:1px solid #e4e0fa}.ops-next-strip h3{margin:4px 0 0;font-size:14px}.ops-next-stat{padding-left:15px;border-left:1px solid #ddd8f5}.ops-next-stat strong,.ops-next-stat span{display:block}.ops-next-stat strong{font-size:20px}.ops-next-stat span{font-size:8px;color:#7d889b;margin-top:2px}.dashboard-sales-strip{margin:18px 0}.dashboard-sales-strip .sales-overview-panel{margin:0;min-height:250px}
.staff-preview-ops{padding:16px;background:#f7f9fc}.staff-preview-ops .headline-metrics,.staff-preview-ops .dashboard-sales-strip,.staff-preview-ops .ops-next-strip{display:none}.staff-preview-ops .ops-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-preview-ops .ops-main-grid{grid-template-columns:1fr}.staff-preview-ops .ops-pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-preview-stage.device-phone .staff-preview-ops .ops-sport-row{grid-template-columns:56px 1fr}.staff-preview-stage.device-phone .staff-preview-ops .ops-sport-meta{grid-column:2;text-align:left;margin-top:-7px}
@media(max-width:1120px){.ops-overview-grid,.ops-pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-main-grid{grid-template-columns:1fr}}
@media(max-width:700px){.ops-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ops-kpi{grid-template-columns:36px 1fr;padding:13px;gap:9px;border-radius:16px}.ops-kpi-icon{width:36px;height:36px;border-radius:11px}.ops-kpi strong{font-size:19px}.ops-main-grid .panel{border-radius:18px}.ops-sport-row{grid-template-columns:58px minmax(0,1fr);gap:9px}.ops-sport-meta{grid-column:2;text-align:left;margin-top:-8px}.ops-pulse-grid{grid-template-columns:1fr 1fr;gap:8px}.ops-pulse-card{grid-template-columns:34px 1fr 10px;min-height:78px;padding:11px}.ops-pulse-icon{width:34px;height:34px}.ops-next-strip{grid-template-columns:1fr 1fr}.ops-next-strip>div:first-child{grid-column:1/-1}.ops-next-stat{padding-left:0;border-left:0}.ops-next-stat:last-child{display:none}.ops-attention{border-radius:18px;padding:14px}}
@media(max-width:430px){.ops-pulse-grid{grid-template-columns:1fr}.ops-team span:last-child{max-width:72px}.ops-overview-grid{grid-template-columns:1fr 1fr}.ops-kpi p{font-size:8px}.staff-preview-ops .ops-pulse-grid{grid-template-columns:1fr}}
.staff-preview-ops a{pointer-events:none;cursor:default}
.ops-handover{margin:20px 0;border-radius:22px}.ops-handover-list{display:grid;gap:9px}.ops-handover-note{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 15px;border-radius:15px;background:#f8fafc;border:1px solid #e8ecf2;border-left:4px solid #b6bfce}.ops-handover-note.important{border-left-color:#e5aa42;background:#fffaf1}.ops-handover-note.urgent{border-left-color:#e36b6b;background:#fff7f7}.ops-handover-note small,.ops-handover-note strong,.ops-handover-note em{display:block}.ops-handover-note small{font-size:7px;letter-spacing:.1em;font-weight:900;color:#8d98aa}.ops-handover-note strong{font-size:12px;margin:4px 0}.ops-handover-note p{font-size:10px;line-height:1.5;color:#5f6b80;margin:0 0 5px}.ops-handover-note em{font-style:normal;font-size:8px;color:#98a2b3}.ops-handover-actions{display:flex;align-items:center;gap:6px}.ops-handover-actions form{margin:0}.ops-handover-add{margin-top:12px;border-top:1px solid #edf0f5;padding-top:12px}.ops-handover-add summary{cursor:pointer;font-size:10px;font-weight:850;color:#6558d7}.ops-handover-add form{margin-top:12px}.staff-preview-ops .ops-handover-add{display:none}@media(max-width:700px){.ops-handover-note{grid-template-columns:1fr}.ops-handover-actions{justify-content:flex-start}}

/* 2.8.30 Customer App hamburger menu order */
.app-menu-order-card{margin:26px 0 22px;padding:18px;border:1px solid #dfe6e3;border-radius:18px;background:#f8fbfa}.app-menu-order-card h3{margin:4px 0 6px}.app-menu-sort{display:grid;gap:8px;margin-top:14px}.app-menu-sort-item{display:grid;grid-template-columns:40px 38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #dbe4e0;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(20,35,30,.035);transition:transform .15s,opacity .15s,border-color .15s}.app-menu-sort-item.dragging{opacity:.48;border-color:#315754;transform:scale(.99)}.app-menu-drag{width:40px;height:40px;border:0;border-radius:10px;background:#edf3f0;color:#315754;font-size:19px;cursor:grab}.app-menu-drag:active{cursor:grabbing}.app-menu-sort-item>b{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#f0f4f2}.app-menu-sort-item>span strong,.app-menu-sort-item>span small{display:block}.app-menu-sort-item>span small{margin-top:2px;font-size:10px}.app-menu-sort-item>div{display:flex;gap:4px}.app-menu-sort-item>div button{width:34px;height:34px;border:1px solid #dce4e1;border-radius:9px;background:#fff;color:#43524d;font-weight:900}.app-menu-sort-empty{padding:18px;text-align:center;color:#74817d;border:1px dashed #ccd7d3;border-radius:12px}.app-menu-sort-empty[hidden]{display:none}
.app-device-screen{padding-bottom:0}.preview-app-top{height:56px;display:flex;align-items:center;gap:9px;padding:8px 11px;background:color-mix(in srgb,var(--preview-primary,#315754) 38%,#071711);color:#fff}.preview-app-top button{width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#fff;font-size:21px}.preview-app-top img{width:34px;height:34px;border-radius:9px;background:#fff;object-fit:contain}.preview-app-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.preview-app-canvas{min-height:594px;background:var(--preview-bg,#f4f7f6)}.preview-app-photo{width:100%;height:190px;object-fit:cover}.preview-app-welcome{margin:15px;padding:17px;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(28,40,38,.08)}.preview-app-welcome small{color:var(--preview-primary,#315754);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.preview-app-welcome h3{margin:5px 0;font-size:22px}.preview-app-welcome p{margin:0 0 14px;color:#74807d;font-size:11px}.preview-app-welcome button{border:0;border-radius:10px;padding:9px 13px;background:var(--preview-primary,#315754);color:#fff;font-weight:850}.preview-menu-overlay{position:absolute;z-index:5;inset:0;display:block;border:0;background:rgba(3,12,9,.42);opacity:0;visibility:hidden;transition:.2s}.preview-menu-overlay.open{opacity:1;visibility:visible}.preview-side-menu{position:absolute;z-index:6;inset:0 auto 0 0;width:82%;display:grid;grid-template-rows:auto 1fr;background:#fff;box-shadow:10px 0 30px rgba(4,18,14,.25);transform:translateX(-105%);transition:transform .22s ease}.preview-side-menu.open{transform:translateX(0)}.preview-side-menu>header{display:flex;align-items:center;justify-content:space-between;padding:17px;background:color-mix(in srgb,var(--preview-primary,#315754) 45%,#071711);color:#fff}.preview-side-menu>header button{width:32px;height:32px;border:0;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-size:21px}.preview-side-menu nav{overflow:auto;padding:8px}.preview-side-menu nav span{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;padding:8px;border-radius:10px}.preview-side-menu nav span:first-child{background:color-mix(in srgb,var(--preview-primary,#315754) 10%,#fff);color:var(--preview-primary,#315754)}.preview-side-menu nav i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eef3f1;font-style:normal}.preview-side-menu nav strong{font-size:11px}
@media(max-width:620px){.app-menu-sort-item{grid-template-columns:38px 34px minmax(0,1fr) auto;gap:7px;padding:8px}.app-menu-sort-item>span small{display:none}.app-menu-sort-item>div button{width:32px;height:32px}}

/* Sales Intelligence 2.8.42 — audited filters, complete product pagination and visual polish */
.sales-active-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid #ded9fb;border-radius:12px;background:#f7f5ff;color:#51479a;font-size:11px}.sales-active-filter a{font-weight:800;color:#6255d9}.sales-math-note{margin:12px 0 16px}.sales-category-note{margin:-4px 0 16px;padding:0 4px}.sales-insight-card small{display:block;margin-top:7px;color:#7c8799;font-size:10px}.sales-visual-grid{align-items:stretch}.sales-visual-grid>.panel{min-height:260px}.sales-rank-row>div small{display:block;margin-top:2px;color:#8a94a6;font-size:9px}.sales-rank-row b{white-space:nowrap;text-align:right}.sales-product-heading{margin-bottom:12px}.sales-count-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f3f1ff;color:#6357d8;font-size:10px;font-weight:850;white-space:nowrap}.sales-category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.sales-category-tabs a{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;border:1px solid #dfe4ed;border-radius:999px;background:#fff;color:#46536b;text-decoration:none;font-size:11px;font-weight:800}.sales-category-tabs a span{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#f1f3f7;color:#7c8798;font-size:9px}.sales-category-tabs a.active{border-color:#6f63e8;background:#6f63e8;color:#fff}.sales-category-tabs a.active span{background:rgba(255,255,255,.18);color:#fff}.sales-pagination{justify-content:center;margin-top:16px}.sales-payment-a{stroke:#6f63e8}.sales-payment-b{stroke:#31a36e}.sales-payment-c{stroke:#ee9d3f}.sales-payment-d{stroke:#4096d7}.sales-payment-e{stroke:#c55fc7}.sales-payment-f{stroke:#e16a76}.sales-payment-g{stroke:#9aa4b5}.sales-payment-legend .pay-a i{background:#6f63e8}.sales-payment-legend .pay-b i{background:#31a36e}.sales-payment-legend .pay-c i{background:#ee9d3f}.sales-payment-legend .pay-d i{background:#4096d7}.sales-payment-legend .pay-e i{background:#c55fc7}.sales-payment-legend .pay-f i{background:#e16a76}.sales-payment-legend .pay-g i{background:#9aa4b5}
@media(max-width:760px){.sales-category-tabs{gap:6px}.sales-category-tabs a{padding:7px 9px}.sales-rank-row{grid-template-columns:22px minmax(0,1fr)}.sales-rank-row b{grid-column:2;text-align:left;margin-top:-3px}.sales-visual-grid>.panel{min-height:0}}

/* 2.8.47 polished business navigation + fixture manager */
@media(min-width:861px){
  .business-sidebar{height:100vh;height:100dvh;overflow:hidden}
  .business-sidebar .sidebar-brand{flex:0 0 auto}
  .business-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:7px;scrollbar-gutter:stable;overscroll-behavior:contain}
  .business-nav::-webkit-scrollbar{width:8px}.business-nav::-webkit-scrollbar-track{background:transparent}.business-nav::-webkit-scrollbar-thumb{background:#34415f;border-radius:999px}.business-nav::-webkit-scrollbar-thumb:hover{background:#465676}
  .sidebar-bottom{flex:0 0 auto;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
}
.fixture-bulk-toolbar{position:sticky;top:0;z-index:8;margin:0 0 12px;padding:12px;border:1px solid #e0e6ee;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(22,32,51,.06);backdrop-filter:blur(10px)}
.fixture-selection-summary,.fixture-bulk-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fixture-bulk-controls{margin-top:9px}.fixture-bulk-controls>select{width:auto;min-width:180px}
.fixture-inline-field{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}.fixture-inline-field span{white-space:nowrap}.fixture-inline-field input{width:105px}.fixture-inline-field select{width:125px}
.fixture-bulk-help{margin:8px 0 0;font-size:12px}.event-fixture-table{min-width:980px}.event-fixture-table th,.event-fixture-table td{vertical-align:middle}.event-fixture-table .fixture-select-col{width:48px;min-width:48px;padding-left:14px;padding-right:14px;text-align:center}.event-fixture-table .fixture-select-col input{width:18px;height:18px;margin:0;vertical-align:middle}.fixture-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:170px}
.fixture-price-correction{margin-top:22px}.fixture-venue-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:12px 0 14px;padding:12px;border:1px solid #e3e8ef;border-radius:12px;background:#f8fafc}.fixture-venue-picker-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.fixture-venue-picker label,.fixture-safeguards label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:9px;background:#fff;font-weight:650}.fixture-venue-picker input,.fixture-safeguards input{width:auto}.fixture-safeguards{display:grid;gap:7px;margin:12px 0}
@media(max-width:1100px) and (min-width:861px){.business-shell .container{padding-left:28px;padding-right:28px}.fixture-bulk-controls{align-items:flex-end}.fixture-inline-field{display:grid;gap:3px}}
@media(max-width:860px){.fixture-bulk-toolbar{position:static}.fixture-bulk-controls>*{width:100%!important}.fixture-inline-field{display:grid;gap:4px}.event-fixture-table-wrap{margin-left:-4px;margin-right:-4px}.fixture-venue-picker{grid-template-columns:1fr}}

/* 2.8.48 Customer App Builder Today-dashboard preview */
.preview-dashboard-hero{min-height:220px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:19px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-primary,#315754) 82%,#061713),color-mix(in srgb,var(--preview-primary,#315754) 45%,#061713));background-size:cover;background-position:center;color:#fff}.preview-dashboard-hero>div{min-width:0}.preview-dashboard-hero small{color:var(--preview-accent,#d9b768);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.preview-dashboard-hero h3{margin:4px 0;font-size:24px;line-height:1.05}.preview-dashboard-hero p{max-width:290px;margin:5px 0 11px;color:rgba(255,255,255,.8);font-size:9px;line-height:1.4}.preview-dashboard-hero>img{width:52px;height:52px;flex:0 0 52px;object-fit:contain;padding:4px;border-radius:14px;background:#fff}.preview-dashboard-actions{display:flex;gap:6px}.preview-dashboard-actions button{border:0;border-radius:8px;padding:7px 9px;background:var(--preview-accent,#d9b768);color:#15211d;font-size:8px;font-weight:850}.preview-dashboard-actions button+button{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.18)}.preview-dashboard-body{padding:13px}.preview-dashboard-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:9px}.preview-dashboard-title small,.preview-dashboard-title strong{display:block}.preview-dashboard-title small{color:var(--preview-primary,#315754);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.preview-dashboard-title strong{font-size:16px}.preview-dashboard-title>span{color:#7a8782;font-size:8px}.preview-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.preview-dashboard-grid article{min-height:72px;display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #dde6e1;border-radius:11px;background:#fff}.preview-dashboard-grid article>b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--preview-primary,#315754) 9%,#fff);font-size:13px}.preview-dashboard-grid article span small,.preview-dashboard-grid article span strong{display:block}.preview-dashboard-grid article span small{color:#7d8985;font-size:7px;text-transform:uppercase}.preview-dashboard-grid article span strong{margin-top:2px;font-size:9px}.preview-dashboard-grid article.order{background:color-mix(in srgb,var(--preview-primary,#315754) 90%,#071812);color:#fff;border:0}.preview-dashboard-grid article.order small{color:var(--preview-accent,#d9b768)}

/* 2.8.50 FANZO-authoritative event sync + reliable event selection */
.event-admin table .fixture-select-col{width:48px;min-width:48px;padding-left:14px;padding-right:14px;text-align:center;vertical-align:middle}.event-admin table .fixture-select-col input{width:18px;height:18px;margin:0;vertical-align:middle}.event-admin [data-event-import-form]>.actions:first-of-type{position:sticky;top:0;z-index:7;padding:10px 0;background:#fff}.event-admin .status-pill.good{white-space:nowrap}

/* 2.8.52 per-venue PWA preview */
.preview-side-menu{grid-template-rows:auto 1fr auto}.preview-pwa-tools{padding:10px;border-top:1px solid #e4ebe8;background:#fafcfb;display:grid;gap:6px}.preview-pwa-tools span{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;background:#f2f6f4;color:#34443f;font-size:11px}.preview-pwa-tools strong{font-size:11px}

/* 2.8.68 — Table Orders admin/shop polish */
.to-tabs.to-tabs-polished{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px;padding:4px 0;align-items:center}
.to-tabs.to-tabs-polished a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#162335;text-decoration:none;font-weight:800;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.to-tabs.to-tabs-polished a:hover,.to-tabs.to-tabs-polished a:focus-visible{background:#f8fafc;border-color:#8291a6;box-shadow:0 4px 12px rgba(15,23,42,.08);transform:translateY(-1px);outline:none}
.to-tabs.to-tabs-polished a.on{background:#111827;color:#fff;border-color:#111827;box-shadow:0 5px 14px rgba(17,24,39,.18)}
.to-admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding:18px 20px;border:1px solid #dfe5ec;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 7px 24px rgba(15,23,42,.04)}
.to-admin-hero h2{margin:4px 0 6px}.to-admin-hero p{margin:0;max-width:820px}.to-health-pills{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.to-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#334155;font-size:11px;font-weight:800}.to-pill.good{background:#dcfce7;color:#166534}.to-pill.warn{background:#fef3c7;color:#92400e}.to-pill.bad{background:#fee2e2;color:#991b1b}
.to-shop-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px;align-items:start}.to-stack{display:grid;gap:16px}.to-admin-card,.to-create-box{border:1px solid #dde5ed;border-radius:16px;background:#fff;padding:16px}.to-admin-card h3,.to-create-box h3{margin:0 0 8px}.to-item-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.to-item-summary>div:first-child{min-width:0}.to-item-summary h3{margin:0}.to-item-summary p{margin:5px 0 0}.to-image-form{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1f5}.to-image-form .actions{margin-top:0}.to-subdetails,.to-order-detail,.to-advanced-panel{margin-top:10px;border:1px solid #e1e7ed;border-radius:12px;background:#fafbfc;padding:10px 12px}.to-subdetails>summary,.to-order-detail>summary,.to-advanced-panel>summary{cursor:pointer;font-weight:800;color:#273449}.to-order-detail[open],.to-subdetails[open],.to-advanced-panel[open]{background:#fff}.to-form-stack{display:grid;gap:10px}.to-form-stack>label{margin:0}.to-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.to-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.to-form-grid label{margin:0}.to-option-builder{display:grid;gap:12px;margin:12px 0}.to-option-group{border:1px solid #dbe3eb;border-radius:14px;padding:14px;background:#fafcfd}.to-option-group-head,.to-choice-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.to-option-rules{display:grid;grid-template-columns:minmax(140px,.75fr) repeat(2,minmax(120px,1fr));gap:10px;align-items:end;margin:10px 0}.to-option-rules label{margin:0}.to-option-rules .check{display:flex;gap:8px;align-items:center;min-height:42px}.to-option-rules .check input,.to-choice-row input[type=checkbox]{width:auto}.to-choice-editor{margin-top:10px;padding-top:10px;border-top:1px dashed #d5dde6}.to-choice-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(110px,.4fr) auto;gap:8px;align-items:end;margin:8px 0}.to-choice-row label{margin:0}.to-secret-code,.to-wrap-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;word-break:break-word}.to-qr-grid-polished{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.to-qr-card{display:grid;gap:9px}.to-qr-card h3{margin:0}.to-qr-card .qr-svg{display:grid;place-items:center;min-height:185px;border:1px solid #edf1f5;border-radius:12px;background:#fff}.to-qr-card .actions{margin-top:0}.to-report-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0 16px}.to-report-filter label{margin:0;min-width:160px}.to-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 18px}.to-stat-grid>div{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.to-stat-grid span,.to-stat-grid strong{display:block}.to-stat-grid span{font-size:10px;color:#64748b;font-weight:800}.to-stat-grid strong{margin-top:4px;font-size:17px;color:#172033}.to-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.table-scroll{width:100%;overflow:auto}.table-scroll table{min-width:760px}.to-admin-card .actions form,.to-item-summary .actions form{display:inline}.to-admin-card form.inline{display:inline}.to-admin-card .button.danger,.to-create-box .button.danger{background:#b42318;color:#fff}.to-admin-card .button.danger:hover,.to-create-box .button.danger:hover{background:#912018}.to-admin-card .menu-thumb{display:block;margin:0 0 8px}.to-admin-card .notice{margin-top:10px}.section-kicker{display:block;margin-bottom:4px;color:#6d5df0;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:980px){.to-shop-admin-grid{grid-template-columns:1fr}.to-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.to-tabs.to-tabs-polished{flex-wrap:nowrap;overflow-x:auto;margin-left:-2px;margin-right:-2px;padding:4px 2px 9px;scrollbar-width:thin}.to-tabs.to-tabs-polished a{flex:0 0 auto;white-space:nowrap}.to-admin-hero{flex-direction:column}.to-form-grid,.to-form-grid-3,.to-option-rules,.to-choice-row,.to-time-pair{grid-template-columns:1fr}.to-choice-row>button{width:100%}.to-stat-grid{grid-template-columns:1fr 1fr}.to-report-filter{display:grid;grid-template-columns:1fr 1fr}.to-report-filter label{min-width:0}.to-report-filter .button,.to-report-filter button{width:100%;text-align:center}.to-qr-grid-polished{grid-template-columns:1fr}}
@media(max-width:480px){.to-stat-grid{grid-template-columns:1fr}.to-report-filter{grid-template-columns:1fr}}
@media print{.to-tabs,.pagehead,.to-admin-hero,.to-table-list-form,.to-qr-card .actions,header{display:none!important}.container{max-width:none;padding:0}.to-qr-grid-polished{grid-template-columns:repeat(2,1fr)}.to-qr-card{break-inside:avoid;box-shadow:none}}
/* Table Orders 2.8.68 — code manager / overview polish */
.to-link-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.to-link-row .code{flex:1 1 420px}.to-assign-table{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}.to-assign-table select{min-width:120px}.to-quick-links{display:flex;gap:10px;flex-wrap:wrap}.to-checklist{list-style:none;margin:0;padding:0;display:grid;gap:9px}.to-checklist li{padding:10px 12px;border-radius:12px;background:#f3f6fa;border:1px solid #dce3ec}.to-checklist li.good{border-left:4px solid #227a45}.to-checklist li.warn{border-left:4px solid #b7791f}.to-checklist li.bad{border-left:4px solid #b42318}.to-overview-stats{margin-bottom:18px}
