:root {
  color-scheme: light;
  --ink: #28231f;
  --muted: #746b63;
  --paper: #fffdf9;
  --rose: #a84f63;
  --rose-dark: #813849;
  --sand: #efe5d7;
  --sage: #466354;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #f5efe7; }
.fbs-system-logo { display:block; flex:0 0 auto; width:54px; height:auto; object-fit:contain; }
header { padding: 28px max(24px, calc((100vw - 1050px) / 2)); background: var(--ink); color: white; }
header p { color: #ddd3c8; margin-bottom: 0; }
nav { display: flex; gap: 18px; margin-top: 16px; }
nav a { color: white; }
main { max-width: 1050px; margin: 28px auto; padding: 0 24px 60px; }
.card { background: var(--paper); border: 1px solid #ddd0c2; border-radius: 14px; padding: 24px; box-shadow: 0 8px 30px #4a31200d; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.full { grid-column: 1 / -1; }
label { display: grid; gap: 7px; font-weight: 650; }
input, select, button { font: inherit; }
input, select { width: 100%; border: 1px solid #bcae9f; border-radius: 8px; padding: 11px 12px; background: white; }
button { border: 0; border-radius: 8px; padding: 11px 16px; color: white; background: var(--rose); font-weight: 700; cursor: pointer; }
button:hover { background: var(--rose-dark); }
button.secondary { background: #6d655e; }
button.good { background: var(--sage); }
button:disabled { opacity: .55; cursor: wait; }
.policy { padding: 16px; background: #f8f2e9; border-left: 4px solid var(--rose); white-space: pre-wrap; line-height: 1.55; }
.check { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.check input { width: auto; margin-top: 4px; }
.banner { padding: 12px 16px; margin-bottom: 18px; border-radius: 8px; background: #fff0cc; border: 1px solid #e8c979; }
.success { background: #e3f1e8; border-color: #94bda2; }
.error { background: #fbe2e2; border-color: #d99393; }
.hidden { display: none !important; }
.small { color: var(--muted); font-size: .9rem; }
.request { border: 1px solid #dbd0c3; border-radius: 10px; padding: 16px; margin: 12px 0; }
.request h3 { margin: 0 0 8px; }
.service-row { display: grid; grid-template-columns: 2fr 1.5fr auto auto; gap: 10px; align-items: end; padding: 12px 0; border-bottom: 1px solid #eadfd3; }
.service-row button { padding: 10px 12px; }
.visit-summary { margin-top: 14px; padding: 12px; background: #f4eee5; border-radius: 8px; line-height: 1.5; }
.service-list { margin: 10px 0; padding-left: 20px; }
.phase { color: var(--muted); font-size: .86rem; }
.communications { border-left: 3px solid #8d7d6e; padding-left: 12px; margin: 10px 0; }
.actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.status { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--sand); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
pre { overflow: auto; background: #27231f; color: #f8efe6; padding: 16px; border-radius: 8px; font-size: .78rem; }
@media (max-width: 700px) { .grid, .service-row { grid-template-columns: 1fr; } .full { grid-column: auto; } }

/* Secure customer appointments and loyalty portal */
.customer-portal-body { min-width:320px; min-height:100vh; background:#f4f1ec; color:#24211e; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.customer-portal-shell { width:min(900px,calc(100% - 30px)); margin:0 auto; padding:26px 0 54px; }
.customer-portal-brand { display:flex; justify-content:center; padding:6px 0 28px; background:transparent; }
.customer-portal-brand img { width:176px; max-height:84px; object-fit:contain; }
.customer-portal-request,.customer-portal-state,.customer-portal-card { border:1px solid #ded9d2; border-radius:22px; background:#fff; box-shadow:0 14px 44px rgba(38,31,25,.06); }
.customer-portal-request { max-width:680px; margin:0 auto; padding:clamp(28px,6vw,52px); }
.customer-portal-request h1,.customer-portal-state h1,.customer-portal-welcome h1 { margin:5px 0 12px; font-size:clamp(2.05rem,6vw,3.35rem); line-height:1.02; letter-spacing:-.055em; }
.customer-portal-intro { max-width:550px; margin:0 0 30px; color:#716a63; line-height:1.65; }
.customer-portal-eyebrow { margin:0; color:#94734d; font-size:.68rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.customer-portal-request form { display:grid; gap:9px; }
.customer-portal-request label { font-size:.76rem; }
.customer-portal-request-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
.customer-portal-request-row input { min-width:0; padding:14px 15px; border-color:#cfc7bd; border-radius:11px; }
.customer-portal-request-row button,.customer-portal-error button { min-height:50px; background:#23201d; }
.customer-portal-form-message { min-height:20px; margin:4px 0 0; color:#446954; font-size:.76rem; line-height:1.45; }
.customer-portal-privacy { margin:25px 0 0; padding-top:20px; border-top:1px solid #eee9e3; color:#817a73; font-size:.7rem; line-height:1.55; }
.customer-portal-state { padding:42px; text-align:center; }
.customer-portal-error { max-width:680px; margin:0 auto; }
.customer-portal-error p:not(.customer-portal-eyebrow) { color:#716a63; }
.customer-portal-welcome { display:flex; align-items:end; justify-content:space-between; gap:22px; padding:14px 6px 28px; }
.customer-portal-welcome h1 { margin-bottom:0; }
.customer-portal-welcome>a { padding:12px 17px; border-radius:10px; background:#24211e; color:#fff; font-size:.78rem; font-weight:750; text-decoration:none; }
.customer-portal-tabs { display:flex; gap:5px; width:max-content; margin:0 0 18px; padding:4px; border:1px solid #dcd6cf; border-radius:12px; background:#eae6e0; }
.customer-portal-tabs button { min-height:40px; padding:9px 18px; border-radius:8px; background:transparent; color:#625b55; font-size:.74rem; }
.customer-portal-tabs button:hover { background:#f7f4f0; color:#292521; }
.customer-portal-tabs button[aria-selected="true"] { background:#fff; color:#24211e; box-shadow:0 2px 8px rgba(38,31,25,.08); }
.customer-portal-loyalty { display:grid; grid-template-columns:1.5fr 1fr; gap:0; margin-bottom:18px; overflow:hidden; border-radius:22px; background:#24211e; color:#fff; box-shadow:0 16px 46px rgba(38,31,25,.14); }
.customer-portal-loyalty-summary,.customer-portal-reward { padding:clamp(25px,5vw,42px); }
.customer-portal-loyalty-summary { border-right:1px solid rgba(255,255,255,.14); }
.customer-portal-loyalty-summary>strong { display:block; margin:8px 0 1px; font-size:clamp(3rem,9vw,5.4rem); line-height:1; letter-spacing:-.07em; }
.customer-portal-loyalty-summary>strong small { font-size:.9rem; letter-spacing:0; }
.customer-portal-loyalty-summary>p:not(.customer-portal-eyebrow) { margin:12px 0; color:#d3cdc6; font-size:.78rem; }
.customer-portal-progress { height:8px; overflow:hidden; border-radius:99px; background:#514d48; }
.customer-portal-progress i { display:block; width:0; height:100%; border-radius:inherit; background:#d7b37e; transition:width .4s ease; }
.customer-portal-reward { display:flex; flex-direction:column; justify-content:center; gap:8px; background:#324c3d; }
.customer-portal-reward small { color:#c5d7cc; font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.customer-portal-reward strong { font-size:1.7rem; letter-spacing:-.04em; }
.customer-portal-reward span { color:#e5ece7; font-size:.76rem; line-height:1.45; }
.customer-portal-card { margin-top:18px; padding:clamp(22px,4vw,32px); }
.customer-portal-section-title { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.customer-portal-section-title h2 { margin:4px 0 0; font-size:1.35rem; letter-spacing:-.035em; }
.customer-portal-preferences-pane>.customer-portal-section-title p:not(.customer-portal-eyebrow) { max-width:540px; margin:8px 0 0; color:#777069; font-size:.74rem; line-height:1.5; }
.customer-portal-photo-card { display:grid; grid-template-columns:132px 1fr; align-items:center; gap:22px; margin-bottom:16px; padding:22px; border:1px solid #cddbcf; border-radius:16px; background:#f1f7f2; }
.customer-portal-photo-preview { position:relative; display:grid; place-items:center; width:132px; aspect-ratio:1; overflow:hidden; border:3px solid #fff; border-radius:50%; background:#dfe9e1; box-shadow:0 0 0 1px #b7cabd; }
.customer-portal-photo-preview img { width:100%; height:100%; object-fit:cover; }
.customer-portal-photo-preview span { color:#44614d; font-size:2.4rem; font-weight:850; }
.customer-portal-photo-copy h3 { margin:5px 0 6px; color:#292521; font-size:1rem; letter-spacing:-.025em; }
.customer-portal-photo-copy>p:not(.customer-portal-eyebrow) { margin:0; color:#687069; font-size:.7rem; line-height:1.5; }
.customer-portal-photo-copy .customer-portal-photo-privacy { margin-top:5px; color:#50705a; }
.customer-portal-photo-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:14px; }
.customer-portal-photo-actions input[type="file"] { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.customer-portal-photo-actions label,.customer-portal-photo-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; margin:0; padding:9px 14px; border:1px solid #b9cabb; border-radius:999px; background:#fff; color:#31563d; font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
.customer-portal-photo-actions button { border-color:#31563d; background:#31563d; color:#fff; }
.customer-portal-photo-actions button:disabled { border-color:#b8c2ba; background:#b8c2ba; cursor:not-allowed; }
.customer-portal-photo-card .customer-portal-form-message { min-height:1em; margin:9px 0 0; color:#31563d; font-size:.68rem; }
.customer-portal-preferences-form { display:grid; gap:16px; }
.customer-portal-preference-group { display:grid; gap:18px; padding:22px; border:1px solid #e1dbd4; border-radius:16px; background:#fbfaf8; }
.customer-portal-preference-heading { display:flex; align-items:flex-start; gap:12px; }
.customer-portal-preference-heading>span { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; background:#e5eee7; color:#315c40; font-size:.62rem; font-weight:850; }
.customer-portal-preference-heading h3,.customer-portal-agreement-card h3 { margin:0; color:#292521; font-size:1rem; letter-spacing:-.025em; }
.customer-portal-preference-heading p,.customer-portal-agreement-card p { margin:4px 0 0; color:#777069; font-size:.7rem; line-height:1.45; }
.customer-portal-preferences-form fieldset { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; border:0; }
.customer-portal-preferences-form legend { width:100%; margin-bottom:3px; color:#4e4944; font-size:.76rem; font-weight:800; }
.customer-portal-preferences-form fieldset label { display:flex; align-items:center; gap:8px; min-width:0; min-height:42px; padding:10px 12px; border:1px solid #d9d2ca; border-radius:10px; background:#fff; color:#554f49; font-size:.72rem; line-height:1.35; white-space:normal; word-break:normal; overflow-wrap:normal; cursor:pointer; transition:border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.customer-portal-preferences-form fieldset label:has(input:checked) { border-color:#6e9278; background:#f0f6f1; color:#294c34; box-shadow:0 0 0 1px #6e9278; }
.customer-portal-preferences-form fieldset input,.customer-portal-check-card input { flex:0 0 auto; width:auto; margin:0; accent-color:#365d45; }
.customer-portal-choice-grid-three label { flex:1 1 180px; }
.customer-portal-beverage-grid label { flex:1 1 210px; }
.customer-portal-comfort-grid,.customer-portal-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.customer-portal-check-card { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid #d9d2ca; border-radius:12px; background:#fff; cursor:pointer; }
.customer-portal-check-card:has(input:checked) { border-color:#6e9278; background:#f0f6f1; box-shadow:0 0 0 1px #6e9278; }
.customer-portal-check-card input { margin-top:2px; }
.customer-portal-check-card span { display:grid; gap:3px; }
.customer-portal-check-card strong { color:#413c37; font-size:.73rem; }
.customer-portal-check-card small { color:#777069; font-size:.64rem; line-height:1.4; }
.customer-portal-field { display:grid; gap:7px; color:#4e4944; font-size:.76rem; font-weight:800; }
.customer-portal-field>small { font-weight:500; }
.customer-portal-preferences-form textarea,.customer-portal-preferences-form input[type="date"],.customer-portal-preferences-form select { width:100%; min-width:0; padding:12px 13px; border:1px solid #d2cbc2; border-radius:10px; background:#fff; color:#25221f; font:inherit; line-height:1.5; }
.customer-portal-preferences-form textarea { min-height:90px; resize:vertical; }
.customer-portal-agreement-card { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; border:1px solid #cddbcf; border-radius:16px; background:#f1f7f2; }
.customer-portal-agreement-card .customer-portal-eyebrow { margin:0 0 6px; color:#51705a; }
.customer-portal-agreement-card>a { flex:0 0 auto; padding:11px 15px; border-radius:9px; background:#315c40; color:#fff; font-size:.7rem; font-weight:800; text-decoration:none; }
.customer-portal-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.customer-portal-preferences-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.customer-portal-preferences-actions p { margin:0; color:#42614f; font-size:.72rem; line-height:1.45; }
.customer-portal-preferences-actions button { min-height:44px; padding:10px 16px; border-radius:9px; background:#24211e; color:#fff; font-size:.73rem; }
.customer-portal-text-button { padding:5px 0; background:transparent; color:#42614f; font-size:.72rem; text-decoration:underline; }
.customer-portal-text-button:hover { background:transparent; color:#23372c; }
.customer-portal-appointment-list { display:grid; }
.customer-portal-appointment { display:grid; grid-template-columns:170px 1fr auto; gap:18px; align-items:start; padding:16px 0; border-top:1px solid #eeeae4; }
.customer-portal-appointment time { color:#6f6861; font-size:.74rem; line-height:1.45; }
.customer-portal-appointment>div { display:grid; gap:8px; }
.customer-portal-appointment>div span { display:grid; gap:3px; }
.customer-portal-appointment b { font-size:.83rem; }
.customer-portal-appointment small { color:#7c756e; font-size:.68rem; }
.customer-portal-appointment em { padding:5px 9px; border-radius:99px; background:#eef3ef; color:#3d644b; font-size:.6rem; font-style:normal; font-weight:800; text-transform:capitalize; }
.customer-portal-change-actions { margin-top:3px; }
.customer-portal-change-actions button { min-height:34px; padding:7px 11px; border:1px solid #cbd8ce; border-radius:8px; background:#f2f7f3; color:#315d40; font-size:.67rem; }
.customer-portal-change-status { display:grid; gap:3px; margin:5px 0 1px; padding:10px 12px; border:1px solid #c9ddce; border-radius:10px; background:#f1f8f3; color:#315d40; font-size:.7rem; line-height:1.4; }
.customer-portal-change-status small { color:#5d7564; }
.customer-portal-change-form { display:grid; gap:12px; margin-top:10px; padding:15px; border:1px solid #ddd7cf; border-radius:12px; background:#faf8f5; }
.customer-portal-change-form>p { margin:0; color:#6d665f; font-size:.69rem; line-height:1.5; }
.customer-portal-change-form>div:not(.customer-portal-change-buttons) { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.customer-portal-change-form label { display:grid; gap:5px; color:#4e4944; font-size:.68rem; font-weight:700; }
.customer-portal-change-form input,.customer-portal-change-form textarea { width:100%; min-width:0; padding:10px; border:1px solid #cdc6bd; border-radius:8px; background:#fff; color:#25221f; font:inherit; }
.customer-portal-change-form textarea { min-height:74px; resize:vertical; }
.customer-portal-change-message { color:#42614f!important; }
.customer-portal-change-buttons { display:flex; justify-content:flex-end; gap:8px; }
.customer-portal-change-buttons button { min-height:38px; padding:8px 13px; border-radius:8px; font-size:.68rem; }
.customer-portal-change-buttons button:first-child { border:1px solid #d7d0c8; background:#fff; color:#5d5650; }
.customer-portal-change-buttons button:last-child { background:#24211e; color:#fff; }
.customer-portal-change-warning { display:grid; gap:8px; padding:14px; border:1px solid #dfc69e; border-radius:11px; background:#fff8eb; color:#654923; }
.customer-portal-change-warning strong { font-size:.76rem; }
.customer-portal-change-warning p { margin:0; color:#765c38; font-size:.69rem; line-height:1.5; }
.customer-portal-change-warning>a { width:max-content; color:#654923; font-size:.7rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.customer-portal-change-warning label { display:flex; align-items:flex-start; gap:8px; padding-top:4px; border-top:1px solid #ead9bd; color:#56432a; line-height:1.45; cursor:pointer; }
.customer-portal-change-warning input { flex:0 0 auto; width:auto; margin:2px 0 0; accent-color:#654923; }
.customer-portal-policy-card { background:#fbf7ef; }
.customer-portal-policy-card .customer-portal-section-title { margin-bottom:12px; }
.customer-portal-policy-card>p { max-width:720px; margin:8px 0 0; color:#665e56; font-size:.76rem; line-height:1.6; }
.customer-portal-policy-card>a { display:inline-flex; align-items:center; min-height:42px; margin-top:16px; padding:10px 14px; border:1px solid #cdb890; border-radius:9px; background:#fff; color:#5d4528; font-size:.72rem; font-weight:800; text-decoration:none; }
.customer-portal-compact-list>div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid #eeeae4; }
.customer-portal-compact-list span { display:grid; gap:4px; }
.customer-portal-compact-list b { font-size:.8rem; }
.customer-portal-compact-list small { color:#7c756e; font-size:.68rem; }
.customer-portal-compact-list strong { font-size:.82rem; }
.customer-portal-compact-list strong.positive { color:#2d7246; }
.customer-portal-compact-list strong.negative { color:#9b4343; }
.customer-portal-empty { margin:0; padding:24px 0 8px; border-top:1px solid #eeeae4; color:#7b746d; font-size:.78rem; }
.customer-portal-footer { padding:30px 0 0; color:#8a837c; font-size:.66rem; text-align:center; }
@media(max-width:650px){.customer-portal-shell{width:100%;padding:0 0 38px}.customer-portal-brand{padding:18px 0}.customer-portal-brand img{width:145px}.customer-portal-request,.customer-portal-state,.customer-portal-card{border-radius:0;border-width:1px 0}.customer-portal-request-row{grid-template-columns:1fr}.customer-portal-welcome{align-items:flex-start;padding:24px 18px}.customer-portal-welcome>a{max-width:48%;white-space:normal;text-align:center;line-height:1.3}.customer-portal-tabs{width:calc(100% - 28px);margin:0 14px 14px}.customer-portal-tabs button{flex:1;padding-inline:10px}.customer-portal-loyalty{grid-template-columns:1fr;margin:0 14px 18px}.customer-portal-loyalty-summary{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.customer-portal-appointment{grid-template-columns:1fr auto;gap:8px 14px}.customer-portal-appointment time{grid-column:1/-1}.customer-portal-appointment em{grid-column:2;grid-row:2}.customer-portal-change-form>div:not(.customer-portal-change-buttons){grid-template-columns:1fr}.customer-portal-photo-card{grid-template-columns:1fr;justify-items:center;padding:18px 14px;text-align:center}.customer-portal-photo-preview{width:120px}.customer-portal-photo-actions{justify-content:center}.customer-portal-photo-actions label,.customer-portal-photo-actions button{flex:1 1 100%}.customer-portal-preference-group{padding:18px 14px}.customer-portal-preferences-form fieldset{display:grid;grid-template-columns:1fr}.customer-portal-preferences-form fieldset legend{grid-column:1/-1}.customer-portal-preferences-form fieldset label{width:100%;padding:11px}.customer-portal-comfort-grid,.customer-portal-profile-grid{grid-template-columns:1fr}.customer-portal-agreement-card{align-items:stretch;flex-direction:column}.customer-portal-agreement-card>a{text-align:center}.customer-portal-preferences-actions{align-items:stretch;flex-direction:column}.customer-portal-preferences-actions button{width:100%}.customer-portal-footer{padding-inline:16px}}

.ops-customer-preferences { margin:14px 0; padding:16px; border:1px solid #d8e1da; border-radius:14px; background:#f6faf7; }
.ops-customer-preferences>.ops-section-title-row { margin-bottom:10px; }
.ops-customer-preferences>.ops-section-title-row span { color:#607468; font-size:.63rem; }
.ops-customer-preferences-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.ops-customer-preferences-grid>div { padding:10px 11px; border:1px solid #dfe7e1; border-radius:10px; background:#fff; }
.ops-customer-preferences-grid>div.important { border-color:#ecd0c5; background:#fff8f5; }
.ops-customer-preferences strong { display:block; margin-bottom:4px; color:#31543e; font-size:.63rem; letter-spacing:.08em; text-transform:uppercase; }
.ops-customer-preferences .important strong { color:#984a36; }
.ops-customer-preferences p { margin:0; color:#373d39; font-size:.72rem; line-height:1.45; white-space:pre-wrap; }
.ops-customer-preferences .ops-customer-preferences-empty { color:#778078; font-style:italic; }
@media(max-width:650px){.ops-customer-preferences-grid{grid-template-columns:1fr}}

/* Staff-created appointment protection */
.protection-body { min-height:100vh; background:#f5f3ef; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.protection-shell { width:min(720px,calc(100% - 28px)); margin:0 auto; padding:28px 0 56px; }
.protection-brand { display:flex; align-items:center; gap:11px; padding:0 4px 22px; background:transparent; color:#191816; }
.protection-brand>.fbs-system-logo { width:68px; }
.protection-brand div { display:grid; }
.protection-brand small { color:#766f68; letter-spacing:.08em; text-transform:uppercase; }
.protection-card { background:white; border:1px solid #dedad3; border-radius:22px; padding:clamp(24px,5vw,46px); box-shadow:0 18px 52px rgba(41,35,28,.08); }
.protection-card h1 { margin:.25rem 0 1.5rem; font-size:clamp(2rem,6vw,3rem); letter-spacing:-.045em; }
.protection-card h2 { margin:0; }
.protection-countdown { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; margin-bottom:22px; border-radius:12px; background:#fff3d8; color:#6c4e13; }
.protection-countdown strong { font-variant-numeric:tabular-nums; font-size:1.2rem; }
#protection-summary>p { margin:.4rem 0 1rem; color:#5f5953; }
#protection-summary ul { list-style:none; padding:0; margin:0; border-top:1px solid #ece8e2; }
#protection-summary li,.protection-total { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #ece8e2; }
.protection-total { font-size:1.08rem; margin-bottom:24px; }
.protection-card .booking-payment { margin:0 0 20px; }
.protection-no-charge { display:grid; gap:5px; margin:0 0 18px; padding:15px 16px; border:1px solid #acd2b8; border-radius:12px; background:#eaf6ed; color:#245d36; }
.protection-no-charge span { font-size:.86rem; line-height:1.5; }
.protection-no-charge small { color:#477055; font-size:.72rem; line-height:1.4; }
.booking-future-use-check { margin-top:16px; padding:14px; border:1px solid #d9ddd8; border-radius:11px; background:#fafbfa; }
.booking-future-use-check span { display:grid; gap:5px; }
.booking-future-use-check strong { color:#2d332e; font-size:.76rem; }
.booking-future-use-check small { color:#686f69; font-size:.68rem; font-weight:500; line-height:1.45; }
.protection-wallet { display:grid; gap:9px; margin-top:17px; }
.protection-wallet small { color:#706a64; font-size:.72rem; line-height:1.4; }
.protection-payment-label { color:#393632; font-size:.76rem; font-weight:700; }
#protection-express-checkout-element { min-height:52px; }
.protection-payment-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:#7a746e; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.protection-payment-divider::before,.protection-payment-divider::after { content:""; flex:1; height:1px; background:#dedad3; }
#protection-payment-element { padding:15px; background:white; border:1px solid #bdb7af; border-radius:10px; }
#protection-submit { width:100%; margin-top:18px; padding:15px 18px; background:#171614; }
.protection-state { padding:18px; border-radius:12px; background:#f2f0ec; line-height:1.5; }
.protection-state.success { background:#e5f3e9; border:1px solid #a7ceb2; }
.protection-state.error { background:#fff0ee; border:1px solid #e1aaa3; }
@media(max-width:560px){.protection-shell{width:100%;padding:0}.protection-brand{padding:18px}.protection-card{border-radius:0;border-width:1px 0;box-shadow:none}.protection-countdown{position:sticky;top:0;z-index:2}}

/* Shared salon attendance kiosk */
.kiosk-body {
  min-width: 320px;
  min-height: 100vh;
  background: #f4f1ec;
  color: #171614;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kiosk-shell { max-width: 1200px; margin: 0 auto; padding: 0 32px 48px; }
.kiosk-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 0; border-bottom: 1px solid #dcd6ce; background: transparent; color: inherit; }
.kiosk-brand { display: flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.kiosk-brand > .fbs-system-logo { width:62px; }
.kiosk-brand div { display: grid; line-height: 1; }
.kiosk-brand strong { font-size: 1.02rem; letter-spacing: -.025em; }
.kiosk-brand small { margin-top: 5px; color: #7c756e; font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.kiosk-time { display: grid; justify-items: end; gap: 3px; }
.kiosk-time strong { font-size: 1.4rem; letter-spacing: -.04em; }
.kiosk-time span { color: #766f68; font-size: .7rem; }
.kiosk-screen { padding: 50px 0 0; }
.kiosk-heading { max-width: 680px; margin-bottom: 32px; }
.kiosk-heading p, .kiosk-person-card > p, .kiosk-pin-card > div:first-child p, .kiosk-success > p { margin: 0 0 8px; color: #8a6d49; font-size: .7rem; font-weight: 850; letter-spacing: .13em; }
.kiosk-heading h1, .kiosk-person-card h1, .kiosk-success h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 650; letter-spacing: -.055em; line-height: 1.02; }
.kiosk-heading span { display: block; margin-top: 12px; color: #736c65; font-size: .92rem; }
.kiosk-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.kiosk-team-person { display: grid; justify-items: center; gap: 7px; padding: 16px 14px 18px; border: 1px solid #ded8d1; border-radius: 18px; background: #fff; color: #171614; box-shadow: 0 8px 30px #3026190a; }
.kiosk-team-person:hover { border-color: #a8957d; background: #fff; transform: translateY(-2px); }
.kiosk-photo-wrap { position: relative; display: block; width: 112px; height: 112px; margin-bottom: 5px; }
.kiosk-photo-wrap img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 50% 23%; }
.kiosk-photo-fallback { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: #e8e2d8; color: #665844; font-size: 1.5rem; font-weight: 900; }
.kiosk-photo-wrap i { position: absolute; right: 1px; bottom: 4px; min-width: 38px; padding: 5px 7px; border: 3px solid white; border-radius: 999px; color: white; font-size: .55rem; font-style: normal; font-weight: 900; letter-spacing: .06em; }
.kiosk-photo-wrap i.in { background: #35704b; }
.kiosk-photo-wrap i.out { background: #8a837b; }
.kiosk-team-person strong { font-size: 1rem; }
.kiosk-team-person small { color: #777069; font-size: .67rem; }
.kiosk-privacy-note { margin: 24px 0 0; color: #857e77; font-size: .7rem; text-align: center; }
.kiosk-back { padding: 8px 0; background: transparent; color: #5d554d; font-size: .78rem; }
.kiosk-back:hover { background: transparent; color: #171614; }
.kiosk-pin-layout { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(340px, 1fr); gap: 26px; max-width: 900px; margin: 24px auto 0; }
.kiosk-person-card, .kiosk-pin-card { border: 1px solid #ded8d1; border-radius: 22px; background: white; box-shadow: 0 12px 40px #3026190c; }
.kiosk-person-card { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 28px; text-align: center; }
.kiosk-person-card img, .kiosk-person-photo-fallback { width: 170px; height: 210px; margin-bottom: 25px; border-radius: 16px; object-fit: cover; object-position: 50% 20%; }
.kiosk-person-photo-fallback { display: grid; place-items: center; background: #e8e2d8; color: #665844; font-size: 2.2rem; font-weight: 900; }
.kiosk-person-card h1 { font-size: 2.15rem; }
.kiosk-person-card > span { margin-top: 10px; color: #756e67; font-size: .78rem; }
.kiosk-person-card > .kiosk-person-photo-fallback { margin: 0 0 25px; color: #665844; font-size: 2.2rem; }
.kiosk-pin-card { display: grid; gap: 22px; padding: 34px; }
.kiosk-pin-card h2 { margin: 0; font-size: 1.55rem; letter-spacing: -.04em; }
.kiosk-pin-dots { display: flex; justify-content: center; gap: 16px; min-height: 22px; }
.kiosk-pin-dots span { width: 16px; height: 16px; border: 2px solid #b8aea3; border-radius: 50%; background: white; }
.kiosk-pin-dots span.filled { border-color: #171614; background: #171614; }
.kiosk-keypad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.kiosk-keypad button { min-height: 64px; border: 1px solid #ddd6ce; border-radius: 13px; background: #faf8f5; color: #201e1b; font-size: 1.25rem; font-weight: 650; }
.kiosk-keypad button:hover { border-color: #a89885; background: #f1ece6; }
.kiosk-keypad button[data-clear], .kiosk-keypad button[data-backspace] { font-size: .72rem; }
.kiosk-submit { min-height: 54px; border-radius: 12px; background: #171614; }
.kiosk-submit:hover { background: #34302b; }
.kiosk-submit:disabled { background: #aaa39c; }
.kiosk-error { min-height: 20px; margin: -8px 0 0; color: #a23f3f; font-size: .72rem; text-align: center; }
.kiosk-success { display: flex; min-height: calc(100vh - 140px); flex-direction: column; align-items: center; justify-content: center; padding-bottom: 80px; text-align: center; }
.kiosk-screen.hidden { display: none; }
.kiosk-success-mark { display: grid; place-items: center; width: 84px; height: 84px; margin-bottom: 24px; border-radius: 50%; background: #dff1e4; color: #2e7047; font-size: 2rem; font-weight: 900; }
.kiosk-success h1 { font-size: clamp(2.6rem, 7vw, 4.5rem); }
.kiosk-success > strong { margin-top: 17px; font-size: 1.7rem; }
.kiosk-success > span { margin-top: 8px; color: #716a63; font-size: .82rem; }
.kiosk-success > button { min-width: 190px; margin-top: 30px; background: #171614; }
.kiosk-load-error { grid-column: 1 / -1; padding: 30px; border: 1px solid #d7a8a8; border-radius: 14px; background: #fff0f0; color: #8d3333; text-align: center; }
@media (max-width: 850px) {
  .kiosk-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kiosk-pin-layout { grid-template-columns: 1fr; }
  .kiosk-person-card { display: grid; grid-template-columns: 100px 1fr; column-gap: 18px; justify-items: start; text-align: left; }
  .kiosk-person-card img, .kiosk-person-photo-fallback { grid-row: 1 / 5; width: 100px; height: 120px; margin: 0; }
}
@media (max-width: 520px) {
  .kiosk-shell { padding: 0 16px 30px; }
  .kiosk-header { padding: 16px 0; }
  .kiosk-time span { max-width: 130px; text-align: right; }
  .kiosk-screen { padding-top: 34px; }
  .kiosk-team-grid { gap: 10px; }
  .kiosk-team-person { padding: 13px 8px 15px; }
  .kiosk-photo-wrap { width: 84px; height: 84px; }
  .kiosk-pin-card { padding: 22px; }
}

/* Customer booking journey */
.booking-body {
  --booking-ink: #161513;
  --booking-muted: #716b64;
  --booking-line: #e6e0d8;
  --booking-cream: #f8f5f0;
  --booking-gold: #9c7b52;
  min-width: 0;
  background: #fbfaf8;
  color: var(--booking-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.booking-header { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 12px max(24px, calc((100vw - 1580px) / 2)); border-bottom: 1px solid #e8e3dc; background: #fff; color: var(--booking-ink); }
.booking-brand { display: flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.booking-brand > .fbs-system-logo { width:56px; }
.booking-brand div { display: grid; line-height: 1.05; }
.booking-brand strong { font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.booking-brand small { margin-top: 4px; color: #77716a; font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.booking-back { color: #4f4a45; font-size: .8rem; font-weight: 700; text-decoration: none; }
.booking-back:hover { color: #000; }
.booking-main { max-width: 1080px; margin: 0 auto; padding: 46px clamp(24px, 3vw, 42px) 90px; }
.booking-intro { max-width: 680px; margin-bottom: 24px; }
.booking-kicker { margin: 0 0 8px; color: var(--booking-gold); font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.booking-intro h1 { max-width: 650px; margin: 0; font-size: clamp(2.15rem, 5vw, 3.65rem); font-weight: 650; letter-spacing: -.055em; line-height: 1; }
.booking-intro > p:last-child { max-width: 570px; margin: 18px 0 0; color: var(--booking-muted); font-size: .95rem; line-height: 1.6; }
.booking-request-notice { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 12px; max-width: 720px; margin: 0 0 18px; padding: 14px 16px; border: 1px solid #decba7; border-radius: 12px; background: #fff9ed; color: #3f372d; }
.booking-request-notice > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #efe0c3; color: #735b34; font-size: .75rem; font-weight: 850; }
.booking-request-notice strong { display: block; font-size: .8rem; line-height: 1.35; }
.booking-request-notice p { margin: 4px 0 0; color: #6f6253; font-size: .72rem; line-height: 1.45; }
.booking-mode { display: inline-flex; margin-bottom: 22px; padding: 7px 10px; border: 1px solid #e4ded5; border-radius: 999px; background: #fff; color: #706a63; font-size: .67rem; }
.booking-preview-notice { display: flex; align-items: center; gap: 10px; max-width: 720px; margin: -10px 0 22px; padding: 12px 14px; border: 1px solid #d8c596; border-radius: 10px; background: #fff9e9; color: #51452e; font-size: .78rem; }
.booking-preview-notice strong { white-space: nowrap; }
.booking-preview-notice span { color: #75684d; }
.booking-internal-test-notice { border-color: #9ab79e; background: #f0f8f1; color: #294c32; }
.booking-internal-test-notice span { color: #4b6b52; }
.booking-result { margin: 0 0 24px; padding: 18px 20px; border: 1px solid #a9cfb5; border-radius: 12px; background: #edf8f0; color: #29593a; font-size: .88rem; line-height: 1.5; }
.booking-result.error { border-color: #ddb3b3; background: #fff0f0; color: #8a3131; }
.booking-confirmation-dialog { width: min(560px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; overflow: auto; border: 0; border-radius: 20px; background: white; color: var(--booking-ink); box-shadow: 0 28px 90px #17120d4f; }
.booking-confirmation-dialog::backdrop { background: #17130e99; backdrop-filter: blur(4px); }
.booking-confirmation-page { display: block; margin: 34px auto 0; }
.booking-body.booking-submitted .booking-main > :not(#request-confirmation) { display: none !important; }
.booking-confirmation-content { padding: 32px; text-align: center; }
.booking-confirmation-mark { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 16px; border-radius: 50%; background: #e3f2e7; color: #2e6a42; font-size: 1.25rem; font-weight: 850; }
.booking-confirmation-content h2 { margin: 0; font-size: 1.65rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.15; }
.booking-confirmation-intro { max-width: 450px; margin: 13px auto 22px; color: #6d665f; font-size: .82rem; line-height: 1.55; }
.booking-confirmation-message-status { max-width: 450px; margin: -8px auto 22px; padding: 11px 13px; border: 1px solid #cbdccc; border-radius: 10px; background: #f0f7f1; color: #31533a; font-size: .74rem; line-height: 1.45; }
.booking-confirmation-message-status.notice { border-color: #decda7; background: #fff9ea; color: #66552f; }
.booking-confirmation-message-status.error { border-color: #dfb5b5; background: #fff1f1; color: #843636; }
.booking-confirmation-visit { overflow: hidden; border: 1px solid #e2ddd6; border-radius: 14px; background: #fbfaf8; text-align: left; }
.booking-confirmation-date, .booking-confirmation-reference { display: grid; gap: 4px; padding: 15px 17px; }
.booking-confirmation-date { border-bottom: 1px solid #e5e0da; }
.booking-confirmation-date span, .booking-confirmation-reference span { color: #80786f; font-size: .61rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.booking-confirmation-date strong { font-size: .9rem; }
.booking-confirmation-reference { grid-template-columns: 1fr auto; align-items: center; border-top: 1px solid #e5e0da; }
.booking-confirmation-reference strong { font-size: .72rem; }
.booking-confirmation-services { display: grid; gap: 0; }
.booking-confirmation-service { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 13px 17px; }
.booking-confirmation-service + .booking-confirmation-service { border-top: 1px solid #ebe7e1; }
.booking-confirmation-service > div { display: grid; gap: 3px; min-width: 0; }
.booking-confirmation-service strong { font-size: .78rem; }
.booking-confirmation-service span { color: #746d65; font-size: .67rem; }
.booking-confirmation-service time { color: #3f3933; font-size: .7rem; font-weight: 750; white-space: nowrap; }
.booking-confirmation-calendar-note { margin: 22px 0 11px; color: #4f4943; font-size: .75rem; font-weight: 650; }
.booking-confirmation-actions { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.booking-confirmation-actions button { padding: 12px 15px; border-radius: 9px; font-size: .75rem; }
.booking-confirmation-actions button:first-child { background: #1e1c19; }
.booking-confirmation-actions button:first-child:hover { background: #3b3630; }
.booking-confirmation-actions button:last-child { border: 1px solid #dcd6cf; background: white; color: #4f4943; }
.booking-confirmation-actions button:last-child:hover { background: #f5f2ee; }
.booking-confirmation-footnote { margin: 10px 0 0; color: #8a837b; font-size: .6rem; line-height: 1.45; }

.checkout-success-dialog { width: min(500px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 20px; background: #fff; color: #1f2420; box-shadow: 0 28px 90px #1018104d; }
.checkout-success-dialog::backdrop { background: #1015108f; backdrop-filter: blur(4px); }
.checkout-success-content { padding: 32px; text-align: center; }
.checkout-success-mark { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; background: #e2f3e7; color: #28633c; font-size: 1.35rem; font-weight: 900; }
.checkout-success-content h2 { margin: 4px 0 9px; font-size: 1.65rem; letter-spacing: -.04em; }
.checkout-success-content > p:not(.ops-eyebrow) { margin: 0 auto 20px; color: #626a63; font-size: .8rem; line-height: 1.5; }
.checkout-success-content dl { overflow: hidden; margin: 0 0 16px; border: 1px solid #dfe5df; border-radius: 13px; background: #fafcf9; text-align: left; }
.checkout-success-content dl div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; }
.checkout-success-content dl div + div { border-top: 1px solid #e5e9e5; }
.checkout-success-content dt { color: #6b736c; font-size: .69rem; }
.checkout-success-content dd { margin: 0; font-size: .8rem; font-weight: 800; }
.checkout-success-content .checkout-success-accounting { padding: 11px 13px; border-radius: 10px; background: #edf7ef; color: #356044; font-size: .68rem; }
.checkout-success-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
.checkout-success-actions a, .checkout-success-actions button { display: grid; min-height: 44px; place-items: center; padding: 10px 13px; border: 1px solid #d7ddd7; border-radius: 9px; background: #fff; color: #293029; font-size: .73rem; font-weight: 800; text-decoration: none; }
.checkout-success-actions a { border-color: #1d211e; background: #1d211e; color: #fff; }
@media (max-width: 540px) { .checkout-success-content { padding: 26px 19px 22px; } .checkout-success-actions { grid-template-columns: 1fr; } }
.booking-layout { display: grid; gap: 14px; max-width: 900px; margin: 0 auto; }
.booking-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; overflow: hidden; border: 1px solid #ded8d0; border-radius: 12px; background: #fff; }
.booking-progress button { position: relative; display: grid; gap: 8px; min-height: 58px; padding: 12px 9px 10px; border: 0; border-radius: 0; background: transparent; color: #8a837b; font-size: .66rem; font-weight: 750; }
.booking-progress button + button { border-left: 1px solid #eee9e3; }
.booking-progress button i { display: block; width: 100%; height: 3px; border-radius: 999px; background: #e7e1da; }
.booking-progress button.current { color: #1d1a17; background: #faf7f2; }
.booking-progress button.current i { background: #9c7b52; }
.booking-progress button.complete { color: #3d6549; }
.booking-progress button.complete i { background: #70917a; }
.booking-progress button:disabled { cursor: default; opacity: .58; }
.booking-progress-status { margin: 0 2px 2px; color: #786f66; font-size: .65rem; }
.booking-flow { display: grid; gap: 16px; }
.booking-step, .booking-summary, .booking-service-panel { border: 1px solid var(--booking-line); border-radius: 16px; background: white; box-shadow: 0 10px 35px #42311b0a; }
.booking-step { padding: 32px; }
.booking-step-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
.booking-step-heading h2 { margin: 0; font-size: 1.18rem; font-weight: 700; letter-spacing: -.025em; }
.booking-step-heading p { margin: 5px 0 0; color: var(--booking-muted); font-size: .76rem; line-height: 1.45; }
.booking-service-list { display: grid; gap: 9px; }
.booking-service-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid #e1ddd7; border-radius: 11px; background: #fff; }
.booking-service-card.active { border-color: #a58b6c; box-shadow: 0 0 0 2px #eee5da; }
.booking-service-main { display: grid; grid-template-columns: 27px minmax(0, 1fr); align-items: center; gap: 9px; min-width: 0; padding: 12px; border: 0; background: transparent; color: #1c1a18; text-align: left; }
.booking-service-main:hover { background: #faf8f5; }
.booking-service-main > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #f0ece6; color: #6f6252; font-size: .66rem; font-weight: 850; }
.booking-service-main div { display: grid; gap: 3px; }
.booking-service-main strong { font-size: .84rem; }
.booking-service-main small { color: var(--booking-muted); font-size: .67rem; }
.booking-service-assignment { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 12px; color: #5e574f; font-size: .7rem; }
.booking-service-assignment button { min-height: 34px; padding: 5px 7px; background: transparent; color: #6d5941; font-size: .63rem; }
.booking-service-assignment button[data-remove-service] { color: #8d4b4b; }
.booking-service-assignment button:hover { background: #f7f3ee; color: #2f2922; }
.booking-service-stylist { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 16px 8px; padding: 14px 0; border-top: 1px solid #eee9e3; }
.booking-service-stylist > div { display: flex; align-items: center; gap: 10px; }
.booking-service-stylist img, .booking-assigned-initials { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #eee7dd; }
.booking-assigned-initials { display: grid; place-items: center; color: #6d5941; font-weight: 700; }
.booking-service-stylist small, .booking-service-stylist strong { display: block; }
.booking-service-stylist small { margin-bottom: 3px; color: #786f66; font-size: .7rem; }
.booking-service-stylist strong { font-size: .9rem; }
.booking-service-stylist button { min-height: 44px; padding: 10px 14px; border: 1px solid #d3c6b5; background: #faf7f2; color: #4d3d2a; font-size: .8rem; }
.booking-stylist-picker { width: min(860px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: clamp(18px, 4vw, 32px); overflow-y: auto; border: 0; border-radius: 20px; color: var(--booking-ink); background: #fff; box-shadow: 0 28px 90px #17120d4f; }
.booking-stylist-picker::backdrop { background: #17130e99; backdrop-filter: blur(4px); }
.booking-picker-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.booking-picker-heading h2 { margin: 6px 0; font-size: 1.5rem; }
.booking-picker-heading p:not(.booking-kicker) { margin: 8px 0 0; color: #786f66; line-height: 1.5; }
.booking-picker-heading > button { flex-shrink: 0; width: 44px; height: 44px; padding: 0; background: #f4f1ed; color: #2f2922; font-size: 1.6rem; }
.booking-stylist-service-price { display: block; margin-top: 8px; color: #6d5941; font-size: .8rem; font-weight: 700; }
.booking-add-service-button { width: 100%; margin-top: 10px; padding: 11px 14px; border: 1px dashed #cfc4b6; border-radius: 10px; background: #faf8f5; color: #3f3933; font-size: .74rem; font-weight: 750; }
.booking-add-service-button:hover { border-color: #9f8b72; background: #f2ede7; }
.booking-service-browser { width: min(920px, calc(100vw - 32px)); max-height: min(780px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #fbfaf8; color: var(--booking-ink); box-shadow: 0 24px 80px #21180e45; }
.booking-service-browser::backdrop { background: #17130e99; backdrop-filter: blur(3px); }
.booking-service-browser-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 25px 27px 21px; border-bottom: 1px solid #e3ddd5; background: white; }
.booking-service-browser-header h2 { margin: 0; font-size: 1.5rem; letter-spacing: -.035em; }
.booking-service-browser-header > div > p:last-child { max-width: 620px; margin: 8px 0 0; color: var(--booking-muted); font-size: .78rem; line-height: 1.5; }
.booking-service-browser-header > button { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid #ddd6cd; border-radius: 50%; background: #faf8f5; color: #4d463f; font-size: 1.35rem; line-height: 1; }
.booking-service-browser-tools { display: grid; gap: 9px; padding: 16px 20px 8px; background: #fbfaf8; }
.booking-service-browser-tools > label { color: #70685f; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.booking-service-browser-tools > input { width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid #d7d0c7; border-radius: 10px; background: white; color: #292621; font: inherit; font-size: .8rem; }
.booking-service-category-filters { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: thin; }
.booking-service-category-filters button { flex: 0 0 auto; min-height: 38px; padding: 8px 12px; border: 1px solid #ddd5cb; border-radius: 999px; background: #fff; color: #595149; font-size: .64rem; font-weight: 750; }
.booking-service-category-filters button.selected { border-color: #292621; background: #292621; color: #fff; }
.booking-service-browser-count { margin: 3px 20px 0; color: #80776e; font-size: .62rem; }
.booking-service-browser-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: calc(min(780px, 100vh - 32px) - 245px); padding: 12px 20px 20px; overflow-y: auto; }
.booking-service-option { display: grid; grid-template-columns: 150px minmax(0, 1fr); min-height: 220px; overflow: hidden; border: 1px solid #e1dbd3; border-radius: 14px; background: white; }
.booking-service-option > img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.booking-service-option-content { display: flex; flex-direction: column; min-width: 0; padding: 16px; }
.booking-service-option-content > span { color: var(--booking-gold); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.booking-service-option-content h3 { margin: 5px 0 7px; font-size: 1.02rem; letter-spacing: -.025em; }
.booking-service-option-content > p { margin: 0; color: #6f6962; font-size: .68rem; line-height: 1.48; }
.booking-service-option-content dl { display: flex; gap: 18px; margin: 12px 0; }
.booking-service-option-content dl div { display: grid; gap: 2px; }
.booking-service-option-content dt { color: #888077; font-size: .57rem; text-transform: uppercase; }
.booking-service-option-content dd { margin: 0; font-size: .7rem; font-weight: 750; }
.booking-service-option-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.booking-service-option-actions a { color: #6e593f; font-size: .67rem; font-weight: 750; text-underline-offset: 3px; }
.booking-service-option-actions button { padding: 9px 11px; border: 0; border-radius: 8px; background: #1e1c19; color: white; font-size: .67rem; font-weight: 750; }
.booking-service-option-actions button:hover { background: #3b3630; }
.booking-service-option-actions button:disabled { background: #ded9d2; color: #756f68; cursor: default; }
.booking-service-empty { grid-column: 1 / -1; margin: 0; padding: 36px; text-align: center; }
.booking-stylist-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.booking-stylist-grid.single { grid-template-columns: minmax(0, 520px); }
.booking-stylist-level { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 8px; margin-top: 2px; padding: 2px 1px; }
.booking-stylist-level.junior { margin-top: 12px; padding-top: 16px; border-top: 1px solid #e8e2db; }
.booking-stylist-level strong { font-size: .84rem; letter-spacing: .025em; text-transform: uppercase; }
.booking-stylist-level span { color: #817970; font-size: .68rem; }
.booking-stylist { position: relative; min-height: 190px; overflow: hidden; border: 1px solid #e2ddd7; border-radius: 15px; background: white; color: #211f1c; }
.booking-stylist:hover { border-color: #bda98e; background: #fbf9f6; }
.booking-stylist.selected { border-color: #967853; background: #f8f3ed; box-shadow: inset 0 0 0 1px #967853; }
.booking-stylist-select { display: grid; grid-template-columns: minmax(116px, 38%) minmax(0, 1fr); align-items: stretch; gap: 0; width: 100%; min-height: 190px; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-align: left; }
.booking-stylist-select:hover { background: transparent; }
.booking-stylist img { width: 100%; height: 100%; min-height: 190px; border-radius: 0; object-fit: cover; object-position: 50% 24%; }
.booking-stylist-photo-fallback { display: grid; place-items: center; width: 100%; min-height: 190px; background: #e8e1d5; color: #6b5b45; font-size: 2rem; font-weight: 850; letter-spacing: .05em; }
.booking-stylist-photo-fallback.dialog { height: 100%; min-height: 520px; font-size: 3rem; }
.booking-stylist-overview { display: grid; min-width: 0; gap: 6px; align-self: stretch; align-content: center; padding: 18px 16px 42px; }
.booking-stylist strong { font-size: 1.08rem; }
.booking-stylist small { color: #766d63; font-size: .7rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.booking-stylist p { display: -webkit-box; overflow: hidden; margin: 4px 0 0; color: #5f5952; font-size: .72rem; font-weight: 500; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.booking-stylist-languages { display: grid; gap: 2px; margin-top: 3px; color: #635b52; font-size: .66rem; line-height: 1.35; }
.booking-stylist-languages b { color: #8a8177; font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }
.booking-stylist-languages span { white-space: normal; }
.booking-stylist i { position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #171614; color: white; font-size: .75rem; font-style: normal; box-shadow: 0 2px 8px #0002; }
.booking-stylist-more { position: absolute; right: 18px; bottom: 15px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: #715a3f; font-size: .67rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.booking-stylist-more:hover { background: transparent; color: #2f2922; }
.booking-stylist-dialog { grid-template-columns: minmax(300px, 43%) minmax(0, 1fr); width: min(900px, calc(100vw - 28px)); min-height: 520px; max-height: calc(100vh - 34px); padding: 0; overflow: hidden; border: 0; border-radius: 20px; background: white; color: var(--booking-ink); box-shadow: 0 28px 90px #17120d4f; }
.booking-stylist-dialog[open] { display: grid; }
.booking-stylist-dialog::backdrop { background: #17130e99; backdrop-filter: blur(4px); }
.booking-stylist-dialog-portrait { min-height: 520px; overflow: hidden; background: #e9e4de; }
.booking-stylist-dialog-portrait img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: 50% 22%; }
.booking-stylist-dialog-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #ffffffa8; border-radius: 50%; background: #171614d9; color: white; font-size: 1.4rem; line-height: 1; }
.booking-stylist-dialog-close:hover { background: #171614; }
.booking-stylist-dialog-content { align-self: center; padding: 46px 42px; }
.booking-stylist-dialog-content h2 { margin: 0; font-size: 2rem; letter-spacing: -.045em; }
.booking-stylist-dialog-content > strong { display: block; margin-top: 5px; color: #776d62; font-size: .72rem; letter-spacing: .045em; text-transform: uppercase; }
.booking-stylist-dialog-content > p:not(.booking-kicker) { margin: 18px 0 0; color: #514b45; font-size: .9rem; line-height: 1.65; }
.booking-stylist-dialog-languages { display: grid; gap: 5px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #e7e1da; }
.booking-stylist-dialog-languages span { color: #887e73; font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.booking-stylist-dialog-languages b { font-size: .82rem; }
.booking-soft-note { margin: 13px 0 0; color: #756f68; font-size: .68rem; line-height: 1.5; }
.booking-calendar-header { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; margin-bottom: 10px; }
.booking-calendar-header strong { text-align: center; font-size: .86rem; font-weight: 700; }
.booking-calendar-header button { width: 32px; height: 32px; padding: 0; border: 1px solid #e1ddd7; border-radius: 50%; background: white; color: #312e2a; font-size: 1.2rem; }
.booking-calendar-header button:hover { background: #f5f2ee; }
.booking-date-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.booking-date-strip button { position: relative; display: grid; justify-items: center; gap: 4px; min-height: 84px; padding: 9px 4px 15px; border: 1px solid #e2ddd7; border-radius: 10px; background: white; color: #2b2824; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.booking-date-strip button:hover { border-color: #bda98e; background: #faf8f5; }
.booking-date-strip button > i { position: absolute; bottom: 7px; width: 7px; height: 7px; border-radius: 50%; background: #c9c4bd; }
.booking-date-strip button.availability-green { border-color: #b8d5c1; background: #edf6ef; }
.booking-date-strip button.availability-green > i { background: #4f8a60; }
.booking-date-strip button.availability-yellow { border-color: #dec585; background: #fbf2da; }
.booking-date-strip button.availability-yellow > i { background: #b78620; }
.booking-date-strip button.availability-red { border-color: #d9aca5; background: #f8e9e6; }
.booking-date-strip button.availability-red > i { background: #b9574d; }
.booking-date-strip button.availability-closed { border-color: #dededb; background: #f0f0ee; color: #96938e; cursor: not-allowed; }
.booking-date-strip button.availability-closed > i { background: #a4a19c; }
.booking-date-strip button.availability-closed:hover { border-color: #dededb; background: #f0f0ee; }
.booking-date-strip button.selected { border-color: #1e1c19; box-shadow: inset 0 0 0 1px #1e1c19; }
.booking-date-strip span, .booking-date-strip small { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.booking-date-strip strong { font-size: 1.08rem; font-weight: 700; }
.booking-availability-legend { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 11px; color: #655f58; font-size: .59rem; font-weight: 700; }
.booking-availability-legend span { display: inline-flex; align-items: center; gap: 5px; }
.booking-availability-legend i { width: 8px; height: 8px; border-radius: 50%; background: #aaa; }
.booking-availability-legend i.green { background: #4f8a60; }
.booking-availability-legend i.yellow { background: #b78620; }
.booking-availability-legend i.red { background: #b9574d; }
.booking-availability-legend i.closed { background: #a4a19c; }
.booking-availability-note { margin: 7px 0 0; color: #777068; font-size: .62rem; line-height: 1.45; }
.booking-time-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 22px 0 10px; }
.booking-time-heading > div:first-child { display: grid; gap: 4px; }
.booking-time-heading strong { font-size: .8rem; }
.booking-time-heading span { color: var(--booking-muted); font-size: .63rem; }
.booking-time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; min-height: 52px; }
.booking-time-grid > p { grid-column: 1 / -1; margin: 0; padding: 17px; border: 1px dashed #ded8d0; border-radius: 9px; color: #7d766e; text-align: center; font-size: .72rem; }
.booking-time-grid button { display: grid; gap: 3px; padding: 10px 5px; border: 1px solid #ded9d2; border-radius: 9px; background: white; color: #26231f; }
.booking-time-grid button:hover { background: #f7f4ef; }
.booking-time-grid button.selected { border-color: #1e1c19; background: #1e1c19; color: white; box-shadow: 0 0 0 2px #e7ded2; }
.booking-time-grid strong { font-size: .77rem; }
.booking-time-grid .booking-more-times { grid-column: 1 / -1; min-height: 42px; border-style: dashed; color: #66533e; font-size: .69rem; font-weight: 800; }
.booking-promotion-options { grid-column: 1 / -1; padding: 20px; border: 1px solid #d6cbbd; border-radius: 12px; background: #faf7f2; }
.booking-time-grid .booking-promotion-options > strong { font-size: 1rem; line-height: 1.5; }
.booking-promotion-options p { margin: 8px 0 16px; font-size: 1rem; line-height: 1.5; color: #534d45; }
.booking-promotion-options > div { display: flex; gap: 10px; flex-wrap: wrap; }
.booking-time-grid .booking-promotion-options button { flex: 1 1 200px; min-height: 48px; padding: 12px 16px; font-size: .875rem; font-weight: 700; line-height: 1.4; }
.booking-time-grid .booking-promotion-options button:first-child { background: #2e5d46; color: #fff; border-color: #2e5d46; }
.booking-promotion-options small { display: block; margin-top: 12px; font-size: .875rem; color: #655e55; }
.booking-date-strip .availability-restricted { border-style: dashed; }
.booking-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.booking-details-grid label { gap: 6px; color: #4e4943; font-size: .7rem; }
.booking-details-grid label > span { color: #8a847d; font-weight: 500; }
.booking-details-grid .wide { grid-column: 1 / -1; }
.booking-details-grid input, .booking-details-grid textarea { width: 100%; padding: 11px 12px; border: 1px solid #dcd6cf; border-radius: 9px; background: #fff; font: inherit; font-size: .8rem; }
.booking-details-grid textarea { resize: vertical; }
.booking-payment { display: grid; gap: 10px; margin-top: 18px; padding: 14px; border: 1px solid #e1dcd5; border-radius: 11px; background: #faf8f5; }
.booking-payment > div:first-child { display: grid; gap: 4px; }
.booking-payment strong { font-size: .76rem; }
.booking-payment span { color: #736d66; font-size: .64rem; line-height: 1.4; }
#card-container:not(:empty) { min-height: 44px; padding: 13px 12px; border: 1px solid #cbc5bc; border-radius: 8px; background: #fff; box-shadow: inset 0 1px 1px rgba(42, 39, 35, .03); }
.booking-policy { margin-top: 14px; padding: 11px 12px; border: 1px solid #e1dcd5; border-radius: 9px; }
.booking-policy summary { cursor: pointer; font-size: .72rem; font-weight: 750; }
.booking-policy p { margin: 11px 0 0; color: #6f6962; font-size: .66rem; line-height: 1.5; white-space: pre-wrap; }
.booking-check { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; margin-top: 13px; color: #5b554e; font-size: .69rem; font-weight: 550; line-height: 1.45; }
.booking-check input { width: auto; margin-top: 2px; }
.booking-sms-consent-panel { display: grid; gap: 12px; margin-top: 18px; padding: 16px; border: 2px solid #bca780; border-radius: 12px; background: #fffaf0; box-shadow: 0 5px 18px #795b2412; }
.booking-sms-consent-heading { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 10px; }
.booking-sms-consent-heading > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #2d5b42; color: white; font-size: .8rem; }
.booking-sms-consent-heading > div { display: grid; gap: 3px; }
.booking-sms-consent-heading strong { color: #29231c; font-size: .86rem; }
.booking-sms-consent-heading p { margin: 0; color: #665d51; font-size: .7rem; line-height: 1.45; }
.booking-sms-consent { grid-template-columns: 26px minmax(0, 1fr); gap: 11px; margin: 0; padding: 12px; border: 1px solid #d8c9ad; border-radius: 10px; background: #fff; cursor: pointer; }
.booking-sms-consent:focus-within { outline: 3px solid #9db8a6; outline-offset: 2px; }
.booking-sms-consent input { width: 23px; height: 23px; margin: 0; accent-color: #2d6948; cursor: pointer; }
.booking-sms-consent > span { display: grid; gap: 5px; }
.booking-sms-consent b { color: #2e2923; font-size: .77rem; line-height: 1.35; }
.booking-sms-consent small { color: #746b60; font-size: .61rem; font-weight: 500; line-height: 1.48; }
.booking-sms-terms { margin: -3px 3px 0 38px; color: #6d5941; }
.booking-sms-terms summary { font-size: .63rem; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.booking-sms-terms small { display: block; margin-top: 7px; color: #746b60; font-size: .61rem; line-height: 1.48; }
.booking-sms-terms a { color: #58452e; font-weight: 750; text-underline-offset: 2px; }
.booking-sms-consent a { color: #58452e; font-weight: 750; text-underline-offset: 2px; }
.booking-card-disclosure { margin: 7px 0 0 27px; color: #77716a; font-size: .62rem; line-height: 1.45; }
.booking-fee-check { padding: 12px; border: 1px solid #decba7; border-radius: 9px; background: #fff9ed; color: #4b3d2c; font-weight: 700; }
.booking-service-panel { padding: 20px; }
.booking-service-panel h2 { margin: 0; font-size: 1.12rem; font-weight: 700; letter-spacing: -.025em; }
.booking-service-panel > p:not(.booking-kicker) { margin: 6px 0 15px; color: var(--booking-muted); font-size: .67rem; line-height: 1.45; }
.booking-service-panel .booking-service-card { grid-template-columns: 1fr; }
.booking-service-panel .booking-service-assignment { padding: 4px 12px 10px 48px; }
.booking-summary { padding: 24px; }
.booking-summary h2 { margin: 0 0 18px; font-size: 1.28rem; font-weight: 700; letter-spacing: -.025em; }
.booking-summary-services { display: grid; gap: 10px; padding-bottom: 15px; border-bottom: 1px solid #e4dfd8; }
.booking-summary-services > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.booking-summary-services span { display: grid; gap: 3px; }
.booking-summary-services strong { font-size: .76rem; }
.booking-summary-services small { color: #777068; font-size: .63rem; }
.booking-summary-services b { font-size: .75rem; }
.booking-summary dl { display: grid; gap: 10px; margin: 15px 0; }
.booking-summary dl > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; font-size: .69rem; }
.booking-summary dt { color: #746d66; }
.booking-summary dd { margin: 0; font-weight: 750; text-align: right; }
.booking-summary > button { width: 100%; padding: 13px; border-radius: 9px; background: #1e1c19; font-size: .79rem; }
.booking-summary > button:hover { background: #3b3630; }
.booking-summary > p:last-child { margin: 11px 0 0; color: #77716a; font-size: .62rem; line-height: 1.45; text-align: center; }
.booking-review-step { max-width: 760px; margin: 0 auto; }
.booking-review-totals { display: grid; gap: 10px; margin: 16px 0; padding: 15px 0; border-bottom: 1px solid #e4dfd8; }
.booking-review-totals > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; font-size: .74rem; }
.booking-review-totals dt { color: #746d66; }
.booking-review-totals dd { margin: 0; font-weight: 750; text-align: right; }
.booking-final-notice { display: grid; gap: 3px; margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: #f2eee8; color: #38322c; }
.booking-final-notice strong { font-size: .72rem; }
.booking-final-notice span { color: #6e665e; font-size: .65rem; }
.booking-submit { width: 100%; min-height: 50px; margin-top: 12px; border-radius: 10px; background: #1e1c19; font-size: .8rem; font-weight: 800; }
.booking-stage-actions { display: flex; justify-content: space-between; gap: 10px; }
.booking-stage-actions button { min-width: 130px; min-height: 56px; padding: 14px 22px; border-radius: 10px; font-size: 1.125rem; line-height: 1.4; font-weight: 800; }
.booking-body dialog:not([open]), .booking-body [hidden] { display: none !important; }
.booking-stage-actions button:first-child { border: 1px solid #d7d0c7; background: #fff; color: #4c453e; }
.booking-stage-actions button:last-child { margin-left: auto; background: #1e1c19; color: #fff; }

@media (max-width: 1420px) {
  .booking-stylist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-stylist-more { right: 16px; }
}
@media (max-width: 900px) {
  .booking-main { padding-top: 38px; }
}
@media (max-width: 620px) {
  .booking-header { min-height: 66px; padding: 10px 16px; }
  .booking-brand > .fbs-system-logo { width:50px; }
  .booking-back { font-size: .7rem; }
  .booking-main { padding: 24px 12px 112px; }
  .booking-intro { margin-bottom: 16px; }
  .booking-intro h1 { font-size: 2.05rem; }
  .booking-intro > p:last-child { margin-top: 11px; font-size: .82rem; }
  .booking-request-notice { padding: 11px 12px; }
  .booking-mode { margin-bottom: 14px; }
  .booking-progress { position: sticky; top: 0; z-index: 8; margin: 0 -4px; border-radius: 10px; box-shadow: 0 7px 18px #2f241711; }
  .booking-progress button { min-height: 51px; padding: 10px 3px 8px; font-size: .57rem; }
  .booking-progress-status { margin-top: 1px; }
  .booking-step, .booking-summary { padding: 18px; border-radius: 13px; }
  .booking-stylist-grid { grid-template-columns: 1fr; }
  .booking-stylist-grid.single { grid-template-columns: 1fr; }
  .booking-stylist, .booking-stylist-select { min-height: 148px; }
  .booking-stylist-select { grid-template-columns: 102px minmax(0, 1fr); }
  .booking-stylist img { min-height: 148px; }
  .booking-stylist-photo-fallback { min-height: 148px; }
  .booking-stylist-overview { padding: 13px 12px 36px; }
  .booking-stylist p { -webkit-line-clamp: 2; }
  .booking-stylist-languages { font-size: .62rem; }
  .booking-stylist-more { right: 11px; bottom: 9px; }
  .booking-stylist-dialog { max-height: calc(100vh - 18px); overflow-y: auto; }
  .booking-stylist-dialog[open] { display: block; }
  .booking-stylist-dialog-portrait { min-height: 0; height: min(390px, 45vh); }
  .booking-stylist-dialog-portrait img { min-height: 0; height: 100%; }
  .booking-stylist-photo-fallback.dialog { min-height: 0; height: 100%; }
  .booking-stylist-dialog-content { padding: 22px 20px 24px; }
  .booking-stylist-dialog-content h2 { font-size: 1.65rem; }
  .booking-date-strip { gap: 4px; overflow-x: auto; }
  .booking-date-strip button { min-width: 53px; }
  .booking-time-heading { align-items: flex-start; flex-direction: column; }
  .booking-time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .booking-details-grid { grid-template-columns: 1fr; }
  .booking-details-grid .wide { grid-column: auto; }
  .booking-service-card { grid-template-columns: 1fr; }
  .booking-service-assignment { justify-content: space-between; padding: 0 12px 10px 48px; }
  .booking-service-browser { width: calc(100vw - 18px); max-height: calc(100vh - 18px); }
  .booking-service-browser-header { padding: 20px 18px 17px; }
  .booking-service-browser-tools { padding: 13px 12px 6px; }
  .booking-service-browser-count { margin-left: 12px; }
  .booking-service-browser-list { grid-template-columns: 1fr; max-height: calc(100vh - 270px); padding: 10px 12px 16px; }
  .booking-service-option { grid-template-columns: 98px minmax(0, 1fr); min-height: 174px; }
  .booking-service-option > img { min-height: 174px; }
  .booking-service-option-content { padding: 12px; }
  .booking-service-option-content h3 { margin-bottom: 5px; font-size: .92rem; }
  .booking-service-option-content > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .booking-service-option-content dl { gap: 13px; margin: 9px 0; }
  .booking-stage-actions { position: fixed; z-index: 7; right: 0; bottom: 0; left: 0; padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); border-top: 1px solid #ded8d0; background: #fffdfbf2; box-shadow: 0 -10px 30px #2f241717; backdrop-filter: blur(12px); }
  .booking-stage-actions button { flex: 1; min-width: 0; }
  .booking-confirmation-content { padding: 26px 19px 22px; }
  .booking-confirmation-content h2 { font-size: 1.4rem; }
  .booking-confirmation-actions { grid-template-columns: 1fr; }
  .booking-confirmation-actions button:last-child { order: 2; }
}

/* Checkout and retail workspace */
.checkout-body { min-width: 1080px; }
.checkout-sidebar { overflow-y: auto; }
.checkout-sidebar-guide { margin: 8px 3px 18px; padding: 18px 14px; border: 1px solid #e2e4e7; border-radius: 12px; background: #fafafa; }
.checkout-sidebar-guide h2 { margin: 4px 0 12px; font-size: 1rem; }
.checkout-sidebar-guide ol { margin: 0; padding-left: 20px; color: #4e5358; font-size: .75rem; line-height: 1.65; }
.checkout-sidebar-guide > p:last-child { margin: 13px 0 0; padding-top: 12px; border-top: 1px solid #e2e4e7; color: #7b5a24; font-size: .7rem; line-height: 1.45; }
.checkout-main { min-height: 100vh; }
.checkout-layout { display: grid; grid-template-columns: minmax(600px, 1fr) 360px; gap: 18px; align-items: start; padding: 20px 24px; }
.checkout-builder { display: grid; gap: 15px; }
.checkout-section, .checkout-ticket, .checkout-recent { border: 1px solid #e0e3e6; border-radius: 13px; background: white; box-shadow: 0 1px 2px #1b20260a; }
.checkout-section { padding: 20px; }
.checkout-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.checkout-section-heading h2 { margin: 3px 0 0; font-size: 1.08rem; letter-spacing: -.015em; }
.checkout-section label { color: #50555a; font-size: .73rem; }
.checkout-section input, .checkout-section select { border-color: #d1d5d9; border-radius: 8px; font-size: .82rem; }
.checkout-help { margin: 8px 0 0; color: #777d82; font-size: .72rem; line-height: 1.45; }
.checkout-customer-search { display: grid; gap: 6px; }
.checkout-customer-search input { width: 100%; min-height: 45px; padding: 10px 13px; font-size: .88rem; }
.checkout-customer-fields { display: grid; grid-template-columns: 1.1fr .9fr 1.1fr; gap: 10px; margin-top: 12px; }
.checkout-customer-fields label { display: grid; gap: 5px; font-weight: 700; }
.checkout-customer-fields input { width: 100%; padding: 10px; }
.checkout-selected-customer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 10px 0 0; padding: 12px 13px; border: 1px solid #bed7c6; border-radius: 9px; background: #f3faf5; }
.checkout-selected-customer div { display: grid; gap: 3px; }
.checkout-selected-customer strong { font-size: .84rem; }
.checkout-selected-customer span { color: #56705e; font-size: .68rem; }
.checkout-appointment-link { display: grid; gap: 5px; margin-top: 15px; padding-top: 15px; border-top: 1px solid #e4e6e8; }
.checkout-appointment-link label { font-weight: 750; }
.checkout-appointment-link label span { margin-left: 5px; color: #8a8f94; font-size: .62rem; font-weight: 650; }
.checkout-appointment-link select { width: 100%; padding: 10px; background: #fff; }
.checkout-extra-options { margin-top: 13px; border-top: 1px solid #e4e6e8; }
.checkout-extra-options > summary { padding: 13px 0 0; cursor: pointer; color: #59605b; font-size: .69rem; font-weight: 800; }
.checkout-extra-options .checkout-employee-panel { margin-top: 10px; }
.checkout-subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 3px 0 12px; }
.checkout-subsection-heading h3 { margin: 0; font-size: .9rem; }
.checkout-subsection-heading p { margin: 3px 0 0; color: #7b8085; font-size: .67rem; }
.checkout-add-actions { display: flex; align-items: center; gap: 7px; }
.checkout-add-actions button { padding: 8px 11px; font-size: .7rem; white-space: nowrap; }
.checkout-optional-workspace { margin-top: 12px; padding: 14px; border: 1px solid #e0e3e5; border-radius: 10px; background: #fafbfa; }
.checkout-gift-card-workspace{border-color:#d9c9ad;background:#fbf8f1}.checkout-gift-card-safety{display:grid;gap:4px;margin-bottom:12px;padding:11px 12px;border:1px solid #c9ddce;border-radius:10px;background:#eef7f0;color:#315e3c}.checkout-gift-card-safety strong{font-size:.7rem}.checkout-gift-card-safety span{font-size:.61rem;line-height:1.45}.checkout-gift-card-safety.unsafe{border-color:#deb8b4;background:#fbefee;color:#8c3530}.checkout-gift-card-readiness{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-3px 0 12px}.checkout-gift-card-readiness span{padding:6px 9px;border-radius:999px;font-size:.56rem;font-weight:800}.checkout-gift-card-readiness .ready{background:#e7f2e9;color:#315e3c}.checkout-gift-card-readiness .waiting{background:#eee9df;color:#716655}.checkout-gift-card-readiness button{margin-left:auto}.checkout-gift-card-presets{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.checkout-gift-card-presets button{min-width:66px;padding:8px 11px;border:1px solid #d3c2a5;border-radius:999px;background:#fff;color:#57482f;font-size:.68rem;font-weight:800}.checkout-gift-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-gift-card-fields>label{display:grid;gap:5px;color:#4f4b43;font-size:.63rem;font-weight:800}.checkout-gift-card-fields input,.checkout-gift-card-activation input{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #d7d1c7;border-radius:9px;background:#fff;padding:8px 10px;font:inherit}.checkout-money-field{display:flex;align-items:center;border:1px solid #d7d1c7;border-radius:9px;background:#fff;padding-left:10px}.checkout-money-field input{border:0;padding-left:5px}.checkout-gift-card-rules{display:grid;gap:5px;margin:12px 0;padding-left:18px;color:#686158;font-size:.6rem;line-height:1.4}.checkout-gift-card-result{margin:11px 0 0;padding:10px 11px;border-radius:9px;background:#e9f4eb;color:#2f653d;font-size:.63rem;line-height:1.45}.checkout-gift-card-recent{display:grid;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid #e2d8c7}.checkout-gift-card-recent h4,.checkout-gift-card-recent p{margin:0;font-size:.62rem}.checkout-gift-card-recent p{color:#777067}.checkout-gift-card-recent article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e8dfd1;flex-wrap:wrap}.checkout-gift-card-recent article>span{display:grid;gap:2px;min-width:170px;flex:1}.checkout-gift-card-recent article strong{font-size:.66rem}.checkout-gift-card-recent article small{color:#746c60;font-size:.55rem}.checkout-gift-card-recent article b{font-size:.7rem}.checkout-gift-card-activation{display:flex;align-items:end;gap:7px;width:100%;padding:8px;border-radius:9px;background:#f2ece1}.checkout-gift-card-activation label{display:grid;gap:4px;flex:1;font-size:.56rem;font-weight:800}.checkout-gift-card-activation button{min-height:40px}
.checkout-retail-heading { margin-top: 0; }
.checkout-close-workspace { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 1px solid #d7dade !important; border-radius: 50% !important; background: white !important; color: #52575c !important; font-size: 1rem; }
.checkout-inline-picker { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(140px, 1fr) 105px auto; gap: 8px; align-items: end; margin-bottom: 11px; padding: 12px; border: 1px solid #dce1de; border-radius: 9px; background: #f8faf9; }
.checkout-inline-picker.hidden { display: none; }
.checkout-inline-picker label { display: grid; gap: 5px; font-weight: 700; }
.checkout-inline-picker input, .checkout-inline-picker select { width: 100%; padding: 9px; }
.checkout-inline-picker button { padding: 10px 15px; }
.checkout-employee-panel { display: grid; gap: 11px; margin-top: 17px; padding: 14px; border: 1px solid #dfd7bd; border-radius: 11px; background: #fffdf7; }
.checkout-employee-toggle { display: flex !important; align-items: flex-start; gap: 10px; cursor: pointer; }
.checkout-employee-toggle input { width: auto; margin: 3px 0 0; }
.checkout-employee-toggle span { display: grid; gap: 3px; }
.checkout-employee-toggle strong { color: #302d24; font-size: .8rem; }
.checkout-employee-toggle small { color: #77705d; font-size: .68rem; line-height: 1.4; }
#employee-person-field { display: grid; gap: 5px; max-width: 360px; font-weight: 700; }
#employee-discount-note { margin: 0; color: #675e45; font-size: .7rem; line-height: 1.45; }
.checkout-badge { padding: 5px 8px; border-radius: 999px; background: #eef5ef; color: #355d3c; font-size: .68rem; font-weight: 750; }
.checkout-line-list { display: grid; gap: 8px; }
.checkout-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 62px; padding: 11px 12px; border: 1px solid #e3e5e7; border-radius: 9px; background: #fff; }
.checkout-line > div:first-child { display: grid; gap: 4px; min-width: 0; }
.checkout-line strong { font-size: .82rem; }
.checkout-line span { overflow: hidden; color: #747a80; font-size: .69rem; line-height: 1.35; text-overflow: ellipsis; }
.checkout-line-end { display: grid; justify-items: end; gap: 7px; }
.checkout-live-test { display: grid; gap: 10px; margin-top: 12px; padding: 13px; border: 1px solid #d8c998; border-radius: 10px; background: #fffdf4; }
.checkout-live-test.hidden { display: none; }
.checkout-live-test strong { color: #302b1d; font-size: .78rem; }
.checkout-live-test p { margin: 4px 0 0; color: #71694f; font-size: .68rem; line-height: 1.45; }
.checkout-live-test button { width: 100%; min-height: 38px; border-color: #2c2c2c; color: #1f1f1f; font-weight: 750; }
.checkout-live-test-result { padding-top: 9px; border-top: 1px solid #e4d9b4; color: #355d3c !important; font-weight: 700; }
.checkout-live-test-result.hidden { display: none; }
.checkout-reward-toggle { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 6px !important; color: #555b60 !important; font-size: .68rem !important; font-weight: 650 !important; }
.checkout-reward-toggle input { width: auto; margin: 0; }
.checkout-credit-panel { margin-top: 14px; padding: 16px; border: 1px solid #b9dbc4; border-radius: 14px; background: #f1faf4; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr); gap: 18px; align-items: end; }
.checkout-credit-panel strong { color: #176b3a; }
.checkout-credit-panel p { margin: 5px 0 0; color: #4e6355; line-height: 1.45; }
.checkout-credit-panel label { display: grid; gap: 6px; font-weight: 700; color: #244b32; }
.checkout-empty { margin: 0; padding: 17px; border: 1px dashed #d7dade; border-radius: 9px; color: #7b8086; text-align: center; font-size: .75rem; }
.checkout-catalog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 11px; }
.checkout-catalog-toolbar label { display: grid; flex: 1; gap: 5px; }
.checkout-catalog-toolbar input { width: 100%; padding: 10px 12px; }
.checkout-catalog-toolbar > span { flex: 0 0 auto; padding-bottom: 9px; color: #737a76; font-size: .67rem; font-weight: 700; }
.checkout-product-list { display: grid; max-height: 390px; overflow-y: auto; margin-bottom: 15px; border: 1px solid #e1e4e6; border-radius: 10px; }
.checkout-product-row { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(150px, .65fr) 100px 62px; gap: 12px; align-items: center; min-height: 58px; padding: 9px 11px; border-bottom: 1px solid #e8eaeb; background: #fff; }
.checkout-product-row:last-child { border-bottom: 0; }
.checkout-product-row:hover { background: #fafbfa; }
.checkout-product-row:not(.has-variations) { grid-template-columns: minmax(190px, 1fr) 100px 62px; }
.checkout-product-copy { display: grid; gap: 3px; min-width: 0; }
.checkout-product-copy strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.checkout-product-copy span { color: #7b8085; font-size: .63rem; }
.checkout-product-row select { min-width: 0; width: 100%; padding: 7px 8px; background: white; font-size: .67rem; }
.checkout-product-row b { justify-self: end; font-size: .75rem; white-space: nowrap; }
.checkout-product-row button { padding: 7px 10px; font-size: .67rem; }
.checkout-product-empty { grid-column: 1 / -1; }
.checkout-retail-line { grid-template-columns: minmax(190px, 1fr) 70px 160px auto; }
.checkout-retail-line label, .checkout-tip-line label { display: grid; gap: 4px; }
.checkout-retail-line input, .checkout-retail-line select, .checkout-tip-line input, .checkout-tip-line select { padding: 8px; }
.checkout-remove { width: 27px; height: 27px; padding: 0; border: 1px solid #d9dcdf !important; border-radius: 50% !important; background: white !important; color: #5b6065 !important; }
.checkout-tip-line { grid-template-columns: minmax(180px, 1fr) 140px 30px; }
.checkout-search-results { display: grid; max-height: 190px; overflow-y: auto; margin: 5px 0 12px; border-radius: 8px; }
.checkout-search-results button { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid #e1e4e6 !important; border-bottom: 0 !important; border-radius: 0 !important; background: #fff !important; color: #202326 !important; text-align: left; box-shadow: none !important; }
.checkout-search-results button:first-child { border-radius: 8px 8px 0 0 !important; }
.checkout-search-results button:last-child { border-bottom: 1px solid #e1e4e6 !important; border-radius: 0 0 8px 8px !important; }
.checkout-search-results button:only-child { border-radius: 8px !important; }
.checkout-search-results button:hover, .checkout-search-results button:focus-visible { background: #f1f4f2 !important; color: #171a18 !important; }
.checkout-search-results button strong { color: #202326 !important; font-size: .76rem; }
.checkout-search-results button span, .checkout-search-results p { color: #656b70 !important; font-size: .67rem; }
.checkout-ticket { position: sticky; top: 18px; overflow: hidden; padding: 20px; }
.checkout-ticket-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #e2e4e6; }
.checkout-ticket-header h2 { margin: 3px 0 0; font-size: 1.2rem; }
.checkout-status { padding: 5px 8px; border-radius: 999px; background: #eceeef; color: #555b60; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.checkout-status.completed { background: #e3f2e7; color: #2d653d; }
.checkout-status.ready { background: #fff2cc; color: #715d20; }
.checkout-ticket-customer { display: grid; gap: 4px; min-height: 64px; padding: 16px 0; color: #777d82; font-size: .75rem; }
.checkout-ticket-customer strong { color: #202326; font-size: .88rem; }
.checkout-ticket-customer span { font-size: .68rem; }
.checkout-ticket-lines { display: grid; gap: 8px; padding-bottom: 13px; border-bottom: 1px solid #e2e4e6; }
.checkout-ticket-lines > div { display: flex; justify-content: space-between; gap: 15px; font-size: .72rem; }
.checkout-ticket-lines > div span { color: #555b60; }
.checkout-ticket-lines > p { margin: 0; color: #7a8085; font-size: .72rem; }
.checkout-transfer-preview { margin: 13px 0 0; }
.checkout-transfer-preview:empty { display: none; }
.checkout-transfer-preview details { overflow: hidden; border: 1px solid #dfe4e1; border-radius: 9px; background: #fafcfb; }
.checkout-transfer-preview summary { padding: 10px 11px; cursor: pointer; color: #2e4535; font-size: .69rem; font-weight: 800; list-style-position: inside; }
.checkout-transfer-columns { display: grid; gap: 8px; padding: 0 9px 9px; }
.checkout-transfer-columns article { padding: 9px; border: 1px solid #e4e7e5; border-radius: 7px; background: white; }
.checkout-transfer-label { display: block; margin-bottom: 7px; color: #5f6d64; font-size: .59rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.checkout-transfer-columns ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.checkout-transfer-columns li { display: grid; gap: 2px; color: #353b37; font-size: .65rem; line-height: 1.35; }
.checkout-transfer-columns li span { color: #747c76; font-size: .61rem; }
.checkout-transfer-columns article:nth-child(2) li { display: flex; justify-content: space-between; gap: 8px; }
.checkout-transfer-columns article:nth-child(2) li span { color: #353b37; }
.checkout-transfer-owner { margin: 0 0 7px; color: #68716b; font-size: .62rem; }
.checkout-transfer-columns small { display: block; margin-top: 8px; color: #707973; font-size: .58rem; line-height: 1.4; }
.checkout-simulation-lock { margin: 0; padding: 8px 10px; border-top: 1px solid #dfe4e1; background: #edf5ef; color: #386046; font-size: .59rem; font-weight: 800; text-align: center; text-transform: uppercase; letter-spacing: .045em; }
.checkout-totals { display: grid; gap: 9px; margin: 15px 0 18px; }
.checkout-totals > div { display: flex; justify-content: space-between; gap: 20px; color: #5d6267; font-size: .75rem; }
.checkout-totals dt, .checkout-totals dd { margin: 0; }
.checkout-totals .checkout-total { margin-top: 4px; padding-top: 13px; border-top: 1px solid #dfe2e4; color: #1c1e20; font-size: 1.03rem; font-weight: 850; }
.checkout-compensation { display: grid; gap: 5px; margin-bottom: 14px; padding: 11px; border-radius: 8px; background: #f4f7f4; }
.checkout-compensation:empty { display: none; }
.checkout-compensation strong { color: #3d5142; font-size: .69rem; }
.checkout-compensation span { color: #5f6c62; font-size: .65rem; }
.checkout-ticket > button { width: 100%; }
.checkout-payment-method{display:grid;gap:10px;margin:0 0 12px;padding:12px;border:1px solid #dfe3e0;border-radius:10px;background:#fafcfb}
.checkout-payment-method-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.checkout-payment-method-heading .ops-eyebrow{margin:0 0 3px}.checkout-payment-method-heading strong{font-size:.76rem}.checkout-payment-method-heading>span{padding:4px 7px;border-radius:999px;background:#e7f2e9;color:#2f6540;font-size:.57rem;font-weight:850;white-space:nowrap}
.checkout-payment-options{display:grid;grid-template-columns:1fr;gap:7px}.checkout-payment-option{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid #d9ddda;border-radius:8px;background:#fff;cursor:pointer}.checkout-payment-option.selected{border-color:#2f6944;background:#eef6f0;box-shadow:0 0 0 1px #2f6944 inset}.checkout-payment-option input{width:14px;height:14px;margin:0;accent-color:#2f6944}.checkout-payment-option span{display:grid;min-width:0}.checkout-payment-option strong{color:#242825;font-size:.7rem}.checkout-payment-option small{color:#737a75;font-size:.58rem;white-space:normal}.checkout-payment-other{display:grid;gap:7px}.checkout-payment-other>button{width:100%;min-height:38px}
.checkout-payment-method-note{margin:0;color:#687069;font-size:.61rem;line-height:1.4}.checkout-payment-method.locked{opacity:.72}.checkout-payment-method.pending-method{border-color:#e5d7b4;background:#fffaf0}.checkout-payment-method.pending-method .checkout-payment-method-heading>span{background:#f8eaca;color:#715b22}
.checkout-payment-emergency{border-color:#d8c79e;background:#fffcf4}.checkout-payment-emergency.selected{border-color:#765c24;background:#fff6de;box-shadow:0 0 0 1px #765c24 inset}.checkout-payment-emergency input{accent-color:#765c24}
.checkout-emergency-stripe{display:grid;gap:10px;margin-top:10px;padding:13px;border:1px solid #d4c18d;border-radius:10px;background:linear-gradient(145deg,#fffbef,#fff)}.checkout-emergency-stripe.hidden{display:none}.checkout-emergency-stripe .ops-eyebrow{margin:0 0 4px}.checkout-emergency-stripe strong{color:#382e18;font-size:.78rem}.checkout-emergency-stripe p{margin:4px 0 0;color:#6d624a;font-size:.61rem;line-height:1.45}.checkout-emergency-stripe ul{display:grid;gap:4px;margin:0;padding-left:18px;color:#5d543f;font-size:.6rem;line-height:1.35}.checkout-emergency-stripe button,.checkout-emergency-stripe a{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;text-decoration:none}.checkout-emergency-stripe a.hidden,.checkout-emergency-stripe button.hidden,.checkout-emergency-stripe p.hidden{display:none}.checkout-emergency-stripe #stripe-emergency-status{padding-top:9px;border-top:1px solid #e4d9b4;color:#355d3c;font-weight:700}
.checkout-cash-payment{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid #cbdccd;border-radius:10px;background:#f5faf6}.checkout-cash-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkout-cash-heading>div{display:grid;gap:2px}.checkout-cash-heading strong{color:#274a32;font-size:.76rem}.checkout-cash-heading small,.checkout-cash-payment label small{color:#68746b;font-size:.57rem}.checkout-cash-heading button{min-height:34px;padding:7px 10px;font-size:.61rem}.checkout-cash-payment label{display:grid;gap:2px;color:#374039;font-size:.66rem;font-weight:800}.checkout-cash-input{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #bdc9bf;border-radius:8px;background:#fff}.checkout-cash-input span{font-weight:800}.checkout-cash-input input{width:100%;border:0!important;padding:10px 0!important;font-size:1rem!important;font-weight:800;outline:0}.checkout-cash-change{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;background:#e5f1e7;color:#2c5b3a;font-size:.68rem;font-weight:800}.checkout-cash-change.insufficient{background:#fae8e5;color:#87392e}.checkout-cash-payment>p{margin:0;color:#687069;font-size:.59rem;line-height:1.4}
.checkout-settlement-actions{display:grid;grid-template-columns:1fr;gap:8px}
.checkout-settlement-actions button{width:100%;min-height:42px}
.checkout-settlement-actions .checkout-prepare-button { border: 1px solid #1d2022; background: white; color: #1d2022; box-shadow: none; }
.checkout-settlement-actions .checkout-prepare-button:hover { background: #f2f3f3; }
.checkout-invoice-panel{display:grid;gap:12px;margin-top:10px;padding:13px;border:1px solid #d9cba9;border-radius:10px;background:#fffaf0}.checkout-invoice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.checkout-invoice-heading>div{display:grid;gap:2px}.checkout-invoice-heading strong{font-size:.78rem}.checkout-invoice-heading small{color:#746d5c;font-size:.58rem}.checkout-invoice-panel fieldset{display:flex;gap:14px;margin:0;padding:0;border:0}.checkout-invoice-panel legend{width:100%;margin-bottom:6px;color:#625b4c;font-size:.6rem;font-weight:850}.checkout-invoice-panel fieldset label{display:flex;align-items:center;gap:5px;font-size:.64rem;font-weight:750}.checkout-invoice-panel>label{display:grid;gap:5px;color:#625b4c;font-size:.62rem;font-weight:800}.checkout-invoice-panel input[type="date"]{padding:9px;border:1px solid #cfc8b8;border-radius:8px;background:#fff}.checkout-invoice-panel .checkout-prepare-button{min-height:40px}.checkout-invoice-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;border:0!important;padding:0!important;background:transparent!important}.checkout-invoice-summary strong{color:#26472d;font-size:.68rem}.checkout-invoice-summary span{font-size:.62rem;font-weight:750}.checkout-invoice-panel.hidden{display:none}
.checkout-ticket > button + button { margin-top: 8px; }
.checkout-complete { background: #2e6b43 !important; }
.checkout-ticket-note { margin: 12px 0 0; color: #7a8085; font-size: .65rem; line-height: 1.45; }
.checkout-terminal-lab { margin: 0 24px 24px; padding: 22px; border: 1px solid #cfdad2; border-radius: 14px; background: linear-gradient(145deg, #f7fbf8, #fff); box-shadow: 0 8px 28px #23452d0c; }
.checkout-terminal-lab.hidden { display: none; }
.terminal-lab-heading { align-items: flex-start; }
.terminal-lab-heading h2 { margin: 3px 0 5px; }
.terminal-lab-heading p:not(.ops-eyebrow) { max-width: 710px; margin: 0; color: #657069; font-size: .73rem; line-height: 1.45; }
.terminal-lab-badge { padding: 7px 10px; border-radius: 999px; background: #eef1ef; color: #536058; font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .055em; white-space: nowrap; }
.terminal-lab-badge.connected { background: #def2e4; color: #26603a; }
.terminal-lab-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.35fr); gap: 18px; margin-top: 18px; }
.terminal-lab-setup { display: grid; align-content: start; gap: 14px; padding: 17px; border: 1px solid #dfe5e1; border-radius: 12px; background: #fff; }
.terminal-lab-step { display: flex; gap: 11px; align-items: flex-start; }
.terminal-lab-step > span { display: grid; flex: 0 0 28px; height: 28px; place-items: center; border-radius: 50%; background: #1f2f24; color: #fff; font-size: .7rem; font-weight: 850; }
.terminal-lab-step div { display: grid; gap: 4px; }
.terminal-lab-step strong { font-size: .83rem; }
.terminal-lab-step p { margin: 0; color: #6d756f; font-size: .69rem; line-height: 1.45; }
.terminal-pairing-code { display: grid; justify-items: center; gap: 5px; padding: 16px; border: 1px dashed #8ca896; border-radius: 10px; background: #f3faf5; }
.terminal-pairing-code.hidden { display: none; }
.terminal-pairing-code small { color: #5d6d62; font-size: .61rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.terminal-pairing-code strong { color: #173821; font-size: 1.85rem; letter-spacing: .16em; }
.terminal-pairing-code span { color: #68766c; font-size: .64rem; }
.terminal-lab-actions { display: grid; gap: 8px; }
.terminal-lab-actions button { width: 100%; min-height: 40px; }
.terminal-lab-warning { padding: 12px; border: 1px solid #ead9a5; border-radius: 9px; background: #fffbef; }
.terminal-lab-warning strong { color: #5e4d1e; font-size: .69rem; }
.terminal-lab-warning p { margin: 5px 0 0; color: #736640; font-size: .64rem; line-height: 1.45; }
.terminal-live-test { display: grid; gap: 10px; padding: 13px; border: 1px solid #bfd6c5; border-radius: 9px; background: #f3faf5; }
.terminal-live-test.hidden { display: none; }
.terminal-live-test > strong { color: #234b30; font-size: .75rem; }
.terminal-live-test > p { margin: 0; color: #5c6d61; font-size: .66rem; line-height: 1.45; }
.terminal-sandbox-test { display: grid; gap: 9px; padding: 13px; border: 1px solid #b9d6c2; border-radius: 10px; background: #f1faf4; }
.terminal-sandbox-test.hidden { display: none; }
.terminal-sandbox-test > strong { color: #245837; font-size: .76rem; }
.terminal-sandbox-test > p { margin: 0; color: #607067; font-size: .65rem; line-height: 1.45; }
.terminal-sandbox-tip-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.terminal-sandbox-tip-options button { min-height: 43px; padding: 7px; border: 1px solid #c9d4cc; border-radius: 8px; background: #fff; color: #26342a; font-weight: 800; }
.terminal-sandbox-tip-options button.selected { border-color: #245837; background: #dff1e5; box-shadow: inset 0 0 0 1px #245837; }
.terminal-sandbox-tip-options button span { display: block; color: #68736c; font-size: .58rem; font-weight: 650; }
.terminal-sandbox-custom-tip { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #445149; font-size: .65rem; font-weight: 750; }
.terminal-sandbox-custom-tip span { display: flex; align-items: center; gap: 4px; }
.terminal-sandbox-custom-tip input { width: 92px; padding: 8px; border: 1px solid #c9d4cc; border-radius: 7px; }
.terminal-experience { display: grid; grid-template-columns: 1fr 34px 1fr; gap: 10px; align-items: stretch; }
.terminal-screen { overflow: hidden; min-height: 285px; border: 1px solid #d9dedd; border-radius: 17px; background: #fff; box-shadow: 0 10px 30px #1d2e2312; }
.terminal-screen header { display: flex; justify-content: space-between; gap: 10px; padding: 13px 15px; border-bottom: 1px solid #e5e8e6; font-size: .64rem; }
.terminal-screen header span { font-weight: 850; }
.terminal-screen header b { color: #758079; font-weight: 650; }
.terminal-screen-staff { padding-bottom: 14px; }
.terminal-screen-ticket { display: grid; gap: 7px; margin: 15px; padding: 17px; border-radius: 12px; background: #f3f6f4; }
.terminal-screen-ticket small { color: #4e765b; font-size: .61rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.terminal-screen-ticket strong { font-size: 1rem; }
.terminal-screen-ticket p { margin: 0; color: #68716b; font-size: .66rem; line-height: 1.5; }
.terminal-screen button { width: calc(100% - 30px); margin: 0 15px; min-height: 43px; opacity: .55; }
.terminal-screen-arrow { align-self: center; color: #6a836f; font-size: 1.35rem; text-align: center; }
.terminal-screen-customer { background: #171918; color: #fff; }
.terminal-screen-customer header { border-color: #383b39; }
.terminal-screen-customer header b { color: #aeb5b0; }
.terminal-customer-total { display: grid; justify-items: center; gap: 4px; padding: 29px 15px 19px; }
.terminal-customer-total small { color: #adb3af; font-size: .67rem; text-transform: uppercase; letter-spacing: .08em; }
.terminal-customer-total strong { font-size: 2.35rem; }
.terminal-tip-preview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; padding: 0 15px; }
.terminal-tip-preview span { padding: 10px 6px; border: 1px solid #4c514e; border-radius: 8px; text-align: center; font-size: .68rem; font-weight: 750; }
.terminal-screen-customer > p { margin: 13px 17px 0; color: #aeb4b0; font-size: .63rem; line-height: 1.45; text-align: center; }
.terminal-lab-lock { margin-top: 16px; padding: 11px 13px; border-radius: 9px; background: #edf4ef; color: #4f6254; font-size: .67rem; line-height: 1.45; }
.terminal-lab-lock strong { color: #294c34; }
.checkout-recent { margin: 0 24px 24px; padding: 16px 20px; }
.checkout-recent > summary { cursor: pointer; color: #3f4842; font-size: .76rem; font-weight: 850; }
.checkout-recent[open] > summary { margin-bottom: 16px; }
.checkout-recent .checkout-section-heading { margin-bottom: 12px; }
.checkout-order-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.checkout-order-card { display: grid; gap: 7px; padding: 13px; border: 1px solid #e1e4e6; border-radius: 9px; }
.checkout-order-card > div { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.checkout-order-card time { color: #7b8186; font-size: .61rem; }
.checkout-order-card > strong { font-size: .78rem; }
.checkout-order-card p { margin: 0; color: #70767b; font-size: .66rem; }
.checkout-order-card > b { font-size: .84rem; }

@media (max-width: 1250px) {
  .checkout-layout { grid-template-columns: minmax(520px, 1fr) 330px; }
  .checkout-customer-fields { grid-template-columns: 1fr 1fr; }
  .checkout-credit-panel { grid-template-columns: 1fr; }
  .checkout-order-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .terminal-lab-grid { grid-template-columns: 1fr; }
}

/* Staff operations calendar */
.ops-body {
  --ops-border: #e2e4e7;
  --ops-soft: #f6f7f8;
  --ops-text: #1c1d1f;
  --ops-muted: #686d73;
  --ops-accent: #151618;
  min-width: 1080px;
  background: #fff;
  color: var(--ops-text);
}
.ops-body button, .ops-body input, .ops-body select { font: inherit; }
.ops-shell { min-height: 100vh; display: grid; grid-template-columns: 310px minmax(0, 1fr); }
.ops-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; padding: 18px 14px; background: #fff; border-right: 1px solid var(--ops-border); z-index: 30; }
.ops-brand { display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 7px 10px; border: 1px solid #d7dade; border-radius: 12px; color: var(--ops-text); text-decoration: none; }
.ops-brand > .fbs-system-logo { width:43px; }
.ops-brand div { display: grid; line-height: 1.15; }
.ops-brand strong { font-size: .91rem; }
.ops-brand small { margin-top: 3px; color: var(--ops-muted); font-size: .72rem; }
.ops-nav-menu { margin: 12px 0 10px; border: 1px solid #dde0e2; border-radius: 10px; background: #fafafa; }
.ops-nav-menu summary { display: grid; grid-template-columns: 22px auto 1fr 12px; min-height: 42px; box-sizing: border-box; align-items: center; gap: 8px; padding: 8px 11px; color: #2a2c2f; cursor: pointer; list-style: none; }
.ops-nav-menu summary::-webkit-details-marker { display: none; }
.ops-nav-menu summary > span { font-size: .98rem; }
.ops-nav-menu summary > strong { font-size: .8rem; }
.ops-nav-menu summary > small { justify-self: end; color: #7b8084; font-size: .67rem; font-weight: 700; }
.ops-nav-menu summary::after { content: "⌄"; color: #686e73; font-size: .75rem; }
.ops-nav-menu[open] summary::after { transform: rotate(180deg); }
.ops-nav { display: grid; gap: 3px; margin: 0; padding: 3px 5px 6px; border-top: 1px solid #e4e6e7; }
.ops-nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: 8px; color: #2a2c2f; text-decoration: none; font-weight: 650; font-size: .91rem; }
.ops-nav a > span:first-child { width: 20px; text-align: center; font-size: 1.12rem; }
.ops-nav-copy { min-width: 0; }
.ops-nav-mobile-label { display: none; }
.ops-mobile-more-trigger { display: none; }
.ops-nav a:hover, .ops-nav a.active { background: #f0f1f2; }
.ops-nav b { margin-left: auto; min-width: 23px; padding: 3px 7px; border-radius: 999px; background: #1c1d1f; color: white; text-align: center; font-size: .72rem; }
.ops-mini-calendar { padding: 11px 4px 13px; border-top: 1px solid var(--ops-border); }
.ops-mini-calendar header { display: grid; grid-template-columns: 28px 1fr 28px; align-items: center; padding: 0; background: transparent; color: #24272a; }
.ops-mini-calendar header strong { text-align: center; font-size: .79rem; }
.ops-mini-calendar header button { width: 28px; height: 28px; padding: 0; background: transparent; color: #4e5358; font-size: 1.05rem; }
.ops-mini-calendar header button:hover { background: #f0f1f2; }
.ops-mini-weekdays, .ops-mini-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.ops-mini-weekdays { margin-top: 7px; }
.ops-mini-weekdays span { padding: 4px 0; color: #8a8f94; text-align: center; font-size: .59rem; font-weight: 750; }
.ops-mini-grid button { position: relative; display: grid; place-items: center; width: 27px; height: 27px; justify-self: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: white !important; color: #202326 !important; font-size: .65rem; font-weight: 650; }
.ops-mini-grid button:hover { border-color: #c8ccd0; background: #e7e9eb !important; }
.ops-mini-grid button.outside { color: #aeb2b6 !important; }
.ops-mini-grid button.today { border-color: #202326; box-shadow: none; }
.ops-mini-grid button.selected { border: 2px solid #151719; background: white !important; color: #151719 !important; box-shadow: inset 0 0 0 1px white; font-weight: 850; }
.ops-mini-grid button.has-events::after { position: absolute; bottom: 2px; width: 3px; height: 3px; border-radius: 50%; background: currentColor; content: ""; }
.ops-sidebar-requests { display: flex; flex: 1 1 360px; min-height: 280px; flex-direction: column; overflow: hidden; padding: 16px 6px 10px; border-top: 1px solid var(--ops-border); }
.ops-contact-change-alert { display: grid; gap: 5px; margin-top: 8px; padding: 10px 7px; border-top: 1px solid var(--ops-border); color: #345c42; font-size: .62rem; text-decoration: none; }
.ops-contact-change-alert span { display: flex; align-items: center; gap: 4px; }
.ops-contact-change-alert strong { display: inline-grid; min-width: 22px; min-height: 22px; place-items: center; border-radius: 999px; background: #e1f0e5; }
.ops-contact-change-alert b { font-size: .56rem; }
.ops-request-list { flex: 1 1 auto; min-height: 220px; overflow-y: auto; overscroll-behavior: contain; padding: 0 5px 18px 0; scrollbar-gutter: stable; }
.ops-sidebar-note { display: grid; gap: 4px; margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: #f6f6f4; font-size: .72rem; }
.ops-sidebar-note span { color: var(--ops-muted); line-height: 1.35; }
.ops-identity { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 42px; margin-top: 6px; padding: 7px 5px 0; border-top: 1px solid var(--ops-border); }
.ops-identity-person { display: grid; min-width: 0; gap: 2px; }
.ops-identity label { color: var(--ops-muted); font-size: .55rem; text-transform: uppercase; letter-spacing: .08em; }
.ops-identity-person strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-identity-actions { display: flex; align-items: center; gap: 5px; }
.ops-identity-actions .ops-text-button { padding: 4px 5px !important; font-size: .65rem; white-space: nowrap; }
.ops-identity select { padding: 9px 10px; border-color: #d7dade; border-radius: 8px; font-size: .85rem; }
.ops-privacy { padding: 7px 9px; border-radius: 7px; background: #fff6de; color: #725d24; font-size: .72rem; }
.ops-privacy.full { background: #e6f4eb; color: #28623b; }
.ops-main { width: 100%; min-width: 0; max-width: none; margin: 0; padding: 0; background: #fafafa; }
.ops-header { display: flex; align-items: center; justify-content: space-between; height: 86px; padding: 0 28px; background: white; border-bottom: 1px solid var(--ops-border); color: var(--ops-text); }
.ops-header h1 { margin: 2px 0 0; font-size: 1.65rem; letter-spacing: -.03em; }
.ops-eyebrow { margin: 0; color: var(--ops-muted); font-size: .69rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.ops-header-actions { display: flex; align-items: center; gap: 9px; }
.ops-calendar-refresh-status { display: inline-flex; align-items: center; gap: 7px; min-width: 74px; color: #697077; font-size: .72rem; font-weight: 700; }
.ops-calendar-refresh-status::before { width: 7px; height: 7px; border-radius: 50%; background: #6f9b7b; content: ""; animation: ops-refresh-pulse 1.2s ease-in-out infinite; }
.ops-calendar-refresh-status.hidden { display: none; }
@keyframes ops-refresh-pulse { 50% { opacity: .32; transform: scale(.82); } }
.ops-header button, .ops-header .ops-outline-button { min-height: 40px; }
.ops-shared-action-status{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#e8f2e9;color:#356142;font-size:.67rem;font-weight:850;white-space:nowrap}
.ops-shared-action-status::before{content:"";width:7px;height:7px;margin-right:6px;border-radius:50%;background:#5b9767}
.ops-body button { border-radius: 9px; background: var(--ops-accent); }
.ops-outline-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border: 1px solid #d6d9dd; border-radius: 9px; background: white; color: #25272a; font-weight: 700; text-decoration: none; }
.ops-body button.ops-outline-button { background: white; color: #25272a; }
.ops-outline-button:hover { background: #f5f6f7; }
.ops-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 70px; padding: 12px 28px; background: white; border-bottom: 1px solid var(--ops-border); }
.ops-mobile-calendar-options { display: none; }
.ops-date-controls { display: flex; align-items: center; gap: 8px; }
.ops-icon-button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border-radius: 50% !important; background: #f1f2f3 !important; color: #222 !important; font-size: 1.55rem; font-weight: 500 !important; }
.ops-date-title { display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 190px; margin: 0; padding: 8px 13px; background: white !important; color: var(--ops-text) !important; font-size: .9rem; }
#date-picker { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.ops-view-switcher { display: flex; padding: 3px; border: 1px solid #d7dade; border-radius: 10px; background: #f7f8f8; }
.ops-view-switcher button { min-width: 68px; padding: 8px 13px; border-radius: 7px; background: transparent; color: #555b61; font-size: .84rem; }
.ops-view-switcher button.active { background: white; color: #18191b; box-shadow: 0 1px 4px #20252b1b; }
.ops-text-button { padding: 4px !important; background: transparent !important; color: #5f5234 !important; font-size: .78rem; }
.ops-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px 6px 22px; align-items: start; }
.ops-calendar-card, .ops-request-panel { overflow: hidden; border: 1px solid var(--ops-border); border-radius: 12px; background: white; box-shadow: 0 1px 2px #1b20260a; }
.ops-calendar-card { min-width: 0; min-height: 620px; border-right: 0; border-left: 0; border-radius: 8px; }
.ops-loading { display: grid; place-items: center; min-height: 520px; color: var(--ops-muted); }
.ops-loading.hidden { display: none; }
.ops-day-scroll { overflow: auto; max-height: calc(100vh - 205px); }
.ops-day-grid { --calendar-heading-height: 78px; position: relative; display: grid; grid-template-columns: 58px repeat(var(--staff-count), minmax(128px, 1fr)); min-width: calc(58px + var(--staff-count) * 128px); }
.ops-time-gutter { position: sticky; left: 0; z-index: 15; background: white; border-right: 1px solid var(--ops-border); }
.ops-gutter-heading { position: sticky; top: 0; z-index: 18; display: flex; align-items: center; justify-content: flex-end; height: 78px; padding-right: 9px; background: white; border-bottom: 1px solid var(--ops-border); color: #92969b; font-size: .64rem; }
.ops-time-labels { position: relative; background: white; }
.ops-time-labels > div { position: absolute; right: 8px; transform: translateY(-7px); color: #777c82; font-size: .75rem; }
.ops-time-labels > div.quarter { color: #8d9297; font-size: .64rem; font-weight: 600; }
.ops-time-labels > div.hour { color: #676c72; font-weight: 700; }
.ops-staff-column { min-width: 0; border-right: 1px solid var(--ops-border); }
.ops-staff-heading { position: sticky; top: 0; z-index: 12; display: flex; align-items: center; justify-content: center; gap: 10px; height: 78px; padding: 8px; background: white; border-bottom: 1px solid var(--ops-border); }
.ops-staff-heading > div { display: grid; min-width: 0; }
.ops-staff-short { display: none; }
.ops-staff-heading strong { overflow: hidden; text-overflow: ellipsis; font-size: .9rem; }
.ops-staff-heading small { margin-top: 3px; color: var(--ops-muted); font-size: .7rem; white-space: nowrap; }
.ops-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; color: white; font-size: .88rem; font-weight: 800; }
.ops-avatar-photo { flex: 0 0 auto; width: 50px; height: 50px; border: 2px solid white; border-radius: 50%; object-fit: cover; object-position: 50% 24%; box-shadow: 0 0 0 1px #cfd3d6, 0 2px 6px #1e242b1a; }
/* Strongest line first so quarter-hour lines cannot cover the hour/half-hour lines.
   The grid starts at 6:30; its first full hour is 36px below the top. */
.ops-time-column { position: relative; cursor: crosshair; background-color: white; background-image: linear-gradient(to bottom, transparent calc(100% - 1px), #d9dcdf calc(100% - 1px)), linear-gradient(to bottom, transparent calc(100% - 1px), #e3e6e9 calc(100% - 1px)), linear-gradient(to bottom, transparent calc(100% - .5px), #f2f3f4 calc(100% - .5px)); background-position: 0 36px, 0 0, 0 0; background-size: 100% 72px, 100% 36px, 100% 18px; }
.ops-event { position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; min-width: 42px; padding: 5px 6px; border: 0; border-left: 3px solid currentColor; border-radius: 4px; background: #e9f2dc; color: #334020; text-align: left; box-shadow: inset 0 0 0 1px #ffffff70; cursor: pointer; }
.ops-event:hover { z-index: 8; filter: brightness(.97); box-shadow: 0 4px 12px #1a1d2030; }
.ops-event:focus-visible { z-index: 9; outline: 2px solid #24272a; outline-offset: 1px; }
.ops-event-time { font-size: .7rem; font-weight: 800; white-space: nowrap; }
.ops-event-visit-position { display: inline-flex; margin: 0 0 0 5px !important; padding: 1px 4px; border: 1px solid currentColor; border-radius: 999px; background: #ffffffa8; font-size: .55rem !important; font-weight: 850; line-height: 1.15 !important; vertical-align: 1px; white-space: nowrap; }
.ops-event strong { display: block; width: 100%; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; font-size: .79rem; line-height: 1.15; white-space: nowrap; }
.ops-event > span:not(.ops-event-time) { margin-top: 3px; font-size: .7rem; line-height: 1.15; }
.ops-event em { margin-top: auto; font-size: .6rem; font-style: normal; text-transform: uppercase; opacity: .72; }
.ops-event-markers { position: absolute; top: 4px; right: 4px; z-index: 3; display: flex; gap: 2px; margin: 0 !important; }
.ops-event-markers span { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 3px; border-radius: 4px; background: #ffffffd9; color: inherit; font-size: .7rem; font-weight: 900; box-shadow: 0 1px 2px #1018201c; }
.ops-event-markers .ops-loyalty-reward-marker { border: 1px solid #f2cc63; background: #fff5bf; color: #815b00; }
.ops-event-markers .ops-new-client-marker { min-width: 25px; border: 1px solid #bbd8c2; background: #edf8ef; color: #2f6840; font-size: .5rem; letter-spacing: .02em; text-transform: uppercase; }
.ops-event.compact { padding-top: 4px; }
.ops-event.compact .ops-event-markers, .ops-event.compact .ops-event-service, .ops-event.compact > em, .ops-event.compact .ops-event-checkout { display: none; }
.ops-event.compact.reward-ready .ops-event-markers, .ops-event.compact.new-client .ops-event-markers { display: flex; }
.ops-event.compact.reward-ready:not(.new-client) .ops-event-markers > span:not(.ops-loyalty-reward-marker), .ops-event.compact.new-client:not(.reward-ready) .ops-event-markers > span:not(.ops-new-client-marker) { display: none; }
.ops-event.compact strong { margin-top: 2px; font-size: .76rem; }
.ops-event.compact .ops-event-time { font-size: .66rem; }
.ops-event.compact .ops-event-visit-position { margin-left: 3px !important; padding-inline: 3px; font-size: .5rem !important; }
.ops-event.composite-visit { padding-bottom: 6px; }
.ops-event.composite-visit.compact .ops-event-service-list { display: flex; }
.ops-event-service-list { display: flex; width: 100%; min-height: 0; margin-top: 5px !important; flex: 1 1 auto; flex-direction: column; overflow: hidden; border-top: 1px solid #17242a30; }
.ops-event-service-list > span { display: grid; min-height: 0; padding: 4px 0; border-bottom: 1px solid #17242a30; gap: 1px; }
.ops-event-service-list > span:last-child { border-bottom: 0; }
.ops-event-service-list b { overflow: hidden; text-overflow: ellipsis; font-size: .68rem; line-height: 1.12; white-space: nowrap; }
.ops-event-service-list small { font-size: .56rem; font-weight: 750; line-height: 1.1; opacity: .78; white-space: nowrap; }
.ops-event.canceled { border-left-color: #9ca1a6; background: #f0f1f1; color: #7d8287; opacity: .62; }
.ops-event.canceled strong, .ops-event.canceled > span:not(.ops-event-time):not(.ops-event-markers) { text-decoration: line-through; }
.ops-event.ops-block-event { border-left-color: #696e73; background: #d7d9db; color: #34383c; box-shadow: inset 0 0 0 1px #c3c6c9; }
.ops-event.ops-note-event { border-left-color: #967044; background: #f5ead8; color: #5c452c; box-shadow: inset 0 0 0 1px #ead6b8; }
.ops-event .ops-event-checkout { align-self: stretch; min-height: 23px; margin-top: auto; padding: 3px 5px; border: 1px solid #ffffff8c; border-radius: 4px; background: #ffffffc9; color: inherit; font-size: .62rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.ops-event .ops-event-checkout:hover { background: white; }
.ops-event .ops-event-checkout:disabled { opacity: .55; }
.ops-calendar-event-tooltip { position: fixed; z-index: 1000; display: grid; width: min(265px, calc(100vw - 20px)); gap: 5px; padding: 12px; border: 1px solid #d7dade; border-radius: 10px; background: #fff; color: #24272a; box-shadow: 0 12px 34px #11182030; pointer-events: none; }
.ops-calendar-event-tooltip.hidden { display: none; }
.ops-calendar-event-tooltip > strong { font-size: .88rem; }
.ops-calendar-event-tooltip > span { color: #4f565d; font-size: .74rem; font-weight: 800; }
.ops-calendar-event-tooltip > p { margin: 0; color: #555d64; font-size: .75rem; line-height: 1.35; }
.ops-calendar-event-tooltip > div { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; padding-top: 7px; border-top: 1px solid #eceef0; }
.ops-calendar-event-tooltip > div span { padding: 3px 6px; border-radius: 999px; background: #f0f2f3; color: #4b535a; font-size: .63rem; font-weight: 700; }
.ops-avatar.color-0, .ops-event.color-0 { background-color: #dfecc4; color: #4c6519; }
.ops-avatar.color-0 { background: #8bad3d; color: white; }
.ops-avatar.color-1, .ops-event.color-1 { background-color: #d7efed; color: #17635e; }
.ops-avatar.color-1 { background: #3faaa3; color: white; }
.ops-avatar.color-2, .ops-event.color-2 { background-color: #fde2cc; color: #8a430b; }
.ops-avatar.color-2 { background: #d87329; color: white; }
.ops-avatar.color-3, .ops-event.color-3 { background-color: #e9d9f3; color: #652888; }
.ops-avatar.color-3 { background: #9146b7; color: white; }
.ops-avatar.color-4, .ops-event.color-4 { background-color: #dfe7fb; color: #234a91; }
.ops-avatar.color-4 { background: #4071ca; color: white; }
.ops-avatar.color-5, .ops-event.color-5 { background-color: #f7dfdf; color: #7d3030; }
.ops-avatar.color-5 { background: #ba5555; color: white; }
.ops-avatar.color-6, .ops-event.color-6 { background-color: #f4d6e6; color: #692345; }
.ops-avatar.color-6 { background: #c64f8a; color: white; }
.ops-event.upcoming.color-0 { background: #91bd22; color: #17242a; }
.ops-event.upcoming.color-1 { background: #19aaa2; color: #17242a; }
.ops-event.upcoming.color-2 { background: #e98234; color: #17242a; }
.ops-event.upcoming.color-3 { background: #b36bd0; color: #17242a; }
.ops-event.upcoming.color-4 { background: #78a5ef; color: #17242a; }
.ops-event.upcoming.color-5 { background: #dc7a7a; color: #17242a; }
.ops-event.upcoming.color-6 { background: #dd72aa; color: #17242a; }
.ops-event.completed { filter: saturate(.55); opacity: .66; }
.ops-event.completed.color-0 { background: #e7f0d4; color: #60743b; }
.ops-event.completed.color-1 { background: #ddf0ee; color: #38706c; }
.ops-event.completed.color-2 { background: #f8e6d8; color: #96613b; }
.ops-event.completed.color-3 { background: #eee1f3; color: #79528a; }
.ops-event.completed.color-4 { background: #e3e9f7; color: #526b99; }
.ops-event.completed.color-5 { background: #f3e2e2; color: #8b5656; }
.ops-event.completed.color-6 { background: #f5e1eb; color: #7b4b63; }
.ops-event.canceled { border: 1px solid #cbd0d4; border-left: 3px solid #a6abb0; background: #fbfcfc; color: #8a9095; opacity: .78; box-shadow: none; }
.ops-event.canceled strong, .ops-event.canceled > span:not(.ops-event-time):not(.ops-event-markers) { text-decoration: line-through; }
.ops-event.no-show { border: 1px solid #d7dade; border-left: 4px solid #cf4248; background: #fafbfb; color: #72787d; opacity: .9; box-shadow: none; }
.ops-event.awaiting-protection { border: 1px dashed #ba8b35; border-left: 4px solid #ba8b35; background: #fff4dc; color: #674814; box-shadow: none; }
.ops-event.ops-pending-request { box-sizing: border-box; border: 2px dashed #9a7a35; border-left: 4px solid #9a7a35; background: #fffdf7 !important; color: #66501f; box-shadow: inset 0 0 0 2px #fff5d9; }
.ops-event.ops-pending-request:hover { background: #fff9e9 !important; }
.ops-event.ops-pending-request em { color: #745a20; font-weight: 850; opacity: 1; }
.ops-event.square-origin { box-sizing: border-box; border-bottom: 3px solid #2f78c9; }
.ops-event.dragging { opacity: .35; }
.ops-time-column.drag-target { background-color: #f2f8e8; box-shadow: inset 0 0 0 2px #91b24e; }
.ops-time-column.drag-target::after { content: ""; position: absolute; z-index: 10; top: var(--drop-guide-top, 0); left: 0; right: 0; border-top: 2px solid #24272a; pointer-events: none; }
.ops-time-column.drag-target::before { content: ""; position: absolute; z-index: 11; top: calc(var(--drop-guide-top, 0px) - 4px); left: -1px; width: 8px; height: 8px; border-radius: 50%; background: #24272a; pointer-events: none; }
.ops-now-line { position: absolute; left: 52px; right: 0; z-index: 9; border-top: 1px solid #e03d45; pointer-events: none; }
.ops-now-line span { position: absolute; left: 7px; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: #e03d45; }
.ops-cursor-time-line { position: absolute; left: 58px; right: 0; height: 0; border-top: 1px solid #344c6599; z-index: 10; pointer-events: none; }
.ops-cursor-time-label { position: absolute; right: 2px; z-index: 16; transform: translateY(-50%); padding: 3px 2px; border-radius: 3px; background: #344c65; color: white; font-size: .62rem; font-weight: 800; white-space: nowrap; pointer-events: none; }
.ops-message-alert { display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid #d7ae66; border-radius: 9px; background: #fff4de; color: #674215; font-size: .8rem; font-weight: 750; text-decoration: none; }
.ops-header-actions:has(.ops-message-alert) { flex-wrap: wrap; justify-content: flex-end; }
.ops-header:has(.ops-message-alert:not(.hidden)) { height: auto; min-height: 86px; padding-top: 10px; padding-bottom: 10px; gap: 12px; }
.ops-message-alert b { display: grid; place-items: center; min-width: 23px; height: 23px; border-radius: 20px; background: #8c531c; color: white; }
@media (max-width: 760px) { .ops-message-alert { flex-basis: 100%; justify-content: center; font-size: .74rem; padding: 6px 8px; } .ops-cursor-time-line { left: 50px; } }
.ops-panel-heading { display: flex; align-items: center; justify-content: space-between; }
.ops-panel-heading h2 { margin: 3px 0 0; font-size: 1.02rem; }
.ops-count { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 999px; background: #1d1e20; color: white; font-size: .75rem; font-weight: 800; }
.ops-panel-help { margin: 9px 0 10px; color: var(--ops-muted); font-size: .7rem; line-height: 1.35; }
.ops-request-card { padding: 14px 0; border-top: 1px solid #eceef0; }
.ops-request-open { width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent !important; color: inherit !important; text-align: left; }
.ops-request-open:hover { background: #f8f9f9 !important; }
.ops-request-chevron { margin-left: auto; color: #91969b; font-size: 1.25rem; }
.ops-request-top { display: flex; align-items: center; gap: 9px; }
.ops-request-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #ebe3d7; color: #695541; font-size: .8rem; font-weight: 800; }
.ops-request-top > div { display: grid; }
.ops-request-top strong { font-size: .84rem; }
.ops-request-top time { color: var(--ops-muted); font-size: .71rem; }
.ops-request-card p { margin: 10px 0; color: #4e5358; font-size: .74rem; line-height: 1.4; }
.ops-request-meta { display: flex; gap: 10px; color: #73787d; font-size: .67rem; }
.ops-request-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; }
.ops-request-actions button { padding: 8px; border-radius: 7px; font-size: .72rem; }
.ops-request-actions .ops-decline { border: 1px solid #d9dcdf; background: white; color: #45494d; }
.ops-empty { display: grid; justify-items: center; padding: 18px 10px; text-align: center; }
.ops-empty > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e6f3ea; color: #397149; }
.ops-empty strong { margin-top: 10px; font-size: .82rem; }
.ops-empty p { margin: 5px 0 0; color: var(--ops-muted); font-size: .71rem; line-height: 1.35; }
.ops-empty-action { display: block; padding: 10px; border: 1px dashed #cdd1d5; border-radius: 8px; color: #3a3e42; text-align: center; text-decoration: none; font-size: .73rem; font-weight: 700; }
.ops-toast { position: fixed; top: 16px; left: 50%; z-index: 80; transform: translateX(-50%); padding: 11px 16px; border: 1px solid #8fb79b; border-radius: 8px; background: #e6f3ea; box-shadow: 0 8px 30px #1d252d25; color: #2f5f3c; font-size: .82rem; }
.ops-toast.error { border-color: #dda0a0; background: #fae8e8; color: #8b3333; }
.ops-week-grid { display: grid; grid-template-columns: repeat(7, minmax(145px, 1fr)); min-width: 1015px; min-height: 640px; overflow-x: auto; }
.ops-week-day { min-height: 640px; border-right: 1px solid var(--ops-border); background: #fff; }
.ops-week-day > header { display: flex; align-items: center; justify-content: center; gap: 7px; height: 62px; border-bottom: 1px solid var(--ops-border); }
.ops-week-day > header span { color: var(--ops-muted); font-size: .7rem; text-transform: uppercase; }
.ops-week-day > header strong { font-size: .95rem; }
.ops-week-day.today > header strong { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #1d1e20; color: white; }
.ops-week-day > div { padding: 8px; }
.ops-week-day p { color: #9a9ea2; font-size: .68rem; text-align: center; }
.ops-week-event { display: grid; width: 100%; margin-bottom: 7px; padding: 8px; border-left: 3px solid #78a42c; border-radius: 5px; background: #e6f0d4 !important; color: #38451e !important; text-align: left; }
.ops-week-event time { font-size: .62rem; font-weight: 800; }
.ops-week-event strong { margin-top: 3px; font-size: .72rem; }
.ops-loyalty-inline { display: inline-grid; place-items: center; width: 15px; height: 15px; margin: 0 4px 0 0; border: 1px solid #e3b943; border-radius: 50%; background: #fff3ad; color: #765300; font-size: .58rem; font-style: normal; line-height: 1; text-decoration: none; vertical-align: 1px; }
.ops-new-client-inline { display: inline-flex; align-items: center; margin: 0 4px 0 0; padding: 2px 4px; border: 1px solid #bbd8c2; border-radius: 999px; background: #edf8ef; color: #2f6840; font-size: .48rem; font-style: normal; font-weight: 900; line-height: 1; text-decoration: none; text-transform: uppercase; vertical-align: 1px; }
.ops-week-event span { margin-top: 3px; font-size: .62rem; line-height: 1.25; }
.ops-week-event.block { border-left-color: #8b9095; background: #e5e6e7 !important; color: #565b60 !important; }
.ops-week-event.calendar-event { border-left-color: #967044; background: #f5ead8 !important; color: #5c452c !important; }
.ops-week-event.canceled { border-left-color: #a9adb1; background: #f0f1f1 !important; color: #85898d !important; opacity: .65; text-decoration: line-through; }
.ops-week-event.completed { opacity: .62; }
.ops-week-event.no-show { border-left-color: #cf4248; background: #f7f8f8 !important; color: #70767b !important; }
.ops-week-event.pending-request { border: 2px dashed #9a7a35; border-left: 4px solid #9a7a35; background: #fffdf7 !important; color: #66501f !important; }
.ops-week-event.square-origin { border-bottom: 3px solid #2f78c9; }
.ops-month { min-width: 900px; }
.ops-month-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); height: 42px; border-bottom: 1px solid var(--ops-border); }
.ops-month-weekdays span { display: grid; place-items: center; color: var(--ops-muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.ops-month-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.ops-month-day { min-height: 112px; padding: 8px; border: 0; border-right: 1px solid var(--ops-border); border-bottom: 1px solid var(--ops-border); border-radius: 0 !important; background: white !important; color: #303338 !important; text-align: left; }
.ops-month-day:hover { background: #f8f9f9 !important; }
.ops-month-day.outside { color: #b0b3b6 !important; background: #fbfbfb !important; }
.ops-month-day > strong { display: grid; place-items: center; width: 24px; height: 24px; font-size: .72rem; }
.ops-month-day.today > strong { border-radius: 50%; background: #1d1e20; color: white; }
.ops-month-day > div { display: grid; gap: 3px; margin-top: 4px; }
.ops-month-day span { overflow: hidden; padding: 3px 4px; border-radius: 3px; background: #e6f0d4; color: #445225; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.ops-month-day span.block { background: #e3e4e5; color: #565b60; }
.ops-month-day span.calendar-event { background: #f5ead8; color: #5c452c; }
.ops-month-day span.canceled { background: #f0f1f1; color: #85898d; opacity: .65; text-decoration: line-through; }
.ops-month-day span.completed { opacity: .6; }
.ops-month-day span.no-show { border-left: 2px solid #cf4248; background: #f5f6f6; color: #73787d; }
.ops-month-day span.pending-request { border: 1px dashed #9a7a35; background: #fffdf7; color: #66501f; }
.ops-month-day span.square-origin { border-bottom: 3px solid #2f78c9; }
.ops-month-day em { color: #6c7176; font-size: .58rem; font-style: normal; }
.ops-dialog { position: fixed; inset: 0; z-index: 100; }
.ops-dialog-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0 !important; background: #11141873 !important; }
.ops-dialog-panel { position: absolute; top: 0; right: 0; width: min(520px, 94vw); height: 100%; overflow-y: auto; padding: 30px; background: white; box-shadow: -15px 0 40px #0e12171f; }
.ops-dialog-panel h2 { margin: 5px 0 22px; font-size: 1.45rem; }
.ops-confirm-panel { position: absolute; top: 50%; left: 50%; width: min(540px, 92vw); max-height: 88vh; overflow-y: auto; transform: translate(-50%, -50%); padding: 30px; border-radius: 14px; background: white; box-shadow: 0 24px 70px #0e12173d; }
.ops-confirm-panel h2 { margin: 5px 0 20px; font-size: 1.35rem; }
.ops-move-client { display: grid; padding: 13px; border-radius: 9px; background: #f3f4f4; }
.ops-move-client strong { font-size: .87rem; }
.ops-move-client span { margin-top: 4px; color: var(--ops-muted); font-size: .72rem; }
.ops-move-times { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin: 16px 0; }
.ops-move-times > div { display: grid; gap: 4px; }
.ops-move-times span { color: var(--ops-muted); font-size: .65rem; text-transform: uppercase; }
.ops-move-times strong { font-size: .77rem; line-height: 1.35; }
.ops-move-times b { color: #8a8f94; }
.ops-move-form fieldset { display: grid; gap: 9px; margin: 18px 0; padding: 14px; border: 1px solid #dfe2e4; border-radius: 9px; }
.ops-move-form legend { padding: 0 5px; font-size: .75rem; font-weight: 750; }
.ops-move-form label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; color: #42474c; font-size: .74rem; font-weight: 500; }
.ops-move-form input { width: auto; }
.ops-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.ops-dialog-close { position: absolute; top: 17px; right: 17px; display: grid; place-items: center; width: 35px; height: 35px; padding: 0; border-radius: 50%; background: #f0f1f2 !important; color: #25282b !important; font-size: 1.35rem; }
.ops-details { margin: 0; }
.ops-details > div { display: grid; grid-template-columns: 115px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid #eceef0; }
.ops-details dt { color: var(--ops-muted); font-size: .73rem; }
.ops-details dd { margin: 0; font-size: .8rem; line-height: 1.4; }
.ops-dialog-note { margin-top: 20px; padding: 12px; border-radius: 8px; background: #fff8e5; color: #685c3b; font-size: .74rem; line-height: 1.4; }
.ops-dialog-note.canceled { background: #f0f1f1; color: #62676c; }
.ops-dialog-actions { display: grid; gap: 7px; margin: 0 0 20px; padding: 14px; border-radius: 10px; background: #f4f5f5; }
.ops-dialog-actions button { width: 100%; padding: 11px 14px; }
.ops-dialog-actions span { color: var(--ops-muted); font-size: .7rem; line-height: 1.35; }
.ops-dialog-actions .ops-danger-button { background: #7f3030; }
.ops-appointment-primary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 12px}.ops-appointment-primary-actions>a,.ops-appointment-primary-actions>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:40px;margin:0;border-radius:8px;padding:7px 8px;font-size:.66rem;font-weight:820;line-height:1.15;text-align:center}.ops-appointment-primary-actions>button{width:100%}.ops-message-customer-button{gap:6px;background:#233b29;color:#fff;text-decoration:none}.ops-message-customer-button:hover{background:#182c1d}.ops-message-customer-button>span{color:#fff;font-size:.78rem}.ops-appointment-primary-actions:has(>:only-child){grid-template-columns:minmax(145px,1fr)}
.ops-square-messaging-status{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:40px;gap:7px;margin:0;padding:6px 8px;border:1px solid #d5e0d7;border-radius:8px;background:#f2f6f2;color:#35543d;text-align:left}.ops-square-messaging-status>span:last-child{display:grid;min-width:0;gap:1px}.ops-square-messaging-status strong{font-size:.64rem;font-weight:850;line-height:1.1;white-space:nowrap}.ops-square-messaging-status small{color:#6c7c70;font-size:.54rem;font-weight:700;line-height:1.1;white-space:nowrap}.ops-square-messaging-icon{display:grid;flex:0 0 22px;width:22px;height:22px;place-items:center;border-radius:50%;background:#dce9df;color:#35543d;font-size:.76rem;font-weight:900}
.ops-check-in-status { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 0 0 10px; padding: 8px 10px; border: 1px solid #bddfcf; border-radius: 8px; background: #eef9f3; color: #174d37; }
.ops-check-in-status div { display: grid; min-width: 0; gap: 2px; }
.ops-check-in-status strong { font-size: .75rem; }
.ops-check-in-status span { color: #4c6b5e; font-size: .62rem; line-height: 1.25; }
.ops-check-in-status button { flex: 0 0 auto; width: auto !important; min-width: 60px; padding: 5px 8px; font-size: .62rem; }
.ops-check-in-marker { min-width: 20px; font-size: .55rem; letter-spacing: .02em; }
.ops-optional { color: var(--ops-muted); font-size: .7rem; font-weight: 400; }
.ops-signal-summary { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.ops-signal-summary span { padding: 6px 8px; border: 1px solid #dfe1e3; border-radius: 6px; background: #fafafa; color: #52575c; font-size: .68rem; }
.ops-dialog-intro { margin: -10px 0 20px; color: var(--ops-muted); font-size: .78rem; line-height: 1.45; }
.ops-drawer-request-actions { margin-bottom: 20px; }
.ops-private-notice { margin: 0 0 18px; padding: 11px 12px; border: 1px solid #dfe5e8; border-radius: 8px; background: #f4f7f8; color: #4f5960; font-size: .73rem; line-height: 1.4; }
.ops-context-section { margin-top: 24px; }
.ops-context-section h3 { margin: 0 0 10px; color: #282c30; font-size: .83rem; }
.ops-section-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.ops-section-title-row h3 { margin-bottom: 0; }
.ops-add-retail-button { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #cfd5d2; background: white !important; color: #2f3833 !important; font-size: .69rem; }
.ops-add-retail-button:hover { background: #f1f5f2 !important; }
.ops-retail-catalog-summary { margin: -3px 0 2px; color: var(--ops-muted); font-size: .68rem; font-weight: 700; }
.ops-visit-list { display: grid; gap: 8px; }
.ops-visit-service { padding: 12px; border: 1px solid #e1e3e5; border-radius: 9px; background: #fff; }
.ops-visit-service.focused { border-color: #98b45f; box-shadow: 0 0 0 2px #dfecc4; }
.ops-visit-service > div { display: flex; justify-content: space-between; gap: 12px; }
.ops-visit-service strong { font-size: .86rem; }
.ops-visit-service p, .ops-visit-service time { margin: 4px 0 0; color: var(--ops-muted); font-size: .74rem; }
.ops-visit-product { border-color: #cfded5; background: #f8fbf9; }
.ops-visit-product p b { color: #2c6748; font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.ops-contributor-summary { display: grid; gap: 4px; margin-top: 8px !important; padding-top: 7px; border-top: 1px dashed #dfe2e4; line-height: 1.4; }
.ops-contributor-summary span { display: block; font-size: .72rem; }
.ops-inline-edit { margin-top: 9px; padding: 6px 9px; border: 1px solid #d4d8db; background: white !important; color: #353a3e !important; font-size: .65rem; }
.ops-appointment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.ops-drawer-actions-menu { position: relative; display: flex; justify-content: flex-end; margin: -5px 0 12px; }
.ops-more-button { display: grid; place-items: center; width: 39px; height: 35px; padding: 0 0 5px !important; border: 1px solid #d7dade; background: white !important; color: #303438 !important; font-size: 1rem; font-weight: 900; letter-spacing: 2px; }
.ops-more-button:hover { background: #f2f3f4 !important; }
.ops-actions-popover { position: absolute; top: 41px; right: 0; z-index: 8; display: grid; width: 205px; overflow: hidden; padding: 5px; border: 1px solid #dadddf; border-radius: 10px; background: white; box-shadow: 0 12px 32px #171b2024; }
.ops-actions-popover.hidden { display: none; }
.ops-actions-popover button { padding: 10px 11px; border: 0; background: white !important; color: #303438 !important; text-align: left; font-size: .74rem; }
.ops-actions-popover button:hover { background: #f2f3f4 !important; }
.ops-actions-popover .ops-danger-outline { color: #a03535 !important; }
.ops-loyalty-panel { display: grid; gap: 12px; margin: 0 0 14px; padding: 15px; border: 1px solid #d8dfd4; border-radius: 11px; background: #f8fbf6; }
.ops-loyalty-panel.hidden { display: none; }
.ops-loyalty-panel h3, .ops-loyalty-panel p { margin: 0; }
.ops-loyalty-panel h3 { font-size: 1.15rem; }
.ops-loyalty-panel > div > span, .ops-loyalty-panel > p { color: var(--ops-muted); font-size: .72rem; line-height: 1.45; }
.ops-loyalty-quick-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:13px 14px;border:1px solid #d9c58e;border-radius:11px;background:#fff9e8}.ops-loyalty-quick-action>div{display:flex;align-items:center;gap:10px}.ops-loyalty-quick-action>div>span{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:50%;background:#f1dfaa;color:#795719;font-size:1rem}.ops-loyalty-quick-action p{display:grid;gap:2px;margin:0}.ops-loyalty-quick-action strong{font-size:.78rem}.ops-loyalty-quick-action small{color:var(--ops-muted);font-size:.65rem;line-height:1.35}.ops-loyalty-quick-action button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:0;border-radius:8px;background:#263c2a;color:#fff;font-size:.68rem;font-weight:850}.ops-loyalty-quick-action button:disabled{opacity:.65}.ops-loyalty-quick-action.added{border-color:#c9ddcc;background:#f3f9f3}.ops-loyalty-quick-action.added>div>span{background:#dcecdf;color:#315d3a}.ops-loyalty-reward-service{border-color:#d9c58e;background:#fffdf6}.ops-loyalty-reward-service .ops-visit-service-heading>span{color:#52705a;font-weight:850}
.ops-loyalty-expirations { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid #dce3d8; }
.ops-loyalty-expirations span { display: flex; justify-content: space-between; gap: 12px; font-size: .72rem; }
.ops-policy-fee-box { display: grid; gap: 10px; margin: 14px 0; padding: 14px; border: 1px solid #d9dde0; border-radius: 10px; background: #fbfbfa; }
.ops-policy-fee-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ops-policy-fee-box > div:not(.ops-policy-fee-heading), .ops-policy-fee-heading > div { display: grid; gap: 3px; }
.ops-policy-fee-box strong { font-size: .8rem; }
.ops-policy-fee-box span, .ops-policy-fee-box p { margin: 0; color: var(--ops-muted); font-size: .68rem; line-height: 1.4; }
.ops-policy-fee-box > b { font-size: 1.4rem; }
.ops-policy-fee-box.pending { border-color: #e6d49d; background: #fff9e9; }
.ops-policy-fee-box.not-eligible { grid-template-columns: 1fr auto; align-items: center; background: #f3f5f4; }
.ops-policy-fee-box.not-eligible > b { font-size: 1rem; }
.ops-switch { position: relative; display: block !important; width: 42px; height: 24px; }
.ops-switch input { position: absolute; opacity: 0; }
.ops-switch span { position: absolute; inset: 0; border-radius: 999px; background: #c5c9cc; cursor: pointer; transition: .15s ease; }
.ops-switch span::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 1px 3px #0003; content: ""; transition: .15s ease; }
.ops-switch input:checked + span { background: #202326; }
.ops-switch input:checked + span::after { transform: translateX(18px); }
.ops-waiver-reason { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; font-size: .7rem !important; font-weight: 700 !important; }
.ops-waiver-reason textarea { min-height: 70px; padding: 9px; border: 1px solid #d6d9dc; border-radius: 7px; resize: vertical; }
.ops-waiver-reason.hidden { display: none !important; }
.ops-waiver-reason small { color: #a23535; font-size: .64rem; font-weight: 750; }
.ops-waiver-reason small.hidden { display: none; }
.ops-protection-payment { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 14px; margin: 14px 0; padding: 13px 14px; border: 1px solid #d9dde0; border-radius: 10px; background: #fbfbfa; }
.ops-protection-payment > div { display: grid; gap: 3px; }
.ops-protection-payment span { color: var(--ops-muted); font-size: .64rem; font-weight: 750; text-transform: uppercase; }
.ops-protection-payment strong { font-size: .8rem; }
.ops-protection-payment > b { font-size: 1rem; }
.ops-protection-payment p { grid-column: 1 / -1; margin: 0; color: var(--ops-muted); font-size: .68rem; line-height: 1.4; }
.ops-protection-payment.charged { border-color: #dfcfae; background: #fffaf0; }
.ops-protection-payment.pending { border-color: #d7c58f; background: #fff8e5; }
.ops-protection-payment.refunded { border-color: #bcd7c5; background: #f1f8f3; }
.ops-refund-confirmation { display: grid; gap: 14px; }
.ops-refund-confirmation > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 14px; border: 1px solid #e2caca; border-radius: 9px; background: #fff7f7; }
.ops-refund-confirmation > div span { color: #7a4a4a; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.ops-refund-confirmation > div strong { color: #7f3030; font-size: 1.1rem; }
.ops-refund-confirmation p, .ops-refund-confirmation ul { margin: 0; color: #555b60; font-size: .74rem; line-height: 1.5; }
.ops-refund-confirmation ul { padding-left: 19px; }
.ops-refund-confirmation label { display: grid; gap: 6px; color: #33383c; font-size: .72rem; font-weight: 750; }
.ops-refund-confirmation textarea, .ops-refund-confirmation input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 11px; border: 1px solid #ced3d7; border-radius: 8px; background: white; color: #24272a; }
.ops-refund-confirmation textarea { min-height: 76px; resize: vertical; }
.ops-refund-confirmation small { color: #a23535; font-size: .68rem; font-weight: 750; }
.ops-refund-confirmation small.hidden { display: none; }
.ops-appointment-actions button { min-height: 39px; padding: 8px 10px; font-size: .7rem; }
.ops-warning-button { background: #a45d10 !important; }
.ops-danger-outline { border: 1px solid #b74b4f !important; background: white !important; color: #983b3f !important; }
.ops-request-note { margin: 0; padding: 12px; border-radius: 8px; background: #fff8e5; color: #625839; font-size: .75rem; line-height: 1.45; white-space: pre-wrap; }
.ops-client-note { padding: 10px 0; border-top: 1px solid #eceef0; }
.ops-client-note p { margin: 0 0 5px; color: #3e4348; font-size: .76rem; line-height: 1.45; white-space: pre-wrap; }
.ops-client-note span { color: var(--ops-muted); font-size: .64rem; }
.ops-note-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
.ops-note-form textarea { min-height: 70px; padding: 10px; border: 1px solid #d4d7da; border-radius: 8px; resize: vertical; }
.ops-note-form button { align-self: end; padding: 10px 12px; }
.ops-history-card { padding: 10px 0; border-top: 1px solid #eceef0; }
.ops-history-card > div { display: flex; justify-content: space-between; gap: 12px; }
.ops-history-card strong { font-size: .75rem; }
.ops-history-card.upcoming > div strong { color: #16758a; }
.ops-history-card > div span { color: #687078; font-size: .65rem; text-transform: capitalize; }
.ops-history-card time, .ops-history-card p, .ops-empty-compact { color: var(--ops-muted); font-size: .68rem; }
.ops-history-card p { margin: 5px 0 0; line-height: 1.35; }
.ops-history-card .ops-history-open { display: block; width: 100%; text-align: left; color: inherit; font: inherit; background: transparent; border: 0; border-radius: 8px; padding: 8px; cursor: pointer; }
.ops-history-open:hover { background: #f0f4f1; }
.ops-history-open:focus-visible { outline: 2px solid #35694c; outline-offset: 2px; }
.ops-history-card .ops-history-card-heading { display: flex; justify-content: space-between; gap: 12px; }
.ops-history-card .ops-history-card-heading > span { color: #687078; font-size: .65rem; text-transform: capitalize; }
.ops-history-card .ops-history-static { display: block; }
.ops-history-services { display: block; color: var(--ops-muted); font-size: .68rem; line-height: 1.5; margin-top: 5px; }
.ops-history-open-hint { display: block; color: #35694c; font-size: .68rem; font-weight: 700; margin-top: 6px; }
.ops-dialog-header-actions .ops-history-back { font-size: .72rem; padding: 7px 10px; border: 1px solid #dce2dc; border-radius: 8px; background: white; color: #294933; cursor: pointer; }
.ops-history-card .ops-history-static > span { background: transparent; border-radius: 0; padding: 0; font-weight: inherit; text-transform: none; }
.ops-history-card > .ops-history-note { display: block; }
.ops-history-note,.customers-appointment-note{margin-top:8px;padding:8px 10px;border-left:3px solid #a5b39d;background:#f5f7f3;border-radius:0 7px 7px 0}.ops-history-note b,.customers-appointment-note b{display:block;color:#344334;font-size:.62rem}.ops-history-note p,.customers-appointment-note p{margin:3px 0 0;color:#465046;font-size:.66rem;white-space:pre-wrap}.ops-history-warning{margin:12px 0;padding:12px;border:1px solid #e3c991;background:#fff8e9;border-radius:10px}.ops-history-warning strong{font-size:.72rem}.ops-history-warning p{margin:4px 0 0;color:#755f31;font-size:.67rem}.ops-selected-customer-context{background:#fbfcfa}.ops-selected-customer-context .ops-history-section{padding-left:0;padding-right:0}.ops-customer-profile-note,.customers-profile-note{margin:12px 0;padding:12px;background:#f3f6f1;border-radius:10px}.ops-customer-profile-note strong,.customers-profile-note strong{font-size:.72rem}.ops-customer-profile-note p,.customers-profile-note p{margin:5px 0 0;white-space:pre-wrap;color:#485448;font-size:.7rem;line-height:1.5}
.ops-empty-compact { margin: 0; padding: 10px 0; }
.ops-compact-details { margin-bottom: 18px; }
.ops-staff-booking-form { display: grid; gap: 15px; }
.ops-selected-customer-context{margin-top:18px}.ops-selected-customer-context>.ops-section-title-row>div{display:grid;gap:3px}.ops-selected-customer-context>.ops-section-title-row small{color:var(--ops-muted);font-size:.61rem}.ops-history-preview-note{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#f1f4ef;color:#596259;font-size:.66rem;line-height:1.45}.ops-history-preview-note a{color:#345d3d;font-weight:800}
.ops-staff-booking-form label { display: grid; gap: 6px; color: #555a60; font-size: .72rem; font-weight: 700; }
.ops-staff-booking-form input, .ops-staff-booking-form select, .ops-staff-booking-form textarea { width: 100%; padding: 11px 10px; border: 1px solid #d4d7da; border-radius: 8px; background: white; color: #25272a; }
.ops-staff-booking-form textarea { min-height: 80px; resize: vertical; }
.ops-compact-datetime { min-width: 0; margin: 0; padding: 14px; border: 1px solid #dfe2de; border-radius: 11px; background: #fafbf9; }
.ops-compact-datetime legend { padding: 0 6px; color: #3b403c; font-size: .74rem; font-weight: 800; }
.ops-compact-datetime-grid { display: grid; grid-template-columns: minmax(140px, .9fr) minmax(250px, 1.35fr); align-items: end; gap: 12px; }
.ops-compact-datetime label { display: grid; gap: 5px; min-width: 0; color: #626862; font-size: .59rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.ops-compact-datetime input, .ops-compact-datetime select { box-sizing: border-box; width: 100%; border: 1px solid #d4d8d2; border-radius: 8px; background: white; color: #222622; font: inherit; font-size: .76rem; font-weight: 750; letter-spacing: 0; text-transform: none; }
.ops-compact-date input { min-height: 52px; padding: 10px; }
.ops-compact-time-field { display: grid; gap: 5px; }
.ops-compact-time-field > span { color: #626862; font-size: .59rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.ops-compact-time-picker { display: grid; grid-template-columns: 60px 8px 60px minmax(74px, 1fr); align-items: end; gap: 7px; }
.ops-compact-time-picker > b { align-self: center; padding-top: 17px; color: #717771; text-align: center; }
.ops-time-wheel { display: grid; grid-template-rows: 18px 30px 18px; overflow: hidden; border: 1px solid #d4d8d2; border-radius: 8px; background: white; }
.ops-time-wheel button { display: grid; min-width: 0; min-height: 0; place-items: center; padding: 0; border: 0; border-radius: 0; background: #f0f2ee; color: #495049; font-size: .55rem; line-height: 1; }
.ops-time-wheel button:hover { background: #e1e6de; color: #1e241f; }
.ops-time-wheel input { min-height: 30px !important; padding: 3px !important; border: 0 !important; border-radius: 0 !important; text-align: center; }
.ops-time-period select { min-height: 66px; padding: 10px 8px; text-align: center; }
.ops-compact-datetime > small { display: block; margin-top: 8px; color: #777e77; font-size: .59rem; line-height: 1.4; }
.ops-new-client-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ops-client-search { position: relative; }
.ops-client-suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 5; overflow: hidden; border: 1px solid #d7dade; border-radius: 9px; background: white; box-shadow: 0 10px 25px #1c222a22; }
.ops-client-suggestions button { display: grid; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid #eceef0; border-radius: 0; background: white; color: #2f3337; text-align: left; }
.ops-client-suggestions button:hover { background: #f5f7f7; }
.ops-client-suggestions strong { font-size: .75rem; }
.ops-client-suggestions span { margin-top: 3px; color: var(--ops-muted); font-size: .64rem; }
.ops-create-service-row { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 8px; margin-bottom: 9px; padding: 11px; border: 1px solid #e1e3e5; border-radius: 9px; }
.ops-create-service-row > .ops-contributor-editor { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
.ops-remove-service { position: absolute; top: -8px; right: -8px; display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border-radius: 50%; background: #7f3030; }
.ops-secondary-button { width: 100%; padding: 9px; border: 1px solid #d5d8db; background: white !important; color: #3e4348 !important; }
.ops-policy-check { grid-template-columns: auto 1fr !important; align-items: start; padding: 11px; border-radius: 8px; background: #f5f6f6; font-weight: 500 !important; line-height: 1.4; }
.ops-policy-check input { width: auto; margin-top: 2px; }
.ops-visit-editor { display: grid; gap: 14px; }
.ops-visit-editor > label, .ops-visit-edit-card label { display: grid; gap: 5px; color: #555a60; font-size: .68rem; font-weight: 700; }
.ops-visit-editor input, .ops-visit-editor select { width: 100%; padding: 9px; border: 1px solid #d4d7da; border-radius: 7px; background: white; color: #25272a; }
.ops-visit-edit-card { margin-bottom: 11px; padding: 13px; border: 1px solid #dce0e2; border-radius: 10px; background: #fbfbfb; }
.ops-visit-edit-card.expanded { border-color: #98b45f; box-shadow: 0 0 0 2px #e2edcb; }
.ops-edit-card-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ops-edit-card-heading strong { font-size: .8rem; }
.ops-edit-card-heading button { padding: 4px; background: transparent !important; color: #9a3b3f !important; font-size: .65rem; }
.ops-edit-service-grid { display: grid; grid-template-columns: 1.2fr 1fr .65fr; gap: 8px; }
.ops-contributor-editor { margin-top: 13px; padding-top: 12px; border-top: 1px solid #e2e4e6; }
.ops-contributor-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.ops-contributor-heading > div { display: grid; gap: 3px; }
.ops-contributor-heading strong { font-size: .72rem; }
.ops-contributor-heading span { color: var(--ops-muted); font-size: .62rem; }
.ops-contributor-heading label { width: 68px; }
.ops-contributor-row { display: grid; grid-template-columns: minmax(118px, 1.05fr) minmax(74px, .62fr) minmax(112px, .88fr) minmax(70px, .55fr); align-items: end; gap: 7px; margin-top: 7px; }
.ops-contributor-row > * { min-width: 0; }
.ops-percent-input { position: relative; }
.ops-percent-input input { padding-right: 24px; }
.ops-percent-input span { position: absolute; top: 9px; right: 8px; color: #747a80; font-size: .68rem; }
.ops-contributor-row output { padding: 9px 6px; border-radius: 7px; background: #eef0f1; color: #42474c; font-size: .68rem; font-weight: 750; text-align: right; }
.ops-time-stepper { width: 100%; min-height: 37px; display: grid; grid-template-columns: 24px minmax(56px, 1fr) 24px; align-items: stretch; overflow: hidden; box-sizing: border-box; border: 1px solid #d3d8dd; border-radius: 7px; background: #fff; }
.ops-time-stepper button { display: grid; place-items: center; min-width: 0; padding: 0; border: 0; border-radius: 0; background: #f0f2f3; color: #3f454a; font-size: .66rem; }
.ops-time-stepper button:hover:not(:disabled) { background: #dfe3e5; color: #1f2427; }
.ops-time-stepper button:disabled { opacity: .35; cursor: default; }
.ops-time-stepper output { display: grid; place-items: center; padding: 0 5px; border-radius: 0; background: #fff; color: #2e3438; font-size: .7rem; text-align: center; white-space: nowrap; }
.ops-allocation-total, .ops-editor-summary { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; padding-top: 9px; border-top: 1px dashed #d8dcdf; font-size: .7rem; }
.ops-allocation-total strong.invalid { color: #b4383d; }
.ops-editor-summary { margin: 0; padding: 12px; border: 0; border-radius: 8px; background: #eef1ec; }
.ops-editor-summary strong { font-size: .95rem; }
.ops-manual-reschedule { display: grid; gap: 7px; margin: 16px 0; color: #555a60; font-size: .72rem; font-weight: 700; }
.ops-manual-reschedule .ops-compact-datetime { width: 100%; box-sizing: border-box; }
.ops-block-form { display: grid; gap: 19px; padding: 25px 30px 34px; }
.ops-block-form label { display: grid; gap: 6px; color: #555a60; font-size: .72rem; font-weight: 700; }
.ops-block-form input, .ops-block-form select { box-sizing: border-box; width: 100%; min-height: 44px; padding: 12px; border: 1px solid #d4d7da; border-radius: 9px; background: white; color: #25272a; font: inherit; }
.ops-block-form select:disabled { background: #f2f3f3; color: #555a60; opacity: 1; }
.ops-block-form > button { min-height: 46px; margin-top: 2px; padding: 12px 16px; border-radius: 10px; font-weight: 850; }
.ops-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ops-dialog-panel.ops-block-panel { display: block; width: min(500px, 100vw); overflow-y: auto; padding: 0; }
.ops-event-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 28px 30px 22px; border-bottom: 1px solid #e7e9e6; background: #fff; }
.ops-event-dialog-heading > div { min-width: 0; }
.ops-event-dialog-heading .ops-eyebrow { margin: 0 0 7px; color: #6e756e; font-size: .62rem; letter-spacing: .11em; }
.ops-event-dialog-heading h2 { margin: 0 0 9px; }
.ops-event-dialog-heading .ops-dialog-intro { max-width: 380px; margin: 0; color: #666d66; font-size: .72rem; line-height: 1.5; }
.ops-event-availability { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 16px; border: 1px solid #dce4d9; border-radius: 12px; background: #f5f8f3; }
.ops-event-availability > div { display: grid; gap: 5px; }
.ops-event-availability strong { color: #303630; font-size: .75rem; line-height: 1.3; }
.ops-event-availability > div span { color: #687068; font-size: .64rem; line-height: 1.45; }
.ops-event-availability .ops-switch { display: block; flex: 0 0 auto; }
.ops-confirm-panel.ops-retail-panel { box-sizing: border-box; width: min(940px, calc(100vw - 32px)); padding: 28px; overflow-x: hidden; }
.ops-retail-panel > .ops-dialog-close { float: right; }
.ops-retail-panel h2 { margin-bottom: 8px; font-size: 1.6rem; }
.ops-retail-panel .ops-dialog-intro { margin: 0 0 24px; font-size: 1rem; line-height: 1.5; }
.ops-retail-modal-form { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; }
.ops-retail-modal-form label { display: grid; gap: 8px; color: #555a60; font-size: .875rem; font-weight: 700; }
.ops-retail-modal-form input, .ops-retail-modal-form select { box-sizing: border-box; min-width: 0; width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #d4d7da; border-radius: 10px; background: white; color: #25272a; font-size: 1rem; }
.ops-retail-browser, .ops-retail-selection { min-width: 0; }
.ops-retail-catalog-summary { display: block; margin: 12px 0; font-size: .875rem; color: #656d68; }
.ops-retail-results { display: grid; align-content: start; gap: 8px; max-height: 360px; overflow-y: auto; overscroll-behavior: contain; padding: 3px; }
.ops-retail-panel .ops-retail-product-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px; border: 1px solid #e0e5df; border-radius: 12px; background: #fff; color: #252c27; text-align: left; }
.ops-retail-product-card > span:first-child { min-width: 0; }
.ops-retail-product-card strong { display: block; font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.ops-retail-product-card small { display: block; margin-top: 5px; color: #657168; font-size: .875rem; }
.ops-retail-panel .ops-retail-product-card:hover { background: #f5f8f5; border-color: #a2b5a6; }
.ops-retail-panel .ops-retail-product-card[aria-pressed="true"] { border-color: #426a50; background: #edf5ef; box-shadow: inset 0 0 0 1px #426a50; }
.ops-retail-modal-form button:focus-visible, .ops-retail-modal-form input:focus-visible, .ops-retail-modal-form select:focus-visible { outline: 3px solid #426a50; outline-offset: 2px; }
.ops-retail-card-price { display: grid; justify-items: end; flex-shrink: 0; gap: 7px; font-size: .875rem; font-weight: 750; }
.ops-retail-card-price > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #edf1ed; color: #426a50; }
.ops-retail-selection { align-self: start; display: grid; gap: 18px; padding: 22px; border: 1px solid #e1e6df; border-radius: 16px; background: #f6f8f5; }
.ops-retail-selection .ops-eyebrow { margin: 0; color: #526d59; font-size: .75rem; }
.ops-retail-selection h3 { margin: 0; font-size: 1.2rem; line-height: 1.4; overflow-wrap: anywhere; }
.ops-retail-hint { margin: -8px 0 0; font-size: .875rem; line-height: 1.5; color: #626b65; overflow-wrap: anywhere; }
.ops-retail-modal-row { display: grid; grid-template-columns: 1fr; gap: 18px; }
.ops-retail-quantity { display: grid; grid-template-columns: 44px minmax(48px, 1fr) 44px; max-width: 170px; }
.ops-retail-quantity button { min-height: 46px; padding: 0; border: 1px solid #d4d7da; border-radius: 10px; background: #fff; color: #252c27; font-size: 1.3rem; }
.ops-retail-quantity input { padding: 8px 2px; border-color: transparent; background: transparent; text-align: center; appearance: textfield; }
.ops-retail-quantity input::-webkit-inner-spin-button { appearance: none; }
.ops-retail-estimate { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid #dce3da; font-size: .875rem; }
.ops-retail-estimate small { display: block; margin-top: 5px; color: #68716b; font-size: .75rem; }
.ops-retail-estimate strong { font-size: 1.5rem; }
.ops-retail-modal-form > .ops-confirm-actions { grid-column: 1 / -1; margin: 0; padding-top: 20px; border-top: 1px solid #e3e7e1; }
.ops-retail-modal-form > .ops-confirm-actions button { min-height: 48px; font-size: 1rem; }
.ops-retail-modal-form button:disabled { cursor: not-allowed; opacity: .5; }
.ops-retail-empty, .ops-retail-error { padding: 18px; font-size: .875rem; line-height: 1.5; }
.ops-retail-error { margin: 0; color: #9c3630; background: #fff0ed; border-radius: 10px; }
.ops-retail-chosen-variation { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: .875rem; color: #555a60; }
.ops-retail-chosen-variation span { min-width: 0; }
.ops-retail-chosen-variation strong { display: block; margin-top: 8px; color: #252c27; font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.ops-retail-panel [data-retail-change-variation] { flex-shrink: 0; min-height: 44px; padding: 9px 13px; border: 1px solid #bbcbbf; background: #fff; color: #315c40; font-size: .875rem; }
.ops-retail-variation-dialog { box-sizing: border-box; width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100dvh - 40px)); padding: 24px; border: 1px solid #dce3dc; border-radius: 20px; background: #fff; color: #252c27; box-shadow: 0 24px 70px #0e12173d; overflow-y: auto; overscroll-behavior: contain; }
.ops-retail-variation-dialog::backdrop { background: #10171275; }
.ops-retail-variation-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.ops-retail-variation-heading h2 { margin: 8px 0; font-size: 1.3rem; overflow-wrap: anywhere; }
.ops-retail-variation-heading .ops-eyebrow { margin: 0; color: #526d59; font-size: .75rem; }
.ops-retail-variation-dialog > p { margin: 8px 0 20px; color: #626b65; font-size: 1rem; line-height: 1.5; }
.ops-retail-variation-dialog button { background: #fff; color: #252c27; border: 1px solid #dce3dc; min-height: 46px; }
.ops-retail-variation-heading button { flex-shrink: 0; width: 46px; font-size: 1.5rem; }
.ops-retail-variation-options { display: grid; gap: 10px; }
.ops-retail-variation-options button { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 16px; text-align: left; border-radius: 12px; }
.ops-retail-variation-options button span { min-width: 0; }
.ops-retail-variation-options strong { display: block; font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.ops-retail-variation-options small { display: block; margin-top: 6px; color: #657168; font-size: .875rem; overflow-wrap: anywhere; }
.ops-retail-variation-options b { flex-shrink: 0; font-size: 1rem; }
.ops-retail-variation-options button:hover { background: #edf5ef; border-color: #426a50; }
.ops-retail-variation-dialog button:focus-visible { outline: 3px solid #426a50; outline-offset: 2px; }
.ops-retail-variation-dialog .ops-retail-variation-back { width: 100%; margin-top: 20px; padding: 12px; font-size: 1rem; }
@media (max-width: 700px) {
  .ops-confirm-panel.ops-retail-panel { width: calc(100vw - 20px); padding: 20px; }
  .ops-retail-modal-form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ops-retail-results { max-height: 240px; }
  .ops-retail-selection { padding: 18px; }
}
@media (max-width: 1250px) {
  .ops-shell { grid-template-columns: 278px minmax(0, 1fr); }
}

/* Leandro owner administration */
.owner-body { --owner-ink: #202326; --owner-muted: #71777b; --owner-line: #e2e4e5; --owner-soft: #f5f5f3; min-width: 1120px; background: #f4f4f1; color: var(--owner-ink); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.owner-shell { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.owner-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 22px 17px; border-right: 1px solid #e0e1de; background: #fff; }
.owner-sidebar { box-sizing: border-box; overflow-y: auto; }
.owner-brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 21px; color: #1c1e20; text-decoration: none; }
.owner-brand > .fbs-system-logo { width:50px; }
.owner-brand > div { display: grid; line-height: 1.05; }
.owner-brand strong { font-size: .95rem; }
.owner-brand small { margin-top: 4px; color: #777d81; font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.owner-profile { display: flex; align-items: center; gap: 10px; margin: 0 2px 17px; padding: 12px; border: 1px solid #e1e2df; border-radius: 11px; background: #f8f8f6; }
.owner-profile img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.owner-profile div { display: grid; gap: 3px; }
.owner-profile strong { font-size: .78rem; }
.owner-profile span { color: #797f83; font-size: .62rem; }
.owner-nav { display: grid; gap: 6px; margin: 0; }
.owner-nav-group { overflow: hidden; border: 1px solid transparent; border-radius: 10px; }
.owner-nav-group[open] { border-color: #e2e4e1; background: #fafaf8; }
.owner-nav-group summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border-radius: 9px; color: #747a7d; cursor: pointer; list-style: none; font-size: .59rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; user-select: none; }
.owner-nav-group summary::-webkit-details-marker { display: none; }
.owner-nav-group summary:hover { background: #f1f2ef; color: #292d30; }
.owner-nav-group summary i { font-style: normal; font-size: .8rem; line-height: 1; transition: transform .18s ease; }
.owner-nav-group[open] summary { color: #33373a; }
.owner-nav-group[open] summary i { transform: rotate(180deg); }
.owner-nav-group-items { display: grid; gap: 2px; padding: 0 5px 5px; }
.owner-nav button[data-owner-view] { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; padding: 9px; border: 0; border-radius: 7px; background: transparent; color: #505559; text-align: left; font-size: .69rem; font-weight: 700; }
.owner-nav button[data-owner-view]:hover { background: #eceeeb; color: #1f2224; }
.owner-nav button[data-owner-view].active { background: #202326; color: white; }
.owner-nav button[data-owner-view] > span { display: grid; place-items: center; font-size: .8rem; }
.owner-nav button[data-owner-view] b { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #e1e2df; color: #4a4e51; font-size: .59rem; }
.owner-nav button[data-owner-view].active b { background: #fff; color: #202326; }
.owner-sidebar-links { display: grid; gap: 2px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e5e6e3; }
.owner-sidebar-links a { display: flex; justify-content: space-between; padding: 9px 12px; color: #5f6569; font-size: .68rem; font-weight: 650; text-decoration: none; }
.owner-sidebar-links a:hover { color: #111315; }
.owner-prototype-note { display: grid; gap: 5px; margin-top: auto; padding: 12px; border-radius: 9px; background: #f5efe4; color: #594f43; }
.owner-prototype-note strong { font-size: .68rem; }
.owner-prototype-note span { font-size: .59rem; line-height: 1.45; }
.owner-main { max-width: none; min-width: 0; margin: 0; padding: 0 38px 70px; }
.owner-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 120px; padding: 27px 0 24px; border-bottom: 1px solid #dedfdd; background: transparent; color: var(--owner-ink); }
.owner-topbar h1 { margin: 2px 0 0; font-size: 1.75rem; letter-spacing: -.04em; }
.owner-topbar p { margin: 6px 0 0; color: var(--owner-muted); font-size: .74rem; }
.owner-eyebrow { margin: 0 !important; color: #8a765c !important; font-size: .58rem !important; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.owner-topbar-actions { display: flex; align-items: center; gap: 15px; }
.owner-topbar-actions span { color: #6f7579; font-size: .7rem; }
.owner-topbar-actions a { padding: 9px 13px; border: 1px solid #d8dad8; border-radius: 8px; background: white; color: #303336; font-size: .68rem; font-weight: 750; text-decoration: none; }
.owner-message { margin-top: 18px; padding: 12px 14px; border: 1px solid #a8ceb7; border-radius: 8px; background: #edf7f0; color: #28533a; font-size: .72rem; }
.owner-message.error { border-color: #d5a9a9; background: #fbefef; color: #853c3c; }
.owner-transition-review-line.invalid { outline: 2px solid #b95c5c; outline-offset: 2px; }
.owner-transition-review-error { margin: 0; padding: 11px 13px; border: 1px solid #d5a9a9; border-radius: 8px; background: #fbefef; color: #853c3c; font-size: .62rem; font-weight: 700; line-height: 1.45; }
.owner-view { display: none; padding-top: 27px; }
.owner-view.active { display: block; }
.owner-shop-heading{align-items:center}.owner-shop-safety{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;border:1px solid #b8d8c1;border-radius:12px;background:#eff8f1;padding:15px 17px;color:#315b3d}.owner-shop-safety>div{display:grid;gap:4px}.owner-shop-safety strong{font-size:.72rem}.owner-shop-safety span{font-size:.58rem;line-height:1.45}.owner-shop-safety>span{border-radius:999px;background:#fff;padding:7px 10px;font-weight:800;white-space:nowrap}.owner-shop-metrics{margin-bottom:16px}.owner-shop-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px}.owner-shop-orders-panel{overflow:hidden}.owner-shop-tools{display:grid;grid-template-columns:minmax(230px,1fr) 190px;gap:12px;border-top:1px solid #eceeeb;border-bottom:1px solid #e5e8e4;background:#fafbf9;padding:14px 18px}.owner-shop-tools label{display:grid;gap:5px;color:#747a75;font-size:.55rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.owner-shop-tools input,.owner-shop-tools select{min-height:39px;border:1px solid #d7dbd6;border-radius:8px;background:#fff;padding:8px 10px;color:#292d2a;font:inherit;font-size:.66rem;letter-spacing:0;text-transform:none}.owner-shop-order-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(115px,.8fr) minmax(105px,.72fr) minmax(130px,.9fr) 82px;align-items:center;gap:12px;min-height:66px;border-top:1px solid #eceeeb;padding:11px 18px}.owner-shop-order-row.head{min-height:36px;border-top:0;background:#f5f7f4;color:#747b75;font-size:.5rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.owner-shop-order-row>div,.owner-shop-order-row>span{display:grid;min-width:0;gap:3px}.owner-shop-order-row strong{font-size:.67rem}.owner-shop-order-row small{overflow:hidden;color:#7a817b;font-size:.53rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.owner-shop-order-row>span{font-size:.57rem}.owner-shop-order-row>strong:last-child{text-align:right;color:#28533a}.owner-shop-order-status{justify-self:start;border-radius:999px;background:#eef1ee;padding:4px 7px;color:#5b635c;font-size:.49rem}.owner-shop-order-status.paid,.owner-shop-order-status.ready-to-fulfill,.owner-shop-order-status.completed{background:#e6f3e9;color:#376747}.owner-shop-order-status.awaiting-payment{background:#fff0d8;color:#865f25}.owner-shop-order-status.refunded,.owner-shop-order-status.canceled{background:#f4e6e6;color:#874646}.owner-shop-readiness{display:grid;gap:16px}.owner-shop-readiness>.owner-panel{padding:18px}.owner-shop-readiness h2{margin:4px 0 13px;font-size:1rem}.owner-shop-readiness-list{display:grid}.owner-shop-readiness-list article{display:grid;grid-template-columns:27px 1fr;gap:10px;border-top:1px solid #e8ebe7;padding:11px 0}.owner-shop-readiness-list article:first-child{border-top:0}.owner-shop-readiness-list article>span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#edf0ed;color:#687068;font-size:.55rem;font-weight:850}.owner-shop-readiness-list article.ready>span{background:#dfeee3;color:#3d704d}.owner-shop-readiness-list article>div{display:grid;gap:3px}.owner-shop-readiness-list strong{font-size:.62rem}.owner-shop-readiness-list small{color:#727a73;font-size:.53rem;line-height:1.45}.owner-shop-switch-card{border-color:#dccb98!important;background:#fff9e8!important}.owner-shop-switch-card strong{font-size:.68rem}.owner-shop-switch-card p{margin:6px 0 0;color:#6b6250;font-size:.55rem;line-height:1.55}.owner-shop-empty{display:grid;justify-items:center;gap:7px;padding:50px 20px;text-align:center}.owner-shop-empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#edf4ee;color:#497058;font-size:1.15rem}.owner-shop-empty h3{margin:2px 0 0;font-size:.78rem}.owner-shop-empty p{max-width:430px;margin:0;color:#727a73;font-size:.58rem;line-height:1.55}
.owner-shop-sync-status{display:flex;align-items:center;gap:11px;margin:-6px 0 16px;border:1px solid #dfe3df;border-radius:10px;background:#fff;padding:11px 14px}.owner-shop-sync-status>span{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#edf0ed;color:#687168;font-size:.62rem;font-weight:850}.owner-shop-sync-status>div{display:grid;gap:2px}.owner-shop-sync-status strong{font-size:.61rem}.owner-shop-sync-status small{color:#737a74;font-size:.52rem}.owner-shop-sync-status.success{border-color:#c3d9c9;background:#f5faf6}.owner-shop-sync-status.success>span{background:#dfeee3;color:#3c6e4b}.owner-shop-sync-status.error{border-color:#dec0c0;background:#fff6f6}.owner-shop-sync-status.error>span{background:#f3dfdf;color:#8a4545}
.owner-shop-order-record{border-top:1px solid #eceeeb}.owner-shop-order-record>.owner-shop-order-row{border-top:0;cursor:pointer;list-style:none}.owner-shop-order-record>.owner-shop-order-row::-webkit-details-marker{display:none}.owner-shop-order-record[open]>.owner-shop-order-row{background:#f8faf7}.owner-shop-order-record[open] .owner-shop-chevron{transform:rotate(180deg)}.owner-shop-chevron{display:inline-block;margin-left:5px;color:#778078;font-size:.62rem;transition:transform .15s ease}.owner-shop-order-detail{border-top:1px solid #dfe5df;background:#fbfcfa;padding:18px}.owner-shop-detail-grid{display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:12px}.owner-shop-detail-grid>div{min-width:0;border:1px solid #e1e5e0;border-radius:10px;background:#fff;padding:13px}.owner-shop-detail-grid h3{margin:5px 0;font-size:.7rem}.owner-shop-detail-grid p:not(.owner-eyebrow){overflow-wrap:anywhere;margin:3px 0;color:#747c75;font-size:.53rem;line-height:1.45}.owner-shop-items{margin-top:12px;border:1px solid #e1e5e0;border-radius:10px;background:#fff;overflow:hidden}.owner-shop-line-item{display:grid;grid-template-columns:minmax(180px,1fr) 45px 80px 85px;align-items:center;gap:10px;border-top:1px solid #ecefeb;padding:10px 12px;font-size:.58rem}.owner-shop-line-item:first-child{border-top:0}.owner-shop-line-item.head{background:#f4f6f3;color:#737a74;font-size:.48rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.owner-shop-line-item>span:first-child{display:grid;gap:2px}.owner-shop-line-item small{color:#7a817b;font-size:.49rem}.owner-shop-line-item>strong:last-child{text-align:right}.owner-shop-accounting{display:grid;grid-template-columns:repeat(5,minmax(85px,1fr)) minmax(210px,1.45fr);gap:9px;margin-top:12px}.owner-shop-accounting>div{display:grid;gap:3px;border:1px solid #e1e5e0;border-radius:9px;background:#fff;padding:10px}.owner-shop-accounting span{color:#747b75;font-size:.49rem}.owner-shop-accounting strong{font-size:.65rem}.owner-shop-accounting .total{background:#f0f6f1}.owner-shop-accounting .owner-shop-match{display:flex;align-items:center;gap:9px;border-color:#bcd8c4;background:#eff8f1}.owner-shop-match>span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#d8ecdd;color:#346545;font-weight:900}.owner-shop-match p{display:grid;gap:2px;margin:0}.owner-shop-match small{color:#597060;font-size:.47rem;line-height:1.35}.owner-shop-match.attention{border-color:#e5c9a6;background:#fff8eb}.owner-shop-match.attention>span{background:#f3e0c6;color:#875b23}.owner-shop-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.owner-shop-journey span{display:flex;align-items:center;gap:7px;border:1px solid #e1e5e0;border-radius:8px;background:#fff;padding:9px;color:#7d837e;font-size:.51rem;font-weight:750}.owner-shop-journey b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ecefec}.owner-shop-journey span.done{border-color:#c9decf;color:#3f674b}.owner-shop-journey span.done b{background:#dfeee3}.owner-shop-rehearsal{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;border:1px dashed #d8ca9d;border-radius:10px;background:#fffaf0;padding:12px}.owner-shop-rehearsal>div{display:grid;gap:3px}.owner-shop-rehearsal strong{font-size:.62rem}.owner-shop-rehearsal small{color:#786e58;font-size:.49rem;line-height:1.4}.owner-shop-rehearsal>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.owner-shop-rehearsal button{border:1px solid #d9dcd8;border-radius:7px;background:#f0f1ef;padding:7px 9px;color:#8a8f8b;font:inherit;font-size:.49rem;font-weight:750;cursor:not-allowed}
.owner-shop-shippo-test{display:grid;gap:11px;margin-top:12px;border:1px solid #bed5c5;border-radius:10px;background:#f2f8f3;padding:13px}.owner-shop-shippo-test>div:first-child{display:grid;gap:3px}.owner-shop-shippo-test strong{font-size:.62rem}.owner-shop-shippo-test small{color:#637168;font-size:.49rem;line-height:1.4}.owner-shop-parcel-inputs{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr)) auto;align-items:end;gap:8px}.owner-shop-parcel-inputs label{display:grid;gap:4px;color:#69736c;font-size:.48rem;font-weight:800;text-transform:uppercase}.owner-shop-parcel-inputs input{min-width:0;border:1px solid #ccd7ce;border-radius:7px;background:#fff;padding:8px;color:#303632;font:inherit;font-size:.58rem}.owner-shop-parcel-inputs button{min-height:34px;border:1px solid #3c684b;border-radius:7px;background:#315b3d;padding:8px 11px;color:#fff;font:inherit;font-size:.52rem;font-weight:800}.owner-shop-parcel-inputs button:disabled{border-color:#d6dad6;background:#e5e8e5;color:#8a8f8b;cursor:not-allowed}.owner-shop-rate-results>p{margin:0;color:#69736c;font-size:.52rem}.owner-shop-rate-results>p.error{color:#8a4545}.owner-shop-rate-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.owner-shop-rate-list article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;border:1px solid #d5e1d7;border-radius:8px;background:#fff;padding:9px}.owner-shop-rate-list article>span{display:grid;gap:2px}.owner-shop-rate-list article>b{grid-column:1/-1;justify-self:start;border-radius:999px;background:#e5f1e8;padding:3px 6px;color:#3e704d;font-size:.43rem;text-transform:uppercase}.owner-shop-rate-list article>strong{color:#28533a;font-size:.68rem}
.owner-inventory-heading { align-items: center; }
.owner-inventory-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-bottom: 16px; padding: 6px; border: 1px solid #d9ded9; border-radius: 13px; background: #eef1ed; }
.owner-inventory-tabs button { min-height: 48px; padding: 10px 14px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #616862; font: inherit; font-size: .63rem; font-weight: 850; line-height: 1.25; cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
.owner-inventory-tabs button:hover { color: #344f3a; background: rgba(255,255,255,.65); }
.owner-inventory-tabs button.active { border-color: #cbd7cc; background: #fff; color: #294c33; box-shadow: 0 3px 12px rgba(41,58,45,.08); }
.owner-inventory-tabs button:focus-visible { outline: 3px solid rgba(70,108,79,.2); outline-offset: 2px; }
.owner-inventory-tab-panel[hidden] { display: none !important; }
.owner-inventory-tab-panel > .owner-inventory-metrics { margin-bottom: 16px; }
.owner-transaction-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-bottom: 16px; padding: 6px; border: 1px solid #d9ded9; border-radius: 13px; background: #eef1ed; }
.owner-transaction-tabs button { min-height: 48px; padding: 10px 14px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #616862; font: inherit; font-size: .63rem; font-weight: 850; line-height: 1.25; cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
.owner-transaction-tabs button:hover { color: #344f3a; background: rgba(255,255,255,.65); }
.owner-transaction-tabs button.active { border-color: #cbd7cc; background: #fff; color: #294c33; box-shadow: 0 3px 12px rgba(41,58,45,.08); }
.owner-transaction-tabs button:focus-visible { outline: 3px solid rgba(70,108,79,.2); outline-offset: 2px; }
.owner-transaction-tab-panel[hidden] { display: none !important; }
.owner-transaction-tabs.owner-dispute-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.owner-transaction-tabs.owner-dispute-tabs button { font-size: 14px; }
[data-dispute-panel][hidden] { display: none !important; }
.owner-inventory-safety { display: grid; gap: 4px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid #abd0b8; border-radius: 10px; background: #edf7f0; color: #285a39; }
.owner-inventory-safety strong { font-size: .72rem; }
.owner-inventory-safety span { font-size: .62rem; line-height: 1.45; }
.owner-inventory-metrics { margin-bottom: 16px; }
.owner-salon-use-history-panel { overflow: hidden; margin-bottom: 16px; }
.owner-salon-use-history-count { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #e7f2e9; color: #356747; font-size: .55rem; }
.owner-salon-use-history-tools { display: grid; grid-template-columns: minmax(220px, 1fr) 190px 170px; gap: 12px; padding: 14px 20px; border-top: 1px solid #e7e9e7; border-bottom: 1px solid #e7e9e7; background: #fafbfa; }
.owner-salon-use-history-tools label { display: grid; gap: 5px; color: #747a7d; font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.owner-salon-use-history-tools input, .owner-salon-use-history-tools select { min-width: 0; min-height: 39px; padding: 8px 10px; border: 1px solid #d5d9d5; border-radius: 8px; background: white; color: #2d3133; font: inherit; font-size: .66rem; letter-spacing: 0; text-transform: none; }
.owner-salon-use-history-summary { display: grid; grid-template-columns: repeat(3, minmax(90px, .55fr)) minmax(220px, 1.6fr); gap: 9px; padding: 12px 20px; border-bottom: 1px solid #e7e9e7; background: #fff; }
.owner-salon-use-history-summary article { display: grid; min-width: 0; gap: 3px; padding: 10px 12px; border: 1px solid #e2e7e2; border-radius: 8px; background: #f7faf7; }
.owner-salon-use-history-summary small { color: #7b827d; font-size: .5rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.owner-salon-use-history-summary strong { overflow: hidden; color: #345e40; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-salon-use-history-row { display: grid; grid-template-columns: 150px 155px minmax(220px, 1fr) 85px 90px; align-items: center; gap: 12px; min-height: 58px; padding: 9px 20px; border-bottom: 1px solid #eceeec; }
.owner-salon-use-history-row.head { min-height: 34px; background: #f5f7f5; color: #72787b; font-size: .5rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.owner-salon-use-history-row > span { display: grid; min-width: 0; gap: 2px; }
.owner-salon-use-history-row > span strong { overflow: hidden; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-salon-use-history-row > span small { overflow: hidden; color: #7d8386; font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-salon-use-history-row > b { color: #3b6347; font-size: .68rem; font-variant-numeric: tabular-nums; }
.owner-inventory-panel { overflow: hidden; }
.owner-inventory-panel-heading { align-items: center; }
.owner-inventory-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.owner-inventory-tools { display: grid; grid-template-columns: minmax(260px, 1fr) 210px; gap: 12px; padding: 15px 20px; border-bottom: 1px solid #e7e9e7; background: #fafbfa; }
.owner-inventory-tools label { gap: 5px; color: #747a7d; font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.owner-inventory-tools input, .owner-inventory-tools select { min-height: 39px; padding: 8px 10px; border-color: #d5d9d5; color: #2d3133; font-size: .68rem; font-weight: 600; text-transform: none; letter-spacing: 0; }
.owner-inventory-table { padding-bottom: 8px; }
.owner-inventory-row { display: grid; grid-template-columns: minmax(170px, 1.45fr) minmax(145px, 1.05fr) minmax(125px, .95fr) 74px 74px 70px 112px 56px; align-items: center; gap: 10px; min-height: 70px; padding: 10px 20px; border-bottom: 1px solid #eceeec; }
.owner-inventory-row > div { display: grid; min-width: 0; gap: 3px; }
.owner-inventory-row > div strong { overflow: hidden; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-inventory-row > div small { overflow: hidden; color: #7d8386; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-inventory-row > b { color: #3b4043; font-size: .67rem; font-variant-numeric: tabular-nums; }
.owner-inventory-row > b.positive { color: #397151; }
.owner-inventory-row > b.negative { color: #a14646; }
.owner-inventory-row > b.neutral { color: #73797c; }
.owner-inventory-table-head { min-height: 36px; background: #f5f7f5; color: #72787b; font-size: .52rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.owner-inventory-status { justify-self: start; padding: 5px 7px; border-radius: 999px; font-size: .5rem; font-weight: 850; white-space: nowrap; }
.owner-inventory-status.aligned { background: #e6f1e9; color: #3f6d4d; }
.owner-inventory-status.attention { background: #f6e7d1; color: #865f24; }
.owner-inventory-status.movement { background: #e5edf5; color: #42647f; }
.owner-inventory-edit-button { min-height: 34px; padding: 7px 9px; border: 1px solid #d5dad5; border-radius: 8px; background: #fff; color: #315b3d; font: inherit; font-size: .56rem; font-weight: 850; cursor: pointer; }
.owner-inventory-edit-button:hover { border-color: #9ebaa6; background: #f0f7f2; }
.owner-inventory-edit-dialog { width: min(760px, calc(100vw - 30px)); }
.owner-inventory-edit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.owner-inventory-edit-grid .wide { grid-column: 1 / -1; }
.owner-inventory-alert-fields { display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: end; gap: 12px; margin: 0; padding: 14px; border: 1px solid #e0e4df; border-radius: 10px; background: #f8faf7; }
.owner-inventory-alert-fields legend { padding: 0 6px; color: #59625b; font-size: .61rem; font-weight: 850; }
.owner-inventory-alert-toggle { display: flex !important; align-items: center; gap: 10px !important; min-height: 41px; }
.owner-inventory-alert-toggle input { flex: 0 0 auto; width: 18px !important; height: 18px; }
.owner-inventory-alert-toggle span { display: grid; gap: 3px; }
.owner-inventory-alert-toggle strong { color: #343a35; font-size: .65rem; }
.owner-inventory-alert-toggle small { color: #737b74; font-size: .54rem; font-weight: 600; line-height: 1.35; }
.owner-inventory-recount { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(175px, .8fr) 130px; align-items: end; gap: 12px; padding: 15px; border: 1px solid #dbcda5; border-radius: 10px; background: #fffaf0; }
.owner-inventory-recount > div:first-child { align-self: center; }
.owner-inventory-recount > div:first-child > strong { display: block; margin-top: 4px; font-size: .7rem; }
.owner-inventory-recount > div:first-child > small { display: block; margin-top: 3px; color: #746b57; font-size: .54rem; line-height: 1.4; }
.owner-inventory-recount .wide { grid-column: 1 / -1; }
.owner-inventory-count-summary { display: grid; gap: 5px; align-self: center; }
.owner-inventory-count-summary span { display: flex; justify-content: space-between; gap: 10px; color: #756d5c; font-size: .58rem; }
.owner-inventory-count-summary b { color: #34372f; font-variant-numeric: tabular-nums; }
.owner-inventory-edit-history { display: grid; gap: 6px; }
.owner-inventory-edit-history > strong { color: #5e665f; font-size: .6rem; }
.owner-inventory-edit-history article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 11px; border-radius: 8px; background: #f4f6f3; }
.owner-inventory-edit-history article span { display: grid; gap: 2px; }
.owner-inventory-edit-history article b { font-size: .6rem; }
.owner-inventory-edit-history article small, .owner-inventory-edit-history article em { color: #747b75; font-size: .52rem; font-style: normal; }
@media (max-width: 1050px) {
  .owner-shop-grid{grid-template-columns:1fr}.owner-shop-readiness{grid-template-columns:1fr 1fr}
  .owner-shop-accounting{grid-template-columns:repeat(3,1fr)}.owner-shop-accounting .owner-shop-match{grid-column:span 2}
  .owner-inventory-row { grid-template-columns: minmax(150px, 1.3fr) minmax(125px, 1fr) minmax(110px, .9fr) repeat(3, 60px) 100px 52px; gap: 7px; padding-inline: 14px; }
}
@media (max-width: 760px) {
  .owner-shop-safety{align-items:stretch;flex-direction:column}.owner-shop-safety>span{justify-self:start}.owner-shop-readiness{grid-template-columns:1fr}.owner-shop-tools{grid-template-columns:1fr}.owner-shop-order-row.head{display:none}.owner-shop-order-row{grid-template-columns:1fr auto;gap:8px 14px;padding:14px 16px}.owner-shop-order-row>div{grid-column:1/-1}.owner-shop-order-row>span:nth-child(4){grid-column:1}.owner-shop-order-row>strong:last-child{grid-column:2;grid-row:2/4;align-self:center;font-size:.76rem}
  .owner-shop-detail-grid{grid-template-columns:1fr}.owner-shop-line-item{grid-template-columns:minmax(120px,1fr) 34px 62px 68px}.owner-shop-accounting{grid-template-columns:repeat(2,1fr)}.owner-shop-accounting .owner-shop-match{grid-column:1/-1}.owner-shop-journey{grid-template-columns:1fr 1fr}.owner-shop-rehearsal{align-items:stretch;flex-direction:column}.owner-shop-rehearsal>span{justify-content:flex-start}
  .owner-shop-parcel-inputs{grid-template-columns:1fr 1fr}.owner-shop-parcel-inputs button{grid-column:1/-1}
  .owner-inventory-tools { grid-template-columns: 1fr; }
  .owner-inventory-tabs { display: flex; overflow-x: auto; padding: 5px; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .owner-inventory-tabs button { flex: 0 0 min(76vw, 260px); min-height: 46px; scroll-snap-align: start; }
  .owner-transaction-tabs { display: flex; overflow-x: auto; padding: 5px; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .owner-transaction-tabs button { flex: 0 0 min(60vw, 220px); min-height: 46px; scroll-snap-align: start; }
  .owner-salon-use-history-tools { grid-template-columns: 1fr; }
  .owner-salon-use-history-summary { grid-template-columns: 1fr 1fr; padding: 12px 16px; }
  .owner-salon-use-history-summary article:last-child { grid-column: 1 / -1; }
  .owner-salon-use-history-row.head { display: none; }
  .owner-salon-use-history-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; padding: 13px 16px; }
  .owner-salon-use-history-row > span:nth-child(3) { grid-column: 1 / -1; grid-row: 1; }
  .owner-salon-use-history-row > b::before { display: block; margin-bottom: 2px; color: #858a8d; font-size: .48rem; text-transform: uppercase; }
  .owner-salon-use-history-row > b:nth-child(4)::before { content: "Removed"; }
  .owner-salon-use-history-row > b:nth-child(5)::before { content: "Remaining"; }
  .owner-inventory-table-head { display: none; }
  .owner-inventory-row { grid-template-columns: 1fr 1fr; gap: 8px 16px; padding: 14px 16px; }
  .owner-inventory-row > b::before { display: block; margin-bottom: 2px; color: #858a8d; font-size: .48rem; text-transform: uppercase; }
  .owner-inventory-row > b:nth-child(4)::before { content: "Square quantity"; }
  .owner-inventory-row > b:nth-child(5)::before { content: "FBS shadow"; }
  .owner-inventory-row > b:nth-child(6)::before { content: "Difference"; }
  .owner-inventory-edit-button { grid-column: 1 / -1; width: 100%; min-height: 42px; }
  .owner-inventory-edit-grid, .owner-inventory-alert-fields, .owner-inventory-recount { grid-template-columns: 1fr; }
  .owner-inventory-edit-grid .wide, .owner-inventory-recount .wide { grid-column: auto; }
  .owner-inventory-edit-history article { align-items: flex-start; flex-direction: column; gap: 5px; }
}
.owner-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.owner-metrics > article { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 17px; border: 1px solid var(--owner-line); border-radius: 12px; background: white; }
.owner-metrics article > div { display: grid; min-width: 0; gap: 3px; }
.owner-metrics small { color: #7b8185; font-size: .61rem; }
.owner-metrics strong { font-size: 1.25rem; letter-spacing: -.025em; }
.owner-metrics article > div > span { overflow: hidden; color: #888e92; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-metric-action-card { padding: 0 !important; overflow: hidden; }
.owner-metric-detail-button { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 86px; padding: 17px; border: 0; border-radius: inherit; background: white; color: inherit; text-align: left; cursor: pointer; }
.owner-metric-detail-button:hover { background: #f6f9f6; }
.owner-metric-detail-button:focus-visible { outline: 3px solid #7faa8e; outline-offset: -3px; }
.owner-metric-copy { display: grid; min-width: 0; gap: 3px; }
.owner-metric-copy > span { overflow: hidden; color: #888e92; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-metric-icon { display: grid; flex: 0 0 auto; place-items: center; width: 36px; height: 36px; border-radius: 9px; font-size: .8rem; font-weight: 850; }
.owner-metric-icon.amber { background: #f6ead1; color: #876326; }
.owner-metric-icon.green { background: #e0f0e7; color: #316c4b; }
.owner-metric-icon.blue { background: #e2edf3; color: #3d667b; }
.owner-metric-icon.rose { background: #f2e2e4; color: #924e55; }
.owner-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(310px, .75fr); gap: 17px; margin-top: 18px; }
.owner-business-heading { align-items: flex-end; }
.owner-business-period-controls { display: flex; align-items: flex-end; gap: 10px; }
.owner-business-period-controls .owner-filter-group { margin: 0; }
.owner-business-date-control { display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--owner-line); border-radius: 10px; background: #fff; }
.owner-business-date-control > button { width: 38px; border: 0; background: transparent; color: #353a3c; font-size: 1.15rem; cursor: pointer; }
.owner-business-date-control > button:hover { background: #f2f4f1; }
.owner-business-date-control label { display: grid; gap: 2px; min-width: 138px; padding: 7px 10px; border-right: 1px solid var(--owner-line); border-left: 1px solid var(--owner-line); }
.owner-business-date-control label span { color: #848a8c; font-size: .45rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.owner-business-date-control input { padding: 0; border: 0; background: transparent; color: #303537; font: inherit; font-size: .62rem; font-weight: 750; }
.owner-business-reconciliation { display: grid; grid-template-columns: 42px minmax(260px, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 14px; padding: 17px 20px; border: 1px solid #cfddcf; border-radius: 13px; background: #f1f7f1; }
.owner-business-reconciliation.attention { border-color: #ead8ad; background: #fff9eb; }
.owner-business-reconciliation.error { border-color: #e6c0c0; background: #fff3f2; }
.owner-business-reconciliation-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #dcebdd; color: #376743; font-size: 1rem; font-weight: 900; }
.owner-business-reconciliation.attention .owner-business-reconciliation-icon { background: #f3e2b8; color: #855f19; }
.owner-business-reconciliation.error .owner-business-reconciliation-icon { background: #f2d6d4; color: #9a4141; }
.owner-business-reconciliation h3 { margin: 2px 0 3px; font-size: .82rem; }
.owner-business-reconciliation p:last-child { margin: 0; color: #687072; font-size: .56rem; line-height: 1.45; }
.owner-business-reconciliation dl { display: grid; grid-template-columns: repeat(3, minmax(105px, 1fr)); gap: 8px; margin: 0; }
.owner-business-reconciliation dl > div { display: grid; gap: 3px; padding: 9px 11px; border-radius: 8px; background: rgba(255,255,255,.72); }
.owner-business-reconciliation dt { color: #7d8486; font-size: .45rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.owner-business-reconciliation dd { margin: 0; font-size: .7rem; font-weight: 850; }
.owner-business-reconciliation dd.positive { color: #397047; }
.owner-business-reconciliation dd.negative { color: #a24646; }
.owner-business-hero-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.owner-business-hero { display: grid; min-height: 104px; align-content: center; gap: 5px; padding: 19px 21px; border: 1px solid var(--owner-line); border-radius: 13px; background: #fff; }
.owner-business-hero.money-in { background: linear-gradient(135deg, #202421, #353c37); color: #fff; }
.owner-business-hero.contribution { border-color: #cadfce; background: #edf6ef; }
.owner-business-hero small { color: #7e8586; font-size: .53rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.owner-business-hero.money-in small, .owner-business-hero.money-in span { color: #c8d0ca; }
.owner-business-hero strong { font-size: 1.65rem; letter-spacing: -.04em; }
.owner-business-hero strong.negative { color: #a24646; }
.owner-business-hero span { color: #7d8385; font-size: .53rem; line-height: 1.4; }
.owner-business-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .75fr); gap: 14px; margin-bottom: 14px; }
.owner-business-waterfall, .owner-business-profitability { overflow: hidden; }
.owner-business-waterfall-body { padding: 0 20px 17px; }
.owner-business-waterfall-body article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid #eceeea; }
.owner-business-waterfall-body article:last-child { border-bottom: 0; }
.owner-business-waterfall-body article > div { display: grid; gap: 2px; }
.owner-business-waterfall-body strong { font-size: .61rem; }
.owner-business-waterfall-body span { color: #858b8d; font-size: .49rem; }
.owner-business-waterfall-body b { color: #9a4a4a; font-size: .67rem; }
.owner-business-waterfall-body .income b { color: #2d633b; }
.owner-business-waterfall-body .pass-through b { color: #596266; }
.owner-business-profit-cards { display: grid; padding: 0 20px; }
.owner-business-profit-cards article { display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 11px; padding: 14px 0; border-bottom: 1px solid #eceeea; }
.owner-business-profit-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px; background: #e7efe8; color: #446b4d; font-size: .6rem; font-weight: 900; }
.owner-business-profit-icon.retail { background: #f3ebdd; color: #8b6429; }
.owner-business-profit-icon.salon-use { background: #eeeeed; color: #666c6d; }
.owner-business-profit-cards article > div { display: grid; gap: 3px; }
.owner-business-profit-cards small { color: #777e80; font-size: .49rem; font-weight: 800; text-transform: uppercase; }
.owner-business-profit-cards strong { font-size: .86rem; }
.owner-business-profit-cards p { margin: 0; color: #858b8d; font-size: .49rem; }
.owner-business-completeness { margin: 16px 20px 20px; padding: 14px; border-radius: 10px; background: #f5f6f3; }
.owner-business-completeness > strong { font-size: .59rem; }
.owner-business-completeness ul { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.owner-business-completeness li { display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: start; }
.owner-business-completeness li span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #dfe9e0; color: #477051; font-size: .44rem; font-weight: 900; }
.owner-business-completeness li p { margin: 2px 0 0; color: #697073; font-size: .5rem; line-height: 1.4; }
.owner-business-team-panel { overflow: hidden; }
.owner-business-team-table td:last-child strong { color: #2d633b; }
@media(max-width:1100px){.owner-business-heading{align-items:flex-start;flex-direction:column}.owner-business-period-controls{width:100%;justify-content:space-between}.owner-business-grid{grid-template-columns:1fr}.owner-business-reconciliation{grid-template-columns:42px 1fr}.owner-business-reconciliation dl{grid-column:1/-1}}
@media(max-width:720px){.owner-business-period-controls{align-items:stretch;flex-direction:column}.owner-business-date-control{justify-content:space-between}.owner-business-date-control label{flex:1}.owner-business-hero-grid{grid-template-columns:1fr}.owner-business-reconciliation{grid-template-columns:36px 1fr;padding:14px}.owner-business-reconciliation dl{grid-template-columns:1fr}.owner-business-team-table{min-width:760px}}
.owner-panel { border: 1px solid var(--owner-line); border-radius: 13px; background: white; }
.owner-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 21px; border-bottom: 1px solid #e9eae8; }
.owner-panel-heading h2 { margin: 3px 0 0; font-size: 1rem; letter-spacing: -.025em; }
.owner-panel-heading p:not(.owner-eyebrow) { margin: 5px 0 0; color: #7c8286; font-size: .66rem; }
.owner-text-button { padding: 5px 0; border: 0; background: transparent; color: #6b5841; font-size: .64rem; text-decoration: underline; text-underline-offset: 3px; }
.owner-text-button:hover { background: transparent; color: #2d2822; }
.owner-correction-list { display: grid; gap: 9px; }
.owner-correction-list.compact { padding: 12px; }
.owner-correction-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) 20px; align-items: center; gap: 11px; width: 100%; padding: 13px; border: 1px solid #e4e6e4; border-radius: 9px; background: #fff; color: #292c2f; text-align: left; }
.owner-correction-card:hover, .owner-correction-card.selected { border-color: #af9b7f; background: #faf8f4; }
.owner-correction-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #ece7df; color: #66543e; font-size: .78rem; font-weight: 800; }
.owner-correction-copy { display: grid; min-width: 0; gap: 3px; }
.owner-correction-copy > span { display: flex; align-items: center; gap: 7px; }
.owner-correction-copy strong { overflow: hidden; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-correction-copy em { padding: 3px 5px; border-radius: 4px; background: #e6f0e9; color: #3f6b4e; font-size: .5rem; font-style: normal; font-weight: 750; text-transform: uppercase; }
.owner-correction-copy em.closed { background: #f4ead8; color: #80622c; }
.owner-correction-copy b { font-size: .67rem; }
.owner-correction-copy small { overflow: hidden; color: #7d8387; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-correction-arrow { color: #8b9093; font-size: 1.2rem; }
.owner-payroll-preview { overflow: hidden; }
.owner-payroll-total { display: grid; gap: 4px; padding: 23px 22px 13px; }
.owner-payroll-total small { color: #7c8286; font-size: .62rem; }
.owner-payroll-total strong { font-size: 2rem; letter-spacing: -.05em; }
.owner-payroll-total span { color: #848a8e; font-size: .58rem; }
.owner-progress { height: 5px; margin: 5px 22px 19px; overflow: hidden; border-radius: 99px; background: #eceeec; }
.owner-progress span { display: block; height: 100%; border-radius: inherit; background: #4d7660; }
.owner-payroll-checklist { display: grid; gap: 11px; padding: 0 22px 19px; }
.owner-payroll-checklist > div { display: flex; align-items: center; gap: 10px; }
.owner-payroll-checklist > div > span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #e3efe7; color: #3a6d4d; font-size: .58rem; font-weight: 850; }
.owner-payroll-checklist > div.pending > span { background: #f4e9d4; color: #85662f; }
.owner-payroll-checklist p { display: grid; gap: 2px; margin: 0; }
.owner-payroll-checklist strong { font-size: .65rem; }
.owner-payroll-checklist small { color: #858b8f; font-size: .56rem; }
.owner-primary-button, .owner-secondary-button { padding: 10px 13px; border-radius: 7px; font-size: .66rem; font-weight: 750; }
.owner-primary-button { background: #202326; color: white; }
.owner-primary-button:hover { background: #41464a; }
.owner-secondary-button { border: 1px solid #d5d8d6; background: white; color: #404447; }
.owner-secondary-button:hover { background: #f2f3f1; }
.owner-secondary-button.danger { border-color: #dfbcbc; color: #984849; }
.owner-payroll-preview > .owner-primary-button { width: calc(100% - 44px); margin: 0 22px 22px; }
.owner-status-pill { display: inline-grid; place-items: center; padding: 5px 8px; border-radius: 999px; background: #ebedeb; color: #5d6265; font-size: .54rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.owner-status-pill.open, .owner-status-pill.approved { background: #e3efe7; color: #38694a; }
.owner-status-pill.pending, .owner-status-pill.review { background: #f4e8cf; color: #806027; }
.owner-status-pill.declined { background: #f4e3e3; color: #8e4345; }
.owner-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 17px; }
.owner-section-heading h2 { margin: 5px 0 0; font-size: 1.45rem; letter-spacing: -.035em; }
.owner-section-heading > div > p:not(.owner-eyebrow) { margin: 7px 0 0; color: #767c80; font-size: .7rem; }
.owner-filter-group { display: flex; gap: 4px; padding: 4px; border: 1px solid #dddfdd; border-radius: 9px; background: white; }
.owner-filter-group button { padding: 7px 10px; border: 0; background: transparent; color: #71777a; font-size: .62rem; }
.owner-filter-group button:hover { background: #f1f2f0; }
.owner-filter-group button.active { background: #25282a; color: white; }
.owner-correction-layout { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(560px, 1.28fr); gap: 16px; align-items: start; }
.owner-contact-change-review { margin-bottom: 16px; overflow: hidden; }
.owner-contact-change-list { display: grid; gap: 10px; padding: 14px 20px 20px; }
.owner-contact-change-card { display: grid; grid-template-columns: minmax(170px,.75fr) minmax(240px,1fr) auto; align-items: center; gap: 18px; padding: 14px; border: 1px solid #e1e5df; border-radius: 10px; background: #fbfcfa; }
.owner-contact-change-card > div:first-child { display: grid; gap: 3px; }
.owner-contact-change-card > div:first-child span,.owner-contact-change-card dt { color: #747b74; font-size: .53rem; }
.owner-contact-change-card dl { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; }
.owner-contact-change-card dl div { display: grid; gap: 3px; }
.owner-contact-change-card dd { margin: 0; font-size: .65rem; font-weight: 750; }
.owner-contact-change-card .owner-decision-actions { margin: 0; }
.owner-correction-layout > .owner-correction-list { padding: 0; }
.owner-correction-detail { position: sticky; top: 18px; min-height: 540px; padding: 22px; }
.owner-correction-detail-heading { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid #e6e8e6; }
.owner-correction-detail-heading h2 { margin: 5px 0 3px; font-size: 1.2rem; }
.owner-correction-detail-heading span:not(.owner-status-pill) { color: #787e82; font-size: .62rem; }
.owner-correction-service { display: grid; gap: 4px; margin-top: 18px; }
.owner-correction-service small, .owner-request-reason small { color: #858b8f; font-size: .57rem; font-weight: 750; text-transform: uppercase; }
.owner-correction-service strong { font-size: .82rem; }
.owner-before-after { display: grid; grid-template-columns: 1fr 22px 1fr; align-items: center; gap: 9px; margin-top: 12px; }
.owner-before-after > section { padding: 14px; border: 1px solid #e1e3e1; border-radius: 9px; background: #f8f8f6; }
.owner-before-after > section.proposed { border-color: #c9d9ce; background: #f2f8f4; }
.owner-before-after > section > span { color: #7d8387; font-size: .56rem; font-weight: 750; text-transform: uppercase; }
.owner-before-after > section > strong { display: block; margin-top: 5px; font-size: .82rem; }
.owner-before-after > b { color: #888e91; text-align: center; }
.owner-before-after dl { display: grid; gap: 7px; margin: 12px 0 0; }
.owner-before-after dl > div { display: flex; justify-content: space-between; gap: 9px; font-size: .59rem; }
.owner-before-after dt { color: #7f8589; }
.owner-before-after dd { margin: 0; font-weight: 750; }
.owner-request-reason { margin-top: 15px; padding: 13px; border-radius: 8px; background: #f5f5f3; }
.owner-request-reason p { margin: 6px 0 0; color: #4f5558; font-size: .67rem; line-height: 1.5; }
.owner-impact-note { display: grid; gap: 3px; margin-top: 12px; padding: 11px 13px; border-left: 3px solid #5d8a6e; background: #eff6f1; }
.owner-impact-note.closed { border-left-color: #a9813c; background: #f8f2e7; }
.owner-impact-note strong { font-size: .63rem; }
.owner-impact-note span { color: #707679; font-size: .59rem; line-height: 1.4; }
.owner-decision-note { gap: 6px; margin-top: 14px; color: #555b5f; font-size: .62rem; }
.owner-decision-note span { color: #8b9093; font-weight: 400; }
.owner-decision-note textarea { min-height: 65px; padding: 9px; border: 1px solid #d8dad8; border-radius: 7px; resize: vertical; }
.owner-decision-actions { display: grid; grid-template-columns: 1fr 1.5fr; gap: 8px; margin-top: 11px; }
.owner-decided-note { margin-top: 14px; padding: 12px; border-radius: 8px; background: #f1f3f1; color: #656b6e; font-size: .64rem; }
.owner-week-control { display: grid; grid-template-columns: 30px auto 30px; align-items: center; gap: 8px; padding: 5px; border: 1px solid #daddda; border-radius: 9px; background: white; }
.owner-week-control button { width: 30px; height: 30px; padding: 0; border: 0; background: #f1f2ef; color: #363a3d; font-size: 1rem; }
.owner-week-control > div { display: grid; min-width: 130px; gap: 2px; text-align: center; }
.owner-week-control small { color: #858b8e; font-size: .52rem; text-transform: uppercase; }
.owner-week-control strong { font-size: .64rem; }
.owner-payroll-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 17px 19px; border: 1px solid #dce5df; border-radius: 11px; background: #f3f8f5; }
.owner-payroll-banner > div:first-child { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 9px; }
.owner-payroll-banner > div:first-child strong { font-size: .78rem; }
.owner-payroll-banner p { grid-column: 1 / -1; margin: 0; color: #718078; font-size: .61rem; }
.owner-payroll-banner-total { display: grid; gap: 2px; text-align: right; }
.owner-payroll-banner-total small { color: #738078; font-size: .55rem; }
.owner-payroll-banner-total strong { font-size: 1.3rem; }
.owner-shadow-payroll-status { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 22px; margin-bottom: 14px; padding: 16px 18px; border-color: #d8e6dc; background: #f8fbf9; }
.owner-shadow-payroll-status > div:first-child { display: grid; gap: 3px; }
.owner-shadow-payroll-status h3 { margin: 0; font-size: .78rem; }
.owner-shadow-payroll-status p:not(.owner-eyebrow) { max-width: 720px; margin: 0; color: #718078; font-size: .57rem; line-height: 1.45; }
.owner-shadow-payroll-status dl { display: grid; grid-template-columns: repeat(3, minmax(82px, auto)); gap: 8px; margin: 0; }
.owner-shadow-payroll-status dl > div { display: grid; gap: 3px; padding: 9px 11px; border-radius: 8px; background: #edf5ef; text-align: center; }
.owner-shadow-payroll-status dt { color: #75827a; font-size: .46rem; text-transform: uppercase; }
.owner-shadow-payroll-status dd { margin: 0; color: #304c39; font-size: .78rem; font-weight: 850; }
.owner-shadow-payroll-actions { display: grid; gap: 7px; }
.owner-retail-evidence .owner-payroll-excluded td { background: #fff7ed; }
.owner-retail-evidence .owner-payroll-excluded td:last-child { color: #9a3412; font-weight: 800; }
.owner-retail-evidence .owner-payroll-included td:last-child { color: #2f6b45; font-weight: 800; }
.owner-payroll-reporting-only { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.7rem; font-weight: 600; }
.owner-reporting-only-note { margin-top: -0.4rem; border-left: 3px solid #7ea48c; padding-left: 0.75rem; }
.owner-metrics.payroll { margin-bottom: 14px; }
.owner-metrics.payroll > article { min-height: 91px; }
.owner-reconciliation-week { display: grid; min-width: 220px; gap: 6px; color: #70767a; font-size: .54rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.owner-reconciliation-week select { box-sizing: border-box; width: 100%; padding: 10px 34px 10px 11px; border: 1px solid #d6d9d6; border-radius: 8px; background: #fff; color: #292d30; font: inherit; font-size: .66rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.owner-reconciliation-safety { margin-top: 2px; }
.owner-reconciliation-metrics strong.negative { color: #a04648; }
.owner-reconciliation-panel { overflow: hidden; }
.owner-reconciliation-table td:first-child strong { display: block; color: #292d30; font-size: .64rem; }
.owner-reconciliation-table td:first-child small,
.owner-reconciliation-table td:last-child small { display: block; max-width: 190px; margin-top: 4px; color: #858b8e; font-size: .49rem; line-height: 1.35; white-space: normal; }
.owner-reconciliation-table td:last-child { min-width: 150px; text-align: left; }
.owner-reconciliation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.owner-reconciliation-notes { overflow: hidden; }
.owner-reconciliation-notes > .owner-panel-heading { padding: 18px 20px; }
.owner-reconciliation-notes > div:last-child { display: grid; gap: 0; padding: 0 20px 18px; }
.owner-reconciliation-notes article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid #eceeeb; }
.owner-reconciliation-notes article:last-child { border-bottom: 0; }
.owner-reconciliation-notes article > div { display: grid; gap: 3px; }
.owner-reconciliation-notes article strong { font-size: .64rem; }
.owner-reconciliation-notes article span { color: #7d8386; font-size: .53rem; }
.owner-reconciliation-notes dl { display: flex; gap: 15px; margin: 0; }
.owner-reconciliation-notes dl > div { display: grid; gap: 2px; text-align: right; }
.owner-reconciliation-notes dt { color: #858b8e; font-size: .47rem; text-transform: uppercase; }
.owner-reconciliation-notes dd { margin: 0; color: #363a3d; font-size: .59rem; font-weight: 750; }
.owner-reconciliation-notes ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.owner-reconciliation-notes li { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 9px; }
.owner-reconciliation-notes li > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #edf2ed; color: #4e7256; font-size: .51rem; font-weight: 850; }
.owner-reconciliation-notes li p { margin: 3px 0 0; color: #686f72; font-size: .57rem; line-height: 1.5; }
.owner-transaction-audit { margin-top: 14px; overflow: hidden; }
.owner-transaction-audit-readiness { margin: 0 20px 14px; padding: 12px 14px; border: 1px solid #dfe3df; border-radius: 9px; background: #f8f9f7; color: #666d70; }
.owner-transaction-audit-readiness strong { display: block; margin-bottom: 3px; color: #34393b; font-size: .65rem; }
.owner-transaction-audit-readiness p { margin: 0; font-size: .56rem; line-height: 1.45; }
.owner-transaction-audit-readiness.ready { border-color: #cfe2d2; background: #f1f8f2; }
.owner-transaction-audit-readiness.warning { border-color: #ead8ae; background: #fff9ea; }
.owner-transaction-audit-metrics { margin: 0 20px 16px; }
.owner-transaction-lines { border-top: 1px solid #e8ebe8; }
.owner-transaction-lines summary { padding: 14px 20px; color: #42484a; cursor: pointer; font-size: .61rem; font-weight: 800; }
.owner-transaction-lines[open] summary { border-bottom: 1px solid #e8ebe8; }
.owner-transaction-lines tr.needs-review { background: #fffbf1; }
.owner-transaction-lines td strong,
.owner-transaction-lines td small { display: block; }
.owner-transaction-lines td small { margin-top: 3px; color: #7f8588; font-size: .49rem; line-height: 1.35; white-space: normal; }
.owner-transaction-lines code { color: #5d6568; font-size: .5rem; }
.owner-transaction-audit > .owner-table-note { margin: 0; padding: 13px 20px 18px; border-top: 1px solid #eceeeb; }
.owner-transaction-audit > .owner-table-note ul { display: grid; gap: 4px; margin: 0; padding-left: 18px; }
.owner-transaction-audit > .owner-table-note li { color: #737a7d; font-size: .52rem; line-height: 1.45; }
.owner-audit-tip { display: block; font-weight: 700; color: #34393b; }
.owner-row-action { display: block; margin-top: 4px; color: #6f806f !important; font-size: .48rem !important; font-weight: 750; }
[data-transaction-audit-person]:focus-visible,
[data-reconciliation-person]:focus-visible { outline: 2px solid #6f9279; outline-offset: -2px; background: #f6faf7; }
.owner-audit-detail-dialog { width: min(1080px, calc(100vw - 30px)); }
.owner-audit-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 27px 65px 20px 28px; border-bottom: 1px solid #e7e9e7; }
.owner-audit-detail-heading h2 { margin: 4px 0 3px; font-size: 1.35rem; letter-spacing: -.035em; }
.owner-audit-detail-heading p:last-child { margin: 0; color: #7b8184; font-size: .61rem; }
.owner-audit-detail-callout { margin: 18px 28px 0; padding: 13px 15px; border: 1px solid #ead7aa; border-radius: 9px; background: #fff9eb; }
.owner-audit-detail-callout.complete { border-color: #cce0d2; background: #f1f8f3; }
.owner-audit-detail-callout strong { display: block; font-size: .68rem; }
.owner-audit-detail-callout p { margin: 4px 0 0; color: #747a7d; font-size: .57rem; line-height: 1.45; }
.owner-audit-detail-equation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.1fr); align-items: stretch; gap: 10px; padding: 18px 28px; }
.owner-audit-detail-equation article { display: grid; align-content: center; gap: 4px; min-height: 78px; padding: 13px; border: 1px solid #e0e3e0; border-radius: 9px; background: #fafaf8; }
.owner-audit-detail-equation article.total { border-color: #cbdcd0; background: #f1f7f3; }
.owner-audit-detail-equation small { color: #7d8386; font-size: .52rem; text-transform: uppercase; }
.owner-audit-detail-equation strong { font-size: 1rem; }
.owner-audit-detail-equation span { color: #7c8285; font-size: .51rem; line-height: 1.35; }
.owner-audit-detail-equation > b { align-self: center; color: #81878a; font-size: 1rem; }
.owner-audit-detail-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 0 28px 18px; padding: 14px 16px; border-radius: 9px; background: #f3f4f2; }
.owner-audit-detail-comparison > div { display: flex; justify-content: space-between; gap: 12px; font-size: .62rem; }
.owner-audit-detail-comparison > div span { color: #747a7d; }
.owner-audit-detail-comparison strong.negative { color: #a04648; }
.owner-audit-detail-comparison p { grid-column: 1 / -1; margin: 9px 0 0; color: #7b8184; font-size: .53rem; line-height: 1.45; }
.owner-audit-detail-section { display: block; margin: 0; border-top: 1px solid #e7e9e7; }
section.owner-audit-detail-section > div:first-child { padding: 18px 28px 12px; }
.owner-audit-detail-section h3 { margin: 0; font-size: .82rem; }
.owner-audit-detail-section > div:first-child p { margin: 4px 0 0; color: #7e8487; font-size: .55rem; }
.owner-audit-detail-section summary { padding: 16px 28px; cursor: pointer; color: #34393b; font-size: .67rem; font-weight: 800; }
.owner-audit-detail-section[open] summary { border-bottom: 1px solid #e7e9e7; }
.owner-audit-detail-section .owner-table-wrap { max-height: 340px; overflow: auto; }
.owner-audit-detail-section .owner-payroll-table tfoot td { background: #f4f6f3; color: #303537; font-weight: 850; }
.owner-audit-detail-section .owner-empty { margin: 0; padding: 0 28px 18px; }
.owner-audit-detail-note { margin: 0; padding: 11px 28px; border-bottom: 1px solid #e7e9e7; background: #fff9eb; color: #776b51; font-size: .54rem; line-height: 1.45; }
.owner-audit-attribution-control { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 7px; }
.owner-audit-attribution-control select { min-width: 112px; max-width: 160px; padding: 6px 22px 6px 7px; border: 1px solid #cfd4d0; border-radius: 6px; background: #fff; color: #34393b; font: inherit; font-size: .52rem; }
.owner-audit-attribution-control button { padding: 6px 8px; border: 1px solid #29312c; border-radius: 6px; background: #fff; color: #29312c; font: inherit; font-size: .5rem; font-weight: 800; cursor: pointer; }
.owner-audit-attribution-control button:hover { background: #29312c; color: #fff; }
.owner-week-detail-dialog { width: min(1050px, calc(100vw - 30px)); }
.owner-week-detail-section { border-top: 1px solid #e7e9e7; padding: 20px 28px; }
.owner-week-detail-section-heading { margin-bottom: 14px; }
.owner-week-detail-section-heading h3 { margin: 0; font-size: .84rem; }
.owner-week-detail-section-heading p { margin: 5px 0 0; color: #7b8184; font-size: .57rem; line-height: 1.45; }
.owner-week-sales-grid,
.owner-week-closing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.owner-week-sales-grid article,
.owner-week-closing-grid article { display: grid; align-content: start; gap: 5px; min-height: 74px; padding: 13px; border: 1px solid #e0e3e0; border-radius: 9px; background: #fafaf8; }
.owner-week-closing-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.owner-week-closing-grid article { min-height: 58px; }
.owner-week-sales-grid small,
.owner-week-closing-grid small { color: #7d8386; font-size: .5rem; text-transform: uppercase; }
.owner-week-sales-grid strong,
.owner-week-closing-grid strong { color: #303537; font-size: .86rem; }
.owner-week-sales-grid span { color: #7c8285; font-size: .5rem; line-height: 1.35; }
.owner-week-lines-button { margin-top: 12px; }
.owner-week-detail-notice,
.owner-week-detail-loading { padding: 14px; border: 1px solid #e4dfd1; border-radius: 9px; background: #fbf8f0; color: #676e70; }
.owner-week-detail-notice strong { color: #373c3e; font-size: .65rem; }
.owner-week-detail-notice p { margin: 5px 0 0; font-size: .56rem; line-height: 1.45; }
.owner-week-payout-equation { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; padding: 12px 14px; border-radius: 9px; background: #f1f6f2; color: #5d6561; font-size: .57rem; }
.owner-week-payout-equation b { color: #89908c; }
.owner-week-payout-equation strong { margin-left: auto; color: #28332c; font-size: .85rem; }
.owner-week-detail-footnote { margin: 9px 0 0; color: #7a8183; font-size: .53rem; }
.owner-week-attendance-list { display: grid; gap: 7px; }
.owner-week-attendance-day { display: grid; grid-template-columns: 150px minmax(0, 1fr) 70px; align-items: center; gap: 14px; padding: 10px 12px; border: 1px solid #e3e6e3; border-radius: 8px; }
.owner-week-attendance-day > div:first-child { display: grid; gap: 2px; }
.owner-week-attendance-day strong { color: #303537; font-size: .61rem; }
.owner-week-attendance-day small { color: #858b8e; font-size: .49rem; }
.owner-week-attendance-ranges { display: flex; flex-wrap: wrap; gap: 5px; }
.owner-week-attendance-ranges span { padding: 5px 7px; border-radius: 6px; background: #eef3ef; color: #536259; font-size: .54rem; }
.owner-week-attendance-ranges span.empty { background: #f2f2f0; color: #8a8f91; }
.owner-week-attendance-day > b { color: #343a3c; font-size: .59rem; text-align: right; }
@media (max-width: 800px) {
  .owner-shadow-payroll-status { grid-template-columns: 1fr; }
  .owner-shadow-payroll-status dl { width: 100%; }
  .owner-shadow-payroll-status button { width: 100%; }
  .owner-week-sales-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-week-closing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-week-attendance-day { grid-template-columns: 1fr auto; }
  .owner-week-attendance-ranges { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 760px) {
  .owner-audit-detail-equation { grid-template-columns: 1fr; }
  .owner-audit-detail-equation > b { justify-self: center; }
  .owner-audit-detail-comparison { grid-template-columns: 1fr; gap: 8px; }
}
.owner-payroll-table-panel { overflow: hidden; }
.owner-actions { display: flex; gap: 8px; }
.owner-table-wrap { overflow-x: auto; }
.owner-payroll-table { width: 100%; border-collapse: collapse; font-size: .62rem; }
.owner-payroll-table th { padding: 10px 12px; border-bottom: 1px solid #e6e8e6; background: #f7f7f5; color: #747a7e; font-size: .53rem; letter-spacing: .045em; text-align: right; text-transform: uppercase; white-space: nowrap; }
.owner-payroll-table th:first-child, .owner-payroll-table th:nth-child(2) { text-align: left; }
.owner-payroll-table td { padding: 12px; border-bottom: 1px solid #eceeec; color: #4e5457; text-align: right; white-space: nowrap; }
.owner-payroll-table td:first-child, .owner-payroll-table td:nth-child(2) { text-align: left; }
.owner-payroll-table tbody tr { cursor: pointer; }
.owner-payroll-table tbody tr:hover { background: #faf9f6; }
.owner-payroll-table td.negative { color: #a04648; }
.owner-inline-edit { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; }
.owner-inline-edit > span { display: grid; gap: 1px; }
.owner-inline-edit small { color: #92979a; font-size: .47rem; font-weight: 700; text-transform: uppercase; }
.owner-inline-edit button { min-width: 34px; padding: 5px 7px; border: 1px solid #daddda; border-radius: 6px; background: white; color: #535a5d; font-size: .51rem; font-weight: 800; }
.owner-inline-edit button:hover { border-color: #adb4af; background: #f3f5f3; }
.owner-table-person { display: flex; align-items: center; gap: 8px; }
.owner-table-person img { width: 31px; height: 31px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.owner-table-initials { display: grid; flex: 0 0 auto; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: #ece7dd; color: #6d5a41; font-size: .54rem; }
.owner-table-person > span { display: grid; gap: 2px; }
.owner-table-person strong { color: #282c2e; font-size: .65rem; }
.owner-table-person small { color: #8b9093; font-size: .52rem; }
.owner-table-note { margin: 0; padding: 12px 20px; color: #81878a; font-size: .57rem; line-height: 1.45; }
@media (min-width: 1001px) {
  .owner-payroll-table-panel .owner-table-wrap { overflow-x: hidden; }
  .owner-payroll-table-panel .owner-payroll-table { table-layout: fixed; }
  .owner-payroll-table-panel .owner-payroll-table th,
  .owner-payroll-table-panel .owner-payroll-table td { padding: 9px 6px; white-space: normal; overflow-wrap: anywhere; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(1) { width: 14%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(2) { width: 8%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(3) { width: 9%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(4) { width: 12%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(5) { width: 11%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(6) { width: 7%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(7) { width: 12%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(8) { width: 7%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(9) { width: 9%; }
  .owner-payroll-table-panel .owner-payroll-table th:nth-child(10) { width: 11%; }
  .owner-payroll-table-panel .owner-payroll-table .owner-inline-edit { display: grid; justify-items: end; gap: 4px; }
  .owner-payroll-table-panel .owner-payroll-table .owner-table-person { gap: 6px; }
  .owner-payroll-table-panel .owner-payroll-table .owner-table-person img,
  .owner-payroll-table-panel .owner-payroll-table .owner-table-initials { width: 27px; height: 27px; }
}
.owner-booking-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.owner-booking-card { padding: 17px; border: 1px solid var(--owner-line); border-radius: 11px; background: white; }
.owner-booking-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.owner-booking-card > div:first-child small { color: #858b8f; font-size: .55rem; }
.owner-booking-card h3 { margin: 13px 0 4px; font-size: .9rem; }
.owner-booking-card > p { margin: 0; color: #747a7e; font-size: .63rem; }
.owner-booking-card ul { display: grid; gap: 7px; margin: 14px 0; padding: 12px 0; border-top: 1px solid #e7e9e7; border-bottom: 1px solid #e7e9e7; list-style: none; }
.owner-booking-card li { display: flex; justify-content: space-between; gap: 10px; font-size: .6rem; }
.owner-booking-card li span { color: #767c7f; }
.owner-settings-panel { max-width: 650px; padding: 22px; }
.owner-settings-panel h3 { margin: 0 0 16px; font-size: .9rem; }
#salon-hours-fields { border: 0; padding: 0; margin: 18px 0; min-width: 0; }
#salon-hours-fields > legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.salon-hours-row { display: grid; grid-template-columns: minmax(110px, 1fr) 90px 1fr 1fr; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e8eae8; }
.salon-hours-row strong { font-size: .8rem; }
.salon-hours-row label { display: grid; gap: 5px; font-size: .7rem; color: #414b45; }
.salon-hours-row .salon-hours-toggle { display: flex; align-items: center; gap: 7px; }
.salon-hours-toggle input { width: 18px; height: 18px; }
.salon-hours-row input[type="time"] { width: 100%; min-width: 0; padding: 9px; border: 1px solid #d7ddd8; border-radius: 8px; background: white; color: #202622; }
.salon-hours-row input:disabled { opacity: .45; }
#salon-hours-feedback[data-error="true"] { color: #a33e30; }
@media (max-width: 600px) { .salon-hours-row { grid-template-columns: 1fr 1fr; } .salon-hours-row .salon-hours-toggle { justify-self: end; } }
.owner-reminder-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 0; border-top: 1px solid #e8eae8; }
.owner-reminder-row > span { display: grid; gap: 3px; }
.owner-reminder-row strong { font-size: .68rem; text-transform: capitalize; }
.owner-reminder-row small { color: #81878b; font-size: .58rem; }
.owner-reminder-row input { width: 18px; height: 18px; }
.owner-settings-panel > button { margin-top: 16px; }
.owner-settings-status-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.owner-settings-status-row h3 { margin: 3px 0 0; }
.owner-terminal-settings { display: grid; gap: 12px; }
.owner-terminal-settings > p { margin: 0; }
.owner-terminal-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.owner-terminal-actions button { margin: 0; }
.owner-tip-basis-settings { display: grid; gap: 9px; margin: 14px 0; padding: 0; border: 0; }
.owner-tip-basis-settings legend { margin-bottom: 8px; font-size: .7rem; font-weight: 800; }
.owner-tip-basis-settings label { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 2px 8px; padding: 12px; border: 1px solid #e1e5e2; border-radius: 9px; font-size: .7rem; font-weight: 750; }
.owner-tip-basis-settings input { grid-row: 1 / 3; width: 17px; height: 17px; margin: 0; }
.owner-tip-basis-settings small { color: #747d77; font-size: .6rem; font-weight: 500; line-height: 1.4; }
.owner-tip-percentage-settings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.owner-tip-percentage-settings label { display: grid; gap: 6px; color: #69716c; font-size: .62rem; font-weight: 750; }
.owner-tip-percentage-settings label span { display: flex; align-items: center; gap: 5px; }
.owner-tip-percentage-settings input { width: 100%; min-width: 0; padding: 9px; border: 1px solid #d8ddda; border-radius: 7px; }
.owner-square-import-safety{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.owner-square-import-safety article{display:flex;gap:12px;border:1px solid #dfe4de;border-radius:11px;background:#f8faf7;padding:16px}
.owner-square-import-safety article>span{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border-radius:50%;background:#dfece1;color:#315c3b;font-size:.62rem;font-weight:900}
.owner-square-import-safety strong{display:block;margin-bottom:5px;font-size:.68rem}.owner-square-import-safety p{margin:0;color:#707770;font-size:.57rem;line-height:1.5}
.owner-square-import-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-bottom:14px}.owner-square-import-panel{padding:20px}.owner-square-import-panel>.owner-panel-heading{padding:0 0 15px}
.owner-square-connection-detail{display:grid;gap:13px}.owner-square-connection-detail>h3{margin:0;font-size:.68rem}
.owner-square-connection-state{display:flex;align-items:flex-start;gap:11px;border:1px solid #e2e4e0;border-radius:9px;background:#fafbf9;padding:13px}
.owner-square-connection-state>span{display:grid;flex:0 0 auto;place-items:center;width:29px;height:29px;border-radius:50%;background:#f5e7c7;color:#855a11;font-size:.65rem;font-weight:900}
.owner-square-connection-state.connected>span{background:#dcecdf;color:#2f683b}.owner-square-connection-state strong{font-size:.67rem}.owner-square-connection-state p{margin:4px 0 0;color:#737a73;font-size:.57rem;line-height:1.45}
.owner-square-scope-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.owner-square-scope-list li{display:flex;align-items:center;gap:5px;border:1px solid #dce3db;border-radius:999px;background:#f5f8f4;padding:5px 8px}
.owner-square-scope-list li span{color:#3a7448;font-size:.54rem}.owner-square-scope-list code{color:#4f5d52;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.49rem}
.owner-square-no-writes,.owner-square-import-history{display:grid;gap:3px;border-left:3px solid #6f9b79;background:#f0f6f1;padding:9px 10px}.owner-square-no-writes strong,.owner-square-import-history strong{font-size:.59rem}.owner-square-no-writes span,.owner-square-import-history span{color:#6e776f;font-size:.53rem;line-height:1.4}
.owner-square-import-history{border-left-color:#b8a06e;background:#faf7ef}.owner-square-error{margin:0;border-radius:8px;background:#fbefed;padding:10px;color:#8d463e;font-size:.56rem;line-height:1.45}
.owner-square-connect-button{width:100%;margin-top:12px}.owner-square-connected-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid #bfd7c4;border-radius:9px;background:#edf6ef;padding:10px;color:#315b3a;font-size:.56rem}.owner-square-connected-note span{color:#5e7663}
.owner-square-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.owner-square-range>span{padding-bottom:10px;color:#777e78;font-size:.57rem}.owner-square-range label{display:grid;gap:6px;color:#6c736d;font-size:.55rem;font-weight:800;text-transform:uppercase}.owner-square-range input{box-sizing:border-box;width:100%;border:1px solid #d4d9d3;border-radius:8px;background:#fff;padding:9px;color:#292e29;font:inherit;font-size:.65rem}
.owner-square-preview-panel{margin-bottom:14px;overflow:hidden}.owner-square-preview-panel>.owner-panel-heading{padding:19px 20px}.owner-square-preview-summary{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px;border-top:1px solid #e7e9e5;border-bottom:1px solid #e7e9e5;background:#fafbf9}.owner-square-preview-summary span{border-radius:999px;background:#eef1ed;padding:6px 9px;color:#697069;font-size:.54rem}.owner-square-preview-summary strong{color:#283029}
.owner-square-preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 20px}.owner-square-preview-card{border:1px solid #e0e4de;border-radius:10px;background:#fff;padding:13px}.owner-square-preview-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.owner-square-preview-card>div small{color:#737a73;font-size:.53rem}.owner-square-preview-card h3{margin:11px 0 8px;font-size:.74rem}.owner-square-preview-card ul{display:grid;gap:7px;margin:0;padding:10px 0;border-top:1px solid #eaede8;border-bottom:1px solid #eaede8;list-style:none}.owner-square-preview-card li span{display:grid;gap:2px}.owner-square-preview-card li strong{font-size:.59rem}.owner-square-preview-card li small{color:#747b74;font-size:.52rem}.owner-square-preview-card>p{margin:9px 0 0;color:#858b85;font-size:.49rem;line-height:1.4}
.owner-square-import-success{display:flex;justify-content:space-between;gap:15px;margin:14px 20px 0;border:1px solid #bcd5c1;border-radius:9px;background:#edf6ef;padding:11px;color:#34603d;font-size:.58rem}.owner-square-refresh-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px}.owner-square-refresh-panel h2{margin:2px 0 6px;font-size:.84rem}.owner-square-refresh-panel p:not(.owner-eyebrow){max-width:720px;margin:0;color:#717871;font-size:.6rem;line-height:1.5}
.owner-square-manual-state{display:flex;align-items:center;gap:9px}.owner-square-sync-history-panel{margin-top:14px;overflow:hidden}.owner-square-sync-history-panel>.owner-panel-heading{padding:18px 20px}.owner-square-sync-run{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:18px;padding:14px 20px;border-top:1px solid #e7e9e5}.owner-square-sync-run>div{display:grid;gap:3px}.owner-square-sync-run>div strong{font-size:.64rem}.owner-square-sync-run>div span,.owner-square-sync-run>small{color:#737a73;font-size:.52rem}.owner-square-sync-run ul{display:flex;gap:7px;margin:0;padding:0;list-style:none}.owner-square-sync-run li{display:grid;min-width:52px;justify-items:center;border-radius:8px;background:#f0f3ef;padding:6px}.owner-square-sync-run li.review{background:#fbf0de;color:#8a5b12}.owner-square-sync-run li strong{font-size:.66rem}.owner-square-sync-run li span{font-size:.48rem}.owner-square-sync-run>small{text-align:right}.owner-square-preview-summary span.review{background:#fbf0de;color:#8a5b12}.owner-status-pill.sync-new{background:#e4f1e7;color:#356542}.owner-status-pill.sync-update{background:#e5eef9;color:#365d8d}.owner-status-pill.sync-unchanged{background:#eef0ee;color:#687068}.owner-square-preview-card.needs-review{border-color:#d9bd86}.owner-square-card-issues{margin-top:9px;border-radius:7px;background:#fbf2e2;padding:8px;color:#805818}.owner-square-card-issues>strong{font-size:.54rem}.owner-square-card-issues ul{display:grid;gap:3px;margin:4px 0 0;padding:0;border:0;list-style:none}.owner-square-card-issues li{font-size:.49rem}.owner-square-missing{margin:14px 20px 0;border:1px solid #dfc28b;border-radius:9px;background:#fff8ea;padding:12px;color:#74521e}.owner-square-missing>strong{font-size:.59rem}.owner-square-missing p{display:grid;gap:2px;margin:8px 0 0;font-size:.54rem}.owner-square-missing p span{color:#806e50;font-size:.5rem}
.owner-customer-import-privacy{margin-top:8px!important;color:#42614a!important}.owner-customer-import-actions{flex-wrap:wrap;justify-content:flex-end;max-width:620px}.owner-file-picker{display:grid;gap:4px;border:1px solid #d5d8d6;border-radius:7px;background:#fff;padding:8px 10px;color:#535a55;font-size:.52rem}.owner-file-picker input{max-width:210px;font-size:.5rem}
@media(max-width:900px){.owner-square-import-safety,.owner-square-import-grid,.owner-square-preview-list{grid-template-columns:1fr}.owner-square-refresh-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.owner-square-manual-state{align-items:flex-start;flex-direction:column}.owner-square-sync-run{grid-template-columns:1fr}.owner-square-sync-run>small{text-align:left}}
@media(max-width:900px){.owner-section-heading{align-items:flex-start;flex-direction:column}.owner-reconciliation-week{width:100%}.owner-reconciliation-grid{grid-template-columns:1fr}}
.owner-empty { margin: 0; padding: 28px; border: 1px dashed #d8dad8; border-radius: 9px; color: #7e8488; font-size: .68rem; text-align: center; }
.owner-empty.error { color: #99474a; }
.owner-dialog { width: min(700px, calc(100vw - 30px)); max-height: calc(100vh - 30px); padding: 0; overflow: auto; border: 0; border-radius: 16px; background: white; color: var(--owner-ink); box-shadow: 0 25px 80px #171a1d4a; }
.owner-dialog::backdrop { background: #171a1d8c; backdrop-filter: blur(3px); }
.owner-dialog-close { position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0 0 2px; border-radius: 50%; background: #eff0ee; color: #2d3133; font-size: 1.15rem; }
.owner-dialog-close:hover { background: #dfe1df; }
#payroll-detail-content { padding: 28px; }
.owner-payroll-person-heading { display: flex; align-items: center; gap: 13px; padding-right: 45px; }
.owner-payroll-person-heading img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.owner-payroll-initials { display: grid; flex: 0 0 auto; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #ece7dd; color: #6d5a41; font-size: .74rem; }
.owner-payroll-person-heading h2 { margin: 4px 0 2px; font-size: 1.3rem; }
.owner-payroll-person-heading span { color: #747a7d; font-size: .63rem; }
.owner-payroll-detail-total { display: flex; align-items: center; justify-content: space-between; margin: 20px 0; padding: 16px; border-radius: 9px; background: #f3f6f3; }
.owner-payroll-detail-total span { color: #71787b; font-size: .65rem; }
.owner-payroll-detail-total strong { font-size: 1.3rem; }
#payroll-detail-content h3 { margin: 22px 0 9px; font-size: .78rem; }
.owner-detail-table { width: 100%; border-collapse: collapse; font-size: .62rem; }
.owner-detail-table th, .owner-detail-table td { padding: 9px; border: 1px solid #e2e4e2; text-align: right; }
.owner-detail-table th:first-child, .owner-detail-table td:first-child { text-align: left; }
.owner-detail-table th { background: #f6f7f5; color: #757b7e; font-size: .54rem; text-transform: uppercase; }
.owner-detail-summary { display: grid; gap: 8px; margin: 16px 0 0; padding: 14px; border-radius: 8px; background: #f7f7f5; }
.owner-detail-summary > div { display: flex; justify-content: space-between; gap: 15px; font-size: .62rem; }
.owner-detail-summary dt { color: #73797d; }
.owner-detail-summary dd { margin: 0; font-weight: 750; }

.owner-staff-heading { align-items: center; }
.owner-staff-contact-review{margin:0 0 14px;padding:18px}.owner-staff-contact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.owner-staff-contact-heading h3{margin:2px 0 5px;font-size:.86rem}.owner-staff-contact-heading p:not(.owner-eyebrow){margin:0;color:#707770;font-size:.58rem;line-height:1.5}.owner-staff-contact-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.owner-staff-contact-summary span{border-radius:999px;background:#edf5ef;padding:7px 10px;color:#48634e;font-size:.55rem}.owner-staff-contact-summary span.warning{background:#fbf0de;color:#805817}.owner-staff-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.owner-staff-contact-list article{border:1px solid #dfe5df;border-radius:9px;background:#fbfcfa;padding:12px}.owner-staff-contact-list article.warning{border-color:#ddc38f;background:#fffbf4}.owner-staff-contact-list article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.owner-staff-contact-list article p{margin:7px 0;color:#707770;font-size:.53rem}.owner-staff-contact-list dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.owner-staff-contact-list dl div{display:grid;gap:2px;min-width:0}.owner-staff-contact-list dt{color:#7c837c;font-size:.48rem;text-transform:uppercase}.owner-staff-contact-list dd{overflow-wrap:anywhere;margin:0;font-size:.55rem;font-weight:700}.owner-staff-contact-list article>small{display:block;margin-top:8px;color:#8a5b12;font-size:.5rem}.owner-staff-contact-actions{display:flex;align-items:center;gap:9px;margin-top:14px;border-top:1px solid #e4e8e3;padding-top:14px}.owner-staff-contact-actions>div{display:grid;gap:2px;margin-right:auto}.owner-staff-contact-actions strong{font-size:.58rem}.owner-staff-contact-actions span{color:#717871;font-size:.51rem}@media(max-width:900px){.owner-staff-contact-list{grid-template-columns:1fr}.owner-staff-contact-actions,.owner-staff-contact-heading{align-items:stretch;flex-direction:column}.owner-staff-contact-actions>div{margin-right:0}}
.owner-staff-metrics { margin-bottom: 18px; }
.owner-staff-workspace { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(560px, 1.7fr); gap: 17px; align-items: start; }
.owner-staff-directory-panel { overflow: hidden; }
.owner-staff-status-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 12px 12px 0; }
.owner-staff-status-tabs button { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 39px; border: 1px solid #dfe2de; border-radius: 9px; background: #f7f8f6; color: #666d68; font: inherit; font-size: .61rem; font-weight: 800; }
.owner-staff-status-tabs button:hover { border-color: #cfc4b5; background: #faf8f4; }
.owner-staff-status-tabs button.active { border-color: #2f3731; background: #2f3731; color: #fff; }
.owner-staff-status-tabs span { min-width: 19px; padding: 2px 5px; border-radius: 999px; background: #e7eae6; color: #5f6761; font-size: .48rem; }
.owner-staff-status-tabs button.active span { background: #ffffff26; color: #fff; }
.owner-staff-search { display: grid; gap: 7px; padding: 18px; border-bottom: 1px solid #e8eae7; }
.owner-staff-search label { color: #777d80; font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.owner-staff-search input { box-sizing: border-box; width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d9dcda; border-radius: 9px; background: #fff; color: #242729; font: inherit; font-size: .7rem; }
.owner-staff-search input:focus { border-color: #89745b; outline: 3px solid #89745b1a; }
.owner-staff-list { display: grid; gap: 7px; max-height: 690px; padding: 10px; overflow-y: auto; }
.owner-staff-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #292c2e; text-align: left; }
.owner-staff-card:hover, .owner-staff-card.selected { border-color: #d8cbb8; background: #f8f5ef; }
.owner-staff-card.inactive { opacity: .82; }
.owner-staff-card.inactive em { background: #f4e8e5; color: #87554e; }
.owner-staff-card img, .owner-staff-avatar-fallback { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; background: #eceeea; }
.owner-staff-avatar-fallback, .owner-staff-profile-avatar-fallback { display: grid; place-items: center; color: #59615b; font-weight: 850; }
.owner-staff-card > span { display: grid; min-width: 0; gap: 3px; }
.owner-staff-card strong, .owner-staff-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-staff-card strong { font-size: .73rem; }
.owner-staff-card small { color: #747a7d; font-size: .57rem; }
.owner-staff-card em { width: max-content; padding: 3px 5px; border-radius: 999px; background: #e6efe8; color: #42664b; font-size: .48rem; font-style: normal; font-weight: 800; }
.owner-staff-card b { color: #8b9092; font-size: 1.15rem; }
.owner-staff-profile { overflow: hidden; }
.owner-staff-profile-header { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 23px; border-bottom: 1px solid #e8eae7; background: #fafbf9; }
.owner-staff-profile-header img, .owner-staff-profile-avatar-fallback { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; background: #eceeea; }
.owner-staff-profile-header > div { display: grid; gap: 3px; }
.owner-staff-profile-header h2 { margin: 2px 0; font-size: 1.25rem; letter-spacing: -.03em; }
.owner-staff-profile-header > div > span { color: #73797b; font-size: .67rem; }
.owner-staff-profile-actions { display: grid; justify-items: end; gap: 9px; }
.owner-staff-profile-actions .owner-secondary-button { padding: 8px 11px; }
.owner-staff-profile-body { display: grid; gap: 0; }
.owner-staff-profile-body > section { padding: 21px 23px; border-bottom: 1px solid #e8eae7; }
.owner-staff-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.owner-staff-section-heading h3 { margin: 0; font-size: .78rem; }
.owner-staff-section-heading p { margin: 4px 0 0; color: #7b8184; font-size: .58rem; }
.owner-staff-section-heading > span { padding: 5px 8px; border-radius: 999px; background: #f1eee8; color: #73624e; font-size: .51rem; font-weight: 800; white-space: nowrap; }
.owner-staff-agreement-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;border:1px solid #dde3dd;border-radius:10px;background:#f7faf7}.owner-staff-agreement-upload label{display:grid;gap:6px;color:#555e58;font-size:.57rem;font-weight:800}.owner-staff-agreement-upload label span{display:flex;align-items:center;justify-content:space-between;gap:8px}.owner-staff-agreement-upload label span small{color:#89908b;font-size:.48rem}.owner-staff-agreement-upload input{box-sizing:border-box;width:100%;min-height:39px;padding:9px 10px;border:1px solid #d8ddda;border-radius:8px;background:#fff;color:#282d2a;font:inherit}.owner-staff-agreement-file>small{color:#7d847f;font-size:.49rem;font-weight:600}.owner-staff-agreement-list{display:grid;gap:8px;margin-top:10px}.owner-staff-agreement-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e2e6e2;border-radius:9px;background:#fff}.owner-staff-agreement-list article>div:first-child{display:grid;min-width:0;gap:3px}.owner-staff-agreement-list strong{font-size:.67rem}.owner-staff-agreement-list span,.owner-staff-agreement-list small{overflow:hidden;color:#737b75;font-size:.53rem;text-overflow:ellipsis;white-space:nowrap}.owner-staff-agreement-list article>div:last-child{display:flex;gap:7px}.owner-staff-agreement-list a{text-decoration:none}.owner-danger-button{padding:8px 10px;border:1px solid #e1c8c3;border-radius:8px;background:#fff;color:#97493f;font:inherit;font-size:.56rem;font-weight:800}.owner-danger-button:hover{background:#fff4f2}.owner-danger-button:disabled{opacity:.5}
@media(max-width:760px){.owner-staff-agreement-upload{grid-template-columns:1fr}.owner-staff-agreement-list article{align-items:stretch;flex-direction:column}.owner-staff-agreement-list article>div:last-child{display:grid;grid-template-columns:1fr 1fr 1fr}.owner-staff-agreement-list article>div:last-child>*{text-align:center}}
.owner-staff-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; }
.owner-staff-detail-grid > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #e5e7e4; border-radius: 9px; background: #fff; }
.owner-staff-detail-grid > div.wide { grid-column: 1 / -1; }
.owner-staff-detail-grid dt { color: #858a8d; font-size: .53rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.owner-staff-detail-grid dd { margin: 0; color: #303436; font-size: .66rem; font-weight: 720; line-height: 1.4; }
.owner-staff-missing { color: #a06c47; font-weight: 700; }
.owner-staff-compensation-callout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 18px; padding: 15px; border-radius: 10px; background: #eef4ee; }
.owner-staff-compensation-callout small { grid-column: 1 / -1; color: #647365; font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.owner-staff-compensation-callout strong { font-size: .75rem; }
.owner-staff-compensation-callout span { color: #6d786e; font-size: .57rem; }
.owner-staff-compensation-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.owner-staff-compensation-actions .owner-secondary-button { min-height: 42px; }
.owner-staff-brackets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 9px; }
.owner-staff-brackets > div { display: grid; gap: 4px; padding: 10px; border: 1px solid #e2e5e1; border-radius: 8px; }
.owner-staff-brackets span { color: #7a807b; font-size: .51rem; }
.owner-staff-brackets strong { font-size: .72rem; }
.owner-commission-unchanged { display: flex; justify-content: space-between; gap: 12px; margin-top: 9px; padding: 10px 12px; border-radius: 8px; background: #f5f6f4; font-size: .55rem; }
.owner-commission-unchanged span { color: #747b76; }
.owner-commission-schedule { display: grid; gap: 7px; margin-top: 14px; }
.owner-commission-schedule h4 { margin: 0; font-size: .62rem; }
.owner-commission-schedule article { display: flex; justify-content: space-between; gap: 14px; padding: 10px 12px; border: 1px solid #dfe4df; border-radius: 8px; background: #fbfcfa; }
.owner-commission-schedule article span { display: grid; gap: 3px; }
.owner-commission-schedule article strong, .owner-commission-schedule article b { font-size: .58rem; }
.owner-commission-schedule article small { color: #777e79; font-size: .51rem; }
.owner-commission-schedule article b { color: #56665a; text-align: right; }
.owner-staff-stage-note { display: grid; gap: 4px; margin: 20px 23px 23px; padding: 14px; border-radius: 9px; background: #f5efe4; color: #594f43; }
.owner-staff-stage-note strong { font-size: .67rem; }
.owner-staff-stage-note span { font-size: .57rem; line-height: 1.45; }
.owner-schedule-editor-section{display:grid;gap:12px}.owner-schedule-editor-section h3{margin:0;font-size:.8rem}.owner-schedule-editor-section>div>p,.owner-schedule-section-heading p{margin:4px 0 0;color:#777e77;font-size:.59rem}.owner-schedule-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.owner-schedule-weekly{display:grid;gap:7px}.owner-schedule-day{display:grid;grid-template-columns:76px repeat(4,minmax(0,1fr));gap:8px;align-items:end;border:1px solid #e1e4df;border-radius:10px;background:#fafbf9;padding:10px}.owner-schedule-day label{gap:4px;font-size:.55rem}.owner-schedule-day input[type=time]{min-width:0;padding:8px}.owner-schedule-day-toggle{align-self:center;display:flex!important;align-items:center;flex-direction:row!important;gap:8px!important}.owner-schedule-day-toggle input{width:17px;height:17px}.owner-schedule-time-off{display:grid;gap:8px}.owner-schedule-time-off-row{display:grid;grid-template-columns:1fr 1fr 1.4fr 36px;gap:8px;align-items:end;border:1px solid #e1e4df;border-radius:10px;padding:10px}.owner-schedule-time-off-row label{gap:4px;font-size:.55rem}.owner-schedule-time-off-row button{width:36px;height:36px;border:1px solid #e1c9c4;border-radius:8px;background:#fff;color:#94453d}.owner-schedule-preview{display:grid;gap:5px;border:1px solid #d8e3d5;border-radius:10px;background:#f3f8f1;padding:14px}.owner-schedule-preview strong{font-size:.7rem}.owner-schedule-preview span{color:#5f6e60;font-size:.59rem;line-height:1.5}
@media(max-width:760px){.owner-schedule-section-heading{align-items:stretch;flex-direction:column}.owner-schedule-day{grid-template-columns:1fr 1fr}.owner-schedule-day-toggle{grid-column:1/3}.owner-schedule-time-off-row{grid-template-columns:1fr 1fr}.owner-schedule-time-off-row label:nth-child(3){grid-column:1/3}.owner-schedule-time-off-row button{grid-column:2;justify-self:end}}
.owner-staff-service-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #e2e4df;border-radius:10px;background:#fafbf9}.owner-staff-service-summary>div{display:grid;gap:4px}.owner-staff-service-summary strong{font-size:.76rem}.owner-staff-service-summary span{color:#717871;font-size:.59rem}.owner-service-assignment-tools{display:flex;align-items:end;justify-content:space-between;gap:14px}.owner-service-assignment-tools>label{flex:1}.owner-service-assignment-tools>div{display:flex;gap:8px}.owner-service-assignment-count{margin:0;color:#536254;font-size:.68rem;font-weight:800}.owner-service-assignment-list{display:grid;gap:15px;max-height:48vh;overflow:auto;padding-right:4px}.owner-service-assignment-list fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;border:1px solid #e0e3de;border-radius:11px;padding:12px}.owner-service-assignment-list legend{padding:0 6px;color:#536057;font-size:.65rem;font-weight:850}.owner-service-assignment-list label{display:flex;align-items:flex-start;gap:9px;border-radius:8px;background:#f7f8f6;padding:10px;cursor:pointer}.owner-service-assignment-list input{width:17px;height:17px;margin:1px 0 0}.owner-service-assignment-list label span{display:grid;gap:3px}.owner-service-assignment-list label strong{font-size:.67rem}.owner-service-assignment-list label small{color:#7a817a;font-size:.54rem}
@media(max-width:700px){.owner-staff-service-summary,.owner-service-assignment-tools{align-items:stretch;flex-direction:column}.owner-staff-service-summary button{width:100%}.owner-service-assignment-tools>div{display:grid;grid-template-columns:1fr 1fr}.owner-service-assignment-list fieldset{grid-template-columns:1fr}.owner-service-assignment-list{max-height:none}}
.owner-staff-history { display: grid; gap: 9px; }
.owner-staff-history article { overflow: hidden; border: 1px solid #e2e5e1; border-radius: 9px; }
.owner-staff-history article header { display: flex; justify-content: space-between; gap: 15px; padding: 10px 12px; background: #f7f8f6; font-size: .57rem; }
.owner-staff-history article header span { color: #7b817d; }
.owner-staff-history ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.owner-staff-history li { display: grid; grid-template-columns: minmax(130px, .55fr) minmax(0, 1fr); gap: 12px; padding: 9px 12px; border-top: 1px solid #eceeeb; font-size: .56rem; line-height: 1.45; }
.owner-staff-history li b { color: #5c625e; }
.owner-staff-history li span { color: #747b76; overflow-wrap: anywhere; }
.owner-form-dialog.owner-staff-edit-dialog { width: min(720px, calc(100vw - 30px)); max-height: calc(100vh - 30px); overflow: auto; }
.owner-form-dialog.owner-commission-dialog { width: min(760px, calc(100vw - 30px)); max-height: calc(100vh - 30px); overflow: auto; }
.owner-staff-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.owner-staff-form-grid .wide { grid-column: 1 / -1; }
.owner-onboarding-calendar-toggle > span:last-child { display: flex; align-items: center; min-height: 41px; gap: 8px; padding: 0 10px; border: 1px solid #d8dcda; border-radius: 8px; background: #fff; font-weight: 650; }
.owner-onboarding-calendar-toggle input { width: auto; }
.owner-onboarding-summary { padding: 13px 15px; border-radius: 9px; background: #eef4ee; }
.owner-onboarding-summary strong { font-size: .65rem; }
.owner-onboarding-summary ul { display: grid; gap: 5px; margin: 8px 0 0; padding-left: 18px; color: #667168; font-size: .56rem; line-height: 1.4; }
.owner-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; }
.owner-form-dialog { width: min(510px, calc(100vw - 30px)); }
.owner-form-dialog form { display: grid; gap: 14px; padding: 28px; }
.owner-form-dialog.owner-inventory-edit-dialog { width: min(760px, calc(100vw - 30px)); max-width: calc(100vw - 30px); overflow-x: hidden; }
.owner-inventory-edit-dialog form, .owner-inventory-edit-dialog fieldset, .owner-inventory-edit-dialog section, .owner-inventory-edit-dialog label, .owner-inventory-edit-dialog .owner-money-input { min-width: 0; }
.owner-form-dialog h2 { margin: 2px 0 0; padding-right: 40px; font-size: 1.25rem; }
.owner-form-intro { margin: -5px 0 4px; color: #737a7d; font-size: .65rem; }
.owner-form-dialog label { display: grid; gap: 6px; color: #555c5f; font-size: .61rem; font-weight: 800; }
.owner-form-dialog input, .owner-form-dialog select, .owner-form-dialog textarea { width: 100%; padding: 10px 11px; border: 1px solid #d8dcda; border-radius: 8px; background: white; color: #252a2c; font: inherit; font-weight: 600; box-sizing: border-box; }
.owner-form-dialog textarea { resize: vertical; line-height: 1.45; }
@media (max-width: 760px) {
  .owner-form-dialog.owner-inventory-edit-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
  .owner-inventory-edit-dialog form { padding: 24px 18px 18px; }
  .owner-inventory-edit-dialog .owner-dialog-actions { flex-wrap: wrap; }
  .owner-inventory-edit-dialog .owner-dialog-actions > button { flex: 1 1 140px; min-height: 44px; }
}
@media (max-width: 480px) {
  .owner-form-dialog.owner-inventory-edit-dialog { width: calc(100vw - 12px); max-width: calc(100vw - 12px); max-height: calc(100dvh - 12px); }
  .owner-inventory-edit-dialog form { padding: 22px 14px 16px; }
}
.owner-money-input { position: relative; display: block; }
.owner-money-input > span { position: absolute; top: 10px; left: 11px; color: #757c7f; }
.owner-money-input input { padding-left: 25px; }
.owner-commission-bracket-editor { display: grid; gap: 7px; }
.owner-commission-bracket-editor > div, .owner-commission-bracket-editor > label { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(130px, .55fr); align-items: center; gap: 9px; }
.owner-commission-bracket-editor > div { padding: 0 9px; color: #7b8280; font-size: .52rem; text-transform: uppercase; }
.owner-commission-bracket-editor > label { padding: 9px; border: 1px solid #e0e3e0; border-radius: 8px; background: #fafbf9; }
.owner-commission-bracket-editor > label > span:first-child { font-size: .65rem; font-weight: 850; }
.owner-rate-input { position: relative; display: block; }
.owner-rate-input input { padding-right: 28px; }
.owner-rate-input b { position: absolute; top: 10px; right: 11px; color: #747b78; }
.owner-commission-no-limit { padding: 10px 11px; border-radius: 8px; background: #eef1ed; color: #626a64; font-size: .6rem; }
.owner-commission-preview { display: grid; gap: 7px; min-height: 34px; padding: 13px; border-radius: 9px; background: #eef4ee; }
.owner-commission-preview p { margin: 0; color: #68736b; font-size: .6rem; }
.owner-commission-preview p.error { color: #994c44; }
.owner-commission-preview > div { display: flex; justify-content: space-between; gap: 15px; font-size: .61rem; }
.owner-commission-preview > div.difference { padding-top: 7px; border-top: 1px solid #d7e1d7; }
.owner-commission-preview > small { color: #758078; font-size: .52rem; }
.owner-form-note { margin: 0; padding: 10px 11px; border-radius: 7px; background: #f5f6f4; color: #747b7e; font-size: .56rem; line-height: 1.45; }
.owner-staff-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0;padding:13px;border:1px solid #dfe3df;border-radius:10px}.owner-staff-access-grid legend{padding:0 6px;color:#5f685f;font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.owner-staff-access-grid label{display:flex;align-items:center;gap:10px;border-radius:8px;background:#f5f7f5;padding:10px}.owner-staff-access-grid input{width:18px;height:18px;flex:0 0 auto;accent-color:#315f48}.owner-staff-access-grid span{display:grid;gap:2px}.owner-staff-access-grid strong{font-size:.64rem}.owner-staff-access-grid small{color:#707770;font-size:.52rem;line-height:1.3}
.owner-imported-time { display: flex; align-items: center; justify-content: space-between; padding: 12px; border: 1px solid #e0e3e0; border-radius: 8px; background: #f7f8f6; }
.owner-imported-time span { color: #747b7e; font-size: .59rem; }
.owner-imported-time strong { font-size: .75rem; }
.owner-time-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.owner-audit-list { display: grid; gap: 8px; }
.owner-audit-list article { padding: 11px 12px; border: 1px solid #e0e3e0; border-radius: 8px; background: #fbfbfa; }
.owner-audit-list article strong { display: block; font-size: .64rem; }
.owner-audit-list article span { display: block; margin-top: 3px; color: #4f655a; font-size: .59rem; font-weight: 750; }
.owner-audit-list article p { margin: 6px 0; color: #666d70; font-size: .59rem; line-height: 1.4; }
.owner-audit-list article small { color: #8b9194; font-size: .51rem; }
@media (max-width: 1350px) {
  .owner-shell { grid-template-columns: 238px minmax(0, 1fr); }
  .owner-main { padding-left: 26px; padding-right: 26px; }
  .owner-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-booking-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .owner-staff-workspace { grid-template-columns: 1fr; }
  .owner-staff-list { max-height: 330px; }
  .owner-staff-compensation-actions { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .owner-staff-profile-header { grid-template-columns: 56px minmax(0, 1fr); padding: 17px; }
  .owner-staff-profile-header img, .owner-staff-profile-avatar-fallback { width: 56px; height: 56px; }
  .owner-staff-profile-actions { grid-column: 1 / -1; grid-template-columns: 1fr; justify-items: stretch; align-items: center; }
  .owner-staff-detail-grid, .owner-staff-form-grid { grid-template-columns: 1fr; }
  .owner-staff-detail-grid > div.wide, .owner-staff-form-grid .wide { grid-column: auto; }
  .owner-staff-brackets { grid-template-columns: 1fr 1fr; }
  .owner-commission-bracket-editor > div, .owner-commission-bracket-editor > label { grid-template-columns: 34px minmax(0, 1fr) minmax(92px, .7fr); }
  .owner-commission-unchanged, .owner-commission-schedule article { display: grid; }
  .owner-dialog-actions { flex-wrap: wrap; }
}

/* Owner time, attendance, and performance-bonus review */
.owner-needs-input { color: #9b552d; }
.owner-square-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 5px; }
.owner-square-actions button:disabled { cursor: not-allowed; opacity: .48; }
.owner-connection-steps { display: grid; gap: 12px; margin: 18px 0; }
.owner-connection-steps > div { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: start; }
.owner-connection-steps > div > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #171717; color: #fff; font-size: .62rem; font-weight: 850; }
.owner-connection-steps p, .owner-connection-steps small { display: block; margin: 0; }
.owner-connection-steps p { font-size: .68rem; line-height: 1.4; }
.owner-connection-steps small { margin-top: 3px; color: #73797d; font-size: .57rem; line-height: 1.45; }
.owner-separation-note { margin: 13px 0 0; padding: 9px 10px; border-left: 3px solid #7a9c86; background: #f0f6f2; color: #5f7066; font-size: .56rem; line-height: 1.45; }
.owner-separation-note.wide { margin: 0 20px 20px; }
.owner-bonus-panel { margin-bottom: 14px; overflow: hidden; }
.owner-stylist-picker { display: grid; min-width: 150px; gap: 5px; color: #767c80; font-size: .55rem; font-weight: 750; }
.owner-stylist-picker select { padding: 8px 10px; border: 1px solid #d5d8d6; border-radius: 7px; background: white; color: #33373a; font-size: .65rem; }
.owner-bonus-save-status { min-height: .75rem; color: #477057; font-size: .5rem; font-weight: 750; }
.owner-bonus-save-status.saving { color: #8a641f; }
.owner-bonus-save-status.error { color: #a74444; }
.owner-bonus-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; padding: 14px 20px; background: #fafaf8; }
.owner-bonus-rules > div { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px; border: 1px solid #e5e6e3; border-radius: 8px; background: white; }
.owner-bonus-rules > div > span { display: grid; flex: 0 0 auto; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e6f0e9; color: #416d51; font-size: .58rem; font-weight: 850; }
.owner-bonus-rules p { display: grid; min-width: 0; gap: 3px; margin: 0; }
.owner-bonus-rules strong { font-size: .6rem; }
.owner-bonus-rules small { color: #848a8d; font-size: .52rem; line-height: 1.3; }
.owner-bonus-table { width: 100%; border-collapse: collapse; font-size: .62rem; }
.owner-bonus-table th { padding: 10px 13px; border-bottom: 1px solid #e4e6e4; background: #f5f6f4; color: #747a7d; font-size: .52rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.owner-bonus-table td { padding: 12px 13px; border-bottom: 1px solid #eceeec; vertical-align: middle; }
.owner-bonus-table td > strong { font-size: .66rem; }
.owner-bonus-table td > small { display: block; margin-top: 4px; color: #8a9093; font-size: .51rem; }
.owner-auto-value { font-size: .61rem; font-weight: 750; }
.owner-auto-value.met { color: #3b704e; }
.owner-auto-value.missed { color: #a05248; }
.owner-attendance-value { display: flex; align-items: center; gap: 7px; }
.owner-attendance-value button { padding: 4px 7px; border: 1px solid #d7dbd8; border-radius: 6px; background: white; color: #596063; font-size: .49rem; font-weight: 800; }
.owner-attendance-value button:hover { border-color: #afb6b1; background: #f3f5f3; }
.owner-attendance-condition { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 9px !important; padding: 11px; border: 1px solid #dce1dd; border-radius: 8px; background: #f8faf8; }
.owner-attendance-condition input { width: 18px !important; height: 18px; margin: 1px 0 0; accent-color: #426f53; }
.owner-attendance-condition span { display: grid; gap: 3px; }
.owner-attendance-condition strong { color: #41484a; font-size: .62rem; }
.owner-attendance-condition small { color: #7c8386; font-size: .54rem; font-weight: 500; line-height: 1.35; }
.owner-story-check { display: inline-flex; align-items: center; gap: 7px; color: #50565a; font-size: .61rem; font-weight: 700; }
.owner-story-check input { width: 17px; height: 17px; accent-color: #426f53; }
.owner-bonus-footer { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: 18px; padding: 17px 20px; }
.owner-weekly-upload { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #dedfdd; border-radius: 9px; background: #fbfbfa; }
.owner-weekly-upload input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: #426f53; }
.owner-weekly-upload span { display: grid; gap: 4px; }
.owner-weekly-upload strong { font-size: .64rem; }
.owner-weekly-upload small { color: #7c8285; font-size: .55rem; line-height: 1.4; }
.owner-bonus-summary { display: grid; gap: 7px; }
.owner-bonus-summary > span { display: flex; justify-content: space-between; gap: 18px; color: #73797c; font-size: .58rem; }
.owner-bonus-summary > span strong { color: #303437; font-size: .65rem; }
.owner-bonus-summary > span.total { margin-top: 2px; padding-top: 9px; border-top: 1px solid #dde0dd; color: #303437; font-weight: 800; }
.owner-bonus-summary > span.total strong { color: #326546; font-size: .86rem; }
.owner-assistant-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; }
.owner-assistant-panel h2 { margin: 5px 0 0; font-size: 1rem; }
.owner-assistant-panel p:not(.owner-eyebrow) { margin: 6px 0 0; color: #777d80; font-size: .61rem; }
.owner-assistant-days { display: flex; align-items: center; gap: 16px; padding: 12px 15px; border-radius: 9px; background: #f5f2eb; color: #5f5547; }
.owner-assistant-days span { font-size: .61rem; }
.owner-assistant-days span strong { font-size: .82rem; }
.owner-assistant-days > b { font-size: .61rem; }
.owner-assistant-days > strong { color: #2f3335; font-size: 1rem; }

/* Daily FBS attendance review */
.owner-attendance-heading { align-items: end; }
.owner-attendance-date-control { display: flex; align-items: stretch; gap: 7px; }
.owner-attendance-date-control > button { min-width: 36px; padding: 0 11px; border: 1px solid #d8dcda; border-radius: 8px; background: white; color: #3d4345; font-size: .64rem; font-weight: 800; }
.owner-attendance-date-control > button:first-child,
.owner-attendance-date-control > button:nth-child(3) { font-size: 1rem; }
.owner-attendance-date-control > button:hover { border-color: #adb5b0; background: #f4f6f4; }
.owner-attendance-date-control label { display: grid; gap: 2px; min-width: 145px; padding: 6px 10px; border: 1px solid #d8dcda; border-radius: 8px; background: white; }
.owner-attendance-date-control label span { color: #858b8e; font-size: .48rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.owner-attendance-date-control input { padding: 0; border: 0; outline: 0; color: #303537; font: inherit; font-size: .63rem; font-weight: 800; }
.owner-metrics.attendance { margin-bottom: 14px; }
.owner-metrics.attendance article { min-height: 88px; }
.owner-attendance-panel { overflow: hidden; }
.owner-workday { min-width: 850px; border-top: 1px solid #e5e8e5; }
.owner-workday-header,
.owner-workday-row { display: grid; grid-template-columns: 225px minmax(625px, 1fr); }
.owner-workday-header { min-height: 50px; background: #fafbf9; color: #777e81; font-size: .52rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.owner-workday-header > div:first-child { display: flex; align-items: end; padding: 0 15px 10px; border-right: 1px solid #e3e6e3; }
.owner-workday-hours { position: relative; margin: 0 14px; }
.owner-workday-hours span { position: absolute; bottom: 10px; transform: translateX(-50%); white-space: nowrap; }
.owner-workday-hours span:first-child { transform: none; }
.owner-workday-hours span:last-child { transform: translateX(-100%); }
.owner-workday-row { min-height: 72px; border-top: 1px solid #e9ebe9; }
.owner-workday-person { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-right: 1px solid #e3e6e3; background: white; }
.owner-workday-person img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; box-shadow: 0 0 0 1px #dadeda; }
.owner-workday-avatar-fallback { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #ece7dd; color: #6d5a41; font-size: .64rem; font-weight: 850; box-shadow: 0 0 0 1px #dadeda; }
.owner-workday-person > span { display: grid; min-width: 0; gap: 3px; }
.owner-workday-person strong { overflow: hidden; color: #303537; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-workday-person small { color: #858c8f; font-size: .53rem; }
.owner-attendance-edit-button { grid-column: 2 / -1; justify-self: start; padding: 3px 7px; border: 1px solid #d5dad6; border-radius: 6px; background: #fff; color: #4e5752; font-size: .51rem; font-weight: 800; cursor: pointer; }
.owner-attendance-edit-button:hover { border-color: #8ca694; background: #f3f8f4; color: #31563d; }
.owner-attendance-edit-dialog { width: min(620px, calc(100vw - 30px)); }
.owner-attendance-exceptions-dialog { width: min(680px, calc(100vw - 30px)); }
.owner-attendance-exceptions-content { padding: 28px; }
.owner-attendance-exceptions-content h2 { margin: 5px 0 7px; font-size: 1.35rem; letter-spacing: -.03em; }
.owner-attendance-exception-list { display: grid; gap: 10px; margin-top: 18px; }
.owner-attendance-exception-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #e0e5e1; border-radius: 10px; background: #f8faf8; }
.owner-attendance-exception-row img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.owner-attendance-exception-row > div { display: grid; gap: 3px; }
.owner-attendance-exception-row strong { font-size: .72rem; }
.owner-attendance-exception-row p { margin: 0; color: #50595a; font-size: .64rem; line-height: 1.4; }
.owner-attendance-exception-row small { color: #858c8f; font-size: .53rem; }
@media (max-width:600px) { .owner-attendance-exception-row { grid-template-columns: 42px minmax(0, 1fr); } .owner-attendance-exception-row > button { grid-column: 1 / -1; width: 100%; } }
.owner-attendance-edit-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #555c5f; font-size: .68rem; font-weight: 850; }
.owner-attendance-edit-intervals { display: grid; gap: 9px; }
.owner-attendance-edit-interval { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 9px; padding: 11px; border: 1px solid #e1e5e2; border-radius: 10px; background: #f8faf8; }
.owner-attendance-edit-interval label small { font-size: .48rem; font-weight: 600; }
.owner-attendance-edit-interval > button { min-height: 37px; padding: 0 9px; border: 1px solid #ecd4cc; border-radius: 7px; background: #fff; color: #a34f3c; font-size: .55rem; font-weight: 800; cursor: pointer; }
@media (max-width:600px) { .owner-attendance-edit-interval { grid-template-columns: 1fr 1fr; } .owner-attendance-edit-interval > button { grid-column: 1 / -1; min-height: 34px; } }
.owner-workday-track { position: relative; min-width: 0; margin: 0 14px; background-image: linear-gradient(to right, #e8ebe8 1px, transparent 1px); background-size: calc(100% / var(--attendance-hours)) 100%; }
.owner-attendance-segment { position: absolute; top: 12px; bottom: 12px; display: grid; align-content: center; min-width: 5px; overflow: hidden; padding: 5px 9px; border-radius: 7px; box-sizing: border-box; color: #173e31; white-space: nowrap; }
.owner-attendance-segment.recorded { border: 1px solid #49ab8a; background: #55c9a2; }
.owner-attendance-segment.open { border: 1px solid #3c9576; background: repeating-linear-gradient(135deg, #c8ecdf 0, #c8ecdf 7px, #b6e3d3 7px, #b6e3d3 14px); color: #286b54; }
.owner-attendance-segment strong { overflow: hidden; font-size: .57rem; text-overflow: ellipsis; }
.owner-attendance-segment small { overflow: hidden; margin-top: 2px; font-size: .48rem; font-weight: 750; opacity: .82; text-overflow: ellipsis; }
.owner-no-attendance { position: absolute; top: 50%; left: 10px; transform: translateY(-50%); color: #adb2af; font-size: .54rem; }
.owner-attendance-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; padding: 13px 19px; border-top: 1px solid #e7e9e7; color: #747b7e; font-size: .54rem; }
.owner-attendance-legend span { display: inline-flex; align-items: center; gap: 6px; }
.owner-attendance-legend span:last-child { margin-left: auto; }
.owner-attendance-legend i { width: 11px; height: 11px; border-radius: 3px; }
.owner-attendance-legend i.recorded { background: #55c9a2; }
.owner-attendance-legend i.open { border: 1px solid #3c9576; background: #c8ecdf; }

@media (max-width: 900px) {
  .owner-attendance-heading { align-items: stretch; }
  .owner-attendance-date-control { width: 100%; }
  .owner-attendance-date-control label { flex: 1; min-width: 0; }
  .owner-attendance-panel { overflow-x: auto; }
}

/* Customer directory */
.customers-main{min-height:100vh}.customers-privacy-card{display:grid;gap:7px;margin-top:8px;padding:18px 12px;border-block:1px solid var(--ops-border)}.customers-privacy-card h2,.customers-privacy-card p{margin:0}.customers-privacy-card h2{font-size:1.05rem;line-height:1.2}.customers-privacy-card p:last-child{color:var(--ops-muted);font-size:.73rem;line-height:1.5}.customers-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid #d4d7da;border-radius:9px;color:#25272a;text-decoration:none;font-size:.78rem;font-weight:800}.customers-search-panel{display:grid;gap:8px;margin:24px;padding:20px;border:1px solid var(--ops-border);border-radius:12px;background:#fff}.customers-search-panel>label{font-size:.83rem;font-weight:800}.customers-search-panel>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.customers-search-panel input{width:100%;min-height:46px;padding:0 14px;border:1px solid #d4d7da;border-radius:9px;background:#fff;font-size:.86rem}.customers-search-panel button{min-width:105px;padding-inline:18px}.customers-search-panel p{margin:0;color:var(--ops-muted);font-size:.7rem}.customers-workspace{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);min-height:calc(100vh - 255px);margin:0 24px 24px;overflow:hidden;border:1px solid var(--ops-border);border-radius:12px;background:#fff}.customers-results-panel{min-width:0;border-right:1px solid var(--ops-border)}.customers-results-heading{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 17px;border-bottom:1px solid var(--ops-border)}.customers-results-heading h2{margin:0;font-size:.92rem}.customers-results-heading span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#202326;color:#fff;font-size:.67rem;font-weight:800}.customers-results{max-height:calc(100vh - 315px);overflow-y:auto}.customers-result{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;width:100%;gap:10px;padding:13px 15px;border:0;border-bottom:1px solid #eceef0;border-radius:0!important;background:#fff!important;color:#25282b!important;text-align:left}.customers-result:hover,.customers-result.active{background:#f1f3f2!important}.customers-result>span,.customers-profile-avatar{display:grid;place-items:center;border-radius:50%;background:#233b29;color:#fff;font-weight:850}.customers-result>span{width:40px;height:40px}.customers-result>div{display:grid;min-width:0;gap:4px}.customers-result strong{overflow:hidden;text-overflow:ellipsis;font-size:.78rem;white-space:nowrap}.customers-result small{color:var(--ops-muted);font-size:.65rem}.customers-result>b{color:#8a8f94;font-size:1.2rem}.customers-profile{min-width:0;max-height:calc(100vh - 315px);padding:26px;overflow-y:auto}.customers-profile-header{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--ops-border)}.customers-profile-avatar{flex:0 0 auto;width:58px;height:58px;font-size:1.35rem}.customers-profile-header h2{margin:3px 0 4px;font-size:1.45rem}.customers-profile-header>div:last-child>span{color:var(--ops-muted);font-size:.72rem}.customers-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0}.customers-contact>div{padding:12px;border-radius:9px;background:#f5f6f6}.customers-contact dt{color:var(--ops-muted);font-size:.64rem;text-transform:uppercase}.customers-contact dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:.77rem;font-weight:750}.customers-history-section{margin-top:24px}.customers-history-section>div{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid var(--ops-border)}.customers-history-section h3{margin:0;font-size:.9rem}.customers-history-section>div span{color:var(--ops-muted);font-size:.7rem}.customers-appointment-card{display:grid;gap:6px;padding:14px 3px;border-bottom:1px solid #eceef0}.customers-appointment-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.customers-appointment-card time{color:#4e555b;font-size:.7rem;font-weight:800}.customers-appointment-card b{padding:3px 6px;border-radius:999px;background:#f0f1f2;color:#676d72;font-size:.58rem;text-transform:capitalize}.customers-appointment-card.upcoming time{color:#16758a}.customers-appointment-card strong{font-size:.78rem}.customers-appointment-card p{margin:0;color:var(--ops-muted);font-size:.68rem}.customers-appointment-card a,.customers-appointment-card>span{justify-self:start;color:#315b3e;font-size:.66rem;font-weight:800}.customers-none{margin:0;padding:16px 3px;color:var(--ops-muted);font-size:.72rem}.customers-empty{display:grid;place-items:center;min-height:210px;padding:24px;color:var(--ops-muted);text-align:center}.customers-empty>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:10px;border-radius:50%;background:#edf0ee;color:#3d5544;font-size:1.1rem}.customers-empty strong{color:#34383c;font-size:.85rem}.customers-empty p{max-width:310px;margin:7px 0 0;font-size:.7rem;line-height:1.45}

.customers-directory-pagination{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border-top:1px solid var(--ops-border);padding:8px 10px}.customers-directory-pagination button{min-width:76px;min-height:34px;border:1px solid #d4d8d4;border-radius:8px;background:#fff;color:#303531;font-size:.65rem;font-weight:800}.customers-directory-pagination button:disabled{opacity:.42}.customers-directory-pagination span{min-width:92px;color:var(--ops-muted);font-size:.64rem;font-weight:750;text-align:center}
.customer-duplicates-panel{display:grid;gap:12px;margin:0 24px 18px;padding:18px;border:1px solid #d8dfd9;border-radius:12px;background:#f8faf8}.customer-duplicates-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.customer-duplicates-panel h2{margin:2px 0 0;font-size:1.05rem}.customer-duplicates-panel>header>div:last-child{display:flex;align-items:center;gap:8px}.customer-duplicates-panel>header span,.customer-active-links summary span{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#253c2c;color:#fff;font-size:.65rem;font-weight:850}.customer-duplicates-panel button{min-height:34px;padding:0 12px;border:1px solid #cfd6d0;border-radius:8px;background:#fff;color:#263229;font-size:.66rem;font-weight:850}.customer-duplicates-panel button[data-link-duplicates]{border-color:#243e2c;background:#243e2c;color:#fff}.customer-duplicates-safety{margin:0;color:#68716a;font-size:.69rem;line-height:1.45}.customer-duplicate-card{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border-top:1px solid #dfe4df;background:#fff}.customer-duplicate-reason{display:grid;gap:3px}.customer-duplicate-reason strong{font-size:.7rem}.customer-duplicate-reason span{color:var(--ops-muted);font-size:.61rem}.customer-duplicate-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.customer-duplicate-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 7px;align-items:center;padding:8px;border:1px solid #dde2de;border-radius:8px;cursor:pointer}.customer-duplicate-profile:has(input:checked){border-color:#54725d;background:#f0f6f1}.customer-duplicate-profile input{grid-row:1/3;margin:0}.customer-duplicate-profile span{display:grid;min-width:0}.customer-duplicate-profile b,.customer-duplicate-profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-duplicate-profile b{font-size:.68rem}.customer-duplicate-profile small,.customer-duplicate-profile em{color:var(--ops-muted);font-size:.58rem;font-style:normal}.customer-duplicate-profile em{grid-column:2}.customer-active-links{border-top:1px solid #dfe4df;padding-top:10px}.customer-active-links summary{cursor:pointer;font-size:.7rem;font-weight:800}.customer-active-links summary span{height:20px;min-width:20px;margin-left:5px}.customer-active-link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e4e8e4}.customer-active-link-row>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.66rem}.customer-active-link-row small{flex-basis:100%;color:var(--ops-muted)}.customer-duplicates-none{margin:0;padding:12px;color:var(--ops-muted);font-size:.68rem;text-align:center}

/* Phone-first staff operations */
@media (max-width:760px){
  .ops-body{min-width:0;padding-bottom:72px}.ops-shell{display:block;min-height:100dvh}.ops-sidebar{position:fixed;inset:auto 0 0;width:auto;height:68px;padding:5px 7px max(5px,env(safe-area-inset-bottom));border-top:1px solid var(--ops-border);border-right:0;box-shadow:0 -4px 18px #10182012;z-index:80}.ops-brand,.ops-mini-calendar,.ops-sidebar-requests,.ops-identity,.customers-privacy-card{display:none!important}.ops-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;height:100%;margin:0}.ops-nav a{display:grid;grid-template-rows:23px 1fr;justify-items:center;align-items:center;min-height:0;gap:1px;padding:3px 2px;border-radius:8px;font-size:.55rem;line-height:1;text-align:center}.ops-nav a span{width:auto;font-size:1.02rem}.ops-main{min-height:calc(100dvh - 68px)}.ops-header{height:auto;min-height:64px;padding:10px 12px;gap:8px}.ops-header .ops-eyebrow{display:none}.ops-header h1{font-size:1.27rem}.ops-header-actions{gap:5px}.ops-header-actions .ops-outline-button[href="/"]{display:none}.ops-header-actions button,.ops-header-actions .ops-outline-button{min-height:35px;padding:6px 9px;font-size:.65rem}.ops-calendar-refresh-status{position:fixed;top:7px;right:8px;z-index:90}.ops-toolbar{position:sticky;top:0;z-index:28;display:grid;grid-template-columns:1fr auto;min-height:0;gap:8px;padding:8px 10px}.ops-date-controls{min-width:0;gap:5px}.ops-date-controls .ops-date-title{min-width:0;max-width:190px;padding-inline:9px;font-size:.68rem}.ops-icon-button{width:34px;height:34px}.ops-view-switcher button{min-width:42px;padding:7px 8px;font-size:.61rem}.ops-mobile-stylist-picker{display:grid;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:7px 9px;border-radius:9px;background:#f3f4f4;color:#555b60;font-size:.63rem;font-weight:800}.ops-mobile-stylist-picker select{min-width:0;padding:7px 9px;border:1px solid #d2d6d8;border-radius:7px;background:#fff;color:#24272a}.ops-workspace{padding:0}.ops-calendar-card{min-height:calc(100dvh - 190px);border:0;border-radius:0}.ops-day-scroll{max-height:calc(100dvh - 190px);scroll-behavior:smooth;scroll-snap-type:x proximity;scroll-padding-inline:50px 20px;overscroll-behavior-inline:contain}.ops-day-grid{--calendar-heading-height:62px;grid-template-columns:50px repeat(var(--staff-count),82vw);min-width:calc(50px + var(--staff-count)*82vw + 20px);padding-right:20px}.ops-time-gutter{z-index:17}.ops-gutter-heading{height:62px;padding-right:6px;font-size:.55rem}.ops-time-labels>div{right:6px;font-size:.66rem}.ops-staff-column{scroll-snap-align:start}.ops-staff-heading{height:62px;justify-content:flex-start;padding:6px 11px}.ops-staff-heading strong{font-size:.84rem}.ops-avatar-photo{width:42px;height:42px}.ops-event{min-width:55px}.ops-event strong{font-size:.82rem}.ops-dialog-panel{width:100vw;padding:22px 16px calc(88px + env(safe-area-inset-bottom))}.ops-confirm-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:22px 16px}.ops-appointment-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .customers-back-link{min-height:35px;padding-inline:10px;font-size:.65rem}.customers-search-panel{margin:10px;padding:13px}.customers-search-panel>div{grid-template-columns:minmax(0,1fr) auto}.customers-search-panel button{min-width:74px;padding-inline:10px;font-size:.67rem}.customer-duplicates-panel{margin:0 10px 10px;padding:13px}.customer-duplicate-card{grid-template-columns:1fr}.customer-duplicate-options{grid-template-columns:1fr}.customer-duplicate-card>button{justify-self:stretch}.customers-workspace{display:block;min-height:0;margin:0 10px 10px;overflow:visible}.customers-results-panel{border-right:0}.customers-results{max-height:260px;border-bottom:1px solid var(--ops-border)}.customers-profile{max-height:none;padding:18px 14px 28px}.customers-contact{grid-template-columns:1fr}.customers-profile-header h2{font-size:1.2rem}
}
/* Private staff portal */
.staff-portal-body{margin:0;background:#f5f5f1;color:#20201f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.staff-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,46%) 1fr;background:#fff;max-width:none;margin:0;padding:0}
.staff-login-card{padding:clamp(40px,7vw,96px);display:flex;flex-direction:column;justify-content:center;max-width:560px}
.staff-login-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#20201f;margin-bottom:58px}
.staff-login-brand>.fbs-system-logo{width:70px}
.staff-login-brand div{display:grid}.staff-login-brand strong{font-size:18px}.staff-login-brand small{font-size:13px;color:#777}
.staff-login-card h1{font-size:clamp(38px,4vw,58px);letter-spacing:-.055em;line-height:.98;margin:8px 0 22px;max-width:480px}
.staff-login-card>p:not(.owner-eyebrow){color:#6d6d69;line-height:1.7;max-width:490px;margin:0 0 30px}
.staff-login-card form{display:grid;gap:18px;max-width:420px}
.staff-login-card label,.staff-dialog label{display:grid;gap:8px;font-weight:700;font-size:13px}
.staff-login-card select,.staff-login-card input,.staff-dialog input,.staff-dialog select,.staff-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #d7d7d2;border-radius:12px;background:#fff;padding:14px 15px;font:inherit;color:#20201f;outline:none}
.staff-login-card select:focus,.staff-login-card input:focus,.staff-dialog input:focus,.staff-dialog select:focus,.staff-dialog textarea:focus{border-color:#222;box-shadow:0 0 0 3px #2221}
.staff-login-card input{font-size:24px;letter-spacing:.4em}
.staff-primary-button{border:0;border-radius:12px;background:#191918;color:#fff;padding:14px 18px;font-weight:800;cursor:pointer}
.staff-kiosk-link{color:#343431;font-size:13px;font-weight:700;margin-top:28px;text-decoration:none}
.staff-form-error{min-height:18px;color:#bd3f35;font-size:13px;margin:0}
.staff-login-art{background:#20221f;color:#fff;padding:clamp(45px,7vw,110px);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.staff-login-art:before{content:"";position:absolute;width:510px;height:510px;border:1px solid #ffffff24;border-radius:50%;right:-170px;top:-130px;box-shadow:0 0 0 90px #ffffff08,0 0 0 180px #ffffff05}
.staff-login-art>p{position:absolute;top:65px;letter-spacing:.28em;font-size:12px;color:#cfd4ca}
.staff-login-art h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,5vw,76px);line-height:1.02;margin:0 0 65px;position:relative}
.staff-login-art div{display:flex;gap:20px;border-top:1px solid #ffffff25;padding:22px 0;font-size:15px;color:#d1d3ce;position:relative}.staff-login-art div span{color:#8fad92;font-weight:800}
.staff-app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.staff-sidebar{background:#1f211f;color:#fff;padding:24px 17px;position:sticky;top:0;height:100vh;box-sizing:border-box;display:flex;flex-direction:column}
.staff-login-brand.compact{color:#fff;margin:0 8px 30px}.staff-login-brand.compact>.fbs-system-logo{box-sizing:border-box;width:58px;padding:4px;border-radius:8px;background:#fff}
.staff-identity{display:flex;align-items:center;gap:12px;padding:17px 10px;margin-bottom:20px;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.staff-identity img,.staff-photo-fallback{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #fff}
.staff-photo-fallback{display:grid;place-items:center;box-sizing:border-box;background:#e7e2d8;color:#514938;font-size:13px;font-weight:900}
.staff-identity div{display:grid;gap:3px}.staff-identity strong{font-size:15px}.staff-identity span{font-size:11px;color:#aeb1ab}
.staff-sidebar nav{display:grid;gap:5px}
.staff-sidebar nav button,.staff-sidebar nav a{border:0;background:transparent;color:#bfc1bc;border-radius:10px;padding:12px 13px;text-align:left;font:inherit;font-weight:700;cursor:pointer;display:flex;gap:12px;align-items:center;text-decoration:none}
.staff-sidebar nav button span,.staff-sidebar nav a span{font-size:17px;width:20px;text-align:center}.staff-sidebar nav button:hover,.staff-sidebar nav button.active,.staff-sidebar nav a:hover{background:#fff;color:#1f211f}
.staff-sidebar-footer{margin-top:auto;display:grid;gap:8px}
.staff-sidebar-footer a,.staff-sidebar-footer button{border:0;background:transparent;color:#c9cbc6;text-decoration:none;text-align:left;padding:9px 12px;font-size:13px;cursor:pointer}
.staff-main{min-width:0;max-width:none;margin:0;padding:0 clamp(24px,4vw,64px) 70px}
.staff-topbar{min-height:116px;padding:0;background:transparent;color:inherit;border-bottom:1px solid #dddeda;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}
.staff-topbar-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.staff-topbar h1{margin:4px 0 0;font-size:31px;letter-spacing:-.035em}
.staff-mobile-account-actions{display:none;align-items:center;gap:7px}.staff-mobile-logout,.staff-mobile-pin{min-height:42px;border:1px solid #d4d5d0;border-radius:10px;background:#fff;color:#2d302c;padding:9px 11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.staff-period-nav{display:flex;align-items:center;border:1px solid #d8d9d4;background:#fff;border-radius:14px;padding:4px}
.staff-period-nav button{border:0;background:transparent;color:#20201f;width:38px;height:44px;font-size:24px;cursor:pointer;border-radius:10px}.staff-period-nav button:hover{background:#f0f1ed}
.staff-period-nav div{min-width:155px;text-align:center;display:grid;gap:2px}.staff-period-nav small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#898b86}.staff-period-nav strong{color:#20201f;font-size:13px}
.staff-view{display:none}.staff-view.active{display:block}
.staff-welcome-card{background:#dfece0;border-radius:19px;padding:25px 29px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.staff-welcome-card h2{font-size:27px;letter-spacing:-.035em;margin:4px 0 6px}.staff-welcome-card p:last-child{margin:0;max-width:760px;color:#59645a;font-size:13px;line-height:1.55}
.staff-status-pill{background:#fff;color:#385c40;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.staff-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.staff-metrics article{background:#fff;border:1px solid #dedfda;border-radius:16px;padding:21px;display:grid;gap:7px}.staff-metrics small{color:#72746f;font-weight:700}.staff-metrics strong{font-size:27px;letter-spacing:-.04em}.staff-metrics span{font-size:11px;color:#92938f}
.staff-dashboard-grid,.staff-history-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:18px}
.staff-panel{background:#fff;border:1px solid #dedfda;border-radius:17px;padding:22px;margin-bottom:18px}
.staff-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}.staff-panel-heading h2{margin:4px 0 0;font-size:21px}.staff-panel-heading button{border:0;background:transparent;color:#343834;text-decoration:underline;font-weight:700;cursor:pointer}
.staff-attendance-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(190px,1.4fr) 70px auto;align-items:center;gap:14px;border-top:1px solid #ecece8;padding:14px 0}
.staff-attendance-row:first-child{border-top:0}.staff-attendance-row>div:first-child{display:grid;gap:3px}.staff-attendance-row small{font-size:11px;color:#888}.staff-attendance-row.has-exception small{color:#b7463a}.staff-attendance-times{display:flex;flex-wrap:wrap;gap:5px}.staff-attendance-times span{font-size:12px;background:#f3f3f0;border-radius:7px;padding:6px 8px}.staff-attendance-times i{font-style:normal;color:#999}
.staff-attendance-row>button{border:1px solid #d7d8d3;background:#fff;color:#2d302c;border-radius:8px;padding:8px 10px;font-weight:700;font-size:11px;cursor:pointer}
.staff-pay-breakdown{margin:0}.staff-pay-breakdown div{display:flex;justify-content:space-between;border-top:1px solid #ecece8;padding:12px 0}.staff-pay-breakdown div:first-child{border-top:0}.staff-pay-breakdown dt{color:#696b66;font-size:13px}.staff-pay-breakdown dd{margin:0;font-weight:800}.staff-pay-breakdown .total{border-top:2px solid #252624;margin-top:5px;font-size:16px}
.staff-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.staff-section-heading h2{font-size:30px;letter-spacing:-.04em;margin:5px 0}.staff-section-heading p:last-child{margin:0;color:#737570}
.staff-correction-row{display:grid;grid-template-columns:170px 1fr 130px 90px;align-items:center;gap:16px;border-top:1px solid #e9eae6;padding:15px 0}.staff-correction-row:first-child{border-top:0}.staff-correction-row>div{display:grid;gap:3px}.staff-correction-row p{margin:0;font-size:13px}.staff-correction-row>span{font-size:12px}.staff-correction-row>b{text-transform:capitalize;font-size:11px;border-radius:999px;padding:7px 10px;text-align:center;background:#f0f0ed}.staff-correction-row>b.pending{background:#fff1cf;color:#815a04}.staff-correction-row>b.approved{background:#dff0e1;color:#2c6737}.staff-correction-row>b.declined{background:#f5dfdc;color:#8b3c34}
.staff-table-wrap{overflow:auto}.staff-table{border-collapse:collapse;width:100%;min-width:700px}.staff-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#898b86;padding:0 12px 12px}.staff-table td{border-top:1px solid #e9eae6;padding:15px 12px;font-size:13px}.staff-table td:last-child{font-weight:800}.staff-empty-cell{text-align:center!important;color:#888;padding:48px!important}
.staff-table-action{border:1px solid #d8d9d4;border-radius:8px;background:#fff;color:#2d302c;padding:7px 9px;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer}.staff-table-action:hover{background:#f2f3ef}
.staff-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e9eae6;padding:15px 0}.staff-history-row:first-child{border-top:0}.staff-history-row div{display:grid;gap:4px}.staff-history-row small{color:#81837e;font-size:11px}.staff-history-row>strong{font-size:16px}
.staff-profile-form{display:grid;gap:20px}.staff-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.staff-profile-fields label{display:grid;gap:8px;color:#3a3d38;font-size:13px;font-weight:750}.staff-profile-fields .wide{grid-column:1/3}.staff-profile-fields input{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #d7d8d3;border-radius:11px;background:#fff;padding:12px 14px;color:#20211f;font:inherit}.staff-profile-fields input:focus{border-color:#252824;box-shadow:0 0 0 3px #25282412;outline:none}.staff-profile-actions{display:flex;justify-content:flex-end}.staff-profile-actions .staff-primary-button{min-width:180px}.staff-form-note{margin:0;color:#747770;font-size:12px;line-height:1.5}
.staff-dialog{border:0;border-radius:20px;padding:0;width:min(520px,calc(100vw - 28px));box-shadow:0 30px 90px #0004}.staff-dialog::backdrop{background:#151714aa}.staff-dialog form{padding:28px;display:grid;gap:18px}.staff-dialog-heading{display:flex;justify-content:space-between;gap:15px}.staff-dialog-heading h2{margin:4px 0 0}.staff-dialog-heading button{border:0;background:#f0f0ed;color:#20201f;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.staff-dialog form>p:not(.staff-form-error){margin:0;color:#70726d;line-height:1.5;font-size:13px}.staff-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.staff-dialog-actions{display:flex;justify-content:flex-end;gap:9px}.staff-dialog-actions>button:first-child{border:0;background:transparent;color:#3d403b;font-weight:700;cursor:pointer}
.staff-percent-input{position:relative;display:block}.staff-percent-input>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#676b66;font-weight:800}.staff-percent-input input{padding-right:38px}
@media(max-width:1050px){.staff-metrics{grid-template-columns:repeat(2,1fr)}.staff-dashboard-grid,.staff-history-grid{grid-template-columns:1fr}.staff-app{grid-template-columns:220px 1fr}.staff-sidebar{padding-inline:12px}.staff-correction-row{grid-template-columns:150px 1fr 100px}}
@media(max-width:760px){.staff-login-shell{display:block}.staff-login-card{min-height:100vh;box-sizing:border-box;padding:34px 24px}.staff-login-art{display:none}.staff-app{display:block;padding-bottom:72px}.staff-sidebar{position:fixed;z-index:30;bottom:0;top:auto;width:100%;height:auto;padding:7px;background:#1f211f}.staff-sidebar>.staff-login-brand,.staff-identity,.staff-sidebar-footer{display:none}.staff-sidebar nav{grid-template-columns:repeat(6,1fr);gap:2px}.staff-sidebar nav button,.staff-sidebar nav a{display:grid;place-items:center;gap:2px;padding:7px 2px;font-size:9px}.staff-sidebar nav button span,.staff-sidebar nav a span{font-size:18px}.staff-main{padding:0 14px 30px}.staff-topbar{min-height:135px;align-items:stretch;padding-top:18px;margin-bottom:22px;flex-direction:column;justify-content:center}.staff-topbar-heading{width:100%}.staff-mobile-logout{display:block;min-height:42px}.staff-topbar h1{font-size:27px}.staff-period-nav{width:100%;box-sizing:border-box;justify-content:space-between}.staff-period-nav div{flex:1}.staff-welcome-card{align-items:flex-start;flex-direction:column;padding:22px}.staff-metrics{grid-template-columns:1fr 1fr;gap:9px}.staff-metrics article{padding:16px}.staff-metrics strong{font-size:22px}.staff-section-heading{align-items:flex-start;flex-direction:column}.staff-attendance-row{grid-template-columns:1fr auto;gap:8px}.staff-attendance-times{grid-column:1/3}.staff-attendance-row>button{grid-column:1/3}.staff-correction-row{grid-template-columns:1fr auto}.staff-correction-row p,.staff-correction-row>span{grid-column:1/3}.staff-time-fields{grid-template-columns:1fr}.staff-profile-fields{grid-template-columns:1fr}.staff-profile-fields .wide{grid-column:auto}.staff-profile-actions .staff-primary-button{width:100%;min-height:48px}}
.owner-attendance-request{display:grid;grid-template-columns:50px 150px 180px minmax(180px,1fr) auto;gap:14px;align-items:center;border-top:1px solid #e7e8e3;padding:16px 0}.owner-attendance-request:first-child{border-top:0}.owner-attendance-request img{width:44px;height:44px;border-radius:50%;object-fit:cover}.owner-attendance-request-person,.owner-attendance-request>div:nth-child(3){display:grid;gap:3px}.owner-attendance-request small{font-size:11px;color:#81837e}.owner-attendance-request p{margin:0;color:#5f615d;font-size:13px;line-height:1.45}
@media(max-width:1050px){.owner-attendance-request{grid-template-columns:44px 130px 1fr auto}.owner-attendance-request p{grid-column:2/4}.owner-attendance-request .owner-decision-actions{grid-column:4;grid-row:1/3}}
@media(max-width:700px){.owner-attendance-request{grid-template-columns:44px 1fr}.owner-attendance-request>div:nth-child(3),.owner-attendance-request p,.owner-attendance-request .owner-decision-actions{grid-column:1/3}.owner-attendance-request .owner-decision-actions{grid-row:auto}}
.staff-login-shell.hidden,.staff-app.hidden{display:none}
.staff-access-gate{display:none;min-height:100dvh;box-sizing:border-box;place-items:center;padding:24px;background:#f5f5f1}.staff-access-gate-card{display:grid;justify-items:center;width:min(420px,100%);box-sizing:border-box;padding:38px 28px;text-align:center}.staff-access-gate-card>.fbs-system-logo{width:108px;margin-bottom:20px}.staff-access-gate-card h1{margin:5px 0 10px;font-size:1.7rem;letter-spacing:-.04em}.staff-access-gate-card p:last-child{margin:0;color:#747670;font-size:.82rem}.staff-auth-pending .staff-access-gate{display:grid}.staff-auth-pending .staff-login-shell,.staff-auth-pending .staff-app{display:none!important}

.checkout-square-tip{display:grid;gap:10px;margin:15px 0;padding:15px;border:1px solid #b9d2be;border-radius:13px;background:#eef7ef}
.checkout-square-tip label{display:grid;gap:3px;color:#26472d;font-size:.78rem;font-weight:800}
.checkout-square-tip label small{color:#67806c;font-size:.61rem;font-weight:650}
.checkout-square-tip>div{display:flex;align-items:center;border:1px solid #9fbaa5;border-radius:10px;background:#fff;padding:0 12px}
.checkout-square-tip>div span{color:#3e6547;font-weight:850}
.checkout-square-tip input{width:100%;border:0!important;background:transparent!important;padding:11px 8px!important;font-size:1rem!important;font-weight:800;outline:0!important}
.checkout-square-tip p{margin:0;color:#607564;font-size:.62rem;line-height:1.45}

.owner-transaction-date{display:flex;align-items:end;gap:7px}
.owner-transaction-date label{display:grid;gap:5px}.owner-transaction-date label span{color:#747a75;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.owner-transaction-date input,.owner-transaction-date button{box-sizing:border-box;height:42px;border:1px solid #d6dad5;border-radius:9px;background:#fff;padding:0 12px;color:#2d312d;font:inherit;font-size:.7rem;font-weight:750}
.owner-transaction-date button{cursor:pointer}.owner-transaction-date>.owner-transaction-arrow{width:42px;padding:0;font-size:1.2rem}
.owner-transaction-range{display:flex;overflow:hidden;border:1px solid #d6dad5;border-radius:10px;background:#fff}
.owner-transaction-range button{min-width:58px;border:0;border-right:1px solid #e2e4e0;border-radius:0;background:#fff;color:#696f69}.owner-transaction-range button:last-child{border-right:0}.owner-transaction-range button.selected{background:#242725;color:#fff}
.owner-transaction-period{display:grid;min-width:150px;gap:4px;padding:0 5px 3px}.owner-transaction-period span{color:#747a75;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.owner-transaction-period strong{color:#2d312d;font-size:.72rem;white-space:nowrap}
.owner-transaction-date-picker input{width:132px}
.owner-transaction-list{display:grid;gap:10px}
.owner-transaction-card{overflow:hidden;border:1px solid #e0e3df;border-radius:13px;background:#fff}
.owner-transaction-card summary{display:grid;grid-template-columns:132px minmax(180px,1fr) 100px 110px 22px;align-items:center;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}
.owner-transaction-card summary::-webkit-details-marker{display:none}.owner-transaction-card[open] summary{border-bottom:1px solid #e1e4e0;background:#f8faf7}
.owner-transaction-time{color:#4f6655;font-size:.73rem;font-weight:850}.owner-transaction-card summary>span{display:grid;gap:3px}.owner-transaction-card summary>span strong{font-size:.77rem}.owner-transaction-card summary small{color:#7d837e;font-size:.57rem}.owner-transaction-card summary>b{text-align:right;font-size:.88rem}.owner-transaction-card summary>i{color:#7d837e;font-style:normal}.owner-transaction-card[open] summary>i{transform:rotate(180deg)}
.owner-transaction-detail{display:grid;grid-template-columns:1.05fr 1fr .95fr;gap:0;background:#fff}
.owner-transaction-detail>section{min-width:0;padding:19px;border-right:1px solid #e5e7e4}.owner-transaction-detail>section:last-child{border-right:0;background:#fafbf9}
.owner-transaction-detail h3{margin:0 0 13px;font-size:.78rem}.owner-transaction-detail ul{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}
.owner-transaction-detail li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eceeeb;padding:9px 0;font-size:.65rem}.owner-transaction-detail li:first-child{border-top:0}.owner-transaction-detail li>span{display:grid;gap:3px}.owner-transaction-detail li small{color:#858a86;font-size:.53rem;text-transform:capitalize}
.owner-transaction-detail dl{margin:0}.owner-transaction-detail dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eceeeb;padding:8px 0;font-size:.61rem}.owner-transaction-detail dt{color:#707671}.owner-transaction-detail dd{overflow-wrap:anywhere;margin:0;text-align:right;font-weight:800}.owner-transaction-detail dl .total{border-top:2px solid #303530;font-size:.7rem}
.owner-transaction-method,.owner-transaction-provider>p{margin:0 0 12px;color:#717872;font-size:.58rem;line-height:1.45;text-transform:capitalize}
.owner-service-refund-form{display:grid;grid-template-columns:1.4fr .65fr 1fr;gap:9px;margin-top:18px;padding:14px;border:1px solid #eadfca;border-radius:10px;background:#fffaf1}
.owner-service-refund-form h3,.owner-service-refund-form p{grid-column:1/-1}.owner-service-refund-form p{margin:0;color:#786c59;font-size:.61rem;line-height:1.45}
.owner-service-refund-form label{display:grid;gap:5px;color:#5e5549;font-size:.62rem;font-weight:750}.owner-service-refund-form select,.owner-service-refund-form input{min-width:0;padding:9px;border:1px solid #d9d2c6;border-radius:8px;background:#fff}
.owner-service-refund-form button{grid-column:1/-1;justify-self:start}
.owner-refund-review-panel{margin-bottom:18px}.owner-refund-review-panel h2{display:flex;align-items:center;gap:9px}.owner-refund-review-list{display:grid;gap:12px}
.owner-dispute-panel{margin-bottom:18px}.owner-dispute-panel h2{display:flex;align-items:center;gap:9px}.owner-dispute-list{display:grid;gap:12px}.owner-dispute-card{padding:16px;border:1px solid #e1ddd4;border-radius:10px;background:#fff}.owner-dispute-card.review{border-color:#e8c68c;background:#fffaf1}.owner-dispute-card.open{border-color:#cfe3d4;background:#f7fcf8}.owner-dispute-heading,.owner-dispute-status,.owner-dispute-authorization{display:flex;align-items:center;justify-content:space-between;gap:16px}.owner-dispute-heading span{display:grid;gap:4px}.owner-dispute-heading small,.owner-dispute-status small{color:#6f746f;font-size:.64rem}.owner-dispute-status{margin-top:11px}.owner-dispute-warning{padding:10px;margin:12px 0 0;border-radius:8px;background:#fff0e8;color:#8b3929;font-size:.7rem;font-weight:650}.owner-dispute-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.owner-dispute-card dl div{display:grid;gap:3px;padding:9px;border-radius:8px;background:#f4f5f2}.owner-dispute-card dt{font-size:.55rem;color:#70776f}.owner-dispute-card dd{margin:0;font-weight:800}.owner-dispute-authorization{padding:16px;border:1px solid #e8c68c;border-radius:10px;background:#fffaf1}.owner-dispute-authorization p{margin:5px 0 0;color:#746b5c;font-size:.68rem}
.owner-refund-review-card{padding:16px;border:1px solid #eadfca;border-radius:10px;background:#fffaf1}.owner-refund-review-card>div{display:flex;justify-content:space-between;gap:16px}.owner-refund-review-card h3,.owner-refund-review-card p{margin:0}.owner-refund-review-card p{margin-top:5px;color:#746b5c;font-size:.66rem;line-height:1.5}.owner-refund-review-card form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:14px}.owner-refund-review-card label{display:grid;gap:5px;font-size:.64rem;font-weight:750}.owner-refund-review-card select{min-width:0;padding:10px;border:1px solid #d9d2c6;border-radius:8px;background:#fff}.owner-refund-transaction-picker,.owner-refund-preview{grid-column:1/-1}.owner-refund-preview{margin-top:10px!important;color:#4f6758!important;font-weight:650}
.owner-transition-ledger-panel{margin-bottom:18px}.owner-transition-ledger-panel h2{display:flex;align-items:center;gap:9px}.owner-transition-ledger-list{display:grid;gap:12px}.owner-transition-ledger-card{padding:16px;border:1px solid #dce5de;border-radius:10px;background:#f8fbf8}.owner-transition-ledger-heading{display:flex;justify-content:space-between;gap:16px}.owner-transition-ledger-heading h3,.owner-transition-ledger-heading p{margin:0}.owner-transition-ledger-heading p{margin-top:4px;color:#6f7871;font-size:.6rem}.owner-transition-ledger-heading>strong{align-self:start;border-radius:999px;background:#e8efe9;padding:6px 9px;color:#496250;font-size:.55rem}.owner-transition-ledger-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.owner-transition-ledger-card dl>div{display:grid;gap:3px;border-radius:8px;background:#fff;padding:9px}.owner-transition-ledger-card dt{color:#788078;font-size:.5rem;text-transform:uppercase}.owner-transition-ledger-card dd{margin:0;font-size:.65rem;font-weight:750}.owner-transition-ledger-card ul{display:grid;gap:6px;margin:0;padding:10px 0;border-top:1px solid #dfe6df;border-bottom:1px solid #dfe6df;list-style:none}.owner-transition-ledger-card li{display:flex;justify-content:space-between;gap:12px;font-size:.62rem}.owner-transition-ledger-policy{margin:10px 0 0;color:#536b59;font-size:.58rem;font-weight:700}
.owner-transition-help{margin:0 16px 14px;border-radius:10px;background:#f1f5f1;padding:12px 14px;color:#4b5c4f}.owner-transition-help>strong{font-size:.65rem}.owner-transition-help ol{display:flex;flex-wrap:wrap;gap:7px 25px;margin:7px 0 0;padding-left:18px}.owner-transition-help li{font-size:.59rem}.owner-transition-ledger-card{padding:0;overflow:hidden}.owner-transition-ledger-card>summary{list-style:none}.owner-transition-ledger-card>summary::-webkit-details-marker{display:none}.owner-transition-ledger-summary{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(80px,.65fr)) auto auto auto;align-items:center;gap:14px;padding:15px;cursor:pointer}.owner-transition-ledger-summary:hover{background:#f2f7f3}.owner-transition-ledger-summary h3,.owner-transition-ledger-summary p{margin:0}.owner-transition-ledger-summary h3{font-size:.72rem}.owner-transition-ledger-summary p{margin-top:3px;color:#758077;font-size:.55rem}.owner-transition-ledger-summary>span:not(:first-child){display:grid;gap:2px}.owner-transition-ledger-summary small{color:#7b847d;font-size:.48rem;text-transform:uppercase}.owner-transition-ledger-summary strong{font-size:.67rem}.owner-transition-ledger-summary>b{border-radius:999px;background:#f4e8cf;padding:6px 8px;color:#755723;font-size:.52rem;white-space:nowrap}.owner-transition-ledger-card.reviewed .owner-transition-ledger-summary>b{background:#e3efe7;color:#38694a}.owner-transition-ledger-summary>i{color:#56695b;font-size:.56rem;font-style:normal;font-weight:800}.owner-transition-summary-accounting{display:flex!important;align-items:center;gap:7px}.owner-transition-summary-accounting label{display:flex;align-items:center;gap:4px;color:#46614d;font-size:.52rem;font-weight:800}.owner-transition-summary-accounting button{border:0;border-radius:7px;background:#202321;padding:7px 9px;color:#fff;font:inherit;font-size:.52rem;font-weight:800;white-space:nowrap;cursor:pointer}.owner-transition-summary-accounting button:disabled{cursor:wait;opacity:.65}.owner-transition-ledger-card[open] .owner-transition-ledger-summary>i{font-size:0}.owner-transition-ledger-card[open] .owner-transition-ledger-summary>i::after{content:"Close";font-size:.56rem}.owner-transition-ledger-body{border-top:1px solid #dce5de;padding:15px}.owner-transition-recorded{display:grid;grid-template-columns:minmax(160px,.7fr) 1.3fr;gap:18px}.owner-transition-recorded h4,.owner-transition-recorded p{margin:0}.owner-transition-recorded h4{font-size:.67rem}.owner-transition-recorded p{margin-top:4px;color:#6e7970;font-size:.57rem;line-height:1.45}.owner-transition-recorded ul{padding-top:0;border-top:0}.owner-transition-recorded li.refund{color:#8b4f4f}.owner-transition-zero-state,.owner-transition-pay-help{border-radius:9px;background:#eef4ef;padding:11px 12px;color:#4e6353}.owner-transition-zero-state strong,.owner-transition-pay-help strong{font-size:.63rem}.owner-transition-zero-state p{margin:4px 0 0;font-size:.57rem;line-height:1.5}.owner-transition-pay-help{font-size:.57rem;line-height:1.5}.owner-transition-technical{margin-top:12px;border-top:1px solid #dfe6df;padding-top:10px}.owner-transition-technical summary{cursor:pointer;color:#6f7971;font-size:.54rem;font-weight:750}.owner-transition-technical p{overflow-wrap:anywhere;margin:7px 0 0;color:#7d857f;font-size:.51rem;line-height:1.5}
.owner-transition-service-refund{display:grid;gap:11px;margin-top:14px;border:1px solid #dce5de;border-radius:10px;background:#fff;padding:14px}.owner-transition-refund-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.owner-transition-refund-heading span{display:inline-block;border-radius:999px;background:#e4efe6;padding:4px 7px;color:#3f694a;font-size:.47rem;font-weight:850;text-transform:uppercase}.owner-transition-refund-heading h4,.owner-transition-refund-heading p{margin:0}.owner-transition-refund-heading h4{margin-top:6px;font-size:.73rem}.owner-transition-refund-heading p{margin-top:4px;color:#6d776f;font-size:.57rem;line-height:1.45}.owner-transition-refund-heading>strong{color:#8b4f4f;font-size:.71rem}.owner-transition-refund-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.owner-transition-refund-fields label{display:grid;gap:5px;color:#56635a;font-size:.57rem;font-weight:750}.owner-transition-refund-fields select{min-width:0;border:1px solid #d6ded7;border-radius:8px;background:#fff;padding:9px}.owner-transition-refund-preview{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;border-radius:9px;background:#f5f7f4;padding:10px}.owner-transition-refund-preview span{display:grid;gap:2px}.owner-transition-refund-preview small{color:#758078;font-size:.47rem;text-transform:uppercase}.owner-transition-refund-preview strong{color:#964b4b;font-size:.7rem}.owner-transition-refund-preview p{margin:0;color:#5f6c62;font-size:.57rem;line-height:1.4}.owner-transition-refund-safety{margin:0;color:#647067;font-size:.53rem}.owner-transition-service-refund>button{justify-self:start}.owner-transition-refund-exception{margin-top:14px;border:1px solid #ead6b8;border-radius:10px;background:#fff8eb;padding:13px;color:#775a2b}.owner-transition-refund-exception strong{font-size:.66rem}.owner-transition-refund-exception p{margin:5px 0 0;font-size:.57rem;line-height:1.5}.owner-transition-secondary-review{margin-top:12px;border-top:1px solid #dfe6df;padding-top:10px}.owner-transition-secondary-review>summary{cursor:pointer;color:#58675c;font-size:.57rem;font-weight:800}.owner-transition-secondary-review>.owner-transition-review-form{margin-top:10px}
.owner-transition-refund-type{display:grid;gap:5px;color:#56635a;font-size:.57rem;font-weight:750}.owner-transition-refund-type select{border:1px solid #cbd8ce;border-radius:8px;background:#fff;padding:10px}.owner-transition-fee-preview{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;border:1px solid #c8decf;border-radius:9px;background:#f1f9f3;padding:11px}.owner-transition-fee-preview span{display:grid;gap:2px}.owner-transition-fee-preview small{color:#66806d;font-size:.47rem;text-transform:uppercase}.owner-transition-fee-preview strong{color:#356443;font-size:.7rem}.owner-transition-fee-preview p{margin:0;color:#52675a;font-size:.57rem;line-height:1.45}
.owner-transition-service-refund [hidden]{display:none!important}
.owner-live-refund-form{display:grid;grid-template-columns:minmax(230px,1fr) minmax(130px,.42fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;margin-top:14px;border:1px solid #ead7d7;border-radius:10px;background:#fff8f8;padding:14px}.owner-live-refund-form>div{align-self:center}.owner-live-refund-form>div span{display:inline-block;border-radius:999px;background:#f6dddd;padding:4px 7px;color:#8a3f3f;font-size:.47rem;font-weight:850;text-transform:uppercase}.owner-live-refund-form h4,.owner-live-refund-form p{margin:0}.owner-live-refund-form h4{margin-top:6px;font-size:.72rem}.owner-live-refund-form>div p{margin-top:4px;color:#6f6565;font-size:.55rem;line-height:1.4}.owner-live-refund-form label{display:grid;gap:5px;color:#665959;font-size:.55rem;font-weight:750}.owner-live-refund-form input{min-width:0;border:1px solid #ddcccc;border-radius:8px;background:#fff;padding:9px}.owner-live-refund-form>button{white-space:nowrap}.owner-live-refund-form>p{grid-column:1/-1;color:#735b5b;font-size:.52rem}.owner-live-refund-status{display:grid;gap:5px;margin-top:14px;border:1px solid #d9e5db;border-radius:10px;background:#f2f7f3;padding:13px}.owner-live-refund-status strong{font-size:.67rem}.owner-live-refund-status p{margin:0;color:#5e6d61;font-size:.56rem;line-height:1.45}.owner-live-refund-status button{justify-self:start;margin-top:3px}
.owner-transition-accounting-confirm,.owner-transition-accounting-posted,.owner-transition-accounting-waiting{display:grid;gap:11px;margin-top:14px;border-radius:10px;padding:14px}.owner-transition-accounting-confirm{border:1px solid #b9d2be;background:#f6fbf7}.owner-transition-accounting-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.owner-transition-accounting-heading span,.owner-transition-accounting-posted>div>span{display:inline-block;border-radius:999px;background:#d8ebdc;padding:4px 7px;color:#356443;font-size:.47rem;font-weight:850;text-transform:uppercase}.owner-transition-accounting-heading h4,.owner-transition-accounting-heading p,.owner-transition-accounting-posted h4,.owner-transition-accounting-posted p{margin:0}.owner-transition-accounting-heading h4,.owner-transition-accounting-posted h4{margin-top:6px;font-size:.73rem}.owner-transition-accounting-heading p,.owner-transition-accounting-posted p{margin-top:4px;color:#627067;font-size:.57rem;line-height:1.45}.owner-transition-accounting-heading>strong{color:#486451;font-size:.58rem}.owner-transition-accounting-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.owner-transition-accounting-numbers span{display:grid;gap:3px;border:1px solid #d8e5da;border-radius:8px;background:#fff;padding:9px}.owner-transition-accounting-numbers small{color:#708077;font-size:.46rem;text-transform:uppercase}.owner-transition-accounting-numbers strong{font-size:.67rem}.owner-transition-accounting-plan{margin:0;color:#53645a;font-size:.55rem;font-weight:750}.owner-transition-accounting-check{display:flex;align-items:flex-start;gap:8px;color:#445249;font-size:.57rem;line-height:1.45}.owner-transition-accounting-check input{margin-top:2px}.owner-transition-accounting-confirm>button{justify-self:start}.owner-transition-accounting-waiting{border:1px solid #ead6b8;background:#fff8eb;color:#775a2b}.owner-transition-accounting-waiting strong{font-size:.66rem}.owner-transition-accounting-waiting p,.owner-transition-accounting-waiting span{margin:0;font-size:.57rem;line-height:1.5}.owner-transition-accounting-posted{border:1px solid #b7d6bf;background:#f1faf3}.owner-transition-accounting-posted dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.owner-transition-accounting-posted dl>div{border-radius:8px;background:#fff;padding:9px}.owner-transition-accounting-posted dt{color:#728078;font-size:.46rem;text-transform:uppercase}.owner-transition-accounting-posted dd{margin:4px 0 0;font-size:.67rem;font-weight:850}
.owner-transition-review-form{display:grid;gap:10px;margin-top:14px;border-top:1px solid #dfe6df;padding-top:14px}.owner-transition-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.owner-transition-review-heading h4{margin:0;font-size:.72rem}.owner-transition-review-heading>strong{color:#294c35;font-size:.66rem}.owner-transition-review-summary{margin:4px 0 0;color:#68736a;font-size:.57rem;line-height:1.45}.owner-transition-review-line{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(4,minmax(115px,1fr));gap:8px;align-items:end;border-radius:9px;background:#fff;padding:10px}.owner-transition-review-line>div{display:grid;gap:3px;align-self:center}.owner-transition-review-line>div strong{font-size:.63rem}.owner-transition-review-line>div span{color:#788078;font-size:.52rem}.owner-transition-review-line label,.owner-transition-review-notes{display:grid;gap:4px;color:#59645b;font-size:.54rem;font-weight:750}.owner-transition-review-line select,.owner-transition-review-line input,.owner-transition-review-notes textarea{min-width:0;border:1px solid #d6ded7;border-radius:7px;background:#fff;padding:8px;font:inherit}.owner-transition-review-notes textarea{resize:vertical}.owner-transition-review-history{border-radius:8px;background:#eef3ef;padding:9px}.owner-transition-review-history summary{cursor:pointer;color:#496050;font-size:.57rem;font-weight:800}.owner-transition-review-history ul{margin-top:7px;padding-bottom:0;border-bottom:0}.owner-transition-review-form>button{justify-self:start}
.owner-transaction-detail .owner-transaction-subheading{margin-top:18px}
.owner-transaction-earning{align-items:center}.owner-transaction-earning-total{display:grid;flex:0 0 auto;gap:2px;text-align:right}.owner-transaction-earning-total small{text-transform:uppercase}.owner-transaction-earning-total strong{font-size:.72rem}
.owner-transaction-compensation{grid-column:span 2}.owner-transaction-allocation-table{overflow:hidden;margin:0 0 16px;border:1px solid #dfe5df;border-radius:10px;background:#fff}.owner-transaction-allocation-row{display:grid;grid-template-columns:minmax(115px,1.35fr) repeat(5,minmax(78px,1fr));align-items:center;border-top:1px solid #e7ebe7}.owner-transaction-allocation-row:first-child{border-top:0}.owner-transaction-allocation-row>*{box-sizing:border-box;min-width:0;padding:10px 8px;text-align:right;font-size:.61rem}.owner-transaction-allocation-row>*:first-child{text-align:left}.owner-transaction-allocation-row>strong{display:grid;gap:2px}.owner-transaction-allocation-row>strong small{color:#8a6e35;font-size:.47rem;text-transform:uppercase}.owner-transaction-allocation-head{background:#f2f5f1;color:#687269}.owner-transaction-allocation-head span{font-size:.49rem;font-weight:850;line-height:1.2;text-transform:uppercase}.owner-transaction-allocation-row:not(.owner-transaction-allocation-head)>b{color:#244f39;font-size:.68rem}.owner-transaction-tip-recipient{background:#f3f8f3;color:#315b3d;font-weight:850}.owner-transaction-no-allocation{margin:0 0 16px;border-radius:8px;background:#f4f7f2;padding:11px;color:#687269;font-size:.58rem}.owner-transaction-service-credit{align-items:center}.owner-transaction-service-credit>span:last-child{display:grid;flex:0 0 auto;gap:2px;text-align:right}.owner-transaction-service-credit>span:last-child small{text-transform:uppercase}.owner-transaction-service-credit>span:last-child strong{font-size:.72rem}
.owner-transaction-commission-note{margin:8px 0 0;border-radius:8px;background:#f4f7f2;padding:10px;color:#637066;font-size:.55rem;line-height:1.5}
.owner-transaction-sale{grid-column:1;grid-row:1}.owner-transaction-provider{grid-column:2/4;grid-row:1}.owner-transaction-compensation{grid-column:1/-1;grid-row:2}
.owner-evidence-button{display:grid;gap:3px;margin-top:15px;border:1px solid #1f4d35;border-radius:10px;background:#244f39;padding:11px 13px;color:#fff;text-decoration:none;transition:background .16s ease,transform .16s ease}
.owner-evidence-button:hover{background:#173d2a;transform:translateY(-1px)}.owner-evidence-button:focus-visible{outline:3px solid #a9cfb5;outline-offset:2px}
.owner-evidence-button span{font-size:.68rem;font-weight:850}.owner-evidence-button small{color:#d9ecdf;font-size:.52rem;line-height:1.35;text-transform:none}
.owner-terminal-reconciliation{display:grid;gap:4px;margin:0 0 13px;border:1px solid;border-radius:9px;padding:10px 11px}.owner-terminal-reconciliation.exact{border-color:#b9d8c1;background:#eff8f1;color:#2f6340}.owner-terminal-reconciliation.blocked{border-color:#e0b9b9;background:#fff1f1;color:#8e3f3f}.owner-terminal-reconciliation strong{font-size:.62rem}.owner-terminal-reconciliation span,.owner-terminal-reconciliation small{font-size:.52rem;line-height:1.4}.owner-terminal-reconciliation ul{margin:4px 0 0!important}.owner-terminal-reconciliation li{justify-content:flex-start!important;border-color:currentColor!important;padding:5px 0!important;font-size:.52rem!important}
@media(max-width:1050px){.owner-transaction-detail{grid-template-columns:1fr 1fr}.owner-transaction-provider{grid-column:1/3}.owner-transaction-heading{align-items:stretch}.owner-transaction-date{flex-wrap:wrap}.owner-transaction-allocation-row{grid-template-columns:minmax(110px,1.2fr) repeat(5,minmax(68px,1fr))}.owner-transaction-allocation-row>*{padding:9px 5px;font-size:.57rem}}
@media(max-width:1050px){.owner-transition-ledger-summary{grid-template-columns:minmax(140px,1fr) repeat(3,minmax(70px,.55fr)) auto auto}.owner-transition-ledger-summary>i{display:none}}
@media(max-width:900px){.owner-transition-review-line{grid-template-columns:1fr 1fr}.owner-transition-review-line>div{grid-column:1/-1}.owner-transition-ledger-summary{grid-template-columns:1fr auto}.owner-transition-ledger-summary>span:not(:first-child){display:none}.owner-transition-ledger-summary>.owner-transition-summary-accounting{display:flex!important;grid-column:1/-1;justify-content:flex-end}.owner-transition-recorded{grid-template-columns:1fr}.owner-live-refund-form{grid-template-columns:1fr}.owner-live-refund-form>p{grid-column:auto}}
@media(max-width:1050px){.owner-transaction-provider{grid-column:2;grid-row:1}}
@media(max-width:700px){.owner-transaction-card summary{grid-template-columns:65px 1fr 75px}.owner-transaction-card summary>span:nth-child(3){display:none}.owner-transaction-card summary>b{grid-column:3}.owner-transaction-card summary>i{display:none}.owner-transaction-detail{display:block}.owner-transaction-detail>section{border-right:0;border-bottom:1px solid #e5e7e4}.owner-transaction-provider{grid-column:auto}.owner-transaction-allocation-head{display:none}.owner-transaction-allocation-row{grid-template-columns:1fr 1fr;gap:0;padding:7px 9px}.owner-transaction-allocation-row>*{display:flex;justify-content:space-between;gap:10px;padding:5px 3px;text-align:right}.owner-transaction-allocation-row>*:first-child{grid-column:1/-1;border-bottom:1px solid #edf0ed;padding-bottom:8px;font-size:.66rem}.owner-transaction-allocation-row [data-label]:before{content:attr(data-label);color:#777f78;font-size:.5rem;font-weight:700}.owner-transaction-tip-recipient{border-radius:5px;padding-right:6px}.owner-service-refund-form{grid-template-columns:1fr}.owner-service-refund-form>*{grid-column:1!important}.owner-refund-review-card>div,.owner-transition-ledger-heading,.owner-transition-review-heading,.owner-transition-refund-heading,.owner-transition-accounting-heading{display:block}.owner-refund-review-card form{grid-template-columns:1fr}.owner-transition-ledger-heading>strong,.owner-transition-review-heading>strong,.owner-transition-refund-heading>strong,.owner-transition-accounting-heading>strong{display:inline-block;margin-top:9px}.owner-transition-ledger-card dl{grid-template-columns:1fr 1fr}.owner-transition-review-line,.owner-transition-refund-fields,.owner-transition-refund-preview,.owner-transition-fee-preview,.owner-transition-accounting-numbers{grid-template-columns:1fr}.owner-transition-review-line>*{grid-column:1!important}.checkout-payment-options,.checkout-settlement-actions{grid-template-columns:1fr}}
.invoice-public-body{min-height:100vh;margin:0;background:#f4f3ef;color:#242623;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.invoice-public-shell{width:min(680px,calc(100% - 32px));margin:0 auto;padding:42px 0}.invoice-public-shell>header{display:flex;align-items:center;gap:12px;margin-bottom:22px}.invoice-public-shell>header>span{display:grid;width:42px;height:42px;border-radius:50%;place-items:center;background:#202320;color:#fff;font-family:Georgia,serif;font-size:1.2rem}.invoice-public-shell>header>div{display:grid}.invoice-public-shell>header small{color:#747972}.invoice-public-card{padding:28px;border:1px solid #dcded8;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(30,35,31,.07)}.invoice-public-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.invoice-public-title small{text-transform:uppercase;letter-spacing:.14em;color:#777d76;font-size:.7rem;font-weight:800}.invoice-public-title h1{margin:4px 0 0;font-size:1.1rem}.invoice-public-title>b{padding:7px 10px;border-radius:999px;background:#e6f2e8;color:#2f6440;font-size:.68rem;text-transform:capitalize}.invoice-public-card>p{color:#60665f}.invoice-public-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-public-card dl>div{display:grid;gap:3px;padding:12px;border-radius:10px;background:#f5f6f3}.invoice-public-card dt{color:#767c75;font-size:.68rem}.invoice-public-card dd{margin:0;font-weight:800}.invoice-public-lines{margin:20px 0;border-top:1px solid #e5e7e2}.invoice-public-lines>div{display:flex;justify-content:space-between;gap:15px;padding:14px 2px;border-bottom:1px solid #e5e7e2}.invoice-public-totals .balance{grid-column:1/-1;background:#eaf3eb}.invoice-public-totals .balance dd{color:#2e643e;font-size:1.25rem}.invoice-public-payment{display:grid;gap:10px;margin:20px 0;padding:16px;border:1px solid #cfe0d2;border-radius:14px;background:#f0f7f1}.invoice-public-payment button{width:100%;padding:14px 18px;border:0;border-radius:10px;background:#202320;color:#fff;font:inherit;font-weight:800;cursor:pointer}.invoice-public-payment button:disabled{cursor:wait;opacity:.65}.invoice-public-payment p{margin:0;color:#566158;font-size:.78rem;line-height:1.5}.invoice-public-note{padding-top:14px;border-top:1px solid #e5e7e2;font-size:.78rem;line-height:1.5}.invoice-public-address{text-align:center;color:#777d76;font-size:.78rem}.invoice-public-card.hidden,.invoice-public-payment.hidden,.invoice-public-payment button.hidden{display:none}@media(max-width:560px){.invoice-public-shell{padding:20px 0}.invoice-public-card{padding:20px}.invoice-public-card dl{grid-template-columns:1fr}.invoice-public-totals .balance{grid-column:auto}.invoice-public-title{display:grid}}
@media(max-width:700px){.owner-transaction-sale,.owner-transaction-provider,.owner-transaction-compensation{grid-column:auto;grid-row:auto}}
@media(max-width:700px){.owner-transaction-card summary{grid-template-columns:94px 1fr 75px}}

.staff-weekly-service-review{margin-top:24px;border-top:1px solid #e3e5e0;padding-top:20px}.staff-weekly-service-review h3{margin:0;font-size:.84rem}.staff-weekly-service-review>p{margin:6px 0 14px;color:#747a74;font-size:.64rem;line-height:1.5}.staff-weekly-service-list{display:grid;gap:8px}.staff-weekly-service-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e0e2dd;border-radius:12px;background:#fafbf9;padding:13px 14px}.staff-weekly-service-row>div:first-child{display:grid;gap:4px;min-width:0}.staff-weekly-service-row strong{font-size:.72rem}.staff-weekly-service-row small{overflow:hidden;color:#757b75;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.staff-weekly-service-action{display:flex;align-items:center;gap:10px}.staff-weekly-service-action>span{font-size:.53rem;font-weight:800;white-space:nowrap}.staff-weekly-service-action>span.credited{color:#437052}.staff-weekly-service-action>span.uncredited{color:#8a6b33}
.owner-service-allocation-line{align-items:center}.owner-service-allocation-line>span:first-child{min-width:0}.owner-service-allocation-line small{line-height:1.55;text-transform:none!important}.owner-service-allocation-actions{display:flex!important;align-items:center;gap:9px}.owner-service-allocation-actions button{padding:7px 9px;font-size:.53rem;white-space:nowrap}.owner-service-allocation-dialog{width:min(650px,calc(100vw - 30px))}.owner-service-allocation-head,.owner-service-allocation-person{display:grid;grid-template-columns:minmax(140px,1fr) 100px 100px;align-items:end;gap:10px}.owner-service-allocation-head{padding:0 10px;color:#747b75;font-size:.5rem;font-weight:850;text-transform:uppercase}.owner-service-allocation-people{display:grid;gap:7px}.owner-service-allocation-person{border:1px solid #e0e4df;border-radius:10px;background:#f8faf7;padding:10px}.owner-service-allocation-person label{font-size:.55rem}.owner-service-allocation-check{display:flex!important;align-items:center;gap:9px!important;padding-bottom:7px}.owner-service-allocation-check input{width:17px!important}.owner-service-allocation-check span{font-size:.68rem;color:#2f3530}.owner-form-error{margin:0;color:#a33;font-size:.64rem;font-weight:750}
@media(max-width:700px){.staff-weekly-service-row{align-items:flex-start;display:grid}.staff-weekly-service-action{justify-content:space-between}.staff-weekly-service-action>span{white-space:normal}.owner-service-allocation-head{display:none}.owner-service-allocation-person{grid-template-columns:1fr 1fr}.owner-service-allocation-check{grid-column:1/-1}.owner-service-allocation-actions{align-items:flex-end!important;flex-direction:column}.owner-service-allocation-line{align-items:flex-start!important}}

/* Shared customer communications */
.messages-body{font-family:Inter,"Avenir Next","Segoe UI",Arial,sans-serif;color:#242724}
.messages-main{min-width:0}
.messages-simulation-badge{display:flex;align-items:center;gap:8px;border:1px solid #d9ddd8;border-radius:999px;background:#f7f8f5;padding:9px 13px;color:#626862;font-size:.69rem;font-weight:750}
.messages-simulation-badge span{width:8px;height:8px;border-radius:50%;background:#d89a34;box-shadow:0 0 0 4px #f7e9ce}
.messages-connection-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.messages-test-form{display:flex;align-items:center;gap:7px}
.messages-test-form input{width:132px;border:1px solid #d9ddd8;border-radius:999px;background:#fff;padding:9px 12px;color:#252925;font:inherit}
.messages-test-form button{border:1px solid #242724;border-radius:999px;background:#242724;padding:9px 13px;color:#fff;font-size:.69rem;font-weight:750;cursor:pointer}
.messages-test-form button:disabled{opacity:.55;cursor:wait}
.messages-sidebar-note{margin:28px 3px 0;padding:20px 16px;border-top:1px solid #dedfdb;border-bottom:1px solid #dedfdb}
.messages-sidebar-note h2{margin:6px 0 10px;font-size:1.03rem;line-height:1.25}.messages-sidebar-note>p:last-child{margin:0;color:#777d78;font-size:.67rem;line-height:1.55}
.messages-body{overflow:hidden}
.messages-workspace{display:grid;grid-template-columns:minmax(380px,40%) minmax(520px,60%);grid-template-rows:minmax(0,1fr);height:calc(100vh - 86px);min-height:0;overflow:hidden;border-top:0;border-right:0;border-bottom:0;border-left:1px solid #dedfdb;border-radius:0;background:#fff;box-shadow:0 12px 35px #18221b0a}
.messages-list-panel{display:flex;min-width:0;flex-direction:column;border-right:1px solid #e2e4e0}
.messages-list-heading{padding:22px 20px 14px}.messages-list-heading h2{margin:0 0 15px;font-size:1.38rem;letter-spacing:-.025em}.messages-list-heading input{box-sizing:border-box;width:100%;border:1px solid #cfd4ce;border-radius:11px;background:#fbfcfa;padding:12px 13px;color:#242724;font:inherit;font-size:.79rem;line-height:1.3}.messages-list-heading input:focus{border-color:#6d776d;outline:3px solid #dfe8df}
.messages-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 20px 16px}.messages-filters button{min-height:34px;border:1px solid #e2e5e0;border-radius:9px;background:#f2f4f1;padding:8px 9px;color:#555c55;font-size:.65rem;font-weight:800;line-height:1.1;white-space:normal;cursor:pointer}.messages-filters button:hover{border-color:#cbd1ca;background:#e9ece7}.messages-filters button.active{border-color:#242724;background:#242724;color:#fff}
.messages-thread-list{min-height:0;overflow-y:auto;border-top:1px solid #e9eae7}
.messages-thread-list .messages-thread{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;width:100%;border:0;border-bottom:1px solid #e7eae5;border-radius:0;background:#fff;color:#242724;padding:16px 18px;text-align:left;cursor:pointer}.messages-thread-list .messages-thread:hover{background:#f7f8f5}.messages-thread-list .messages-thread.active{background:#edf2ec}.messages-thread.active:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#31543a}
.messages-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dfe9df;color:#284b31;font-size:.81rem;font-weight:900}
.messages-thread-copy{display:grid;min-width:0;gap:4px}.messages-thread-copy>span{display:flex;justify-content:space-between;gap:10px}.messages-thread-copy strong{overflow:hidden;font-size:.79rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.messages-thread-copy time{color:#777e77;font-size:.57rem;white-space:nowrap}.messages-thread-copy small{overflow:hidden;color:#6f766f;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.messages-thread-copy p{overflow:hidden;margin:2px 0;color:#454c45;font-size:.69rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.messages-thread-copy b{justify-self:start;border-radius:999px;background:#edf0ec;padding:5px 8px;color:#565d56;font-size:.53rem;letter-spacing:.02em;text-transform:uppercase}.messages-thread-copy b.new,.messages-thread-copy b.needs_reply{background:#fff0d8;color:#7a4b07}.messages-thread-copy b.waiting{background:#e4edf6;color:#2d5276}.messages-thread>i{position:absolute;right:16px;bottom:15px;display:grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:#242724;color:#fff;font-size:.52rem;font-style:normal}
.messages-conversation{display:flex;min-width:0;min-height:0;height:100%;overflow:hidden;flex-direction:column;background:#f8f9f6}
.messages-conversation-header{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dce0da;background:#fff}.messages-conversation-header h2{margin:3px 0 5px;font-size:1.36rem;letter-spacing:-.025em}.messages-conversation-header p:not(.ops-eyebrow){margin:0 0 6px;color:#535a53;font-size:.71rem}.messages-conversation-header small{color:#747b74;font-size:.61rem}.messages-conversation-header label{display:grid;align-self:start;gap:6px;color:#666d66;font-size:.57rem;font-weight:800;text-transform:uppercase}.messages-conversation-header select{border:1px solid #cbd0ca;border-radius:9px;background:#fff;padding:9px 10px;color:#303530;font:inherit;font-size:.65rem;text-transform:none}
.messages-timeline{display:flex;min-height:0;flex:1;flex-direction:column;gap:13px;overflow-y:auto;padding:24px}
.message-bubble{align-self:flex-start;width:min(78%,540px);border:1px solid #dce0da;border-radius:5px 14px 14px 14px;background:#fff;padding:14px 16px;box-shadow:0 5px 16px #1e281f08}.message-bubble.outbound{align-self:flex-end;border-color:#c6d9c8;border-radius:14px 5px 14px 14px;background:#e5f0e5}.message-bubble>div{display:flex;justify-content:space-between;gap:12px}.message-bubble strong{font-size:.67rem}.message-bubble div span{color:#737a73;font-size:.54rem}.message-bubble p{margin:9px 0 8px;color:#303630;font-size:.75rem;line-height:1.55}.message-bubble>small{color:#666d66;font-size:.53rem;text-transform:capitalize}.message-bubble>small.failed{color:#b44334;font-weight:800}.message-bubble>a{display:grid;gap:5px;margin:9px 0;color:#3d463e;font-size:.59rem;text-decoration:none}.message-bubble img{width:180px;max-height:140px;border-radius:9px;object-fit:cover}
.message-bubble>em{display:block;margin-top:7px;color:#697169;font-size:.53rem;font-style:normal;font-weight:750;letter-spacing:.02em;text-transform:uppercase}
.message-bubble .message-channel-row{align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.message-bubble .message-channel-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid;border-radius:6px;font-size:.72rem;font-weight:850;letter-spacing:.035em;line-height:1.3}
.message-bubble .message-channel-text{color:#174d38;background:#e3f3eb;border-color:#8cbaa2}
.message-bubble .message-channel-email{color:#294679;background:#e8eefb;border-color:#a3b7dc}
.message-bubble .message-channel-row time{color:#515b53;font-size:.64rem}
.message-bubble .message-sender strong{font-size:.72rem}
.messages-reply{position:relative;z-index:2;display:grid;grid-template-columns:120px minmax(0,1fr);flex:0 0 auto;gap:10px;padding:14px 20px;border-top:2px solid #c7cfc6;background:#fff;box-shadow:0 -8px 20px #2632290c}.messages-reply:before{content:"Write a message";position:absolute;top:-24px;left:20px;border:1px solid #c7cfc6;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;padding:6px 10px;color:#414941;font-size:.55rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.messages-reply label{display:grid;gap:6px;color:#626a62;font-size:.56rem;font-weight:800;text-transform:uppercase}.messages-reply select,.messages-reply textarea{box-sizing:border-box;width:100%;border:1px solid #9fa99f;border-radius:9px;background:#fff;padding:10px 11px;color:#2e342e;font:inherit;font-size:.72rem;line-height:1.35}.messages-reply select:focus,.messages-reply textarea:focus{border-color:#596c5c;outline:3px solid #dfe8df}.messages-reply textarea{min-height:68px;resize:none}.messages-reply>div{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;gap:15px}.messages-reply small{color:#707770;font-size:.57rem}.messages-reply button,.messages-simulator button{border:0;border-radius:9px;background:#232623;color:#fff;padding:10px 15px;font-size:.64rem;font-weight:800;cursor:pointer}
.messages-simulator{display:flex;align-items:end;justify-content:flex-end;gap:9px;padding:10px 20px;border-top:1px dashed #d1d5d0;background:#f3f4f1}.messages-simulator label{display:grid;gap:4px;color:#6f766f;font-size:.53rem;font-weight:800;text-transform:uppercase}.messages-simulator select{border:1px solid #cbd0ca;border-radius:8px;background:#fff;padding:8px;color:#343a34;font:inherit;font-size:.61rem;text-transform:none}.messages-simulator button{background:#687068}.messages-simulator button:disabled{opacity:.55;cursor:wait}
.messages-empty,.messages-empty-state{display:grid;place-items:center;align-content:center;gap:7px;min-height:180px;padding:25px;color:#858b85;text-align:center}.messages-empty strong,.messages-empty-state h2{margin:0;color:#444944;font-size:.84rem}.messages-empty span,.messages-empty-state p{margin:0;font-size:.61rem}.messages-empty-state{height:100%;box-sizing:border-box}.messages-empty-state>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e7ece5;color:#45604a;font-size:1.1rem}
@media(max-width:1100px){.messages-workspace{grid-template-columns:350px minmax(500px,1fr);overflow-x:auto}.messages-main{padding-right:0}.messages-simulation-badge{display:none}}

/* Compact phone workspaces: one task at a time, without desktop overflow. */
.customers-mobile-back,.messages-mobile-back{display:none}
@media(max-width:760px){
  .checkout-main{width:100%;min-width:0;overflow-x:hidden}
  .checkout-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}
  .checkout-builder{min-width:0;gap:10px}
  .checkout-section,.checkout-ticket,.checkout-recent{min-width:0;border-radius:11px}
  .checkout-section{padding:14px 12px}
  .checkout-section-heading{align-items:flex-start;gap:10px;margin-bottom:12px}
  .checkout-section-heading h2{font-size:1rem}
  .checkout-customer-fields{grid-template-columns:1fr;gap:9px}
  .checkout-customer-search input,.checkout-section input,.checkout-section select{box-sizing:border-box;max-width:100%;font-size:16px}
  .checkout-selected-customer{align-items:flex-start;flex-direction:column;gap:8px}
  .checkout-add-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px}
  .checkout-add-actions button{min-width:0;min-height:42px;padding:7px 5px;font-size:.61rem;white-space:normal}
  .checkout-inline-picker{grid-template-columns:1fr;gap:9px;padding:10px}
  .checkout-inline-picker button{min-height:43px}
  .checkout-line{grid-template-columns:minmax(0,1fr);gap:9px}
  .checkout-line-end{grid-template-columns:1fr auto;justify-items:start;align-items:center;width:100%}
  .checkout-retail-line,.checkout-tip-line{grid-template-columns:1fr!important}
  .checkout-credit-panel{grid-template-columns:1fr;padding:13px}
  .checkout-gift-card-fields{grid-template-columns:1fr}
  .checkout-gift-card-readiness,.checkout-gift-card-activation{align-items:stretch;flex-direction:column}
  .checkout-gift-card-readiness button{margin-left:0}
  .checkout-ticket{position:static;top:auto;padding:14px 12px}
  .checkout-ticket-header{padding-bottom:12px}
  .checkout-ticket-customer{min-height:44px;padding:12px 0}
  .checkout-payment-options{grid-template-columns:1fr}
  .checkout-payment-option{min-height:48px;padding:8px 6px}
  .checkout-payment-option small{white-space:normal}
  .checkout-settlement-actions{grid-template-columns:1fr}
  .checkout-invoice-panel fieldset{flex-wrap:wrap}
  .checkout-recent{margin:0 10px 10px;padding:14px 12px}
  .checkout-order-grid{grid-template-columns:1fr}
  .terminal-lab-grid,.terminal-experience{grid-template-columns:1fr}
  .terminal-screen-arrow{transform:rotate(90deg)}

  .messages-body{overflow:hidden}
  .messages-main{height:calc(100dvh - 68px);min-height:0;padding:0}
  .messages-main>.ops-header{min-height:62px}
  .messages-connection-tools,.messages-simulation-badge{display:none}
  .messages-workspace{display:grid;grid-template-columns:minmax(0,1fr);width:100%;height:calc(100dvh - 130px);min-height:0;overflow:hidden;border:0;box-shadow:none}
  .messages-list-panel{min-width:0;height:100%;border:0}
  .messages-list-heading{padding:12px 12px 9px}
  .messages-list-heading h2{margin-bottom:10px;font-size:1.05rem}
  .messages-list-heading input{min-height:43px;font-size:16px}
  .messages-filters{display:flex;gap:6px;padding:0 12px 10px;overflow-x:auto}
  .messages-filters button{flex:0 0 auto;min-height:36px;padding:8px 11px;white-space:nowrap}
  .messages-thread-list .messages-thread{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}
  .messages-avatar{width:38px;height:38px}
  .messages-conversation{display:none;width:100%;height:100%;background:#f8f9f6}
  .messages-mobile-conversation-open .messages-list-panel{display:none}
  .messages-mobile-conversation-open .messages-conversation{display:flex}
  .messages-conversation-header{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;padding:12px}
  .messages-conversation-header>div{min-width:0}
  .messages-conversation-header h2{overflow:hidden;margin-top:0;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}
  .messages-conversation-header label{grid-column:2;grid-row:2}
  .messages-conversation-header select{min-height:38px;font-size:16px}
  .messages-mobile-back{display:grid;grid-row:1/3;place-items:center;align-self:start;width:36px;height:36px;border:0;border-radius:50%;background:#eef0ed;color:#252825;font-size:1.45rem}
  .messages-timeline{gap:10px;padding:14px 10px 28px}
  .message-bubble{box-sizing:border-box;width:min(88%,520px);padding:11px 12px}
  .messages-reply{grid-template-columns:1fr;gap:7px;padding:12px 10px calc(12px + env(safe-area-inset-bottom))}
  .messages-reply select,.messages-reply textarea{font-size:16px}
  .messages-reply>div{grid-column:1;align-items:stretch;flex-direction:column}
  .messages-reply button{min-height:44px}
  .messages-simulator{display:none}

  .customers-main{width:100%;min-width:0;overflow-x:hidden}
  .customers-search-panel{position:sticky;top:0;z-index:15;background:#fff}
  .customers-workspace{display:block}
  .customers-results{max-height:none;overflow:visible}
  .customers-profile{display:none;min-width:0;padding:12px 12px 24px}
  .customers-mobile-profile-open .customers-search-panel,
  .customers-mobile-profile-open .customer-duplicates-panel,
  .customers-mobile-profile-open .customers-results-panel{display:none}
  .customers-mobile-profile-open .customers-profile{display:block}
  .customers-mobile-back{display:inline-flex;align-items:center;min-height:38px;margin:0 0 10px;border:0;border-radius:999px;background:#eef1ed;padding:8px 13px;color:#2c332d;font:inherit;font-size:.72rem;font-weight:800}
  .customers-profile.is-loading:after{content:"Updating customer information…";display:block;margin:12px 0;padding:10px;border-radius:8px;background:#f3f5f2;color:#667067;font-size:.68rem;text-align:center}
  .customers-profile-header{align-items:center;gap:10px}
  .customers-profile-avatar{width:44px;height:44px}
  .customers-appointment-card{padding:12px}
}
.ops-retention-warning{margin-top:14px;border:1px solid #e0c578;border-radius:12px;background:#fff7dc;padding:15px;color:#5e4917}.ops-retention-warning strong{font-size:.76rem}.ops-retention-warning p{margin:7px 0 11px;font-size:.64rem;line-height:1.5}.ops-retention-warning>label{display:flex;align-items:flex-start;gap:8px;font-size:.61rem;font-weight:750}.ops-retention-warning input{margin-top:2px}.ops-retention-warning.cancellation{border-color:#cbdacb;background:#f0f6ef;color:#304d35}.ops-retention-warning>div{display:flex;flex-wrap:wrap;gap:8px}.ops-retention-warning button{border:1px solid #9eb69f;border-radius:8px;background:#fff;padding:9px 11px;color:#304d35;font-size:.59rem;font-weight:800;cursor:pointer}.ops-retention-warning button:last-child{border-color:#d2d7d1;background:transparent;color:#666c66}

/* Calendar appointment workspace: calm, scan-first hierarchy */
.ops-dialog-panel{display:flex;width:min(560px,96vw);overflow:hidden;padding:0;flex-direction:column;background:#fff}
.ops-dialog-topbar{position:sticky;top:0;z-index:20;display:flex;min-height:72px;box-sizing:border-box;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid #e7e9e6;background:#fff}
.ops-dialog-close{position:static;flex:0 0 auto;width:40px;height:40px;border:0;background:#f2f3f1!important;font-size:1.5rem;line-height:1}
.ops-dialog-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ops-dialog-header-actions:empty{min-height:40px}
.ops-dialog-header-actions .ops-drawer-actions-menu{margin:0}.ops-dialog-header-actions .ops-actions-popover{top:47px}
.ops-header-edit-button,.ops-header-save-button,.ops-header-cancel-button{min-height:40px;border-radius:999px;padding:9px 18px;font-size:.73rem;font-weight:850}
.ops-header-edit-button,.ops-header-cancel-button{border:1px solid #dfe1dd;background:#f2f3f1!important;color:#2b2e2a!important}.ops-header-save-button{background:#202320!important;color:#fff!important}
.ops-dialog-body{min-height:0;overflow-y:auto;padding:28px 30px 44px}
.ops-dialog-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.ops-dialog-title-row>div:first-child{min-width:0}
.ops-dialog-title-row #dialog-status{margin:0 0 7px;color:#6e756e;font-size:.62rem;letter-spacing:.11em}
.ops-dialog-title-row #dialog-title{margin:0}
.ops-dialog-title-row #dialog-customer-support{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ops-dialog-customer-name,.customers-profile-name,.customers-result-name{display:flex;align-items:center;gap:8px;min-width:0}
.ops-policy-exception-dot{display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;padding:0!important;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.ops-policy-exception-dot span{width:9px;height:9px;border:1px solid #c9ceca;border-radius:50%;background:#eef0ed;box-shadow:0 0 0 3px transparent;transition:background .15s,border-color .15s,box-shadow .15s}
.ops-policy-exception-dot.active span{border-color:#a93535;background:#c63f38;box-shadow:0 0 0 3px #f4dada}
.ops-policy-exception-dot:hover span{border-color:#8f9690}
.ops-policy-exception-dot.active:hover span{border-color:#842c2c}
.ops-policy-exception-dot:focus-visible{outline:2px solid #8b6d3e;outline-offset:2px}
.ops-policy-exception-dot:disabled{cursor:default;opacity:.72}
.customer-spend-tier{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:19px;padding:2px 7px;border:1px solid;border-radius:999px;font-size:.55rem;font-weight:900;letter-spacing:.07em;line-height:1;text-transform:uppercase;cursor:help}
.customer-spend-tier.silver{border-color:#b9c0c6;background:#f1f3f4;color:#59626a}
.customer-spend-tier.gold{border-color:#d7bc65;background:#fff7dc;color:#795d08}
.customer-spend-tier.diamond{border-color:#8dcbd0;background:#e7fafb;color:#17646a}
.customers-spend-detail{display:block!important;margin-top:3px;color:#68716b!important;font-size:.62rem!important}
.customers-result-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.owner-customer-tier-settings{max-width:820px}
.owner-tier-analysis{margin:14px 0;padding:14px;border:1px solid #dde3df;border-radius:10px;background:#f7f9f7}
.owner-tier-analysis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.owner-tier-analysis-grid article{display:grid;gap:5px;padding:10px;border-radius:8px;background:#fff}
.owner-tier-analysis-grid span{color:#6f7772;font-size:.62rem;font-weight:750}
.owner-tier-analysis-grid strong{font-size:1rem}
.owner-tier-analysis>p,.owner-tier-analysis>small{display:block;margin:10px 0 0;color:#68716b;font-size:.65rem;line-height:1.45}
.owner-tier-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.owner-tier-actions button{margin:0!important}
@media(max-width:700px){.owner-tier-analysis-grid{grid-template-columns:1fr 1fr}.customer-spend-tier{font-size:.5rem}.ops-dialog-customer-name{gap:6px}}
.ops-dialog-panel h2{margin:0 0 24px;color:#20231f;font-size:1.72rem;letter-spacing:-.035em;line-height:1.1}
.ops-visit-overview{display:grid;grid-template-columns:1fr auto;gap:5px 14px;margin-bottom:18px;padding:20px;border:1px solid #e2e5e0;border-radius:14px;background:#fbfcfa}
.ops-visit-overview>.ops-status-pill{grid-column:1/3;justify-self:start}.ops-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eaf3eb;color:#2e6b3b;font-size:.57rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.ops-visit-overview>.ops-new-client-pill{position:absolute;top:19px;right:19px;display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#edf8ef;color:#2f6840;font-size:.57rem;font-weight:900}.ops-visit-overview{position:relative}
.ops-status-pill.pending{background:#fff2d7;color:#825b0b}.ops-status-pill.canceled,.ops-status-pill.no-show{background:#f6e8e6;color:#93463d}.ops-status-pill.completed{background:#edf0ec;color:#606760}
.ops-status-pill.awaiting_protection{background:#fff0cf;color:#7b5714}.ops-protection-guidance{display:grid;gap:7px;margin:0 0 20px;padding:16px;border:1px solid #e6c986;border-radius:12px;background:#fff8e8}.ops-protection-guidance strong{font-size:.82rem}.ops-protection-guidance p{margin:0;color:#5d5546;font-size:.68rem;line-height:1.55}.ops-protection-guidance span{color:#816524;font-size:.59rem;font-weight:800}.ops-protection-result{display:grid;gap:14px;text-align:left}.ops-protection-result-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e2f2e6;color:#2d6d3b;font-size:1.35rem}.ops-protection-result h3{margin:0;font-size:1.2rem}.ops-protection-result>p{margin:0;color:#5d635e;line-height:1.55}.ops-protection-result>div:not(.ops-confirm-actions){display:grid;gap:6px;padding:14px;border:1px solid #dde1dc;border-radius:10px;background:#f7f8f6}.ops-protection-result a{overflow-wrap:anywhere;color:#285f39;font-size:.66rem}
.ops-visit-overview>strong{margin-top:9px;font-size:1.18rem;letter-spacing:-.02em}.ops-visit-overview>p{grid-column:1/3;margin:0;color:#555c55;font-size:.74rem}
.ops-visit-overview>div{grid-column:1/3;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e4e7e2;color:#777e77;font-size:.62rem}.ops-visit-overview>div b{color:#303530;font-size:.68rem}
.ops-customer-contact,.ops-context-section{margin-top:22px;padding-top:22px;border-top:6px solid #f2f3f1}
.ops-customer-contact .ops-section-title-row,.ops-context-section>.ops-section-title-row{margin-bottom:12px}
.ops-customer-contact h3,.ops-context-section h3,.ops-editor-section h3{margin:0;color:#242724;font-size:.98rem;letter-spacing:-.015em}
.ops-section-title-row>a{color:#3e5d46;font-size:.67rem;font-weight:800}
.ops-section-title-row>span{display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:#eff1ed;color:#626862;font-size:.58rem;font-weight:850}
.ops-compact-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.ops-compact-details>div{display:grid;grid-template-columns:1fr;gap:4px;padding:0;border:0}.ops-compact-details dt{font-size:.57rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ops-compact-details dd{overflow-wrap:anywhere;font-size:.75rem;font-weight:700}
.ops-appointment-primary-actions{margin:0 0 18px}.ops-appointment-primary-actions>a,.ops-appointment-primary-actions>button{min-height:42px;border-radius:10px;font-size:.68rem}
.ops-visit-list{gap:0;border-top:1px solid #e7e9e6}.ops-visit-service{border:0;border-bottom:1px solid #e7e9e6;border-radius:0;padding:15px 0}
.ops-visit-service.focused{margin:5px 0;border:1px solid #91aa83;border-radius:11px;padding:14px;box-shadow:0 0 0 3px #e8f0e4}
.ops-visit-service-heading{align-items:flex-start}.ops-visit-service-heading>div{display:grid;gap:3px}.ops-visit-service-heading strong{font-size:.82rem}.ops-visit-service-heading>span{font-size:.78rem;font-weight:800}.ops-visit-service p,.ops-visit-service time{font-size:.66rem}
.ops-contributor-summary{margin:11px 0 0!important;padding-top:10px;border-top:1px dashed #dfe2dc}.ops-contributor-summary summary{color:#496451;cursor:pointer;font-size:.63rem;font-weight:850;list-style:none}.ops-contributor-summary summary::-webkit-details-marker{display:none}.ops-contributor-summary summary:after{float:right;content:"⌄"}.ops-contributor-summary[open] summary:after{transform:rotate(180deg)}
.ops-contributor-summary>div{display:grid;gap:7px;margin-top:10px}.ops-contributor-summary span{display:grid;grid-template-columns:minmax(105px,1fr) auto;gap:5px 8px;color:#646b64;font-size:.64rem}.ops-contributor-summary span b{color:#303530;text-align:right}
.ops-inline-edit{width:auto;margin-top:10px;border:0;background:#eff2ed!important;color:#3d5743!important;font-weight:800}
.ops-visit-totals{margin:14px 0 0}.ops-visit-totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;color:#666d66;font-size:.7rem}.ops-visit-totals dd{margin:0;color:#2b2f2b;font-weight:800}.ops-visit-totals .total{margin-top:3px;padding-top:12px;border-top:1px solid #dfe2dd;color:#242724;font-size:.8rem;font-weight:850}
.ops-client-note{padding:12px 0}.ops-client-note p{font-size:.72rem;line-height:1.55}.ops-note-form{grid-template-columns:1fr;margin-top:12px}.ops-note-form textarea{min-height:76px;background:#fbfcfa;font:inherit;font-size:.7rem}.ops-note-form button{justify-self:end;width:auto;border-radius:9px}
.ops-history-section{padding-bottom:2px}.ops-history-card{padding:13px 0}.ops-history-card strong{font-size:.77rem}.ops-history-card.upcoming>div strong{color:#24723a}.ops-history-card>div span{border-radius:999px;background:#eff1ed;padding:4px 7px;font-size:.54rem;font-weight:800}.ops-history-card.upcoming>div span{background:#e7f3e9;color:#28693a}.ops-history-card time,.ops-history-card p,.ops-empty-compact{font-size:.65rem;line-height:1.5}

/* Cleaner appointment editor */
.owner-review-lines{margin:18px 0;border:1px solid #e2c98a;border-radius:12px;background:#fffaf0}
.owner-review-lines>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;cursor:pointer;color:#58451d}
.owner-review-lines>summary strong{font-size:.76rem}.owner-review-lines>summary span{font-size:.58rem}
.owner-review-lines[open]>summary{border-bottom:1px solid #ead9ad}
.staff-welcome-actions{display:grid;justify-items:stretch;gap:9px;min-width:250px}.staff-welcome-actions .staff-primary-button{width:100%;min-height:64px;padding:16px 26px;font-size:1rem;line-height:1.15;box-shadow:0 5px 16px #17331f24;touch-action:manipulation}
.staff-current-status{display:flex;align-items:center;gap:9px;border-radius:10px;background:#ffffffa6;padding:10px 12px}.staff-current-status>span{flex:0 0 auto;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#8b918b;box-shadow:0 0 0 1px #737973}.staff-current-status>span.available{background:#2f8a45;box-shadow:0 0 0 1px #247038}.staff-current-status>div{display:grid;gap:2px}.staff-current-status small{color:#6b746c;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.staff-current-status strong{font-size:.72rem}
.staff-location-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-6px 0 18px;border:1px solid #d9e5d7;border-radius:10px;background:#f4f8f2;padding:11px 14px;color:#405746}
.staff-location-note strong{font-size:.63rem}.staff-location-note span{font-size:.57rem;line-height:1.4;text-align:right}
@media(max-width:700px){.staff-welcome-card{align-items:stretch;flex-direction:column}.staff-welcome-actions{width:100%;min-width:0}.staff-welcome-actions .staff-primary-button{width:100%;min-height:64px;font-size:1rem}.staff-location-note{align-items:flex-start;flex-direction:column}.staff-location-note span{text-align:left}}

/* Mobile staff workspace usability */
@media(max-width:760px){
  .staff-portal-body{padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}
  .staff-login-card{min-height:100dvh;padding:28px 20px calc(28px + env(safe-area-inset-bottom))}
  .staff-login-brand{margin-bottom:36px}
  .staff-login-card h1{font-size:2.35rem;line-height:1.02}
  .staff-login-card select,.staff-login-card input,.staff-dialog input,.staff-dialog textarea,.staff-dialog select{min-height:48px;font-size:16px}
  .staff-app{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .staff-sidebar{height:calc(72px + env(safe-area-inset-bottom));padding:5px 6px max(5px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px #1114}
  .staff-sidebar nav{height:100%}
  .staff-sidebar nav button,.staff-sidebar nav a{min-height:58px;gap:3px;padding:5px 2px;border-radius:10px;font-size:.59rem;line-height:1.05;touch-action:manipulation}
  .staff-sidebar nav button span,.staff-sidebar nav a span{font-size:1.08rem;line-height:1}
  .staff-main{padding:0 14px 28px}
  .staff-topbar{min-height:128px;padding-top:14px;margin-bottom:18px;gap:10px}
  .staff-topbar-heading{align-items:flex-start}
  .staff-topbar h1{font-size:1.6rem}
  .staff-mobile-account-actions{display:flex}
  .staff-mobile-logout,.staff-mobile-pin{display:block;min-height:40px;padding:8px 9px}
  .staff-period-nav button{width:48px;min-height:44px;touch-action:manipulation}
  .staff-welcome-card{padding:20px;border-radius:17px}
  .staff-welcome-card h2{font-size:1.52rem;line-height:1.15}
  .staff-current-status{padding:11px 12px}
  .staff-current-status strong{font-size:.78rem}
  .staff-welcome-actions .staff-primary-button{min-height:58px;font-size:.95rem}
  .staff-location-note{gap:7px;margin:-5px 0 14px;padding:11px 12px}
  .staff-location-note strong{font-size:.68rem;line-height:1.35}.staff-location-note span{font-size:.65rem}
  .staff-metrics{gap:8px}.staff-metrics article{min-width:0;padding:14px;border-radius:14px}.staff-metrics small{font-size:.68rem;line-height:1.3}.staff-metrics strong{font-size:1.32rem}.staff-metrics span{font-size:.61rem;line-height:1.3}
  .staff-panel{padding:18px;border-radius:15px}
  .staff-panel-heading{margin-bottom:12px}.staff-panel-heading button{min-height:42px;padding:8px}
  .staff-section-heading{gap:14px;margin-bottom:18px}.staff-section-heading h2{font-size:1.72rem;line-height:1.05}.staff-section-heading p:last-child{font-size:.9rem;line-height:1.35}
  .staff-section-heading>.staff-primary-button{width:100%;min-height:48px}
  .staff-attendance-row{margin-top:10px;padding:14px 0;gap:9px}.staff-attendance-row:first-child{margin-top:0}.staff-attendance-times span{padding:7px 9px}.staff-attendance-row>button{min-height:42px;font-size:.72rem}
  .staff-correction-row{gap:9px;padding:16px 0}.staff-correction-row p{font-size:.76rem;line-height:1.45}.staff-correction-row>b{justify-self:end}
  .staff-table-wrap{overflow:visible;border:0;background:transparent;padding:0}
  .staff-table{display:block;min-width:0;border-collapse:separate}.staff-table thead{display:none}.staff-table tbody{display:grid;gap:12px}.staff-table tr{display:grid;gap:0;border:1px solid #dedfda;border-radius:15px;background:#fff;padding:7px 15px;box-shadow:0 1px 2px #20231f08}
  .staff-table td{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ecece8;padding:11px 0;text-align:right}.staff-table td:first-child{border-top:0}.staff-table td:before{content:attr(data-label);color:#858781;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase}.staff-table td strong{font-size:.82rem}.staff-table td:last-child{align-items:stretch;flex-direction:column;text-align:left}.staff-table td:last-child:before{margin-bottom:-4px}.staff-table-action{width:100%;min-height:42px;font-size:.71rem}.staff-table .staff-empty-cell{display:grid;min-height:130px;place-items:center;padding:24px!important;border:0!important;text-align:center!important;line-height:1.5}.staff-table .staff-empty-cell:before{display:none}
  .staff-history-row{align-items:flex-start;padding:16px 0}.staff-history-row>strong{font-size:.9rem;white-space:nowrap}
  .staff-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;overflow:auto;border-radius:20px 20px 0 0}.staff-dialog form{padding:22px 18px calc(18px + env(safe-area-inset-bottom));gap:16px}.staff-dialog-heading{position:sticky;top:-22px;z-index:2;margin:-22px -18px 0;padding:20px 18px 12px;background:#fff}.staff-dialog-heading button{width:42px;height:42px}.staff-dialog-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:0 -18px calc(-18px - env(safe-area-inset-bottom));padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e7e8e4}.staff-dialog-actions button{min-height:46px}.staff-dialog-actions .staff-primary-button{flex:1}
}

/* Mobile calendar comfort and touch targets */
@media(max-width:760px){
  .ops-body{padding-bottom:calc(76px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}
  .ops-sidebar{height:calc(72px + env(safe-area-inset-bottom));padding:5px 6px max(5px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px #10182024}
  .ops-nav a,.ops-nav .ops-mobile-more-trigger{display:grid;grid-template-rows:1fr;justify-items:center;align-items:center;min-height:58px;gap:0;padding:5px 2px;border:0;border-radius:11px;background:transparent;color:#202421;font-size:.59rem;font-weight:760;line-height:1.05;text-align:center;touch-action:manipulation}.ops-nav a.active{background:#eef0ed}.ops-nav-icon{display:grid!important;width:30px!important;height:30px;place-items:center}.ops-nav-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ops-nav-copy{display:none!important}.ops-nav-desktop-label,.ops-nav-mobile-label{display:none!important}.ops-nav-portal{display:none!important}.ops-mobile-more-trigger{display:grid!important;order:5}.ops-nav-calendar{order:1}.ops-nav-checkout{order:2}.ops-nav-customers{order:3}.ops-nav-messages{order:4}
  .ops-header{min-height:62px;padding:9px 12px}.ops-header h1{font-size:1.35rem}.ops-header-actions button,.ops-header-actions .ops-outline-button{min-height:40px;padding:7px 11px;font-size:.69rem;touch-action:manipulation}
  .ops-toolbar{gap:7px;padding:8px 9px;box-shadow:0 2px 9px #1018200d}.ops-date-controls{gap:4px}.ops-icon-button{width:40px;height:40px}.ops-date-controls .ops-date-title{min-height:40px;max-width:174px;font-size:.7rem}.ops-view-switcher button{min-height:36px;min-width:40px;padding:7px 6px;font-size:.63rem}
  .ops-mobile-date-popover{position:absolute;top:55px;left:9px;z-index:76;width:min(310px,calc(100vw - 18px));box-sizing:border-box;padding:13px;border:1px solid #d9ddda;border-radius:15px;background:#fff;box-shadow:0 16px 42px #11182030}.ops-mobile-date-popover header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:7px}.ops-mobile-date-popover header strong{text-align:center;font-size:.84rem}.ops-mobile-date-popover header button{width:40px;height:40px;padding:0;background:#f1f3f1;color:#252b26;font-size:1.25rem}.ops-mobile-date-popover .ops-mini-weekdays{margin-bottom:4px}.ops-mobile-date-popover .ops-mini-grid{gap:3px}.ops-mobile-date-popover .ops-mini-grid button{min-width:0;height:36px;font-size:.72rem;touch-action:manipulation}
  .ops-mobile-stylist-picker{min-height:44px;padding:6px 8px;font-size:.67rem}.ops-mobile-stylist-picker select{min-height:36px;padding:7px 9px;font-size:.76rem}
  .ops-day-scroll{overscroll-behavior:contain}.ops-staff-column{scroll-snap-stop:always}.ops-staff-heading{padding-inline:10px}.ops-event{touch-action:manipulation}
  .ops-dialog-panel,.ops-confirm-panel{overscroll-behavior:contain}.ops-dialog-panel button,.ops-confirm-panel button,.ops-block-form button{min-height:44px;touch-action:manipulation}
}

.ops-mobile-workspace-menu{display:none}
@media(max-width:760px){
  .ops-mobile-workspace-menu:not(.hidden){position:fixed;inset:0;z-index:120;display:block}.ops-mobile-workspace-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0!important;background:#10141166!important}.ops-mobile-workspace-menu>section{position:absolute;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));left:8px;overflow:hidden;border:1px solid #d9ddd9;border-radius:20px;background:#fff;box-shadow:0 22px 60px #11171145}.ops-mobile-workspace-menu header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px 13px;border-bottom:1px solid #e8ebe8}.ops-mobile-workspace-menu header small{display:block;color:#7a817b;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ops-mobile-workspace-menu header h2{margin:2px 0 0;font-size:1.35rem}.ops-mobile-workspace-menu header button{display:grid;width:40px;height:40px;place-items:center;padding:0;border-radius:50%;background:#eff1ef;color:#222;font-size:1.45rem}.ops-mobile-workspace-menu nav{display:grid;padding:5px 13px 12px}.ops-mobile-workspace-menu nav a,.ops-mobile-workspace-menu nav button{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:63px;padding:8px 5px;border:0;border-bottom:1px solid #eceeec;border-radius:0;background:#fff;color:#222;text-align:left;text-decoration:none}.ops-mobile-workspace-menu nav a:last-child,.ops-mobile-workspace-menu nav button:last-child{border-bottom:0}.ops-mobile-workspace-menu nav>*>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#f1f3f1;font-size:1.05rem}.ops-mobile-workspace-menu nav div{display:grid;gap:3px}.ops-mobile-workspace-menu nav strong{font-size:.82rem}.ops-mobile-workspace-menu nav small{overflow:hidden;color:#737a74;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.ops-mobile-workspace-menu nav b{color:#929893;font-size:1.3rem}
}

/* Owner content never renders before server-verified authorization. */
.owner-access-gate{display:none;min-height:100vh;box-sizing:border-box;place-items:center;padding:24px;background:#f4f3ee}
.ops-access-gate{display:none;min-height:100vh;box-sizing:border-box;place-items:center;padding:24px;background:#f4f3ee}
.ops-auth-pending .ops-access-gate{display:grid}
.ops-auth-pending .ops-shell{display:none}
.owner-auth-pending .owner-access-gate,.owner-auth-denied .owner-access-gate{display:grid}
.owner-auth-pending .owner-shell,.owner-auth-denied .owner-shell{display:none}
.owner-access-gate-card{width:min(520px,100%);box-sizing:border-box;border:1px solid #deded7;border-radius:22px;background:#fff;padding:42px;text-align:center;box-shadow:0 24px 70px #2a2a240f}
.owner-access-gate-card>.fbs-system-logo{width:112px;margin:0 auto 22px}
.owner-access-gate-card>span{display:grid;width:54px;height:54px;margin:0 auto 22px;place-items:center;border-radius:50%;background:#1f211f;color:#fff;font:28px Georgia,serif}
.owner-access-gate-card.denied>span{background:#9a493d;font:800 24px Inter,ui-sans-serif,sans-serif}
.owner-access-gate-card h1{margin:7px 0 12px;font-size:clamp(1.8rem,5vw,2.7rem);letter-spacing:-.045em}
.owner-access-gate-card>p:last-of-type{margin:0 auto;color:#6e716c;line-height:1.6}
.owner-access-gate-card>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.owner-access-gate-card a{border:1px solid #d7dad5;border-radius:10px;background:#fff;padding:12px 16px;color:#303330;font-size:.78rem;font-weight:800;text-decoration:none}
.owner-access-gate-card a:first-child{border-color:#242724;background:#242724;color:#fff}

/* Cleaner appointment editor */
.ops-visit-editor{gap:18px}.ops-editor-guidance{border:1px solid #dce6da;border-radius:12px;background:#f5f9f4;padding:15px}.ops-editor-guidance strong{font-size:.76rem}.ops-editor-guidance p{margin:5px 0 0;color:#667066;font-size:.67rem;line-height:1.5}
.ops-editor-section{display:grid;gap:12px;padding-top:20px;border-top:1px solid #e5e8e3}.ops-editor-section:first-of-type{padding-top:0;border-top:0}
.ops-visit-edit-card{margin-bottom:10px;border:1px solid #dfe3dd;border-radius:12px;background:#fff;padding:16px}.ops-edit-card-heading>div{display:grid;gap:2px}.ops-edit-card-heading span{color:#828882;font-size:.55rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ops-edit-card-heading strong{font-size:.87rem}
.ops-edit-service-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 92px}.ops-visit-editor input,.ops-visit-editor select{min-height:42px;box-sizing:border-box;border-color:#d5dad3;border-radius:9px}
.ops-contributor-editor{margin-top:14px;padding-top:0;border:1px solid #e2e5e0;border-radius:10px;background:#f8f9f7}.ops-contributor-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none}.ops-contributor-editor>summary::-webkit-details-marker{display:none}.ops-contributor-editor>summary span{display:grid;gap:3px}.ops-contributor-editor>summary strong{font-size:.68rem}.ops-contributor-editor>summary small{color:#747b74;font-size:.57rem}.ops-contributor-editor>summary b{color:#3f6048;font-size:.61rem}
.ops-contributor-editor-body{padding:0 12px 12px;border-top:1px solid #e0e3de}.ops-contributor-heading{margin-top:12px}.ops-editor-summary{border:1px solid #d8e1d5;border-radius:11px;background:#f0f6ee;padding:15px}.ops-editor-summary strong{font-size:1.08rem}.ops-editor-footer-actions{margin-top:4px}
@media(max-width:700px){.ops-dialog-panel{width:100vw}.ops-dialog-topbar{min-height:64px;padding:11px 14px}.ops-dialog-body{padding:22px 18px 38px}.ops-dialog-panel h2{font-size:1.45rem}.ops-compact-details{grid-template-columns:1fr}.ops-appointment-primary-actions{grid-template-columns:1fr 1fr}.ops-edit-service-grid{grid-template-columns:1fr}.ops-contributor-row{grid-template-columns:1fr 1fr}.ops-compact-datetime-grid{grid-template-columns:1fr}.ops-compact-time-picker{grid-template-columns:68px 8px 68px minmax(78px,1fr)}.ops-header-edit-button,.ops-header-save-button,.ops-header-cancel-button{padding-inline:13px}}
@media(max-width:700px){.ops-event-dialog-heading{padding:22px 18px 18px}.ops-block-form{padding:22px 18px 30px}.ops-event-availability{align-items:flex-start}.ops-form-row{grid-template-columns:1fr}}
.customers-payment-method{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px;border:1px solid #dedfdc;border-radius:10px;background:#fafaf9}.customers-payment-method strong{font-size:.74rem}.customers-payment-method p{margin:4px 0 0;color:var(--ops-muted);font-size:.66rem}.customers-payment-method button{flex:0 0 auto;padding:9px 12px;border:1px solid #a23c32!important;background:#fff!important;color:#8b2f28!important;font-size:.67rem!important}
@media(max-width:700px){.customers-payment-method{align-items:stretch;flex-direction:column}.customers-payment-method button{width:100%}}

.ops-mobile-requests { display: none; }
@media(max-width:760px){
  .ops-mobile-requests{display:block;position:relative;grid-column:1/-1;min-width:0}
  .ops-mobile-requests>summary{display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:48px;padding:10px 12px;border:1px solid #d8dcde;border-radius:10px;background:#fff;color:#303438;font-size:1rem;font-weight:800;list-style:none;cursor:pointer}
  .ops-mobile-requests>summary::-webkit-details-marker{display:none}
  .ops-mobile-requests>summary>span:first-child{flex:1;min-width:0}
  .ops-mobile-requests.has-requests>summary{border-color:#a6c9b4;background:#edf6ef;color:#254d38}
  .ops-mobile-requests .ops-count{font-size:.875rem;background:#315f48;flex-shrink:0}
  .ops-mobile-requests[open] .ops-request-disclosure{transform:rotate(180deg)}
  .ops-mobile-requests>summary:focus-visible{outline:3px solid #7aab8a;outline-offset:2px}
  .ops-mobile-requests .ops-sidebar-requests{display:block!important;position:absolute;z-index:61;top:calc(100% + 6px);left:0;right:0;min-height:0;max-height:min(55dvh,480px);overflow:auto;overscroll-behavior:contain;padding:12px 14px;border:1px solid #d8dcde;border-radius:12px;background:white;box-shadow:0 14px 35px #18202829}
  .ops-mobile-requests .ops-panel-heading{display:none}
  .ops-mobile-requests .ops-panel-help{margin:0 0 10px;font-size:.875rem}
  .ops-mobile-requests .ops-request-list{min-height:0;padding:0;overflow:visible}
  .ops-mobile-requests .ops-request-top>div{min-width:0;overflow-wrap:anywhere}
  .ops-mobile-requests .ops-request-top strong{font-size:1rem}
  .ops-mobile-requests .ops-request-card p,.ops-mobile-requests .ops-request-top time,.ops-mobile-requests .ops-request-meta{font-size:.875rem;white-space:normal}
  .ops-mobile-requests .ops-request-actions button{min-height:44px;font-size:.875rem}
  .ops-mobile-requests .ops-empty{padding:18px 8px}
}
/* Mobile calendar overview and device-specific display controls */
@media(max-width:760px){
  .ops-toolbar{overflow:visible}
  .ops-mobile-calendar-options{position:relative;display:block;grid-column:1/-1}
  .ops-mobile-calendar-options>summary{display:flex;min-height:44px;padding:9px 11px;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8dcde;border-radius:10px;background:#f5f6f6;color:#303438;font-size:.72rem;font-weight:850;list-style:none;cursor:pointer}
  .ops-mobile-calendar-options>summary::-webkit-details-marker{display:none}.ops-mobile-calendar-options>summary:before{content:"▦";font-size:1rem}.ops-mobile-calendar-options>summary span{margin-right:auto}.ops-mobile-calendar-options>summary b{color:#667078;font-size:.64rem}
  .ops-mobile-calendar-menu{position:absolute;z-index:60;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:min(70dvh,540px);padding:13px;overflow:auto;border:1px solid #d7dbdd;border-radius:13px;background:#fff;box-shadow:0 18px 45px #18202836;gap:12px}
  .ops-mobile-calendar-menu-heading{display:flex;align-items:center;justify-content:space-between}.ops-mobile-calendar-menu-heading>strong{font-size:.88rem}.ops-mobile-calendar-menu-heading button{min-height:34px;padding:6px 12px;font-size:.68rem}
  .ops-mobile-calendar-toggle,.ops-mobile-calendar-density{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:10px;background:#f4f7f5}.ops-mobile-calendar-toggle span,.ops-mobile-calendar-density span{display:grid;gap:2px}.ops-mobile-calendar-toggle strong,.ops-mobile-calendar-density strong{font-size:.72rem}.ops-mobile-calendar-toggle small,.ops-mobile-calendar-density small{color:#70777c;font-size:.61rem;line-height:1.3}.ops-mobile-calendar-toggle input{width:22px;height:22px;accent-color:#315f48}.ops-mobile-calendar-density select{min-height:38px;padding:6px 8px;border:1px solid #cfd5d2;border-radius:8px;background:#fff;font-size:.68rem;font-weight:750}
  .ops-mobile-calendar-menu fieldset{display:grid;margin:0;padding:10px;border:1px solid #e0e3e4;border-radius:10px;gap:7px}.ops-mobile-calendar-menu legend{padding:0 5px;font-size:.68rem;font-weight:850}.ops-mobile-calendar-menu fieldset>button{justify-self:end;color:#315f48!important}#mobile-calendar-staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#mobile-calendar-staff-list label{display:flex;min-width:0;min-height:40px;padding:7px 8px;align-items:center;gap:7px;border-radius:8px;background:#f5f6f6;font-size:.68rem;font-weight:750}#mobile-calendar-staff-list input{width:18px;height:18px;flex:0 0 auto;accent-color:#315f48}#mobile-calendar-staff-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ops-day-scroll{scroll-snap-type:none;scroll-padding-inline:50px 8px}.ops-day-grid{--calendar-heading-height:54px;grid-template-columns:50px repeat(var(--staff-count),var(--mobile-overview-width));min-width:calc(50px + var(--staff-count)*66px + 8px);padding-right:8px}.ops-day-grid.mobile-comfortable{grid-template-columns:50px repeat(var(--staff-count),46vw);min-width:calc(50px + var(--staff-count)*46vw + 8px)}.ops-gutter-heading,.ops-staff-heading{height:54px}.ops-staff-heading{justify-content:center;padding:5px 3px;gap:2px}
  .ops-day-grid.mobile-overview .ops-staff-heading .ops-avatar-photo,.ops-day-grid.mobile-overview .ops-staff-heading .ops-avatar,.ops-day-grid.mobile-overview .ops-staff-heading>div{display:none}.ops-day-grid.mobile-overview .ops-staff-short{display:block;overflow:hidden;color:#363c40;font-size:.67rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.ops-day-grid.mobile-comfortable .ops-staff-short{display:none}.ops-day-grid.mobile-comfortable .ops-avatar-photo{width:36px;height:36px}.ops-day-grid.mobile-comfortable .ops-staff-heading strong{font-size:.72rem}.ops-day-grid.mobile-comfortable .ops-staff-heading small{font-size:.57rem}
  .ops-event{box-sizing:border-box;padding:4px;border:1px solid #17242a40;border-left-width:3px;border-radius:6px;box-shadow:0 1px 2px #12181c24,inset 0 0 0 1px #ffffff42}.ops-event strong{margin-top:3px;font-size:.7rem}.ops-event-time{font-size:.61rem}.ops-day-grid.mobile-overview .ops-event{min-width:40px;padding:3px;border-left-width:2px}.ops-day-grid.mobile-overview .ops-event strong{font-size:.62rem;line-height:1.08;white-space:normal}.ops-day-grid.mobile-overview .ops-event-time{font-size:.56rem}.ops-day-grid.mobile-overview .ops-event-service,.ops-day-grid.mobile-overview .ops-event>em,.ops-day-grid.mobile-overview .ops-event-checkout{display:none}.ops-event.canceled{background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,#9ca3a91f 6px,#9ca3a91f 10px);border-style:dashed;opacity:.68}
}
.owner-transition-ledger-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 16px 14px;
  padding: 12px 14px;
  border: 1px solid #dfe6df;
  border-radius: 10px;
  background: #fbfcfa;
}

.owner-transition-filter {
  display: grid;
  gap: 5px;
  color: #636a63;
  font-size: 0.57rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.owner-transition-filter select {
  min-width: 190px;
  border: 1px solid #cfd4ce;
  border-radius: 9px;
  background: #fff;
  padding: 9px 34px 9px 11px;
  color: #2d322d;
  font: inherit;
  font-size: 0.68rem;
  text-transform: none;
}

.owner-transition-bulk-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.owner-transition-select-all {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #4d554e;
  font-size: 0.64rem;
  font-weight: 750;
}

.owner-transition-selected-count {
  color: #6c736d;
  font-size: 0.61rem;
  font-weight: 750;
}

.owner-transition-bulk-actions button {
  border: 0;
  border-radius: 8px;
  background: #202321;
  padding: 9px 12px;
  color: #fff;
  font: inherit;
  font-size: 0.6rem;
  font-weight: 800;
  cursor: pointer;
}

.owner-transition-bulk-actions button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.owner-transition-ledger-safety {
  flex-basis: 100%;
  margin: 0;
  color: #6b726c;
  font-size: 0.58rem;
}

@media (max-width: 700px) {
  .owner-transition-ledger-tools {
    align-items: stretch;
  }

  .owner-transition-filter,
  .owner-transition-filter select {
    width: 100%;
  }

  .owner-transition-bulk-actions {
    width: 100%;
  }

  .owner-transition-bulk-actions button {
    margin-left: auto;
  }
}

/* Posted Square transaction compensation breakdown */
.owner-transition-compensation-breakdown{display:grid;gap:10px;margin-top:7px;border-top:1px solid #cfe0d2;padding-top:13px}.owner-transition-compensation-breakdown h4{margin:0;font-size:.72rem}.owner-transition-compensation-table{overflow:hidden;border:1px solid #d8e5da;border-radius:9px;background:#fff}.owner-transition-compensation-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(82px,1fr));align-items:center;border-top:1px solid #e6ece7}.owner-transition-compensation-row:first-child{border-top:0}.owner-transition-compensation-row>*{box-sizing:border-box;min-width:0;padding:9px 8px;text-align:right;font-size:.6rem}.owner-transition-compensation-row>*:first-child{text-align:left}.owner-transition-compensation-row>strong{display:grid;gap:2px}.owner-transition-compensation-row>strong small{color:#7e887f;font-size:.47rem}.owner-transition-compensation-row.head{background:#edf4ee;color:#66746a}.owner-transition-compensation-row.head span{font-size:.48rem;font-weight:850;text-transform:uppercase}.owner-transition-compensation-row:not(.head) .tip{background:#f1f8f2;color:#315b3d;font-weight:850}.owner-transition-compensation-row:not(.head)>b{color:#244f39;font-size:.68rem}.owner-transition-service-credits{display:grid;border-radius:8px;background:#fff;padding:4px 10px}.owner-transition-service-credits p{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;border-top:1px solid #e8ece8;padding:8px 0}.owner-transition-service-credits p:first-child{border-top:0}.owner-transition-service-credits span{display:grid;gap:2px}.owner-transition-service-credits strong{font-size:.59rem}.owner-transition-service-credits small{color:#788279;font-size:.49rem}.owner-transition-service-credits b{font-size:.59rem;white-space:nowrap}.owner-transition-compensation-note,.owner-transition-compensation-empty p{margin:0;color:#637067;font-size:.53rem;line-height:1.5}.owner-transition-compensation-empty{display:grid;gap:4px;margin-top:7px;border-radius:8px;background:#fff;padding:10px}.owner-transition-compensation-empty strong{font-size:.59rem}
.owner-transition-retail-corrections{display:grid;gap:10px;margin-top:7px;border-top:1px solid #cfe0d2;padding-top:13px}.owner-transition-retail-corrections>div h4,.owner-transition-retail-corrections>div p,.owner-transition-retail-corrections>p{margin:0}.owner-transition-retail-corrections>div h4{font-size:.72rem}.owner-transition-retail-corrections>div p,.owner-transition-retail-corrections>p{color:#637067;font-size:.53rem;line-height:1.5}.owner-transition-retail-corrections form{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(130px,.8fr) minmax(170px,1fr) auto;align-items:end;gap:9px;border:1px solid #d8e5da;border-radius:9px;background:#fff;padding:10px}.owner-transition-retail-corrections form>span{display:grid;gap:3px;align-self:center}.owner-transition-retail-corrections form>span strong{font-size:.61rem}.owner-transition-retail-corrections form>span small,.owner-transition-retail-correction-history{color:#748078;font-size:.49rem}.owner-transition-retail-corrections label{display:grid;gap:4px;color:#66746a;font-size:.48rem;font-weight:800}.owner-transition-retail-corrections select,.owner-transition-retail-corrections input{box-sizing:border-box;width:100%;border:1px solid #cfd8d1;border-radius:7px;background:#fff;padding:8px;font:inherit;color:#27312b}.owner-transition-retail-correction-history{grid-column:1/-1}

@media(max-width:700px){.owner-transition-compensation-row.head{display:none}.owner-transition-compensation-row{grid-template-columns:1fr 1fr;padding:7px}.owner-transition-compensation-row>*{display:flex;justify-content:space-between;gap:8px;padding:5px 3px}.owner-transition-compensation-row>*:first-child{grid-column:1/-1;border-bottom:1px solid #edf0ed;padding-bottom:8px;font-size:.65rem}.owner-transition-compensation-row [data-label]:before{content:attr(data-label);color:#748078;font-size:.49rem;font-weight:700}.owner-transition-compensation-row:not(.head) .tip{border-radius:5px;padding-right:6px}.owner-transition-service-credits p{align-items:flex-start}.owner-transition-service-credits b{text-align:right}.owner-transition-retail-corrections form{grid-template-columns:1fr}.owner-transition-retail-correction-history{grid-column:auto}}

/* Private stylist transaction breakdown */
.staff-transaction-note{margin-bottom:14px;border:1px solid #dce6dc;border-radius:14px;background:#f4f8f3;padding:14px 16px}.staff-transaction-note strong{font-size:.73rem}.staff-transaction-note p{margin:4px 0 0;color:#667066;font-size:.67rem;line-height:1.5}.staff-transaction-list{display:grid;gap:10px}.staff-transaction-card{overflow:hidden;border:1px solid #dedfda;border-radius:14px;background:#fff;box-shadow:0 1px 2px #20231f08}.staff-transaction-card>summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) minmax(90px,.3fr) 18px;align-items:center;gap:14px;padding:15px 16px;cursor:pointer;list-style:none}.staff-transaction-card>summary::-webkit-details-marker{display:none}.staff-transaction-card>summary span{display:grid;min-width:0;gap:3px}.staff-transaction-card>summary span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-transaction-card>summary small{color:#777d77;font-size:.58rem;line-height:1.4}.staff-transaction-card>summary b{text-align:right;color:#28533a;font-size:.87rem}.staff-transaction-card>summary i{color:#788078;font-style:normal;transition:transform .2s}.staff-transaction-card[open]>summary i{transform:rotate(180deg)}.staff-transaction-detail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border-top:1px solid #e6e9e5;background:#e6e9e5}.staff-transaction-detail>div{display:grid;align-content:start;gap:5px;min-width:0;background:#fafbf9;padding:13px}.staff-transaction-detail small{color:#757c76;font-size:.55rem;line-height:1.35}.staff-transaction-detail strong{font-size:.78rem}.staff-transaction-detail .tip{background:#f1f7f1}.staff-transaction-detail .total{background:#eaf3eb;color:#28533a}.staff-transaction-footnote{margin:0;border-top:1px solid #e5e8e4;padding:10px 13px;color:#747b75;font-size:.58rem;line-height:1.45}
@media(max-width:700px){.staff-transaction-card>summary{grid-template-columns:minmax(0,1fr) auto 15px;gap:9px;padding:14px}.staff-transaction-card>summary span:nth-child(2){display:none}.staff-transaction-card>summary b{font-size:.82rem}.staff-transaction-detail{grid-template-columns:1fr 1fr}.staff-transaction-detail>div{padding:11px}.staff-transaction-detail .total{grid-column:1/-1}.staff-transaction-note{padding:13px 14px}}

@media(max-width:760px){.ops-nav-menu{display:contents}.ops-nav-menu>summary{display:none}.ops-nav-menu:not([open])>.ops-nav{display:grid!important}.ops-nav-menu>.ops-nav{border:0;padding:0}}

/* Owner invoice control */
.owner-invoice-list{display:grid;gap:10px}.owner-invoice-card{overflow:hidden;border:1px solid #dfe3df;border-radius:13px;background:#fff}.owner-invoice-card summary{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(105px,.75fr) 105px minmax(90px,.65fr) 22px;align-items:center;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}.owner-invoice-card summary::-webkit-details-marker{display:none}.owner-invoice-card[open] summary{border-bottom:1px solid #e1e5e1;background:#f8faf7}.owner-invoice-card summary>span{display:grid;gap:3px}.owner-invoice-card summary>span strong{font-size:.72rem}.owner-invoice-card summary small{color:#7b827c;font-size:.54rem}.owner-invoice-card summary>span:nth-child(4){text-align:right}.owner-invoice-card summary>i{color:#7d837e;font-style:normal}.owner-invoice-card[open] summary>i{transform:rotate(180deg)}.owner-invoice-detail{display:grid;grid-template-columns:1fr 1fr minmax(180px,.62fr)}.owner-invoice-detail>section{min-width:0;padding:18px;border-right:1px solid #e6e8e5}.owner-invoice-detail>section:last-child{border-right:0;background:#fafbf9}.owner-invoice-detail h3{margin:0 0 11px;font-size:.72rem}.owner-invoice-detail h3:not(:first-child){margin-top:17px}.owner-invoice-detail dl{margin:0}.owner-invoice-detail dl div,.owner-invoice-detail li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eceeeb;padding:8px 0;font-size:.59rem}.owner-invoice-detail dl div:first-child,.owner-invoice-detail li:first-child{border-top:0}.owner-invoice-detail dt{color:#717871}.owner-invoice-detail dd{margin:0;text-align:right;font-weight:800}.owner-invoice-detail ul{display:grid;margin:0;padding:0;list-style:none}.owner-invoice-detail li>span{display:grid;gap:3px}.owner-invoice-detail li small{color:#858b86;font-size:.5rem}.owner-invoice-detail li>b{align-self:center;text-align:right;font-size:.55rem}.owner-invoice-actions{display:flex!important;flex-direction:column;align-items:stretch;gap:9px}.owner-invoice-actions p{margin:0 0 5px;color:#727a73;font-size:.55rem;line-height:1.5}.owner-invoice-actions button{width:100%}.owner-invoice-tools{align-items:end}.owner-invoice-tools .owner-filter-group{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.owner-invoice-card summary{grid-template-columns:minmax(170px,1fr) 100px 95px 95px 18px}.owner-invoice-detail{grid-template-columns:1fr 1fr}.owner-invoice-actions{grid-column:1/-1;border-top:1px solid #e6e8e5}}
@media(max-width:700px){.owner-invoice-card summary{grid-template-columns:1fr auto}.owner-invoice-card summary>span:nth-child(2),.owner-invoice-card summary>span:nth-child(4),.owner-invoice-card summary>i{display:none}.owner-invoice-card summary>.owner-status-pill{grid-column:2}.owner-invoice-detail{display:block}.owner-invoice-detail>section{border-right:0;border-bottom:1px solid #e6e8e5}.owner-invoice-tools{align-items:stretch}.owner-invoice-tools .owner-filter-group{justify-content:flex-start}}

/* Branded public invoice and hosted-payment guidance */
.invoice-public-shell>header{display:flex;justify-content:center;margin-bottom:22px;padding:22px;border:1px solid #e3e0d9;border-radius:18px;background:#fff;color:#242623}.invoice-public-shell>header>img{display:block;width:210px;height:auto;max-width:70%;object-fit:contain}
.invoice-public-success{text-align:center}.invoice-public-success small{color:#477157;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.invoice-public-success h1{margin:9px 0 8px}.invoice-public-success p{margin:0 auto 22px;max-width:420px;color:#616860;line-height:1.55}.invoice-public-success a{display:inline-block;padding:12px 20px;border-radius:10px;background:#252724;color:#fff;text-decoration:none;font-weight:750}
.invoice-admin-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 16px;border:1px solid #d6c37e;border-radius:12px;background:#fff7d9;color:#5f5228}.invoice-admin-preview strong{font-size:.78rem}.invoice-admin-preview span{font-size:.68rem;line-height:1.45;text-align:right}.invoice-admin-preview.hidden{display:none}.invoice-public-payment button:disabled{cursor:not-allowed}
@media(max-width:560px){.invoice-public-shell>header{padding:18px}.invoice-public-shell>header>img{width:170px;max-width:78%}}
.owner-invoice-connection{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:15px 18px;border:1px solid #e4c97b;border-radius:13px;background:#fff8df}.owner-invoice-connection>div{display:grid;gap:4px}.owner-invoice-connection strong{font-size:.68rem}.owner-invoice-connection span{color:#6f6758;font-size:.57rem;line-height:1.45}.owner-invoice-connection.connected{border-color:#bcd8c4;background:#eff8f1}.owner-invoice-connection.connected span{color:#496653}@media(max-width:700px){.owner-invoice-connection{align-items:stretch;flex-direction:column}.owner-invoice-connection button{width:100%}}

/* Owner stylist activity */
.owner-stylist-activity-heading{align-items:flex-end;gap:20px}.owner-stylist-activity-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;flex-wrap:wrap}.owner-stylist-activity-controls label{display:grid;gap:5px;color:#737a74;font-size:.52rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.owner-stylist-activity-controls select,.owner-stylist-activity-controls input,.owner-stylist-activity-controls>button{box-sizing:border-box;height:38px;border:1px solid #d5d9d4;border-radius:9px;background:#fff;padding:0 11px;color:#262a27;font:inherit}.owner-stylist-activity-controls select{min-width:180px}.owner-stylist-activity-controls>button{min-width:38px;padding:0;font-size:1.1rem;cursor:pointer}.owner-stylist-activity-controls .owner-filter-group{display:flex;border:1px solid #d5d9d4;border-radius:9px;background:#f2f3f1;padding:3px}.owner-stylist-activity-controls .owner-filter-group button{border:0;border-radius:6px;background:transparent;padding:7px 11px;color:#626963;font:inherit;font-size:.61rem;font-weight:750;cursor:pointer}.owner-stylist-activity-controls .owner-filter-group button.selected,.owner-stylist-activity-controls .owner-filter-group button.active{background:#fff;color:#222724;box-shadow:0 1px 3px #20231f18}.owner-stylist-activity-panel{overflow:visible}.owner-stylist-activity-list{display:grid;gap:12px;padding:16px}.owner-stylist-activity-row{overflow:hidden;border:1px solid #dde2dd;border-radius:13px;background:#fff;box-shadow:0 1px 2px #20231f08}.owner-stylist-activity-row>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid #e6e9e5;background:#fafbf9}.owner-stylist-activity-row>header>div{display:grid;gap:4px}.owner-stylist-activity-row>header strong{font-size:.75rem}.owner-stylist-activity-row>header span,.owner-stylist-activity-row>header small{color:#767d77;font-size:.55rem}.owner-stylist-activity-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:15px 17px}.owner-stylist-activity-items h3{margin:0 0 7px;color:#687069;font-size:.53rem;letter-spacing:.08em;text-transform:uppercase}.owner-stylist-activity-items ul{display:grid;margin:0;padding:0;list-style:none}.owner-stylist-activity-items li{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-top:1px solid #eceeeb;padding:9px 0}.owner-stylist-activity-items li:first-child{border-top:0}.owner-stylist-activity-items li span{display:grid;gap:3px}.owner-stylist-activity-items li strong{font-size:.63rem}.owner-stylist-activity-items li small,.owner-stylist-activity-items>p{margin:0;color:#798079;font-size:.52rem;line-height:1.45}.owner-stylist-activity-items li b{font-size:.58rem;white-space:nowrap}.owner-stylist-activity-amounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border-top:1px solid #e4e8e4;background:#e4e8e4}.owner-stylist-activity-amounts span{display:grid;gap:5px;background:#f9faf8;padding:12px 14px}.owner-stylist-activity-amounts small{color:#737b74;font-size:.5rem}.owner-stylist-activity-amounts strong{font-size:.72rem}.owner-stylist-activity-amounts .tip{background:#f1f7f1}.owner-stylist-activity-amounts .total{background:#e8f2e9;color:#28533a}.owner-stylist-activity-note{margin:0;border-top:1px solid #e3e7e3;padding:10px 17px;color:#6d756e;font-size:.54rem;line-height:1.45}
@media(max-width:820px){.owner-stylist-activity-heading{align-items:stretch;flex-direction:column}.owner-stylist-activity-controls{justify-content:flex-start}.owner-stylist-activity-items{grid-template-columns:1fr}.owner-stylist-activity-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-stylist-activity-amounts .total{grid-column:1/-1}}
@media(max-width:560px){.owner-stylist-activity-controls label:first-child{width:100%}.owner-stylist-activity-controls select{width:100%}.owner-stylist-activity-row>header{display:grid}.owner-stylist-activity-items{padding:13px}.owner-stylist-activity-amounts span{padding:10px}.owner-stylist-activity-metrics{grid-template-columns:1fr 1fr}}

/* Compact owner stylist activity table */
.owner-stylist-activity-list{gap:0;padding:0}.owner-stylist-activity-table-head,.owner-stylist-activity-row{display:grid;grid-template-columns:105px minmax(240px,1fr) repeat(5,minmax(82px,.48fr));align-items:center}.owner-stylist-activity-table-head{border-bottom:1px solid #dfe3df;background:#f4f6f3;padding:9px 14px;color:#737b74}.owner-stylist-activity-table-head span{padding:0 8px;font-size:.48rem;font-weight:850;letter-spacing:.04em;text-align:right;text-transform:uppercase}.owner-stylist-activity-table-head span:first-child,.owner-stylist-activity-table-head span:nth-child(2){text-align:left}.owner-stylist-activity-row{border:0;border-bottom:1px solid #e5e8e4;border-radius:0;box-shadow:none;padding:0 14px;min-height:52px}.owner-stylist-activity-row:last-child{border-bottom:0}.owner-stylist-activity-row:hover{background:#fafbf9}.owner-stylist-activity-row>span{display:grid;min-width:0;gap:2px;padding:10px 8px;text-align:right}.owner-stylist-activity-row>span:first-child,.owner-stylist-activity-row>span:nth-child(2){text-align:left}.owner-stylist-activity-row>span strong{font-size:.61rem;line-height:1.35}.owner-stylist-activity-row>span small{overflow:hidden;color:#7a817b;font-size:.49rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.owner-stylist-activity-description strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-stylist-activity-row .tip{background:#f5f9f5}.owner-stylist-activity-row .total{color:#28533a}.owner-stylist-activity-row .total strong{font-size:.67rem}
@media(max-width:1000px){.owner-stylist-activity-table-head,.owner-stylist-activity-row{grid-template-columns:90px minmax(190px,1fr) repeat(5,minmax(72px,.45fr))}.owner-stylist-activity-table-head,.owner-stylist-activity-row{padding-left:9px;padding-right:9px}.owner-stylist-activity-row>span,.owner-stylist-activity-table-head span{padding-left:5px;padding-right:5px}}
@media(max-width:760px){.owner-stylist-activity-table-head{display:none}.owner-stylist-activity-row{grid-template-columns:92px 1fr repeat(3,minmax(70px,.42fr));padding:6px 9px}.owner-stylist-activity-row>span{padding:5px}.owner-stylist-activity-row>span[data-label="Production"],.owner-stylist-activity-row>span[data-label="Service commission"]{display:none}.owner-stylist-activity-row>span[data-label]:before{content:attr(data-label);color:#7a817b;font-size:.43rem;font-weight:750}.owner-stylist-activity-description strong{white-space:normal}.owner-stylist-activity-row .tip{border-radius:6px}}
@media(max-width:540px){.owner-stylist-activity-row{grid-template-columns:78px 1fr repeat(2,minmax(65px,.45fr))}.owner-stylist-activity-row>span[data-label="Retail commission"]{display:none}.owner-stylist-activity-row>span strong{font-size:.57rem}.owner-stylist-activity-row .total strong{font-size:.62rem}}
.salon-use-body {
  --su-ink: #1d201c;
  --su-muted: #73786f;
  --su-line: #dfe3dc;
  --su-sage: #eaf4e9;
  --su-green: #245f3d;
  margin: 0;
  min-height: 100vh;
  background: #f5f5f1;
  color: var(--su-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Purchase orders and mobile receiving */
.owner-purchase-order-panel { overflow: hidden; margin-bottom: 16px; }
.owner-purchase-order-metrics { margin: 0; }
.owner-purchase-order-metric-action { display:flex; align-items:center; justify-content:space-between; gap:13px; min-width:0; padding:17px; border:1px solid #cddace; border-radius:12px; background:#f8fbf7; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.owner-purchase-order-metric-action:hover, .owner-purchase-order-metric-action.active { border-color:#6f9477; background:#edf5ed; transform:translateY(-1px); }
.owner-purchase-order-metric-action:focus-visible { outline:3px solid rgba(70,108,79,.2); outline-offset:2px; }
.owner-purchase-order-metric-action > div { display:grid; min-width:0; gap:3px; }
.owner-purchase-order-metric-action > div > span { overflow:hidden; color:#55705a; font-size:.57rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.owner-purchase-order-metric-action > b { color:#41674b; font-size:1.35rem; }
.owner-purchase-order-builder { padding: 18px 20px; border-top: 1px solid #e5e8e4; background: #fafbf9; }
.owner-purchase-order-builder > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.owner-purchase-order-builder > summary::-webkit-details-marker { display: none; }
.owner-purchase-order-builder > summary strong { font-size: .76rem; }
.owner-purchase-order-builder > summary span { color: #4b6952; font-size: .62rem; font-weight: 850; }
.owner-purchase-order-form { display: grid; gap: 14px; padding-top: 18px; }
.owner-purchase-order-fields { display: grid; grid-template-columns: 1.1fr .8fr 1fr; gap: 12px; }
.owner-purchase-order-fields label, .owner-purchase-order-note { display: grid; gap: 5px; color: #747a77; font-size: .55rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.owner-purchase-order-fields input, .owner-purchase-order-fields select, .owner-purchase-order-note textarea { min-width: 0; min-height: 41px; padding: 9px 11px; border: 1px solid #d4d9d3; border-radius: 9px; background: white; color: #292e2a; font: inherit; font-size: .68rem; letter-spacing: 0; text-transform: none; }
.owner-purchase-order-products { display: grid; max-height: 380px; overflow: auto; border: 1px solid #dfe3de; border-radius: 10px; background: white; }
.owner-purchase-order-product { display: grid; grid-template-columns: 22px minmax(200px, 1.4fr) 100px 90px 95px; align-items: center; gap: 10px; min-height: 58px; padding: 9px 12px; border-bottom: 1px solid #eceeeb; }
.owner-purchase-order-product:last-child { border-bottom: 0; }
.owner-purchase-order-product > span { display: grid; min-width: 0; gap: 2px; }
.owner-purchase-order-product strong { overflow: hidden; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-purchase-order-product small { overflow: hidden; color: #7e8480; font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-purchase-order-product > b { font-size: .65rem; font-variant-numeric: tabular-nums; }
.owner-purchase-order-product > b.low { color: #9b4a32; }
.owner-purchase-order-product input[type="number"] { width: 78px; min-height: 36px; padding: 6px 8px; border: 1px solid #d4d9d3; border-radius: 8px; }
.owner-purchase-order-list-filter { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 20px; border-top:1px solid #dce6dc; background:#f1f7f1; color:#34543d; }
.owner-purchase-order-list-filter strong { font-size:.63rem; }
.owner-purchase-order-list-filter button { border:1px solid #b9cbbd; border-radius:999px; background:#fff; padding:7px 11px; color:#3f6248; font:inherit; font-size:.57rem; font-weight:850; cursor:pointer; }
.owner-purchase-order-list-filter button:hover { border-color:#6f9477; background:#f8fbf7; }
.owner-purchase-order-list-filter button:focus-visible { outline:3px solid rgba(70,108,79,.2); outline-offset:2px; }
.owner-purchase-order-list { display: grid; border-top: 1px solid #e5e8e4; }
.owner-purchase-order-card { display: grid; gap: 10px; padding: 15px 20px; border-bottom: 1px solid #e8ebe7; }
.owner-purchase-order-card:last-child { border-bottom: 0; }
.owner-purchase-order-card-head { display: grid; grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(90px, auto)); align-items: center; gap: 16px; }
.owner-purchase-order-card-head > div { display: grid; gap: 2px; }
.owner-purchase-order-card-head strong { font-size: .72rem; }
.owner-purchase-order-card-head small { color: #7b817d; font-size: .55rem; }
.owner-purchase-order-card-head > span { font-size: .61rem; font-weight: 800; }
.owner-purchase-order-status { justify-self: end; padding: 6px 8px; border-radius: 999px; background: #eaf2e9; color: #426b4c; }
.owner-purchase-order-status.partial, .owner-purchase-order-status.discrepancy { background: #faead7; color: #895f29; }
.owner-purchase-order-items { display: flex; flex-wrap: wrap; gap: 6px; }
.owner-purchase-order-items span { padding: 5px 8px; border-radius: 999px; background: #f1f3ef; color: #5c635d; font-size: .54rem; }
.owner-purchase-order-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.owner-purchase-order-actions p { margin: 0; color: #7b817d; font-size: .56rem; }
.owner-purchase-order-actions a { color: #49634f; font-size: .61rem; font-weight: 850; }
.owner-purchase-order-safety { padding: 12px 20px; border-top: 1px solid #dfe9df; background: #eef6ee; color: #355c40; font-size: .6rem; }

.receiving-body { --receive-ink:#20231f; --receive-muted:#757b74; --receive-line:#dfe3dc; --receive-sage:#edf3e9; --receive-green:#41674b; min-height:100vh; margin:0; background:#f5f5f1; color:var(--receive-ink); font-family:Arial, sans-serif; }
.receiving-body *, .receiving-body *::before, .receiving-body *::after { box-sizing:border-box; }
.receiving-body button, .receiving-body input, .receiving-body select, .receiving-body textarea { font:inherit; }
.receiving-shell { width:min(880px,100%); min-height:100vh; margin:0 auto; padding:max(18px,env(safe-area-inset-top)) 18px max(42px,env(safe-area-inset-bottom)); }
.receiving-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:13px 16px; border:1px solid var(--receive-line); border-radius:18px; background:#fff; color:var(--receive-ink); box-shadow:0 10px 30px rgba(28,34,27,.04); }
.receiving-brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.receiving-brand > .fbs-system-logo { width:60px; }
.receiving-brand div, .receiving-header > div { display:flex; flex-direction:column; }
.receiving-brand small, .receiving-header > div small { color:var(--receive-muted); font-size:10px; letter-spacing:.14em; }
.receiving-header > div { text-align:right; }
.receiving-access { display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:stretch; padding-top:8vh; }
.receiving-intro, .receiving-login-card, .receiving-order, .receiving-empty-card { border:1px solid var(--receive-line); border-radius:24px; background:white; box-shadow:0 15px 45px rgba(28,34,27,.055); }
.receiving-intro { display:flex; min-height:390px; flex-direction:column; justify-content:flex-end; padding:34px; color:white; background:linear-gradient(150deg,#1b1e1a,#354035); }
.receiving-intro p, .receiving-heading > p { margin:0 0 10px; color:#bdd0ba; font-size:11px; font-weight:850; letter-spacing:.16em; }
.receiving-intro h1 { margin:0 0 14px; font-size:clamp(31px,5vw,46px); line-height:.98; letter-spacing:-.045em; }
.receiving-intro span { color:#cfd6cc; line-height:1.55; }
.receiving-login-card { display:flex; flex-direction:column; justify-content:center; gap:18px; padding:30px; }
.receiving-login-card label, .receiving-note { display:grid; gap:8px; color:#4e534c; font-size:13px; font-weight:750; }
.receiving-login-card input, .receiving-login-card select, .receiving-note textarea { width:100%; min-height:54px; padding:0 15px; border:1px solid #cfd4cc; border-radius:13px; background:white; color:var(--receive-ink); outline:none; }
.receiving-note textarea { min-height:82px; padding:12px 15px; resize:vertical; }
.receiving-login-card button, .receiving-save { min-height:55px; border:0; border-radius:13px; background:var(--receive-ink); color:white; font-weight:850; cursor:pointer; }
.receiving-login-card button:disabled, .receiving-save:disabled { opacity:.55; cursor:wait; }
.receiving-error { min-height:18px; margin:-5px 0; color:#a22d2d; font-size:13px; }
.receiving-userbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; padding:13px 14px; border:1px solid var(--receive-line); border-radius:18px; background:white; }
.receiving-userbar > div { display:flex; align-items:center; gap:11px; }
.receiving-userbar > div > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--receive-sage); color:var(--receive-green); font-weight:900; }
.receiving-userbar p { display:flex; flex-direction:column; margin:0; }
.receiving-userbar small { color:var(--receive-muted); font-size:9px; font-weight:850; letter-spacing:.15em; }
.receiving-userbar button { border:0; background:transparent; color:#4e684f; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.receiving-message { margin-bottom:16px; padding:14px 16px; border:1px solid #bad4be; border-radius:13px; background:#edf7ed; color:#245f3d; font-size:14px; font-weight:700; }
.receiving-message.error { border-color:#e6bcbc; background:#fff2f1; color:#9c2d2d; }
.receiving-heading { margin:24px 2px 18px; }
.receiving-heading > p { color:#8a7252; }
.receiving-heading h1 { margin:0 0 7px; font-size:32px; letter-spacing:-.04em; }
.receiving-heading > span { color:var(--receive-muted); line-height:1.45; }
.receiving-orders { display:grid; gap:12px; }
.receiving-order { overflow:hidden; border-radius:18px; }
.receiving-order-summary { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:13px; width:100%; padding:15px; border:0; background:white; text-align:left; cursor:pointer; }
.receiving-order-summary > span { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; background:var(--receive-sage); color:var(--receive-green); font-weight:900; }
.receiving-order-summary > div { display:grid; min-width:0; gap:2px; }
.receiving-order-summary small { color:#8a7252; font-size:10px; font-weight:850; letter-spacing:.08em; }
.receiving-order-summary strong { overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.receiving-order-summary p { margin:0; color:var(--receive-muted); font-size:12px; }
.receiving-order-summary > b { color:var(--receive-green); font-size:12px; }
.receiving-order-form { display:grid; gap:15px; padding:0 15px 17px; border-top:1px solid var(--receive-line); background:#fcfcfa; }
.receiving-progress { height:5px; margin:0 -15px; overflow:hidden; background:#e3e6e0; }
.receiving-progress span { display:block; height:100%; background:var(--receive-green); }
.receiving-order-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.receiving-order-meta p { display:grid; gap:3px; margin:0; padding:10px; border-radius:11px; background:#f0f3ed; }
.receiving-order-meta small { color:var(--receive-muted); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.receiving-order-meta strong { font-size:13px; }
.receiving-item-head, .receiving-item { display:grid; grid-template-columns:26px minmax(0,1fr) 58px 82px; align-items:center; gap:9px; }
.receiving-item-head { padding:0 9px; color:#7d827d; font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.receiving-item-head span:nth-child(1) { grid-column:1; }
.receiving-item-head span:nth-child(2) { grid-column:2; }
.receiving-items { display:grid; overflow:hidden; border:1px solid var(--receive-line); border-radius:13px; background:white; }
.receiving-item { min-height:62px; padding:9px; border-bottom:1px solid #eceeea; }
.receiving-item:last-child { border-bottom:0; }
.receiving-item > span { display:grid; min-width:0; gap:3px; }
.receiving-item strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.receiving-item small { overflow:hidden; color:var(--receive-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.receiving-item > b { text-align:center; font-size:13px; }
.receiving-item input[type="checkbox"] { width:20px; height:20px; accent-color:var(--receive-green); }
.receiving-item input[type="number"] { width:76px; min-height:42px; padding:6px; border:1px solid #cfd4cc; border-radius:10px; text-align:center; font-weight:850; }
.receiving-item input[type="number"]:disabled { opacity:.45; }
.receiving-safety { display:flex; align-items:center; gap:11px; padding:13px; border:1px solid #c5d9c6; border-radius:13px; background:#eff8ef; }
.receiving-safety > span { display:grid; flex:0 0 auto; place-items:center; width:31px; height:31px; border-radius:50%; background:var(--receive-green); color:white; }
.receiving-safety p { display:flex; flex-direction:column; margin:0; }
.receiving-safety small { margin-top:2px; color:#5d6d5e; line-height:1.4; }
.receiving-empty-card { padding:34px; text-align:center; }
.receiving-empty-card > span { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 12px; border-radius:50%; background:var(--receive-sage); color:var(--receive-green); font-size:24px; }
.receiving-empty-card h2 { margin:0 0 7px; }
.receiving-empty-card p, .receiving-empty { color:var(--receive-muted); }

@media (max-width: 760px) {
  .owner-purchase-order-fields { grid-template-columns:1fr; }
  .owner-purchase-order-product { grid-template-columns:22px minmax(0,1fr) 72px; }
  .owner-purchase-order-product > b:nth-of-type(1), .owner-purchase-order-product > b:nth-of-type(2) { display:none; }
  .owner-purchase-order-card-head { grid-template-columns:1fr 1fr; }
  .owner-purchase-order-status { justify-self:start; }
  .receiving-access { grid-template-columns:1fr; padding-top:0; }
  .receiving-intro { min-height:260px; }
}
@media (max-width: 520px) {
  .receiving-shell { padding-inline:12px; }
  .receiving-header { gap:12px; margin-bottom:14px; padding:11px 12px; border-radius:16px; }
  .receiving-brand > .fbs-system-logo { width:48px; }
  .receiving-heading h1 { font-size:28px; }
  .receiving-order-summary { grid-template-columns:42px minmax(0,1fr); }
  .receiving-order-summary > span { width:42px; height:42px; }
  .receiving-order-summary > b { grid-column:2; }
  .receiving-order-meta { grid-template-columns:1fr 1fr; }
  .receiving-order-meta p:last-child { grid-column:1/-1; }
  .receiving-item-head { display:none; }
  .receiving-item { grid-template-columns:24px minmax(0,1fr) 72px; }
  .receiving-item > b { display:none; }
  .receiving-item input[type="number"] { width:70px; }
}

.salon-use-body *, .salon-use-body *::before, .salon-use-body *::after { box-sizing: border-box; }
.salon-use-body button, .salon-use-body input, .salon-use-body select { font: inherit; }
.salon-use-shell { width: min(760px, 100%); min-height: 100vh; margin: 0 auto; padding: max(18px, env(safe-area-inset-top)) 18px max(40px, env(safe-area-inset-bottom)); }
.salon-use-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 4px 0 24px; background: transparent; color: var(--su-ink); }
.salon-use-brand { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.salon-use-brand > .fbs-system-logo { width:60px; }
.salon-use-brand div, .salon-use-header > div { display: flex; flex-direction: column; }
.salon-use-brand strong, .salon-use-header > div strong { font-size: 15px; }
.salon-use-brand small, .salon-use-header > div small { color: var(--su-muted); font-size: 10px; letter-spacing: .14em; }
.salon-use-header > div { text-align: right; }
.salon-use-access { display: grid; grid-template-columns: 1.05fr .95fr; gap: 24px; align-items: stretch; padding-top: 8vh; }
.salon-use-intro, .salon-use-login-card, .salon-use-card, .salon-use-recent { border: 1px solid var(--su-line); border-radius: 24px; background: white; box-shadow: 0 15px 45px rgba(28, 34, 27, .055); }
.salon-use-intro { display: flex; flex-direction: column; justify-content: flex-end; min-height: 390px; padding: 34px; color: white; background: linear-gradient(150deg, #1b1e1a, #353d32); }
.salon-use-intro p, .salon-use-section-heading p, .salon-use-recent > div > p, .salon-use-success > p { margin: 0 0 10px; color: #b7c7af; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.salon-use-intro h1 { margin: 0 0 14px; font-size: clamp(31px, 5vw, 46px); line-height: .98; letter-spacing: -.045em; }
.salon-use-intro span { color: #cfd4cc; line-height: 1.55; }
.salon-use-login-card { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 30px; }
.salon-use-login-card label, .salon-use-confirm-card > label, .salon-use-search-label { display: grid; gap: 8px; color: #4e534c; font-size: 13px; font-weight: 750; }
.salon-use-login-card input, .salon-use-login-card select, .salon-use-confirm-card input, .salon-use-search-label input { width: 100%; min-height: 54px; padding: 0 15px; border: 1px solid #cfd4cc; border-radius: 13px; background: white; color: var(--su-ink); outline: none; }
.salon-use-login-card input:focus, .salon-use-login-card select:focus, .salon-use-confirm-card input:focus, .salon-use-search-label input:focus { border-color: #57735a; box-shadow: 0 0 0 3px rgba(87, 115, 90, .12); }
.salon-use-login-card > button, .salon-use-save, .salon-use-success > button { min-height: 55px; border: 0; border-radius: 13px; background: var(--su-ink); color: white; font-weight: 800; cursor: pointer; }
.salon-use-login-card > button:disabled, .salon-use-save:disabled { opacity: .55; cursor: wait; }
.salon-use-error { min-height: 18px; margin: -5px 0; color: #a22d2d; font-size: 13px; }
.salon-use-userbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 13px 14px; border: 1px solid var(--su-line); border-radius: 18px; background: white; }
.salon-use-userbar > div { display: flex; align-items: center; gap: 11px; }
.salon-use-userbar > div > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--su-sage); color: var(--su-green); font-weight: 900; }
.salon-use-userbar p { display: flex; flex-direction: column; margin: 0; }
.salon-use-userbar small { color: var(--su-muted); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.salon-use-userbar button, .salon-use-back, .salon-use-camera button { border: 0; background: transparent; color: #4e684f; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.salon-use-message { margin-bottom: 16px; padding: 14px 16px; border: 1px solid #bad4be; border-radius: 13px; background: #edf7ed; color: #245f3d; font-size: 14px; font-weight: 700; }
.salon-use-message.error { border-color: #e6bcbc; background: #fff2f1; color: #9c2d2d; }
.salon-use-card { padding: 27px; }
.salon-use-section-heading { margin-bottom: 22px; }
.salon-use-section-heading p, .salon-use-recent > div > p { color: #8a7252; }
.salon-use-section-heading h1, .salon-use-recent h2 { margin: 0 0 7px; font-size: 28px; letter-spacing: -.035em; }
.salon-use-section-heading > span { color: var(--su-muted); line-height: 1.45; }
.salon-use-scan-button { display: flex; align-items: center; width: 100%; gap: 14px; padding: 17px; border: 1px solid #bfd2bd; border-radius: 17px; background: var(--su-sage); color: var(--su-ink); text-align: left; cursor: pointer; }
.salon-use-scan-button > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--su-green); color: white; font-size: 24px; }
.salon-use-scan-button div { display: flex; flex: 1; flex-direction: column; }
.salon-use-scan-button small { margin-top: 3px; color: #667267; }
.salon-use-scan-button b { color: var(--su-green); font-size: 13px; }
.salon-use-divider { position: relative; margin: 24px 0; border-top: 1px solid var(--su-line); text-align: center; }
.salon-use-divider span { position: relative; top: -11px; padding: 0 12px; background: white; color: #888d85; font-size: 12px; }
.salon-use-search-label > div { display: flex; gap: 9px; }
.salon-use-search-label button { min-width: 86px; border: 0; border-radius: 13px; background: var(--su-ink); color: white; font-weight: 800; cursor: pointer; }
.salon-use-results { display: grid; gap: 8px; margin-top: 12px; }
.salon-use-results button { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; width: 100%; padding: 11px; border: 1px solid var(--su-line); border-radius: 14px; background: #fafbf8; text-align: left; cursor: pointer; }
.salon-use-results button > span, .salon-use-product-confirm > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: #ecece7; color: #51564f; font-weight: 850; }
.salon-use-results button div { display: flex; min-width: 0; flex-direction: column; }
.salon-use-results button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.salon-use-results button small { margin-top: 3px; color: var(--su-muted); }
.salon-use-results button b { color: var(--su-green); font-size: 12px; }
.salon-use-results button b.low { color: #a2462a; }
.salon-use-camera { position: relative; overflow: hidden; margin-top: 14px; border-radius: 18px; background: #121411; }
.salon-use-camera video { display: block; width: 100%; max-height: 420px; object-fit: cover; }
.salon-use-camera-guide { position: absolute; inset: 20% 9% 30%; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.9); border-radius: 13px; box-shadow: 0 0 0 999px rgba(0,0,0,.25); }
.salon-use-camera-guide span { width: 72%; border-top: 2px solid #d1e85c; }
.salon-use-scan-feedback { position: absolute; z-index: 2; top: 45%; left: 50%; display: flex; max-width: calc(100% - 42px); align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; background: rgba(31, 108, 66, .94); box-shadow: 0 8px 30px rgba(0,0,0,.3); color: white; opacity: 0; pointer-events: none; transform: translate(-50%, -42%) scale(.9); transition: opacity .12s ease, transform .12s ease; }
.salon-use-scan-feedback.visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.salon-use-scan-feedback span { display: grid; flex: 0 0 auto; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: white; color: #1f6c42; font-weight: 900; }
.salon-use-scan-feedback strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.salon-use-camera p { position: absolute; right: 15px; bottom: 14px; left: 15px; margin: 0; color: white; text-align: center; font-size: 12px; font-weight: 700; text-shadow: 0 1px 3px #000; }
.salon-use-camera button { position: absolute; top: 13px; right: 13px; padding: 9px 11px; border-radius: 9px; background: rgba(0,0,0,.7); color: white; text-decoration: none; }
.salon-use-camera #salon-use-switch-camera { right: auto; left: 13px; }
.salon-use-camera #salon-use-switch-camera:disabled { opacity: .6; cursor: wait; }
.salon-use-back { margin: 0 0 22px; }
.salon-use-product-confirm { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; padding: 16px; border-radius: 16px; background: #f5f6f2; }
.salon-use-product-confirm div { display: flex; min-width: 0; flex-direction: column; }
.salon-use-product-confirm strong { font-size: 18px; }
.salon-use-product-confirm small { margin-top: 3px; color: var(--su-muted); }
.salon-use-product-confirm b { margin-top: 7px; color: var(--su-green); font-size: 13px; }
.salon-use-quantity-label { grid-template-columns: 1fr auto !important; align-items: center; margin: 20px 0; }
.salon-use-stepper { display: grid; grid-template-columns: 48px 64px 48px; overflow: hidden; border: 1px solid #cfd4cc; border-radius: 13px; }
.salon-use-stepper button { border: 0; background: #f0f2ed; color: var(--su-ink); font-size: 24px; cursor: pointer; }
.salon-use-stepper input { min-height: 50px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: center; font-size: 18px; font-weight: 800; appearance: textfield; }
.salon-use-safety { display: flex; align-items: center; gap: 11px; margin: 20px 0 14px; padding: 13px; border: 1px solid #c5d9c6; border-radius: 13px; background: #eff8ef; }
.salon-use-safety > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--su-green); color: white; }
.salon-use-safety p { display: flex; flex-direction: column; margin: 0; }
.salon-use-safety small { margin-top: 2px; color: #5d6d5e; line-height: 1.4; }
.salon-use-save { width: 100%; }
.salon-use-batch-card { margin-top: 18px; }
.salon-use-batch-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.salon-use-batch-heading .salon-use-section-heading { flex: 1; }
.salon-use-batch-heading > b { flex: 0 0 auto; padding: 8px 11px; border-radius: 999px; background: var(--su-sage); color: var(--su-green); font-size: 12px; }
.salon-use-batch-list { display: grid; gap: 8px; margin: -4px 0 20px; }
.salon-use-batch-list article { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--su-line); border-radius: 14px; background: #fafbf8; }
.salon-use-batch-list article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: #ecece7; color: #51564f; font-weight: 850; }
.salon-use-batch-product { display: flex; min-width: 0; flex-direction: column; }
.salon-use-batch-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.salon-use-batch-product small { margin-top: 3px; color: var(--su-muted); font-size: 11px; }
.salon-use-batch-stepper { display: grid; grid-template-columns: 34px 32px 34px; overflow: hidden; min-height: 36px; border: 1px solid #cfd4cc; border-radius: 10px; }
.salon-use-batch-stepper button { border: 0; background: #eef0ea; color: var(--su-ink); font-size: 18px; cursor: pointer; }
.salon-use-batch-stepper b { display: grid; place-items: center; background: white; font-size: 13px; }
.salon-use-batch-remove { border: 0; background: transparent; color: #9b3c34; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.salon-use-batch-card > label { display: grid; gap: 8px; color: #4e534c; font-size: 13px; font-weight: 750; }
.salon-use-batch-card > label input { width: 100%; min-height: 50px; padding: 0 15px; border: 1px solid #cfd4cc; border-radius: 13px; background: white; color: var(--su-ink); outline: none; }
.salon-use-success { text-align: center; }
.salon-use-success-mark { display: grid; place-items: center; width: 68px; height: 68px; margin: 8px auto 18px; border-radius: 50%; background: var(--su-green); color: white; font-size: 32px; }
.salon-use-success h1 { margin: 0 0 10px; font-size: 28px; }
.salon-use-success > strong { display: block; margin-bottom: 24px; color: var(--su-green); }
.salon-use-success > button { width: 100%; }
.salon-use-recent { margin-top: 18px; padding: 24px; }
.salon-use-recent h2 { font-size: 22px; }
#salon-use-recent-list { display: grid; gap: 2px; }
#salon-use-recent-list article { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 11px 0; border-top: 1px solid var(--su-line); }
#salon-use-recent-list article > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #eceee8; color: #5b6258; font-size: 11px; font-weight: 850; }
#salon-use-recent-list article div { display: flex; min-width: 0; flex-direction: column; }
#salon-use-recent-list article strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
#salon-use-recent-list article small { margin-top: 3px; color: var(--su-muted); font-size: 11px; }
#salon-use-recent-list article b { color: #755f45; font-size: 12px; }
.salon-use-empty { margin: 8px 0 0; padding: 14px; border-radius: 12px; background: #f6f7f3; color: var(--su-muted); font-size: 13px; text-align: center; }

@media (max-width: 620px) {
  .salon-use-shell { padding-right: 12px; padding-left: 12px; }
  .salon-use-access { grid-template-columns: 1fr; padding-top: 2vh; }
  .salon-use-intro { min-height: 235px; padding: 25px; }
  .salon-use-login-card, .salon-use-card, .salon-use-recent { padding: 20px; border-radius: 19px; }
  .salon-use-scan-button b { display: none; }
  .salon-use-batch-list article { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; }
  .salon-use-batch-list article > span { width: 38px; height: 38px; }
  .salon-use-batch-remove { grid-column: 2 / 4; justify-self: start; }
  .salon-use-search-label > div { display: grid; grid-template-columns: 1fr 78px; }
  .salon-use-results button { grid-template-columns: 38px 1fr; }
  .salon-use-results button > b { grid-column: 2; }
  .salon-use-quantity-label { grid-template-columns: 1fr !important; }
  .salon-use-stepper { width: 100%; grid-template-columns: 1fr 70px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .salon-use-scan-feedback { transition: none; }
}

/* FBS loyalty transition workspace */
.owner-loyalty-heading { align-items: center; }
.owner-customer-history-panel { display: grid; gap: 14px; padding: 18px; }
.owner-customer-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.owner-customer-history-heading > div { max-width: 760px; }
.owner-customer-history-heading h2, .owner-customer-history-heading p { margin: 0; }
.owner-customer-history-heading h2 { margin-top: 3px; font-size: .83rem; }
.owner-customer-history-heading p:last-child { margin-top: 5px; color: #697169; font-size: .54rem; line-height: 1.55; }
.owner-customer-history-progress { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: center; gap: 12px; }
.owner-customer-history-progress > div { overflow: hidden; height: 8px; border-radius: 999px; background: #e5e9e4; }
.owner-customer-history-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: #3d704d; transition: width .25s ease; }
.owner-customer-history-progress strong { color: #55705b; font-size: .51rem; }
.owner-customer-history-counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.owner-customer-history-counts article { display: grid; gap: 2px; border: 1px solid #e0e5df; border-radius: 9px; background: #fafbf9; padding: 11px; }
.owner-customer-history-counts strong { font-size: .78rem; }
.owner-customer-history-counts span { color: #737b74; font-size: .48rem; }
.owner-customer-history-status { margin: 0; color: #687269; font-size: .5rem; }
@media (max-width: 760px) { .owner-customer-history-heading { align-items: stretch; flex-direction: column; } .owner-customer-history-counts { grid-template-columns: repeat(2, 1fr); } .owner-customer-history-progress { grid-template-columns: 1fr; } }
.owner-loyalty-heading .owner-actions { display: flex; align-items: center; gap: 10px; }
.owner-loyalty-safety { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-bottom: 16px; padding: 14px 16px; border: 1px solid #bdd8c4; border-radius: 12px; background: #eff8f1; color: #315b3d; }
.owner-loyalty-safety > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #3d704d; color: #fff; font-weight: 900; }
.owner-loyalty-safety > div { display: grid; gap: 3px; }
.owner-loyalty-safety strong { font-size: .66rem; }
.owner-loyalty-safety p { margin: 0; color: #526d59; font-size: .55rem; line-height: 1.45; }
.owner-loyalty-safety small { color: #5c6d60; font-size: .52rem; white-space: nowrap; }
.owner-loyalty-metrics { margin-bottom: 16px; }
.owner-loyalty-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr); gap: 16px; margin-bottom: 16px; }
.owner-loyalty-program, .owner-loyalty-handoff { padding: 18px; }
.owner-loyalty-rules { display: grid; gap: 7px; margin-top: 13px; }
.owner-loyalty-rules article { display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid #e1e5df; border-radius: 9px; background: #fafbf9; }
.owner-loyalty-rules article span { color: #7c837d; font-size: .48rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.owner-loyalty-rules article strong { font-size: .59rem; }
.owner-loyalty-surfaces { display: grid; gap: 7px; margin-top: 13px; }
.owner-loyalty-surfaces article { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 0; border-top: 1px solid #e8ebe7; }
.owner-loyalty-surfaces article:first-child { border-top: 0; }
.owner-loyalty-surfaces article > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e7f1e9; color: #3b6948; font-size: .52rem; font-weight: 850; }
.owner-loyalty-surfaces article > div { display: grid; gap: 2px; }
.owner-loyalty-surfaces strong { font-size: .59rem; }
.owner-loyalty-surfaces small { color: #737b74; font-size: .5rem; line-height: 1.4; }
.owner-loyalty-surfaces b { border-radius: 999px; background: #eef2ee; padding: 5px 7px; color: #55705b; font-size: .46rem; }
.owner-loyalty-members-panel { overflow: hidden; margin-bottom: 16px; }
.owner-loyalty-members-panel > .owner-panel-heading { padding: 18px; }
.owner-loyalty-member-summary { border-radius: 999px; background: #edf3ee; padding: 7px 10px; color: #47644e; font-size: .5rem; white-space: nowrap; }
.owner-loyalty-tools { display: grid; grid-template-columns: minmax(230px, 1fr) 190px; gap: 12px; border-top: 1px solid #eceeeb; border-bottom: 1px solid #e5e8e4; background: #fafbf9; padding: 12px 18px; }
.owner-loyalty-tools label { display: grid; gap: 5px; color: #747a75; font-size: .5rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.owner-loyalty-tools input, .owner-loyalty-tools select { min-height: 38px; border: 1px solid #d7dbd6; border-radius: 8px; background: #fff; padding: 8px 10px; color: #292d2a; font: inherit; font-size: .62rem; letter-spacing: 0; text-transform: none; }
.owner-loyalty-row { display: grid; grid-template-columns: minmax(165px, 1.25fr) minmax(160px, 1.1fr) 70px 70px 105px 90px 105px; align-items: center; gap: 9px; min-height: 58px; border-top: 1px solid #eceeeb; padding: 9px 18px; }
.owner-loyalty-row.head { min-height: 34px; border-top: 0; background: #f5f7f4; color: #747b75; font-size: .47rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.owner-loyalty-row > span { display: grid; min-width: 0; gap: 2px; }
.owner-loyalty-row strong { overflow: hidden; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-loyalty-row small { overflow: hidden; color: #7a817b; font-size: .47rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.owner-loyalty-match { justify-self: start; border-radius: 999px; padding: 4px 7px; background: #e5f2e8; color: #3f6b4c; font-size: .46rem; }
.owner-loyalty-match.needs-review { background: #fff0d8; color: #865f25; }
.owner-loyalty-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; border-top: 1px solid #e8ebe7; padding: 12px 18px; }
.owner-loyalty-pagination span { min-width: 150px; color: #697169; font-size: .52rem; font-weight: 750; text-align: center; }
.owner-loyalty-pagination button { min-width: 84px; }
.owner-loyalty-activity-panel { overflow: hidden; margin-bottom: 16px; }
.owner-loyalty-activity-panel > .owner-panel-heading { padding: 18px; }
.owner-loyalty-activity-tools { display: grid; gap: 10px; border-block: 1px solid #e7eae6; background: #fafbf9; padding: 12px 18px; }
.owner-loyalty-range { display: flex; flex-wrap: wrap; gap: 7px; }
.owner-loyalty-range button { border: 1px solid #d8ddd7; border-radius: 999px; background: #fff; padding: 7px 12px; color: #59615a; font-size: .52rem; font-weight: 800; cursor: pointer; }
.owner-loyalty-range button.active { border-color: #547760; background: #e9f3eb; color: #315c3e; }
.owner-loyalty-custom-range { display: flex; flex-wrap: wrap; align-items: end; gap: 9px; }
.owner-loyalty-custom-range label { display: grid; gap: 4px; color: #707770; font-size: .48rem; font-weight: 800; text-transform: uppercase; }
.owner-loyalty-custom-range input { min-height: 36px; border: 1px solid #d8ddd7; border-radius: 8px; background: #fff; padding: 7px 9px; font: inherit; font-size: .56rem; }
.owner-loyalty-activity-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 14px 18px; }
.owner-loyalty-activity-metrics article { display: grid; gap: 3px; border: 1px solid #e0e5df; border-radius: 9px; background: #fafbf9; padding: 11px; }
.owner-loyalty-activity-metrics small { color: #747b75; font-size: .47rem; }
.owner-loyalty-activity-metrics strong { font-size: .76rem; }
.owner-loyalty-activity-list article { display: grid; grid-template-columns: 120px minmax(150px, 1fr) minmax(170px, 1.2fr) 95px; align-items: center; gap: 12px; border-top: 1px solid #eceeeb; padding: 10px 18px; }
.owner-loyalty-activity-list time { color: #687069; font-size: .51rem; font-weight: 750; }
.owner-loyalty-activity-list span { display: grid; min-width: 0; gap: 2px; }
.owner-loyalty-activity-list strong { overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-loyalty-activity-list small { overflow: hidden; color: #7a817b; font-size: .47rem; text-overflow: ellipsis; white-space: nowrap; }
.owner-loyalty-activity-list b { justify-self: end; font-size: .57rem; }
.owner-loyalty-activity-list b.positive { color: #327044; }
.owner-loyalty-activity-list b.negative { color: #a14040; }
.owner-loyalty-transition-panel { padding: 18px; }
.owner-loyalty-transition-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 13px; }
.owner-loyalty-transition-steps article { min-height: 105px; border: 1px solid #e0e4df; border-radius: 10px; background: #fafbf9; padding: 13px; }
.owner-loyalty-transition-steps article.active { border-color: #bcd7c3; background: #f0f8f2; }
.owner-loyalty-transition-steps span { display: inline-block; margin-bottom: 9px; border-radius: 999px; background: #eaede9; padding: 4px 7px; color: #69716b; font-size: .46rem; font-weight: 850; text-transform: uppercase; }
.owner-loyalty-transition-steps article.active span { background: #dbece0; color: #356345; }
.owner-loyalty-transition-steps strong { display: block; font-size: .62rem; }
.owner-loyalty-transition-steps p { margin: 6px 0 0; color: #707871; font-size: .51rem; line-height: 1.5; }
@media (max-width: 1120px) { .owner-loyalty-grid { grid-template-columns: 1fr; } .owner-loyalty-row { grid-template-columns: minmax(150px, 1.2fr) minmax(145px, 1fr) 62px 90px 90px; } .owner-loyalty-row > span:nth-child(4), .owner-loyalty-row > span:nth-child(7) { display: none; } }
@media (max-width: 760px) { .owner-loyalty-heading .owner-actions, .owner-loyalty-safety { align-items: stretch; grid-template-columns: 1fr; } .owner-loyalty-safety > span { display: none; } .owner-loyalty-safety small { white-space: normal; } .owner-loyalty-tools { grid-template-columns: 1fr; } .owner-loyalty-row.head { display: none; } .owner-loyalty-row { grid-template-columns: minmax(130px, 1fr) 58px 84px 74px; padding: 9px 12px; } .owner-loyalty-row > span:nth-child(2), .owner-loyalty-row > span:nth-child(5), .owner-loyalty-row > span:nth-child(6) { display: none; } .owner-loyalty-transition-steps { grid-template-columns: 1fr; } .owner-loyalty-activity-metrics { grid-template-columns: repeat(2, 1fr); } .owner-loyalty-activity-list article { grid-template-columns: 90px minmax(120px, 1fr) 82px; padding: 10px 12px; } .owner-loyalty-activity-list article > span:nth-child(3) { display: none; } }
.visit-support-card {
  --support-color: #2f855a;
  margin: 18px 0;
  padding: 20px;
  border: 1px solid #dfe3dc;
  border-radius: 18px;
  background: #fbfcfa;
  box-shadow: 0 10px 30px rgba(36, 42, 36, 0.05);
}
.visit-support-card[data-level="2"] { --support-color: #78a942; }
.visit-support-card[data-level="3"] { --support-color: #c59b22; }
.visit-support-card[data-level="4"] { --support-color: #dc792c; }
.visit-support-card[data-level="5"] { --support-color: #c63f38; }
.visit-support-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.visit-support-heading h3 { margin: 2px 0 0; }
.visit-support-heading strong {
  max-width: 190px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--support-color);
  background: color-mix(in srgb, var(--support-color) 12%, white);
  font-size: 0.82rem;
  line-height: 1.2;
  text-align: center;
}
.visit-support-copy {
  margin: 10px 0 16px;
  color: #626960;
  font-size: 0.88rem;
  line-height: 1.45;
}
.visit-support-bars {
  height: 46px;
  display: grid;
  grid-template-columns: repeat(5, minmax(18px, 1fr));
  align-items: end;
  gap: 8px;
  padding: 0 3px;
}
.visit-support-bar {
  height: 18px;
  border-radius: 6px 6px 3px 3px;
  background: #e4e7e1;
  transition: height 140ms ease, background 140ms ease, opacity 140ms ease;
}
.visit-support-bar:nth-child(2) { height: 24px; }
.visit-support-bar:nth-child(3) { height: 31px; }
.visit-support-bar:nth-child(4) { height: 38px; }
.visit-support-bar:nth-child(5) { height: 46px; }
.visit-support-bar:nth-child(1).active { background: #2f855a; }
.visit-support-bar:nth-child(2).active { background: #78a942; }
.visit-support-bar:nth-child(3).active { background: #d0a42a; }
.visit-support-bar:nth-child(4).active { background: #dc792c; }
.visit-support-bar:nth-child(5).active { background: #c63f38; }
.visit-support-range {
  width: 100%;
  margin: 10px 0 2px;
  accent-color: var(--support-color);
  cursor: pointer;
}
.visit-support-range:disabled { cursor: default; opacity: 0.65; }
.visit-support-scale {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #747b72;
  font-size: 0.72rem;
}
.visit-support-save {
  width: 100%;
  margin-top: 14px;
  border: 0;
  border-radius: 11px;
  padding: 11px 14px;
  color: white;
  background: #1e231f;
  font-weight: 750;
  cursor: pointer;
}
.visit-support-save:disabled { cursor: wait; opacity: 0.62; }
.visit-support-readonly { display: block; margin-top: 12px; color: #727870; }
.visit-support-card-compact { margin-inline: 0; }
.visit-support-inline {
  --support-color: #2f855a;
  display: grid;
  width: 126px;
  box-sizing: border-box;
  grid-template-columns: minmax(58px, 1fr) auto;
  align-items: center;
  gap: 3px 6px;
  padding: 7px 8px 6px;
  border: 1px solid #dfe3dc;
  border-radius: 10px;
  background: #fbfcfa;
}
.visit-support-inline[data-level="2"] { --support-color: #78a942; }
.visit-support-inline[data-level="3"] { --support-color: #c59b22; }
.visit-support-inline[data-level="4"] { --support-color: #dc792c; }
.visit-support-inline[data-level="5"] { --support-color: #c63f38; }
.visit-support-inline .visit-support-bars {
  grid-column: 1 / 3;
  height: 17px;
  grid-template-columns: repeat(5, 1fr);
  gap: 3px;
  padding: 0;
}
.visit-support-inline .visit-support-bar { height: 5px; border-radius: 2px; }
.visit-support-inline .visit-support-bar:nth-child(2) { height: 8px; }
.visit-support-inline .visit-support-bar:nth-child(3) { height: 11px; }
.visit-support-inline .visit-support-bar:nth-child(4) { height: 14px; }
.visit-support-inline .visit-support-bar:nth-child(5) { height: 17px; }
.visit-support-inline .visit-support-range { height: 12px; margin: 0; }
.visit-support-inline .visit-support-save {
  width: auto;
  margin: 0;
  border-radius: 6px;
  padding: 4px 7px;
  font-size: .55rem;
  line-height: 1;
}

@media (max-width: 560px) {
  .visit-support-card { padding: 17px; border-radius: 15px; }
  .visit-support-heading { align-items: stretch; flex-direction: column; gap: 8px; }
  .visit-support-heading strong { max-width: none; align-self: flex-start; }
  .visit-support-inline { width: 116px; padding-inline: 7px; }
}

/* Future FBS loyalty ownership and customer communication drafts */
.owner-loyalty-prepared-ledger{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;border:1px solid #d7ded7;border-radius:11px;background:#f6f8f5}.owner-loyalty-prepared-ledger>span{padding:5px 8px;border-radius:999px;background:#e6e9e5;color:#59615a;font-size:.48rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.owner-loyalty-prepared-ledger>div{display:grid;gap:3px}.owner-loyalty-prepared-ledger strong{font-size:.61rem}.owner-loyalty-prepared-ledger p{margin:0;color:#727a73;font-size:.51rem;line-height:1.45}.owner-communications-heading{align-items:center}.owner-communications-safety{margin-bottom:16px}.owner-communications-panel{overflow:hidden}.owner-communications-tools{display:grid;grid-template-columns:minmax(260px,1fr)220px;gap:12px;padding:15px 18px;border-bottom:1px solid #e7eae6;background:#fafbf9}.owner-communications-tools label{display:grid;gap:5px;color:#727973;font-size:.5rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.owner-communications-tools input,.owner-communications-tools select{min-height:40px;border:1px solid #d5dbd4;border-radius:9px;background:#fff;padding:8px 10px;color:#292d2a;font:inherit;font-size:.63rem;letter-spacing:0;text-transform:none}.owner-communications-guide{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid #e7eae6;background:#f4f7f3;color:#526056;font-size:.54rem}.owner-communications-guide p{margin:0}.owner-communications-guide code{border-radius:4px;background:#e4e9e3;padding:2px 4px}.owner-message-template-list{display:grid;gap:14px;padding:18px}.owner-message-template-card{overflow:hidden;border:1px solid #dde2dc;border-radius:13px;background:#fff}.owner-message-template-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid #e8ebe7;background:#fafbf9}.owner-message-template-card header>div{display:grid;gap:3px}.owner-message-template-card header span{color:#846d49;font-size:.47rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.owner-message-template-card h3,.owner-message-template-card p{margin:0}.owner-message-template-card h3{font-size:.73rem}.owner-message-template-card header p{color:#747b75;font-size:.53rem}.owner-message-template-card header b{flex:0 0 auto;border-radius:999px;background:#f2eadb;padding:5px 8px;color:#745c33;font-size:.46rem;text-transform:uppercase}.owner-message-template-fields{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:14px;padding:16px}.owner-message-template-fields label{display:grid;align-content:start;gap:6px;color:#4d544f;font-size:.52rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.owner-message-template-fields input,.owner-message-template-fields textarea{width:100%;box-sizing:border-box;border:1px solid #d5dbd4;border-radius:9px;background:#fff;padding:10px 11px;color:#252a26;font:inherit;font-size:.61rem;line-height:1.5;letter-spacing:0;text-transform:none;resize:vertical}.owner-message-template-fields input:focus,.owner-message-template-fields textarea:focus{outline:2px solid #b9d1bf;outline-offset:1px}.owner-message-template-fields small{color:#7a817b;font-size:.47rem;font-weight:600;letter-spacing:0;text-transform:none}.owner-message-template-email{display:grid;gap:11px}.owner-message-template-card>footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 16px;border-top:1px solid #e8ebe7;background:#fafbf9;color:#747b75;font-size:.47rem}.owner-message-template-card footer span{font-weight:850;text-transform:uppercase;letter-spacing:.06em}.owner-message-template-card footer code{overflow:hidden;color:#526058;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.owner-shell{display:block}.owner-sidebar{position:sticky;z-index:25;top:0;width:100%;height:auto;box-sizing:border-box;padding:9px 10px;border-right:0;border-bottom:1px solid #dfe2dd;overflow:hidden}.owner-brand{display:none}.owner-profile,.owner-sidebar-links,.owner-prototype-note{display:none}.owner-nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.owner-nav::-webkit-scrollbar{display:none}.owner-nav button{display:flex;flex:0 0 auto;width:auto;min-height:40px;padding:9px 11px;white-space:nowrap}.owner-nav button>span{display:none}.owner-main{padding:0 12px 55px}.owner-topbar{align-items:flex-start;gap:8px;padding:16px 0 14px}.owner-topbar h1{font-size:1.3rem}.owner-topbar-actions{justify-content:flex-start;flex-wrap:wrap}.owner-loyalty-prepared-ledger{align-items:flex-start}.owner-communications-heading{align-items:stretch}.owner-communications-heading .owner-primary-button{width:100%}.owner-communications-tools,.owner-message-template-fields{grid-template-columns:1fr}.owner-communications-guide{align-items:flex-start;flex-direction:column}.owner-message-template-list{padding:11px}.owner-message-template-card>header{align-items:flex-start}.owner-message-template-card>footer{grid-template-columns:1fr}.owner-message-template-card footer code{white-space:normal}}
@media(max-width:760px){.owner-nav-group{display:contents}.owner-nav-group summary{display:none}.owner-nav-group:not([open])>.owner-nav-group-items,.owner-nav-group-items{display:contents}.owner-nav button[data-owner-view]{display:flex;flex:0 0 auto;width:auto;min-height:40px;padding:9px 11px;white-space:nowrap}.owner-nav button[data-owner-view]>span{display:none}}

.owner-message-channel-controls{display:flex!important;align-items:center;gap:8px}.owner-message-channel-controls label{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #dce2dc;border-radius:999px;background:#fff;color:#555e57;font-size:.49rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.owner-message-channel-controls input{width:28px;height:16px;margin:0;accent-color:#356a48}
@media(max-width:760px){.owner-message-channel-controls{flex-wrap:wrap;justify-content:flex-end}.owner-message-channel-controls label{padding:5px 7px}}

/* Shared FBS cash drawer */
.ops-cash-drawer-button{display:inline-flex;align-items:center;gap:7px}.ops-cash-drawer-button b{padding:3px 7px;border-radius:999px;background:#eceeeb;color:#697069;font-size:.58rem}.ops-cash-drawer-button.open b{background:#ddefe1;color:#28613b}.ops-cash-drawer-panel{width:min(680px,100%);overflow:auto}.ops-cash-drawer-content{display:grid;gap:14px;padding:0 22px 24px}.ops-cash-empty{display:grid;justify-items:start;gap:9px;padding:18px;border:1px solid #dfe3dd;border-radius:16px;background:#f8faf7}.ops-cash-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e4eee5;color:#2b5e39;font-weight:900}.ops-cash-empty h3,.ops-cash-empty p{margin:0}.ops-cash-empty p{color:#687069;font-size:.75rem;line-height:1.45}.ops-cash-session-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ops-cash-session-heading h3,.ops-cash-session-heading p{margin:4px 0 0}.ops-cash-session-heading p{color:#707770;font-size:.66rem}.ops-status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#ddefe1;color:#28613b;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ops-cash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ops-cash-metrics article{display:grid;gap:4px;padding:11px;border:1px solid #dfe3dd;border-radius:12px;background:#fff}.ops-cash-metrics article.expected{background:#e8f2e9;border-color:#c9decf}.ops-cash-metrics small{color:#6b736c;font-size:.59rem}.ops-cash-metrics strong{font-size:.88rem}.ops-cash-hardware{display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 12px;border-radius:11px;background:#f5eee3;color:#6d5939}.ops-cash-hardware b{font-size:.66rem}.ops-cash-hardware span{display:block;margin-top:2px;font-size:.59rem;line-height:1.4}.ops-cash-hardware.connected{background:#e6f2e8;color:#28613b}.ops-cash-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.ops-cash-form.compact{grid-template-columns:.8fr .8fr 1.5fr auto}.ops-cash-form label{display:grid;gap:5px;color:#394039;font-size:.63rem;font-weight:800}.ops-cash-form label.wide{min-width:0}.ops-cash-form input,.ops-cash-form select{width:100%;min-height:40px;border:1px solid #cfd5ce;border-radius:9px;background:#fff;padding:8px 10px}.ops-money-input{display:flex;align-items:center;gap:5px;padding-left:9px;border:1px solid #cfd5ce;border-radius:9px;background:#fff}.ops-money-input input{border:0;padding-left:0}.ops-cash-activity{display:grid;gap:7px}.ops-cash-activity>div{display:flex;justify-content:space-between;align-items:center}.ops-cash-activity h3,.ops-cash-activity small{margin:0}.ops-cash-activity>article{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid #eceeeb}.ops-cash-activity article span{display:grid;gap:2px;font-size:.68rem;font-weight:800}.ops-cash-activity article small{color:#747b74;font-size:.56rem;font-weight:500}.ops-cash-close-form{display:grid;grid-template-columns:1.4fr .75fr 1fr auto;gap:10px;align-items:end;padding:14px;border-radius:13px;background:#f4f1ec}.ops-cash-close-form h3,.ops-cash-close-form p{margin:0}.ops-cash-close-form p{margin-top:3px;color:#6b706a;font-size:.58rem}.ops-cash-close-form label{display:grid;gap:5px;font-size:.61rem;font-weight:800}.ops-cash-close-form input{min-height:40px;border:1px solid #cfd5ce;border-radius:9px;padding:8px 10px}
.owner-cash-hardware{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:15px 17px;border:1px solid #e2d3b6;border-radius:15px;background:#f8f2e7}.owner-cash-hardware>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#8e7141;color:#fff;font-size:.65rem;font-weight:900}.owner-cash-hardware>div{flex:1}.owner-cash-hardware strong,.owner-cash-hardware p{display:block;margin:0}.owner-cash-hardware p{margin-top:3px;color:#746a59;font-size:.7rem}.owner-cash-hardware>b{padding:6px 9px;border-radius:999px;background:#efe2cc;color:#775d34;font-size:.62rem}.owner-cash-hardware.connected{border-color:#c4dbc9;background:#eef7f0}.owner-cash-hardware.connected>span{background:#2e6741}.owner-cash-hardware.connected>b{background:#d8eddd;color:#28613b}.owner-cash-closed{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.owner-cash-closed h2,.owner-cash-closed p{margin:4px 0}.owner-cash-current-panel{margin-bottom:18px}.owner-cash-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.owner-cash-metrics article{display:grid;gap:5px;padding:15px;border:1px solid #e0e3df;border-radius:13px}.owner-cash-metrics article.expected{border-color:#c4dbc9;background:#eaf4ec}.owner-cash-metrics small{color:#6d746e;font-size:.62rem}.owner-cash-metrics strong{font-size:1.2rem}.owner-cash-metrics span{color:#6d746e;font-size:.58rem;line-height:1.35}.owner-cash-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.owner-cash-history-panel,.owner-cash-ledger-panel{margin-top:18px}.owner-cash-history-table td:first-child{min-width:180px}.owner-cash-history-table td:first-child strong,.owner-cash-history-table td:first-child small,.owner-cash-history-table td:nth-child(5) span,.owner-cash-history-table td:nth-child(5) small{display:block}.owner-cash-positive,.owner-cash-balanced{color:#2d6b41}.owner-cash-negative,.owner-cash-variance{color:#9d3b36}.owner-cash-event-list{display:grid}.owner-cash-event-list article{display:grid;grid-template-columns:170px minmax(220px,1.5fr) minmax(150px,1fr) 110px;gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid #eceeeb}.owner-cash-event-list time{color:#687069;font-size:.66rem}.owner-cash-event-list span{display:grid;gap:2px}.owner-cash-event-list span strong{font-size:.72rem}.owner-cash-event-list span small{color:#777d77;font-size:.61rem}.owner-cash-event-list>b{text-align:right;font-size:.8rem}
@media(max-width:760px){.ops-cash-drawer-button{padding-inline:9px}.ops-cash-drawer-button>span{display:none}.ops-cash-drawer-panel{width:100%;border-radius:18px 18px 0 0}.ops-cash-drawer-content{padding-inline:14px}.ops-cash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-cash-form,.ops-cash-form.compact,.ops-cash-close-form{grid-template-columns:1fr}.owner-cash-hardware{align-items:flex-start}.owner-cash-hardware>b{display:none}.owner-cash-closed{align-items:flex-start;flex-direction:column}.owner-cash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-cash-metrics article.expected{grid-column:1/-1}.owner-cash-event-list article{grid-template-columns:1fr auto}.owner-cash-event-list article time{grid-column:1/-1}.owner-cash-event-list article span:nth-of-type(2){display:none}}
@media(max-width:760px){.owner-body{min-width:0}}
.ops-cash-drawer-content.saving>*:not(.ops-cash-saving){pointer-events:none}.ops-cash-saving{display:flex;align-items:center;gap:8px;margin:0;padding:8px 11px;border-radius:10px;background:#edf5ee;color:#315f3d;font-size:.64rem;font-weight:800}.ops-cash-saving span{width:12px;height:12px;border:2px solid #bdd3c2;border-top-color:#315f3d;border-radius:50%;animation:ops-cash-saving-spin .65s linear infinite}@keyframes ops-cash-saving-spin{to{transform:rotate(360deg)}}

/* Owner-only Square gift-card balance viewer */
.owner-gift-card-heading{align-items:center}.owner-gift-card-heading .owner-actions{display:flex;align-items:center;gap:10px}.owner-gift-card-safety{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid #bdd8c4;border-radius:12px;background:#eff8f1;color:#315b3d}.owner-gift-card-safety>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#3d704d;color:#fff;font-weight:900}.owner-gift-card-safety>div{display:grid;gap:3px}.owner-gift-card-safety strong{font-size:.66rem}.owner-gift-card-safety p{margin:0;color:#526d59;font-size:.55rem;line-height:1.45}.owner-gift-card-safety small{color:#5c6d60;font-size:.52rem;white-space:nowrap}.owner-gift-card-safety.error{border-color:#e4c3bb;background:#fff2ee;color:#8a3c2f}.owner-gift-card-safety.error>span{background:#a64b3b}.owner-gift-card-safety.error p,.owner-gift-card-safety.error small{color:#82564e}.owner-gift-card-metrics{margin-bottom:16px}.owner-gift-card-list-panel,.owner-gift-card-activity-panel{overflow:hidden;margin-bottom:16px}.owner-gift-card-summary{align-self:center;border-radius:999px;background:#edf3ee;padding:7px 10px;color:#47644e;font-size:.5rem;white-space:nowrap}.owner-gift-card-tools{display:grid;grid-template-columns:minmax(230px,1fr)190px;gap:12px;border-block:1px solid #e5e8e4;background:#fafbf9;padding:12px 18px}.owner-gift-card-tools label{display:grid;gap:5px;color:#747a75;font-size:.5rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.owner-gift-card-tools input,.owner-gift-card-tools select{min-height:40px;border:1px solid #d7dbd6;border-radius:8px;background:#fff;padding:8px 10px;color:#292d2a;font:inherit;font-size:.62rem;letter-spacing:0;text-transform:none}.owner-gift-card-tools input:focus,.owner-gift-card-tools select:focus{outline:2px solid #b9d1bf;outline-offset:1px}.owner-gift-card-row,.owner-gift-card-activity-row{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(135px,1fr) 76px 88px 122px 86px;align-items:center;gap:10px;min-height:58px;border-top:1px solid #eceeeb;padding:9px 18px}.owner-gift-card-row.head,.owner-gift-card-activity-row.head{min-height:34px;border-top:0;background:#f5f7f4;color:#747b75;font-size:.47rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.owner-gift-card-row>span,.owner-gift-card-activity-row>span{display:grid;min-width:0;gap:2px;font-size:.56rem}.owner-gift-card-row strong,.owner-gift-card-activity-row strong{overflow:hidden;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.owner-gift-card-row small,.owner-gift-card-activity-row small{overflow:hidden;color:#7a817b;font-size:.47rem;text-overflow:ellipsis;white-space:nowrap}.owner-gift-card-status{justify-self:start;border-radius:999px;padding:5px 8px;background:#eef0ee;color:#687068;font-size:.46rem}.owner-gift-card-status.active{background:#e5f2e8;color:#3f6b4c}.owner-gift-card-status.pending{background:#fff0d8;color:#865f25}.owner-gift-card-status.inactive{background:#f5e6e3;color:#8c4c42}.owner-gift-card-balance{justify-self:end;font-weight:850}.owner-gift-card-activity-row{grid-template-columns:130px minmax(140px,1fr) minmax(115px,.8fr) 82px 92px 92px}.owner-gift-card-activity-row .positive{color:#327044;font-weight:850}.owner-gift-card-activity-row .negative{color:#a14040;font-weight:850}.owner-gift-card-activity-row .neutral{color:#6f766f}.owner-gift-card-prelaunch{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin-bottom:16px;padding:16px 18px;border-color:#e2d3b6;background:#faf6ee}.owner-gift-card-prelaunch>span{border-radius:999px;background:#efe2cc;padding:6px 9px;color:#775d34;font-size:.48rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.owner-gift-card-prelaunch>div{display:grid;gap:4px}.owner-gift-card-prelaunch strong{font-size:.65rem}.owner-gift-card-prelaunch p{margin:0;color:#746a59;font-size:.55rem;line-height:1.5}
@media(max-width:1000px){.owner-gift-card-row{grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) 82px 108px 80px}.owner-gift-card-row>span:nth-child(3),.owner-gift-card-row.head>span:nth-child(3){display:none}.owner-gift-card-activity-row{grid-template-columns:115px minmax(135px,1fr) minmax(105px,.8fr) 76px 88px}.owner-gift-card-activity-row>span:nth-child(6),.owner-gift-card-activity-row.head>span:nth-child(6){display:none}}
@media(max-width:760px){.owner-gift-card-heading{align-items:stretch}.owner-gift-card-heading .owner-actions{align-items:stretch;flex-direction:column}.owner-gift-card-heading .owner-primary-button{width:100%}.owner-gift-card-safety{align-items:stretch;grid-template-columns:1fr}.owner-gift-card-safety>span{display:none}.owner-gift-card-safety small{white-space:normal}.owner-gift-card-tools{grid-template-columns:1fr}.owner-gift-card-row.head,.owner-gift-card-activity-row.head{display:none}.owner-gift-card-row{grid-template-columns:minmax(135px,1fr)90px 82px;padding:10px 12px}.owner-gift-card-row>span:nth-child(2),.owner-gift-card-row>span:nth-child(3),.owner-gift-card-row>span:nth-child(5){display:none}.owner-gift-card-activity-row{grid-template-columns:100px minmax(125px,1fr)82px;padding:10px 12px}.owner-gift-card-activity-row>span:nth-child(3),.owner-gift-card-activity-row>span:nth-child(5),.owner-gift-card-activity-row>span:nth-child(6){display:none}.owner-gift-card-prelaunch{grid-template-columns:1fr}.owner-gift-card-prelaunch>span{justify-self:start}}
@media(max-width:460px){.owner-gift-card-row{grid-template-columns:minmax(120px,1fr)78px}.owner-gift-card-row>span:nth-child(4){display:none}.owner-gift-card-activity-row{grid-template-columns:88px minmax(105px,1fr)74px}.owner-gift-card-activity-row>span{font-size:.52rem}.owner-gift-card-summary{white-space:normal;text-align:right}}

/* Owner-only read-only launch reconciliation */
.owner-launch-heading{align-items:center}.owner-launch-safety{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid #bdd8c4;border-radius:12px;background:#eff8f1;color:#315b3d}.owner-launch-safety>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#3d704d;color:#fff;font-weight:900}.owner-launch-safety>div{display:grid;gap:3px}.owner-launch-safety strong{font-size:.66rem}.owner-launch-safety p{margin:0;color:#526d59;font-size:.55rem;line-height:1.45}.owner-launch-safety small{color:#5c6d60;font-size:.52rem;white-space:nowrap}.owner-launch-metrics{margin-bottom:16px}.owner-launch-results-panel{overflow:hidden;margin-bottom:16px}.owner-launch-results{display:grid;gap:18px;padding:18px}.owner-launch-results>section{display:grid;gap:8px}.owner-launch-results h3{margin:0;color:#75634a;font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}.owner-launch-results article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e2e5e1;border-radius:11px;background:#fafbfa}.owner-launch-results article>span{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#dceddf;color:#2f6740;font-weight:900}.owner-launch-results article>div{display:grid;gap:3px}.owner-launch-results article strong{font-size:.64rem}.owner-launch-results article p{margin:0;color:#6f776f;font-size:.54rem;line-height:1.45}.owner-launch-results article>b{border-radius:999px;padding:5px 8px;background:#e5f2e8;color:#3f6b4c;font-size:.46rem;text-transform:uppercase}.owner-launch-results article.warn{border-color:#e8d5b6;background:#fffaf1}.owner-launch-results article.warn>span,.owner-launch-results article.warn>b{background:#f3e5ca;color:#805f28}.owner-launch-results article.block{border-color:#e4c3bb;background:#fff4f1}.owner-launch-results article.block>span,.owner-launch-results article.block>b{background:#f2d9d4;color:#8a3c2f}.owner-launch-deferred{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(380px,1.2fr);gap:24px;border-color:#e2d3b6;background:#faf6ee}.owner-launch-deferred h2,.owner-launch-deferred p{margin:4px 0}.owner-launch-deferred>div:first-child>p:last-child{color:#746a59;font-size:.58rem;line-height:1.5}.owner-launch-deferred-list{display:grid;gap:9px}.owner-launch-deferred-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px;border:1px solid #e5d8c3;border-radius:11px;background:#fffaf3}.owner-launch-deferred-list article>span{align-self:start;border-radius:999px;background:#efe2cc;padding:5px 8px;color:#775d34;font-size:.46rem;font-weight:900;text-transform:uppercase}.owner-launch-deferred-list article>div{display:grid;gap:3px}.owner-launch-deferred-list strong{font-size:.61rem}.owner-launch-deferred-list p{margin:0;color:#756b5c;font-size:.52rem;line-height:1.45}
@media(max-width:760px){.owner-launch-heading{align-items:stretch}.owner-launch-heading .owner-primary-button{width:100%}.owner-launch-safety{grid-template-columns:1fr}.owner-launch-safety>span{display:none}.owner-launch-safety small{white-space:normal}.owner-launch-results{padding:11px}.owner-launch-results article{grid-template-columns:26px minmax(0,1fr)}.owner-launch-results article>b{grid-column:2;justify-self:start}.owner-launch-deferred{grid-template-columns:1fr}}

/* Client agreement iPad check-in and private profile photographs */
.customers-result>img{width:40px;height:40px;border-radius:50%;object-fit:cover}.customers-profile-avatar.photo{object-fit:cover}.ops-client-profile-photo{display:block;width:84px;height:84px;margin:0 0 14px;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #d9ddd8,0 8px 24px #26312824}
.agreement-body{min-height:100vh;margin:0;background:#f3f1ec;color:#25231f;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.agreement-body *{box-sizing:border-box}.agreement-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:22px 0 60px}.agreement-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:12px 16px;border:1px solid #dedbd4;border-radius:18px;background:#fff}.agreement-brand img{width:52px;height:52px;object-fit:contain}.agreement-brand div{display:grid;gap:2px}.agreement-brand strong{font-size:.95rem}.agreement-brand span{color:#77736b;font-size:.72rem}.agreement-brand>b{margin-left:auto;padding:7px 11px;border-radius:999px;background:#eee9de;color:#6f5a38;font-size:.67rem}.agreement-card{padding:clamp(24px,5vw,56px);border:1px solid #ddd9d0;border-radius:24px;background:#fff;box-shadow:0 18px 50px #3933290d}.agreement-card h1{max-width:720px;margin:7px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;line-height:1.02}.agreement-card>p:not(.agreement-eyebrow):not(.agreement-model-lock){max-width:690px;color:#6f6a62;font-size:1rem;line-height:1.55}.agreement-eyebrow{margin:0;color:#96703f;font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.agreement-message{position:sticky;z-index:20;top:12px;margin:0 0 14px;padding:14px 18px;border:1px solid #e1b6ad;border-radius:12px;background:#fff0ed;color:#8d3f34;font-size:.9rem;font-weight:750}.agreement-message.success{border-color:#bcd5c1;background:#edf7ef;color:#356043}.agreement-draft-notice{display:grid;gap:4px;margin:22px 0;padding:14px 16px;border:1px solid #e5cfad;border-radius:13px;background:#fff8ea;color:#75592f}.agreement-draft-notice strong{font-size:.78rem}.agreement-draft-notice span{font-size:.72rem;line-height:1.45}.agreement-start button,.agreement-actions button,.agreement-photo-actions button,.agreement-finished button{min-height:48px;padding:0 22px;border:0;border-radius:999px;background:#24231f;color:#fff;font:inherit;font-size:.86rem;font-weight:800}.agreement-start button{margin-top:8px}.agreement-model-lock{margin:20px 0 0;color:#837e76;font-size:.72rem}.agreement-fields{display:grid;gap:16px;margin:26px 0}.agreement-fields.two{grid-template-columns:1fr 1fr}.agreement-card label{display:grid;gap:7px;color:#4e4a44;font-size:.8rem;font-weight:800}.agreement-card label small{color:#8a857e;font-weight:500}.agreement-card input:not([type=checkbox]):not([type=radio]){width:100%;min-height:52px;padding:0 14px;border:1px solid #cfcbc3;border-radius:11px;background:#fff;font:inherit;font-size:1rem}.agreement-card input:focus{outline:3px solid #d8c09b;outline-offset:1px}.agreement-referrals{margin:24px 0;padding:0;border:0}.agreement-referrals legend{margin-bottom:11px;font-size:.84rem;font-weight:850}.agreement-referrals>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.agreement-referrals label{display:block}.agreement-referrals label span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;border:1px solid #d7d2c9;border-radius:11px;text-align:center}.agreement-referrals input{position:absolute;opacity:0;pointer-events:none}.agreement-referrals input:checked+span{border-color:#333027;background:#333027;color:#fff}.agreement-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #ebe8e1}.agreement-actions button.secondary,.agreement-photo-actions button.secondary,.agreement-card button.secondary{border:1px solid #cac6bd;background:#fff;color:#38352f}.agreement-card button.compact{min-height:38px;margin-top:9px;padding:0 15px;border-radius:999px;font:inherit;font-size:.72rem;font-weight:800}.agreement-copy{max-height:52vh;margin:22px 0;padding:22px;border:1px solid #dedad2;border-radius:15px;background:#fcfbf8;overflow:auto}.agreement-copy h2{margin:22px 0 5px;font-size:1rem}.agreement-copy h3{margin:4px 0;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}.agreement-copy p{color:#676159;font-size:.82rem;line-height:1.55}.agreement-inline-draft{display:block;margin-bottom:18px;color:#9b493d;font-size:.78rem}.agreement-check{display:flex!important;align-items:flex-start;grid-template-columns:auto 1fr;gap:10px!important;padding:15px;border:1px solid #d8d4cc;border-radius:13px;background:#faf9f6}.agreement-check input{flex:0 0 auto;width:22px;height:22px;margin:0;accent-color:#2e4f37}.agreement-signature-wrap{position:relative;margin-top:24px;border:2px solid #beb8ad;border-radius:14px;background:#fff;overflow:hidden;touch-action:none}.agreement-signature-wrap canvas{display:block;width:100%;height:260px}.agreement-signature-wrap span{position:absolute;right:18px;bottom:12px;color:#aaa49a;font-size:.7rem;text-transform:uppercase}.agreement-choice{margin:20px 0;padding:20px;border:1px solid #dedad2;border-radius:15px;background:#faf9f6}.agreement-choice.private{background:#f1f6f1}.agreement-choice h2{margin:0 0 7px;font-size:1rem}.agreement-choice p{margin:0 0 15px;color:#67625a;font-size:.82rem;line-height:1.5}.agreement-choice>div{display:flex;gap:10px}.agreement-choice>div label{display:flex;align-items:center;gap:7px;padding:12px 14px;border:1px solid #d4d0c8;border-radius:10px;background:#fff}.agreement-choice input[type=radio]{width:19px;height:19px;accent-color:#2f5038}.agreement-camera{position:relative;display:grid;place-items:center;width:min(640px,100%);aspect-ratio:4/3;margin:25px auto 14px;border-radius:20px;background:#171713;overflow:hidden}.agreement-camera video,.agreement-camera img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.agreement-camera video{z-index:0}.agreement-camera img{z-index:1}.agreement-countdown{position:absolute;z-index:2;display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:#000a;color:#fff;font-size:4rem}.agreement-photo-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}.agreement-finished{text-align:center}.agreement-finished>span{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 15px;border-radius:50%;background:#e4f1e6;color:#2f6941;font-size:2rem;font-weight:900}.agreement-finished h1,.agreement-finished>p{margin-inline:auto}.agreement-finished button{margin-top:20px}.hidden{display:none!important}
.agreement-marketing-note{margin:14px 0 0;padding:13px 15px;border-left:3px solid #9ab69f;background:#f3f7f3;color:#59645b!important;font-size:.78rem!important;line-height:1.5!important}.agreement-camera-stage{position:relative;display:grid;width:min(440px,88vw);aspect-ratio:1;margin:28px auto 16px;place-items:center}.agreement-camera-progress{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.agreement-camera-progress circle{fill:none;stroke-width:4}.agreement-camera-progress .track{stroke:#dce4dd}.agreement-camera-progress .progress{stroke:#34c86f;stroke-linecap:round;stroke-dasharray:289.03;stroke-dashoffset:289.03;filter:drop-shadow(0 0 4px #34c86f73)}.agreement-camera-progress .progress.running{animation:agreement-camera-countdown 2.7s linear forwards}.agreement-camera-stage .agreement-camera{width:calc(100% - 28px);height:calc(100% - 28px);aspect-ratio:1;margin:0;border-radius:50%}.agreement-camera-stage+.agreement-camera-help,#agreement-camera-help{text-align:center;margin-inline:auto}.agreement-countdown{border:2px solid #ffffffb8;background:#0009}.agreement-photo-actions{min-height:48px}@keyframes agreement-camera-countdown{to{stroke-dashoffset:0}}
@media(max-width:700px){.agreement-shell{width:min(100% - 18px,980px);padding-top:9px}.agreement-brand{border-radius:13px}.agreement-brand>b{font-size:.55rem}.agreement-card{padding:22px 17px;border-radius:18px}.agreement-fields.two{grid-template-columns:1fr}.agreement-referrals>div{grid-template-columns:1fr 1fr}.agreement-actions{align-items:stretch;flex-direction:column-reverse}.agreement-actions>span{display:none}.agreement-actions button{width:100%}.agreement-choice>div{flex-direction:column}.agreement-signature-wrap canvas{height:210px}.agreement-photo-actions button{flex:1 1 45%}.agreement-camera-stage{width:min(360px,84vw)}}

/* Larger, single-question referral choices for the client agreement kiosk. */
.agreement-referrals>div{gap:12px}
.agreement-referrals label{cursor:pointer}
.agreement-referrals label span{min-height:66px;padding:12px 14px;border-radius:14px;background:#fff;font-size:.92rem;font-weight:800;line-height:1.3;transition:border-color .15s ease,background .15s ease,color .15s ease}
.agreement-referrals label:hover span{border-color:#9e978c;background:#faf8f4}
.agreement-referrals input:focus-visible+span{outline:3px solid #d8c09b;outline-offset:2px}

/* Visit-type selection and minor parent/legal-guardian fields. */
.agreement-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}
.agreement-paths button{display:grid;align-content:start;gap:7px;min-height:112px;margin:0;padding:17px 20px;border:1px solid #d8d3ca;border-radius:18px;background:#fff;color:#2b2924;text-align:left}
.agreement-paths button:hover:not(:disabled){border-color:#8aa58f;background:#f4f8f4;box-shadow:0 10px 24px #304a3512}
.agreement-paths button span{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:650;line-height:1.08}
.agreement-paths button small{color:#6f6a62;font-size:.76rem;font-weight:550;line-height:1.48}
.agreement-paths button b{align-self:end;margin-top:auto;color:#346043;font-size:.7rem;text-transform:uppercase}
.agreement-paths button:disabled{cursor:not-allowed;border-style:dashed;background:#f5f3ee;color:#7f7a72}
.agreement-paths button:disabled b{color:#9a5a4f}
.agreement-single-field{max-width:420px;margin:0 0 26px}
.agreement-card select{width:100%;min-height:52px;padding:0 14px;border:1px solid #cfcbc3;border-radius:11px;background:#fff;font:inherit;font-size:1rem}
.agreement-card select:focus{outline:3px solid #d8c09b;outline-offset:1px}
.agreement-check+.agreement-check{margin-top:10px}
@media(max-width:700px){.agreement-paths{grid-template-columns:1fr}.agreement-paths button{min-height:88px;padding:15px 18px}.agreement-paths button span{font-size:1.5rem}}

/* Owner service-agreement records and referral reporting */
.owner-agreement-heading{align-items:center}.owner-agreement-heading .owner-actions{display:flex;gap:9px}.owner-agreement-heading a{text-decoration:none}.owner-agreement-draft{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid #e4cfad;border-radius:12px;background:#fff8ea;color:#72572e}.owner-agreement-draft strong{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#efdfc4;font-size:.5rem;text-transform:uppercase}.owner-agreement-draft p{margin:0;font-size:.57rem;line-height:1.5}.owner-agreement-metrics{margin-bottom:16px}.owner-agreement-panel{overflow:hidden}.owner-agreement-tools{display:grid;grid-template-columns:minmax(220px,1fr)190px 155px 155px;gap:11px;padding:15px 18px;border-bottom:1px solid #e6e8e4;background:#fafbf9}.owner-agreement-tools label{display:grid;gap:5px;color:#6e756f;font-size:.49rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.owner-agreement-tools input,.owner-agreement-tools select{min-height:40px;padding:8px 10px;border:1px solid #d4d9d3;border-radius:9px;background:#fff;font:inherit;font-size:.61rem;letter-spacing:0;text-transform:none}.owner-agreement-layout{display:grid;grid-template-columns:minmax(0,1.75fr)minmax(230px,.75fr)}.owner-agreement-layout>section{border-right:1px solid #e4e7e2}.owner-agreement-layout .owner-panel-heading{min-height:72px;padding:15px 18px;border-bottom:1px solid #e6e8e4}.owner-agreement-layout .owner-panel-heading h3{margin:3px 0 0;font-size:.75rem}.owner-agreement-layout .owner-panel-heading>span{color:#707770;font-size:.53rem}.owner-agreement-list{display:grid}.owner-agreement-row{display:grid;grid-template-columns:46px minmax(190px,1fr)auto auto;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #eceeeb}.owner-agreement-row>img,.owner-agreement-initial{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#e7eee7;color:#315b3d;object-fit:cover;font-size:.8rem;font-weight:900}.owner-agreement-row>div:nth-child(2){display:grid;gap:3px;min-width:0}.owner-agreement-row>div:nth-child(2) strong{overflow:hidden;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.owner-agreement-row>div:nth-child(2) small{overflow:hidden;color:#747b75;font-size:.5rem;text-overflow:ellipsis;white-space:nowrap}.owner-agreement-status{border-radius:999px;padding:5px 8px;background:#e5f2e8;color:#3f6b4c;font-size:.45rem;white-space:nowrap}.owner-agreement-status.attention{background:#fff0d8;color:#865f25}.owner-agreement-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.owner-agreement-actions a,.owner-agreement-actions button{padding:7px 9px;border:1px solid #d6dad5;border-radius:8px;background:#fff;color:#303630;font:inherit;font-size:.49rem;font-weight:800;text-decoration:none;white-space:nowrap}.owner-referral-list{display:grid;padding:12px 16px}.owner-referral-list article{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid #eceeeb;overflow:hidden}.owner-referral-list article span{display:grid;gap:2px}.owner-referral-list strong{font-size:.59rem}.owner-referral-list small{color:#727972;font-size:.49rem}.owner-referral-list b{font-size:.58rem}.owner-referral-list i{position:absolute;right:0;bottom:0;left:0;width:var(--referral-width);height:2px;background:#9ab69f}
.owner-shop-setup{margin:0 0 20px;border:1px solid #dce2da;border-radius:14px;background:#fff;overflow:hidden}
.owner-shop-setup>summary{padding:18px 20px;cursor:pointer;font-size:15px;font-weight:750;min-height:54px}
.owner-shop-setup>summary>span{display:block;margin:5px 0 0;color:#72796f;font-size:12px;font-weight:400}
.owner-shop-setup[open]>.owner-shop-sync-status,.owner-shop-setup[open]>.owner-shop-shippo-test{margin:12px 20px}
.owner-shop-queue{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0 14px}
.owner-shop-queue button{display:grid;gap:10px;text-align:left;padding:20px 18px;border:1px solid #dce2da;border-radius:14px;background:#fff;color:#252923;font:inherit;cursor:pointer;min-width:0}
.owner-shop-queue button span{font-size:14px;font-weight:750}.owner-shop-queue button strong{font-size:32px;line-height:1}.owner-shop-queue button small{font-size:12px;color:#71796e}
.owner-shop-queue button[aria-pressed=true]{border-color:#386b4c;background:#eff6ef;box-shadow:inset 0 0 0 1px #386b4c}
.owner-shop-queue button:focus-visible,.owner-shop-queue-meta button:focus-visible,.owner-shop-setup>summary:focus-visible{outline:3px solid #6da37d;outline-offset:3px}
.owner-shop-queue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}
.owner-shop-queue-meta button{padding:10px 14px;min-height:44px;border:1px solid #dce2da;border-radius:999px;background:#fff;color:#3d473b;font:inherit;font-size:13px;cursor:pointer}.owner-shop-queue-meta button b{margin-left:8px}
.owner-shop-queue-meta button[aria-pressed=true]{background:#283d2d;color:white;border-color:#283d2d}.owner-shop-queue-meta>span{margin-left:auto;color:#687562;font-size:12px}
[data-owner-panel=shop] .owner-shop-grid{grid-template-columns:minmax(0,1fr)}
[data-owner-panel=shop] .owner-shop-readiness{display:block;margin-top:6px}
[data-owner-panel=shop] .owner-shop-readiness:not([open])>section{display:none}
[data-owner-panel=shop] .owner-shop-readiness[open]>.owner-panel{margin:12px 20px}
[data-owner-panel=shop] .owner-shop-tools input,[data-owner-panel=shop] .owner-shop-tools select{min-height:46px;font-size:14px}
[data-owner-panel=shop] .owner-shop-order-row{padding:18px 20px;gap:16px;cursor:pointer;grid-template-columns:minmax(180px,1.5fr) minmax(95px,.7fr) minmax(130px,.9fr) minmax(100px,.85fr) 90px}
[data-owner-panel=shop] .owner-shop-order-row strong{font-size:15px}[data-owner-panel=shop] .owner-shop-order-row small{font-size:12px;white-space:normal;overflow-wrap:anywhere}[data-owner-panel=shop] .owner-shop-order-row>span{font-size:13px}
[data-owner-panel=shop] .owner-shop-order-row .owner-shop-order-reference{font-size:10px;color:#889083}
[data-owner-panel=shop] .owner-shop-order-status{font-size:11px;padding:6px 9px}
.owner-shop-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid #cedecc;border-radius:12px;background:#f0f6ee;margin-bottom:22px}
.owner-shop-next.attention{border-color:#e5c8a2;background:#fff7eb}.owner-shop-next h3{font-size:20px;margin:4px 0 8px}.owner-shop-next p{font-size:14px;line-height:1.5;margin:0}.owner-shop-next small{display:block;font-size:12px;color:#6c7666;margin-top:8px}.owner-shop-next button{flex-shrink:0;min-height:44px}
[data-owner-panel=shop] .owner-shop-detail-grid>div{min-width:0}[data-owner-panel=shop] .owner-shop-detail-grid h3{font-size:17px}[data-owner-panel=shop] .owner-shop-detail-grid p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.owner-shop-pack-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:24px 0 12px}.owner-shop-pack-heading h3{font-size:18px;margin:0}.owner-shop-pack-heading span{font-size:12px;color:#73806d}
[data-owner-panel=shop] .owner-shop-line-item strong{font-size:14px}[data-owner-panel=shop] .owner-shop-line-item small{font-size:12px}[data-owner-panel=shop] .owner-shop-line-item>span{font-size:13px}[data-owner-panel=shop] .owner-shop-line-item .owner-shop-quantity{font-size:20px;font-weight:800;color:#355b3c}
.owner-shop-extra{border-top:1px solid #e2e7df;margin-top:18px}.owner-shop-extra>summary{padding:16px 0;min-height:48px;cursor:pointer;font-size:14px;font-weight:700}.owner-shop-references{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
#shop-print-sheet{display:none}
@media(max-width:1000px){.owner-shop-queue{grid-template-columns:repeat(3,minmax(0,1fr))}[data-owner-panel=shop] .owner-shop-order-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}[data-owner-panel=shop] .owner-shop-order-row>div:first-child{grid-column:1/-1}[data-owner-panel=shop] .owner-shop-order-row.head{display:none}.owner-shop-next{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.owner-shop-queue{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-shop-queue button{padding:16px 12px}.owner-shop-queue-meta>span{width:100%;margin:8px 0}.owner-shop-next button{width:100%}[data-owner-panel=shop] .owner-shop-tools{grid-template-columns:1fr}[data-owner-panel=shop] .owner-shop-detail-grid{grid-template-columns:1fr}[data-owner-panel=shop] .owner-shop-order-detail{padding:16px 12px}[data-owner-panel=shop] .owner-shop-line-item{grid-template-columns:minmax(0,1fr) 50px}[data-owner-panel=shop] .owner-shop-line-item>span:nth-child(3),[data-owner-panel=shop] .owner-shop-line-item>strong:last-child,[data-owner-panel=shop] .owner-shop-line-item.head>span:nth-child(4){display:none}}
@media print{body:has(#shop-print-sheet)>*:not(#shop-print-sheet){display:none!important}#shop-print-sheet{display:block!important;color:#000;background:#fff;padding:15px;font:14px Arial,sans-serif}#shop-print-sheet h1{font-size:20px}#shop-print-sheet .owner-shop-order-row{display:block}#shop-print-sheet .owner-shop-order-row>*{display:block;margin:6px 0}#shop-print-sheet .owner-shop-detail-grid{display:block}#shop-print-sheet .owner-shop-line-item{break-inside:avoid}#shop-print-sheet .owner-shop-next{background:white}#shop-print-sheet button{display:none!important}}
.owner-agreement-active{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid #bad5c0;border-radius:12px;background:#f1f8f2;color:#315b3d}.owner-agreement-active strong{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#dcecdf;font-size:.5rem;text-transform:uppercase}.owner-agreement-active p{margin:0;font-size:.57rem;line-height:1.5}
@media(max-width:1050px){.owner-agreement-tools{grid-template-columns:1fr 180px}.owner-agreement-layout{grid-template-columns:1fr}.owner-agreement-layout>section{border-right:0;border-bottom:1px solid #e4e7e2}.owner-agreement-row{grid-template-columns:44px minmax(150px,1fr) auto}.owner-agreement-status{grid-column:2}.owner-agreement-actions{grid-column:3;grid-row:1/3}}
@media(max-width:760px){.owner-agreement-heading{align-items:stretch}.owner-agreement-heading .owner-actions{flex-direction:column}.owner-agreement-heading .owner-actions>*{width:100%;text-align:center}.owner-agreement-draft,.owner-agreement-active{align-items:flex-start;flex-direction:column}.owner-agreement-tools{grid-template-columns:1fr}.owner-agreement-row{grid-template-columns:42px minmax(0,1fr);padding:12px}.owner-agreement-status{grid-column:2;justify-self:start}.owner-agreement-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-start;padding-left:54px}.owner-agreement-actions a,.owner-agreement-actions button{white-space:normal}}
@media(max-width:700px){.owner-dispute-heading,.owner-dispute-status,.owner-dispute-authorization{align-items:flex-start;flex-direction:column}.owner-dispute-card dl{grid-template-columns:1fr 1fr}.owner-dispute-authorization button{width:100%}}
.owner-online-availability{padding:18px;margin-bottom:16px;border:1px solid #ccd9d0;border-radius:12px;background:#f3f8f5}
.owner-online-availability label{display:flex;gap:14px;align-items:flex-start;cursor:pointer}
.owner-online-availability input[role=switch]{width:22px;height:22px;margin-top:3px;flex:0 0 auto;accent-color:#28573e}
.owner-online-availability label span{display:grid;gap:6px}
.owner-online-availability small,.owner-online-availability p{font-size:.875rem;line-height:1.5;color:#48584d}
.owner-online-availability p{margin:12px 0 0}
.ops-rebooking-badge{display:inline-flex!important;align-items:center;max-width:100%;padding:5px 9px;border-radius:6px;background:#e0f1e5;color:#214f33;font-size:.875rem;font-weight:700;line-height:1.3}
.ops-rebooking-badge.removed{background:#fff0db;color:#793f14}
.ops-rebooking-badge.replaced{background:#e9edf3;color:#384b68}
.ops-event-markers .ops-rebooking-badge.compact{font-size:12px;padding:2px 4px;width:auto;min-width:0;height:auto}
.ops-rebooking-details details{margin-top:14px}.ops-rebooking-details summary{cursor:pointer;font-weight:600;font-size:.875rem}
.ops-rebooking-details article{padding:14px 0;border-bottom:1px solid #dce3de;overflow-wrap:anywhere}
.ops-rebooking-details article p{margin:6px 0;font-size:.875rem;line-height:1.5}.ops-rebooking-details small{font-size:.8125rem;color:#556159}

/* Desktop calendar: typography only; preserve the original colors, spacing and status fading. */
@media (min-width:761px) {
  .ops-event .ops-event-time { font-size:14px; font-weight:800; line-height:1.15; }
  .ops-event strong { font-size:16px; font-weight:800; line-height:1.2; }
  .ops-day-grid .ops-event > .ops-event-service { font-size:14px; font-weight:650; line-height:1.2; }
  .ops-event .ops-event-service-list b { font-size:14px; font-weight:750; line-height:1.2; }
  .ops-event .ops-event-service-list small { font-size:12px; font-weight:700; opacity:1; }
  .ops-event em { font-size:11px; font-weight:800; opacity:1; }
  .ops-event.compact strong { font-size:14px; line-height:1; }
  .ops-event.compact .ops-event-time { font-size:13px; line-height:1; }
  .ops-time-labels > div { font-size:13px; }
  .ops-time-labels > div.hour { font-size:14px; font-weight:800; }
  .ops-time-labels > div.quarter { font-size:12px; }
  .ops-staff-heading strong { font-size:15px; font-weight:800; }
  .ops-week-event time { font-size:13px; }
  .ops-week-event strong { font-size:15px; font-weight:800; }
  .ops-week-event span { font-size:13px; }
}

.ops-note-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ops-note-heading > span, .ops-note-edited { color:#536057; font-size:12px; line-height:1.5; }
.ops-note-heading .ops-inline-edit { flex-shrink:0; margin:0; min-height:36px; font-size:13px; }
.ops-client-note .ops-client-note-body { white-space:pre-wrap; overflow-wrap:anywhere; color:#24312a; font-size:14px; line-height:1.5; }
.ops-note-history { margin-top:9px; color:#48564d; font-size:12px; }
.ops-note-history summary { cursor:pointer; font-weight:700; }
.ops-note-history > div { margin-top:8px; padding:10px; border-left:3px solid #c3d0c6; background:#f5f7f5; }
.ops-note-history p { white-space:pre-wrap; overflow-wrap:anywhere; }
.ops-note-edit-form { display:grid; gap:10px; margin-top:12px; }
.ops-note-edit-form label { display:grid; gap:6px; color:#24312a; font-size:13px; font-weight:700; }
.ops-note-edit-form textarea { width:100%; min-height:110px; padding:12px; border:1px solid #849c8d; border-radius:8px; background:#fff; color:#172b20; font:inherit; font-size:16px; line-height:1.5; resize:vertical; box-sizing:border-box; }
.ops-note-edit-actions { display:flex; justify-content:flex-end; gap:8px; }
.ops-note-edit-actions button { min-height:40px; padding:9px 15px; border:1px solid #a9b9af; border-radius:8px; background:#fff; color:#254231; font-size:14px; font-weight:700; }
.ops-note-edit-actions button[type=submit] { background:#2f6046; color:#fff; border-color:#2f6046; }
.ops-note-edit-actions button:disabled { opacity:.6; cursor:wait; }
.ops-client-note .ops-note-edit-error { margin:0; color:#943428; font-size:13px; }

/* Team portal stock-removal shortcut, visible without opening mobile navigation. */
.staff-salon-use-shortcut { display:flex; align-items:center; gap:14px; margin:0 0 20px; padding:18px; border:1px solid #ccd8cf; border-radius:14px; background:#f2f7f3; color:#254231; text-decoration:none; min-height:64px; box-sizing:border-box; }
.staff-salon-use-shortcut > span { font-size:26px; }
.staff-salon-use-shortcut > div { flex:1; min-width:0; display:grid; gap:5px; }
.staff-salon-use-shortcut strong { font-size:18px; }
.staff-salon-use-shortcut small { font-size:14px; line-height:1.4; }
.staff-salon-use-shortcut > b { font-size:24px; }
.staff-salon-use-shortcut:focus-visible, .salon-use-back-link:focus-visible { outline:3px solid #39744d; outline-offset:3px; }
.salon-use-back-link { display:inline-flex; align-items:center; min-height:44px; margin-bottom:14px; color:var(--su-ink); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.ops-calendar-entry-choice { display:flex; gap:8px; padding:5px; margin:0 0 18px; border:1px solid #d4ddd7; border-radius:12px; background:#f4f7f4; }
.ops-calendar-entry-choice button { flex:1; min-height:46px; padding:10px 12px; border:1px solid transparent; border-radius:8px; background:transparent; color:#34473b; font:inherit; font-size:15px; font-weight:750; cursor:pointer; }
.ops-calendar-entry-choice button[aria-pressed="true"] { background:#fff; border-color:#9bb6a4; color:#203e2d; box-shadow:0 1px 3px #18302112; }
.ops-calendar-entry-choice button:focus-visible { outline:3px solid #39744d; outline-offset:2px; }
.messages-body .messages-conversation-header h2 { color:#242724; font-weight:750; }
