:root{--bg:#f5f6f7;--surface:#fff;--ink:#101214;--muted:#70757b;--line:#e8eaed;--accent:#f0cf4b;--accent-ink:#111;--dark:#151719;--danger:#c72e2e;--radius:18px;--shadow:0 12px 34px rgba(16,18,20,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#8a9096}.muted,.hint{color:var(--muted)}.hint{font-size:13px}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--accent);display:grid;place-items:center;font-weight:950;letter-spacing:-.05em}.brand-mark.small{width:38px;height:38px;border-radius:11px}.brand-name{font-size:17px;font-weight:900;letter-spacing:.08em}.brand-sub{font-size:12px;color:var(--muted)}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-dark{background:var(--dark);color:#fff}.btn-ghost{background:#f2f3f4;border:1px solid var(--line);color:var(--ink)}.btn-lg{min-height:54px;font-size:16px;padding:14px 22px}.public-shell{max-width:980px;margin:auto;padding:30px 20px 70px}.public-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}.booking-card,.success-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:clamp(24px,5vw,52px)}.booking-card h1,.success-card h1{font-size:clamp(34px,6vw,58px);line-height:1;letter-spacing:-.05em;margin:10px 0 16px}.lead{font-size:17px;line-height:1.6;color:#565c62;max-width:680px}.booking-card h2{margin:2px 0 20px;font-size:22px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#4b5157}input,select,textarea{width:100%;background:#fff;border:1px solid #dfe2e5;border-radius:12px;padding:13px 14px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#9fa72a;box-shadow:0 0 0 3px rgba(240,207,75,.22)}textarea{resize:vertical}.form-foot{text-align:center;color:var(--muted);font-size:12px}.center-page{min-height:100vh;display:grid;place-items:center;padding:20px}.success-card{max-width:620px;width:100%;text-align:center}.success-icon{width:66px;height:66px;border-radius:22px;background:var(--accent);display:grid;place-items:center;font-size:30px;font-weight:900;margin:0 auto 22px}.summary-box{background:#f6f7f8;border-radius:18px;padding:6px 20px;margin:28px 0;text-align:left}.summary-box>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e5e7e9}.summary-box>div:last-child{border-bottom:0}.summary-box span{color:var(--muted);font-size:13px}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#101214;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 26px}.sidebar-brand b{display:block;font-size:14px;letter-spacing:.06em}.sidebar-brand span{display:block;color:#82888e;font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 12px;border-radius:10px;color:#b9bec3;font-size:14px;font-weight:700;display:flex;justify-content:space-between}.sidebar nav a.active,.sidebar nav a:hover{background:#1d2023;color:#fff}.sidebar nav em{font-style:normal;background:var(--accent);color:#111;border-radius:999px;padding:1px 7px;font-size:11px}.sidebar-bottom{margin-top:auto;display:grid;gap:7px}.sidebar-bottom a{font-size:12px;color:#8d9399;padding:9px}.workspace{padding:34px;max-width:1500px;width:100%;margin:auto}.workspace-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.workspace-head h1{font-size:40px;letter-spacing:-.04em;margin:5px 0}.workspace-head p{margin:0;color:var(--muted)}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat strong{font-size:32px;display:block;margin-top:6px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.panel-head h2{margin:4px 0 0;font-size:22px;letter-spacing:-.025em}.status{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;white-space:nowrap;background:#eef0f1}.status-pending,.status-pending_reconfirm{background:#fff2cc;color:#6b5200}.status-time_proposed{background:#e8efff;color:#3159a7}.status-confirmed{background:#e8f5ff;color:#1f608c}.status-vehicle_received{background:#efeaff;color:#5940a4}.status-in_progress{background:#fff0df;color:#9a5716}.status-ready{background:#e6f9e8;color:#24713a}.status-completed{background:#e9ecef;color:#4d5359}.status-rejected{background:#ffe6e6;color:#a12d2d}table{width:100%;border-collapse:collapse}.empty{padding:30px;text-align:center;color:var(--muted);background:#f7f8f9;border-radius:14px}.back{padding-top:9px;color:var(--muted);font-weight:800}@media(max-width:1050px){.app-shell{grid-template-columns:210px 1fr}.workspace{padding:24px}}@media(max-width:760px){.grid-2{grid-template-columns:1fr}.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-bottom{margin-top:15px}.workspace{padding:18px}.workspace-head{align-items:stretch;flex-direction:column}.booking-card{padding:24px}.public-shell{padding:18px}.sidebar-bottom{display:none}}@media print{body{background:#fff}}

/* v0.4: separate admin pages + compact confirmed order card */select:disabled{opacity:.65;cursor:not-allowed}

/* v0.5 — public wash-only booking flow + internal heavy-work booking */
.public-booking-shell{max-width:1120px}.public-header-compact{margin-bottom:18px}.booking-wizard{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.wizard-step{padding:30px}.wizard-step[hidden]{display:none}.wizard-bar{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px}.wizard-bar h1{font-size:clamp(30px,5vw,46px);letter-spacing:-.045em;margin:3px 0 0}.wizard-note{color:var(--muted);line-height:1.55;margin:0 0 24px;max-width:780px}.wizard-back{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:22px}.public-service-card{border-bottom:1px solid var(--line);padding:0;transition:.18s}.public-service-card:last-child{border-bottom:0}.public-service-card[hidden]{display:none}.public-service-card.selected{background:#fbffe9}.service-main-row{display:grid;grid-template-columns:auto 70px 1fr auto;gap:14px;align-items:center;padding:16px;cursor:pointer;color:var(--ink)}.service-main-row>input{width:18px;height:18px;accent-color:#111;order:4}.service-copy{display:grid;gap:7px}.service-copy b{font-size:18px;line-height:1.2}.service-price{font-size:17px;color:#25292d;font-weight:700}.service-info-toggle{margin:0 16px 13px 100px;border:0;background:transparent;color:#858b90;font-weight:700;padding:2px 0}.service-info-toggle span{display:inline-block;margin-left:7px}.service-description{background:#f6f7f8;padding:14px 18px 16px 100px;color:#4f555b;line-height:1.5;font-size:14px}.wizard-footer{position:sticky;bottom:0;z-index:5;margin:24px -30px -30px;padding:15px 30px;background:rgba(255,255,255,.96);backdrop-filter:blur(9px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.selection-summary{display:grid;gap:2px}.selection-summary span{color:var(--muted);font-size:13px}.selection-summary strong{font-size:19px}.calendar-card{max-width:760px;margin:0 auto;background:#fafafa;border:1px solid var(--line);border-radius:20px;padding:18px}.calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:16px}.calendar-head strong{font-size:24px}.calendar-head button{height:42px;border:0;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:27px}.calendar-head button:disabled{opacity:.3}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:7px;color:#92979c;font-size:12px;font-weight:800;text-align:center}.calendar-day{aspect-ratio:1;border:0;background:transparent;border-radius:14px;font-size:16px;font-weight:800}.calendar-day:hover:not(:disabled){background:#eceff1}.calendar-day.today{box-shadow:inset 0 0 0 1px #b6bcc0}.calendar-day.selected{background:#17191b;color:#fff}.calendar-day:disabled{color:#c8cccf;cursor:not-allowed}.calendar-blank{aspect-ratio:1}.time-panel{max-width:760px;margin:22px auto 0}.time-group{margin-top:20px}.time-group>span{display:block;color:#8b9196;font-size:14px;font-weight:800;margin-bottom:9px}.time-chips{display:flex;flex-wrap:wrap;gap:9px}.time-chips button{min-width:88px;border:1px solid #dcdfe2;background:#fff;border-radius:999px;padding:10px 15px;font-weight:750}.time-chips button:hover{border-color:#90969b}.time-chips button.selected{background:#17191b;color:#fff;border-color:#17191b}.time-empty{padding:30px;text-align:center;color:var(--muted);background:#f7f8f9;border-radius:16px}.contact-card{display:grid;gap:15px;max-width:760px;margin:auto}.selected-order-summary{max-width:760px;margin:24px auto 0;background:#f7f8f9;border-radius:16px;padding:16px}.selected-order-summary>div:not(.eyebrow){display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e5e7e9}.selected-order-summary>div:last-child{border-bottom:0}.selected-order-summary span{color:#62686e}.submit-booking{width:100%;max-width:760px;margin:18px auto 0;display:flex}.modern-success .btn{margin-top:6px}.internal-booking-form{max-width:980px}
@media(max-width:820px){.wizard-step{padding:18px}.wizard-footer{margin:20px -18px -18px;padding:12px 18px}.service-main-row{grid-template-columns:58px 1fr auto;gap:10px;padding:13px}.service-main-row>input{grid-column:3;grid-row:1}.service-copy b{font-size:16px}.service-price{font-size:15px}.service-info-toggle{margin-left:82px}.service-description{padding-left:82px}}
@media(max-width:560px){.public-shell.public-booking-shell{padding:0;background:#fff}.public-header-compact{padding:14px 16px;margin:0;border-bottom:1px solid var(--line)}.booking-wizard{border:0;border-radius:0;box-shadow:none}.wizard-bar h1{font-size:29px}.wizard-note{font-size:13px}.service-main-row{grid-template-columns:52px 1fr 20px;padding:12px 10px}.service-copy b{font-size:15px}.service-price{font-size:15px}.service-info-toggle{margin:0 10px 10px 72px;font-size:12px}.service-description{padding:11px 10px 13px 72px;font-size:12px}.wizard-footer{flex-direction:column;align-items:stretch}.wizard-footer .btn{width:100%}.compact-footer{flex-direction:row;align-items:center}.compact-footer .btn{width:auto}.calendar-card{padding:12px;border-radius:15px}.calendar-head strong{font-size:20px}.calendar-grid{gap:3px}.calendar-day{border-radius:10px}.time-chips button{min-width:76px;padding:9px 12px}}

/* v0.6 — sequential public booking: vehicle -> services -> calendar -> contacts */
.booking-v06 .booking-wizard{overflow:visible}.booking-v06 .wizard-progress{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding:22px 28px 0}.booking-v06 .progress-step{display:grid;justify-items:center;gap:5px;color:#a0a5aa;min-width:58px}.booking-v06 .progress-step b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eef0f2;color:#73797f;font-size:12px;transition:.2s}.booking-v06 .progress-step em{font-style:normal;font-size:11px;font-weight:800}.booking-v06 .progress-step.is-active b{background:var(--dark);color:#fff}.booking-v06 .progress-step.is-active em{color:var(--ink)}.booking-v06 .progress-step.is-complete b{background:var(--accent);color:#111}.booking-v06 .progress-step.is-complete em{color:#62686e}.booking-v06 .progress-line{width:74px;height:1px;background:#e1e4e6;margin-top:15px}

.vehicle-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 8px}.vehicle-type-card{position:relative;min-height:245px;border:1px solid #e0e3e5;background:#fff;border-radius:22px;padding:24px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:18px;transition:.18s ease;color:var(--ink)}.vehicle-type-card:hover{transform:translateY(-2px);border-color:#c9ced2;box-shadow:0 12px 30px rgba(16,18,20,.06)}.vehicle-type-card.selected{border-color:#17191b;box-shadow:0 0 0 1px #17191b,0 16px 34px rgba(16,18,20,.08)}.vehicle-illustration{height:108px;border-radius:18px;background:#f5f6f7;display:grid;place-items:center;padding:14px}.vehicle-illustration img{width:100%;max-width:200px;height:92px;object-fit:contain;display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.02))}.vehicle-card-copy{display:grid;gap:6px}.vehicle-card-copy b{font-size:22px;letter-spacing:-.02em}.vehicle-card-copy small{font-size:13px;color:#7b8186;line-height:1.35}.vehicle-select-mark{position:absolute;right:16px;top:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef0f1;color:transparent;font-size:13px;font-weight:950}.vehicle-type-card.selected .vehicle-select-mark{background:var(--accent);color:#111}.wizard-footer-single{justify-content:flex-end}.wizard-footer-single .btn:disabled{opacity:.38;cursor:not-allowed}

.vehicle-choice-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f6f7f8;border:1px solid #eceeef;border-radius:15px;padding:12px 14px;margin:16px 0 18px}.vehicle-choice-strip>div{display:grid;gap:2px}.vehicle-choice-strip span{font-size:11px}.vehicle-choice-strip strong{font-size:15px}.link-button{border:0;background:transparent;color:#4c5358;font-weight:800;text-decoration:underline;text-decoration-color:#c3c7ca;text-underline-offset:3px;padding:6px}

.service-sections{display:grid;gap:18px}.service-section-block{border:1px solid var(--line);border-radius:19px;overflow:hidden;background:#fff}.service-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:16px 18px;background:#f7f8f9;border-bottom:1px solid var(--line)}.service-section-head span{font-weight:900;font-size:16px}.service-section-head small{color:#92979c;font-size:11px;font-weight:700}.service-list-clean{display:grid}.clean-service-card{border-bottom:1px solid var(--line);background:#fff}.clean-service-card:last-child{border-bottom:0}.clean-service-card.selected{background:#fbffe9}.clean-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 18px;cursor:pointer}.clean-service-row>input{position:absolute;opacity:0;pointer-events:none}.clean-service-row .service-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.clean-service-row .service-copy b{font-size:16px;line-height:1.3}.clean-service-row .service-price{font-size:16px;font-weight:850;white-space:nowrap;color:#25292d}.clean-check{width:28px;height:28px;border-radius:8px;border:1.5px solid #ccd1d4;display:grid;place-items:center;color:transparent;background:#fff;font-size:14px;font-weight:950;transition:.15s}.clean-service-card.selected .clean-check{background:var(--dark);border-color:var(--dark);color:#fff}.clean-info-toggle{margin:0 18px 14px;border:0;background:transparent;color:#868c91;font-size:12px;font-weight:800;padding:0;display:inline-flex;align-items:center;gap:7px}.clean-info-toggle span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f0f2f3;color:#73797f}.clean-description{padding:13px 18px 15px;background:#f7f8f9;color:#555c61;font-size:13px;line-height:1.55;border-top:1px solid #eceeef}.common-service-block{margin-top:2px}

.booking-v06 .wizard-step{padding-top:26px}.booking-v06 .wizard-bar h1{max-width:780px}.booking-v06 .wizard-note{max-width:850px}.booking-v06 .selected-order-summary>div:first-of-type{border-top:0}

@media(max-width:820px){.vehicle-type-grid{grid-template-columns:1fr;gap:10px}.vehicle-type-card{min-height:0;display:grid;grid-template-columns:132px 1fr;align-items:center;padding:14px 48px 14px 14px}.vehicle-illustration{height:90px}.vehicle-select-mark{top:50%;transform:translateY(-50%)}.vehicle-card-copy b{font-size:19px}.booking-v06 .wizard-progress{gap:5px;padding-left:14px;padding-right:14px}.booking-v06 .progress-line{width:42px}.booking-v06 .progress-step em{font-size:10px}.service-section-head{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:560px){.booking-v06 .wizard-progress{padding-top:16px;padding-bottom:4px}.booking-v06 .progress-step{min-width:48px}.booking-v06 .progress-step b{width:28px;height:28px}.booking-v06 .progress-line{width:24px;margin-top:14px}.booking-v06 .progress-step em{font-size:9px}.vehicle-type-grid{margin-top:18px}.vehicle-type-card{grid-template-columns:108px 1fr;border-radius:16px}.vehicle-illustration{height:76px;border-radius:13px;padding:8px}.vehicle-illustration img{height:60px}.vehicle-card-copy b{font-size:17px}.vehicle-card-copy small{font-size:11px}.vehicle-select-mark{right:12px;width:25px;height:25px}.vehicle-choice-strip{margin-top:8px}.clean-service-row{padding:15px 14px}.clean-service-row .service-copy{grid-template-columns:1fr;gap:6px}.clean-service-row .service-copy b{font-size:15px}.clean-service-row .service-price{font-size:15px}.clean-info-toggle{margin-left:14px}.clean-description{padding-left:14px;padding-right:14px}.service-section-head{padding:14px}.wizard-footer-single .btn{width:100%}}

/* v0.7 — stronger hierarchy between primary and add-on services */
.primary-service-block{
  border-color:#dfe3e6;
  box-shadow:0 8px 24px rgba(16,18,20,.035);
}
.service-head-copy{display:grid;gap:4px}
.service-head-copy strong{font-size:17px;line-height:1.2;letter-spacing:-.015em}
.service-kicker{
  width:max-content;
  font-size:9px;
  line-height:1;
  letter-spacing:.14em;
  font-weight:950;
  color:#151719;
  background:var(--accent);
  border-radius:999px;
  padding:6px 8px 5px;
}
.service-kicker.secondary{
  color:#666d72;
  background:#e9ecee;
}
.primary-service-block .clean-service-card{background:#fff}
.primary-service-block .clean-service-card:hover{background:#fafbfb}
.primary-service-block .clean-service-card.selected{background:#fbffe9}

.common-service-block{
  margin-top:8px;
  border:1px solid #e8ebed;
  background:#f5f6f7;
  box-shadow:none;
  padding:12px;
  overflow:visible;
}
.common-service-head{
  border:0;
  background:transparent;
  padding:4px 4px 13px;
}
.common-service-head .service-head-copy strong{
  font-size:15px;
  color:#555c61;
}
.common-service-head small{
  color:#9aa0a5;
  font-size:10px;
}
.common-service-block .service-list-clean{
  gap:7px;
}
.secondary-service-card{
  border:1px solid #e6e9eb !important;
  border-radius:13px;
  overflow:hidden;
  background:#fff !important;
}
.secondary-service-card.selected{
  border-color:#cfd79b !important;
  background:#fcffef !important;
}
.secondary-service-card .clean-service-row{
  padding:13px 14px;
  gap:14px;
}
.secondary-service-card .clean-service-row .service-copy b{
  font-size:14px;
  font-weight:800;
  color:#444a4f;
}
.secondary-service-card .clean-service-row .service-price{
  font-size:14px;
  color:#5a6065;
}
.secondary-service-card .clean-check{
  width:24px;
  height:24px;
  border-radius:7px;
  border-color:#d4d8db;
}
.secondary-service-card .clean-info-toggle{
  margin:0 14px 11px;
  color:#9a9fa4;
  font-size:11px;
}
.secondary-service-card .clean-info-toggle span{
  width:16px;
  height:16px;
  font-size:10px;
  background:#eef0f1;
}
.secondary-service-card .clean-description{
  background:#fafbfb;
  color:#666d72;
  font-size:12px;
  padding:11px 14px 13px;
}
@media(max-width:820px){
  .common-service-head{align-items:flex-start;flex-direction:column;gap:7px}
}
@media(max-width:560px){
  .common-service-block{margin-left:-4px;margin-right:-4px;padding:9px;border-radius:16px}
  .common-service-head{padding:3px 3px 10px}
  .secondary-service-card .clean-service-row{padding:12px}
  .secondary-service-card .clean-service-row .service-copy b{font-size:14px}
  .secondary-service-card .clean-service-row .service-price{font-size:13px}
  .secondary-service-card .clean-info-toggle{margin-left:12px}
}

/* Look Car CRM 1.0 */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f4f5}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px;display:grid;gap:20px;box-shadow:var(--shadow)}.login-card h1{font-size:36px;letter-spacing:-.04em;margin:8px 0}.login-card p{color:var(--muted)}.notice-error{padding:12px 14px;border-radius:12px;background:#fff1f1;color:#9c2525;font-weight:800}.user-chip{margin:18px 0;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;display:grid;gap:2px}.user-chip span{font-size:11px;color:#9aa0a6}.nav-divider{height:1px;background:rgba(255,255,255,.08);margin:6px 0}.status-closed{background:#e6efe7!important;color:#2d6238!important}.status-in_progress{background:#fff4d8!important;color:#845d00!important}.status-ready{background:#e9f5e5!important;color:#2d6932!important}.view-switch{display:flex;gap:3px;background:#f1f2f3;border-radius:10px;padding:3px;margin-left:auto}.view-switch a{padding:8px 12px;border-radius:8px;font-size:12px;font-weight:800}.view-switch a.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06)}.calendar-panel{overflow:auto;padding:0}.staff-calendar{min-width:900px;display:grid;grid-template-columns:76px repeat(var(--staff-count),minmax(190px,1fr));align-items:stretch}.cal-corner,.cal-staff{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line);padding:14px}.cal-corner{left:0;z-index:5;font-size:12px;font-weight:900}.cal-staff{display:grid;gap:2px;border-left:1px solid var(--line)}.cal-staff small{color:var(--muted);font-size:10px}.cal-time{position:sticky;left:0;z-index:2;background:#fafafa;padding:11px 10px;border-top:1px solid var(--line);font-size:11px;font-weight:900;color:#7a8085}.cal-cell{min-height:72px;border-left:1px solid var(--line);border-top:1px solid var(--line);padding:5px;background:#fff}.cal-booking{display:grid;gap:2px;padding:9px;border-radius:10px;background:#f4f6f7;border-left:4px solid #b7bdc2;font-size:11px;margin-bottom:4px}.cal-booking b{font-size:12px}.cal-booking span,.cal-booking small{color:#687078}.status-edge-in_progress{border-left-color:#e4a90f}.status-edge-ready{border-left-color:#68a568}.status-edge-closed{border-left-color:#333}.week-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.week-day{min-height:210px}.week-job{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.week-job>span{font-weight:900}.week-job div{display:grid;gap:2px}.week-job small{color:var(--muted)}.empty-mini{padding:20px 0;color:var(--muted);font-size:12px}.status-control{display:grid;gap:12px}.status-control form .btn{width:100%}
@media(max-width:1000px){.week-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.week-grid{grid-template-columns:1fr}.view-switch{margin-left:0}.login-card{padding:26px}}

/* v1.1 wage rules and quality penalty */.wage-service-row{display:grid!important;grid-template-columns:minmax(220px,1fr) 150px;gap:12px!important;align-items:start!important;padding:16px 0!important}@media(max-width:760px){.wage-service-row{grid-template-columns:1fr}}

/* v1.3 calendar, wash team, vehicle class review, clearer service edit boundaries */
.status-class_mismatch{background:#fff0e5!important;color:#9a4c11!important}
.admin-calendar-head{display:flex!important;grid-template-columns:none!important;text-align:left!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;margin-bottom:24px!important}
.admin-calendar-title{min-width:0;flex:1}.admin-calendar-title h1{font-size:40px;letter-spacing:-.04em;margin:5px 0}.admin-calendar-title p{margin:0;color:var(--muted);max-width:680px;line-height:1.45}.wage-service-row{border:1.5px dashed #d1d5d8!important;border-radius:15px!important;padding:15px!important;background:#fcfdfd}.wage-service-row + .wage-service-row{margin-top:0}
@media(max-width:900px){.admin-calendar-head{align-items:stretch!important;flex-direction:column}}
@media(max-width:700px){.admin-calendar-title h1{font-size:34px}}

/* v1.3.1 — owner cash overview: gross studio cash + compact master payroll report */

/* v1.3.2 calendar: unassigned wash lane is contextual, never permanent */
.calendar-empty-state{margin:18px;border:1px dashed #cfd4d8;border-radius:16px;padding:22px;background:#fafbfb;display:grid;gap:6px;max-width:720px}.calendar-empty-state b{font-size:16px}.calendar-empty-state span{color:var(--muted);font-size:13px;line-height:1.55}

/* v1.3.4 — tidy wage adjustment + owner wash executor picker */

/* v1.3.5 — stable wage correction block + calendar save feedback */
.wage-service-row{min-width:0!important;overflow:hidden}
.wage-service-row>*{min-width:0}
.calendar-save-notice{margin-bottom:14px;padding:13px 15px;border:1px solid #cfe6c4;background:#eef8e8;color:#315c32;border-radius:13px;font-size:13px;font-weight:800}

/* v1.3.6 — every wage rate editable + stable price/wage layout */
.wage-base-input,.penalty-input{width:100%!important}

/* v1.4.1 — schedules, specialties and per-service reminders */.status-auto-note{display:grid;gap:5px;padding:13px;border-radius:12px;background:#f5f6f7}.status-auto-note b{font-size:14px}.status-auto-note span{font-size:11px;line-height:1.5;color:#6d7378}.cal-booking em{font-style:normal;font-size:9px;font-weight:850;color:#777d81;margin-top:2px}.calendar-save-notice{position:relative}

/* v1.4.1 — scheduling modes + service automations */.cal-booking em{font-style:normal;color:#7b8288;font-size:10px;font-weight:800}

/* v1.5.0 — role separation, payment methods, terminal visit states */
.status-control form{margin-top:9px}.status-secondary-actions{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.status-secondary-actions form{margin:0}.status-secondary-actions .btn{width:100%;justify-content:flex-start;font-size:12px}
.payment-dialog{width:min(520px,calc(100vw - 30px));border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.22)}.payment-dialog::backdrop{background:rgba(10,12,14,.48)}.payment-dialog form{padding:26px;display:grid;gap:12px}.payment-dialog h2{margin:0;font-size:28px}.payment-dialog p{margin:0;color:var(--muted);font-size:13px}.payment-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0}.payment-method-btn{border:1px solid #dfe3e5;background:#f8f9f9;border-radius:14px;padding:18px 10px;font-weight:900}.payment-method-btn:hover{border-color:#b9d12a;background:#f8ffdf}
.status-no_show,.status-cancelled{background:#eef0f1;color:#575e63}.status-closed{background:#e8f6e9;color:#2e7338}
@media(max-width:700px){.payment-method-grid{grid-template-columns:1fr!important}}

/* v1.5.0 — role-safe booking actions, payment/outcome dialogs, cash split */
.outcome-dialog{width:min(520px,calc(100vw - 30px));border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.22)}
.outcome-dialog::backdrop{background:rgba(10,12,14,.48)}
.outcome-dialog form{padding:26px;display:grid;gap:12px}.outcome-dialog h2{margin:0;font-size:26px}.outcome-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.outcome-dialog textarea{width:100%}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:4px}
.status-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.status-secondary-actions .btn{width:100%;min-height:44px}
@media(max-width:700px){.status-secondary-actions{grid-template-columns:1fr}.dialog-actions{flex-direction:column}.dialog-actions .btn{width:100%}}


/* v1.5.2 — responsive employee creation form */

/* v1.5.3 — washer lunch break */
.cal-lunch-cell{background:repeating-linear-gradient(-45deg,#fff8dc,#fff8dc 8px,#fffdf2 8px,#fffdf2 16px)!important}.cal-lunch-card{height:100%;min-height:44px;border:1px dashed #d1a631;border-radius:10px;padding:8px 9px;display:grid;align-content:center;gap:2px;background:rgba(255,249,224,.9);color:#72580d}.cal-lunch-card b{font-size:11px}.cal-lunch-card span{font-size:10px;color:#8a711f}

/* v1.5.4 — clearer staff/services surfaces and long specialization fields */

/* v1.5.5 — stronger visual boundaries for employee and service cards */

/* =========================================================
   v1.6.0 — Mobile / PWA application shell
   ========================================================= */
.mobile-appbar,.mobile-bottom-nav{display:none}
.mobile-install-btn{border:0;background:#fff4c7;color:#1a2107;font-weight:900;border-radius:13px;padding:13px 14px;text-align:left;width:100%}

@media(max-width:820px){
  :root{--mobile-nav-h:74px;--mobile-top-h:62px}
  html{background:#eef1f3}
  body{background:#eef1f3;padding-bottom:env(safe-area-inset-bottom)}
  body,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
  input,select,textarea{font-size:16px}
  .app-shell{display:block;min-height:100dvh;padding-top:var(--mobile-top-h);padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom))}
  .sidebar{display:none!important}
  .workspace{max-width:none;margin:0;padding:16px 14px 24px;width:100%}

  .mobile-appbar{display:flex;position:fixed;inset:0 0 auto 0;height:calc(var(--mobile-top-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;z-index:80;background:rgba(16,18,20,.97);color:#fff;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 1px 0 rgba(255,255,255,.06)}
  .mobile-brand{display:flex;align-items:center;gap:9px;min-width:0}.mobile-brand>span:last-child{display:grid;gap:1px}.mobile-brand b{font-size:13px;letter-spacing:.08em}.mobile-brand small{font-size:9px;color:#93999f}.mobile-user-name{font-size:12px;font-weight:800;color:#dfe3e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}

  .mobile-bottom-nav{display:grid;position:fixed;z-index:90;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));padding:7px 7px env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);align-items:start;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-top:1px solid #dce1e4;box-shadow:0 -8px 28px rgba(16,18,20,.08)}
  .mobile-bottom-nav>a,.mobile-bottom-nav>details>summary{height:59px;border-radius:15px;display:grid;place-items:center;align-content:center;gap:4px;color:#747b81;font-size:10px;font-weight:850;list-style:none;position:relative;padding:0 3px;text-align:center}
  .mobile-bottom-nav>a b,.mobile-bottom-nav>details>summary b{font-size:21px;line-height:1;color:#383d41}.mobile-bottom-nav>a.active{color:#111;background:#f0f2f3}.mobile-bottom-nav>a.active b{color:#111}.mobile-bottom-nav .mobile-nav-new{background:#17191b;color:#fff;margin-top:-19px;height:65px;border-radius:20px;box-shadow:0 8px 24px rgba(16,18,20,.22);border:4px solid #eef1f3}.mobile-bottom-nav .mobile-nav-new b{color:#f0cf4b;font-size:26px}.mobile-bottom-nav .mobile-nav-new span{color:#fff}.mobile-bottom-nav em{position:absolute;right:9px;top:7px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#f0cf4b;color:#111;font-style:normal;font-size:9px;display:grid;place-items:center}

  .workspace-head{display:flex;align-items:flex-start;gap:12px;margin:8px 0 16px}.workspace-head>div:first-child{min-width:0}.workspace-head h1{font-size:31px;line-height:1.02;margin:4px 0 6px}.workspace-head p{font-size:12px;line-height:1.45}.eyebrow{font-size:9px}.panel{border-radius:18px;padding:15px;margin-bottom:13px;box-shadow:0 2px 8px rgba(16,18,20,.025)}.panel-head{margin-bottom:12px}.panel-head h2{font-size:19px}.btn{min-height:44px;border-radius:13px}.btn-lg{min-height:50px;font-size:15px}.empty{padding:24px 16px}.stat{padding:12px;border-radius:14px}.stat span{font-size:10px;line-height:1.2}.stat strong{font-size:25px;margin-top:4px}.view-switch{grid-column:1/-1;margin:0;width:100%}.view-switch a{flex:1;text-align:center}.calendar-panel{margin-left:-14px;margin-right:-14px;border-radius:0;border-left:0;border-right:0;overflow:auto;-webkit-overflow-scrolling:touch}.staff-calendar{min-width:max(680px,calc(76px + (var(--staff-count) * 190px)))}.cal-cell{min-height:64px}.cal-booking{padding:7px}.week-grid{grid-template-columns:1fr;gap:9px}.week-day{min-height:0}.week-job{grid-template-columns:54px 1fr}.status-control{border:1px solid #d7dde0;box-shadow:0 6px 18px rgba(16,18,20,.05)}.status-control .btn-lg{width:100%}.status-secondary-actions{grid-template-columns:1fr 1fr}.wage-service-row{padding:14px!important}.payment-method-grid{grid-template-columns:1fr}.payment-dialog form,.outcome-dialog form{padding:20px}.status-secondary-actions{grid-template-columns:1fr}.dialog-actions{display:grid}

  .internal-booking-form{max-width:none;padding:14px}

  .public-shell{padding-left:12px;padding-right:12px}.login-shell{padding:14px}.login-card{border-radius:20px;padding:24px}.login-card h1{font-size:31px}
}

@media(max-width:430px){
  .workspace{padding-left:10px;padding-right:10px}.workspace-head h1{font-size:28px}.stat{padding:10px}.stat strong{font-size:22px}.stat span{font-size:9px}.panel{padding:13px}.mobile-bottom-nav{padding-left:4px;padding-right:4px}.mobile-bottom-nav>a,.mobile-bottom-nav>details>summary{font-size:9px}.mobile-bottom-nav .mobile-nav-new{margin-top:-16px}
}

@media(display-mode:standalone){
  .mobile-appbar{background:#101214}
  .mobile-install-btn{display:none!important}
}

/* v1.6.1 — mobile polish, compact editors, calendar quick-create, customer discount */
:root{--accent:#f0cf4b;--accent-soft:#fff6d6;--accent-deep:#b88c00}

/* Full mobile menu page */
.mobile-menu-page{display:grid;gap:14px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-menu-grid>a{background:#fff;border:1px solid #dfe3e6;border-radius:18px;padding:18px;display:grid;gap:6px;min-height:108px;box-shadow:0 5px 16px rgba(16,18,20,.04)}.mobile-menu-grid>a b{font-size:17px}.mobile-menu-grid>a span{font-size:11px;color:var(--muted);line-height:1.4}.mobile-menu-logout{background:#fff1f1;color:#9c2525;border:1px solid #f3d8d8;border-radius:16px;padding:15px 17px;font-weight:900;text-align:center}.menu-install{background:var(--accent-soft);color:#5a4500;border:1px solid #ead37c}

/* Compact internal booking */

/* Collapsible service settings */

/* Customer permanent discount */

/* Calendar: denser staff columns + quick-create */
.cal-create-slot{height:100%;min-height:52px;display:grid;place-items:center;align-content:center;gap:1px;border-radius:9px;color:#99a0a5;opacity:.45;transition:.15s;background:transparent}.cal-create-slot span{font-size:19px;line-height:1}.cal-create-slot small{font-size:8px;font-weight:800}.cal-create-slot:hover{opacity:1;background:var(--accent-soft);color:#6a5100}.cal-cell{position:relative}

/* Explicit mobile order cards (fix overlapping text) */

@media(max-width:760px){
  .mobile-menu-grid{grid-template-columns:1fr 1fr;gap:8px}.mobile-menu-grid>a{min-height:94px;padding:14px;border-radius:15px}.mobile-menu-grid>a b{font-size:15px}.mobile-menu-grid>a span{font-size:10px}.mobile-menu-title{margin-bottom:10px}
  .internal-booking-form{padding:12px}
  .staff-calendar{grid-template-columns:52px repeat(var(--staff-count),112px)!important;min-width:calc(52px + (var(--staff-count) * 112px))!important}.cal-corner,.cal-staff{padding:8px 6px}.cal-staff b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-staff small{font-size:8px;line-height:1.15}.cal-time{padding:8px 5px;font-size:9px}.cal-cell{min-height:58px;padding:3px}.cal-booking{padding:5px;border-radius:7px;font-size:9px}.cal-booking b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-booking span,.cal-booking small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-booking em{font-size:7px}.cal-create-slot{min-height:50px}.calendar-panel{margin-left:-10px;margin-right:-10px}
}

@media(max-width:420px){
  .mobile-menu-grid{grid-template-columns:1fr}.staff-calendar{grid-template-columns:48px repeat(var(--staff-count),106px)!important;min-width:calc(48px + (var(--staff-count) * 106px))!important}
}

/* v1.6.3 — client vehicles, wash-only loyalty discount, compact admin controls */


/* v1.6.3 — compact service picker, compact lunch actions, mobile calendar/header fixes */
.cal-lunch-card{height:100%;min-height:52px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:9px;background:#fff3bd;border:1px solid #ead681;padding:5px}
.cal-lunch-card b{font-size:9px;line-height:1.1}.cal-lunch-card span{font-size:8px}

@media(max-width:760px){
  .cal-corner{font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;padding:7px 3px!important;text-align:center}
  .cal-staff{min-width:0!important;overflow:hidden!important}
  .cal-staff b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.08!important;text-align:left}
  .cal-staff small{display:block;white-space:normal!important;overflow:hidden!important;line-height:1.05!important;max-height:2.2em}
}


/* v1.6.4 — calendar interval fill + simpler complex booking creation */
.cal-cell.cal-interval-occupied{background:#fff9df;position:relative}
.cal-cell.cal-interval-occupied.interval-status-in_progress{background:#fff3cf}
.cal-cell.cal-interval-occupied.interval-status-ready{background:#edf7e9}
.cal-cell.cal-interval-occupied.interval-status-closed{background:#eef0f1}
.cal-cell.cal-interval-occupied:not(.cal-interval-start){border-top-color:rgba(188,156,31,.22)}
.cal-cell.cal-interval-occupied:not(.cal-interval-start)::before{content:"";position:absolute;left:0;top:-1px;bottom:0;width:4px;background:#f0c419;opacity:.75}
.cal-cell.cal-interval-occupied.interval-status-in_progress::before{background:#e4a90f}.cal-cell.cal-interval-occupied.interval-status-ready::before{background:#68a568}.cal-cell.cal-interval-occupied.interval-status-closed::before{background:#444}
.cal-interval-start .cal-booking{position:relative;z-index:4;margin-bottom:0;background:rgba(255,255,255,.9)}

/* v1.6.5 — staff colors, striped occupied time, sticky staff row, cleaner free cells */
.worker-color-1{--worker:#d2a20e;--worker-soft:#fff7d7;--worker-stripe:#f6df91}
.worker-color-2{--worker:#4f86c6;--worker-soft:#edf5ff;--worker-stripe:#d2e5fb}
.worker-color-3{--worker:#5f9861;--worker-soft:#edf7ee;--worker-stripe:#d5ead7}
.worker-color-4{--worker:#8668b5;--worker-soft:#f3eefb;--worker-stripe:#e1d7f2}
.worker-color-5{--worker:#bf725e;--worker-soft:#fbeeea;--worker-stripe:#f1d4cc}
.worker-color-6{--worker:#4d9691;--worker-soft:#eaf6f4;--worker-stripe:#cfe9e6}
.worker-color-7{--worker:#c1873c;--worker-soft:#fff3e2;--worker-stripe:#f1d8b2}
.worker-color-8{--worker:#708397;--worker-soft:#eff3f6;--worker-stripe:#d9e1e8}

.cal-staff[class*="worker-color-"]{border-bottom:3px solid var(--worker);background:linear-gradient(180deg,var(--worker-soft) 0 5px,#fff 5px 100%)}
.cal-cell[class*="worker-color-"] .cal-booking{border:1px solid #e1e5e8;border-left:4px solid var(--worker)!important;background:#fff}
.cal-cell.cal-interval-occupied.cal-interval-start{background:#fff!important}
.cal-cell[class*="worker-color-"].cal-interval-occupied:not(.cal-interval-start):not(.cal-lunch-cell){
  background:var(--worker-soft)!important;
}
.cal-cell[class*="worker-color-"].cal-interval-occupied:not(.cal-interval-start):not(.cal-lunch-cell)::before{background:var(--worker)!important;opacity:.82}
.cal-create-slot{gap:0!important}
.cal-create-slot span{font-size:24px!important;font-weight:500;line-height:1}

@media(max-width:760px){
  .calendar-panel{height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - 154px);min-height:370px;max-height:680px;overflow:auto!important;overscroll-behavior:contain}
  .cal-corner,.cal-staff{position:sticky!important;top:0!important;z-index:42!important;box-shadow:0 3px 7px rgba(16,18,20,.08)}
  .cal-corner{left:0!important;z-index:44!important}
  .cal-time{z-index:35!important}
  .cal-create-slot span{font-size:23px!important}
}


/* v1.6.6 — live current-time marker + symmetrical mobile navigation */
.staff-calendar{position:relative}
.current-time-indicator{position:absolute;left:0;right:0;height:0;border-top:2px solid #f0cf4b;z-index:40;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.current-time-indicator::after{content:"";position:absolute;left:76px;right:0;top:-1px;border-top:1px solid rgba(240,207,75,.38)}
.current-time-badge{position:absolute;left:5px;top:0;transform:translateY(-50%);min-width:66px;padding:4px 6px;border-radius:8px;background:#17191b;color:#f0cf4b;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;box-shadow:0 3px 10px rgba(16,18,20,.18)}
@media(max-width:760px){
  .current-time-indicator::after{left:52px}
  .current-time-badge{left:2px;min-width:48px;padding:3px 3px;border-radius:6px;font-size:8px}
  .mobile-bottom-nav .mobile-nav-new{margin-top:0!important;height:59px!important;border-radius:15px!important;border:0!important;box-shadow:0 4px 14px rgba(16,18,20,.16)!important}
  .mobile-bottom-nav .mobile-nav-new b{font-size:26px!important}
}
@media(max-width:420px){
  .current-time-indicator::after{left:48px}
  .mobile-bottom-nav .mobile-nav-new{margin-top:0!important;height:59px!important}
}


/* v1.6.6 — readable live timeline states */
.current-time-indicator{
  z-index:3!important;
  border-top:1px solid rgba(240,207,75,.68)!important;
  filter:none!important;
}
.current-time-indicator::after{
  border-top:1px solid rgba(240,207,75,.24)!important;
}
.current-time-badge{z-index:6}
.cal-booking{position:relative;z-index:6}
.cal-lunch-card{position:relative;z-index:6}
.cal-time.time-past{color:#aeb4b9!important;font-weight:650!important;background:#f6f7f8!important}
.cal-cell.time-past{filter:saturate(.55);background-color:#f8f9fa}
.cal-cell.time-past .cal-create-slot{opacity:.22}
.cal-cell.time-past .cal-booking{opacity:.66}
.cal-time.time-current{color:#17191b!important;font-weight:950!important;background:#fff6ce!important}
.cal-cell.time-current{box-shadow:inset 0 1px 0 rgba(240,207,75,.26),inset 0 -1px 0 rgba(240,207,75,.26)}
.cal-time.time-future{color:#30353a!important;font-weight:950!important;background:#fff!important}
.cal-cell.time-future{background-color:#fff}
.cal-cell.time-future .cal-create-slot{opacity:.62}
.cal-cell.time-future .cal-create-slot:hover{opacity:1}
@media(max-width:760px){
  .current-time-indicator{border-top-width:1px!important}
  .current-time-badge{font-size:7px!important;min-width:44px!important;background:rgba(23,25,27,.92)!important}
  .cal-time.time-past{font-weight:600!important}
  .cal-time.time-current,.cal-time.time-future{font-weight:950!important}
}

/* v1.6.7 — one calendar action sheet, generic breaks, selected-cell feedback */
.cal-create-slot.calendar-cell-action{
  width:100%;height:100%;min-height:50px;border:0;background:transparent;cursor:pointer;
  display:grid;place-items:center;color:#8f969b;padding:0;border-radius:8px;
}
.cal-create-slot.calendar-cell-action:hover{background:rgba(244,204,55,.10);color:#3d3d3d}
.cal-cell.is-action-selected{
  background:repeating-linear-gradient(-45deg,#fff7f7 0,#fff7f7 8px,rgba(215,63,63,.18) 8px,rgba(215,63,63,.18) 16px)!important;
  box-shadow:inset 0 0 0 2px rgba(201,52,52,.58)!important;
  filter:none!important;
}
.cal-cell.is-action-selected .cal-create-slot{color:#b52f2f!important;opacity:1!important}
.calendar-action-sheet{
  position:fixed;left:50%;bottom:calc(var(--mobile-nav-h, 78px) + 14px + env(safe-area-inset-bottom));
  transform:translateX(-50%);z-index:120;width:min(390px,calc(100vw - 28px));
  background:#fff;border:1px solid #dfe3e6;border-radius:20px;padding:12px;
  box-shadow:0 18px 45px rgba(15,20,24,.24);
}
.calendar-action-sheet[hidden]{display:none!important}
.calendar-action-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 3px 10px}
.calendar-action-sheet-head>div{display:grid;gap:2px;min-width:0}
.calendar-action-sheet-head small{font-size:11px;color:#788087;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-action-sheet-head b{font-size:15px}
.calendar-action-close{width:34px;height:34px;border:0;border-radius:10px;background:#f1f3f4;font-size:22px;line-height:1;color:#333;cursor:pointer}
.calendar-action-sheet-actions{display:grid;gap:7px}
.calendar-action-sheet-actions a,.calendar-action-sheet-actions button{
  width:100%;display:block;border:0;border-radius:12px;padding:13px 14px;text-align:center;
  font-size:14px;font-weight:900;text-decoration:none;cursor:pointer;
}
.calendar-action-primary{background:#17191b;color:#fff}
.calendar-action-sheet-actions form button{background:#fff3c9;color:#5f4900}
@media(min-width:761px){
  .calendar-action-sheet{bottom:24px;width:360px}
}


/* v1.6.8 — solid occupied time, full-day fill, common arrival time, exact nav symmetry */
@media(max-width:760px){
  .mobile-bottom-nav>a,.mobile-bottom-nav>details>summary{width:100%;min-width:0;margin:0!important;height:59px!important;border-radius:15px!important;align-self:start}
  .mobile-bottom-nav .mobile-nav-new{margin:0!important;height:59px!important;border-radius:15px!important;border:0!important}
}


/* v1.6.9 — cleaner current-time badge, lighter break action, full mobile scroll, vehicle-first internal booking */
.current-time-indicator{border-top:0!important;filter:none!important}
.current-time-indicator::after{display:none!important;border:0!important}
.calendar-action-sheet-actions #calendar-action-break-form button{
  background:#f4f5f6!important;color:#697178!important;border:1px solid #e2e5e7!important;
  padding:9px 12px!important;font-size:12px!important;font-weight:750!important;
}
.calendar-action-sheet-actions #calendar-action-break-form button:hover{background:#eceff1!important;color:#3f454a!important}
.calendar-bottom-spacer{display:none;grid-column:1/-1}
.internal-service-picker.is-disabled>summary{opacity:.52;cursor:not-allowed}
.internal-service-picker.is-disabled>summary i{opacity:.35}
@media(max-width:760px){
  .calendar-panel{
    overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto!important;
    scroll-padding-bottom:calc(var(--mobile-nav-h) + 42px);
  }
  .calendar-bottom-spacer{display:block;height:calc(var(--mobile-nav-h) + 52px)}
  .mobile-bottom-nav .mobile-nav-new{display:grid!important;place-items:center!important;align-content:center!important;gap:0!important}
  .mobile-bottom-nav .mobile-nav-new b{font-size:31px!important;line-height:1!important}
}


/* v1.6.10 — duplicate-service fix + compact order card + centered mobile order heading */
/* The service row itself uses display:grid!important, so explicitly preserve HTML hidden. */

/* Keep the status action compact: no empty visual band before the main action. */
.status-control h3{margin:0}
.status-control form{margin-top:0}
.status-control{align-content:start}

@media(max-width:760px){
  .status-control{gap:8px!important;padding-top:14px!important;padding-bottom:14px!important}
  .status-control h3{margin:0!important;line-height:1.2}
  .status-control form{margin-top:0!important}

  /* Center status / car / date across the full card width; back link remains on the left. */
}


/* v1.6.11 — unified vehicle picker + compact calendar controls + no sticky-toolbar collision */
.internal-vehicle-picker{margin-top:0}
.internal-vehicle-picker>summary:focus-visible{outline:2px solid rgba(240,207,75,.75);outline-offset:2px}

@media(max-width:760px){
  /* Keep one vertical scroll context: the toolbar no longer sticks over the staff header. */
  .view-switch{grid-column:1/-1!important;margin:0!important;padding:2px!important;border-radius:9px!important}
  .view-switch a{padding:6px 8px!important;border-radius:7px!important;font-size:11px!important}

  .admin-calendar-head{margin-bottom:6px!important;gap:0!important}
  .admin-calendar-title .eyebrow{display:none!important}
  .admin-calendar-title h1{font-size:26px!important;line-height:1!important;margin:0!important}
  .workspace:has(.admin-calendar-head){padding-top:10px!important}

  /* Stop scroll chaining that made the calendar and control card slide through each other. */
  .calendar-panel{
    height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - 118px)!important;
    min-height:410px!important;max-height:760px!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-bottom:calc(var(--mobile-nav-h) + 52px)!important;
  }
}

/* v1.6.12 — compact sequential service pickers + shared staff calendar */
[data-service-option][hidden]{display:none!important}
.service-slot-picker.is-disabled>summary{opacity:.52;cursor:not-allowed}
.cal-create-slot:disabled{opacity:.08!important;pointer-events:none!important;cursor:not-allowed!important}

/* 1.6.13: wash collaboration + approval compact UI */


/* v1.6.15 */
.no-slots-waitlist{display:grid;gap:10px;text-align:left}.no-slots-waitlist>b{font-size:16px;color:#17191b}.no-slots-waitlist>span{font-size:12px;line-height:1.55;color:var(--muted)}.no-slots-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.waitlist-success-shell{min-height:100vh;display:grid;align-content:start}.waitlist-success-card{width:min(620px,calc(100% - 28px));margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:14px;box-shadow:var(--shadow)}.waitlist-success-card h1{margin:0;font-size:34px;letter-spacing:-.04em}.waitlist-success-card p{color:#545b60;line-height:1.6}.waitlist-success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff4c7;font-size:28px;font-weight:950}.waitlist-summary{display:grid;gap:5px;padding:15px;border-radius:14px;background:#f6f7f8}.waitlist-summary small{color:var(--muted)}.waitlist-status{background:#fff4c7;color:#765500}.waitlist-admin-card form{margin:0}
@media(max-width:700px){.no-slots-actions{display:grid;grid-template-columns:1fr}}


/* =========================================================
   v1.6.16 — Look Car premium brand lockup
   ========================================================= */
.sidebar-brand.sidebar-brand-premium{
  display:grid;
  justify-items:start;
  gap:5px;
  padding:3px 8px 25px;
}
.sidebar-brand.sidebar-brand-premium img{
  display:block;
  width:154px;
  height:auto;
  max-height:48px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 5px 14px rgba(240,207,75,.08));
}
.sidebar-brand.sidebar-brand-premium span{
  margin:0 0 0 2px;
  color:#777e84;
  font-size:9px;
  font-weight:850;
  letter-spacing:.22em;
  text-transform:uppercase;
}

@media(max-width:820px){
  .mobile-brand.mobile-brand-premium{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:center;
    justify-items:start;
    gap:1px;
    min-width:128px;
    max-width:146px;
    height:100%;
    padding:5px 0 4px;
  }
  .mobile-brand-art{
    display:flex;
    align-items:center;
    width:134px;
    height:35px;
    overflow:visible;
    position:relative;
  }
  .mobile-brand-art::after{
    content:"";
    position:absolute;
    left:0;
    right:14%;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,rgba(240,207,75,.62),rgba(240,207,75,0));
    opacity:.42;
  }
  .mobile-brand-art img{
    display:block;
    width:132px;
    height:auto;
    max-height:35px;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 5px 12px rgba(240,207,75,.10));
  }
  .mobile-user-name{
    max-width:40vw;
  }
}

@media(max-width:390px){
  .mobile-brand.mobile-brand-premium{min-width:116px;max-width:128px}
  .mobile-brand-art{width:120px;height:32px}
  .mobile-brand-art img{width:118px;max-height:32px}
  .mobile-user-name{max-width:35vw}
}


/* =========================================================
   v1.6.17 — calmer mobile branding + "Нові роботи"
   ========================================================= */
@media(max-width:820px){
  .mobile-brand.mobile-brand-premium{
    min-width:116px;
    max-width:128px;
    padding:4px 0;
    gap:0;
  }
  .mobile-brand-art{
    width:122px;
    height:31px;
  }
  .mobile-brand-art::after{
    opacity:.18;
    right:22%;
  }
  .mobile-brand-art img{
    width:120px;
    max-height:31px;
    opacity:.74;
    filter:brightness(.90) saturate(.88) drop-shadow(0 3px 9px rgba(240,207,75,.035));
  }
}
@media(max-width:390px){
  .mobile-brand.mobile-brand-premium{min-width:108px;max-width:118px}
  .mobile-brand-art{width:112px;height:29px}
  .mobile-brand-art img{width:110px;max-height:29px}
}

/* =========================================================
   v1.6.18 — separate new-work notifications and waiting queue
   ========================================================= */
.waitlist-head{margin-bottom:14px}
.waitlist-add-panel{padding:0;overflow:hidden}
.waitlist-add-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#fff}
.waitlist-add-panel>summary::-webkit-details-marker{display:none}
.waitlist-add-panel>summary>span{display:grid;gap:4px}
.waitlist-add-panel>summary>b,.waitlist-add-panel>summary span>b{font-size:16px}
.waitlist-add-panel>summary i{font-style:normal;font-size:20px;color:#7a8187;transition:.15s}
.waitlist-add-panel[open]>summary i{transform:rotate(180deg)}
.waitlist-add-form{display:grid;gap:13px;padding:16px 18px 18px;border-top:1px solid var(--line)}
.waitlist-service-field{display:grid;gap:8px;font-size:13px;font-weight:800;color:#4b5157}
.waitlist-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:280px;overflow:auto;padding:3px}
.waitlist-service-choice{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e0e4e7;border-radius:12px;background:#fff;font-size:12px;font-weight:750;color:#24282c}
.waitlist-service-choice input{width:18px;height:18px;flex:0 0 18px;padding:0}
.waitlist-service-choice:has(input:checked){background:#fff8d9;border-color:#e5c94d}
.waitlist-service-choice[hidden]{display:none!important}
.waitlist-note{margin:2px 0 0;padding:10px 12px;background:#f6f7f8;border-radius:11px;color:#62696f;font-size:11px;line-height:1.45}
.waitlist-list-panel{margin-top:14px}
.waitlist-admin-card .card-actions{align-items:center}
.waitlist-admin-card .card-actions form{margin:0}

@media(max-width:820px){
  .waitlist-head{margin-bottom:9px}
  .waitlist-add-panel>summary{padding:13px 14px}
  .waitlist-add-form{padding:13px 14px 15px;gap:9px}
  .waitlist-service-grid{grid-template-columns:1fr;max-height:240px}
  .waitlist-client-grid,.waitlist-meta-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .waitlist-add-form .btn-lg{width:100%;min-height:48px}
}
@media(max-width:420px){
  .waitlist-client-grid,.waitlist-meta-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   v1.6.19 — five-item bottom navigation + top-right menu
   ========================================================= */
@media(max-width:820px){
  .mobile-user-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
    margin-left:auto;
  }
  .mobile-user-actions .mobile-user-name{max-width:31vw}
  .mobile-top-menu{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#dfe3e6;
    font-size:18px;
    font-weight:900;
    letter-spacing:1px;
    line-height:1;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    text-decoration:none;
  }
  .mobile-top-menu:active,.mobile-top-menu.active{background:rgba(255,255,255,.13);color:#f0cf4b}
  .mobile-bottom-nav.mobile-bottom-nav-five{
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding-left:7px;
    padding-right:7px;
  }
  .mobile-bottom-nav.mobile-bottom-nav-five>a{
    font-size:9.5px;
    padding-left:3px;
    padding-right:3px;
    gap:4px;
  }
  .mobile-bottom-nav.mobile-bottom-nav-five>a b{font-size:21px}
  .mobile-bottom-nav.mobile-bottom-nav-five .mobile-nav-new b{font-size:31px!important}
  .mobile-bottom-nav.mobile-bottom-nav-five em{right:8px;top:6px}

  /* slightly smaller, calmer logo */
  .mobile-brand.mobile-brand-premium{min-width:104px;max-width:114px}
  .mobile-brand-art{width:108px;height:28px}
  .mobile-brand-art img{width:106px;max-height:28px}
}
@media(max-width:390px){
  .mobile-brand.mobile-brand-premium{min-width:98px;max-width:106px}
  .mobile-brand-art{width:101px;height:27px}
  .mobile-brand-art img{width:99px;max-height:27px}
  .mobile-user-actions .mobile-user-name{max-width:29vw}
  .mobile-top-menu{width:32px;height:32px;flex-basis:32px;font-size:17px}
}


/* =========================================================
   v1.6.21 — clean top menu + balanced navigation icons
   ========================================================= */
@media(max-width:820px){
  .mobile-top-menu{
    width:28px;
    height:36px;
    flex:0 0 28px;
    padding:0;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#dfe3e6;
    display:grid;
    place-items:center;
  }
  .mobile-top-menu svg{width:23px;height:23px;fill:currentColor;display:block}
  .mobile-top-menu:active,.mobile-top-menu.active{background:transparent!important;color:#f0cf4b}

  .mobile-bottom-nav.mobile-bottom-nav-five>a{
    height:61px;
    font-size:10px;
    gap:5px;
    padding-left:2px;
    padding-right:2px;
  }
  .mobile-bottom-nav .nav-icon{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    color:#3f454a;
    line-height:1;
  }
  .mobile-bottom-nav .nav-icon svg{
    width:25px;
    height:25px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-bottom-nav>a.active .nav-icon{color:#111}
  .mobile-bottom-nav.mobile-bottom-nav-five .mobile-nav-new b{font-size:31px!important}
}
@media(max-width:390px){
  .mobile-top-menu{width:26px;flex-basis:26px}
  .mobile-top-menu svg{width:22px;height:22px}
  .mobile-bottom-nav.mobile-bottom-nav-five>a{font-size:9.5px}
  .mobile-bottom-nav .nav-icon{width:25px;height:25px}
  .mobile-bottom-nav .nav-icon svg{width:24px;height:24px}
}


/* v1.6.22 — denser mobile calendar toolbar: same actions, less vertical space */
@media(max-width:760px){
  .view-switch{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:30px!important;
    margin:0!important;
    padding:2px!important;
    gap:2px!important;
    border-radius:9px!important;
    background:#eceff1!important;
  }
  .view-switch a{
    display:grid!important;
    place-items:center!important;
    min-height:26px!important;
    padding:3px 8px!important;
    border-radius:7px!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .admin-calendar-head{margin-bottom:4px!important}
  .workspace:has(.admin-calendar-head){padding-top:8px!important}
  .calendar-panel{
    height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - 94px)!important;
  }
}


/* v1.6.23 — login brand logo + cleaner mobile nav pill + balanced calendar title */
@media(max-width:820px){
  .login-card .eyebrow{display:none!important}
  .login-brand{display:flex;align-items:center;justify-content:flex-start;margin-bottom:2px}
  .login-brand img{display:block;width:124px;max-width:100%;height:auto;opacity:.96}
  .login-card{gap:18px}
  .admin-calendar-head{margin:8px 0 10px!important;padding-top:4px!important}
  .admin-calendar-title h1{margin:0!important;line-height:1.02!important}
  .mobile-bottom-nav.mobile-bottom-nav-five>a:not(.mobile-nav-new){width:calc(100% - 12px)!important;justify-self:center}
  .mobile-bottom-nav.mobile-bottom-nav-five>a.active{background:#f0f2f3!important}
  .mobile-bottom-nav .mobile-nav-new{z-index:3!important}
}
@media(max-width:760px){
  .workspace:has(.admin-calendar-head){padding-top:12px!important}
  .admin-calendar-head{margin-bottom:12px!important}
}
@media(max-width:430px){
  .login-brand img{width:118px}
  .mobile-bottom-nav.mobile-bottom-nav-five>a:not(.mobile-nav-new){width:calc(100% - 10px)!important}
}


/* v1.6.24 — cleaner triangle arrows + tighter mobile calendar heading */
@media(max-width:820px){
  .waitlist-add-panel>summary i,.waitlist-chevron{font-size:15px!important;color:#6d7378!important;line-height:1!important}
  .waitlist-add-panel[open]>summary i,.waitlist-add-panel[open] .waitlist-chevron{transform:rotate(180deg)}
  .workspace:has(.admin-calendar-head){padding-top:6px!important}
  .admin-calendar-head{display:block!important;padding:6px 0!important;margin:0 0 6px!important}
  .admin-calendar-title{display:grid!important;gap:4px!important}
  .admin-calendar-title .eyebrow{margin:0!important;line-height:1!important}
  .admin-calendar-title h1{margin:0!important;line-height:1.02!important}
}
@media(max-width:760px){
  .admin-calendar-head{padding:5px 0!important;margin:0 0 5px!important}
}


/* v1.6.25 — unified triangle arrows */
.waitlist-chevron{display:inline-grid;place-items:center;min-width:18px;min-height:18px;font-size:0;line-height:0;color:transparent}
.waitlist-add-panel[open] .waitlist-chevron .triangle-caret{transform:rotate(180deg)}
.waitlist-chevron .triangle-caret{transition:transform .15s ease}
.calendar-head button{font-size:0;line-height:0}


/* v1.6.26 — robust visible glyph triangles */
.triangle-glyph{display:inline-block;line-height:1;font-style:normal;font-weight:900;color:#596067;vertical-align:middle;transition:transform .15s ease, opacity .15s ease}
.triangle-glyph.down{font-size:12px}
.triangle-glyph.left,.triangle-glyph.right{font-size:14px}
.triangle-glyph.left{transform:rotate(180deg)}
.waitlist-chevron{display:inline-grid!important;place-items:center!important;min-width:18px;min-height:18px;font-size:12px!important;line-height:1!important;color:#596067!important}
.waitlist-add-panel[open] .waitlist-chevron .triangle-glyph{transform:rotate(180deg)}
.calendar-head button{font-size:0;line-height:0}
.calendar-head button .triangle-glyph{display:block!important}
@media(max-width:820px){.triangle-glyph.down{font-size:11px}.triangle-glyph.left,.triangle-glyph.right{font-size:13px}}


/* v1.6.27 — custom down triangle for all native selects and date fields */
select, input[type="date"]{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2362686e' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
select::-ms-expand{display:none}
input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;top:0;bottom:0;width:42px;height:100%;cursor:pointer}
input[type="date"]::-webkit-inner-spin-button,input[type="date"]::-webkit-clear-button{display:none}
input[type="date"]{position:relative;min-height:46px}
@media(max-width:820px){select,input[type="date"]{padding-right:38px!important;background-position:right 12px center;background-size:11px 7px}}


/* v1.6.28 — overlay arrow for every native select/date field (desktop + Android/PWA) */
.native-field-shell{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
}
.native-field-shell > select,
.native-field-shell > input[type="date"]{
  width:100%!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
  padding-right:42px!important;
}
.native-field-caret{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:12px;
  height:8px;
  display:grid;
  place-items:center;
  color:#62686e;
  pointer-events:none;
  z-index:3;
}
.native-field-caret svg{display:block;width:12px;height:8px}
.native-field-shell.is-disabled .native-field-caret,
.native-field-shell:has(> :disabled) .native-field-caret{opacity:.35}
.native-field-shell > input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  cursor:pointer!important;
}
.native-field-shell > select::-ms-expand{display:none!important}
@media(max-width:820px){
  .native-field-caret{right:12px;width:11px;height:7px}
  .native-field-caret svg{width:11px;height:7px}
  .native-field-shell > select,
  .native-field-shell > input[type="date"]{padding-right:38px!important}
}


/* v1.6.29 — unify all dropdown/date/detail arrows to the same boxed triangle style */
.native-field-shell > select,
.native-field-shell > input[type="date"]{
  padding-right:56px!important;
}
.native-field-caret,
.waitlist-chevron{
  position:absolute!important;
  right:1px!important;
  top:1px!important;
  bottom:1px!important;
  width:44px!important;
  min-width:44px!important;
  min-height:calc(100% - 2px)!important;
  display:grid!important;
  place-items:center!important;
  border-left:1px solid #dfe2e5!important;
  border-radius:0 12px 12px 0!important;
  background:rgba(255,255,255,.92)!important;
  color:#596067!important;
  line-height:1!important;
  font-size:0!important;
  z-index:2!important;
  pointer-events:none!important;
}
.native-field-caret svg{width:12px!important;height:8px!important}

.waitlist-add-panel>summary{
  position:relative!important;
  padding-right:56px!important;
}

.waitlist-add-panel>summary>span{
  min-width:0;
}
.waitlist-add-panel>summary i,
.waitlist-chevron{
  font-style:normal!important;
}
@media(max-width:820px){
  .native-field-shell > select,
  .native-field-shell > input[type="date"]{padding-right:52px!important}
  .native-field-caret,
  .waitlist-chevron{
    width:40px!important;
    min-width:40px!important;
  }
}


/* v1.6.30 — lock every custom arrow to the exact vertical centre */
.native-field-caret,
.waitlist-chevron{
  top:50%!important;
  bottom:auto!important;
  height:calc(100% - 2px)!important;
  min-height:0!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
/* Older open-state rules rotated the whole arrow container and could shift it.
   Keep the container fixed; rotate only the triangle itself. */

.waitlist-add-panel[open]>summary i,
.waitlist-add-panel[open] .waitlist-chevron{
  transform:translateY(-50%)!important;
}

.waitlist-add-panel[open] .waitlist-chevron .triangle-glyph{
  transform:rotate(180deg)!important;
}
.native-field-caret svg,
.triangle-glyph{margin:auto!important;transform-origin:50% 50%}
/* left/right calendar triangles keep their intended direction */
.triangle-glyph.left{transform:rotate(180deg)!important}
.triangle-glyph.right{transform:none!important}


/* v1.6.31 — every downward arrow uses the exact same SVG as the booking-date field */
.triangle-glyph.down{
  display:block!important;
  width:12px!important;
  height:8px!important;
  min-width:12px!important;
  min-height:8px!important;
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.75 11 1.25Z' fill='%2362686e'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:12px 8px!important;
  transform-origin:50% 50%!important;
}
.native-field-caret{color:#62686e!important}
.native-field-caret svg{width:12px!important;height:8px!important}
@media(max-width:820px){
  .triangle-glyph.down{width:12px!important;height:8px!important;background-size:12px 8px!important}
  .native-field-caret{width:40px!important}
  .native-field-caret svg{width:12px!important;height:8px!important}
}

/* v1.6.32 — final arrow unification + lighter service cards + subtle FAB animation */
.native-field-shell > input[type="month"]{
  width:100%!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
  padding-right:56px!important;
}
.native-field-shell > input[type="month"]::-webkit-calendar-picker-indicator{
  opacity:0!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  cursor:pointer!important;
}
.native-field-shell > input[type="month"]::-ms-clear,
.native-field-shell > input[type="month"]::-ms-expand{display:none!important}
@media(max-width:820px){
  .native-field-shell > input[type="month"]{padding-right:52px!important}
}

.waitlist-add-panel>summary b::before{content:none!important}

.mobile-bottom-nav .mobile-nav-new{
  animation:fab-breathe 3.2s ease-in-out infinite;
}
.mobile-bottom-nav .mobile-nav-new b{
  animation:fab-plus-pop 3.2s ease-in-out infinite;
}
@keyframes fab-breathe{
  0%,100%{transform:translateY(0) scale(1); box-shadow:0 8px 24px rgba(16,18,20,.20)}
  50%{transform:translateY(-1px) scale(1.02); box-shadow:0 11px 28px rgba(16,18,20,.24)}
}
@keyframes fab-plus-pop{
  0%,100%{transform:scale(1) rotate(0deg)}
  10%{transform:scale(1.08) rotate(0deg)}
  16%{transform:scale(1) rotate(0deg)}
  50%{transform:scale(1.04) rotate(90deg)}
  56%{transform:scale(1) rotate(90deg)}
}

/* v1.6.33 — '+' is the action affordance for add/create panels */
.waitlist-add-panel[open] .panel-add-plus{
  transform:translateY(-50%) rotate(45deg)!important;
  color:#6b7075!important;
  background:#f4f5f6!important;
}
.waitlist-add-panel>summary{
  position:relative!important;
  padding-right:56px!important;
}
@media(max-width:820px){
  .waitlist-add-panel>summary{padding-right:52px!important}
}

/* v1.6.34 — waitlist service dropdown + central FAB stays a plus */
.waitlist-service-picker{width:100%}
.waitlist-service-picker>summary{min-height:50px}
.waitlist-service-menu{max-height:300px}
.waitlist-service-choice{width:100%;cursor:pointer}
.waitlist-service-choice input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:#111}
.waitlist-service-choice:has(input:checked){background:#fff8d9!important;box-shadow:inset 0 0 0 1px #e5c94d}
.waitlist-service-choice[hidden]{display:none!important}

/* Keep the primary + recognizable at every animation frame. */
@keyframes fab-plus-pop{
  0%,100%{transform:scale(1)}
  12%{transform:scale(1.10)}
  20%{transform:scale(1)}
  50%{transform:scale(1.04)}
  58%{transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .mobile-bottom-nav .mobile-nav-new,
  .mobile-bottom-nav .mobile-nav-new b{animation:none!important}
}


/* v1.6.35 — one-shot main FAB intro + clean animated add-panel plus */
.mobile-bottom-nav .mobile-nav-new,
.mobile-bottom-nav .mobile-nav-new b{
  animation:none!important;
}

/* Run only when JS adds .fab-intro once per browser session. */
.mobile-bottom-nav .mobile-nav-new.fab-intro{
  animation:fab-entry-card .72s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
.mobile-bottom-nav .mobile-nav-new.fab-intro b{
  animation:fab-entry-plus .72s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
@keyframes fab-entry-card{
  0%{transform:translateY(7px) scale(.92);box-shadow:0 2px 8px rgba(16,18,20,.10)}
  55%{transform:translateY(-2px) scale(1.035);box-shadow:0 10px 26px rgba(16,18,20,.24)}
  100%{transform:translateY(0) scale(1);box-shadow:0 4px 14px rgba(16,18,20,.16)}
}
@keyframes fab-entry-plus{
  0%{transform:scale(.72);opacity:.45}
  55%{transform:scale(1.16);opacity:1}
  100%{transform:scale(1);opacity:1}
}

/* The right-hand + on "add client" / "create service":
   the box never rotates; only the icon animates cleanly. */
.waitlist-add-panel[open] .panel-add-plus{
  transform:translateY(-50%)!important;
  background:#f4f5f6!important;
  color:#6b7075!important;
}
.waitlist-add-panel[open] .panel-plus-icon{
  transform:rotate(45deg) scale(1.03);
}

@media(prefers-reduced-motion:reduce){
  .mobile-bottom-nav .mobile-nav-new.fab-intro,
  .mobile-bottom-nav .mobile-nav-new.fab-intro b{animation:none!important;transition:none!important}
}

/* v1.6.36 — compact service list + sequential waitlist service slots + FAB press */
.waitlist-service-slot-list{display:grid;gap:7px}
.waitlist-service-slot{align-items:start}
.waitlist-service-slot .waitlist-service-picker{grid-column:1;min-width:0}
.waitlist-service-slot .service-slot-add,
.waitlist-service-slot .service-slot-remove{align-self:start}
.waitlist-service-option[hidden]{display:none!important}

@media(max-width:820px){

  .waitlist-service-slot-list{gap:6px}
  .waitlist-service-slot{grid-template-columns:minmax(0,1fr) 36px 36px!important;gap:6px!important}
}

/* Click/tap feedback for the main central +. No colour changes. */
.mobile-bottom-nav .mobile-nav-new.fab-press{
  animation:fab-press-card .24s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
.mobile-bottom-nav .mobile-nav-new.fab-press b{
  animation:fab-press-plus .24s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
@keyframes fab-press-card{
  0%{transform:scale(1)}
  45%{transform:scale(.92)}
  100%{transform:scale(1.035)}
}
@keyframes fab-press-plus{
  0%{transform:scale(1)}
  45%{transform:scale(.82)}
  100%{transform:scale(1.10)}
}
@media(prefers-reduced-motion:reduce){
  .mobile-bottom-nav .mobile-nav-new.fab-press,
  .mobile-bottom-nav .mobile-nav-new.fab-press b{animation:none!important}
}

/* v1.6.37 — truly compact service cards + clearer create-service form */

/* v1.6.39 — Tasks module + active home dashboards + login brand on public booking */
.public-login-brand{display:flex;align-items:center;justify-content:flex-start;margin:0}
.public-login-brand img{display:block;width:124px;max-width:100%;height:auto;opacity:.96}
.task-check-form{margin:0}
.task-check{width:27px;height:27px;border-radius:50%;border:2px solid #9ba2a8;background:#fff;color:#fff;font-weight:950;font-size:17px;line-height:1;display:grid;place-items:center;padding:0}
.task-check.checked{background:#181b1d;border-color:#181b1d}
.task-card.is-overdue .task-due{color:#bc3131;font-weight:800}
.task-card.is-done{opacity:.74}
.task-card.is-done .task-title{text-decoration:line-through}
.task-card.is-done .task-check{background:#24282b;border-color:#24282b}
.task-floating-add.is-open{transform:rotate(45deg)}

@media(max-width:820px){
  .public-login-brand img{width:124px}
  .task-check{width:25px;height:25px}
}
@media(max-width:430px){
  .public-login-brand img{width:118px}
}

/* v1.6.41 — contextual +, queue/task modals, fixed one-row dashboard */

/* Old global quick-create chooser is no longer used. */

/* Context change reminder: no colour change, just a short controlled motion. */
.mobile-bottom-nav .mobile-nav-new.fab-context-change{
  animation:fab-context-card .62s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
.mobile-bottom-nav .mobile-nav-new.fab-context-change b{
  animation:fab-context-plus .62s cubic-bezier(.2,.8,.2,1) 1 both!important;
}
@keyframes fab-context-card{
  0%{transform:scale(1)}
  32%{transform:scale(.92)}
  62%{transform:scale(1.07)}
  100%{transform:scale(1)}
}
@keyframes fab-context-plus{
  0%{transform:scale(1)}
  35%{transform:scale(.72)}
  68%{transform:scale(1.24)}
  100%{transform:scale(1)}
}

/* Queue creation is now modal; the page itself contains only the queue. */
.waitlist-create-dialog{
  border:0;
  padding:0;
  background:transparent;
  width:min(620px,calc(100% - 20px));
  max-height:calc(100dvh - 24px);
  overflow:visible;
}
.waitlist-create-dialog::backdrop{
  background:rgba(8,10,12,.42);
  backdrop-filter:blur(2px);
}
.waitlist-create-dialog-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(16,18,20,.22);
}
.waitlist-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid #e8eaed;
}
.waitlist-dialog-head h2{
  margin:3px 0 0;
  font-size:22px;
  letter-spacing:-.03em;
}
.waitlist-dialog-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#f1f3f4;
  color:#5d6368;
  font-size:26px;
  line-height:1;
}
.waitlist-add-form-dialog{
  padding:15px!important;
  max-height:calc(100dvh - 115px);
  overflow:auto;
  border-top:0!important;
}
.contextual-desktop-add{flex:0 0 auto}

@media(max-width:820px){
  .contextual-desktop-add{display:none!important}
  .waitlist-create-dialog{width:calc(100% - 16px)}
  .waitlist-dialog-head{padding:14px 14px 11px}
  .waitlist-add-form-dialog{padding:13px!important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-bottom-nav .mobile-nav-new.fab-context-change,
  .mobile-bottom-nav .mobile-nav-new.fab-context-change b{animation:none!important}
}


/* v1.6.42 — top-aligned home indicators + task dialog unified with queue dialog */

/* Make the task creation modal visually identical to the waitlist modal. */

/* v1.6.43 — strict identical layout for all three home KPI cards */


/* v1.6.46 — online service placement + compact public booking calendar */
@media(max-width:560px){
  .booking-v06 .wizard-step[data-step="calendar"]{
    padding-top:14px!important;
  }
  .booking-v06 .wizard-step[data-step="calendar"] .wizard-bar{
    margin-bottom:5px!important;
    align-items:center!important;
  }
  .booking-v06 .wizard-step[data-step="calendar"] .wizard-bar h1{
    font-size:27px!important;
    line-height:1.02!important;
  }
  .booking-v06 .wizard-step[data-step="calendar"] .wizard-note{
    margin-bottom:10px!important;
    font-size:11.5px!important;
    line-height:1.35!important;
  }
  .booking-v06 .wizard-step[data-step="calendar"] .wizard-back{
    width:38px!important;
    height:38px!important;
  }
  .booking-v06 .calendar-card{
    padding:8px 9px 9px!important;
    border-radius:14px!important;
  }
  .booking-v06 .calendar-head{
    grid-template-columns:36px 1fr 36px!important;
    margin-bottom:7px!important;
  }
  .booking-v06 .calendar-head strong{
    font-size:18px!important;
  }
  .booking-v06 .calendar-head button{
    width:36px!important;
    height:34px!important;
    border-radius:10px!important;
  }
  .booking-v06 .calendar-weekdays,
  .booking-v06 .calendar-grid{
    gap:2px!important;
  }
  .booking-v06 .calendar-weekdays{
    margin-bottom:3px!important;
    font-size:10px!important;
  }
  .booking-v06 .calendar-day,
  .booking-v06 .calendar-blank{
    aspect-ratio:auto!important;
    height:34px!important;
    min-height:34px!important;
  }
  .booking-v06 .calendar-day{
    border-radius:9px!important;
    font-size:14px!important;
  }
  .booking-v06 .time-panel{
    margin-top:10px!important;
  }
  .booking-v06 .time-empty{
    padding:16px 14px!important;
    border-radius:14px!important;
    font-size:12px!important;
  }
  .booking-v06 .time-group{
    margin-top:10px!important;
  }
  .booking-v06 .time-group>span{
    margin-bottom:6px!important;
    font-size:12px!important;
  }
  .booking-v06 .time-chips{
    gap:6px!important;
  }
  .booking-v06 .time-chips button{
    min-width:68px!important;
    padding:8px 10px!important;
    font-size:12px!important;
  }
}


/* v1.6.47 — more air between section pill and title in online booking */
.service-head-copy{gap:8px}
@media(max-width:560px){
  .service-head-copy{gap:9px}
}


/* v1.6.48 — custom dropdowns instead of Android system select windows */
.lc-native-select-source{display:none!important}
.lc-select-shell{display:block;position:relative;width:100%;min-width:0}
.lc-select-trigger{
  width:100%;min-height:46px;border:1px solid #dfe2e5;border-radius:12px;background:#fff;color:var(--ink);
  padding:0 44px 0 14px;text-align:left;font-weight:inherit;display:flex;align-items:center;position:relative;
}
.lc-select-trigger:focus{outline:none;border-color:#9fa72a;box-shadow:0 0 0 3px rgba(240,207,75,.22)}
.lc-select-trigger:disabled{opacity:.5;cursor:not-allowed;background:#f5f6f7}
.lc-select-value{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-select-trigger.is-placeholder .lc-select-value{color:#8a9095}
.lc-select-arrow{position:absolute;right:0;top:0;bottom:0;width:42px;display:grid;place-items:center;border-left:1px solid #e1e4e6;color:#62686e;border-radius:0 12px 12px 0}
.lc-select-arrow svg{width:12px;height:8px;display:block}
.lc-select-popover{
  position:fixed;z-index:1000;background:#fff;border:1px solid #dfe2e5;border-radius:14px;padding:6px;
  overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 50px rgba(16,18,20,.22);
}
.lc-select-option{
  width:100%;min-height:42px;border:0;border-radius:9px;background:#fff;color:#17191b;text-align:left;padding:10px 12px;
  font-size:14px;font-weight:700;line-height:1.25;display:flex;align-items:center;
}
.lc-select-option:hover,.lc-select-option:focus{background:#f3f5f6;outline:none}
.lc-select-option.selected{background:#fff6c8}
.lc-select-option.selected::after{content:"✓";margin-left:auto;font-weight:950;color:#17191b}
.lc-select-option:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:820px){
  .lc-select-trigger{min-height:46px;border-radius:12px;padding-left:13px;padding-right:42px}
  .lc-select-popover{border-radius:13px;padding:5px}
  .lc-select-option{min-height:44px;font-size:14px;padding:11px 12px}
}


/* v1.6.49 — safe mobile call action + custom receiver icon + 3 outcome actions */
.status-secondary-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:700px){
  .status-secondary-actions{
    grid-template-columns:1fr!important;
  }
}


/* v1.6.50 — compact, non-duplicated booking detail */
.booking-status-panel .status-auto-note{
  margin-top:8px;
  padding:10px!important;
}


/* v1.6.52 — compact order detail + collapsible editing */

/* v1.6.51 — clean booking detail: key info first, executor + wage last */


/* v1.6.52 final overrides */


/* v1.6.53 — advanced booking edit must be truly hidden until requested */


/* v1.6.54 — centered mobile booking header */


/* v1.6.55 — dark green call button */

/* v1.6.56 — remove dashed outline from the final wage block */


/* v1.6.57 — larger action button text in status and pricing blocks */


/* v1.6.58 — force larger text on mobile action buttons */


/* v1.6.59 — cleaner placeholders for new booking pickers */

/* v1.6.61 — worker-created job identity and automatic executor */


/* v1.6.62 — worker-created jobs are notifications, not approvals */

/* v1.6.63 — custom select list must stay above modal dialog content */
dialog[open] > .lc-select-popover-in-dialog{
  z-index:2147483647!important;
}

/* v1.6.64 — new booking client fields:
   name full width, phone full width, brand + model side by side */


/* v1.6.65 — intentional overlapping / additional work */
.cal-booking-additional{border:2px solid #d2a20e!important;border-left:5px solid #d2a20e!important;background:#fffdf2!important;box-shadow:0 4px 12px rgba(210,162,14,.12)}
.cal-additional-badge{justify-self:start;font-style:normal!important;font-size:7px!important;font-weight:950!important;letter-spacing:.06em;text-transform:uppercase;color:#765900!important;background:#ffe998;border-radius:999px;padding:3px 5px;margin-bottom:1px}
.cal-cell.cal-multi-occupied{box-shadow:inset 0 0 0 2px rgba(210,162,14,.28)}
.cal-create-slot.calendar-cell-action.is-overlap-create{position:absolute;right:4px;bottom:4px;z-index:12;width:28px;height:28px;min-height:28px;border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(16,18,20,.16);color:#7a5d00;opacity:1}
.cal-create-slot.calendar-cell-action.is-overlap-create span{font-size:18px!important}.cal-create-slot.calendar-cell-action.is-overlap-create:hover{background:#fff1af}
.week-job-additional{background:#fffaf0;border-radius:10px;padding-left:8px;padding-right:8px}.week-additional-badge{font-style:normal;font-size:8px;color:#765900;background:#ffe998;border-radius:999px;padding:2px 5px;white-space:nowrap}
@media(max-width:700px){.cal-create-slot.calendar-cell-action.is-overlap-create{right:3px;bottom:3px;width:25px;height:25px;min-height:25px}}

/* v1.6.67 — calendar cell interaction cleanup */

/* The + is always exactly in the middle of its cell, including shaded overlap cells. */
.cal-cell > .cal-create-slot.calendar-cell-action,
.cal-create-slot.calendar-cell-action.is-overlap-create{
  position:absolute!important;
  inset:0!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:5!important;
}
.cal-create-slot.calendar-cell-action.is-overlap-create{
  color:#776000!important;
  opacity:.78!important;
}
.cal-create-slot.calendar-cell-action.is-overlap-create span{
  font-size:24px!important;
}
.cal-create-slot.calendar-cell-action.is-overlap-create:hover{
  background:rgba(244,204,55,.10)!important;
  color:#4f4200!important;
  opacity:1!important;
}
@media(max-width:700px){
  .cal-create-slot.calendar-cell-action.is-overlap-create{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    inset:0!important;
  }
}

/* v1.6.68 — quieter calendar + buttons and additional badge on dashboard */

/* Every calendar plus is secondary UI: same size/color everywhere. */
.cal-cell > .cal-create-slot.calendar-cell-action,
.cal-create-slot.calendar-cell-action.is-overlap-create{
  color:#9ca2a7!important;
  opacity:.46!important;
  background:transparent!important;
  box-shadow:none!important;
}
.cal-cell > .cal-create-slot.calendar-cell-action span,
.cal-create-slot.calendar-cell-action.is-overlap-create span{
  font-size:19px!important;
  line-height:1!important;
  font-weight:500!important;
  color:inherit!important;
}
.cal-cell > .cal-create-slot.calendar-cell-action:hover,
.cal-create-slot.calendar-cell-action.is-overlap-create:hover{
  color:#777e83!important;
  opacity:.72!important;
  background:rgba(120,126,132,.045)!important;
}

/* Today screen: status + small "additional" note beneath it. */

/* v1.6.69 — additional work = vertical worker-colored stripes across its full time */
.cal-cell[class*="worker-color-"].cal-additional-occupied:not(.cal-lunch-cell){
  background:
    repeating-linear-gradient(
      90deg,
      var(--worker-soft) 0,
      var(--worker-soft) 9px,
      var(--worker-stripe) 9px,
      var(--worker-stripe) 14px
    )!important;
}

/* The stripes themselves are enough to show overlap; remove the old yellow outline. */
.cal-cell.cal-additional-occupied.cal-multi-occupied{
  box-shadow:none!important;
}
.cal-cell[class*="worker-color-"].cal-additional-occupied::before{
  background:var(--worker)!important;
  opacity:.72!important;
}

/* Additional booking card stays visually in the same worker color family. */
.cal-cell[class*="worker-color-"] .cal-booking.cal-booking-additional{
  border:1px solid #e1e5e8!important;
  border-left:4px solid var(--worker)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.cal-cell[class*="worker-color-"] .cal-booking.cal-booking-additional .cal-additional-badge{
  color:#555d62!important;
  background:var(--worker-soft)!important;
  border:1px solid var(--worker-stripe)!important;
}

/* Keep the visible booking card above the striped background. */
.cal-booking{
  position:relative;
  z-index:8;
}

/* v1.6.70 — full-period additional-work striping */
.cal-cell[class*="worker-color-"].cal-additional-occupied:not(.cal-lunch-cell){
  position:relative!important;
  background:var(--worker-soft)!important;
}
.cal-cell[class*="worker-color-"].cal-additional-occupied:not(.cal-lunch-cell)::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 10px,
      var(--worker-stripe) 10px,
      var(--worker-stripe) 13px,
      transparent 13px,
      transparent 18px
    )!important;
  opacity:.95!important;
}

/* controls and cards must remain above the stripe layer */
.cal-cell[class*="worker-color-"].cal-additional-occupied .cal-create-slot{
  z-index:5!important;
}
.cal-cell[class*="worker-color-"].cal-additional-occupied .cal-booking{
  z-index:8!important;
}

/* v1.6.71 — dropdown lists stay open while the user scrolls them */
.lc-select-popover{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;
}
.lc-select-popover .lc-select-option{
  touch-action:manipulation;
}


/* v1.6.72 — compact master availability on home dashboard */
.master-availability-panel{padding:14px 16px!important}
.master-availability-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.master-availability-head h2{margin:3px 0 0;font-size:20px;letter-spacing:-.025em}
.availability-head-actions{display:flex;align-items:center;gap:6px}
.availability-date-form{margin:0}
.master-availability-list{display:grid}
.master-availability-row{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(0,1.6fr);gap:12px;align-items:center;min-height:48px;padding:8px 0;border-top:1px solid #eef0f1}
.master-availability-row:first-child{border-top:0}
.master-availability-person{display:grid;gap:2px;min-width:0}
.master-availability-person b{font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-availability-person small{font-size:9px;color:#858b90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-availability-times{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;flex-wrap:wrap}
.availability-state-label{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:900;white-space:nowrap}
.availability-state-free .availability-state-label{background:#e7f5e9;color:#2f7139}
.availability-state-partial .availability-state-label{background:#fff4cf;color:#765b00}
.availability-state-busy .availability-state-label,.availability-state-off .availability-state-label{background:#eef0f1;color:#6e7479}
.availability-slot-links{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;min-width:0}
.availability-slot-links a,.availability-summary-text{font-size:10.5px;font-weight:800;line-height:1.2}
.availability-slot-links a{padding:5px 7px;border-radius:9px;background:#f4f5f6;border:1px solid #e8eaec;color:#32383c}
.availability-slot-links a:active{background:#eceff1}
.availability-summary-text{color:#747a7f;text-align:right}
@media(max-width:700px){
  .master-availability-panel{padding:12px!important}
  .master-availability-head h2{font-size:18px}
  .master-availability-row{grid-template-columns:minmax(105px,.82fr) minmax(0,1.6fr);gap:8px;min-height:45px;padding:7px 0}
  .master-availability-person b{font-size:12px}
  .master-availability-person small{font-size:8.5px}
  .master-availability-times{gap:5px}
  .availability-state-label{font-size:7.8px;padding:4px 6px}
  .availability-slot-links{gap:4px}
  .availability-slot-links a,.availability-summary-text{font-size:9.5px}
  .availability-slot-links a{padding:4px 6px}
}


/* v1.6.73 — simpler master availability block */
.availability-head-actions{gap:0!important}
.availability-date-caret{
  position:absolute!important;
  right:11px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#6a7176!important;
  font-size:10px!important;
  line-height:1!important;
  pointer-events:none!important;
}
.availability-state-label{display:none!important}
.master-availability-times{gap:5px!important}
.availability-slot-links a{
  background:#f3f4f5!important;
  border:1px solid #e5e8ea!important;
  color:#30363a!important;
  box-shadow:none!important;
}
.availability-slot-links a:hover,.availability-slot-links a:active{
  background:#e9ecee!important;
}
.availability-summary-text{
  color:#6d7479!important;
  font-weight:800!important;
}
@media(max-width:700px){
  .availability-date-caret{right:9px!important;font-size:9px!important}
}

/* v1.6.74 — single compact date selector in master availability */
.availability-date-form{
  margin:0!important;
  width:auto!important;
}
.availability-date-caret{
  position:static!important;
  grid-column:2!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:36px!important;
  transform:none!important;
  border-left:1px solid #e2e5e7!important;
  color:#656c71!important;
  font-size:10px!important;
  line-height:1!important;
  pointer-events:none!important;
  background:#fff!important;
}
@media(max-width:700px){
  .availability-date-caret{
    width:32px!important;
    height:34px!important;
    font-size:9px!important;
  }
}

/* v1.6.80 — show short free gaps (e.g. 12:30–13:00) on master availability */
.availability-slot-short{
  display:inline-flex;
  align-items:center;
  padding:5px 7px;
  border-radius:9px;
  background:#f6f7f8;
  border:1px solid #eceeef;
  color:#72787d;
  font-size:10.5px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
@media(max-width:700px){
  .availability-slot-short{
    padding:4px 6px;
    font-size:9.5px;
  }
}


/* v1.6.81 — unify the master-availability date triangle with other CRM selectors */
.availability-date-form{
  display:flex;
  align-items:center;
}
.availability-date-caret{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:10px!important;
  line-height:1!important;
  color:#6a7176!important;
  pointer-events:none!important;
}


/* v1.6.82 — unified triangle + instant master-availability calendar */
.availability-date-trigger{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto 40px!important;
  align-items:stretch!important;
  min-width:0!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dfe2e5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#202428!important;
  overflow:hidden!important;
  box-shadow:none!important;
  font:inherit!important;
}
.availability-date-trigger-value{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:108px!important;
  padding:0 10px!important;
  font-size:11px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.availability-date-trigger .availability-date-caret{
  position:static!important;
  width:40px!important;
  min-width:40px!important;
  height:34px!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  border-left:1px solid #dfe2e5!important;
  border-radius:0 11px 11px 0!important;
  background:rgba(255,255,255,.92)!important;
  color:#596067!important;
  pointer-events:none!important;
}
.availability-date-trigger .availability-date-caret svg{
  display:block!important;
  width:12px!important;
  height:8px!important;
}

.availability-date-dialog{
  width:min(350px,calc(100vw - 28px))!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
  color:#202428!important;
  box-shadow:0 24px 70px rgba(0,0,0,.24)!important;
}
.availability-date-dialog::backdrop{
  background:rgba(20,24,27,.42)!important;
  backdrop-filter:blur(1.5px);
}
.availability-date-dialog-card{
  padding:16px!important;
}
.availability-date-dialog-head{
  display:grid!important;
  grid-template-columns:42px 1fr 42px!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:12px!important;
}
.availability-date-dialog-head strong{
  text-align:center!important;
  font-size:17px!important;
  letter-spacing:-.02em!important;
}
.availability-date-month-nav{
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:11px!important;
  background:#f3f4f5!important;
  color:#555c61!important;
  display:grid!important;
  place-items:center!important;
}
.availability-date-month-nav:disabled{
  opacity:.3!important;
}
.availability-date-month-nav svg{
  width:10px!important;
  height:16px!important;
}
.availability-date-weekdays,
.availability-date-days{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:5px!important;
}
.availability-date-weekdays{
  margin-bottom:6px!important;
}
.availability-date-weekdays span{
  text-align:center!important;
  color:#8a9095!important;
  font-size:9px!important;
  font-weight:850!important;
}
.availability-date-day{
  aspect-ratio:1/1!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#252a2e!important;
  font-size:13px!important;
  font-weight:800!important;
  display:grid!important;
  place-items:center!important;
}
.availability-date-day:not(.is-empty):not(:disabled):active{
  background:#eceeef!important;
}
.availability-date-day.is-empty{
  pointer-events:none!important;
}
.availability-date-day.is-disabled{
  color:#c8ccd0!important;
  cursor:default!important;
}
.availability-date-day.is-today:not(.is-selected){
  box-shadow:inset 0 0 0 1.5px #6a7176!important;
}
.availability-date-day.is-selected{
  background:#161819!important;
  color:#fff!important;
  box-shadow:none!important;
}
@media(max-width:700px){
  .availability-date-trigger{
    height:34px!important;
    grid-template-columns:auto 40px!important;
  }
  .availability-date-trigger-value{
    min-width:104px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }
  .availability-date-trigger .availability-date-caret{
    height:32px!important;
  }
  .availability-date-dialog-card{
    padding:14px!important;
  }
}


/* v1.6.83 — same custom calendar and triangle for every date field */
.crm-date-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.crm-date-native{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:1px!important;
  min-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  border:0!important;
}
.crm-date-trigger{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #dfe2e5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#202428!important;
  overflow:hidden!important;
  box-shadow:none!important;
  font:inherit!important;
  text-align:left!important;
}
.crm-date-trigger-value{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  padding:0 14px!important;
  font-size:14px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.crm-date-trigger-caret{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  min-width:44px!important;
  height:100%!important;
  border-left:1px solid #dfe2e5!important;
  border-radius:0 11px 11px 0!important;
  background:rgba(255,255,255,.92)!important;
  color:#596067!important;
  pointer-events:none!important;
}
.crm-date-trigger-caret svg{
  display:block!important;
  width:12px!important;
  height:8px!important;
}
.crm-date-trigger:disabled{
  opacity:.55!important;
}

/* Calendar toolbar stays compact. */

/* Existing booking editor uses 42px controls. */

/* Task modal: keep the two-column date/time row balanced. */

@media(max-width:820px){
  .crm-date-trigger{
    grid-template-columns:minmax(0,1fr) 40px!important;
  }
  .crm-date-trigger-caret{
    width:40px!important;
    min-width:40px!important;
  }
}


/* v1.6.85 — larger, more readable mobile typography on the HOME screen only */
@media(max-width:820px){
  /* Top heading */

  /* Today / Tomorrow switch */

  /* Three dashboard counters */

  /* "Хто вільний" */
  .master-availability-panel{
    padding:15px!important;
  }
  .master-availability-head{
    margin-bottom:10px!important;
  }
  .master-availability-head .eyebrow{
    font-size:10px!important;
    letter-spacing:.16em!important;
  }
  .master-availability-head h2{
    font-size:22px!important;
    line-height:1.05!important;
  }
  .availability-date-trigger-value{
    font-size:11.5px!important;
  }
  .master-availability-row{
    min-height:54px!important;
    padding:9px 0!important;
    gap:9px!important;
  }
  .master-availability-person b{
    font-size:14px!important;
    line-height:1.18!important;
  }
  .master-availability-person small{
    font-size:10.5px!important;
    line-height:1.2!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:11.5px!important;
    line-height:1.15!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    padding:6px 8px!important;
  }

  /* "На сьогодні" */
  .today-bookings-panel .eyebrow{
    font-size:10px!important;
    letter-spacing:.16em!important;
  }
  .today-bookings-panel .panel-head h2{
    font-size:23px!important;
    line-height:1.05!important;
  }
}

/* Keep even narrow phones readable instead of shrinking text back down. */
@media(max-width:390px){
  .master-availability-head h2{
    font-size:21px!important;
  }
  .master-availability-person b{
    font-size:13.5px!important;
  }
  .master-availability-person small{
    font-size:10px!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:11px!important;
  }
}


/* v1.6.87 — profile photos for owner and staff */
.person-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;overflow:hidden;background:#eef1f3;color:#3a4147;font-weight:900;line-height:1;box-shadow:0 2px 8px rgba(16,18,20,.08)}
.person-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.person-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.person-avatar-xs{width:28px;height:28px;font-size:11px}
.person-avatar-sm{width:34px;height:34px;font-size:12px}
.person-avatar-md{width:42px;height:42px;font-size:13px}
.person-inline{display:inline-flex;align-items:center;gap:10px;min-width:0}
.person-inline-name{min-width:0}
.mobile-user-avatar-trigger{display:flex;align-items:center;justify-content:center}
.mobile-user-actions{display:flex;align-items:center;gap:10px}
.user-chip{display:flex;align-items:center;gap:12px}
.user-chip>div{display:grid;gap:2px}
.master-availability-person-main{display:flex;align-items:center;gap:10px;min-width:0}
.master-availability-person-main>div{min-width:0;display:grid;gap:2px}
.master-availability-person-main b,.master-availability-person-main small{display:block}
@media(max-width:700px){
  .person-avatar-md{width:38px;height:38px}
  .mobile-user-avatar-trigger .person-avatar-sm{width:36px;height:36px}
  .user-chip{gap:10px}
  .cal-staff-person .person-avatar-xs{width:24px;height:24px;font-size:10px}
}


/* v1.6.88 — avatars are strictly circular */
.person-avatar{
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.person-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:999px!important;
}
.mobile-user-avatar-trigger .person-avatar{
  border:2px solid rgba(255,255,255,.72)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}
.master-availability-person-main .person-avatar{
  border:1px solid #e0e4e7!important;
  box-shadow:0 2px 8px rgba(16,18,20,.08)!important;
}


/* v1.6.89 — larger avatars + full name/specialty in "Хто вільний" */
@media(max-width:820px){
  /* Top-right profile photo on Home */
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  /* Give the identity block enough width; times can wrap on the right. */
  .master-availability-row{
    grid-template-columns:minmax(0,1.42fr) minmax(126px,.92fr)!important;
    gap:10px!important;
    align-items:center!important;
    min-height:70px!important;
    padding:10px 0!important;
  }
  .master-availability-person{
    min-width:0!important;
    overflow:visible!important;
  }
  .master-availability-person-main{
    gap:11px!important;
    align-items:center!important;
    min-width:0!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
  .master-availability-person-main>div{
    min-width:0!important;
    width:100%!important;
  }

  /* Full name: wrap instead of ellipsis. */
  .master-availability-person b{
    display:block!important;
    font-size:15px!important;
    line-height:1.16!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Full specialty/position: no hidden tail. */
  .master-availability-person small{
    display:block!important;
    margin-top:3px!important;
    font-size:11px!important;
    line-height:1.22!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-height:none!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  .master-availability-times{
    min-width:0!important;
    width:100%!important;
    justify-content:flex-end!important;
    align-content:center!important;
    gap:6px!important;
  }
  .availability-slot-links{
    justify-content:flex-end!important;
    gap:6px!important;
    width:100%!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:11px!important;
    line-height:1.15!important;
  }
  .availability-summary-text{
    white-space:normal!important;
    max-width:132px!important;
  }

  /* Creator photo in "Нові роботи" */
  .request-person-line .person-avatar-sm{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
}

@media(max-width:390px){
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1.34fr) minmax(118px,.9fr)!important;
    gap:8px!important;
  }
  .master-availability-person-main{
    gap:9px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:47px!important;
    height:47px!important;
    min-width:47px!important;
    min-height:47px!important;
  }
  .master-availability-person b{
    font-size:14.5px!important;
  }
  .master-availability-person small{
    font-size:10.5px!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:10.5px!important;
  }
}


/* v1.6.92 — overdue indicator dot on home dashboard */


/* v1.6.93 — gentle overdue indicator pulse every 3 seconds */


/* v1.6.94 — align overdue dot with dashboard card labels */


/* v1.6.95 — task toggle submit feedback */
.task-check:disabled{
  opacity:.55!important;
  pointer-events:none!important;
}


/* v1.6.96 — more content fits on the mobile home screen */

@media(max-width:820px){

  .master-availability-panel{
    margin-top:0!important;
  }
}


/* v1.6.97 — move home date to the far right */


/* v1.6.98 — compact "Хто вільний" block on Home, but keep it readable */
@media(max-width:820px){
  .master-availability-panel{
    padding:12px 14px!important;
  }
  .master-availability-head{
    margin-bottom:6px!important;
    gap:10px!important;
    align-items:flex-end!important;
  }
  .master-availability-head .eyebrow{
    margin-bottom:1px!important;
  }
  .master-availability-head h2{
    font-size:18px!important;
    line-height:1.05!important;
    margin:1px 0 0!important;
  }

  .availability-date-trigger{
    min-height:42px!important;
    height:42px!important;
    border-radius:14px!important;
  }
  .availability-date-trigger-value{
    font-size:12px!important;
    padding:0 14px!important;
  }
  .availability-date-trigger .availability-date-caret{
    width:42px!important;
    min-width:42px!important;
  }

  .master-availability-list{
    margin-top:2px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1.36fr) minmax(122px,.92fr)!important;
    gap:9px!important;
    min-height:60px!important;
    padding:7px 0!important;
  }
  .master-availability-person-main{
    gap:9px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .master-availability-person-main>div{
    gap:1px!important;
  }
  .master-availability-person b{
    font-size:14px!important;
    line-height:1.12!important;
  }
  .master-availability-person small{
    margin-top:1px!important;
    font-size:10.5px!important;
    line-height:1.18!important;
  }

  .master-availability-times{
    gap:5px!important;
  }
  .availability-slot-links{
    gap:5px!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:10.5px!important;
    line-height:1.12!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    padding:5px 7px!important;
    border-radius:10px!important;
  }
  .availability-summary-text{
    max-width:126px!important;
  }
}

@media(max-width:390px){
  .master-availability-panel{
    padding:11px 12px!important;
  }
  .master-availability-head h2{
    font-size:17px!important;
  }
  .availability-date-trigger{
    min-height:40px!important;
    height:40px!important;
  }
  .availability-date-trigger-value{
    font-size:11.5px!important;
    padding:0 12px!important;
  }
  .availability-date-trigger .availability-date-caret{
    width:40px!important;
    min-width:40px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1.32fr) minmax(116px,.9fr)!important;
    gap:8px!important;
    min-height:56px!important;
    padding:6px 0!important;
  }
  .master-availability-person-main{
    gap:8px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:41px!important;
    height:41px!important;
    min-width:41px!important;
    min-height:41px!important;
  }
  .master-availability-person b{
    font-size:13.5px!important;
  }
  .master-availability-person small{
    font-size:10px!important;
  }
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:10px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    padding:4px 6px!important;
  }
}


/* v1.6.99 — slightly larger date selector and availability labels */
@media(max-width:820px){
  .availability-date-trigger{
    min-height:44px!important;
    height:44px!important;
  }
  .availability-date-trigger-value{
    font-size:13px!important;
    padding:0 15px!important;
  }
  .availability-date-trigger .availability-date-caret{
    width:44px!important;
    min-width:44px!important;
  }

  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:11.5px!important;
    line-height:1.14!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    padding:6px 8px!important;
  }
  .availability-summary-text{
    max-width:136px!important;
  }
}

@media(max-width:390px){
  .availability-date-trigger{
    min-height:42px!important;
    height:42px!important;
  }
  .availability-date-trigger-value{
    font-size:12.5px!important;
    padding:0 13px!important;
  }
  .availability-date-trigger .availability-date-caret{
    width:42px!important;
    min-width:42px!important;
  }

  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{
    font-size:11px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    padding:5px 7px!important;
  }
}


/* v1.6.100 — compact "На сьогодні / Записи студії" block for mobile */
@media(max-width:820px){
  .today-bookings-panel{
    padding:16px!important;
  }
  .today-bookings-panel .panel-head{
    margin-bottom:10px!important;
    gap:10px!important;
  }
  .today-bookings-panel .eyebrow{
    font-size:9.5px!important;
    letter-spacing:.15em!important;
    margin-bottom:2px!important;
  }
  .today-bookings-panel .panel-head h2{
    font-size:21px!important;
    line-height:1.02!important;
  }
}

@media(max-width:390px){
  .today-bookings-panel{
    padding:14px!important;
  }
  .today-bookings-panel .panel-head h2{
    font-size:20px!important;
  }
}


/* v1.6.101 — top-right owner photo without white frame */
.mobile-user-avatar-trigger .person-avatar{
  border:none!important;
  outline:none!important;
  box-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}
@media(max-width:820px){
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
}
@media(max-width:390px){
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
}


/* v1.6.102 — center time/status in today's list + medium owner photo */

.mobile-user-avatar-trigger .person-avatar{
  border:none!important;
  outline:none!important;
  box-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}
@media(max-width:820px){
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
}
@media(max-width:390px){
  .mobile-user-avatar-trigger .person-avatar-sm{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
}


/* v1.6.103 — mobile-first Employees redesign */


/* v1.6.104 — employee photos in compact cards */
.staff-card-avatar-v104 .person-avatar-md{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  border:none!important;
  outline:none!important;
  box-shadow:0 3px 10px rgba(16,18,20,.10)!important;
}
.staff-card-summary-main small .is-active{
  color:#2d9954;
  font-weight:800;
}
.staff-card-summary-main small .is-active::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin:0 5px 1px 2px;
  border-radius:50%;
  background:#31a95d;
}
.staff-card-summary-main small .is-disabled{
  color:#9b4444;
  font-weight:800;
}
.staff-card-summary-main small .is-disabled::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin:0 5px 1px 2px;
  border-radius:50%;
  background:#a64a4a;
}

@media(max-width:760px){
  .staff-card-avatar-v104 .person-avatar-md{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
  }
}

@media(max-width:390px){
  .staff-card-avatar-v104 .person-avatar-md{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
}


/* v1.6.105 — employee archive / soft-delete */


/* v1.6.106 — temporary absence is separate from archive */
.staff-card-summary-main small .is-absent{
  color:#8b6b22;
  font-weight:800;
}
.staff-card-summary-main small .is-absent::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin:0 5px 1px 2px;
  border-radius:50%;
  background:#b48a2b;
}
.staff-toggle-button-v106.is-enable{
  border-color:#d9e7bd;
  background:#f6fbe9;
  color:#596d25;
}
.availability-state-absent .availability-summary-text{
  color:#8b6b22!important;
  font-weight:850!important;
}


/* v1.6.108 — selected employee workdays use the Home "Нові роботи" yellow */


/* v1.6.109 — larger mobile menu text + quieter employee-form hints */
@media(max-width:760px){
  .mobile-menu-grid>a{
    min-height:100px!important;
    padding:15px 16px!important;
    gap:7px!important;
  }
  .mobile-menu-grid>a b{
    font-size:18px!important;
    line-height:1.18!important;
  }
  .mobile-menu-grid>a span{
    font-size:12.5px!important;
    line-height:1.42!important;
  }
}

@media(max-width:420px){
  .mobile-menu-grid>a{
    min-height:96px!important;
    padding:15px 16px!important;
  }
  .mobile-menu-grid>a b{
    font-size:18px!important;
  }
  .mobile-menu-grid>a span{
    font-size:12px!important;
  }
}

/* Hints like “Наприклад, Василь / vasyl / Мін. 4 символи” should stay secondary. */


/* v1.6.110 — compact waitlist cards on mobile + safer note/button spacing */
.waitlist-admin-card .card-actions{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:10px;
  align-items:stretch;
}
.waitlist-admin-card .card-actions > *{min-width:0}
.waitlist-admin-card .card-actions .btn{
  width:100%;
}
.waitlist-admin-card .card-actions form{display:block}
.waitlist-admin-card .waitlist-note{
  display:block;
  overflow-wrap:anywhere;
}

@media(max-width:820px){
  .waitlist-list-panel{
    margin-top:10px!important;
    padding:15px 14px 14px!important;
  }
  .waitlist-list-panel .panel-head{
    margin-bottom:12px!important;
  }
  .waitlist-list-panel .panel-head h2{
    font-size:18px!important;
    margin-top:3px!important;
  }
  .waitlist-list-panel .count-pill{
    padding:6px 10px!important;
    font-size:18px!important;
  }
  .request-grid.waitlist-grid{
    gap:10px!important;
  }
  .waitlist-admin-card{
    padding:12px!important;
    border-radius:15px!important;
  }
  .waitlist-admin-card .request-top{
    font-size:10.5px!important;
    margin-bottom:6px!important;
  }
  .waitlist-admin-card h3{
    font-size:17px!important;
    line-height:1.18!important;
    margin:8px 0 3px!important;
  }
  .waitlist-admin-card .services-line{
    min-height:0!important;
    font-size:12px!important;
    line-height:1.35!important;
    margin:0!important;
  }
  .waitlist-admin-card .meta-grid{
    gap:8px!important;
    margin:10px 0 8px!important;
  }
  .waitlist-admin-card .meta-grid span{
    font-size:10px!important;
    margin-bottom:2px!important;
  }
  .waitlist-admin-card .meta-grid b{
    font-size:13px!important;
    line-height:1.2!important;
  }
  .waitlist-admin-card .waitlist-note{
    margin:0 0 8px!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.38!important;
  }
  .waitlist-admin-card .card-actions{
    gap:8px!important;
    align-items:stretch!important;
  }
  .waitlist-admin-card .card-actions .btn{
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:13px!important;
    border-radius:12px!important;
    white-space:nowrap!important;
  }
}

@media(max-width:420px){
  .waitlist-admin-card{
    padding:11px!important;
  }
  .waitlist-admin-card h3{
    font-size:16px!important;
  }
  .waitlist-admin-card .services-line{
    font-size:11.5px!important;
  }
  .waitlist-admin-card .meta-grid{
    gap:7px!important;
  }
  .waitlist-admin-card .meta-grid b{
    font-size:12.5px!important;
  }
  .waitlist-admin-card .waitlist-note{
    font-size:10.8px!important;
    padding:8px 9px!important;
  }
  .waitlist-admin-card .card-actions .btn{
    min-height:40px!important;
    font-size:12.5px!important;
    padding:9px 10px!important;
  }
}


/* v1.6.111 — queue: restore readable typography, tighten spacing instead */
@media(max-width:820px){
  .waitlist-list-panel{
    padding:15px 14px 14px!important;
  }
  .waitlist-list-panel .panel-head{
    margin-bottom:10px!important;
  }
  .waitlist-list-panel .panel-head h2{
    font-size:22px!important;
    line-height:1.08!important;
  }
  .waitlist-list-panel .count-pill{
    font-size:16px!important;
  }

  .request-grid.waitlist-grid{
    gap:14px!important;
  }

  .waitlist-admin-card{
    position:relative!important;
    padding:12px 12px 11px!important;
  }
  .waitlist-admin-card + .waitlist-admin-card{
    margin-top:2px!important;
  }
  .waitlist-admin-card + .waitlist-admin-card::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-9px;
    height:1px;
    background:#dfe3e6;
    pointer-events:none;
  }

  .waitlist-admin-card .request-top{
    font-size:11px!important;
    margin-bottom:4px!important;
  }
  .waitlist-admin-card h3{
    font-size:20px!important;
    line-height:1.15!important;
    margin:7px 0 3px!important;
  }
  .waitlist-admin-card .services-line{
    font-size:12px!important;
    line-height:1.32!important;
    margin:0!important;
  }

  .waitlist-admin-card .meta-grid{
    gap:7px 10px!important;
    margin:8px 0 7px!important;
  }
  .waitlist-admin-card .meta-grid span{
    font-size:11px!important;
    margin-bottom:1px!important;
  }
  .waitlist-admin-card .meta-grid b{
    font-size:16px!important;
    line-height:1.16!important;
  }

  .waitlist-admin-card .waitlist-note{
    margin:0 0 7px!important;
    padding:8px 10px!important;
    font-size:11px!important;
    line-height:1.32!important;
  }

  .waitlist-admin-card .card-actions{
    gap:8px!important;
    margin-top:0!important;
  }
  .waitlist-admin-card .card-actions .btn{
    min-height:44px!important;
    padding:10px 11px!important;
    font-size:16px!important;
    line-height:1.05!important;
  }
}

@media(max-width:420px){
  .waitlist-admin-card{
    padding:11px 11px 10px!important;
  }
  .waitlist-admin-card h3{
    font-size:20px!important;
  }
  .waitlist-admin-card .services-line{
    font-size:12px!important;
  }
  .waitlist-admin-card .meta-grid b{
    font-size:16px!important;
  }
  .waitlist-admin-card .waitlist-note{
    font-size:11px!important;
  }
  .waitlist-admin-card .card-actions .btn{
    min-height:44px!important;
    font-size:16px!important;
    padding:10px 9px!important;
  }
}


/* v1.6.112 — queue cards are separate white cards on the gray page background */
@media(max-width:820px){
  .waitlist-list-panel{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
  }

  .waitlist-list-panel .panel-head{
    padding:0 2px!important;
    margin-bottom:10px!important;
  }

  .request-grid.waitlist-grid{
    display:grid!important;
    gap:10px!important;
  }

  .waitlist-admin-card{
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-radius:18px!important;
    box-shadow:0 3px 12px rgba(16,18,20,.035)!important;
    margin:0!important;
  }

  /* Remove the previous line-style separator: the gray page gap is the separator now. */
  .waitlist-admin-card + .waitlist-admin-card{
    margin-top:0!important;
  }
  .waitlist-admin-card + .waitlist-admin-card::before{
    display:none!important;
    content:none!important;
  }
}

@media(max-width:420px){
  .request-grid.waitlist-grid{
    gap:9px!important;
  }
}


/* v1.6.113 — visually center the left time column in today's booking cards */


/* v1.6.114 — emphasize client name in today's booking cards */


/* v1.6.115 — queue counter: white circular badge with gentle pulse */
.waitlist-list-panel .count-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#101214!important;
  border:1px solid #e7eaee!important;
  box-shadow:0 4px 14px rgba(16,18,20,.06)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  animation:waitlist-count-pulse 3s ease-in-out infinite!important;
  transform-origin:center;
  will-change:transform, box-shadow;
}
@keyframes waitlist-count-pulse{
  0%{
    transform:scale(1);
    box-shadow:0 4px 14px rgba(16,18,20,.06);
  }
  8%{
    transform:scale(1.06);
    box-shadow:0 6px 18px rgba(16,18,20,.10);
  }
  16%{
    transform:scale(1);
    box-shadow:0 4px 14px rgba(16,18,20,.06);
  }
  100%{
    transform:scale(1);
    box-shadow:0 4px 14px rgba(16,18,20,.06);
  }
}
@media(max-width:820px){
  .waitlist-list-panel .count-pill{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    font-size:17px!important;
  }
}
@media(max-width:390px){
  .waitlist-list-panel .count-pill{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:16px!important;
  }
}
@media (prefers-reduced-motion: reduce){
  .waitlist-list-panel .count-pill{
    animation:none!important;
  }
}


/* v1.6.118 — new-work cards separated like the queue: each card on its own white surface */




/* v1.6.121 — New Work counter in white circle, with pulsing digit */

/* Compactness comes from spacing only — font sizes stay unchanged. */


/* v1.6.122 — “Створив роботу” sits above the creator name */


/* v1.6.123 — redesigned invoice/faktura + share sheet */
.invoice-page-v123{min-height:100vh;background:#fff;padding:18px 14px 40px}.invoice-state-badge-v123.is-paid{background:#e9ecef;color:#31363b}.invoice-state-badge-v123.is-due{background:#f2f4f5;color:#23282d}.invoice-share-dialog{width:min(540px,calc(100vw - 24px));border:0;border-radius:24px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.22)}.invoice-share-dialog::backdrop{background:rgba(10,12,14,.48)}.invoice-share-dialog form{padding:26px;display:grid;gap:12px}.invoice-share-dialog h2{margin:0;font-size:28px}.invoice-share-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.invoice-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 2px}.invoice-share-link,.invoice-share-copy{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #dfe3e6;background:#f7f8f9;border-radius:14px;font-weight:900;color:#1e2429}@media(max-width:560px){.invoice-page-v123{padding:10px 8px 22px}.invoice-share-grid{grid-template-columns:1fr}}@media print{body{background:#fff}.invoice-page-v123{padding:0}}

/* v1.6.124 — denser invoice spacing without changing type sizes */


/* v1.6.125 — explicit two-step invoice sharing */
.invoice-share-shell-v125{padding:22px;display:grid;gap:10px}
.invoice-share-shell-v125 h2{margin:0;font-size:27px}
.invoice-share-format-v125{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}
.invoice-share-format-card-v125{min-height:100px;text-align:left;padding:14px 15px;border:1px solid #dfe3e6;border-radius:16px;background:#f7f8f9;display:grid;align-content:center;gap:5px;color:#171b1f}
.invoice-share-format-card-v125 b{font-size:16px}
.invoice-share-format-card-v125 span{font-size:11.5px;line-height:1.35;color:#70777d}
.invoice-share-stage-v125{display:grid;gap:10px;margin-top:5px}
.invoice-share-stage-note-v125{display:grid;gap:4px;padding:11px 12px;border-radius:12px;background:#f5f6f7;color:#646b71;font-size:12px;line-height:1.4}
.invoice-share-stage-note-v125 b{font-size:13px;color:#23282d}
.invoice-share-stage-note-v125 span{display:block}
.invoice-share-stage-note-v125.is-success{background:#f0f6ef;border:1px solid #d7e8d3;color:#4c6550}
.invoice-share-stage-note-v125.is-warning{background:#faf7ef;border:1px solid #eee3c6;color:#776b4b}
.invoice-share-messenger-grid-v125{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){
  .invoice-share-shell-v125{padding:18px}
  .invoice-share-format-v125{grid-template-columns:1fr}
  .invoice-share-format-card-v125{min-height:82px}
}

.invoice-share-image-open-v130{display:block;border:1px solid #dfe3e6;border-radius:16px;overflow:hidden;background:#fff;text-decoration:none}.invoice-share-image-preview-v130{display:block;width:100%;height:470px;object-fit:contain;background:#fff}.invoice-share-stage-note-v125{font-size:13px}@media(max-width:560px){.invoice-share-image-preview-v130{height:390px}}

/* v1.6.136 — compact invoice share dialogs, centered messenger actions */
.invoice-share-dialog{width:min(440px,calc(100vw - 48px));max-width:none}
.invoice-share-dialog.is-image-step-v136{width:min(680px,calc(100vw - 16px))}
.invoice-share-shell-v125{padding:28px 24px 22px}
.invoice-share-shell-v125>h2{margin-left:8px!important;margin-top:6px!important}
.invoice-share-format-v125{width:min(390px,100%);margin-left:auto;margin-right:auto}
.invoice-share-stage-v125[data-share-link-stage]{justify-items:center}
.invoice-share-messenger-grid-v125{width:min(300px,100%);grid-template-columns:1fr!important;margin-left:auto;margin-right:auto}
.invoice-share-messenger-grid-v125 .invoice-share-link,.invoice-share-messenger-grid-v125 .invoice-share-copy{width:100%;text-align:center}
@media(max-width:560px){
  .invoice-share-dialog{width:min(430px,calc(100vw - 48px))}
  .invoice-share-dialog.is-image-step-v136{width:calc(100vw - 10px)}
  .invoice-share-shell-v125{padding:24px 20px 20px}
}

/* v1.6.137 — filled share icons + badge copy icon */
.invoice-share-messenger-icons-v137{grid-template-columns:1fr!important;gap:9px!important;width:min(332px,100%);margin-left:auto!important;margin-right:auto!important}
.invoice-share-messenger-icons-v137 .invoice-share-link,.invoice-share-messenger-icons-v137 .invoice-share-copy{min-height:58px;padding:0 13px;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;align-items:center;justify-content:stretch;text-align:left}
.invoice-share-messenger-icons-v137 b{font-size:15px}
.invoice-share-messenger-icons-v137 .share-app-icon{width:31px;height:31px;display:flex;align-items:center;justify-content:center}
.invoice-share-messenger-icons-v137 .share-app-icon svg{width:31px;height:31px;display:block}
.invoice-share-messenger-icons-v137 .share-copy-badge{width:34px;height:34px;border-radius:10px;background:#eceff2;color:#303943;display:flex;align-items:center;justify-content:center}
.invoice-share-messenger-icons-v137 .share-copy-badge svg{width:22px;height:22px}
.invoice-share-messenger-icons-v137 .share-row-chevron{font-size:25px;color:#858c92;line-height:1;text-align:right}


/* v1.6.140 — booking card proportions + in-place save feedback */

/* v1.6.143 — live discount calculation summary in an existing booking. */
.clean-discount-summary-v142 .is-total{margin-top:2px;padding-top:7px;border-top:1px solid var(--line)}
.clean-discount-summary-v142 .is-total span{font-size:12px;font-weight:800;color:#50565b}
.clean-discount-summary-v142 .is-total b{font-size:20px;font-weight:950;color:#171a1d}
@media(max-width:560px){
  .clean-discount-summary-v142 .is-total b{font-size:19px}
}


/* v1.6.145 — animated in-button save confirmation. */
.booking-animated-save.is-saving{opacity:.78;cursor:wait}
.booking-animated-save.is-saved{
  background:#18764f!important;
  border-color:#18764f!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(24,118,79,.22);
}
.booking-animated-save.is-save-error{
  background:#98363a!important;
  border-color:#98363a!important;
  color:#fff!important;
}
.booking-animated-save.is-saved{animation:lookcar-save-button-pop .34s ease-out both}
@keyframes lookcar-save-button-pop{
  0%{transform:scale(1)}
  48%{transform:scale(.975)}
  100%{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .booking-animated-save.is-saved{animation:none!important;transition:none!important}
}

/* v1.6.146 — compact booking card redesign based on the approved first concept. */
.booking-detail-clean .status-control-v146 .eyebrow{
  margin:0 0 10px!important;
  color:#7f878e!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
}
.booking-detail-clean .status-primary-form-v146{margin:0}
.booking-detail-clean .status-primary-v146{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:15px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  gap:11px;
  text-align:left;
  color:#111519;
}
.booking-detail-clean button.status-primary-v146{cursor:pointer}
.booking-detail-clean .status-primary-ready-v146{
  background:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(194,151,0,.08);
}
.booking-detail-clean .status-primary-planned-v146{
  background:#f1f3f4;
  color:#33393e;
}
.booking-detail-clean .status-primary-icon-v146{
  width:38px;
  height:38px;
  border-radius:50%;
  flex:0 0 auto;
  background:#181d21;
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:950;
}
.booking-detail-clean .status-primary-planned-v146 .status-primary-icon-v146{
  background:#e3e6e8;
  color:#626a70;
}
.booking-detail-clean .status-primary-v146>b,
.booking-detail-clean .status-ready-label-v146>b{
  font-size:22px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.02em;
}
.booking-detail-clean .status-primary-copy-v146{
  display:grid;
  gap:2px;
}
.booking-detail-clean .status-primary-copy-v146 b{font-size:17px}
.booking-detail-clean .status-primary-copy-v146 small{font-size:10.5px;color:#747b81}
.booking-detail-clean .status-primary-combined-v146{
  justify-content:space-between;
}
.booking-detail-clean .status-ready-label-v146{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
}
.booking-detail-clean .status-paid-chip-v146{
  min-height:42px;
  border:0;
  border-radius:13px;
  padding:7px 13px;
  background:#e6f4e9;
  color:#117441;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.booking-detail-clean button.status-paid-chip-v146{cursor:pointer}
.booking-detail-clean .status-paid-chip-v146.is-static{cursor:default}
.booking-detail-clean .status-paid-chip-v146 small{
  display:none;
}
.booking-detail-clean .status-card-icon-v146{
  width:20px;
  height:14px;
  border:2px solid currentColor;
  border-radius:3px;
  position:relative;
  flex:0 0 auto;
}
.booking-detail-clean .status-card-icon-v146:before{
  content:'';
  position:absolute;
  left:1px;right:1px;top:3px;
  height:2px;
  background:currentColor;
  opacity:.78;
}
.booking-detail-clean .status-secondary-v146{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:9px!important;
}
.booking-detail-clean .status-secondary-v146 .btn{
  min-width:0!important;
  min-height:45px!important;
  padding:7px 8px!important;
  border-radius:13px!important;
  background:#f4f5f6!important;
  border:1px solid #eceeef!important;
  color:#31373c!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:850!important;
  white-space:nowrap;
}
.booking-detail-clean .status-secondary-v146 .booking-cancel-action{
  background:#fbf2f2!important;
  color:#a43137!important;
  border-color:#f4e1e2!important;
}
.booking-detail-clean .status-secondary-icon-v146{
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:#596269;
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:900;
}
.booking-detail-clean .status-secondary-icon-v146.refused{font-size:15px}
.booking-detail-clean .status-secondary-icon-v146.cancel{
  background:transparent;
  color:#a43137;
  font-size:20px;
}

/* Services/pricing — tighter proportions matching the approved mockup. */
.booking-detail-clean .clean-discount-summary-v142 .is-total{
  margin-top:4px!important;
  padding-top:9px!important;
}
.booking-detail-clean .clean-discount-summary-v142 .is-total span{
  font-size:14px!important;
  font-weight:900!important;
  color:#42494f!important;
}
.booking-detail-clean .clean-discount-summary-v142 .is-total b{
  font-size:23px!important;
  font-weight:950!important;
}

@media(max-width:700px){
  .booking-detail-clean .status-control-v146 .eyebrow{margin-bottom:8px!important}
  .booking-detail-clean .status-primary-v146{min-height:54px!important;padding:7px 9px!important;border-radius:14px!important}
  .booking-detail-clean .status-primary-icon-v146{width:35px!important;height:35px!important;font-size:20px!important}
  .booking-detail-clean .status-primary-v146>b,
  .booking-detail-clean .status-ready-label-v146>b{font-size:20px!important}
  .booking-detail-clean .status-paid-chip-v146{min-height:38px!important;padding:6px 10px!important;font-size:13px!important}
  .booking-detail-clean .status-secondary-v146{gap:6px!important;margin-top:7px!important}
  .booking-detail-clean .status-secondary-v146 .btn{
    min-height:42px!important;
    padding:6px 5px!important;
    gap:4px!important;
    font-size:12px!important;
    border-radius:12px!important;
  }
  .booking-detail-clean .status-secondary-icon-v146{width:19px!important;height:19px!important;font-size:16px!important}
}

@media(max-width:390px){
  .booking-detail-clean .status-primary-combined-v146{gap:6px!important}
  .booking-detail-clean .status-ready-label-v146{gap:7px!important}
  .booking-detail-clean .status-primary-v146>b,
  .booking-detail-clean .status-ready-label-v146>b{font-size:18px!important}
  .booking-detail-clean .status-paid-chip-v146{padding:6px 8px!important;font-size:11.5px!important;gap:5px!important}
  .booking-detail-clean .status-card-icon-v146{width:18px!important;height:13px!important}
  .booking-detail-clean .status-secondary-v146 .btn{font-size:10.8px!important}
  .booking-detail-clean .status-secondary-icon-v146{display:none!important}
}

/* v1.6.146 — final specificity fixes for the new hero action row. */

/* v1.6.198 — approved booking layout, no vehicle photo + order upsell. */
.booking-detail-clean .status-secondary-v146 .booking-cancel-action{
  grid-column:auto!important;
}

.add-service-dialog-v147{
  width:min(620px,calc(100vw - 24px));
  max-width:none;
  max-height:min(760px,calc(100dvh - 28px));
  padding:0;
  border:0;
  border-radius:24px;
  background:#fff;
  color:#15191d;
  box-shadow:0 28px 90px rgba(0,0,0,.24);
  overflow:hidden;
}
.add-service-dialog-v147::backdrop{
  background:rgba(8,10,12,.46);
  backdrop-filter:blur(2px);
}
.add-service-sheet-v147{
  padding:18px;
  display:grid;
  gap:12px;
  max-height:min(760px,calc(100dvh - 28px));
  overflow:hidden;
}
.add-service-head-v147{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.add-service-head-v147 .eyebrow{
  display:block;
  margin:0 0 4px;
  color:#848c92;
  font-size:10px;
  font-weight:950;
  letter-spacing:.14em;
}
.add-service-head-v147 h2{
  margin:0;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.add-service-close-v147{
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  border:0;
  border-radius:13px;
  background:#f1f3f4;
  color:#5f676d;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.add-service-search-v147{
  min-height:48px;
  border:1px solid #e0e4e7;
  border-radius:15px;
  background:#f7f8f9;
  padding:0 13px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  align-items:center;
  color:#7b8389;
}
.add-service-search-v147>span{
  font-size:21px;
  line-height:1;
}
.add-service-search-v147 input{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none;
  font-size:15px;
  font-weight:700;
  color:#20252a;
}
.add-service-list-v147{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  display:grid;
  gap:7px;
  padding-right:2px;
}
.add-service-row-v147{margin:0}
.add-service-row-v147[hidden]{display:none!important}
.add-service-row-v147 button{
  width:100%;
  min-height:68px;
  padding:10px 11px 10px 13px;
  border:1px solid #e5e8ea;
  border-radius:16px;
  background:#fafbfb;
  color:#171b1f;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 34px;
  align-items:center;
  gap:10px;
  text-align:left;
  cursor:pointer;
}
.add-service-row-v147 button:active{transform:scale(.995)}
.add-service-copy-v147{
  min-width:0;
  display:grid;
  gap:3px;
}
.add-service-copy-v147 b{
  font-size:14px;
  line-height:1.2;
  font-weight:900;
}
.add-service-copy-v147 small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7d858b;
  font-size:10.5px;
  line-height:1.2;
}
.add-service-price-v147{
  color:#3f474d;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.add-service-plus-v147{
  width:32px;
  height:32px;
  border-radius:10px;
  background:#edf5ff;
  color:#1673df;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:21px;
  font-weight:600;
}
.add-service-empty-v147{
  padding:22px 14px;
  border-radius:15px;
  background:#f5f6f7;
  color:#6f777d;
  text-align:center;
  font-size:13px;
  font-weight:750;
}

@media(max-width:700px){
  .booking-detail-clean .status-secondary-v146{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .booking-detail-clean .status-secondary-v146 .booking-cancel-action{
    grid-column:auto!important;
  }
  .add-service-dialog-v147{
    width:calc(100vw - 12px);
    max-height:calc(100dvh - 14px);
    border-radius:23px;
  }
  .add-service-sheet-v147{
    padding:14px 12px 12px;
    gap:10px;
    max-height:calc(100dvh - 14px);
  }
  .add-service-head-v147 h2{font-size:23px}
  .add-service-row-v147 button{
    min-height:64px;
    grid-template-columns:minmax(0,1fr) auto 30px;
    gap:8px;
    padding:9px 9px 9px 11px;
    border-radius:14px;
  }
  .add-service-copy-v147 b{font-size:13px}
  .add-service-price-v147{font-size:12px}
  .add-service-plus-v147{width:29px;height:29px;border-radius:9px;font-size:19px}
}

@media(max-width:390px){
  .booking-detail-clean .status-secondary-v146{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .booking-detail-clean .status-secondary-v146 .booking-cancel-action{grid-column:auto!important}
  .booking-detail-clean .status-secondary-v146 .btn{font-size:10px!important;padding:6px 4px!important}
  .add-service-row-v147 button{grid-template-columns:minmax(0,1fr) auto 28px;gap:6px}
  .add-service-copy-v147 b{font-size:12.5px}
  .add-service-price-v147{font-size:11px}
}


/* v1.6.198 — booking header collision fix + centered booking identity + text-only secondary outcomes. */
.booking-detail-clean .status-secondary-v146 .btn{
  gap:0!important;
}
.booking-detail-clean .status-secondary-v146 .status-secondary-icon-v146{
  display:none!important;
}

@media(max-width:760px){
  .booking-detail-clean .status-secondary-v146 .btn{
    justify-content:center!important;
    text-align:center!important;
  }
}


/* v1.6.198 — remove unusable back links, enlarge centered header status, and right-align discount value. */


/* v1.6.198 — larger vehicle brand/model in booking header. */


/* v1.6.198 — automatic vehicle brand logo next to brand/model. */


/* v1.6.198 — paid/closed order service amounts align to the far right; wage card removed from booking detail. */


/* v1.6.198 — staged Ready -> Paid interaction. Permanent check icon removed; payment icon appears only after method selection. */
.booking-detail-clean .booking-ready-action-v153.is-ready-saving{opacity:.78;cursor:wait!important}
.booking-detail-clean .booking-ready-action-v153.is-ready-saved{
  background:#18764f!important;
  border-color:#18764f!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(24,118,79,.22)!important;
  animation:lookcar-save-button-pop .34s ease-out both;
  justify-content:center!important;
  padding-left:12px!important;
}
.booking-detail-clean .status-ready-combined-v153{gap:10px!important}
.booking-detail-clean .status-ready-inactive-v153{
  min-height:42px;
  padding:7px 12px;
  border-radius:13px;
  color:#22272b;
  display:inline-flex!important;
  align-items:center!important;
  opacity:.72;
  cursor:default;
}
.booking-detail-clean .status-ready-inactive-v153>b{font-size:22px!important;font-weight:950!important;line-height:1!important}
.booking-detail-clean .status-paid-action-v153{
  border:1px solid rgba(17,116,65,.12)!important;
  box-shadow:0 4px 13px rgba(17,116,65,.08)!important;
}
.booking-detail-clean .status-paid-action-v153:active{transform:scale(.98)}
.booking-detail-clean .status-paid-done-v153{gap:7px!important}
@media(max-width:700px){
  .booking-detail-clean .status-ready-inactive-v153{padding:6px 8px!important}
  .booking-detail-clean .status-ready-inactive-v153>b{font-size:18px!important}
  .booking-detail-clean .status-paid-action-v153,.booking-detail-clean .status-paid-done-v153{font-size:12px!important;padding:6px 10px!important}
}
@media (prefers-reduced-motion:reduce){
  .booking-detail-clean .booking-ready-action-v153.is-ready-saved{animation:none!important;transition:none!important}
}


/* v1.6.198 — after Ready, fade yellow into the background and promote Paid to the primary action. */
.booking-detail-clean .status-ready-combined-v153{
  background:#fff8d7!important;
  box-shadow:inset 0 0 0 1px rgba(203,163,0,.07)!important;
  transition:background .24s ease,box-shadow .24s ease!important;
}
.booking-detail-clean .status-ready-combined-v153 .status-ready-inactive-v153{
  color:#7b704b!important;
  opacity:.58!important;
  background:transparent!important;
  padding-left:10px!important;
}
.booking-detail-clean .status-ready-combined-v153 .status-ready-inactive-v153>b{
  color:inherit!important;
  font-weight:850!important;
}
.booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153{
  min-height:46px!important;
  padding:8px 18px!important;
  border:1px solid #0d8053!important;
  border-radius:14px!important;
  background:#0b8a59!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(11,138,89,.22)!important;
  font-size:15px!important;
  font-weight:950!important;
  opacity:1!important;
}
.booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153:hover{background:#08784e!important}
.booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153:active{transform:scale(.975)!important}
.booking-detail-clean .status-ready-combined-v153.is-closed{
  background:#fff8d7!important;
}
.booking-detail-clean .status-ready-combined-v153.is-closed .status-paid-done-v153{
  min-height:46px!important;
  padding:8px 15px!important;
  border:1px solid #0d8053!important;
  border-radius:14px!important;
  background:#e6f4ea!important;
  color:#117441!important;
  box-shadow:none!important;
  opacity:1!important;
}
.payment-method-btn.is-paying-v154{opacity:.62!important;pointer-events:none!important}
@media(max-width:700px){
  .booking-detail-clean .status-ready-combined-v153 .status-ready-inactive-v153{padding-left:6px!important;padding-right:6px!important}
  .booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153{min-height:44px!important;padding:7px 14px!important;font-size:13px!important}
  .booking-detail-clean .status-ready-combined-v153.is-closed .status-paid-done-v153{min-height:44px!important;padding:7px 12px!important}
}


/* v1.6.198 — vehicle brand logos everywhere cars are shown, except calendar. */
.vehicle-brand-logo-v158.is-sm{width:16px;height:16px;max-width:16px;max-height:16px;flex-basis:16px}
.vehicle-brand-logo-v158.is-lg{width:22px;height:22px;max-width:22px;max-height:22px;flex-basis:22px}


/* v1.6.198 — visually normalize thin-line car brand logos so Audi/Opel do not look smaller than others. */
.vehicle-brand-logo-v158.is-thin-mark{transform:scale(1.18);transform-origin:center center}
.timeline-main .vehicle-brand-logo-v158.is-thin-mark,.mobile-order-car .vehicle-brand-logo-v158.is-thin-mark,.booking-summary-main .booking-brand-logo-v151.is-thin-mark{transform:scale(1.22);transform-origin:center center}


/* v1.6.198 — booking header "У роботі" badge uses a softer yellow than the Ready button, with black text. */
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
  background:#f3e7b1!important;
  color:#151515!important;
  border:1px solid rgba(195,161,24,.10)!important;
  box-shadow:none!important;
}

/* v1.6.198 — larger date and time in the booking header. */


/* v1.6.198 — approved booking-header "У роботі" badge, matching the selected mockup.
   Minimal light-cream pill, thin yellow border, small yellow dot on the left, black text. */
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:56px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#fbf7e9!important;
  color:#151515!important;
  border:1.5px solid #e6c84e!important;
  box-shadow:0 1px 0 rgba(230,200,78,.06)!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{
  content:'';
  width:14px;
  height:14px;
  border-radius:50%;
  background:#f2c300;
  box-shadow:0 0 0 3px rgba(242,195,0,.10);
  flex:0 0 14px;
}
@media(max-width:760px){
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
    min-height:52px!important;
    padding:0 20px!important;
    gap:9px!important;
    font-size:15px!important;
    border-width:1.5px!important;
  }
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{
    width:13px;
    height:13px;
    flex-basis:13px;
  }
}
@media(max-width:390px){
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
    min-height:49px!important;
    padding:0 18px!important;
    gap:8px!important;
    font-size:14.5px!important;
  }
}


/* v1.6.198 — top booking status simplified: no pill background, just a colored dot + text.
   Also slightly tighten the bottom action area (Save / Edit / Invoice). */
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending_reconfirm::before{background:#d9ab00}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-vehicle_received::before{background:#4a8ecb}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{background:#f2c300}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before{background:#18965d}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before{background:#c9494f}


/* v1.6.198 — booking top status tuned to a middle-ground style:
   more compact than the old large pill, but more visible than the dot-only variant.
   Subtle tinted background, comfortable spacing, and clear dot+text hierarchy. */

.booking-detail-clean .booking-hero-copy .status.status-in_progress,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:36px!important;
  padding:0 16px!important;
  margin:0 auto 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f7f4e8!important;
  box-shadow:none!important;
  color:#141414!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

.booking-detail-clean .booking-hero-copy .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{
  content:''!important;
  width:11px!important;
  height:11px!important;
  border-radius:50%!important;
  background:#aeb5bb!important;
  flex:0 0 11px!important;
  box-shadow:none!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending_reconfirm{background:#f9f2dd!important;color:#1a1a1a!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending_reconfirm::before{background:#d9ab00!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-confirmed,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-vehicle_received{background:#eef5fb!important;color:#151515!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-vehicle_received::before{background:#4a8ecb!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{background:#f8f1d8!important;color:#151515!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{background:#f2c300!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-ready,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-completed,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed{background:#eef8f1!important;color:#151515!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before{background:#18965d!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show{background:#fbefef!important;color:#151515!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before{background:#c9494f!important}

@media(max-width:760px){
  
  .booking-detail-clean .booking-hero-copy .status.status-in_progress,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
    min-height:34px!important;
    padding:0 15px!important;
    gap:8px!important;
    margin:0 auto 7px!important;
    font-size:14px!important;
  }
  
  .booking-detail-clean .booking-hero-copy .status.status-in_progress::before,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before{
    width:10px!important;
    height:10px!important;
    flex-basis:10px!important;
  }
}
@media(max-width:390px){
  
  .booking-detail-clean .booking-hero-copy .status.status-in_progress,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{
    min-height:32px!important;
    padding:0 14px!important;
    font-size:13.5px!important;
    margin:0 auto 6px!important;
  }
}


/* v1.6.198 — bottom action buttons slightly smaller for a lighter visual weight. */


/* v1.6.198 — hard override for bottom booking action buttons.
   Previous resize was visually weak because older button.btn rules had equal/higher specificity.
   Here we override exactly those selectors used by the screen. */


/* v1.6.198 — visible compact footer buttons in booking card + static asset cache-bust in base.html.
   This intentionally makes the three bottom buttons clearly smaller. */


/* v1.6.198 — medium-sized booking footer buttons: between 1.6.165 and 1.6.166. */


/* v1.6.198 — tuned booking footer buttons based on the approved visual target.
   Main buttons: 46px high, 15px text, 14px radius. Invoice matches the same visual weight. */


/* v1.6.198 — car brand logos are intentionally shown only in the booking detail card.
   Other CRM screens render brand/model as text only. */


/* v1.6.198 — wage block restored inside booking edit mode. */


/* v1.6.198 — redesigned wage block inside booking edit mode.
   Goal: make each service clearly separated, larger text, more readable fields, and mobile-friendly spacing. */


/* v1.6.198 — compact wage cards in booking edit mode.
   Separate white cards, clearer service separation, and a denser mobile layout. */


/* v1.6.198 — unified edit-panel background.
   All blocks that open after tapping "Редагувати" now use the same warm background as the executor block. */


/* v1.6.198 — mobile-first advanced edit redesign.
   One warm visual system, no nested white wage cards, compact controls and tighter vertical rhythm. */

/* Date/time: keep the three important controls on one row on mobile. */

/* Executor: same compact warm-card language. */

/* Wage section: no card-inside-card. Each service is only separated by a thin warm divider. */
.booking-detail-clean .booking-advanced-edit .compact-wage-summary-v174>span.is-actual{
  background:#f6eab8!important;
  color:#6c5500!important;
}


/* v1.6.198 — split each wage service into its own compact mini-card,
   similar to the queue look, while preserving the approved warm edit-mode style. */


/* v1.6.198 — make Start and End controls exactly the same width in booking edit mode. */


/* v1.6.198 — lock Start/End into a dedicated equal-width row in booking edit mode. */


/* v1.6.198 — mobile sizing pass for the entire booking edit area.
   Improve readability and touch comfort without making the edit screen bulky. */
@media(max-width:760px){

  /* Section labels / titles */

  /* Date & time */

  /* Executor */

  /* Wage cards */
}


/* v1.6.198 — removable services in booking card + slightly larger Home staff availability. */

@media(max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1.34fr) minmax(132px,.96fr)!important;
    min-height:64px!important;
    padding:8px 0!important;
    gap:10px!important;
  }
  .master-availability-person-main{gap:10px!important}
  .master-availability-person-main .person-avatar-sm{
    width:47px!important;
    height:47px!important;
    min-width:47px!important;
    min-height:47px!important;
  }
  .master-availability-person b{font-size:14.5px!important;line-height:1.15!important}
  .master-availability-person small{font-size:11px!important;line-height:1.2!important}
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:11.25px!important;line-height:1.15!important}
  .availability-slot-links a,
  .availability-slot-short{padding:6px 8px!important}
  .availability-summary-text{max-width:136px!important}
}
@media(max-width:390px){
  .master-availability-row{
    grid-template-columns:minmax(0,1.3fr) minmax(122px,.94fr)!important;
    min-height:61px!important;
    padding:7px 0!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .master-availability-person b{font-size:14px!important}
  .master-availability-person small{font-size:10.5px!important}
  .availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:10.75px!important}
}

/* v1.6.198 — redesigned "Записи на сьогодні" block */
.today-bookings-panel-v182{
  padding:18px;
  background:#fbfbfc;
}
.today-bookings-v182-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.today-bookings-v182-head h2{
  margin:5;
  font-size:clamp(22px,4.2vw,34px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.today-bookings-v182-all{
  flex-shrink:0;
  min-height:48px;
  padding:10px 16px;
  border-radius:18px;
  background:#f2f5f7;
  border:1px solid #edf1f3;
  color:#181c20;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.today-bookings-v182-all svg{
  width:11px;
  height:16px;
  color:#6b737b;
}
.today-bookings-v182-switch{
  display:inline-flex;
  gap:6px;
  margin-top:10px;
  padding:4px;
  background:#f2f4f6;
  border-radius:14px;
}
.today-bookings-v182-switch a{
  padding:7px 12px;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
  color:#67707a;
}
.today-bookings-v182-switch a.active{
  background:#fff;
  color:#111;
  box-shadow:0 1px 2px rgba(16,18,20,.06);
}
.today-bookings-v182-list{
  display:grid;
  gap:12px;
}
.today-booking-v182-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:22px;
  background:#fff;
  border:1px solid #edf0f2;
  box-shadow:0 10px 24px rgba(16,18,20,.035);
}
.today-booking-v182-time{
  display:grid;
  gap:4px;
  align-self:stretch;
  justify-content:center;
  align-content:center;
}
.today-booking-v182-time strong{
  font-size:21px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}
.today-booking-v182-time span{
  font-size:13px;
  line-height:1.1;
  color:#7a828b;
  font-weight:700;
}
.today-booking-v182-customer{
  display:block;
  min-width:0;
  font-size:17px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
}
.today-booking-v182-status{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.today-booking-v182-status i{
  width:14px;
  height:14px;
  border-radius:50%;
  display:block;
  background:currentColor;
  box-shadow:0 0 0 5px rgba(255,255,255,.28);
}
.today-booking-v182-status.status-confirmed,
.today-booking-v182-status.status-time_proposed{
  background:#e7f8ec;
  color:#12b84f;
}
.today-booking-v182-status.status-in_progress,
.today-booking-v182-status.status-vehicle_received{
  background:#e7f1ff;
  color:#2985ff;
}
.today-booking-v182-status.status-pending,
.today-booking-v182-status.status-pending_reconfirm{
  background:#fff4cf;
  color:#d5a000;
}
.today-booking-v182-status.status-ready{
  background:#fff0cf;
  color:#d68a00;
}
.today-booking-v182-status.status-completed,
.today-booking-v182-status.status-closed{
  background:#eef2f5;
  color:#6a7480;
}
.today-booking-v182-status.status-no_show,
.today-booking-v182-status.status-client_refused,
.today-booking-v182-status.status-cancelled,
.today-booking-v182-status.status-rejected{
  background:#fde8ea;
  color:#c24a5c;
}
.today-booking-v182-carline,
.today-booking-v182-service{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.today-booking-v182-carline span{
  min-width:0;
  font-size:15px;
  line-height:1.2;
  color:#67717c;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.today-booking-v182-logo{
  width:42px;
  height:28px;
  object-fit:contain;
  object-position:left center;
  flex-shrink:0;
  filter:none;
  opacity:1;
}
.today-booking-v182-service{
  flex-wrap:wrap;
  gap:8px;
  font-size:15px;
  line-height:1.25;
  color:#6d7680;
}
.today-booking-v182-additional{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#fff5d7;
  color:#8f6700;
  font-size:11px;
  font-weight:800;
}
.today-booking-v182-avatar.person-avatar{
  width:68px;
  height:68px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid #eef0f2;
  background:#f5f6f8;
}
@media (max-width: 760px){
  .today-bookings-panel-v182{
    padding:14px;
  }
  .today-bookings-v182-head{
    gap:10px;
    margin-bottom:12px;
  }
  .today-bookings-v182-head h2{
    font-size:28px;
  }
  .today-bookings-v182-all{
    min-height:44px;
    padding:10px 14px;
    border-radius:16px;
    gap:8px;
    font-size:13px;
  }
  .today-bookings-v182-list{
    gap:10px;
  }
  .today-booking-v182-card{
    grid-template-columns:76px minmax(0,1fr) auto;
    gap:12px;
    padding:13px 14px;
    border-radius:20px;
  }
  .today-booking-v182-time strong{
    font-size:19px;
  }
  .today-booking-v182-time span{
    font-size:12px;
  }
  .today-booking-v182-customer{
    font-size:16px;
  }
  .today-booking-v182-status{
    min-height:32px;
    padding:0 11px;
    gap:7px;
    font-size:12px;
  }
  .today-booking-v182-status i{
    width:12px;
    height:12px;
  }
  .today-booking-v182-logo{
    width:38px;
    height:24px;
  }
  .today-booking-v182-carline span,
  .today-booking-v182-service{
    font-size:14px;
  }
  .today-booking-v182-avatar.person-avatar{
    width:60px;
    height:60px;
  }
}
@media (max-width: 520px){
  .today-bookings-v182-head{
    align-items:flex-start;
  }
  .today-bookings-v182-head h2{
    font-size:24px;
  }
  .today-bookings-v182-all{
    min-height:40px;
    padding:8px 12px;
    font-size:12px;
  }
  .today-booking-v182-card{
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:10px;
    padding:12px;
  }
  .today-booking-v182-time strong{
    font-size:18px;
  }
  .today-booking-v182-status{
    max-width:100%;
  }
  .today-booking-v182-avatar.person-avatar{
    width:54px;
    height:54px;
  }
}


/* v1.6.198 — compact mobile redesign for the "Записи на сьогодні" block.
   Cards are visually shorter, the status lives in the right meta column,
   and car brand logos are intended to be shown in color. */
.today-booking-v182-card{
  grid-template-columns:78px minmax(0,1fr) auto;
  gap:12px;
  padding:12px 14px;
}
.today-booking-v182-time{
  gap:4px;
}
.today-booking-v182-time strong{
  font-size:20px;
}
.today-booking-v182-time span{
  font-size:13px;
}
.today-booking-v182-time.is-all-day strong{
  font-size:17px;
  line-height:1.05;
}
.today-booking-v182-customer{
  font-size:17px;
  line-height:1.12;
}
.today-booking-v182-carline span{
  font-size:15px;
  line-height:1.18;
}
.today-booking-v182-logo{
  width:38px;
  height:24px;
}
.today-booking-v182-service{
  gap:7px;
  font-size:14px;
  line-height:1.18;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.today-booking-v182-additional{
  min-height:22px;
  padding:0 9px;
  font-size:11px;
}
.today-booking-v182-status{
  min-height:34px;
  padding:0 12px;
  gap:8px;
  font-size:12px;
}
.today-booking-v182-status i{
  width:12px;
  height:12px;
  box-shadow:none;
}
.today-booking-v182-status.status-in_progress,
.today-booking-v182-status.status-vehicle_received{
  background:#fff4cf;
  color:#a67a00;
}
.today-booking-v182-avatar.person-avatar{
  width:56px;
  height:56px;
}
@media (max-width:760px){
  .today-booking-v182-card{grid-template-columns:72px minmax(0,1fr) auto;gap:10px;padding:12px;}
  .today-booking-v182-time strong{font-size:18px;}
  .today-booking-v182-time span{font-size:12px;}
  .today-booking-v182-time.is-all-day strong{font-size:16px;}
  .today-booking-v182-customer{font-size:16px;}
  .today-booking-v182-carline span,.today-booking-v182-service{font-size:14px;}
  .today-booking-v182-status{min-height:32px;padding:0 11px;gap:7px;font-size:12px;}
  .today-booking-v182-status i{width:11px;height:11px;}
  .today-booking-v182-logo{width:36px;height:22px;}
  .today-booking-v182-avatar.person-avatar{width:52px;height:52px;}
}
@media (max-width:520px){
  .today-booking-v182-card{grid-template-columns:68px minmax(0,1fr) auto;gap:9px;padding:11px;}
  .today-booking-v182-time strong{font-size:17px;}
  .today-booking-v182-time.is-all-day strong{font-size:15px;}
  .today-booking-v182-customer{font-size:15px;}
  .today-booking-v182-carline span,.today-booking-v182-service{font-size:13px;}
  .today-booking-v182-status{min-height:30px;padding:0 10px;gap:6px;font-size:11.5px;}
  .today-booking-v182-avatar.person-avatar{width:48px;height:48px;}
}


/* v1.6.198 — tighter mobile cards for “Записи на сьогодні”.
   Changes: two-line all-day label, end-time instead of duration,
   plain colored status text with dot, brand/model closer to the logo,
   and the full list of services instead of “+1”. */
.today-booking-v182-card{
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:10px;
  padding:10px 12px;
  border-radius:20px;
}
.today-booking-v182-time{
  display:grid;
  justify-content:center;
  align-content:center;
  gap:3px;
  text-align:left;
}
.today-booking-v182-time strong{
  font-size:18px;
  line-height:1;
  letter-spacing:-.04em;
}
.today-booking-v182-time span{
  font-size:12px;
  line-height:1.05;
  color:#7b838d;
  font-weight:800;
}
.today-booking-v182-time.is-all-day strong,
.today-booking-v182-time.is-all-day span{
  font-size:16px;
  line-height:0.98;
}
.today-booking-v182-customer{font-size:15px; line-height:1.1;}
.today-booking-v182-carline{gap:6px;}
.today-booking-v182-logo{
  width:34px;
  height:22px;
  object-fit:contain;
  object-position:center;
}
.today-booking-v182-carline span{
  font-size:14px;
  line-height:1.12;
  color:#6a7480;
}
.today-booking-v182-service{
  display:flex;
  flex-wrap:wrap;
  gap:3px 6px;
  font-size:12.5px;
  line-height:1.15;
  color:#707985;
  overflow:visible;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
}
.today-booking-v182-service-item{display:inline;}
.today-booking-v182-additional{
  min-height:18px;
  padding:0 7px;
  font-size:10px;
  background:#fff7dc;
  color:#9a7300;
}
.today-booking-v182-status{
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent !important;
  font-size:12px;
  font-weight:900;
  gap:7px;
}
.today-booking-v182-status i{
  width:11px;
  height:11px;
  flex-shrink:0;
}
.today-booking-v182-status.status-confirmed,
.today-booking-v182-status.status-time_proposed{color:#2f83ff;}
.today-booking-v182-status.status-pending,
.today-booking-v182-status.status-pending_reconfirm{color:#d5a000;}
.today-booking-v182-status.status-in_progress,
.today-booking-v182-status.status-vehicle_received{color:#a67a00;}
.today-booking-v182-status.status-ready,
.today-booking-v182-status.status-completed{color:#1e9f48;}
.today-booking-v182-status.status-closed{color:#6e7580;}
.today-booking-v182-status.status-no_show,
.today-booking-v182-status.status-client_refused,
.today-booking-v182-status.status-cancelled,
.today-booking-v182-status.status-rejected{color:#c24a5c;}
.today-booking-v182-avatar.person-avatar{width:50px; height:50px;}
@media (max-width:760px){
  .today-booking-v182-card{grid-template-columns:68px minmax(0,1fr) auto;gap:9px;padding:10px 11px;}
  .today-booking-v182-time strong{font-size:17px;}
  .today-booking-v182-time span{font-size:11.5px;}
  .today-booking-v182-time.is-all-day strong,
  .today-booking-v182-time.is-all-day span{font-size:15px;}
  .today-booking-v182-customer{font-size:14px;}
  .today-booking-v182-carline span{font-size:13px;}
  .today-booking-v182-service{font-size:12px;}
  .today-booking-v182-status{font-size:11.5px;}
  .today-booking-v182-avatar.person-avatar{width:46px; height:46px;}
  .today-booking-v182-logo{width:32px; height:20px;}
}
@media (max-width:520px){
  .today-booking-v182-card{grid-template-columns:64px minmax(0,1fr) auto;gap:8px;padding:10px;}
  .today-booking-v182-time strong{font-size:16px;}
  .today-booking-v182-time span{font-size:11px;}
  .today-booking-v182-time.is-all-day strong,
  .today-booking-v182-time.is-all-day span{font-size:14px;}
  .today-booking-v182-customer{font-size:13.5px;}
  .today-booking-v182-carline span{font-size:12.5px;}
  .today-booking-v182-service{font-size:11.5px; gap:2px 5px;}
  .today-booking-v182-status{font-size:11px; gap:6px;}
  .today-booking-v182-status i{width:10px;height:10px;}
  .today-booking-v182-avatar.person-avatar{width:42px; height:42px;}
}


/* v1.6.198 — mobile polish: compact availability date picker, aligned bookings head,
   and single-line statuses on the today cards. */
.availability-date-form{display:flex;justify-content:flex-end;}
.availability-date-trigger{
  grid-template-columns:auto 36px!important;
  width:auto!important;
  height:44px!important;
  border-radius:18px!important;
  border-color:#ebeff2!important;
  background:#f2f5f7!important;
}
.availability-date-trigger-value{
  min-width:128px!important;
  padding:0 16px!important;
  font-size:14px!important;
  font-weight:850!important;
}
.availability-date-trigger .availability-date-caret{
  width:36px!important;
  min-width:36px!important;
  height:42px!important;
  border-left:1px solid #e4e8ec!important;
  border-radius:0 17px 17px 0!important;
  background:#edf2f5!important;
}
.today-bookings-v182-head{align-items:center; margin-bottom:12px;}
.today-bookings-v182-head > div{display:flex; align-items:center; gap:14px; min-width:0;}
.today-bookings-v182-head h2{
  white-space:nowrap;
  margin:4px 0 0;
}
.today-bookings-v182-switch{margin-top:0;}
.today-booking-v182-card{grid-template-columns:64px minmax(0,1fr) 114px;}
.today-booking-v182-status{
  white-space:nowrap;
  line-height:1;
}
.today-booking-v182-service{padding-right:2px;}
@media (max-width:760px){
  .availability-date-trigger-value{min-width:116px!important;font-size:13px!important;padding:0 14px!important;}
  .today-booking-v182-card{grid-template-columns:60px minmax(0,1fr) 106px;}
}
@media (max-width:520px){
  .availability-date-trigger{height:42px!important;}
  .availability-date-trigger-value{min-width:104px!important;padding:0 12px!important;font-size:12.5px!important;}
  .availability-date-trigger .availability-date-caret{height:40px!important;}
  .today-bookings-v182-head{gap:10px;}
  .today-bookings-v182-head > div{gap:8px; min-width:0;}
  .today-bookings-v182-head h2{font-size:17px; margin-top:6px;}
  .today-bookings-v182-all{padding:8px 12px; min-height:42px; border-radius:16px; font-size:13px; gap:8px;}
  .today-booking-v182-card{grid-template-columns:58px minmax(0,1fr) 98px;}
  .today-booking-v182-status{font-size:10.5px;}
}


/* v1.6.198 — center the status/photo column in Today bookings and remove chevrons */
.today-booking-v182-status{
  width:100%;
  justify-content:center !important;
  text-align:center !important;
}
.today-booking-v182-avatar.person-avatar{
  margin-inline:auto !important;
}
@media (max-width:520px){
  .today-booking-v182-card{grid-template-columns:58px minmax(0,1fr) 92px !important;}
  .today-booking-v182-status{font-size:10.5px !important;}
}


/* v1.6.198 — optimize "Хто вільний" for mobile: free slots in 2 columns,
   and 3 columns on wider phones/tablets when there is enough space. */
@media (max-width:820px){
  .master-availability-panel{
    padding:14px!important;
  }
  .master-availability-head{
    margin-bottom:8px!important;
    align-items:flex-end!important;
  }
  .availability-head-actions{
    flex:0 0 auto!important;
  }
  .availability-date-trigger{
    background:#f4f7f9!important;
  }
  .master-availability-list{
    margin-top:4px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 164px!important;
    gap:10px!important;
    min-height:74px!important;
    padding:10px 0!important;
    align-items:center!important;
  }
  .master-availability-person-main{
    gap:10px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  .master-availability-person b{
    font-size:14.5px!important;
    line-height:1.16!important;
  }
  .master-availability-person small{
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.22!important;
  }
  .master-availability-times{
    width:100%!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:6px!important;
  }
  .availability-slot-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-items:stretch!important;
    align-items:start!important;
    gap:6px!important;
    width:min(100%,164px)!important;
    margin-left:auto!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    padding:0 7px!important;
    border-radius:12px!important;
    font-size:11px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .availability-summary-text{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    text-align:right!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:normal!important;
  }
}
@media (min-width:430px) and (max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 210px!important;
  }
  .availability-slot-links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(100%,210px)!important;
  }
}
@media (max-width:390px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 154px!important;
    gap:8px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .master-availability-person b{
    font-size:14px!important;
  }
  .master-availability-person small{
    font-size:10.5px!important;
  }
  .availability-slot-links{
    width:min(100%,154px)!important;
    gap:5px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    min-height:32px!important;
    font-size:10.5px!important;
    padding:0 6px!important;
  }
  .availability-summary-text{
    font-size:11.5px!important;
  }
}


/* v1.6.198 — extra compact mobile refinement for "Хто вільний"
   and stronger row alignment for each master. */
@media (max-width:820px){
  .master-availability-panel{
    padding:12px!important;
    border-radius:26px!important;
  }
  .master-availability-head{
    margin-bottom:6px!important;
  }
  .master-availability-list{
    margin-top:2px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 150px!important;
    gap:8px!important;
    min-height:68px!important;
    padding:8px 0!important;
    align-items:center!important;
  }
  .master-availability-person-main{
    gap:9px!important;
    align-items:center!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .master-availability-person b{
    font-size:13.5px!important;
    line-height:1.14!important;
    letter-spacing:-0.01em!important;
  }
  .master-availability-person small{
    margin-top:1px!important;
    font-size:10.5px!important;
    line-height:1.18!important;
    max-width:100%!important;
  }
  .master-availability-times{
    width:100%!important;
    min-height:100%!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:4px!important;
  }
  .availability-slot-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(30px,auto)!important;
    align-content:center!important;
    justify-items:stretch!important;
    gap:5px!important;
    width:150px!important;
    margin-left:auto!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    min-height:30px!important;
    height:30px!important;
    padding:0 5px!important;
    border-radius:11px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:800!important;
  }
  .availability-summary-text{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-height:30px!important;
    width:150px!important;
    margin-left:auto!important;
    text-align:right!important;
    font-size:11px!important;
    line-height:1.16!important;
    font-weight:800!important;
  }
}
@media (min-width:430px) and (max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 186px!important;
  }
  .availability-slot-links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:186px!important;
  }
  .availability-summary-text{
    width:186px!important;
  }
}
@media (max-width:390px){
  .master-availability-panel{
    padding:11px!important;
  }
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 142px!important;
    gap:7px!important;
    min-height:64px!important;
  }
  .master-availability-person-main .person-avatar-sm{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .master-availability-person b{
    font-size:13px!important;
  }
  .master-availability-person small{
    font-size:10px!important;
  }
  .availability-slot-links{
    width:142px!important;
    gap:4px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    min-height:29px!important;
    height:29px!important;
    font-size:9.7px!important;
    padding:0 4px!important;
  }
  .availability-summary-text{
    width:142px!important;
    font-size:10.5px!important;
  }
}


/* v1.6.198 — unified Home top panel based on the approved reference. */



/* v1.6.198 — restore the original availability popup calendar size.
   Only the date trigger button in "Хто вільний" is compacted. */
.availability-date-form{
  display:flex!important;
  justify-content:flex-end!important;
}
.availability-date-trigger{
  grid-template-columns:auto 30px!important;
  width:auto!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border-radius:12px!important;
  border:1px solid #e7ebee!important;
  background:#f2f5f7!important;
  box-shadow:none!important;
}
.availability-date-trigger-value{
  min-width:92px!important;
  padding:0 10px!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:850!important;
}
.availability-date-trigger .availability-date-caret{
  width:30px!important;
  min-width:30px!important;
  height:32px!important;
  min-height:32px!important;
  border-left:1px solid #e0e5e8!important;
  border-radius:0 11px 11px 0!important;
  background:#edf1f4!important;
}
.availability-date-trigger .availability-date-caret svg{
  width:10px!important;
  height:7px!important;
}
@media(max-width:390px){
  .availability-date-trigger{
    grid-template-columns:auto 28px!important;
    height:32px!important;
    min-height:32px!important;
  }
  .availability-date-trigger-value{
    min-width:86px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
  .availability-date-trigger .availability-date-caret{
    width:28px!important;
    min-width:28px!important;
    height:30px!important;
    min-height:30px!important;
  }
}

/* v1.6.198 — make "Всі записи" button the same compact size as the small navigation button. */
.today-bookings-v182-all{
  min-height:42px!important;
  padding:0 13px!important;
  border-radius:14px!important;
  background:#f2f5f7!important;
  border:1px solid #e7ebee!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.today-bookings-v182-all svg{
  width:11px!important;
  height:16px!important;
  color:#78818a!important;
}
@media(max-width:520px){
  .today-bookings-v182-all{
    min-height:37px!important;
    padding:0 9px!important;
    border-radius:13px!important;
    font-size:11px!important;
    gap:5px!important;
  }
  .today-bookings-v182-all svg{
    width:10px!important;
    height:14px!important;
  }
}
@media(max-width:390px){
  .today-bookings-v182-all{
    min-height:35px!important;
    padding:0 8px!important;
    font-size:10.5px!important;
    gap:4px!important;
  }
}

/* v1.6.198 — exact size match: "Всі записи" = availability calendar trigger. */
.today-bookings-v182-all{
  box-sizing:border-box!important;
  width:122px!important;
  min-width:122px!important;
  max-width:122px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font-size:11.5px!important;
  line-height:1!important;
}
.today-bookings-v182-all svg{
  width:10px!important;
  height:13px!important;
  flex:0 0 auto!important;
}
@media(max-width:390px){
  .today-bookings-v182-all{
    width:114px!important;
    min-width:114px!important;
    max-width:114px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    border-radius:12px!important;
    font-size:11px!important;
    gap:5px!important;
  }
  .today-bookings-v182-all svg{
    width:9px!important;
    height:12px!important;
  }
}


/* v1.6.202 — minimal dotted matrix pattern for the mobile top app bar. */
@media(max-width:820px){
  .mobile-appbar{
    position:fixed!important;
    isolation:isolate!important;
    overflow:hidden!important;
    background:#101214!important;
    box-shadow:0 1px 0 rgba(255,255,255,.065),0 5px 16px rgba(0,0,0,.10)!important;
  }
  .mobile-appbar::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-image:radial-gradient(circle,rgba(255,255,255,.18) 1px,transparent 1.15px);
    background-size:11px 11px;
    background-position:2px 2px;
    opacity:.52;
  }
  .mobile-appbar::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(16,18,20,.60) 0%,rgba(16,18,20,.16) 42%,rgba(16,18,20,.10) 62%,rgba(16,18,20,.48) 100%);
  }
  .mobile-appbar>.mobile-brand,
  .mobile-appbar>.mobile-user-actions{
    position:relative;
    z-index:1;
  }
  .mobile-brand-art::after{
    opacity:.10!important;
  }
  .mobile-brand-art img{
    opacity:.86!important;
    filter:brightness(.96) saturate(.92) drop-shadow(0 3px 9px rgba(240,207,75,.045))!important;
  }
  .mobile-user-avatar-trigger .person-avatar{
    box-shadow:0 0 0 1px rgba(255,255,255,.17),0 3px 10px rgba(0,0,0,.16)!important;
  }
  .mobile-top-menu{
    color:#e2e5e8!important;
  }
}
@media(max-width:390px){
  .mobile-appbar::before{
    background-size:10px 10px;
    opacity:.48;
  }
}


/* v1.6.202 — dotted header fades out naturally before the user/profile zone. */
@media(max-width:820px){
  .mobile-appbar::before{
    inset:0 auto 0 0!important;
    width:calc(100% - 108px)!important;
    background-image:radial-gradient(circle,rgba(255,255,255,.18) 1px,transparent 1.15px)!important;
    background-size:11px 11px!important;
    background-position:2px 2px!important;
    opacity:.54!important;
    -webkit-mask-image:linear-gradient(to right,
      #000 0%,
      #000 67%,
      rgba(0,0,0,.96) 72%,
      rgba(0,0,0,.78) 80%,
      rgba(0,0,0,.48) 88%,
      rgba(0,0,0,.18) 95%,
      transparent 100%)!important;
    mask-image:linear-gradient(to right,
      #000 0%,
      #000 67%,
      rgba(0,0,0,.96) 72%,
      rgba(0,0,0,.78) 80%,
      rgba(0,0,0,.48) 88%,
      rgba(0,0,0,.18) 95%,
      transparent 100%)!important;
  }
  .mobile-appbar::after{
    background:linear-gradient(90deg,
      rgba(16,18,20,.48) 0%,
      rgba(16,18,20,.12) 44%,
      rgba(16,18,20,.06) 66%,
      rgba(16,18,20,.18) 78%,
      rgba(16,18,20,.72) 100%)!important;
  }
}
@media(max-width:390px){
  .mobile-appbar::before{
    width:calc(100% - 100px)!important;
    background-size:10px 10px!important;
    opacity:.50!important;
  }
}


/* v1.6.206 — subtle dotted title zones on Home; fade naturally before right-side buttons. */
@media(max-width:820px){
  .master-availability-head,
  .today-bookings-v182-head{
    position:relative!important;
    isolation:isolate!important;
  }
  .master-availability-head::before,
  .today-bookings-v182-head::before{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    top:-12px;
    bottom:-7px;
    left:-14px;
    right:132px;
    background-image:radial-gradient(circle,rgba(66,75,82,.28) .8px,transparent .92px);
    background-size:10px 10px;
    background-position:2px 2px;
    opacity:.70;
    -webkit-mask-image:linear-gradient(to right,
      #000 0%,
      #000 64%,
      rgba(0,0,0,.92) 72%,
      rgba(0,0,0,.66) 82%,
      rgba(0,0,0,.30) 92%,
      transparent 100%);
    mask-image:linear-gradient(to right,
      #000 0%,
      #000 64%,
      rgba(0,0,0,.92) 72%,
      rgba(0,0,0,.66) 82%,
      rgba(0,0,0,.30) 92%,
      transparent 100%);
  }
  .master-availability-head>*,
  .today-bookings-v182-head>*{
    position:relative;
    z-index:1;
  }
}
@media(max-width:390px){
  .master-availability-head::before,
  .today-bookings-v182-head::before{
    right:124px;
    background-size:9px 9px;
    opacity:.34;
  }
}

/* v1.6.210 — keep dotted Home headers inside rounded panels and vertically center Today title. */
@media(max-width:820px){
  .master-availability-panel,
  .today-bookings-panel-v182{
    overflow:hidden!important;
  }
}
@media(max-width:520px){
  .today-bookings-v182-head h2{
    margin:0!important;
    transform:translateY(-1px);
  }
}


/* v1.6.210 — minimal black-text status system for Home cards and booking detail header.
   The text stays neutral black; only the dot/icon carries the status color. */
.today-booking-v182-status{
  background:transparent!important;
  color:#151515!important;
  min-height:auto!important;
  padding:0!important;
  border-radius:0!important;
  font-size:13px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
}
.today-booking-v182-status i{
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#b5bdc6!important;
  box-shadow:none!important;
  font-style:normal!important;
  line-height:1!important;
}
.today-booking-v182-status i::before{
  content:'';
  display:block;
  line-height:1;
}
.today-booking-v182-status.status-confirmed i,
.today-booking-v182-status.status-time_proposed i{background:#2f80ed!important}
.today-booking-v182-status.status-in_progress i,
.today-booking-v182-status.status-vehicle_received i{background:#e0b400!important}
.today-booking-v182-status.status-ready i,
.today-booking-v182-status.status-completed i{background:#19a35b!important}
.today-booking-v182-status.status-pending i,
.today-booking-v182-status.status-pending_reconfirm i{background:#f0a400!important}
.today-booking-v182-status.status-closed i,
.today-booking-v182-status.status-cancelled i,
.today-booking-v182-status.status-client_refused i,
.today-booking-v182-status.status-no_show i,
.today-booking-v182-status.status-rejected i{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
  background:transparent!important;
  border-radius:0!important;
}
.today-booking-v182-status.status-closed i::before{
  content:'₴';
  font-size:16px;
  font-weight:900;
  color:#14a44d;
}
.today-booking-v182-status.status-cancelled i::before{
  content:'✕';
  font-size:14px;
  font-weight:900;
  color:#d74a4a;
}
.today-booking-v182-status.status-client_refused i::before{
  content:'–';
  font-size:18px;
  font-weight:900;
  color:#e28621;
  transform:translateY(-1px);
}
.today-booking-v182-status.status-no_show i::before{
  content:'○';
  font-size:13px;
  font-weight:900;
  color:#8e959d;
}
.today-booking-v182-status.status-rejected i::before{
  content:'!';
  font-size:14px;
  font-weight:900;
  color:#7f8791;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-time_proposed::before{background:#2f80ed!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-vehicle_received::before{background:#e0b400!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-completed::before{background:#19a35b!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-pending_reconfirm::before{background:#f0a400!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-client_refused::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before{
  width:auto!important;
  height:auto!important;
  flex-basis:auto!important;
  border-radius:0!important;
  background:transparent!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before{
  content:'₴';
  color:#14a44d!important;
  font-size:18px!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before{
  content:'✕';
  color:#d74a4a!important;
  font-size:16px!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-client_refused::before{
  content:'–';
  color:#e28621!important;
  font-size:19px!important;
  transform:translateY(-1px);
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before{
  content:'○';
  color:#8e959d!important;
  font-size:14px!important;
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before{
  content:'!';
  color:#7f8791!important;
  font-size:15px!important;
}
@media(max-width:760px){
  .today-booking-v182-status{font-size:12px!important}
  .today-booking-v182-status i{width:11px!important;height:11px!important;flex-basis:11px!important}
  .today-booking-v182-status.status-closed i,
  .today-booking-v182-status.status-cancelled i,
  .today-booking-v182-status.status-client_refused i,
  .today-booking-v182-status.status-no_show i,
  .today-booking-v182-status.status-rejected i{width:15px!important;height:15px!important;flex-basis:15px!important}
  .today-booking-v182-status.status-closed i::before{font-size:15px}
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-client_refused::before,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before{width:auto!important;height:auto!important;flex-basis:auto!important}
}


/* v1.6.209 — status polish: stronger no-show marker, centered refusal dash, and fully transparent detail status chip */
.today-booking-v182-status.status-client_refused i,
.today-booking-v182-status.status-no_show i{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
  background:transparent!important;
  border-radius:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.today-booking-v182-status.status-client_refused i::before{
  content:'–'!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#e28621!important;
  transform:none!important;
  display:block!important;
  margin-top:0!important;
}
.today-booking-v182-status.status-no_show i::before{
  content:'●'!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#d74a4a!important;
  display:block!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before{background:#2f80ed!important}
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before{background:#e0b400!important}
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before{background:#19a35b!important}
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before{background:#f0a400!important}
.booking-detail-clean .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .clean-booking-title > .status.status-closed::before,
.booking-detail-clean .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .clean-booking-title > .status.status-cancelled::before,
.booking-detail-clean .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .clean-booking-title > .status.status-client_refused::before,
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before,
.booking-detail-clean .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .clean-booking-title > .status.status-rejected::before{
  width:auto!important;
  height:auto!important;
  flex-basis:auto!important;
  border-radius:0!important;
  background:transparent!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .clean-booking-title > .status.status-closed::before{
  content:'₴'!important;
  color:#14a44d!important;
  font-size:18px!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .clean-booking-title > .status.status-cancelled::before{
  content:'✕'!important;
  color:#d74a4a!important;
  font-size:16px!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .clean-booking-title > .status.status-client_refused::before{
  content:'–'!important;
  color:#e28621!important;
  font-size:18px!important;
  line-height:1!important;
  transform:none!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{
  content:'●'!important;
  color:#d74a4a!important;
  font-size:12px!important;
  line-height:1!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .clean-booking-title > .status.status-rejected::before{
  content:'!'!important;
  color:#7f8791!important;
  font-size:15px!important;
}


/* v1.6.210 — exact optical centering for status text beside dot/icon. */
.today-booking-v182-status{
  display:inline-flex!important;
  align-items:center!important;
}
.today-booking-v182-status .status-text-v210,
.booking-detail-clean .booking-hero-copy > .status .status-text-v210,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status .status-text-v210,
.booking-detail-clean .clean-booking-title > .status .status-text-v210{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  transform:translateY(0)!important;
}
.today-booking-v182-status i{
  align-self:center!important;
}
@media(max-width:760px){
  .today-booking-v182-status .status-text-v210,
  .booking-detail-clean .booking-hero-copy > .status .status-text-v210,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status .status-text-v210,
  .booking-detail-clean .clean-booking-title > .status .status-text-v210{
    min-height:15px!important;
  }
}


/* v1.6.212 — modern calendar date selector: white date field, quick Today/Tomorrow, yellow active choice, unified triangle arrows. */

@media(max-width:760px){
  .calendar-panel{height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - 154px)!important}
}


/* v1.6.212 — date, Today and Tomorrow stay on one row; active selected day remains yellow. */


/* v1.6.213 — week calendar card refinement */

.week-job{
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 0;
}
.week-job-time{
  font-weight:950;
  line-height:1.05;
  color:#17191b;
  display:block;
}
.week-job-main{
  min-width:0;
  display:grid;
  gap:3px;
}
.week-job-car{
  font-size:17px;
  line-height:1.12;
  color:#17191b;
}
.week-job-client{
  font-size:15px;
  font-weight:850;
  line-height:1.12;
  color:#4d5358;
}
.week-job-service{
  font-size:13px;
  line-height:1.32;
  color:#767d83;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.week-job-side{
  justify-self:end;
  align-self:center;
}
.week-job-avatar.person-avatar{
  width:44px;
  height:44px;
  box-shadow:0 4px 12px rgba(16,18,20,.10);
}
.week-job-additional{
  padding-left:10px;
  padding-right:10px;
}
@media(max-width:700px){
  .week-job{
    grid-template-columns:64px minmax(0,1fr) auto;
    gap:10px;
  }
  .week-job-car{
    font-size:16px;
  }
  .week-job-client{
    font-size:15px;
  }
  .week-job-service{
    font-size:12px;
  }
  .week-job-avatar.person-avatar{
    width:42px;
    height:42px;
  }
}


/* v1.6.214 — booking card bugfixes + unified Home panels. */
/* v1.6.215 — status controls restored exactly to the 1.6.213 appearance. */
/* The whole Add-service sheet scrolls on short/mobile screens. */
.add-service-dialog-v147{
  overflow:hidden!important;
  overscroll-behavior:contain;
}
.add-service-sheet-v147{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.add-service-list-v147{
  overflow:visible!important;
  min-height:auto!important;
}

/* App-styled service deletion confirmation. */
.service-remove-dialog-v214{
  width:min(430px,calc(100vw - 24px));
  max-width:none;
  padding:0;
  border:0;
  border-radius:22px;
  background:#fff;
  color:#171b1f;
  box-shadow:0 28px 90px rgba(0,0,0,.24);
}
.service-remove-dialog-v214::backdrop{
  background:rgba(8,10,12,.46);
  backdrop-filter:blur(2px);
}
.service-remove-sheet-v214{
  padding:22px;
  display:grid;
  gap:10px;
  text-align:center;
}
.service-remove-icon-v214{
  width:44px;
  height:44px;
  margin:0 auto 2px;
  border-radius:50%;
  background:#fff1f1;
  color:#c63c42;
  display:grid;
  place-items:center;
  font-size:28px;
  line-height:1;
  font-weight:700;
}
.service-remove-sheet-v214 .eyebrow{margin-top:2px}
.service-remove-sheet-v214 h2{margin:0;font-size:24px;letter-spacing:-.03em}
.service-remove-sheet-v214 p{margin:0;color:#666e74;font-size:13px;line-height:1.45}
.service-remove-sheet-v214 p b{color:#252a2e}
.service-remove-actions-v214{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.btn-danger-v214{
  border:1px solid #c83c42;
  border-radius:13px;
  background:#c83c42;
  color:#fff;
  min-height:44px;
  padding:10px 14px;
  font-weight:900;
}
.btn-danger-v214.is-busy{opacity:.55;pointer-events:none}
@media(max-width:520px){
  .service-remove-dialog-v214{width:calc(100vw - 16px);border-radius:20px}
  .service-remove-sheet-v214{padding:18px 16px}
}

/* Home cards use one shared radius and the availability heading sits slightly higher. */
.master-availability-panel,
.today-bookings-panel-v182{
  border-radius:22px!important;
}
.master-availability-panel{
  padding-top:10px!important;
}
.master-availability-head{
  margin-top:-1px!important;
}
.master-availability-head>div:first-child{
  transform:translateY(-2px);
}
@media(max-width:820px){
  .master-availability-panel,
  .today-bookings-panel-v182{border-radius:22px!important}
  .master-availability-panel{padding-top:9px!important}
}

/* v1.6.216 — remove background only from the top booking status above the client name.
   Keep the lower status control block unchanged. */
.booking-detail-clean .booking-hero-copy > .status .status-text-v210,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status .status-text-v210,
.booking-detail-clean .clean-booking-title > .status .status-text-v210{
  background:transparent!important;
  background-color:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* v1.6.218 — unify top booking-card status dot sizes */
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{
  content:'●'!important;
  width:auto!important;
  height:auto!important;
  flex:0 0 auto!important;
  border-radius:0!important;
  background:transparent!important;
  font-size:14px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-right:10px!important;
  transform:none!important;
}

/* v1.6.219 — restore colored top-status dots and unify their size only */
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{
  content:''!important;
  width:13px!important;
  height:13px!important;
  flex:0 0 13px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:0!important;
  transform:none!important;
  margin-right:0!important;
  box-shadow:none!important;
}
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before{background:#2f80ed!important;}
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before{background:#e0b400!important;}
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before{background:#19a35b!important;}
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before{background:#f0a400!important;}
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{background:#d74a4a!important;}

/* v1.6.220 — calendar navigation redesign: mode switch in title row + bottom weekly date strip. */
.admin-calendar-head-v220{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.admin-calendar-head-v220 .admin-calendar-title{
  min-width:0!important;
}
.admin-calendar-head-v220 .admin-calendar-title h1{
  margin:2px 0 0!important;
}
.calendar-view-switch-v220{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:3px!important;
  margin:0!important;
  width:auto!important;
  min-width:150px!important;
  padding:3px!important;
  border-radius:12px!important;
  background:#e9edef!important;
}
.calendar-view-switch-v220 a{
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  color:#5d6469!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.calendar-view-switch-v220 a.active{
  background:var(--accent)!important;
  color:#171717!important;
  box-shadow:none!important;
}

@media(max-width:820px){
  .admin-calendar-head-v220{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:2px 0!important;
    margin:0 0 7px!important;
  }
  .admin-calendar-head-v220 .admin-calendar-title .eyebrow{font-size:8.5px!important}
  .admin-calendar-head-v220 .admin-calendar-title h1{font-size:27px!important;line-height:1!important}
  .calendar-view-switch-v220{
    min-width:132px!important;
    width:132px!important;
    flex:0 0 132px!important;
    grid-column:auto!important;
  }
  .calendar-view-switch-v220 a{
    min-height:32px!important;
    padding:0 8px!important;
    font-size:11px!important;
  }
  .calendar-panel{
    height:calc(100dvh - var(--mobile-top-h) - var(--mobile-nav-h) - 145px)!important;
    min-height:330px!important;
  }
}
@media(max-width:390px){
  .calendar-view-switch-v220{min-width:120px!important;width:120px!important;flex-basis:120px!important}
  .calendar-view-switch-v220 a{font-size:10.5px!important;padding:0 5px!important}
}


/* v1.6.221 — compact swipe-only calendar date strip, hidden calendar nav bar and clean horizontal scroll. */
.calendar-return-today-v221{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 8px!important;
  border-radius:8px!important;
  background:#17191b!important;
  color:#fff!important;
  font-size:8.5px!important;
  font-weight:900!important;
}
.calendar-week-transition-v221.is-visible{opacity:1!important}
.calendar-week-transition-v221 span.is-sunday,.calendar-week-transition-v221 span.is-sunday b{color:#ff7373!important}
.calendar-week-transition-v221 span.is-target{background:var(--accent)!important;color:#171717!important}
.calendar-week-transition-v221 span.is-target b{color:#171717!important}

@media(max-width:820px){
  .calendar-focus-shell-v221{padding-bottom:calc(env(safe-area-inset-bottom) + 2px)!important}
  .calendar-focus-shell-v221 .mobile-bottom-nav.calendar-hidden-nav-v221{display:none!important}
  .calendar-focus-shell-v221 .calendar-panel{
    height:calc(100dvh - var(--mobile-top-h) - env(safe-area-inset-bottom) - 123px)!important;
    min-height:390px!important;
    max-height:none!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    overscroll-behavior:contain!important;
  }
  .calendar-focus-shell-v221 .calendar-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .calendar-return-today-v221{min-height:20px!important;padding:0 7px!important;font-size:8px!important;border-radius:7px!important}
}
@media(max-width:390px){
  .calendar-focus-shell-v221 .calendar-panel{height:calc(100dvh - var(--mobile-top-h) - env(safe-area-inset-bottom) - 118px)!important}
}

/* v1.6.222 — calendar page: keep bottom nav, hide top appbar, compact week picker, floating today chip, swipe arrows, grey tail and longer day */
@media(max-width:820px){
  .calendar-mobile-clean-v222{padding-top:0!important;padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom))!important}
  .calendar-mobile-clean-v222 .mobile-appbar{display:none!important}
  .calendar-mobile-clean-v222 .workspace{padding-top:10px!important}
  .calendar-mobile-clean-v222 .workspace:has(.admin-calendar-head){padding-top:10px!important}
  .calendar-mobile-clean-v222 .admin-calendar-head{margin-top:0!important;margin-bottom:12px!important;align-items:center!important}
  .calendar-mobile-clean-v222 .admin-calendar-head .admin-calendar-title .eyebrow{display:none!important}
  .calendar-mobile-clean-v222 .admin-calendar-head .admin-calendar-title h1{margin:0!important;font-size:32px!important}
  .calendar-mobile-clean-v222 .view-switch.calendar-view-switch-v220{margin-left:auto!important;flex:0 0 auto!important}
  .calendar-mobile-clean-v222 .calendar-panel{
    background:var(--bg)!important;
    border-bottom:1px solid var(--line)!important;
    height:calc(100dvh - var(--mobile-nav-h) - 170px - env(safe-area-inset-bottom))!important;
    min-height:420px!important;
    max-height:none!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .calendar-mobile-clean-v222 .calendar-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .calendar-mobile-clean-v222 .staff-calendar{background:var(--bg)!important}
  .calendar-mobile-clean-v222 .cal-corner,
  .calendar-mobile-clean-v222 .cal-staff,
  .calendar-mobile-clean-v222 .cal-time,
  .calendar-mobile-clean-v222 .cal-cell{background-clip:padding-box!important}
  .calendar-mobile-clean-v222 .calendar-bottom-spacer{display:block!important;height:16px!important;background:var(--bg)!important;border-top:1px solid var(--line)!important;grid-column:1/-1!important}

  .calendar-return-today-v221{display:none!important}

  .calendar-mobile-clean-v222 .mobile-bottom-nav{display:grid!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .calendar-panel{height:calc(100dvh - var(--mobile-nav-h) - 164px - env(safe-area-inset-bottom))!important}
}

/* v1.6.223 — calendar polish/fixes */
@media(max-width:820px){
  .app-shell.calendar-mobile-clean-v222>.mobile-appbar{display:none!important}
  .app-shell.calendar-mobile-clean-v222>.workspace{padding-top:10px!important}

  /* Slightly larger readable day grid */
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:58px repeat(var(--staff-count),118px)!important;
    min-width:calc(58px + (var(--staff-count) * 118px))!important;
  }
  .calendar-mobile-clean-v222 .cal-corner,
  .calendar-mobile-clean-v222 .cal-staff{padding:9px 7px!important}
  .calendar-mobile-clean-v222 .cal-staff b{font-size:10.5px!important}
  .calendar-mobile-clean-v222 .cal-staff small{font-size:8.3px!important;line-height:1.18!important}
  .calendar-mobile-clean-v222 .cal-time{padding:8px 6px!important;line-height:1!important}
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{font-size:10.5px!important;font-weight:950!important;color:#3d4349!important}
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":30"]{font-size:9px!important;font-weight:700!important;color:#b1b7bd!important}
  .calendar-mobile-clean-v222 .cal-cell{min-height:64px!important;padding:4px!important}
  .calendar-mobile-clean-v222 .cal-booking{padding:6px 6px 5px!important;border-radius:8px!important;font-size:9.4px!important}
  .calendar-mobile-clean-v222 .cal-booking b{font-size:10px!important}
  .calendar-mobile-clean-v222 .cal-booking span,
  .calendar-mobile-clean-v222 .cal-booking small{font-size:8.6px!important}
  .calendar-mobile-clean-v222 .cal-booking em{font-size:7.8px!important}
  .calendar-mobile-clean-v222 .cal-create-slot{min-height:56px!important}

  /* Bottom week strip compact, but not too small */

  /* More explicit swipe direction arrow */

  /* Separate floating today chip above strip */
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:56px repeat(var(--staff-count),116px)!important;
    min-width:calc(56px + (var(--staff-count) * 116px))!important;
  }
  .calendar-mobile-clean-v222 .cal-cell{min-height:62px!important}
}

/* v1.6.223 — compact swipe-only calendar date strip */

/* v1.6.225 — reverse swipe-arrow logic, fade arrows in with progress, and keep them black. */
@media(max-width:820px){
  html:has(.calendar-mobile-clean-v222),
  body:has(.calendar-mobile-clean-v222){
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  .app-shell.calendar-mobile-clean-v222{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    padding-top:0!important;
    padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom))!important;
    background:var(--bg)!important;
  }
  .app-shell.calendar-mobile-clean-v222>.workspace{
    height:calc(100dvh - var(--mobile-nav-h) - env(safe-area-inset-bottom))!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding-top:10px!important;
    padding-bottom:4px!important;
  }
  .calendar-mobile-clean-v222 .admin-calendar-head{
    flex:0 0 auto!important;
  }
  .calendar-mobile-clean-v222 .calendar-panel{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .calendar-mobile-clean-v222 .week-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  /* :00 is deliberately larger; :30 keeps the current 1.6.223 size. */
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{
    font-size:13.5px!important;
    font-weight:950!important;
    color:#2f3439!important;
    letter-spacing:-.02em!important;
  }
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":30"]{
    font-size:9px!important;
    font-weight:700!important;
    color:#b1b7bd!important;
  }

  /* Dedicated swipe direction marker — visible from the first horizontal movement. */
  .calendar-swipe-direction-v224.is-visible{opacity:1!important}
  .calendar-swipe-direction-v224.is-left{
    left:10px!important;
    right:auto!important;
    transform:translateY(-50%) rotate(180deg) scale(calc(.72 + (var(--swipe-progress,0) * .28)))!important;
  }
  .calendar-swipe-direction-v224.is-right{
    right:10px!important;
    left:auto!important;
    transform:translateY(-50%) scale(calc(.72 + (var(--swipe-progress,0) * .28)))!important;
  }
}


/* v1.6.227 — static swipe arrows with opacity driven only by swipe distance; repaired mobile week mode. */
@media(max-width:820px){
  .calendar-swipe-direction-v224.is-visible{
    opacity:var(--swipe-opacity,0)!important;
  }
  .calendar-swipe-direction-v224.is-left{
    left:10px!important;
    right:auto!important;
    transform:translateY(-50%) rotate(180deg)!important;
  }
  .calendar-swipe-direction-v224.is-right{
    right:10px!important;
    left:auto!important;
    transform:translateY(-50%)!important;
  }

  /* Week mode is its own scrollable list; day-grid fixed layout must not stretch its cards. */
  .calendar-mobile-clean-v222 .week-grid{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 2px calc(98px + env(safe-area-inset-bottom)) 2px!important;
    margin:0!important;
  }
  .calendar-mobile-clean-v222 .week-grid>.week-day{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:12px 13px!important;
    border-radius:15px!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head{
    margin-bottom:6px!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head h2{
    margin-top:2px!important;
    font-size:18px!important;
  }
  .calendar-mobile-clean-v222 .week-day .week-job{
    grid-template-columns:58px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:10px 0!important;
  }
  .calendar-mobile-clean-v222 .week-day .empty-mini{
    padding:10px 0 4px!important;
  }
}

/* v1.6.228 — centered day calendar, larger corner date/staff headers, easier week swipe, no date strip in week view. */
.cal-corner-v228{
  min-height:64px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:7px 5px!important;
  text-align:center!important;
}
.cal-date-weekday-v228{
  display:block!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  color:#343a40!important;
}
.cal-date-short-v228{
  display:block!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#17191b!important;
  letter-spacing:-.02em!important;
}
.cal-staff-v228{
  min-height:64px!important;
  align-content:center!important;
  justify-content:center!important;
  text-align:center!important;
}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .calendar-panel{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    align-self:center!important;
  }
  .calendar-mobile-clean-v222 .cal-corner-v228,
  .calendar-mobile-clean-v222 .cal-staff-v228{
    min-height:64px!important;
  }
  .calendar-mobile-clean-v222 .cal-corner-v228{
    padding:7px 4px!important;
  }
  .calendar-mobile-clean-v222 .cal-date-weekday-v228{font-size:12px!important}
  .calendar-mobile-clean-v222 .cal-date-short-v228{font-size:16px!important}

  /* Week mode inherits the selected week from day mode and has no bottom date chooser. */
  .calendar-mobile-clean-v222 .week-grid-v228{
    padding:0 2px 8px 2px!important;
    margin:0!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-corner-v228,
  .calendar-mobile-clean-v222 .cal-staff-v228{
    min-height:62px!important;
  }
}


/* v1.6.230 — integrated "Календар записів" title + truly centered master header text. */
.calendar-title-v230{display:flex!important;align-items:baseline!important;gap:7px!important;white-space:nowrap!important}
.calendar-title-v230 span{font-size:.56em!important;line-height:1!important;font-weight:750!important;letter-spacing:-.01em!important;color:#737a80!important}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .admin-calendar-head-v220{
    position:relative!important;
  }
  .calendar-mobile-clean-v222 .calendar-title-v230{
    display:flex!important;
    align-items:baseline!important;
    gap:6px!important;
  }
  .calendar-mobile-clean-v222 .calendar-title-v230 span{
    font-size:17px!important;
    font-weight:750!important;
    color:#747b81!important;
    letter-spacing:-.015em!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-v228{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    align-content:center!important;
    gap:3px!important;
    text-align:center!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-v228 b,
  .calendar-mobile-clean-v222 .cal-staff-v228 small{
    display:block!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-v228 b{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .calendar-title-v230{gap:5px!important}
  .calendar-mobile-clean-v222 .calendar-title-v230 span{font-size:15.5px!important}
}

/* v1.6.232 — one-hour visual booking cards + amount inside calendar card. */
.cal-cell.cal-interval-start{overflow:visible!important}

/* v1.6.233 — calendar cards occupy the first visual hour; worker-color fill starts only after it.
   All card text stays visible and wraps instead of being shortened with ellipses. */
.cal-cell.cal-interval-start{overflow:visible!important}


/* v1.6.235 — preserve the 1.6.233 calendar-card proportions, strengthen the client name,
   anchor time/amount to the card bottom, and make employee sorting visibly follow the finger. */
.cal-cell.cal-interval-start{overflow:visible!important}
.cal-booking-hour-v235{
  position:absolute!important;
  left:5px!important;
  right:5px!important;
  top:5px!important;
  width:auto!important;
  height:auto!important;
  min-height:136px!important;
  max-height:none!important;
  margin:0!important;
  z-index:28!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(min-content,1fr) auto!important;
  align-content:stretch!important;
  gap:4px!important;
  padding:9px 9px 8px!important;
  overflow:visible!important;
  box-shadow:0 5px 14px rgba(16,18,20,.10)!important;
}
.cal-booking-hour-v235 b,
.cal-booking-hour-v235 span,
.cal-booking-hour-v235 small,
.cal-booking-hour-v235 em{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}
.cal-booking-hour-v235 b,
.cal-booking-hour-v235 span,
.cal-booking-hour-v235 small{display:block!important}
.cal-booking-hour-v235 small{line-height:1.18!important;align-self:start!important}
.cal-booking-client-v235{
  font-size:14px!important;
  line-height:1.12!important;
  font-weight:950!important;
  color:#202326!important;
}
.cal-booking-meta-v235{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:6px!important;
  min-width:0!important;
  align-self:end!important;
  margin-top:2px!important;
  padding-top:3px!important;
}
.cal-booking-meta-v235 em{display:block!important;line-height:1.15!important}
.cal-booking-price-v235{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-style:normal!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#151719!important;
  background:#f5f6f7!important;
  border-radius:7px!important;
  padding:4px 6px!important;
}

/* Employee drag-and-drop: the real card floats under the finger/cursor. */
.staff-card-list-v103.is-reordering-v235 .staff-card-v103:not(.is-dragging-v235){
  opacity:.76;
  filter:saturate(.9);
}
.staff-card-v103.is-dragging-v235{
  border-color:#f4c400!important;
  box-shadow:0 20px 42px rgba(16,18,20,.24)!important;
  transform:scale(1.018) rotate(-.25deg);
  transform-origin:center center;
  will-change:top,left,transform;
  transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s ease!important;
}
.staff-card-v103.is-dragging-ready-v235{
  transform:scale(1.035) rotate(-.35deg);
}
.staff-card-v103.is-dragging-v235 .staff-card-summary-v103{background:#fffdf2!important}
body.is-staff-dragging-v235{
  user-select:none!important;
  -webkit-user-select:none!important;
  cursor:grabbing!important;
}
.staff-reorder-toast-v235.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.staff-card-v103.is-order-saved-v235{animation:staff-order-saved-v235 .62s ease both}
@keyframes staff-order-saved-v235{
  0%,100%{box-shadow:0 4px 14px rgba(16,18,20,.035)}
  45%{box-shadow:0 0 0 3px rgba(255,198,0,.34),0 9px 22px rgba(16,18,20,.10)}
}

@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{
    left:4px!important;
    right:4px!important;
    top:4px!important;
    height:auto!important;
    min-height:120px!important;
    max-height:none!important;
    padding:7px 7px 6px!important;
    gap:3px!important;
    border-radius:9px!important;
    overflow:visible!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:10.5px!important;line-height:1.12!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11.4px!important;line-height:1.12!important;font-weight:950!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:8.5px!important;line-height:1.18!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235{padding-top:2px!important;margin-top:1px!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9px!important;padding:4px 5px!important;border-radius:6px!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{min-height:116px!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:8.7px!important}
}


/* v1.6.236 — remove saturated vertical continuation bars from occupied calendar intervals.
   Keep the soft worker-color fill and the colored edge on the booking card itself. */
.cal-cell.cal-interval-occupied:not(.cal-interval-start)::before{
  content:none!important;
  display:none!important;
  width:0!important;
}

/* v1.6.237 — queue booking flow: brand logos, direct scheduling, no "Опрацьовано" action. */
.waitlist-car-title-v237{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  margin:6px 0 3px;
}
.waitlist-car-title-v237 h3{
  min-width:0;
  margin:0!important;
}
.waitlist-car-logo-wrap-v237{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid #e3e6e8;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.waitlist-car-logo-wrap-v237 img{
  width:27px;
  height:27px;
  object-fit:contain;
  display:block;
}
.waitlist-actions-v237{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.waitlist-actions-v237 .btn-primary{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#111!important;
  font-weight:900!important;
}
.waitlist-book-dialog-v237{
  width:min(520px,calc(100% - 24px));
  max-height:calc(100dvh - 24px);
  margin:auto;
  padding:0;
  border:0;
  border-radius:22px;
  background:transparent;
  overflow:visible;
}
.waitlist-book-dialog-v237::backdrop{
  background:rgba(10,13,15,.56);
  backdrop-filter:blur(3px);
}
.waitlist-book-card-v237{
  display:grid;
  gap:13px;
  max-height:calc(100dvh - 24px);
  overflow:auto;
  padding:18px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.waitlist-book-head-v237{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.waitlist-book-head-v237 h2{
  margin:2px 0 0;
  font-size:25px;
  line-height:1.05;
}
.waitlist-book-close-v237{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:0;
  border-radius:12px;
  background:#f1f3f4;
  color:#34393d;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.waitlist-book-summary-v237{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:12px;
  border:1px solid #e6e9eb;
  border-radius:16px;
  background:#fafbfb;
}
.waitlist-book-logo-v237{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff;
  border:1px solid #e5e8ea;
  overflow:hidden;
}
.waitlist-book-logo-v237 img{
  width:37px;
  height:37px;
  object-fit:contain;
}
.waitlist-book-summary-v237>div{
  min-width:0;
  display:grid;
  gap:3px;
}
.waitlist-book-summary-v237 strong{
  font-size:17px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.waitlist-book-summary-v237 span{
  font-size:13px;
  font-weight:750;
  color:#464d52;
  overflow-wrap:anywhere;
}
.waitlist-book-summary-v237 small{
  font-size:11.5px;
  line-height:1.3;
  color:#747c82;
  overflow-wrap:anywhere;
}
.waitlist-book-date-v237{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-radius:13px;
  background:#f5f6f7;
}
.waitlist-book-date-v237 span{
  font-size:12px;
  font-weight:800;
  color:#71787d;
}
.waitlist-book-date-v237 b{
  font-size:15px;
}
.waitlist-book-field-v237{
  display:grid;
  gap:7px;
  font-size:12px;
  font-weight:850;
  color:#4e555a;
}
.waitlist-book-field-v237 select{
  min-height:52px!important;
  font-size:17px!important;
  font-weight:800!important;
  border-radius:14px!important;
  background-color:#fff!important;
}
.waitlist-book-hint-v237{
  margin:-3px 2px 0;
  font-size:11.5px;
  line-height:1.35;
  color:#7a8186;
}
.waitlist-book-submit-v237{
  width:100%;
  min-height:54px!important;
  margin-top:1px;
  border-radius:15px!important;
  font-size:17px!important;
  font-weight:950!important;
}

@media(max-width:820px){
  .waitlist-car-logo-wrap-v237{
    width:38px;
    height:38px;
    flex-basis:38px;
    border-radius:11px;
  }
  .waitlist-car-logo-wrap-v237 img{width:30px;height:30px}
  .waitlist-admin-card-v237 .services-line{margin-left:47px!important}
  .waitlist-book-dialog-v237{
    width:calc(100% - 16px);
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
  .waitlist-book-card-v237{
    gap:11px;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding:15px;
    border-radius:20px;
  }
  .waitlist-book-head-v237 h2{font-size:24px}
  .waitlist-book-summary-v237{padding:10px;grid-template-columns:46px minmax(0,1fr)}
  .waitlist-book-logo-v237{width:46px;height:46px}
  .waitlist-book-logo-v237 img{width:35px;height:35px}
  .waitlist-book-summary-v237 strong{font-size:17px}
  .waitlist-book-summary-v237 span{font-size:13px}
  .waitlist-book-summary-v237 small{font-size:11px}
  .waitlist-book-field-v237 select{min-height:50px!important;font-size:17px!important}
}

@media(max-width:390px){
  .waitlist-car-title-v237{gap:8px}
  .waitlist-car-logo-wrap-v237{width:36px;height:36px;flex-basis:36px}
  .waitlist-car-logo-wrap-v237 img{width:28px;height:28px}
  .waitlist-admin-card-v237 .services-line{margin-left:44px!important}
  .waitlist-actions-v237{gap:7px!important}
  .waitlist-actions-v237 .btn{font-size:14px!important;padding-left:8px!important;padding-right:8px!important}
  .waitlist-book-card-v237{padding:13px}
}

/* v1.6.239 — past calendar rows must not cover the lower half of an hour card.
   `filter` created a stacking context on every past 30-minute cell, so the next
   :30 row could paint over a card that correctly spans 09:00–10:00. Dimming is
   already handled on the booking itself; keep the cell out of a stacking context. */
.cal-cell.time-past{
  filter:none!important;
}
.cal-cell.cal-interval-start{
  z-index:12!important;
}
.cal-cell.cal-interval-start .cal-booking{
  z-index:30!important;
}


/* v1.6.240 — frameless, visually normalized queue logos + no "+" through booking cards. */
.waitlist-car-logo-wrap-v237{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.waitlist-car-logo-wrap-v237 img{
  object-fit:contain!important;
}
.waitlist-book-logo-v237{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.waitlist-book-logo-v237 img{
  object-fit:contain!important;
}
/* Keep overlap creation available after the visible first-hour card, but never
   render or capture the hidden half-hour action underneath that card. */
.cal-cell.cal-card-cover-slot > .cal-create-slot.calendar-cell-action.is-overlap-create{
  opacity:0!important;
  pointer-events:none!important;
}
.cal-cell.cal-card-cover-slot > .cal-create-slot.calendar-cell-action.is-overlap-create span{
  display:none!important;
}


/* v1.6.241 — globally normalized square car logos for queue, home and booking cards. */
.today-booking-v182-logo{
  width:28px!important;
  height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  object-fit:contain!important;
  object-position:center center!important;
  flex:0 0 28px!important;
}
@media (max-width:760px){
  .today-booking-v182-logo{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;flex-basis:26px!important}
}
@media (max-width:520px){
  .today-booking-v182-logo{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;flex-basis:24px!important}
}
.waitlist-car-logo-wrap-v237 img{
  width:30px!important;
  height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
}
.waitlist-book-logo-v237 img{
  width:36px!important;
  height:36px!important;
  max-width:36px!important;
  max-height:36px!important;
}


/* v1.6.242 — Home screen no-show status uses the same-size red dot as the other statuses. */
.today-booking-v182-status.status-no_show i{
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  border-radius:50%!important;
  background:#d74a4a!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.today-booking-v182-status.status-no_show i::before{
  content:''!important;
  display:none!important;
}
@media(max-width:760px){
  .today-booking-v182-status.status-no_show i{
    width:11px!important;
    height:11px!important;
    flex-basis:11px!important;
  }
}
@media(max-width:520px){
  .today-booking-v182-status.status-no_show i{
    width:10px!important;
    height:10px!important;
    flex-basis:10px!important;
  }
}


/* v1.6.243 — reuse the Home "Хто вільний" dotted motif in Week calendar day headers and Queue card tops. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .week-day .panel-head{
    position:relative!important;
    isolation:isolate!important;
    margin:-12px -13px 6px!important;
    padding:12px 13px 10px!important;
    border-radius:15px 15px 0 0!important;
    overflow:hidden!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head::before{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    inset:0;
    background-image:radial-gradient(circle,rgba(66,75,82,.28) .8px,transparent .92px);
    background-size:10px 10px;
    background-position:2px 2px;
    opacity:.70;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 74%,rgba(0,0,0,.66) 84%,rgba(0,0,0,.30) 93%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 74%,rgba(0,0,0,.66) 84%,rgba(0,0,0,.30) 93%,transparent 100%);
  }
  .calendar-mobile-clean-v222 .week-day .panel-head>*{
    position:relative!important;
    z-index:1!important;
  }

  .waitlist-admin-card-v237 .request-top{
    position:relative!important;
    isolation:isolate!important;
    margin:-12px -12px 5px!important;
    padding:12px 12px 10px!important;
    border-radius:18px 18px 0 0!important;
    overflow:hidden!important;
  }
  .waitlist-admin-card-v237 .request-top::before{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    inset:0;
    background-image:radial-gradient(circle,rgba(66,75,82,.28) .8px,transparent .92px);
    background-size:10px 10px;
    background-position:2px 2px;
    opacity:.70;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 74%,rgba(0,0,0,.66) 84%,rgba(0,0,0,.30) 93%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,#000 66%,rgba(0,0,0,.92) 74%,rgba(0,0,0,.66) 84%,rgba(0,0,0,.30) 93%,transparent 100%);
  }
  .waitlist-admin-card-v237 .request-top>*{
    position:relative!important;
    z-index:1!important;
  }
}
@media(max-width:420px){
  .waitlist-admin-card-v237 .request-top{
    margin:-11px -11px 5px!important;
    padding:11px 11px 9px!important;
  }
}

/* v1.6.243 — no-show is exactly the same diameter as every other circular Home status dot. */
.today-booking-v182-status.status-no_show i{
  width:12px!important;
  height:12px!important;
  flex:0 0 12px!important;
  border-radius:50%!important;
  background:#d74a4a!important;
}
.today-booking-v182-status.status-no_show i::before{
  content:''!important;
  display:none!important;
}
@media(max-width:760px){
  .today-booking-v182-status.status-no_show i{
    width:11px!important;
    height:11px!important;
    flex:0 0 11px!important;
  }
}
@media(max-width:520px){
  .today-booking-v182-status.status-no_show i{
    width:11px!important;
    height:11px!important;
    flex:0 0 11px!important;
  }
}


/* v1.6.244 — Week calendar cards now show normalized car-brand logos and booking totals. */
.week-job-side{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:6px!important;
}
.week-job-total-v244{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1f3f4;
  color:#17191b;
  font-size:11px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}
@media(max-width:700px){
  .week-job-total-v244{font-size:10.5px;min-height:23px;padding:4px 6px}
}


/* v1.6.245 — Week view logo moved opposite the car + client identity block. */
.week-job-identity-v245{
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  gap:10px!important;
}
.week-job-identity-copy-v245{
  min-width:0;
  display:grid!important;
  gap:3px!important;
}
.week-job-logo-v245{
  width:32px;
  height:32px;
  max-width:32px;
  max-height:32px;
  object-fit:contain;
  object-position:center;
  display:block;
  justify-self:center;
  align-self:center;
}
@media(max-width:700px){
  .week-job-identity-v245{grid-template-columns:minmax(0,1fr) 32px;gap:8px!important}
  .week-job-logo-v245{width:30px;height:30px;max-width:30px;max-height:30px}
}
@media(max-width:390px){
  .week-job-identity-v245{grid-template-columns:minmax(0,1fr) 30px;gap:7px!important}
  .week-job-logo-v245{width:28px;height:28px;max-width:28px;max-height:28px}
}

/* v1.6.246 — Week amount under the service, full weekday heading, clickable lunch cancellation. */
.week-job-total-under-service-v246{
  justify-self:start!important;
  align-self:start!important;
  margin-top:5px!important;
}
.week-job-side{
  align-content:center!important;
}
.week-day-name-full-v246{
  font-size:11px!important;
  line-height:1.1!important;
  letter-spacing:.08em!important;
}
.cal-lunch-cancel-form-v246{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.cal-lunch-card-clickable-v246{
  width:100%!important;
  height:100%!important;
  border:0!important;
  font:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cal-lunch-card-clickable-v246:active{
  transform:scale(.985);
}
@media(max-width:700px){
  .week-day-name-full-v246{font-size:10px!important;letter-spacing:.06em!important}
  .week-job-total-under-service-v246{margin-top:4px!important}
}


/* v1.6.247 — Week header centered weekday, right-aligned date with fading dotted field, and inline logo placed at the text end. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{
    min-height:66px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px 16px 12px!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247::before{
    background-image:radial-gradient(circle,rgba(66,75,82,.28) .8px,transparent .92px)!important;
    background-size:10px 10px!important;
    background-position:2px 2px!important;
    opacity:.70!important;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 62%,rgba(0,0,0,.95) 70%,rgba(0,0,0,.74) 78%,rgba(0,0,0,.40) 86%,transparent 94%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 62%,rgba(0,0,0,.95) 70%,rgba(0,0,0,.74) 78%,rgba(0,0,0,.40) 86%,transparent 94%)!important;
  }
}
.week-day-name-full-v247{
  position:relative!important;
  z-index:1!important;
  margin:0 auto!important;
  text-align:center!important;
  color:#111111!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}
.week-day-date-v247{
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  color:#111111!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:right!important;
  z-index:1!important;
}
.week-job-identity-v247{
  display:block!important;
}
.week-job-title-row-v247{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
}
.week-job-logo-inline-v247{
  width:29px!important;
  height:29px!important;
  max-width:29px!important;
  max-height:29px!important;
  flex:0 0 29px!important;
  justify-self:start!important;
  align-self:center!important;
  margin-left:2px!important;
}
@media(max-width:700px){
  .week-day-name-full-v247{font-size:17px!important}
  .week-day-date-v247{right:14px!important;font-size:14px!important}
  .week-job-title-row-v247{gap:7px!important}
  .week-job-logo-inline-v247{width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;flex-basis:27px!important}
}
@media(max-width:420px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{min-height:64px!important;padding:13px 14px 11px!important}
  .week-day-name-full-v247{font-size:16px!important}
  .week-day-date-v247{right:14px!important;font-size:13.5px!important}
  .week-job-logo-inline-v247{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;flex-basis:26px!important}
}


/* v1.6.248 — Week header keeps both weekday and date on the right white zone, vertically centered; dots fade out before the texts. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{
    min-height:66px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    padding:14px 16px 12px!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247::before{
    background-image:radial-gradient(circle,rgba(66,75,82,.28) .8px,transparent .92px)!important;
    background-size:10px 10px!important;
    background-position:2px 2px!important;
    opacity:.70!important;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 54%,rgba(0,0,0,.96) 60%,rgba(0,0,0,.72) 66%,rgba(0,0,0,.34) 72%,transparent 78%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 54%,rgba(0,0,0,.96) 60%,rgba(0,0,0,.72) 66%,rgba(0,0,0,.34) 72%,transparent 78%)!important;
  }
}
.week-day-name-full-v247{
  margin:0!important;
  text-align:right!important;
  color:#111111!important;
  font-size:20px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  position:relative!important;
  z-index:1!important;
}
.week-day-date-v247{
  position:relative!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  color:#111111!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:right!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-height:20px!important;
  padding-left:4px!important;
  background:transparent!important;
  position:relative!important;
  z-index:1!important;
}
@media(max-width:700px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{gap:12px!important;padding:13px 15px 11px!important}
  .week-day-name-full-v247{font-size:19px!important}
  .week-day-date-v247{font-size:17px!important;min-height:19px!important}
}
@media(max-width:420px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{min-height:64px!important;gap:11px!important;padding:12px 14px 10px!important}
  .week-day-name-full-v247{font-size:18px!important}
  .week-day-date-v247{font-size:16px!important;min-height:18px!important}
}


/* v1.6.249 — nice lunch-cancel dialog and past backfill support for the admin calendar. */
.calendar-lunch-cancel-dialog-v249{
  width:min(92vw,420px)!important;
  border:0!important;
  padding:0!important;
  border-radius:28px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.calendar-lunch-cancel-dialog-v249::backdrop{
  background:rgba(9,13,18,.56)!important;
  backdrop-filter:blur(4px)!important;
}
.calendar-lunch-cancel-card-v249{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:22px 20px 18px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6f7f9 100%)!important;
  box-shadow:0 22px 60px rgba(10,14,20,.26)!important;
}
.calendar-lunch-cancel-card-v249 h3{
  margin:0!important;
  font-size:26px!important;
  line-height:1.05!important;
  font-weight:950!important;
  color:#101216!important;
}
.calendar-lunch-cancel-card-v249 p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.45!important;
  color:#5d6670!important;
}
.calendar-lunch-cancel-actions-v249{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:6px!important;
}
.calendar-lunch-cancel-actions-v249 .btn{
  min-height:50px!important;
  border-radius:18px!important;
  font-size:15px!important;
  font-weight:900!important;
}
@media(max-width:520px){
  .calendar-lunch-cancel-dialog-v249{width:min(94vw,390px)!important}
  .calendar-lunch-cancel-card-v249{padding:20px 18px 16px!important;border-radius:24px!important}
  .calendar-lunch-cancel-card-v249 h3{font-size:24px!important}
}

/* v1.6.249 — Week header keeps both weekday and date on the right white zone, vertically centered; dots fade out before the texts. */


/* v1.6.250 — Queue top labels vertically centered; queue number sits on clean white,
   and past calendar cells remain fully actionable for backfill. */
@media(max-width:820px){
  .waitlist-admin-card-v237 .request-top{
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .waitlist-admin-card-v237 .request-top::before{
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 58%,rgba(0,0,0,.92) 65%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.18) 78%,transparent 84%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 58%,rgba(0,0,0,.92) 65%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.18) 78%,transparent 84%)!important;
  }
  .waitlist-admin-card-v237 .waitlist-status,
  .waitlist-admin-card-v237 .waitlist-queue-number-v250{
    align-self:center!important;
    margin:0!important;
  }
  .waitlist-queue-number-v250{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:32px!important;
    padding:5px 8px 5px 12px!important;
    background:#fff!important;
    border-radius:12px!important;
    color:#747b81!important;
    line-height:1!important;
    position:relative!important;
    z-index:2!important;
  }
}
.cal-cell.time-past .cal-create-slot{
  opacity:.62!important;
  pointer-events:auto!important;
}
.cal-cell.time-past .cal-create-slot:hover,
.cal-cell.time-past .cal-create-slot:active{
  opacity:1!important;
}


/* v1.6.252 — elapsed hours get a barely visible red diagonal hatch, similar to lunch striping. */
.cal-time.time-past{
  background-color:#f8f8f8!important;
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(198,48,48,.055) 0,
    rgba(198,48,48,.055) 7px,
    rgba(255,255,255,0) 7px,
    rgba(255,255,255,0) 14px
  )!important;
}
.cal-cell.time-past:not(.cal-lunch-cell){
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(198,48,48,.045) 0,
    rgba(198,48,48,.045) 7px,
    rgba(255,255,255,0) 7px,
    rgba(255,255,255,0) 14px
  )!important;
}
/* Keep actions/readability above the subtle past-time pattern without changing
   the absolute positioning of booking cards. */
.cal-cell.time-past .cal-create-slot,
.cal-cell.time-past .cal-lunch-card{
  position:relative!important;
  z-index:8!important;
}

/* v1.6.253 — past-time hatching must never collapse an hour booking card to a 30-minute cell.
   The card remains absolutely positioned and preserves the v1.6.235 one-hour visual height. */
.cal-cell.time-past.cal-interval-start .cal-booking-hour-v235{
  position:absolute!important;
  left:4px!important;
  right:4px!important;
  top:4px!important;
  min-height:120px!important;
  z-index:30!important;
}
@media(max-width:390px){
  .cal-cell.time-past.cal-interval-start .cal-booking-hour-v235{min-height:116px!important}
}


/* v1.6.254 — past-time hatch is ONLY in the left hour column.
   Worker/calendar cells stay clean; bookings keep their full hour height. */
.cal-cell.time-past:not(.cal-lunch-cell){
  background-image:none!important;
}
.cal-cell.time-past{
  background-color:inherit!important;
}
.cal-time.time-past{
  background-color:#f8f8f8!important;
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(198,48,48,.055) 0,
    rgba(198,48,48,.055) 7px,
    rgba(255,255,255,0) 7px,
    rgba(255,255,255,0) 14px
  )!important;
}


/* v1.6.255 — larger master first/last names in the day calendar header. */
.cal-staff-v228 b{
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.08!important;
}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-staff-v228 b{
    font-size:12.5px!important;
    font-weight:900!important;
    line-height:1.08!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-staff-v228 b{
    font-size:12px!important;
  }
}


/* v1.6.256 — Services list cards are narrower and vertically centered on mobile. */

/* v1.6.256 — larger master first/last names in the day calendar header. */


/* v1.6.257 — larger font on calendar booking cards for easier reading. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{
    padding:8px 8px 7px!important;
    gap:4px!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{
    font-size:11.3px!important;
    line-height:1.14!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-client-v235{
    font-size:12.2px!important;
    line-height:1.13!important;
    font-weight:950!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{
    font-size:9.1px!important;
    line-height:1.2!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{
    font-size:8.6px!important;
    line-height:1.16!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-price-v235{
    font-size:9.8px!important;
    padding:4px 6px!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11px!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11.8px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:8.9px!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.4px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.4px!important}
}

/* v1.6.257 — larger master first/last names in the day calendar header. */

/* v1.6.257 — Services list cards are narrower and vertically centered on mobile. */


/* v1.6.258 — make day-calendar booking card fonts a little larger again. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{
    padding:8px 8px 7px!important;
    gap:4px!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{
    font-size:11.7px!important;
    line-height:1.14!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-client-v235{
    font-size:12.7px!important;
    line-height:1.13!important;
    font-weight:950!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{
    font-size:9.5px!important;
    line-height:1.2!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{
    font-size:8.9px!important;
    line-height:1.16!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-price-v235{
    font-size:10.1px!important;
    padding:4px 6px!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.4px!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.3px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.2px!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.7px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.8px!important}
}

/* v1.6.258 — larger master first/last names in the day calendar header. */

/* v1.6.258 — Services list cards are narrower and vertically centered on mobile. */

/* v1.6.258 — larger font on calendar booking cards for easier reading. */


/* v1.6.259 — widen day-calendar staff columns a little on mobile. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:58px repeat(var(--staff-count),124px)!important;
    min-width:calc(58px + (var(--staff-count) * 124px))!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:56px repeat(var(--staff-count),122px)!important;
    min-width:calc(56px + (var(--staff-count) * 122px))!important;
  }
}

/* v1.6.259 — larger master first/last names in the day calendar header. */

/* v1.6.259 — Services list cards are narrower and vertically centered on mobile. */

/* v1.6.259 — larger font on calendar booking cards for easier reading. */

/* v1.6.259 — make day-calendar booking card fonts a little larger again. */


/* v1.6.260 — larger master first/last names in the day calendar header. */
/* v1.6.260 — Services list cards are narrower and vertically centered on mobile. */
/* v1.6.260 — larger font on calendar booking cards for easier reading. */
/* v1.6.260 — make day-calendar booking card fonts a little larger again. */
/* v1.6.260 — widen day-calendar staff columns a little on mobile. */

/* v1.6.260 — widen day-calendar columns a bit more and enlarge client/service text. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:58px repeat(var(--staff-count),128px)!important;
    min-width:calc(58px + (var(--staff-count) * 128px))!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{
    padding:8px 8px 7px!important;
    gap:4px!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{
    font-size:12px!important;
    line-height:1.14!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-client-v235{
    font-size:13.1px!important;
    line-height:1.13!important;
    font-weight:950!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{
    font-size:9.6px!important;
    line-height:1.2!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{
    font-size:9.2px!important;
    line-height:1.17!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-price-v235{
    font-size:10.2px!important;
    padding:4px 6px!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:56px repeat(var(--staff-count),126px)!important;
    min-width:calc(56px + (var(--staff-count) * 126px))!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.7px!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.7px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.3px!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.9px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.9px!important}
}


/* v1.6.261 — larger master first/last names in the day calendar header. */
/* v1.6.261 — Services list cards are narrower and vertically centered on mobile. */
/* v1.6.261 — larger font on calendar booking cards for easier reading. */
/* v1.6.261 — make day-calendar booking card fonts a little larger again. */
/* v1.6.261 — widen day-calendar staff columns a little on mobile. */

/* v1.6.261 — make client name and service even larger, but still a bit smaller than the car brand. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{
    font-size:12.1px!important;
    line-height:1.14!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-client-v235{
    font-size:13.5px!important;
    line-height:1.12!important;
    font-weight:950!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{
    font-size:10px!important;
    line-height:1.18!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{
    font-size:9.3px!important;
    line-height:1.16!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.8px!important}
  .calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:13.1px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.6px!important}
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9px!important}
}

/* v1.6.261 — widen day-calendar columns a bit more and enlarge client/service text. */


/* v1.6.262 — larger master first/last names in the day calendar header. */
/* v1.6.262 — Services list cards are narrower and vertically centered on mobile. */
/* v1.6.262 — larger font on calendar booking cards for easier reading. */
/* v1.6.262 — make day-calendar booking card fonts a little larger again. */
/* v1.6.262 — widen day-calendar staff columns a little on mobile. */
/* v1.6.262 — widen day-calendar columns a bit more and enlarge client/service text. */

/* v1.6.262 — client name and service are now visibly close to the car-title size. */
.cal-booking-hour-v235 > .cal-booking-car-v262{
  font-size:13.2px!important;
  line-height:1.12!important;
}
.cal-booking-hour-v235 > .cal-booking-client-v262{
  font-size:12.5px!important;
  line-height:1.12!important;
  font-weight:950!important;
}
.cal-booking-hour-v235 > .cal-booking-service-v262{
  font-size:11.8px!important;
  line-height:1.18!important;
  font-weight:600!important;
}
@media(max-width:390px){
  .cal-booking-hour-v235 > .cal-booking-car-v262{font-size:13px!important}
  .cal-booking-hour-v235 > .cal-booking-client-v262{font-size:12.3px!important}
  .cal-booking-hour-v235 > .cal-booking-service-v262{font-size:11.6px!important}
}

/* v1.6.262 — make client name and service even larger, but still a bit smaller than the car brand. */


/* v1.6.263 — add worker photo to the day-calendar master card header. */
/* v1.6.263 — larger master first/last names in the day calendar header. */
/* v1.6.263 — Services list cards are narrower and vertically centered on mobile. */
/* v1.6.263 — larger font on calendar booking cards for easier reading. */
/* v1.6.263 — make day-calendar booking card fonts a little larger again. */
/* v1.6.263 — widen day-calendar staff columns a little on mobile. */
/* v1.6.263 — widen day-calendar columns a bit more and enlarge client/service text. */
/* v1.6.263 — make client name and service even larger, but still a bit smaller than the car brand. */
/* v1.6.263 — client name and service are now visibly close to the car-title size. */

.cal-staff-person-v263{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.cal-staff-avatar-v263.person-avatar{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  box-shadow:0 3px 10px rgba(0,0,0,.12)!important;
}
.cal-staff-copy-v263{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  text-align:left!important;
  align-content:center!important;
}
.cal-staff-copy-v263 b,
.cal-staff-copy-v263 small{
  display:block!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
}
.cal-staff-copy-v263 b{
  font-size:13.5px!important;
  line-height:1.08!important;
  font-weight:950!important;
  color:#17191b!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cal-staff-copy-v263 small{
  font-size:10px!important;
  line-height:1.16!important;
  color:#6e757b!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .cal-staff-v228{
    padding:8px 6px!important;
    text-align:left!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-person-v263{
    gap:8px!important;
    align-items:center!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-avatar-v263.person-avatar{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .calendar-mobile-clean-v222 .cal-staff-copy-v263 b{font-size:13.7px!important}
  .calendar-mobile-clean-v222 .cal-staff-copy-v263 small{font-size:10.1px!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-staff-person-v263{gap:6px!important}
  .calendar-mobile-clean-v222 .cal-staff-avatar-v263.person-avatar{width:32px!important;height:32px!important;flex-basis:32px!important}
  .calendar-mobile-clean-v222 .cal-staff-copy-v263 b{font-size:12.6px!important}
  .calendar-mobile-clean-v222 .cal-staff-copy-v263 small{font-size:9.3px!important}
}


/* v1.6.264 — hide the large calendar header on mobile and move the smaller day/week switch onto the calendar block. */
/* v1.6.264 — add worker photo to the day-calendar master card header. */
/* v1.6.264 — larger master first/last names in the day calendar header. */
/* v1.6.264 — Services list cards are narrower and vertically centered on mobile. */
/* v1.6.264 — larger font on calendar booking cards for easier reading. */
/* v1.6.264 — make day-calendar booking card fonts a little larger again. */
/* v1.6.264 — widen day-calendar staff columns a little on mobile. */
/* v1.6.264 — widen day-calendar columns a bit more and enlarge client/service text. */
/* v1.6.264 — make client name and service even larger, but still a bit smaller than the car brand. */
/* v1.6.264 — client name and service are now visibly close to the car-title size. */

.calendar-inline-switch-holder-v264{display:none!important}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .admin-calendar-head-v220{
    display:none!important;
  }
  .calendar-mobile-clean-v222 .calendar-inline-switch-holder-v264{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    margin:0 0 8px 0!important;
    padding:0 2px!important;
  }
  .calendar-mobile-clean-v222 .calendar-view-switch-inline-v264{
    display:inline-flex!important;
    gap:2px!important;
    margin:0!important;
    padding:2px!important;
    border-radius:12px!important;
    background:#eef1f3!important;
    box-shadow:0 2px 8px rgba(16,18,20,.06)!important;
    width:auto!important;
  }
  .calendar-mobile-clean-v222 .calendar-view-switch-inline-v264 a{
    flex:0 0 auto!important;
    padding:7px 13px!important;
    min-width:74px!important;
    border-radius:10px!important;
    text-align:center!important;
    font-size:11.5px!important;
    font-weight:900!important;
    line-height:1.1!important;
  }
  .calendar-mobile-clean-v222 .calendar-view-switch-inline-v264 a.active{
    background:var(--brand)!important;
    color:#161616!important;
    box-shadow:0 2px 7px rgba(0,0,0,.08)!important;
  }
  .calendar-mobile-clean-v222 .calendar-panel{
    margin-top:0!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .calendar-inline-switch-holder-v264{margin-bottom:6px!important}
  .calendar-mobile-clean-v222 .calendar-view-switch-inline-v264 a{padding:6px 11px!important;min-width:68px!important;font-size:10.8px!important}
}


/* v1.6.265 — move the compact day/week switch onto the calendar block and remove the leftover top calendar strip on mobile. */
/* v1.6.265 — in Staff, the employee position can be edited directly inside the card. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .admin-calendar-head-v220{display:none!important}
  .calendar-mobile-clean-v222 .calendar-inline-switch-holder-v264{display:none!important}
  .calendar-mobile-clean-v222 .calendar-panel-v265{position:relative!important;padding-top:46px!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .calendar-panel-v265{padding-top:42px!important}
}

/* v1.6.265 — larger master first/last names in the day calendar header. */

/* v1.6.265 — subtle red hatching for elapsed rows in today's day calendar. */

/* v1.6.265 — past-time hatch must not shrink booking cards to one 30-minute cell. */

/* v1.6.265 — only the left hour column is hatched for elapsed time. */

/* v1.6.265 — larger master names in day calendar header. */

/* v1.6.265 — Services list cards are narrower and vertically centered on mobile. */

/* v1.6.265 — larger calendar booking-card font sizes on mobile. */

/* v1.6.265 — calendar booking-card fonts are slightly larger again. */

/* v1.6.265 — widen day-calendar staff columns a little on mobile. */

/* v1.6.265 — columns are a bit wider again and booking-card client/service fonts are larger. */

/* v1.6.265 — client name and service are larger, but still a bit smaller than the car brand. */

/* v1.6.265 — client/service size is explicitly locked close to the car-title size. */

/* v1.6.265 — worker photo is shown inside the day-calendar master header card. */

/* v1.6.265 — mobile calendar uses a compact inline day/week switch and hides the large header. */

/* v1.6.265 — compact day/week switch is rendered on the calendar block on mobile. */

/* v1.6.265 — larger font on calendar booking cards for easier reading. */

/* v1.6.265 — make day-calendar booking card fonts a little larger again. */

/* v1.6.265 — widen day-calendar columns a bit more and enlarge client/service text. */

/* v1.6.265 — make client name and service even larger, but still a bit smaller than the car brand. */

/* v1.6.265 — client name and service are now visibly close to the car-title size. */

/* v1.6.265 — add worker photo to the day-calendar master card header. */

/* v1.6.265 — hide the large calendar header on mobile and move the smaller day/week switch onto the calendar block. */


/* v1.6.266 — remove the entire mobile calendar top strip; day/week switch lives inside the calendar/date controls. */
/* v1.6.266 — standard employee position labels can be renamed by the owner. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .admin-calendar-head-v220,
  .calendar-mobile-clean-v222 .calendar-inline-switch-holder-v264{display:none!important}
  .calendar-mobile-clean-v222 .calendar-panel-v265{
    padding-top:0!important;
    margin-top:0!important;
  }
}

/* v1.6.266 — larger master first/last names in the day calendar header. */

/* v1.6.266 — Services list cards are narrower and vertically centered on mobile. */

/* v1.6.266 — larger font on calendar booking cards for easier reading. */

/* v1.6.266 — make day-calendar booking card fonts a little larger again. */

/* v1.6.266 — widen day-calendar staff columns a little on mobile. */

/* v1.6.266 — widen day-calendar columns a bit more and enlarge client/service text. */

/* v1.6.266 — make client name and service even larger, but still a bit smaller than the car brand. */

/* v1.6.266 — client name and service are now visibly close to the car-title size. */

/* v1.6.266 — add worker photo to the day-calendar master card header. */

/* v1.6.266 — hide the large calendar header on mobile and move the smaller day/week switch onto the calendar block. */

/* v1.6.266 — move the compact day/week switch onto the calendar block and remove the leftover top calendar strip on mobile. */

/* v1.6.266 — keep fixed specialty keys but let the owner rename their visible job titles. */

/* v1.6.266 — subtle red hatching for elapsed rows in today's day calendar. */

/* v1.6.266 — past-time hatch must not shrink booking cards to one 30-minute cell. */

/* v1.6.266 — only the left hour column is hatched for elapsed time. */

/* v1.6.266 — larger master names in day calendar header. */

/* v1.6.266 — larger calendar booking-card font sizes on mobile. */

/* v1.6.266 — calendar booking-card fonts are slightly larger again. */

/* v1.6.266 — columns are a bit wider again and booking-card client/service fonts are larger. */

/* v1.6.266 — client name and service are larger, but still a bit smaller than the car brand. */

/* v1.6.266 — client/service size is explicitly locked close to the car-title size. */

/* v1.6.266 — worker photo is shown inside the day-calendar master header card. */

/* v1.6.266 — mobile calendar uses a compact inline day/week switch and hides the large header. */

/* v1.6.266 — compact day/week switch is rendered on the calendar block on mobile. */

/* v1.6.266 — mobile calendar top strip is gone and position labels are persistent/editable. */


/* v1.6.269 — day view has one Week button only; week view has no mode button and its weekday/date sit on the right. */
.week-day-heading-v267{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:820px){
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247{
    justify-content:flex-end!important;
  }
  .calendar-mobile-clean-v222 .week-day-heading-v267{
    width:auto!important;
    margin-left:auto!important;
    justify-content:flex-end!important;
    gap:12px!important;
  }
  .calendar-mobile-clean-v222 .week-day .panel-head.week-day-head-v247::before{
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 54%,rgba(0,0,0,.95) 61%,rgba(0,0,0,.66) 68%,rgba(0,0,0,.28) 74%,transparent 80%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 54%,rgba(0,0,0,.95) 61%,rgba(0,0,0,.66) 68%,rgba(0,0,0,.28) 74%,transparent 80%)!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .week-day-heading-v267{gap:10px!important}
}

/* v1.6.269 — automatically shrink only booking cards whose content does not fit. */
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-car-v262{font-size:12.4px!important}
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-client-v262{font-size:11.8px!important}
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-service-v262{font-size:10.8px!important;line-height:1.14!important}
.cal-booking-hour-v235.cal-card-fit-1 .cal-booking-meta-v235 em{font-size:8.5px!important}
.cal-booking-hour-v235.cal-card-fit-1 .cal-booking-price-v235{font-size:9.6px!important}

.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-car-v262{font-size:11.6px!important}
.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-client-v262{font-size:11px!important}
.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-service-v262{font-size:10px!important;line-height:1.12!important}
.cal-booking-hour-v235.cal-card-fit-2 .cal-booking-meta-v235 em{font-size:8.1px!important}
.cal-booking-hour-v235.cal-card-fit-2 .cal-booking-price-v235{font-size:9.2px!important}

.cal-booking-hour-v235.cal-card-fit-3{padding:6px 7px 6px!important;gap:2px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-car-v262{font-size:10.8px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-client-v262{font-size:10.3px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-service-v262{font-size:9.3px!important;line-height:1.1!important}
.cal-booking-hour-v235.cal-card-fit-3 .cal-booking-meta-v235 em{font-size:7.8px!important}
.cal-booking-hour-v235.cal-card-fit-3 .cal-booking-price-v235{font-size:8.8px!important;padding:3px 5px!important}

.cal-booking-hour-v235.cal-card-fit-4{padding:5px 6px 5px!important;gap:1px!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-car-v262{font-size:10px!important;line-height:1.08!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-client-v262{font-size:9.6px!important;line-height:1.08!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-service-v262{font-size:8.6px!important;line-height:1.08!important}
.cal-booking-hour-v235.cal-card-fit-4 .cal-booking-meta-v235 em{font-size:7.4px!important}
.cal-booking-hour-v235.cal-card-fit-4 .cal-booking-price-v235{font-size:8.4px!important;padding:3px 4px!important}


/* v1.6.269 — widen mobile day-calendar columns a bit more when cards need extra room, and make lunch-break text more readable. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:58px repeat(var(--staff-count),138px)!important;
    min-width:calc(58px + (var(--staff-count) * 138px))!important;
  }
  .calendar-mobile-clean-v222 .cal-lunch-card{
    min-height:58px!important;
    padding:6px 6px!important;
    gap:4px!important;
  }
  .calendar-mobile-clean-v222 .cal-lunch-card b{font-size:13px!important;line-height:1.08!important;font-weight:950!important}
  .calendar-mobile-clean-v222 .cal-lunch-card span{font-size:11px!important;line-height:1.12!important;color:#7d681d!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .staff-calendar{
    grid-template-columns:56px repeat(var(--staff-count),134px)!important;
    min-width:calc(56px + (var(--staff-count) * 134px))!important;
  }
  .calendar-mobile-clean-v222 .cal-lunch-card b{font-size:12.4px!important}
  .calendar-mobile-clean-v222 .cal-lunch-card span{font-size:10.6px!important}
}


/* v1.6.269 — place Today to the right of Week in the date picker; same size, Today yellow with black text. */


/* v1.6.270 — dynamic day-calendar hour height, Week left / Today right, larger month label. */
@media(max-width:820px){

  /* One booking card is always contained inside its first visual hour.
     JS may increase the two half-hour rows before font reduction is applied. */
  .calendar-mobile-clean-v222 .cal-booking-hour-v235{
    max-height:none!important;
    overflow:hidden!important;
  }
  .calendar-mobile-clean-v222 .cal-cell,
  .calendar-mobile-clean-v222 .cal-time{
    transition:min-height .14s ease,height .14s ease!important;
  }
}


/* v1.6.271 — Today left / Week right; fixed larger booking text; no font shrinking, only dynamic hour/card height. */
@media(max-width:820px){

  /* Fixed typography: never shrink these when a card has a lot of content. */
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-car-v262{
    font-size:13.4px!important;
    line-height:1.12!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-client-v262{
    font-size:13.1px!important;
    line-height:1.12!important;
    font-weight:950!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-service-v262{
    font-size:12.5px!important;
    line-height:1.18!important;
    font-weight:700!important;
  }
  .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9.5px!important}
  .calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:10.2px!important}

  /* Neutralize all legacy fit levels if a stale class survives cache/history. */
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-car-v262{font-size:13.4px!important;line-height:1.12!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-client-v262{font-size:13.1px!important;line-height:1.12!important;font-weight:950!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-service-v262{font-size:12.5px!important;line-height:1.18!important;font-weight:700!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] .cal-booking-meta-v235 em{font-size:9.5px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] .cal-booking-price-v235{font-size:10.2px!important;padding:4px 6px!important}
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-car-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-car-v262{font-size:13.2px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-client-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-client-v262{font-size:12.9px!important}
  .calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-service-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-service-v262{font-size:12.2px!important}
}

/* v1.6.272 — slightly larger names on Home: masters in “Хто вільний” and clients in “Записи на сьогодні”. */
@media (max-width: 820px){
  .master-availability-person-main b{
    font-size:18px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
  }
  .master-availability-person-main small{
    font-size:12.8px !important;
    line-height:1.18 !important;
  }
  .today-booking-v182-customer{
    font-size:17px !important;
    line-height:1.12 !important;
    font-weight:950 !important;
    letter-spacing:-.02em !important;
  }
}
@media (max-width: 520px){
  .master-availability-person-main b{
    font-size:17px !important;
  }
  .master-availability-person-main small{
    font-size:12.4px !important;
  }
  .today-booking-v182-customer{
    font-size:16px !important;
  }
}

/* v1.6.273 — slightly larger free-time chips in “Хто вільний” on Home. */
@media (max-width: 820px){
  .availability-slot-links a,
  .availability-summary-text{
    font-size:13.2px !important;
    line-height:1.18 !important;
  }
  .availability-slot-links a{
    padding:7px 11px !important;
    border-radius:12px !important;
  }
}
@media (max-width: 520px){
  .availability-slot-links a,
  .availability-summary-text{
    font-size:12.8px !important;
    line-height:1.18 !important;
  }
  .availability-slot-links a{
    padding:7px 10px !important;
    border-radius:11px !important;
  }
}


/* v1.6.274 — rebalance “Хто вільний”: readable time chips without clipping/crowding. */
@media (max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 184px!important;
    gap:10px!important;
  }
  .availability-slot-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:184px!important;
    gap:6px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:0 6px!important;
    border-radius:11px!important;
    font-size:11.2px!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  .availability-summary-text{
    width:184px!important;
    font-size:11.6px!important;
    line-height:1.16!important;
  }
}
@media (min-width:430px) and (max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 196px!important;
  }
  .availability-slot-links,
  .availability-summary-text{
    width:196px!important;
  }
}
@media (max-width:390px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 170px!important;
    gap:8px!important;
  }
  .availability-slot-links,
  .availability-summary-text{
    width:170px!important;
  }
  .availability-slot-links{
    gap:5px!important;
  }
  .availability-slot-links a,
  .availability-slot-short{
    min-height:31px!important;
    height:31px!important;
    padding:0 5px!important;
    font-size:10.9px!important;
  }
}


/* v1.6.275 — slightly reduce free-time chip font size for cleaner fit. */
@media (max-width:820px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:10.7px!important;
  }
}
@media (max-width:390px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:10.4px!important;
  }
}


/* v1.6.276 — middle free-time font size between 1.6.274 and 1.6.275. */
@media (max-width:820px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:10.95px!important;
  }
}
@media (max-width:390px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:10.65px!important;
  }
}


/* v1.6.277 — slightly larger free-time font than 1.6.276. */
@media (max-width:820px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:11.1px!important;
  }
}
@media (max-width:390px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:10.8px!important;
  }
}


/* v1.6.278 — set free-time chip font to 12px as requested. */
@media (max-width:820px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:12px!important;
  }
}
@media (max-width:390px){
  .availability-slot-links a,
  .availability-slot-short{
    font-size:12px!important;
  }
}


/* v1.6.280 — larger Home specialty/service text; both use the same readable size. */
@media (max-width:820px){
  .master-availability-person-main small,
  .today-booking-v182-service{
    font-size:14.5px!important;
    line-height:1.18!important;
  }
}
@media (max-width:520px){
  .master-availability-person-main small,
  .today-booking-v182-service{
    font-size:14px!important;
    line-height:1.18!important;
  }
}

/* v1.6.281 — restore previous specialty size on Home, keep larger service text, add per-worker schedule UI. */
@media (max-width:820px){
  .master-availability-person-main small{
    font-size:12.8px!important;
    line-height:1.18!important;
  }
}
@media (max-width:520px){
  .master-availability-person-main small{
    font-size:12.4px!important;
    line-height:1.18!important;
  }
}
.availability-state-finished .availability-summary-text,
.availability-live-summary-v281{
  color:#777f87!important;
  font-weight:800!important;
}

/* Cells outside an employee's own shift remain aligned with the shared time axis,
   but are visibly inactive and cannot create work/break actions. */


/* v1.6.282 — keep work hours out of the calendar staff header and add enough bottom scroll clearance for the final half-hour row. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .calendar-bottom-spacer{
    display:block!important;
    height:150px!important;
    min-height:150px!important;
    background:var(--bg)!important;
    border-top:1px solid var(--line)!important;
    grid-column:1/-1!important;
  }
}
@media(max-width:390px){
  .calendar-mobile-clean-v222 .calendar-bottom-spacer{
    height:145px!important;
    min-height:145px!important;
  }
}


/* v1.6.285 — simplify the position editor header and use the standard CRM disclosure triangle. */


/* v1.6.286 — owner can add new employee positions from the position editor. */


/* v1.6.289 — custom position delete control + CRM-styled confirmation dialog. */
.staff-position-delete-confirm-v289.is-busy{opacity:.6!important;pointer-events:none!important}


/* v1.6.290 — every position can show the same compact X delete control used for services. */


/* v1.6.291 — compact mobile Menu cards with larger secondary text. */
@media(max-width:760px){
  .mobile-menu-page{
    gap:10px!important;
  }
  .mobile-menu-grid{
    gap:9px!important;
  }
  .mobile-menu-grid>a{
    min-height:82px!important;
    padding:12px 16px!important;
    gap:3px!important;
    border-radius:16px!important;
    align-content:center!important;
  }
  .mobile-menu-grid>a b{
    font-size:18px!important;
    line-height:1.12!important;
  }
  .mobile-menu-grid>a span{
    font-size:14px!important;
    line-height:1.24!important;
  }
}
@media(max-width:420px){
  .mobile-menu-grid{
    gap:8px!important;
  }
  .mobile-menu-grid>a{
    min-height:80px!important;
    padding:11px 16px!important;
    gap:2px!important;
  }
  .mobile-menu-grid>a b{
    font-size:18px!important;
  }
  .mobile-menu-grid>a span{
    font-size:13.8px!important;
    line-height:1.22!important;
  }
}


/* v1.6.292 — calendar amount colors by work status + status badges in Week view. */
/* Planned / in-progress amounts keep the existing neutral appearance. */
.calendar-price-status-v292.calendar-price-status-ready,
.calendar-price-status-v292.calendar-price-status-completed{
  background:#fff1a8!important;
  color:#8a6700!important;
}
.calendar-price-status-v292.calendar-price-status-closed{
  background:#e5f7eb!important;
  color:#178347!important;
}
.week-job-status-v292{
  min-width:0;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#6e7580!important;
  white-space:nowrap!important;
}
.week-job-status-v292 i{
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  border-radius:50%!important;
  background:#9aa1a8!important;
}
.week-job-status-v292.week-status-confirmed{color:#66727d!important}
.week-job-status-v292.week-status-confirmed i{background:#7e8993!important}
.week-job-status-v292.week-status-vehicle_received,
.week-job-status-v292.week-status-in_progress{color:#9b7400!important}
.week-job-status-v292.week-status-vehicle_received i,
.week-job-status-v292.week-status-in_progress i{background:#e8b800!important}
.week-job-status-v292.week-status-ready,
.week-job-status-v292.week-status-completed{color:#9b7400!important}
.week-job-status-v292.week-status-ready i,
.week-job-status-v292.week-status-completed i{background:#f0bf00!important}
.week-job-status-v292.week-status-closed{color:#178347!important}
.week-job-status-v292.week-status-closed i{background:#22a95f!important}
@media(max-width:700px){
  .week-job-status-v292{font-size:10px!important;gap:4px!important}
  .week-job-status-v292 i{width:7px!important;height:7px!important;min-width:7px!important}
}


/* v1.6.293 — Week: amount under service, status above avatar; Home Today: show amount too. */
.today-booking-total-v293.calendar-price-status-ready,
.today-booking-total-v293.calendar-price-status-completed{
  background:#fff1a8!important;
  color:#8a6700!important;
}
.today-booking-total-v293.calendar-price-status-closed{
  background:#e5f7eb!important;
  color:#178347!important;
}
.week-job-total-v293{
  margin-top:5px!important;
  justify-self:start!important;
}
.week-job-side-v293{
  min-width:74px!important;
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:7px!important;
}
.week-job-status-side-v293{
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .week-job-side-v293{min-width:70px!important;gap:6px!important}
  .week-job-status-side-v293{font-size:10px!important}
}
@media(max-width:390px){
  .week-job-side-v293{min-width:66px!important}
  .week-job-status-side-v293{font-size:9.5px!important}
}


/* v1.6.294 — Week statuses exactly follow Home “Записи на сьогодні”: black text, same size, same dot colors. */
.week-job-status-v292,
.week-job-status-side-v293{
  color:#151515!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  gap:6px!important;
}
.week-job-status-v292 i,
.week-job-status-side-v293 i{
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  flex:0 0 11px!important;
  border-radius:50%!important;
  background:#b5bdc6!important;
  box-shadow:none!important;
}
/* Planned */
.week-job-status-v292.week-status-confirmed i,
.week-job-status-v292.week-status-time_proposed i{background:#2f80ed!important}
/* In progress */
.week-job-status-v292.week-status-in_progress i,
.week-job-status-v292.week-status-vehicle_received i{background:#e0b400!important}
/* Ready */
.week-job-status-v292.week-status-ready i,
.week-job-status-v292.week-status-completed i{background:#19a35b!important}
/* Paid */
.week-job-status-v292.week-status-closed i{background:#19a35b!important}
/* Waiting */
.week-job-status-v292.week-status-pending i,
.week-job-status-v292.week-status-pending_reconfirm i{background:#f0a400!important}
/* Negative / cancelled states */
.week-job-status-v292.week-status-cancelled i,
.week-job-status-v292.week-status-no_show i,
.week-job-status-v292.week-status-rejected i{background:#d74a4a!important}
.week-job-status-v292.week-status-client_refused i{background:#e28621!important}

/* For “Планується”, only the amount remains neutral gray. */
.week-job-total-v293.calendar-price-status-confirmed,
.week-job-total-v293.calendar-price-status-time_proposed{
  background:#f1f3f4!important;
  color:#17191b!important;
}
@media(max-width:700px){
  .week-job-status-v292,
  .week-job-status-side-v293{
    font-size:12px!important;
    gap:6px!important;
  }
  .week-job-status-v292 i,
  .week-job-status-side-v293 i{
    width:11px!important;
    height:11px!important;
    min-width:11px!important;
    flex-basis:11px!important;
  }
}
@media(max-width:390px){
  .week-job-status-v292,
  .week-job-status-side-v293{font-size:12px!important}
}


/* v1.6.295 — hard-lock Week status text to black; only the dot carries status color. */
.week-job-side-v293 .week-job-status-v292.week-job-status-side-v293{
  color:#151515!important;
}
.week-job-side-v293 .week-job-status-v292.week-job-status-side-v293 *:not(i){
  color:#151515!important;
}


/* v1.6.297 — Week logo stays on the first title line while long vehicle names wrap below it. */
.week-job-title-row-v297{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  --week-logo-reserve-v297:39px;
}
.week-job-title-row-v297 > .week-job-car{
  display:block!important;
  width:100%!important;
  max-width:calc(100% - var(--week-logo-reserve-v297))!important;
  min-width:0!important;
}
.week-job-title-row-v297 > .week-job-logo-firstline-v297{
  position:absolute!important;
  left:var(--week-logo-left-v297,0px)!important;
  top:var(--week-logo-top-v297,0px)!important;
  margin:0!important;
  z-index:2!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  .week-job-title-row-v297{--week-logo-reserve-v297:36px}
}
@media(max-width:420px){
  .week-job-title-row-v297{--week-logo-reserve-v297:35px}
}


/* v1.6.298 — fully past day mirrors elapsed-time visuals across the whole day calendar. */
.staff-calendar.calendar-past-date-v298 .cal-cell.time-past:not(.cal-lunch-cell){
  background-color:#f7f8f9!important;
}
.staff-calendar.calendar-past-date-v298 .cal-cell.time-past.cal-interval-occupied:not(.cal-lunch-cell){
  background-color:#f7f8f9!important;
}
.staff-calendar.calendar-past-date-v298 .cal-cell.time-past .cal-booking{
  opacity:.66!important;
}
.staff-calendar.calendar-past-date-v298 .cal-cell.time-past .cal-create-slot{
  opacity:.62!important;
  pointer-events:auto!important;
}
.staff-calendar.calendar-past-date-v298 .cal-time.time-past{
  color:#aeb4b9!important;
  font-weight:650!important;
  background-color:#f8f8f8!important;
  background-image:repeating-linear-gradient(
    -45deg,
    rgba(198,48,48,.055) 0,
    rgba(198,48,48,.055) 7px,
    rgba(255,255,255,0) 7px,
    rgba(255,255,255,0) 14px
  )!important;
}


/* v1.6.300 — Home “Хто вільний”: availability chips stay right-aligned and vertically centered. */
@media (max-width:820px){
  .master-availability-row{
    align-items:center!important;
  }
  .master-availability-times{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .availability-slot-links{
    align-content:center!important;
    align-self:center!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
  }
  .availability-slot-links:has(> :only-child) > :only-child{
    grid-column:-2 / -1!important;
    justify-self:stretch!important;
  }
}


/* v1.6.301 — Home “Хто вільний”: center the entire availability group on the exact vertical midpoint of each master row. */
@media (max-width:820px){
  .master-availability-row{
    position:relative!important;
  }
  .master-availability-times{
    position:absolute!important;
    top:50%!important;
    right:0!important;
    transform:translateY(-50%)!important;
    width:184px!important;
    height:auto!important;
    min-height:0!important;
    align-self:auto!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .availability-slot-links{
    align-self:auto!important;
    align-content:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
    margin-left:auto!important;
  }
  .availability-summary-text{
    align-self:center!important;
    margin-left:auto!important;
  }
}
@media (min-width:430px) and (max-width:820px){
  .master-availability-times{width:196px!important;}
}
@media (max-width:390px){
  .master-availability-times{width:170px!important;}
}


/* v1.6.303 — “Хто вільний”: keep every chip group inside its own master row.
   The row grows when chips wrap; the whole group stays vertically centered.
   A lone chip on the last grid row is always placed at the far right. */
@media (max-width:820px){
  .master-availability-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 184px!important;
    gap:10px!important;
    align-items:center!important;
    height:auto!important;
    min-height:74px!important;
    overflow:visible!important;
  }

  .master-availability-times{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    width:184px!important;
    height:auto!important;
    min-height:100%!important;
    align-self:stretch!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  .availability-slot-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:184px!important;
    max-width:184px!important;
    height:auto!important;
    min-height:0!important;
    gap:6px!important;
    align-content:center!important;
    align-items:center!important;
    justify-items:stretch!important;
    margin:0 0 0 auto!important;
  }

  /* 1, 3, 5... chips: if the last grid row contains one chip,
     keep that chip in the right-hand column. */
  .availability-slot-links > :last-child:nth-child(odd){
    grid-column:2!important;
  }

  .availability-summary-text{
    position:static!important;
    width:184px!important;
    margin-left:auto!important;
    align-self:center!important;
    text-align:right!important;
  }
}

@media (min-width:430px) and (max-width:820px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 196px!important;
  }
  .master-availability-times,
  .availability-slot-links,
  .availability-summary-text{
    width:196px!important;
    max-width:196px!important;
  }
}

@media (max-width:390px){
  .master-availability-row{
    grid-template-columns:minmax(0,1fr) 170px!important;
    gap:8px!important;
  }
  .master-availability-times,
  .availability-slot-links,
  .availability-summary-text{
    width:170px!important;
    max-width:170px!important;
  }
  .availability-slot-links{
    gap:5px!important;
  }
}


/* v1.6.304 — “Хто вільний”: truly dynamic worker row height.
   A row is only as tall as the larger of worker info and its chip group.
   More wrapped chips make only that worker row taller; few chips keep it compact. */
@media (max-width:820px){
  .master-availability-row{
    height:auto!important;
    min-height:0!important;
    padding:7px 0!important;
    align-items:center!important;
    grid-auto-rows:auto!important;
  }

  .master-availability-person{
    align-self:center!important;
    min-height:0!important;
  }

  .master-availability-times{
    position:static!important;
    min-height:0!important;
    height:auto!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  .availability-slot-links{
    height:auto!important;
    min-height:0!important;
    align-self:center!important;
    align-content:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .availability-summary-text{
    min-height:0!important;
    align-self:center!important;
  }
}

@media (max-width:520px){
  .master-availability-row{
    padding:6px 0!important;
  }
}


/* v1.6.305 — long-press calendar card move, matching Staff reorder interaction. */
.calendar-booking-draggable-v305{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
.calendar-booking-source-v305{
  opacity:.28!important;
  filter:saturate(.65)!important;
}
.calendar-booking-ghost-v305.is-saving-v305{
  transform:scale(1.015)!important;
  opacity:.78!important;
}
.calendar-drag-toast-v305{
  position:fixed!important;
  left:50%!important;
  bottom:max(94px,calc(env(safe-area-inset-bottom) + 82px))!important;
  transform:translate(-50%,12px)!important;
  width:min(410px,calc(100vw - 28px))!important;
  background:#17191b!important;
  color:#fff!important;
  border-radius:16px!important;
  padding:10px 14px!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24)!important;
  z-index:2100!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .16s ease,transform .16s ease!important;
  text-align:center!important;
}
.calendar-drag-toast-v305[hidden]{display:none!important}
.calendar-drag-toast-v305.is-visible-v305{
  opacity:1!important;
  transform:translate(-50%,0)!important;
}
.calendar-drag-toast-v305 b{display:block!important;font-size:13px!important;line-height:1.2!important}
.calendar-drag-toast-v305 span{display:block!important;margin-top:2px!important;font-size:11px!important;line-height:1.25!important;color:#d6d9dc!important}
.calendar-drag-toast-v305.is-error-v305{background:#a72c2c!important}


/* v1.6.306 — calendar drag feels like lifting the card itself; no large transfer panel. */
.calendar-drag-toast-v305{display:none!important}
.calendar-booking-source-v306{
  opacity:.18!important;
  filter:saturate(.55)!important;
}
.calendar-booking-ghost-v306{
  box-sizing:border-box!important;
  overflow:hidden!important;
  transform:translateZ(0) scale(1.035)!important;
  transform-origin:center center!important;
  box-shadow:0 14px 34px rgba(15,18,22,.24),0 4px 10px rgba(15,18,22,.12)!important;
  opacity:.985!important;
  transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease!important;
  will-change:left,top,transform!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.calendar-booking-ghost-v306.is-saving-v306{
  transform:translateZ(0) scale(1.015)!important;
  opacity:.78!important;
}
.staff-calendar.calendar-dragging-v306 .cal-cell[data-calendar-drop-cell-v305]{
  transition:background-color .1s ease,box-shadow .1s ease!important;
}
.staff-calendar.calendar-dragging-v306 .cal-cell.calendar-drop-target-v305{
  background:#fff7c9!important;
  box-shadow:inset 0 0 0 3px #e2b900!important;
  z-index:8!important;
}
body.calendar-dragging-body-v306{
  overscroll-behavior:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
body.calendar-dragging-body-v306 .calendar-panel{
  scroll-behavior:auto!important;
}
.calendar-booking-rejected-v306{
  animation:calendar-drag-reject-v306 .46s ease!important;
}
@keyframes calendar-drag-reject-v306{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  55%{transform:translateX(4px)}
  78%{transform:translateX(-2px)}
}


/* v1.6.307 — drag/drop target uses the same selected-cell design as “Створити запис”.
   No separate yellow transfer rectangle. */
.staff-calendar.calendar-dragging-v306 .cal-cell.calendar-drop-target-v305{
  background:repeating-linear-gradient(
    -45deg,
    #fff7f7 0,
    #fff7f7 8px,
    rgba(215,63,63,.18) 8px,
    rgba(215,63,63,.18) 16px
  )!important;
  box-shadow:inset 0 0 0 2px rgba(201,52,52,.58)!important;
  filter:none!important;
  z-index:8!important;
}
.staff-calendar.calendar-dragging-v306 .cal-cell.calendar-drop-target-v305 .cal-create-slot{
  color:#b52f2f!important;
  opacity:1!important;
}


/* v1.6.309 — the lifted source card never interferes with selecting the slot below it. */
.calendar-booking-source-v306{
  pointer-events:none!important;
}


/* v1.6.310 — generic variable-length calendar break controls. */
.calendar-action-sheet-actions #calendar-action-break-form{
  display:grid;
  gap:7px;
}
.calendar-action-sheet-actions #calendar-action-break-form[hidden]{display:none!important}
.calendar-break-end-v310{
  display:grid;
  grid-template-columns:auto minmax(92px,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e2e5e7;
  border-radius:12px;
  background:#f7f8f9;
}
.calendar-break-end-v310 span{
  font-size:12px;
  font-weight:850;
  color:#697178;
}
.calendar-break-end-v310 select{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  padding:6px 30px 6px 10px!important;
  border:1px solid #dce1e4!important;
  border-radius:10px!important;
  background-color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cal-lunch-span-v310{
  position:relative!important;
  z-index:8!important;
  width:100%!important;
  margin:0!important;
  overflow:visible!important;
}
.cal-lunch-span-v310 > .cal-lunch-card,
form.cal-lunch-span-v310 > .cal-lunch-card{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
}


/* v1.6.311 — restore compact half-hour break card; continuation remains hatched cells. */
.cal-lunch-span-v310,
form.cal-lunch-span-v310{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:visible!important;
}
.cal-lunch-span-v310 > .cal-lunch-card,
form.cal-lunch-span-v310 > .cal-lunch-card{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
}

/* Compact break controls: narrow end-time picker + action in one row. */
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
  display:grid!important;
  grid-template-columns:minmax(92px,118px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311[hidden]{display:none!important}
.calendar-break-end-v311{
  grid-template-columns:auto minmax(58px,1fr)!important;
  gap:5px!important;
  padding:5px 6px!important;
  min-width:0!important;
}
.calendar-break-end-v311 span{font-size:11px!important}
.calendar-break-end-v311 select{
  width:68px!important;
  height:36px!important;
  padding:5px 22px 5px 7px!important;
  font-size:12px!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v311{
  width:100%!important;
  height:48px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.08!important;
}

/* Break drag looks like lifting the yellow break card itself. */
.calendar-break-source-v311{opacity:.36!important;pointer-events:none!important}
.calendar-break-ghost-v311{
  transform:translateZ(0) scale(1.035)!important;
  transform-origin:center!important;
  box-shadow:0 14px 32px rgba(20,24,28,.22)!important;
  filter:saturate(1.03)!important;
  border-radius:9px!important;
}
.calendar-break-ghost-v311.is-saving-v306{opacity:.78!important}


/* v1.6.312 — reliable compact break end-time picker.
   Wider time area, larger digits, no outer/input border or stray divider. */
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
  grid-template-columns:146px minmax(0,1fr)!important;
  gap:8px!important;
  overflow:visible!important;
}

.calendar-break-end-v312{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  width:146px!important;
  min-width:146px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.calendar-break-end-v312::before,
.calendar-break-end-v312::after{
  display:none!important;
  content:none!important;
}

.calendar-break-time-picker-v312{
  position:relative!important;
  display:block!important;
  min-width:0!important;
}

.calendar-action-sheet-actions .calendar-break-time-button-v312{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:96px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 24px 0 10px!important;
  border:0!important;
  outline:0!important;
  border-radius:12px!important;
  background:#f4f5f6!important;
  box-shadow:none!important;
  color:#4f5961!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:900!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.calendar-break-time-button-v312:focus,
.calendar-break-time-button-v312:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

.calendar-break-time-caret-v312{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  width:0!important;
  height:0!important;
  transform:translateY(-35%)!important;
  border-left:5px solid transparent!important;
  border-right:5px solid transparent!important;
  border-top:6px solid #68727a!important;
  pointer-events:none!important;
}

.calendar-break-time-menu-v312{
  position:absolute!important;
  left:0!important;
  bottom:calc(100% + 7px)!important;
  z-index:180!important;
  display:grid!important;
  width:104px!important;
  max-height:220px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:5px!important;
  border:1px solid #e0e4e7!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(20,24,28,.20)!important;
  -webkit-overflow-scrolling:touch!important;
}
.calendar-break-time-menu-v312[hidden]{display:none!important}

.calendar-action-sheet-actions .calendar-break-time-option-v312{
  display:block!important;
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#333b41!important;
  box-shadow:none!important;
  text-align:center!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:850!important;
}
.calendar-action-sheet-actions .calendar-break-time-option-v312.is-selected{
  background:#f0f2f3!important;
  color:#111315!important;
}

.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v312{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  padding:8px 8px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}


/* v1.6.313 — compact secondary break controls in Look Car style.
   “До” is part of the time pill; the whole row is narrower and sits close together. */
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
  display:grid!important;
  grid-template-columns:112px 156px!important;
  justify-content:end!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  overflow:visible!important;
}

.calendar-break-end-v313{
  width:112px!important;
  min-width:112px!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.calendar-break-time-picker-v313{
  width:112px!important;
  min-width:112px!important;
}

.calendar-action-sheet-actions .calendar-break-time-button-v313{
  width:112px!important;
  height:44px!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0 25px 0 10px!important;
  border:0!important;
  border-radius:13px!important;
  background:#f0f2f3!important;
  color:#2d3338!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:900!important;
}

.calendar-break-time-prefix-v313{
  color:#7a8288!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  text-transform:none!important;
}

.calendar-break-time-caret-v313{
  right:10px!important;
  border-left-width:4px!important;
  border-right-width:4px!important;
  border-top-width:5px!important;
}

/* Dropdown: one clean floating card, not a stack of separate grey buttons. */
.calendar-break-time-menu-v313{
  left:0!important;
  bottom:calc(100% + 6px)!important;
  width:112px!important;
  max-height:188px!important;
  padding:4px!important;
  border:1px solid #e2e5e7!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(20,24,28,.18)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}

.calendar-action-sheet-actions .calendar-break-time-menu-v313 .calendar-break-time-option-v312{
  width:100%!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 8px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#343b40!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:34px!important;
  text-align:center!important;
}

.calendar-action-sheet-actions .calendar-break-time-menu-v313 .calendar-break-time-option-v312 + .calendar-break-time-option-v312{
  border-top:1px solid #f0f1f2!important;
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
}

.calendar-action-sheet-actions .calendar-break-time-menu-v313 .calendar-break-time-option-v312.is-selected{
  background:#fff0a8!important;
  color:#17191b!important;
  border-top-color:transparent!important;
}

.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v313{
  width:156px!important;
  min-width:156px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 10px!important;
  border-radius:13px!important;
  font-size:11.5px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

@media(max-width:390px){
  .calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
    grid-template-columns:106px 146px!important;
    gap:6px!important;
  }
  .calendar-break-end-v313,
  .calendar-break-time-picker-v313,
  .calendar-action-sheet-actions .calendar-break-time-button-v313,
  .calendar-break-time-menu-v313{
    width:106px!important;
    min-width:106px!important;
  }
  .calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v313{
    width:146px!important;
    min-width:146px!important;
    font-size:11px!important;
  }
}


/* v1.6.314 — break controls swapped and tightened.
   The pair spans the same row width as “Створити запис”, while each control
   is compact around its text instead of carrying unnecessary inner space. */
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:100%!important;
  gap:10px!important;
  margin:0!important;
  overflow:visible!important;
}

.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{
  order:1!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

.calendar-break-end-v314{
  order:2!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}

.calendar-break-time-picker-v314{
  width:auto!important;
  min-width:0!important;
}

.calendar-action-sheet-actions .calendar-break-time-button-v314{
  width:auto!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 28px 0 11px!important;
  border-radius:12px!important;
  gap:5px!important;
}

@media(max-width:390px){
  .calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
    gap:8px!important;
  }
  .calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{
    padding-left:12px!important;
    padding-right:12px!important;
    font-size:11px!important;
  }
  .calendar-action-sheet-actions .calendar-break-time-button-v314{
    padding-left:10px!important;
    padding-right:26px!important;
  }
}


/* v1.6.315 — final compact break controls.
   Strong ID-based selectors intentionally override old generic action-sheet button rules. */
.calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

/* Compact secondary action — no stretched empty area. */
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{
  order:1!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:#f1f3f4!important;
  color:#616970!important;
  box-shadow:none!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314:hover{
  background:#eceeef!important;
  color:#3e454a!important;
}

/* Compact "До 13:00" pill next to the action button. */
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-end-v314{
  order:2!important;
  flex:0 0 auto!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-picker-v314{
  position:relative!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:94px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 25px 0 10px!important;
  gap:4px!important;
  border:0!important;
  outline:0!important;
  border-radius:11px!important;
  background:#f1f3f4!important;
  color:#343a3f!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314:focus,
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-prefix-v313{
  color:#7d858b!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:850!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-caret-v313{
  position:absolute!important;
  right:9px!important;
  top:50%!important;
  width:0!important;
  height:0!important;
  transform:translateY(-35%)!important;
  border-left:4px solid transparent!important;
  border-right:4px solid transparent!important;
  border-top:5px solid #6f777d!important;
  pointer-events:none!important;
}

/* Look Car dropdown: one floating white card, not a stack of browser-looking grey buttons. */
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313{
  position:absolute!important;
  right:0!important;
  left:auto!important;
  bottom:calc(100% + 7px)!important;
  z-index:2005!important;
  display:block!important;
  width:108px!important;
  max-height:190px!important;
  margin:0!important;
  padding:5px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  border:1px solid #e3e6e8!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(20,24,28,.20)!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313[hidden]{
  display:none!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313 .calendar-break-time-option-v312{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#353c41!important;
  box-shadow:none!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:850!important;
  text-align:center!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313 .calendar-break-time-option-v312:hover{
  background:#f5f6f7!important;
  color:#22272b!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313 .calendar-break-time-option-v312.is-selected{
  background:var(--accent)!important;
  color:#171717!important;
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313 .calendar-break-time-option-v312 + .calendar-break-time-option-v312{
  border-top:0!important;
}

/* Keep the secondary controls noticeably smaller than the primary Create button. */
@media(max-width:390px){
  .calendar-action-sheet-actions #calendar-action-break-form.calendar-action-break-row-v311{
    gap:6px!important;
  }
  .calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{
    height:37px!important;
    min-height:37px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:10.5px!important;
  }
  .calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314{
    min-width:90px!important;
    height:37px!important;
    min-height:37px!important;
    font-size:13.5px!important;
  }
}

/* v1.6.316 — compact service rows with readable names and badges below. */

/* v1.6.317 — tighter service cards and integrated disclosure controls. */

/* v1.6.318 — service headings: bare icons without separate tiles or dividers. */

/* v1.6.320 — center each service title and its badges vertically as one group. */

/* v1.6.321 — service activation feedback after the database update. */
.service-toggle-animated.is-saving{opacity:.7;cursor:wait}
.service-toggle-animated.is-deactivated,
.service-toggle-animated.is-activated{
  color:#fff!important;animation:lookcar-save-button-pop .34s ease-out both;
}
.service-toggle-animated.is-deactivated{background:#59626a!important;box-shadow:0 6px 16px rgba(50,60,67,.18)}
.service-toggle-animated.is-activated{background:#18764f!important;box-shadow:0 8px 22px rgba(24,118,79,.22)}
@media(prefers-reduced-motion:reduce){
  .service-toggle-animated.is-deactivated,.service-toggle-animated.is-activated{animation:none!important}
}

/* v1.6.323 — split the existing booking counter into total and completed. */
.today-summary-booking-split-v323 .today-summary-booking-line-v323.is-complete{
  padding-top:3px;border-top:1px solid #eef0f2;
}
.today-summary-booking-split-v323 .today-summary-booking-line-v323.is-complete > strong{
  color:#33804b;
}

/* v1.6.324 — tasks use the same two-line counter as bookings. */
.today-summary-booking-split-v323 .today-summary-booking-line-v323.is-overdue{padding-top:3px;border-top:1px solid #eef0f2}
.today-summary-booking-split-v323 .today-summary-booking-line-v323.is-overdue > strong{color:#8f1d24}

/* v1.6.325 — public booking add-ons and validation dialog. */
#public-additional-services{display:block}
#public-additional-services > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;min-height:64px;padding:9px 10px}
#public-additional-services > summary::-webkit-details-marker{display:none}
#public-additional-services > summary .triangle-glyph{font-size:16px;color:#596168;transition:transform .2s ease}
#public-additional-services[open] > summary .triangle-glyph{transform:rotate(180deg)}
#public-additional-services:not([open]){padding-bottom:0}
.public-booking-message-v325{width:min(410px,calc(100vw - 32px));max-width:none;border:1px solid #e7e9eb;border-radius:24px;padding:28px 24px 22px;background:#fff;color:#17191b;box-shadow:0 24px 75px rgba(10,14,20,.25);text-align:center}
.public-booking-message-v325::backdrop{background:rgba(10,14,20,.48)}
.public-booking-message-icon{width:48px;height:48px;border-radius:15px;background:var(--accent);display:grid;place-items:center;margin:0 auto 14px;font-size:28px;font-weight:850}
.public-booking-message-v325 h2{margin:0 0 8px;font-size:24px;letter-spacing:-.03em}
.public-booking-message-v325 p{margin:0 0 24px;font-size:16px;line-height:1.45;color:#626a70}
.public-booking-message-v325 .btn{width:100%}
.modern-success .summary-box .success-services-v325{align-items:start}
.modern-success .summary-box .success-services-v325 strong{text-align:right;min-width:0;max-width:68%;margin-left:auto}
@media(prefers-reduced-motion:reduce){#public-additional-services > summary .triangle-glyph{transition:none}}

/* v1.6.326 — name above the two task counters. */

/* v1.6.327 — compact main service heading after removing helper copy. */

/* v1.6.329 — three distinct, touch-friendly dashboard counters. */
.today-summary-cards-v329 .today-summary-card-number-v329 strong.is-complete{color:#258449}
.today-summary-cards-v329 .today-summary-card-number-v329 strong.is-overdue{color:#9c2f37}

/* v1.6.330 — independent white tiles on the page background, with smaller secondary values. */
.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-complete,.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-overdue{font-size:clamp(19px,5vw,27px)}
.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-complete{color:#258449}
.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-overdue{color:#9c2f37}
@media(max-width:390px){.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-complete,.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-overdue{font-size:19px}}

/* v1.6.331 — slightly larger titles on the three Home summary cards. */

/* v1.6.333 — start the dotted Today bookings heading at the same top edge as availability. */
@media(max-width:820px){
  .today-bookings-panel-v182{padding-top:9px!important}
  .today-bookings-panel-v182 .today-bookings-v182-head::before{top:-20px!important}
}

/* v1.6.335 — center the title and status together within each mobile service card. */

/* v1.6.337: slightly larger master portraits in Today bookings. */
@media (max-width:760px){
  .today-booking-v182-avatar.person-avatar{width:54px;height:54px;}
}
@media (max-width:520px){
  .today-booking-v182-avatar.person-avatar{width:50px;height:50px;}
}

/* v1.6.339: install guidance on the menu page. */
.pwa-install-help{margin:8px 8px 0;color:#58636c;font-size:13px;line-height:1.4;}
.pwa-install-help:empty{display:none;}
/* v1.6.341 — a calm, repeated cue only while someone in the queue fits an open slot. */
.mobile-bottom-nav [data-queue-nav].queue-has-opportunity-v341 span{color:#1b1b1b;font-weight:850}
.waitlist-admin-card.has-open-slot-v341{border-color:#dc2626;scroll-margin-top:24px}
.waitlist-open-slot-v341{margin:8px 0;color:#b91c1c;font-weight:800}

/* v1.6.355: red signal badge matches the rounded red pulse. */
.mobile-bottom-nav [data-queue-nav].queue-has-opportunity-v341 em{background:#dc2626;color:#fff}

/* Owner confirmation of received payment */
.owner-close-form-v344{margin:10px 0}.waitlist-actions-v237 form{margin:0}.waitlist-actions-v237 form button{min-height:42px}

.select-search-v344{display:block;box-sizing:border-box;width:100%;min-height:42px;margin:5px 0 8px;padding:9px 12px;border:1px solid #d6dce0;border-radius:11px;background:white;font:inherit}.customer-suggestions-v344{position:relative;z-index:30;background:#fff;border:1px solid #dce0e3;border-radius:12px;box-shadow:0 8px 22px #0002;max-height:225px;overflow:auto}.customer-suggestions-v344 button{display:block;width:100%;padding:12px;text-align:left;background:white;border:0;border-bottom:1px solid #eee;color:#1b1b1b;font:inherit}.customer-suggestions-v344 button:active{background:#fff0bc}
.booking-detail-clean .status-ready-combined-v153 .owner-close-form-v344{margin:0}.booking-detail-clean .status-ready-combined-v153 .owner-close-button-v344{min-height:46px!important;padding:8px 14px!important;background:var(--accent)!important;color:#1b1b1b!important;border:1px solid #dfb72e!important;border-radius:14px!important;font-size:14px!important;box-shadow:0 5px 14px #cba30033!important;cursor:pointer!important}
/* v1.6.355 — completed and acknowledged work has a calm monochrome appearance. */
.today-booking-v182-card.is-owner-closed-v345,.cal-booking.status-edge-owner_closed,.week-job.is-owner-closed-v345{filter:grayscale(1)!important;opacity:.73!important;background:#f1f2f3!important;border-color:#94999e!important}
.today-booking-v182-card.is-owner-closed-v345 *, .cal-booking.status-edge-owner_closed *, .week-job.is-owner-closed-v345 *{color:#51565a!important}
.today-booking-v182-status.status-owner_closed i,.week-status-owner_closed i{background:#6e7377!important}
.calendar-price-status-v292.calendar-price-status-owner_closed,.week-job-status-v292.week-status-owner_closed{color:#5b6064!important}
.booking-detail-clean .status.status-owner_closed{color:#50565a!important;background:#e6e8e9!important}
.waitlist-actions-v237{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:7px!important}.waitlist-actions-v237 form{flex:0 0 auto!important;margin:0!important}.waitlist-actions-v237 .waitlist-remove-cross-v345{width:43px;height:43px;min-height:43px;border:1px solid #d5d9dc;border-radius:10px;background:#f5f6f7;color:#4c5357;font-size:29px;line-height:1;display:grid;place-items:center;cursor:pointer}

.mobile-order-card.is-owner-closed-v345,.history-row.is-owner-closed-v345,.job-card.is-owner-closed-v345,.finance-row.is-owner-closed-v345,.desktop-orders-table tr.is-owner-closed-v345{filter:grayscale(1)!important;opacity:.72!important;background:#f1f2f3!important}.status.status-owner_closed{background:#e5e6e7!important;color:#50565a!important}

/* v1.6.355 — closed week rows reach both edges of the day panel. */
@media(max-width:820px){
  .calendar-mobile-clean-v222 .week-day .week-job.is-owner-closed-v345{
    margin-left:-13px!important;
    margin-right:-13px!important;
    padding-left:13px!important;
    padding-right:13px!important;
    width:auto!important;
  }
}

/* 1.6.355: small owner-only status correction in the booking hero. */
.booking-undo-dialog-v348{border:0;border-radius:20px;padding:0;width:min(400px,calc(100vw - 32px));max-width:100%;box-shadow:0 18px 54px #1115}
.booking-undo-dialog-v348::backdrop{background:#10131790}
.booking-undo-dialog-card-v348{padding:24px;display:grid;gap:14px}
.booking-undo-dialog-card-v348 h2{margin:0;font-size:22px}
.booking-undo-dialog-card-v348 p{margin:0;color:#535b65;line-height:1.45}
.booking-undo-dialog-actions-v348{display:flex;gap:10px;justify-content:flex-end}
.booking-undo-dialog-actions-v348 button{min-width:100px}
.booking-undo-dialog-actions-v348 button:disabled{opacity:.55}
.booking-resume-form-v348{margin-top:10px}
.booking-resume-form-v348 .btn{width:100%;min-height:43px}

/* v1.6.355 — quieter owner-only rollback control. */

/* v1.6.355 — queue removal confirmation in the Look Car visual language. */
.waitlist-remove-dialog-v352{width:min(410px,calc(100vw - 32px));max-width:none;border:0;border-radius:24px;padding:0;color:#191d20;background:#fff;box-shadow:0 22px 70px rgba(11,18,23,.22)}
.waitlist-remove-dialog-v352::backdrop{background:rgba(13,19,23,.55)}
.waitlist-remove-card-v352{min-height:240px;padding:25px 23px 22px;display:flex;flex-direction:column}
.waitlist-remove-message-v353{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;padding:12px 0 22px}
.waitlist-remove-card-v352 h2{font-size:24px;line-height:1.15;letter-spacing:-.03em;margin:0}
.waitlist-remove-card-v352 p{margin:0;color:#616b72;font-size:15px;line-height:1.45}
.waitlist-remove-card-v352 p b{color:#22282d}
.waitlist-remove-actions-v352{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.waitlist-remove-actions-v352 .btn{width:100%;min-height:49px;font-size:15px;border-radius:14px;font-weight:800}
.waitlist-remove-confirm-v352{background:#fce8e6;border:1px solid #f4d4d0;color:#a8312b}
.waitlist-remove-confirm-v352:hover{background:#f7d5d1}
.waitlist-remove-confirm-v352:disabled{opacity:.55}
@media(max-width:560px){.waitlist-remove-dialog-v352{width:calc(100vw - 30px)}.waitlist-remove-card-v352{padding:24px 20px 20px}}

/* v1.6.355 — a single editable search surface for new-booking choices. */
#internal-booking-form .internal-vehicle-picker[hidden]{display:none!important}
#internal-booking-form .unified-search-v354,
#internal-booking-form .service-field-v345{display:block;box-sizing:border-box;width:100%;min-height:48px;height:48px;margin:0;padding:10px 14px;border:1px solid #d8dee2;border-radius:14px;background:#fff;color:#1d2225;font:inherit;font-size:15px;box-shadow:none}
#internal-booking-form .unified-search-v354:focus,
#internal-booking-form .service-field-v345:focus{outline:none;border-color:#dbbc40;box-shadow:0 0 0 3px rgba(248,210,57,.16)}
#internal-booking-form .unified-results-v354,
#internal-booking-form .service-results-v345{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;max-height:min(260px,42vh);overflow:auto;padding:5px;background:#fff;border:1px solid #dce1e4;border-radius:14px;box-shadow:0 12px 28px #0002}
#internal-booking-form .unified-results-v354[hidden],
#internal-booking-form .service-results-v345[hidden]{display:none!important}

/* v1.6.363 — new booking: after removing the explanatory “Format” card, keep the master selector full width. */


/* v1.6.363 — waitlist create dialog redesigned to match new booking modal */
.waitlist-create-dialog{width:min(760px,calc(100% - 20px));max-height:calc(100dvh - 20px)}
.waitlist-create-dialog-card{border:1px solid #eceff1;border-radius:24px;box-shadow:0 28px 70px rgba(16,18,20,.24)}
.waitlist-dialog-head{padding:15px 16px 10px;border-bottom:1px solid #eceff1}
.waitlist-dialog-head h2{font-size:26px;letter-spacing:-.04em}
.waitlist-dialog-close{background:#f5f6f7;border:1px solid #e3e7ea}
.waitlist-add-form-dialog.internal-booking-form{max-width:none;padding:14px 15px 16px!important;display:grid;gap:8px;max-height:calc(100dvh - 106px)}
.waitlist-add-form-dialog .form-section{padding:0 0 11px;margin:0 0 4px;border-bottom:1px solid #eceff1}
.waitlist-add-form-dialog .form-section:last-of-type{border-bottom:0}
.waitlist-add-form-dialog .compact-form-section>.eyebrow{margin-bottom:8px}
.waitlist-compact-client-grid{grid-template-columns:1fr 1fr!important}
.waitlist-request-grid{grid-template-columns:1fr!important;gap:10px}
.waitlist-full-row{grid-column:1 / -1!important}
.waitlist-period-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.waitlist-period-row>label{margin:0}
.waitlist-period-row input{min-width:0}
.waitlist-service-field{display:grid;gap:8px;font-size:inherit;font-weight:inherit;color:inherit}
.waitlist-service-field>span{display:none}
.waitlist-service-slot-list{display:grid;gap:8px}
.waitlist-add-form-dialog textarea{min-height:76px;resize:vertical}
.waitlist-submit-compact{justify-self:start}
@media(max-width:820px){
  .waitlist-create-dialog{width:calc(100% - 14px)}
  .waitlist-dialog-head{padding:14px 14px 10px}
  .waitlist-dialog-head h2{font-size:24px}
  .waitlist-add-form-dialog.internal-booking-form{padding:12px!important;gap:7px}
}
@media(max-width:560px){
  .waitlist-period-row{grid-template-columns:1fr 1fr;gap:8px}
  .waitlist-submit-compact{width:100%}
}


/* v1.6.363 — waitlist add screen: mobile full-screen and service/date order aligned */
.waitlist-add-form-dialog .waitlist-period-row{background:#f5f6f7;border:1px solid #eceff1;border-radius:18px;padding:10px 10px 11px}
.waitlist-add-form-dialog .waitlist-period-row label{display:grid;gap:6px}
.waitlist-add-form-dialog .waitlist-period-row label input{background:#fff}
@media(max-width:820px){
  .waitlist-create-dialog{width:100vw!important;height:100dvh!important;max-height:100dvh!important;max-width:none!important;margin:0!important}
  .waitlist-create-dialog::backdrop{background:#f3f4f5!important;backdrop-filter:none!important}
  .waitlist-create-dialog-card{width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important;box-shadow:none!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}
  .waitlist-dialog-head{position:sticky;top:0;z-index:5;background:#fff;padding:12px 16px 10px!important}
  .waitlist-dialog-head h2{font-size:28px!important}
  .waitlist-dialog-close{width:56px;height:56px;border-radius:18px;font-size:24px}
  .waitlist-add-form-dialog.internal-booking-form{max-height:none!important;height:auto!important;overflow:auto!important;padding:12px 16px 18px!important;gap:8px!important;-webkit-overflow-scrolling:touch}
  .waitlist-add-form-dialog .form-section{padding:0 0 12px!important;margin:0 0 4px!important}
}
@media(max-width:560px){
  .waitlist-add-form-dialog .waitlist-period-row{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:9px}
  .waitlist-add-form-dialog .waitlist-period-row label{gap:5px}
}


/* v1.6.363 — Add to queue is a real page, matching New booking. */
.waitlist-add-page-head-v361{margin-bottom:14px}
.waitlist-add-page-form-v361{max-width:980px}
.waitlist-period-row-v361{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.waitlist-period-row-v361>label{margin:0}
.waitlist-period-row-v361 input{min-width:0}
.waitlist-add-page-form-v361 .waitlist-service-field{display:grid;gap:8px;font-size:inherit;font-weight:inherit;color:inherit}
.waitlist-add-page-form-v361 .waitlist-service-slot-list{display:grid;gap:8px}
.waitlist-add-page-form-v361 textarea{min-height:76px}
@media(max-width:820px){
  .waitlist-add-page-head-v361{margin-bottom:14px}
  .waitlist-add-page-form-v361{padding:12px!important}
}
@media(max-width:560px){
  .waitlist-period-row-v361{grid-template-columns:1fr 1fr;gap:8px}
  .waitlist-add-page-form-v361 .waitlist-submit-compact{width:100%}
}

/* v1.6.363 — queue vehicle picker is visually identical to New booking. */
#waitlist-add-form-v361 .vehicle-first-section{position:relative}
#waitlist-add-form-v361 .internal-vehicle-picker[hidden]{display:none!important}
#waitlist-add-form-v361 .unified-search-v354{display:block;box-sizing:border-box;width:100%;min-height:48px;height:48px;margin:0;padding:10px 14px;border:1px solid #d8dee2;border-radius:14px;background:#fff;color:#1d2225;font:inherit;font-size:15px;box-shadow:none}
#waitlist-add-form-v361 .unified-search-v354:focus{outline:none;border-color:#dbbc40;box-shadow:0 0 0 3px rgba(248,210,57,.16)}
#waitlist-add-form-v361 .unified-results-v354{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;max-height:min(260px,42vh);overflow:auto;padding:5px;background:#fff;border:1px solid #dce1e4;border-radius:14px;box-shadow:0 12px 28px #0002}
#waitlist-add-form-v361 .unified-results-v354[hidden]{display:none!important}
#waitlist-add-form-v361 .unified-results-v354 .internal-vehicle-menu{position:static!important;display:grid!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
#waitlist-add-form-v361 .unified-results-v354 .internal-vehicle-row{display:grid!important;min-height:44px!important;margin:0!important;padding:10px!important;border-radius:10px!important}
#waitlist-add-form-v361 .unified-results-v354 .internal-vehicle-row[hidden]{display:none!important}
#waitlist-add-form-v361 .unified-results-v354 .internal-vehicle-row:hover{background:#fff7d6!important}
#waitlist-add-form-v361 .unified-results-v354 .internal-service-name small{font-size:11px!important;color:#6c747a!important}


/* v1.6.363 — unified phone input with fixed +38 prefix */
.lc-phone-field{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:stretch}
.lc-phone-prefix{display:flex;align-items:center;justify-content:center;min-height:56px;padding:0 12px;border:1px solid #dce1e4;border-radius:16px;background:#f5f6f7;color:#30353a;font-family:inherit;font-weight:700;font-size:24px;line-height:1;letter-spacing:0;white-space:nowrap}
.lc-phone-local-input{min-width:0}
@media(max-width:700px){
  .lc-phone-field{grid-template-columns:78px minmax(0,1fr);gap:7px}
  .lc-phone-prefix{min-height:52px;border-radius:15px;font-size:23px;font-weight:700;padding:0 10px}
}

/* v1.6.363 — larger normal +38 prefix and no sample placeholders in phone/vehicle fields. */

/* v1.6.366 — reusable smart car brand/model picker */
.car-smart-field{position:relative;display:block;width:100%;min-width:0}
.car-smart-field>input{width:100%;min-width:0}
.car-smart-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:180;display:grid;gap:4px;max-height:min(330px,45vh);overflow-y:auto;overflow-x:hidden;padding:6px;background:#fff;border:1px solid #dce1e4;border-radius:16px;box-shadow:0 16px 36px rgba(14,18,22,.18);overscroll-behavior:contain}
.car-smart-results[hidden]{display:none!important}
.car-smart-choice{appearance:none;width:100%;min-width:0;border:0;background:#fff;color:#171a1d;text-align:left;cursor:pointer}
.car-smart-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 12px;border-radius:12px}
.car-smart-choice:hover,.car-smart-choice.is-keyboard-active{background:#f5f6f7}
.car-smart-choice-copy{display:grid;gap:2px;min-width:0}
.car-smart-choice-copy b{font:inherit;font-size:16px;font-weight:900;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.car-smart-empty{padding:13px 12px;color:#697177;font-size:13px;font-weight:750;line-height:1.45}
@media(max-width:700px){
  .car-smart-results{left:0;right:0;max-height:min(310px,42vh);padding:5px;border-radius:15px}
  .car-smart-choice{min-height:58px;padding:11px 12px}
  .car-smart-choice-copy b{font-size:17px}
}


/* v1.6.366 — neutral smart car suggestions; phone prefix typography mirrors entered number */
.car-smart-choice{justify-content:flex-start!important;background:#fff!important;box-shadow:none!important}
.car-smart-choice.is-best{background:#fff!important;box-shadow:none!important}
.car-smart-choice-copy{gap:0!important}
.car-smart-choice-copy small,.car-smart-choice>i,.car-smart-manual{display:none!important}

/* v1.6.366 — "Мийка окремо" dashboard card and mobile-first wash control module. */
.wash-status-pill-v366.is-planned i{background:#3b82c4}
.wash-status-pill-v366.is-work i,.wash-status-pill-v366.is-ready i{background:#d4a400}
.wash-status-pill-v366.is-paid i{background:#2b9b59}
.wash-page-v366.is-loading .wash-list-v366,.wash-page-v366.is-loading .wash-money-v366{opacity:.55;transition:opacity .12s ease}

.wash-dialog-v366{border:0;padding:0;background:transparent;width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 28px)}
.wash-dialog-v366::backdrop{background:rgba(8,10,12,.42);backdrop-filter:blur(2px)}
.wash-dialog-card-v366{display:grid;gap:14px;background:#fff;border-radius:22px;padding:16px;box-shadow:0 24px 60px rgba(16,18,20,.22)}
.wash-dialog-head-v366{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wash-dialog-head-v366 h2{margin:3px 0 0;font-size:23px;letter-spacing:-.035em}
.wash-dialog-x-v366{width:42px;height:42px;border:1px solid #e1e5e8;border-radius:14px;background:#f4f6f7;color:#62686e;font-size:27px;line-height:1}
.wash-dialog-card-v366>p{margin:0;color:#626a71;font-weight:750}
.wash-payment-options-v366 button.is-selected{background:#111315;color:#fff;border-color:#111315}
.wash-close-copy-v366{display:grid;gap:6px;padding:12px 13px;border-radius:15px;background:#f5f6f7}
.wash-close-copy-v366 p{margin:0;color:#60676e;font-size:14px}
.wash-close-copy-v366 strong{color:#171a1d}
.wash-dialog-actions-v366{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wash-dialog-actions-v366 .btn{min-height:50px;border-radius:14px}


/* v1.6.368 — “Допоміг виконати”: helper is a second rendering of the same booking */
.cal-booking-helper-v367{cursor:pointer}
.cal-booking-helper-v367 .cal-booking-helper-share-v367{font-size:16px;font-weight:950;line-height:1;color:#202326;white-space:nowrap}
@media(max-width:700px){.cal-booking-helper-v367 .cal-booking-helper-share-v367{font-size:17px}}

/* v1.6.368 — wash module is an owner cash-reconciliation screen, not a payment screen. */
.wash-owner-close-note-v368{margin:0!important;padding:11px 12px;border-radius:14px;background:#f6f7f8;color:#666d73!important;font-size:13px;font-weight:700!important;line-height:1.45}
.wash-status-pill-v366.is-owner-closed-v368{background:#e7e9ea;color:#555b60}
.wash-status-pill-v366.is-owner-closed-v368 i{background:#70767b}


/* v1.6.370 — wash cash hero spacing + clickable wash cards */


/* v1.6.373 — compact orders filters */
.orders-suggest-item.is-top{background:#f4f6f7;outline:none}


/* v1.6.374 — final compact filter for “Всі роботи” */
.orders-filter-card-v374.is-loading{opacity:.62!important;pointer-events:none!important}


/* v1.6.376 — date text truly centered inside filter date fields */


/* v1.6.377 — fix actual visible date trigger alignment in “Всі роботи”.
   The previous versions centered the obsolete custom face, while app.js renders
   a global .crm-date-trigger on top of the native date input. */


/* v1.6.381 — “Всі роботи”: reset restores all results; show service; stronger client name */

/* v1.6.381 — universal work collaboration + washer private calendar */
.booking-join-dialog-v381,.booking-takeover-dialog-v381{border:0;padding:0;background:transparent;max-width:none;max-height:none}
.booking-join-dialog-v381::backdrop,.booking-takeover-dialog-v381::backdrop{background:rgba(18,20,22,.42);backdrop-filter:blur(2px)}
.booking-join-card-v381{width:min(430px,calc(100vw - 28px));background:#fff;border:1px solid #e1e5e8;border-radius:22px;padding:16px;display:grid;gap:9px;box-shadow:0 24px 70px rgba(18,20,22,.22)}
.booking-join-head-v381{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;align-items:start;padding:1px 1px 5px}
.booking-join-head-v381 h2{margin:3px 0 0;font-size:23px;line-height:1.08;letter-spacing:-.035em}
.booking-join-close-v381{width:42px;height:42px;border:1px solid #e2e6e8;border-radius:13px;background:#f5f6f7;color:#596067;font-size:28px;line-height:1;padding:0}
.booking-join-choice-v381{width:100%;min-height:72px;border:1px solid #dfe3e6;border-radius:16px;background:#fff;padding:13px 14px;display:grid;gap:4px;text-align:left;color:#202428}
.booking-join-choice-v381 b{font-size:16px;line-height:1.15}
.booking-join-choice-v381 span{font-size:12px;line-height:1.35;color:#747b81}
.booking-join-choice-v381:active{background:#f6f7f8}
.booking-join-cancel-v381{height:44px;border:0;border-radius:13px;background:#f2f4f5;color:#4f575d;font-weight:850}
.booking-takeover-card-v381{width:min(390px,calc(100vw - 34px));background:#fff;border:1px solid #e1e5e8;border-radius:22px;padding:18px;display:grid;gap:10px;box-shadow:0 24px 70px rgba(18,20,22,.22)}
.booking-takeover-card-v381 h2{margin:0;font-size:22px;line-height:1.12;letter-spacing:-.03em}
.booking-takeover-card-v381 p{margin:0;color:#717980;font-size:13px;line-height:1.45}
.booking-takeover-actions-v381{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.booking-takeover-actions-v381 form,.booking-takeover-actions-v381 .btn{width:100%}
@media(max-width:560px){
  .booking-join-card-v381{width:calc(100vw - 18px);padding:14px;border-radius:20px}
  .booking-join-head-v381 h2{font-size:21px}
  .booking-join-choice-v381{min-height:68px;padding:12px 13px}
  .booking-takeover-card-v381{width:calc(100vw - 24px);padding:16px}
}

/* Washer logged into their own profile: one wide column, no other staff columns. */
.staff-calendar.washer-self-calendar-v381{
  grid-template-columns:58px minmax(0,1fr)!important;
  min-width:100%!important;
  width:100%!important;
}
.staff-calendar.washer-self-calendar-v381 .cal-staff{min-width:0!important}
.staff-calendar.washer-self-calendar-v381 .cal-cell{min-width:0!important}
.staff-calendar.washer-self-calendar-v381 .cal-booking{width:100%!important;max-width:none!important}
@media(max-width:760px){
  .staff-calendar.washer-self-calendar-v381{
    grid-template-columns:54px minmax(0,1fr)!important;
    min-width:100%!important;
    width:100%!important;
  }
  .staff-calendar.washer-self-calendar-v381 .cal-staff b{font-size:12px!important}
  .staff-calendar.washer-self-calendar-v381 .cal-staff small{font-size:9px!important}
  .staff-calendar.washer-self-calendar-v381 .cal-booking b{font-size:11px!important}
  .staff-calendar.washer-self-calendar-v381 .cal-booking span,
  .staff-calendar.washer-self-calendar-v381 .cal-booking small{font-size:9px!important}
}


/* v1.6.382 — employee work hours + task privacy + Today My/All layout */
@media(max-width:820px){
  .today-bookings-v182-head{
    align-items:flex-start!important;
    gap:8px!important;
  }
  .today-bookings-v182-head > div{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:5px!important;
  }
  .today-bookings-v182-head h2{
    margin:0!important;
    white-space:nowrap!important;
  }
  .today-bookings-v182-switch{
    margin:0!important;
    padding:3px!important;
    gap:3px!important;
    border-radius:12px!important;
  }
  .today-bookings-v182-switch a{
    min-width:44px!important;
    padding:6px 10px!important;
    font-size:11.5px!important;
    text-align:center!important;
  }
  .today-bookings-v182-all{
    flex:0 0 auto!important;
    align-self:flex-start!important;
  }
}
@media(max-width:390px){
  .today-bookings-v182-head{gap:6px!important}
  .today-bookings-v182-switch a{min-width:40px!important;padding:6px 8px!important;font-size:11px!important}
  .today-bookings-v182-all{padding-left:10px!important;padding-right:10px!important;font-size:12px!important}
}

/* v1.6.384 — Finance Center */
.finance-head-v384{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:10px}
.finance-head-v384 p{margin:6px 0 0;color:#727980}.finance-period-quick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:7px}.finance-period-quick button{min-height:38px;border:0;border-radius:11px;background:transparent;color:#555d63;font-size:11px;font-weight:850;padding:0 7px}.finance-period-quick button.active{background:var(--accent);color:var(--accent-ink)}
.finance-dialog-v384{width:min(620px,calc(100% - 22px));max-height:calc(100dvh - 24px);border:0;border-radius:24px;padding:0;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.24)}.finance-dialog-v384::backdrop{background:rgba(10,12,14,.56);backdrop-filter:blur(5px)}.finance-dialog-v384 form{display:grid;gap:11px;padding:18px;overflow:auto}.finance-dialog-v384 label{display:grid;gap:6px;font-size:11px;font-weight:850;color:#555d63}.finance-dialog-v384 input,.finance-dialog-v384 select,.finance-dialog-v384 textarea{width:100%}.finance-dialog-head-v384{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-dialog-head-v384 h2{margin:3px 0 0;font-size:26px}.finance-dialog-head-v384>button{width:42px;height:42px;border:0;border-radius:13px;background:#f1f3f4;font-size:24px;color:#62696f}.finance-form-two-v384{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.finance-settings-card-v384{margin-bottom:9px}.finance-recurring-add-v384{display:grid;grid-template-columns:2fr 1.4fr auto;gap:8px}.finance-recurring-add-v384{grid-template-columns:1.5fr .8fr 1.4fr 1fr 1fr 1fr 1fr auto}.finance-category-list-v384{display:grid;gap:8px;margin-bottom:10px}.finance-category-card-v384{display:grid;gap:10px}.finance-category-edit-v384{display:grid;grid-template-columns:2fr 80px 110px 120px auto;gap:6px}.finance-category-edit-v384 button,.finance-subcategory-row-v384 button{border:0;border-radius:10px;background:#17191b;color:#fff;font-weight:850}.finance-subcategory-list-v384{display:grid;gap:5px;padding-left:16px}.finance-subcategory-row-v384{display:grid;grid-template-columns:1fr 110px 38px;gap:6px}.finance-recurring-list-v384{display:grid;margin-top:10px}.finance-recurring-list-v384>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.finance-recurring-list-v384>div>div{display:grid;gap:2px}.finance-recurring-list-v384 span{font-size:9px;color:#7c8388}.finance-recurring-list-v384 strong{font-size:13px}

@media(max-width:820px){
  .finance-head-v384{align-items:flex-start}.finance-head-v384 h1{font-size:34px}.finance-period-quick{grid-template-columns:repeat(3,1fr)}.finance-recurring-add-v384{grid-template-columns:1fr}.finance-category-edit-v384{grid-template-columns:1fr 62px 94px}.finance-category-edit-v384 select[name="archived"]{grid-column:1/2}.finance-category-edit-v384 button{grid-column:2/4}.finance-form-two-v384{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){.finance-period-quick{grid-template-columns:repeat(3,1fr);padding:6px}.finance-form-two-v384{grid-template-columns:1fr 1fr}.payment-method-grid{grid-template-columns:1fr 1fr!important}
}
.payment-dialog .payment-method-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.payment-dialog .payment-method-grid{grid-template-columns:1fr 1fr!important}}


/* v385 finance mobile optimization */
.finance-head-v384{align-items:flex-start}
.finance-head-v384 p{margin-top:4px}
.finance-settings-head-v384{align-items:center}
.finance-settings-head-actions-v384{display:flex;gap:8px;align-items:center}
.finance-mobile-only-note-v384{display:none;margin-bottom:10px}
.finance-mobile-only-note-v384 h2{margin:4px 0 6px;font-size:24px}
.finance-mobile-only-note-v384 p{margin:0 0 12px;color:#6f777d}
.finance-period-quick{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;border-radius:16px}
.finance-period-quick button{min-height:36px;font-size:12px}
@media(max-width:820px){
  .finance-mobile-only-note-v384{display:block}
  .finance-settings-desktop-only-v384{display:none}
}
@media(max-width:640px){
  .finance-head-v384 h1{font-size:34px}
  .finance-head-v384 p{font-size:13px}
  .finance-period-quick{grid-template-columns:repeat(4,1fr);gap:5px}
  .finance-period-quick button{font-size:11px;padding:0 6px}
}
@media(max-width:460px){
  .finance-period-quick{padding:5px}
  .finance-period-quick button{min-height:34px;font-size:10px}
}


/* v1.6.386 — finance compact mobile layout and contextual report filter */
.finance-head-v384{position:relative!important;padding-right:52px!important}
.finance-period-quick{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:5px!important}
.finance-period-quick button{min-width:0!important;min-height:34px!important;padding:0 4px!important;font-size:10.5px!important}
.finance-report-option-v386.is-top{background:#f3f5f6!important;outline:none!important}
@media(max-width:460px){
  .finance-period-quick{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* v1.6.387 — Finance UX/UI mobile redesign */
.finance-custom-period-v387{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:5px!important;align-items:end!important;padding:7px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important}
.finance-custom-period-v387 label{display:grid!important;gap:3px!important;min-width:0!important}
.finance-custom-period-v387 label>span{font-size:9.5px!important;line-height:1!important;font-weight:850!important;color:#747b81!important}
.finance-custom-period-v387 input[type="date"]{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 7px!important;font-size:11.5px!important}
.finance-custom-period-v387 .crm-date-shell{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important}
.finance-custom-period-v387 .crm-date-trigger{height:38px!important;min-height:38px!important;grid-template-columns:minmax(0,1fr) 34px!important;border-radius:11px!important;overflow:hidden!important}
.finance-custom-period-v387 .crm-date-trigger-value{min-width:0!important;height:38px!important;display:flex!important;align-items:center!important;padding:0 8px!important;font-size:11px!important;white-space:nowrap!important}
.finance-custom-period-v387 .crm-date-trigger-caret{width:34px!important;min-width:34px!important;height:38px!important}
.finance-custom-period-v387>.btn{width:auto!important;min-width:92px!important;height:38px!important;min-height:38px!important;padding:0 10px!important;border-radius:11px!important;font-size:11px!important;white-space:nowrap!important}
.finance-combo-v387.is-disabled{background:#f5f6f7!important;opacity:.72!important}
.finance-report-option-v387.is-top{background:#f3f5f6!important;outline:none!important}
@media(max-width:460px){
  .finance-custom-period-v387{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 88px!important;gap:4px!important;padding:6px!important}
  .finance-custom-period-v387 label>span{font-size:8.5px!important}
  .finance-custom-period-v387 input[type="date"],.finance-custom-period-v387 .crm-date-shell,.finance-custom-period-v387 .crm-date-trigger{height:36px!important;min-height:36px!important}
  .finance-custom-period-v387 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 30px!important}
  .finance-custom-period-v387 .crm-date-trigger-value{height:36px!important;font-size:10px!important;padding:0 5px!important}
  .finance-custom-period-v387 .crm-date-trigger-caret{width:30px!important;min-width:30px!important;height:36px!important}
  .finance-custom-period-v387>.btn{min-width:88px!important;width:88px!important;height:36px!important;min-height:36px!important;padding:0 5px!important;font-size:9.5px!important}
}
@media(max-width:370px){
  .finance-custom-period-v387{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 80px!important}
  .finance-custom-period-v387>.btn{width:80px!important;min-width:80px!important;font-size:9px!important}
  .finance-custom-period-v387 .crm-date-trigger-value{font-size:9.4px!important}
}

/* v1.6.388 — final Finance mobile UX pass */
.finance-custom-period-v388{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px!important;
  gap:4px!important;
  padding:6px!important;
}
.finance-custom-period-v388 label{min-width:0!important}
.finance-custom-period-v388 input[type="date"]{padding-left:6px!important;padding-right:6px!important;font-size:12.5px!important}
.finance-custom-period-v388 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 30px!important}
.finance-custom-period-v388 .crm-date-trigger-value{padding:0 6px!important;font-size:12.5px!important}
.finance-custom-period-v388 .crm-date-trigger-caret{width:30px!important;min-width:30px!important}
.finance-custom-period-v388>.btn{width:96px!important;min-width:96px!important;padding:0 7px!important;font-size:11.5px!important}

/* Keep the app's custom selects visually/behaviorally identical inside Finance. */
.workspace .lc-select-arrow svg{transition:transform .20s ease}
.workspace .lc-select-trigger[aria-expanded="true"] .lc-select-arrow svg{transform:rotate(180deg)}

.finance-fab-layer-v388{position:fixed;inset:0;z-index:1900;pointer-events:none}
.finance-fab-layer-v388[hidden]{display:none!important}
.finance-fab-layer-v388.is-open{pointer-events:auto}
.finance-fab-backdrop-v388{position:absolute;inset:0;border:0;background:rgba(10,12,14,.34);opacity:0;transition:opacity .18s ease}
.finance-fab-layer-v388.is-open .finance-fab-backdrop-v388{opacity:1}
.finance-fab-sheet-v388{
  position:absolute;left:12px;right:12px;bottom:calc(var(--mobile-bottom-nav-h,92px) + 12px + env(safe-area-inset-bottom));
  background:#fff;border:1px solid #e0e4e7;border-radius:20px;padding:8px;box-shadow:0 18px 50px rgba(16,18,20,.2);
  transform:translateY(12px);opacity:0;transition:transform .18s ease,opacity .18s ease;
}
.finance-fab-layer-v388.is-open .finance-fab-sheet-v388{transform:none;opacity:1}
.finance-fab-handle-v388{width:34px;height:4px;border-radius:999px;background:#d9dde0;margin:2px auto 6px}
.finance-fab-sheet-v388 a{min-height:48px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:13px;color:#202529;font-size:14px;font-weight:850}
.finance-fab-sheet-v388 a+a{border-top:1px solid #edf0f2;border-radius:0 0 13px 13px}
.finance-fab-sheet-v388 a:active{background:#f3f5f6}
.finance-fab-sheet-v388 a b{font-size:22px;color:#747b81}

@media(max-width:460px){
  .finance-custom-period-v388{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px!important;gap:4px!important;padding:5px!important}
  .finance-custom-period-v388 label>span{font-size:9px!important}
  .finance-custom-period-v388 input[type="date"],.finance-custom-period-v388 .crm-date-shell,.finance-custom-period-v388 .crm-date-trigger{height:37px!important;min-height:37px!important}
  .finance-custom-period-v388 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 28px!important}
  .finance-custom-period-v388 .crm-date-trigger-value{height:37px!important;font-size:12px!important;padding:0 5px!important}
  .finance-custom-period-v388 .crm-date-trigger-caret{width:28px!important;min-width:28px!important;height:37px!important}
  .finance-custom-period-v388>.btn{width:90px!important;min-width:90px!important;height:37px!important;min-height:37px!important;font-size:10.5px!important;padding:0 5px!important}
}
@media(max-width:370px){
  .finance-custom-period-v388{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 82px!important}
  .finance-custom-period-v388>.btn{width:82px!important;min-width:82px!important;font-size:10px!important}
  .finance-custom-period-v388 .crm-date-trigger-value{font-size:11.5px!important}
}

/* v1.6.389 — system online payment state */
.online-paid-badge-v389{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 7px;border-radius:999px;background:#eef2f3;color:#32383d;font-size:10px;font-weight:900;line-height:1;white-space:nowrap;vertical-align:middle}
.online-paid-badge-v389 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.online-paid-badge-v389 .online-paid-check-v389{stroke-width:2.4}
.online-paid-badge-v389.is-compact{width:25px;height:25px;min-height:25px;padding:0;justify-content:center;border-radius:8px}
.online-paid-badge-v389.is-compact svg{width:17px;height:17px}
.week-job-payment-line-v389{display:flex;align-items:center;gap:6px;min-width:0}
.week-job-payment-line-v389 .week-job-total-v293{min-width:0}
.cal-online-paid-v389{position:absolute;right:6px;top:6px;z-index:2}
.public-online-paid-v389{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0;padding:10px 12px;border-radius:14px;background:#f2f4f5;color:#30363a}
.online-paid-outcome-lock-v389{display:grid;gap:12px;padding:22px}
.online-paid-outcome-lock-v389 h2{margin:0}
.online-paid-outcome-lock-v389 p{margin:0;color:#636b71;line-height:1.45}


/* v1.6.390 — supplied settings gear asset */

/* v1.6.391 — corrected black settings gear */


/* v1.6.392 — remove divider/underline above average check in Finance payment methods block */


/* v1.6.393 — finance custom period in a single compact row */
.finance-sr-only-v393{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}
.finance-custom-period-v393{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 92px!important;
  gap:4px!important;
  align-items:center!important;
  padding:5px!important;
}
.finance-custom-period-v393 label{
  display:block!important;
  min-width:0!important;
}
.finance-custom-period-v393 label>span{display:none!important}
.finance-custom-period-v393 .crm-date-shell,
.finance-custom-period-v393 .crm-date-trigger,
.finance-custom-period-v393 input[type="date"]{
  height:37px!important;
  min-height:37px!important;
}
.finance-custom-period-v393 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 28px!important}
.finance-custom-period-v393 .crm-date-trigger-value{height:37px!important;padding:0 6px!important;font-size:12px!important}
.finance-custom-period-v393 .crm-date-trigger-caret{width:28px!important;min-width:28px!important;height:37px!important}
.finance-custom-period-v393>.btn{width:92px!important;min-width:92px!important;height:37px!important;min-height:37px!important;padding:0 8px!important;border-radius:11px!important;font-size:11px!important;align-self:stretch!important}
@media(max-width:460px){
  .finance-custom-period-v393{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 88px!important;gap:4px!important;padding:5px!important}
  .finance-custom-period-v393>.btn{width:88px!important;min-width:88px!important;font-size:10.5px!important}
  .finance-custom-period-v393 .crm-date-trigger-value{font-size:11.8px!important;padding:0 5px!important}
}
@media(max-width:370px){
  .finance-custom-period-v393{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 84px!important}
  .finance-custom-period-v393>.btn{width:84px!important;min-width:84px!important;font-size:10px!important;padding:0 6px!important}
  .finance-custom-period-v393 .crm-date-trigger-value{font-size:11.2px!important}
}


/* v1.6.394 — Expense creation is a full-page mobile flow */


/* v1.6.395 — unified payment and mobile settings dialogs */
.payment-dialog-v395{
  width:min(560px,calc(100vw - 28px))!important;
  border:0!important;
  border-radius:24px!important;
  padding:0!important;
  background:#fff!important;
  color:#17191b!important;
  box-shadow:0 26px 80px rgba(12,14,16,.24)!important;
  overflow:hidden!important;
}
.payment-dialog-v395::backdrop,.lc-notice-dialog-v395::backdrop{
  background:rgba(20,23,25,.56)!important;
  backdrop-filter:blur(2px)!important;
}
.payment-dialog-v395 form{
  display:grid!important;
  gap:14px!important;
  padding:24px!important;
}
.payment-dialog-head-v395{display:block!important}
.payment-dialog-v395 h2{margin:5px 0 5px!important;font-size:31px!important;line-height:1.05!important;letter-spacing:-.02em!important}
.payment-dialog-v395 p{margin:0!important;color:#747b81!important;font-size:13.5px!important;line-height:1.4!important}
.payment-method-grid-v395{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:6px 0 0!important;
}
.payment-method-btn-v395{
  width:100%!important;
  min-width:0!important;
  min-height:70px!important;
  padding:10px 6px!important;
  border:1px solid #dfe3e5!important;
  border-radius:16px!important;
  background:#f8f9f9!important;
  color:#111315!important;
  box-shadow:none!important;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease!important;
}
.payment-method-btn-v395 b{font-size:16px!important;line-height:1.1!important;white-space:nowrap!important}
.payment-method-btn-v395:active{transform:scale(.97)!important;background:#f3f4f4!important}
.payment-cancel-v395{
  justify-self:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#555e64!important;
  font-size:14px!important;
  font-weight:850!important;
}

.lc-notice-dialog-v395{
  width:min(420px,calc(100vw - 30px))!important;
  border:0!important;
  border-radius:22px!important;
  padding:0!important;
  background:transparent!important;
  color:#17191b!important;
  box-shadow:none!important;
}
.lc-notice-card-v395{
  display:grid!important;
  gap:10px!important;
  padding:22px!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(12,14,16,.25)!important;
}
.lc-notice-card-v395 h2{margin:2px 0 0!important;font-size:24px!important;line-height:1.08!important;letter-spacing:-.015em!important}
.lc-notice-card-v395 p{margin:0!important;color:#6b7379!important;font-size:13.5px!important;line-height:1.45!important}
.lc-notice-ok-v395{
  width:100%!important;
  min-height:48px!important;
  margin-top:6px!important;
  border:0!important;
  border-radius:14px!important;
  background:var(--accent)!important;
  color:var(--accent-ink)!important;
  font-size:14px!important;
  font-weight:900!important;
  transition:transform .16s ease,filter .16s ease!important;
}
.lc-notice-ok-v395:active{transform:scale(.985)!important;filter:brightness(.98)!important}

@media(max-width:700px){
  .payment-dialog-v395{width:calc(100vw - 24px)!important;border-radius:22px!important}
  .payment-dialog-v395 form{padding:20px 18px 16px!important;gap:12px!important}
  .payment-dialog-v395 h2{font-size:28px!important}
  .payment-dialog-v395 p{font-size:12.5px!important}
  .payment-method-grid-v395{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .payment-method-btn-v395{min-height:64px!important;padding:8px 4px!important;border-radius:14px!important}
  .payment-method-btn-v395 b{font-size:14px!important}
  .payment-cancel-v395{min-height:40px!important;font-size:13.5px!important}
  .lc-notice-dialog-v395{width:calc(100vw - 28px)!important}
  .lc-notice-card-v395{padding:20px!important}
}
@media(max-width:370px){
  .payment-dialog-v395 form{padding-left:14px!important;padding-right:14px!important}
  .payment-method-grid-v395{gap:5px!important}
  .payment-method-btn-v395 b{font-size:12.5px!important}
}

/* v1.6.396 — finance/payroll/status fixes */
.finance-custom-period-v393 label > span.crm-date-shell{display:block!important}
.finance-custom-period-v393 label > .finance-sr-only-v393{display:none!important}

.finance-payroll-card-v396{
  position:relative;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease;
}
.finance-payroll-card-v396:active{transform:scale(.992)}
.finance-payroll-pay-v396{pointer-events:auto!important;position:relative;z-index:3;min-height:36px!important;height:36px!important;padding:0 14px!important;border-radius:12px!important;font-size:12px!important;font-weight:900!important;overflow:hidden!important}
.finance-payroll-pay-v396:disabled,.finance-payroll-pay-v396.is-disabled{background:#e3e6e8!important;color:#979da2!important;border-color:#e3e6e8!important;box-shadow:none!important;cursor:default!important}
.finance-payroll-pay-v396.is-saved{background:#1f9a5b!important;color:#fff!important}
.finance-payroll-pay-v396 .pay-check-v396{width:24px;height:24px;display:none;align-items:center;justify-content:center;margin:auto}
.finance-payroll-pay-v396.is-saved .pay-label-v396{display:none}
.finance-payroll-pay-v396.is-saved .pay-check-v396{display:flex}
.finance-payroll-pay-v396 .pay-check-v396 svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.finance-payroll-pay-v396.is-saved .pay-check-v396 path{stroke-dasharray:28;stroke-dashoffset:28;animation:financePayCheck396 .42s ease forwards}
@keyframes financePayCheck396{to{stroke-dashoffset:0}}
.booking-undo-target-v396{font-weight:800}


/* v1.6.397 — payroll layout + finance nav arrows */
.finance-subnav-edge-v397.is-left{left:-2px}
.finance-subnav-edge-v397.is-right{right:-2px}

/* v1.6.398 — finance navigation, dependent options and payroll detail. */
.finance-payroll-card-link-v398{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.finance-payroll-card-v396:focus-within{outline:2px solid #d8b200;outline-offset:3px}

/* v1.6.401 — identical report filter field typography and dimensions. */
#financeReportFilterV387 .lc-select-trigger.is-placeholder .lc-select-value{color:#757575!important;opacity:1!important;font-weight:800!important}

/* v1.6.402 — focused finance overview and report hub */.finance-overview-hero-top-v402 strong.is-negative{color:#ffb0a7}.finance-report-main-kpis-v402 b.is-negative{color:#ffb0a7}

/* v1.6.403 — cleaner finance overview and consolidated reports */.finance-available-v403>strong.is-negative{color:#ffb0a7}

/* v1.6.405 — reports are a compact management view, not a second cash ledger. */
.finance-report-view-v405{display:none}.finance-report-view-v405.active{display:grid;gap:10px}.finance-report-main-kpis-v405 b.is-negative{color:#ffb0a7}

/* v1.6.406 — certificates, consistent compact forms and field feedback */
.certificate-status.is-used{background:#eee;color:#666}
[aria-invalid="true"]{outline:2px solid #d92d20!important;outline-offset:1px}
.certificate-payment-fields{padding:14px 0;display:grid;gap:10px}
.certificate-payment-fields[hidden]{display:none}
.certificate-payment-fields label{display:grid;gap:8px;font-size:14px}
.certificate-payment-fields select{width:100%;min-width:0;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff;font:inherit}

/* v1.6.407 — certificate split payments */
.certificate-split-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;font-size:15px}
.certificate-topup-options{border:0;margin:10px 0 0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.certificate-topup-options legend{font-size:14px;margin-bottom:8px}
.certificate-topup-options label{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#f4f4f4;flex:1;white-space:nowrap}
.certificate-topup-options label:has(input:checked){background:var(--accent)}
.certificate-topup-options input{width:auto;accent-color:#171717}


/* v1.6.410 — unified custom period selector across Finance */

/* v1.6.411 — “Мийка окремо”: Finance-style cash hero + Today/Custom period flow */

.wash-period-dialog-v411{
  width:min(430px,calc(100% - 24px))!important;
  max-width:none!important;
  max-height:calc(100dvh - 28px)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.wash-period-dialog-v411::backdrop{background:rgba(8,10,12,.42)!important;backdrop-filter:blur(2px)!important}
.wash-period-dialog-card-v411{display:grid!important;gap:14px!important;background:#fff!important;border-radius:22px!important;padding:16px!important;box-shadow:0 24px 60px rgba(16,18,20,.22)!important}
.wash-period-fields-v411{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:6px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
.wash-period-fields-v411 .crm-date-shell,
.wash-period-fields-v411 .crm-date-trigger,
.wash-period-fields-v411 input[type="date"]{height:44px!important;min-height:44px!important}
.wash-period-fields-v411 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 34px!important;border-radius:12px!important}
.wash-period-fields-v411 .crm-date-trigger-value{height:44px!important;padding:0 9px!important;font-size:12.5px!important}
.wash-period-fields-v411 .crm-date-trigger-caret{width:34px!important;min-width:34px!important;height:44px!important}

@media(max-width:520px){
  .wash-period-dialog-card-v411{padding:14px!important;border-radius:20px!important}
  .wash-period-fields-v411{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:5px!important}
  .wash-period-fields-v411 .crm-date-trigger-value{font-size:11.5px!important;padding:0 6px!important}
}


/* v1.6.412 — Finance custom period now opens exactly like “Мийка окремо” */
.finance-period-dialog-v412{width:min(430px,calc(100% - 24px))!important;max-width:none!important;max-height:calc(100dvh - 28px)!important;padding:0!important;border:0!important;background:transparent!important}
.finance-period-dialog-v412::backdrop{background:rgba(8,10,12,.42)!important;backdrop-filter:blur(2px)!important}
.finance-period-dialog-card-v412{display:grid!important;gap:14px!important;background:#fff!important;border-radius:22px!important;padding:16px!important;box-shadow:0 24px 60px rgba(16,18,20,.22)!important}
.finance-period-fields-v412{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.finance-period-fields-v412 .crm-date-shell,.finance-period-fields-v412 .crm-date-trigger,.finance-period-fields-v412 input[type="date"]{height:44px!important;min-height:44px!important}
.finance-period-fields-v412 .crm-date-trigger{grid-template-columns:minmax(0,1fr) 34px!important;border-radius:12px!important}
.finance-period-fields-v412 .crm-date-trigger-value{height:44px!important;padding:0 9px!important;font-size:12.5px!important}
.finance-period-fields-v412 .crm-date-trigger-caret{width:34px!important;min-width:34px!important;height:44px!important}
@media(max-width:520px){
  .finance-period-dialog-card-v412{padding:14px!important;border-radius:20px!important}
  .finance-period-fields-v412{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:5px!important}
  .finance-period-fields-v412 .crm-date-trigger-value{font-size:11.5px!important;padding:0 6px!important}
}

/* v1.6.413 — phone-first readability for Finance + Wash and brand-yellow primary summary cards. */
/* Primary cards requested in the mobile layouts: use the same brand yellow as the rest of CRM. */

/* Finance overview: keep the equation readable inside the yellow hero instead of leaving black islands. */
.finance-overview-hero-v402 .finance-overview-hero-top-v402 strong.is-negative,
.finance-report-main-kpis-v405 > div.primary b.is-negative{
  color:#8d241d!important;
}

/* Report primary cards. */

/* Debt and expenses primary cards. */

/* Wash primary cash card. */

/* Mobile readability pass: enlarge only small/medium text. Large H1s and primary amounts stay unchanged. */
@media(max-width:760px){
  /* Finance headers and navigation */
  .finance-head-v384 p{font-size:15px!important;line-height:1.35!important}
  .finance-head-v384 .eyebrow{font-size:12px!important}

  /* Overview */

  /* Debts */

  /* Expenses */

  /* Payroll */
  .finance-payroll-pay-v396{font-size:12px!important}

  /* Operations */

  /* Reports */
  /* Keep the already-large primary report number at its current mobile scale. */

  /* Shared custom-period dialog text */
  .finance-period-dialog-card-v412 .eyebrow,
  .wash-period-dialog-card-v411 .eyebrow{font-size:12px!important}
  .finance-period-dialog-card-v412 .wash-dialog-head-v366 h2,
  .wash-period-dialog-card-v411 .wash-dialog-head-v366 h2{font-size:23px!important}
  .finance-period-fields-v412 .crm-date-trigger-value,
  .wash-period-fields-v411 .crm-date-trigger-value{font-size:13px!important}
  .wash-dialog-actions-v366 .btn{font-size:14px!important}

  /* “Мийка окремо” — small/medium copy only. */
  /* Keep the cash amount itself large but not larger than before. */
  .wash-owner-close-note-v368{font-size:13px!important;line-height:1.4!important}
}

@media(max-width:370px){
  /* Keep controls fitting on very narrow phones while still larger than v1.6.412. */
}

/* ===== v1.6.414 — unified typography layer =====
   Each font-size below repeats an earlier rule with the same selector, in the same order,
   but sizes under 17px are mapped to four roles. Change a role in one place (:root).
   Calendar grid selectors (cal-*) keep their original sizes. */
:root{--fs-cap:11px;--fs-sec:12px;--fs-body:15px;--fs-lead:16px;--fs-input:16px}
.eyebrow{font-size:var(--fs-cap)}
.hint{font-size:var(--fs-sec)}
.brand-name{font-size:17px}
.brand-sub{font-size:var(--fs-sec)}
.btn-lg{font-size:var(--fs-lead)}
.booking-card h1,.success-card h1{font-size:clamp(34px,6vw,58px)}
.lead{font-size:17px}
.booking-card h2{font-size:22px}
label{font-size:var(--fs-sec)}
.form-foot{font-size:var(--fs-sec)}
.success-icon{font-size:30px}
.summary-box span{font-size:var(--fs-sec)}
.sidebar-brand b{font-size:var(--fs-body)}
.sidebar-brand span{font-size:var(--fs-cap)}
.sidebar nav a{font-size:var(--fs-body)}
.sidebar nav em{font-size:var(--fs-cap)}
.sidebar-bottom a{font-size:var(--fs-sec)}
.workspace-head h1{font-size:40px}
.stat span{font-size:var(--fs-sec)}
.stat strong{font-size:32px}
.panel-head h2{font-size:22px}
.status{font-size:var(--fs-cap)}
.wizard-bar h1{font-size:clamp(30px,5vw,46px)}
.wizard-back{font-size:22px}
.service-copy b{font-size:18px}
.service-price{font-size:17px}
.service-description{font-size:var(--fs-body)}
.selection-summary span{font-size:var(--fs-sec)}
.selection-summary strong{font-size:19px}
.calendar-head strong{font-size:24px}
.calendar-head button{font-size:27px}
.calendar-weekdays{font-size:12px}
.calendar-day{font-size:16px}
.time-group>span{font-size:var(--fs-body)}
@media(max-width:820px){
.service-copy b{font-size:var(--fs-lead)}
.service-price{font-size:var(--fs-body)}
}
@media(max-width:560px){
.wizard-bar h1{font-size:29px}
.wizard-note{font-size:var(--fs-sec)}
.service-copy b{font-size:var(--fs-body)}
.service-price{font-size:var(--fs-body)}
.service-info-toggle{font-size:var(--fs-sec)}
.service-description{font-size:var(--fs-sec)}
.calendar-head strong{font-size:20px}
}
.booking-v06 .progress-step b{font-size:var(--fs-sec)}
.booking-v06 .progress-step em{font-size:var(--fs-cap)}
.vehicle-card-copy b{font-size:22px}
.vehicle-card-copy small{font-size:var(--fs-sec)}
.vehicle-select-mark{font-size:var(--fs-sec)}
.vehicle-choice-strip span{font-size:var(--fs-cap)}
.vehicle-choice-strip strong{font-size:var(--fs-body)}
.service-section-head span{font-size:var(--fs-lead)}
.service-section-head small{font-size:var(--fs-cap)}
.clean-service-row .service-copy b{font-size:var(--fs-lead)}
.clean-service-row .service-price{font-size:var(--fs-lead)}
.clean-check{font-size:var(--fs-body)}
.clean-info-toggle{font-size:var(--fs-sec)}
.clean-description{font-size:var(--fs-sec)}
@media(max-width:820px){
.vehicle-card-copy b{font-size:19px}
.booking-v06 .progress-step em{font-size:var(--fs-cap)}
}
@media(max-width:560px){
.booking-v06 .progress-step em{font-size:var(--fs-cap)}
.vehicle-card-copy b{font-size:17px}
.vehicle-card-copy small{font-size:var(--fs-cap)}
.clean-service-row .service-copy b{font-size:var(--fs-body)}
.clean-service-row .service-price{font-size:var(--fs-body)}
}
.service-head-copy strong{font-size:17px}
.service-kicker{font-size:var(--fs-cap)}
.common-service-head .service-head-copy strong{font-size:var(--fs-body)}
.common-service-head small{font-size:var(--fs-cap)}
.secondary-service-card .clean-service-row .service-copy b{font-size:var(--fs-body)}
.secondary-service-card .clean-service-row .service-price{font-size:var(--fs-body)}
.secondary-service-card .clean-info-toggle{font-size:var(--fs-cap)}
.secondary-service-card .clean-info-toggle span{font-size:var(--fs-cap)}
.secondary-service-card .clean-description{font-size:var(--fs-sec)}
@media(max-width:560px){
.secondary-service-card .clean-service-row .service-copy b{font-size:var(--fs-body)}
.secondary-service-card .clean-service-row .service-price{font-size:var(--fs-sec)}
}
.login-card h1{font-size:36px}
.user-chip span{font-size:var(--fs-cap)}
.view-switch a{font-size:var(--fs-sec)}
.cal-corner{font-size:12px}
.cal-staff small{font-size:10px}
.cal-time{font-size:11px}
.cal-booking{font-size:11px}
.cal-booking b{font-size:12px}
.empty-mini{font-size:var(--fs-sec)}
.admin-calendar-title h1{font-size:40px}
@media(max-width:700px){
.admin-calendar-title h1{font-size:34px}
}
.calendar-empty-state b{font-size:16px}
.calendar-empty-state span{font-size:13px}
.calendar-save-notice{font-size:13px}
.status-auto-note b{font-size:var(--fs-body)}
.status-auto-note span{font-size:var(--fs-cap)}
.cal-booking em{font-size:9px}
.cal-booking em{font-size:10px}
.status-secondary-actions .btn{font-size:var(--fs-sec)}
.payment-dialog h2{font-size:28px}
.payment-dialog p{font-size:var(--fs-sec)}
.outcome-dialog h2{font-size:26px}
.outcome-dialog p{font-size:var(--fs-sec)}
.cal-lunch-card b{font-size:11px}
.cal-lunch-card span{font-size:10px}
@media(max-width:820px){
input,select,textarea{font-size:var(--fs-lead)}
.mobile-brand b{font-size:var(--fs-sec)}
.mobile-brand small{font-size:var(--fs-cap)}
.mobile-user-name{font-size:var(--fs-sec)}
.mobile-bottom-nav>a,.mobile-bottom-nav>details>summary{font-size:var(--fs-cap)}
.mobile-bottom-nav>a b,.mobile-bottom-nav>details>summary b{font-size:21px}
.mobile-bottom-nav .mobile-nav-new b{font-size:26px}
.mobile-bottom-nav em{font-size:var(--fs-cap)}
.workspace-head h1{font-size:31px}
.workspace-head p{font-size:var(--fs-sec)}
.eyebrow{font-size:var(--fs-cap)}
.panel-head h2{font-size:19px}
.btn-lg{font-size:var(--fs-body)}
.stat span{font-size:var(--fs-cap)}
.stat strong{font-size:25px}
.login-card h1{font-size:31px}
}
@media(max-width:430px){
.workspace-head h1{font-size:28px}
.stat strong{font-size:22px}
.stat span{font-size:var(--fs-cap)}
.mobile-bottom-nav>a,.mobile-bottom-nav>details>summary{font-size:var(--fs-cap)}
}
.mobile-menu-grid>a b{font-size:17px}
.mobile-menu-grid>a span{font-size:var(--fs-cap)}
.cal-create-slot span{font-size:19px}
.cal-create-slot small{font-size:8px}
@media(max-width:760px){
.mobile-menu-grid>a b{font-size:var(--fs-body)}
.mobile-menu-grid>a span{font-size:var(--fs-cap)}
.cal-staff b{font-size:10px}
.cal-staff small{font-size:8px}
.cal-time{font-size:9px}
.cal-booking{font-size:9px}
.cal-booking b{font-size:9px}
.cal-booking span,.cal-booking small{font-size:8px}
.cal-booking em{font-size:7px}
}
.cal-lunch-card b{font-size:9px}
.cal-lunch-card span{font-size:8px}
@media(max-width:760px){
.cal-corner{font-size:8px!important}
}
.cal-create-slot span{font-size:24px!important}
@media(max-width:760px){
.cal-create-slot span{font-size:23px!important}
}
.current-time-badge{font-size:var(--fs-cap)}
@media(max-width:760px){
.current-time-badge{font-size:var(--fs-cap)}
.mobile-bottom-nav .mobile-nav-new b{font-size:26px!important}
}
@media(max-width:760px){
.current-time-badge{font-size:var(--fs-cap) !important}
}
.calendar-action-sheet-head small{font-size:11px}
.calendar-action-sheet-head b{font-size:15px}
.calendar-action-close{font-size:22px}
.calendar-action-sheet-actions a,.calendar-action-sheet-actions button{font-size:14px}
.calendar-action-sheet-actions #calendar-action-break-form button{font-size:12px!important}
@media(max-width:760px){
.mobile-bottom-nav .mobile-nav-new b{font-size:31px!important}
}
@media(max-width:760px){
.view-switch a{font-size:var(--fs-cap) !important}
.admin-calendar-title h1{font-size:26px!important}
}
.no-slots-waitlist>b{font-size:var(--fs-lead)}
.no-slots-waitlist>span{font-size:var(--fs-sec)}
.waitlist-success-card h1{font-size:34px}
.waitlist-success-icon{font-size:28px}
.sidebar-brand.sidebar-brand-premium span{font-size:var(--fs-cap)}
.waitlist-add-panel>summary>b,.waitlist-add-panel>summary span>b{font-size:var(--fs-lead)}
.waitlist-add-panel>summary i{font-size:20px}
.waitlist-service-field{font-size:var(--fs-sec)}
.waitlist-service-choice{font-size:var(--fs-sec)}
.waitlist-note{font-size:var(--fs-cap)}
@media(max-width:820px){
.mobile-top-menu{font-size:18px}
.mobile-bottom-nav.mobile-bottom-nav-five>a{font-size:var(--fs-cap)}
.mobile-bottom-nav.mobile-bottom-nav-five>a b{font-size:21px}
.mobile-bottom-nav.mobile-bottom-nav-five .mobile-nav-new b{font-size:31px!important}
}
@media(max-width:390px){
.mobile-top-menu{font-size:17px}
}
@media(max-width:820px){
.mobile-bottom-nav.mobile-bottom-nav-five>a{font-size:var(--fs-cap)}
.mobile-bottom-nav.mobile-bottom-nav-five .mobile-nav-new b{font-size:31px!important}
}
@media(max-width:390px){
.mobile-bottom-nav.mobile-bottom-nav-five>a{font-size:var(--fs-cap)}
}
@media(max-width:760px){
.view-switch a{font-size:var(--fs-cap) !important}
}
@media(max-width:820px){
.waitlist-add-panel>summary i,.waitlist-chevron{font-size:var(--fs-body) !important}
}
.waitlist-chevron{font-size:0}
.calendar-head button{font-size:0}
.triangle-glyph.down{font-size:var(--fs-sec)}
.triangle-glyph.left,.triangle-glyph.right{font-size:var(--fs-body)}
.waitlist-chevron{font-size:var(--fs-sec) !important}
.calendar-head button{font-size:0}
@media(max-width:820px){
.triangle-glyph.down{font-size:var(--fs-cap)}
.triangle-glyph.left,.triangle-glyph.right{font-size:var(--fs-sec)}
}
.native-field-caret,
.waitlist-chevron{font-size:0!important}
.triangle-glyph.down{font-size:0!important}
.task-check{font-size:17px}
.waitlist-dialog-head h2{font-size:22px}
.waitlist-dialog-close{font-size:26px}
@media(max-width:560px){
.booking-v06 .wizard-step[data-step="calendar"] .wizard-bar h1{font-size:27px!important}
.booking-v06 .wizard-step[data-step="calendar"] .wizard-note{font-size:11.5px!important}
.booking-v06 .calendar-head strong{font-size:18px!important}
.booking-v06 .calendar-weekdays{font-size:10px!important}
.booking-v06 .calendar-day{font-size:14px!important}
.booking-v06 .time-empty{font-size:var(--fs-sec) !important}
.booking-v06 .time-group>span{font-size:var(--fs-sec) !important}
.booking-v06 .time-chips button{font-size:var(--fs-sec) !important}
}
.lc-select-option{font-size:var(--fs-body)}
@media(max-width:820px){
.lc-select-option{font-size:var(--fs-body)}
}
.cal-additional-badge{font-size:7px!important}
.cal-create-slot.calendar-cell-action.is-overlap-create span{font-size:18px!important}
.week-additional-badge{font-size:var(--fs-cap)}
.cal-create-slot.calendar-cell-action.is-overlap-create span{font-size:24px!important}
.cal-cell > .cal-create-slot.calendar-cell-action span,
.cal-create-slot.calendar-cell-action.is-overlap-create span{font-size:19px!important}
.master-availability-head h2{font-size:20px}
.master-availability-person b{font-size:var(--fs-sec)}
.master-availability-person small{font-size:var(--fs-cap)}
.availability-state-label{font-size:var(--fs-cap)}
.availability-slot-links a,.availability-summary-text{font-size:var(--fs-cap)}
@media(max-width:700px){
.master-availability-head h2{font-size:18px}
.master-availability-person b{font-size:var(--fs-sec)}
.master-availability-person small{font-size:var(--fs-cap)}
.availability-state-label{font-size:var(--fs-cap)}
.availability-slot-links a,.availability-summary-text{font-size:var(--fs-cap)}
}
.availability-date-caret{font-size:var(--fs-cap) !important}
@media(max-width:700px){
.availability-date-caret{font-size:var(--fs-cap) !important}
}
.availability-date-caret{font-size:var(--fs-cap) !important}
@media(max-width:700px){
.availability-date-caret{font-size:var(--fs-cap) !important}
}
.availability-slot-short{font-size:var(--fs-cap)}
@media(max-width:700px){
.availability-slot-short{font-size:var(--fs-cap)}
}
.availability-date-caret{font-size:var(--fs-cap) !important}
.availability-date-trigger-value{font-size:var(--fs-cap) !important}
.availability-date-dialog-head strong{font-size:17px!important}
.availability-date-weekdays span{font-size:var(--fs-cap) !important}
.availability-date-day{font-size:var(--fs-sec) !important}
@media(max-width:700px){
.availability-date-trigger-value{font-size:var(--fs-cap) !important}
}
.crm-date-trigger-value{font-size:var(--fs-body) !important}
@media(max-width:820px){
.master-availability-head .eyebrow{font-size:var(--fs-cap) !important}
.master-availability-head h2{font-size:22px!important}
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-sec) !important}
.today-bookings-panel .eyebrow{font-size:var(--fs-cap) !important}
.today-bookings-panel .panel-head h2{font-size:23px!important}
}
@media(max-width:390px){
.master-availability-head h2{font-size:21px!important}
.master-availability-person b{font-size:var(--fs-sec) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
.person-avatar-xs{font-size:var(--fs-cap)}
.person-avatar-sm{font-size:var(--fs-sec)}
.person-avatar-md{font-size:var(--fs-sec)}
@media(max-width:700px){
.cal-staff-person .person-avatar-xs{font-size:10px}
}
@media(max-width:820px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:390px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:820px){
.master-availability-head h2{font-size:18px!important}
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:390px){
.master-availability-head h2{font-size:17px!important}
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.master-availability-person b{font-size:var(--fs-sec) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:820px){
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-sec) !important}
}
@media(max-width:390px){
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:820px){
.today-bookings-panel .eyebrow{font-size:var(--fs-cap) !important}
.today-bookings-panel .panel-head h2{font-size:21px!important}
}
@media(max-width:390px){
.today-bookings-panel .panel-head h2{font-size:20px!important}
}
@media(max-width:760px){
.mobile-menu-grid>a b{font-size:18px!important}
.mobile-menu-grid>a span{font-size:var(--fs-sec) !important}
}
@media(max-width:420px){
.mobile-menu-grid>a b{font-size:18px!important}
.mobile-menu-grid>a span{font-size:var(--fs-sec) !important}
}
@media(max-width:820px){
.waitlist-list-panel .panel-head h2{font-size:18px!important}
.waitlist-list-panel .count-pill{font-size:18px!important}
.waitlist-admin-card .request-top{font-size:var(--fs-cap) !important}
.waitlist-admin-card h3{font-size:17px!important}
.waitlist-admin-card .services-line{font-size:var(--fs-sec) !important}
.waitlist-admin-card .meta-grid span{font-size:var(--fs-cap) !important}
.waitlist-admin-card .meta-grid b{font-size:var(--fs-sec) !important}
.waitlist-admin-card .waitlist-note{font-size:var(--fs-cap) !important}
.waitlist-admin-card .card-actions .btn{font-size:var(--fs-sec) !important}
}
@media(max-width:420px){
.waitlist-admin-card h3{font-size:var(--fs-lead) !important}
.waitlist-admin-card .services-line{font-size:var(--fs-sec) !important}
.waitlist-admin-card .meta-grid b{font-size:var(--fs-sec) !important}
.waitlist-admin-card .waitlist-note{font-size:var(--fs-cap) !important}
.waitlist-admin-card .card-actions .btn{font-size:var(--fs-sec) !important}
}
@media(max-width:820px){
.waitlist-list-panel .panel-head h2{font-size:22px!important}
.waitlist-list-panel .count-pill{font-size:var(--fs-lead) !important}
.waitlist-admin-card .request-top{font-size:var(--fs-cap) !important}
.waitlist-admin-card h3{font-size:20px!important}
.waitlist-admin-card .services-line{font-size:var(--fs-sec) !important}
.waitlist-admin-card .meta-grid span{font-size:var(--fs-cap) !important}
.waitlist-admin-card .meta-grid b{font-size:var(--fs-lead) !important}
.waitlist-admin-card .waitlist-note{font-size:var(--fs-cap) !important}
.waitlist-admin-card .card-actions .btn{font-size:var(--fs-lead) !important}
}
@media(max-width:420px){
.waitlist-admin-card h3{font-size:20px!important}
.waitlist-admin-card .services-line{font-size:var(--fs-sec) !important}
.waitlist-admin-card .meta-grid b{font-size:var(--fs-lead) !important}
.waitlist-admin-card .waitlist-note{font-size:var(--fs-cap) !important}
.waitlist-admin-card .card-actions .btn{font-size:var(--fs-lead) !important}
}
.waitlist-list-panel .count-pill{font-size:18px!important}
@media(max-width:820px){
.waitlist-list-panel .count-pill{font-size:17px!important}
}
@media(max-width:390px){
.waitlist-list-panel .count-pill{font-size:var(--fs-lead) !important}
}
.invoice-share-dialog h2{font-size:28px}
.invoice-share-dialog p{font-size:var(--fs-sec)}
.invoice-share-shell-v125 h2{font-size:27px}
.invoice-share-format-card-v125 b{font-size:var(--fs-lead)}
.invoice-share-format-card-v125 span{font-size:var(--fs-sec)}
.invoice-share-stage-note-v125{font-size:var(--fs-sec)}
.invoice-share-stage-note-v125 b{font-size:var(--fs-sec)}
.invoice-share-stage-note-v125{font-size:var(--fs-sec)}
.invoice-share-messenger-icons-v137 b{font-size:var(--fs-body)}
.invoice-share-messenger-icons-v137 .share-row-chevron{font-size:25px}
.clean-discount-summary-v142 .is-total span{font-size:var(--fs-sec)}
.clean-discount-summary-v142 .is-total b{font-size:20px}
@media(max-width:560px){
.clean-discount-summary-v142 .is-total b{font-size:19px}
}
.booking-detail-clean .status-control-v146 .eyebrow{font-size:var(--fs-cap) !important}
.booking-detail-clean .status-primary-icon-v146{font-size:22px}
.booking-detail-clean .status-primary-v146>b,
.booking-detail-clean .status-ready-label-v146>b{font-size:22px}
.booking-detail-clean .status-primary-copy-v146 b{font-size:17px}
.booking-detail-clean .status-primary-copy-v146 small{font-size:var(--fs-cap)}
.booking-detail-clean .status-paid-chip-v146{font-size:var(--fs-body)}
.booking-detail-clean .status-secondary-v146 .btn{font-size:var(--fs-sec) !important}
.booking-detail-clean .status-secondary-icon-v146{font-size:18px}
.booking-detail-clean .status-secondary-icon-v146.refused{font-size:var(--fs-body)}
.booking-detail-clean .status-secondary-icon-v146.cancel{font-size:20px}
.booking-detail-clean .clean-discount-summary-v142 .is-total span{font-size:var(--fs-body) !important}
.booking-detail-clean .clean-discount-summary-v142 .is-total b{font-size:23px!important}
@media(max-width:700px){
.booking-detail-clean .status-primary-icon-v146{font-size:20px!important}
.booking-detail-clean .status-primary-v146>b,
  .booking-detail-clean .status-ready-label-v146>b{font-size:20px!important}
.booking-detail-clean .status-paid-chip-v146{font-size:var(--fs-sec) !important}
.booking-detail-clean .status-secondary-v146 .btn{font-size:var(--fs-sec) !important}
.booking-detail-clean .status-secondary-icon-v146{font-size:var(--fs-lead) !important}
}
@media(max-width:390px){
.booking-detail-clean .status-primary-v146>b,
  .booking-detail-clean .status-ready-label-v146>b{font-size:18px!important}
.booking-detail-clean .status-paid-chip-v146{font-size:var(--fs-sec) !important}
.booking-detail-clean .status-secondary-v146 .btn{font-size:var(--fs-cap) !important}
}
.add-service-head-v147 .eyebrow{font-size:var(--fs-cap)}
.add-service-head-v147 h2{font-size:25px}
.add-service-close-v147{font-size:28px}
.add-service-search-v147>span{font-size:21px}
.add-service-search-v147 input{font-size:var(--fs-body)}
.add-service-copy-v147 b{font-size:var(--fs-body)}
.add-service-copy-v147 small{font-size:var(--fs-cap)}
.add-service-price-v147{font-size:var(--fs-sec)}
.add-service-plus-v147{font-size:21px}
.add-service-empty-v147{font-size:var(--fs-sec)}
@media(max-width:700px){
.add-service-head-v147 h2{font-size:23px}
.add-service-copy-v147 b{font-size:var(--fs-sec)}
.add-service-price-v147{font-size:var(--fs-sec)}
.add-service-plus-v147{font-size:19px}
}
@media(max-width:390px){
.booking-detail-clean .status-secondary-v146 .btn{font-size:var(--fs-cap) !important}
.add-service-copy-v147 b{font-size:var(--fs-sec)}
.add-service-price-v147{font-size:var(--fs-cap)}
}
.booking-detail-clean .status-ready-inactive-v153>b{font-size:22px!important}
@media(max-width:700px){
.booking-detail-clean .status-ready-inactive-v153>b{font-size:18px!important}
.booking-detail-clean .status-paid-action-v153,.booking-detail-clean .status-paid-done-v153{font-size:var(--fs-sec) !important}
}
.booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153{font-size:var(--fs-body) !important}
@media(max-width:700px){
.booking-detail-clean .status-ready-combined-v153 .status-paid-action-v153{font-size:var(--fs-sec) !important}
}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-lead) !important}
@media(max-width:760px){
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-body) !important}
}
@media(max-width:390px){
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-body) !important}
}

.booking-detail-clean .booking-hero-copy .status.status-in_progress,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-body) !important}
@media(max-width:760px){

  .booking-detail-clean .booking-hero-copy .status.status-in_progress,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-body) !important}
}
@media(max-width:390px){

  .booking-detail-clean .booking-hero-copy .status.status-in_progress,
  .booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-in_progress{font-size:var(--fs-sec) !important}
}
@media(max-width:820px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media(max-width:390px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-summary-text,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
.today-bookings-v182-head h2{font-size:clamp(22px,4.2vw,34px)}
.today-bookings-v182-switch a{font-size:var(--fs-sec)}
.today-booking-v182-time strong{font-size:21px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-customer{font-size:17px}
.today-booking-v182-status{font-size:var(--fs-sec)}
.today-booking-v182-carline span{font-size:var(--fs-body)}
.today-booking-v182-service{font-size:var(--fs-body)}
.today-booking-v182-additional{font-size:var(--fs-cap)}
@media (max-width: 760px){
.today-bookings-v182-head h2{font-size:28px}
.today-bookings-v182-all{font-size:var(--fs-sec)}
.today-booking-v182-time strong{font-size:19px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-customer{font-size:var(--fs-lead)}
.today-booking-v182-status{font-size:var(--fs-sec)}
.today-booking-v182-carline span,
  .today-booking-v182-service{font-size:var(--fs-body)}
}
@media (max-width: 520px){
.today-bookings-v182-head h2{font-size:24px}
.today-bookings-v182-all{font-size:var(--fs-sec)}
.today-booking-v182-time strong{font-size:18px}
}
.today-booking-v182-time strong{font-size:20px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-time.is-all-day strong{font-size:17px}
.today-booking-v182-customer{font-size:17px}
.today-booking-v182-carline span{font-size:var(--fs-body)}
.today-booking-v182-service{font-size:var(--fs-body)}
.today-booking-v182-additional{font-size:var(--fs-cap)}
.today-booking-v182-status{font-size:var(--fs-sec)}
@media (max-width:760px){
.today-booking-v182-time strong{font-size:18px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-time.is-all-day strong{font-size:var(--fs-lead)}
.today-booking-v182-customer{font-size:var(--fs-lead)}
.today-booking-v182-carline span,.today-booking-v182-service{font-size:var(--fs-body)}
.today-booking-v182-status{font-size:var(--fs-sec)}
}
@media (max-width:520px){
.today-booking-v182-time strong{font-size:17px}
.today-booking-v182-time.is-all-day strong{font-size:var(--fs-body)}
.today-booking-v182-customer{font-size:var(--fs-body)}
.today-booking-v182-carline span,.today-booking-v182-service{font-size:var(--fs-sec)}
.today-booking-v182-status{font-size:var(--fs-sec)}
}
.today-booking-v182-time strong{font-size:18px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-time.is-all-day strong,
.today-booking-v182-time.is-all-day span{font-size:var(--fs-lead)}
.today-booking-v182-customer{font-size:var(--fs-body)}
.today-booking-v182-carline span{font-size:var(--fs-body)}
.today-booking-v182-service{font-size:var(--fs-sec)}
.today-booking-v182-additional{font-size:var(--fs-cap)}
.today-booking-v182-status{font-size:var(--fs-sec)}
@media (max-width:760px){
.today-booking-v182-time strong{font-size:17px}
.today-booking-v182-time span{font-size:var(--fs-sec)}
.today-booking-v182-time.is-all-day strong,
  .today-booking-v182-time.is-all-day span{font-size:var(--fs-body)}
.today-booking-v182-customer{font-size:var(--fs-body)}
.today-booking-v182-carline span{font-size:var(--fs-sec)}
.today-booking-v182-service{font-size:var(--fs-sec)}
.today-booking-v182-status{font-size:var(--fs-sec)}
}
@media (max-width:520px){
.today-booking-v182-time strong{font-size:var(--fs-lead)}
.today-booking-v182-time span{font-size:var(--fs-cap)}
.today-booking-v182-time.is-all-day strong,
  .today-booking-v182-time.is-all-day span{font-size:var(--fs-body)}
.today-booking-v182-customer{font-size:var(--fs-sec)}
.today-booking-v182-carline span{font-size:var(--fs-sec)}
.today-booking-v182-service{font-size:var(--fs-sec)}
.today-booking-v182-status{font-size:var(--fs-cap)}
}
.availability-date-trigger-value{font-size:var(--fs-body) !important}
@media (max-width:760px){
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
}
@media (max-width:520px){
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
.today-bookings-v182-head h2{font-size:17px}
.today-bookings-v182-all{font-size:var(--fs-sec)}
.today-booking-v182-status{font-size:var(--fs-cap)}
}
@media (max-width:520px){
.today-booking-v182-status{font-size:var(--fs-cap) !important}
}
@media (max-width:820px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
.availability-summary-text{font-size:var(--fs-sec) !important}
}
@media (max-width:390px){
.master-availability-person b{font-size:var(--fs-body) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
.availability-summary-text{font-size:var(--fs-sec) !important}
}
@media (max-width:820px){
.master-availability-person b{font-size:var(--fs-sec) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
.availability-summary-text{font-size:var(--fs-cap) !important}
}
@media (max-width:390px){
.master-availability-person b{font-size:var(--fs-sec) !important}
.master-availability-person small{font-size:var(--fs-cap) !important}
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
.availability-summary-text{font-size:var(--fs-cap) !important}
}
.availability-date-trigger-value{font-size:var(--fs-sec) !important}
@media(max-width:390px){
.availability-date-trigger-value{font-size:var(--fs-cap) !important}
}
.today-bookings-v182-all{font-size:var(--fs-sec) !important}
@media(max-width:520px){
.today-bookings-v182-all{font-size:var(--fs-cap) !important}
}
@media(max-width:390px){
.today-bookings-v182-all{font-size:var(--fs-cap) !important}
}
.today-bookings-v182-all{font-size:var(--fs-sec) !important}
@media(max-width:390px){
.today-bookings-v182-all{font-size:var(--fs-cap) !important}
}
.today-booking-v182-status{font-size:var(--fs-sec) !important}
.today-booking-v182-status.status-closed i::before{font-size:var(--fs-lead)}
.today-booking-v182-status.status-cancelled i::before{font-size:var(--fs-body)}
.today-booking-v182-status.status-client_refused i::before{font-size:18px}
.today-booking-v182-status.status-no_show i::before{font-size:var(--fs-sec)}
.today-booking-v182-status.status-rejected i::before{font-size:var(--fs-body)}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-closed::before{font-size:18px!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-cancelled::before{font-size:var(--fs-lead) !important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-client_refused::before{font-size:19px!important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-no_show::before{font-size:var(--fs-body) !important}
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy .status.status-rejected::before{font-size:var(--fs-body) !important}
@media(max-width:760px){
.today-booking-v182-status{font-size:var(--fs-sec) !important}
.today-booking-v182-status.status-closed i::before{font-size:var(--fs-body)}
}
.today-booking-v182-status.status-client_refused i::before{font-size:var(--fs-lead) !important}
.today-booking-v182-status.status-no_show i::before{font-size:var(--fs-cap) !important}
.booking-detail-clean .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-closed::before,
.booking-detail-clean .clean-booking-title > .status.status-closed::before{font-size:18px!important}
.booking-detail-clean .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-cancelled::before,
.booking-detail-clean .clean-booking-title > .status.status-cancelled::before{font-size:var(--fs-lead) !important}
.booking-detail-clean .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-client_refused::before,
.booking-detail-clean .clean-booking-title > .status.status-client_refused::before{font-size:18px!important}
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{font-size:var(--fs-sec) !important}
.booking-detail-clean .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-rejected::before,
.booking-detail-clean .clean-booking-title > .status.status-rejected::before{font-size:var(--fs-body) !important}
.week-job-car{font-size:17px}
.week-job-client{font-size:var(--fs-body)}
.week-job-service{font-size:var(--fs-sec)}
@media(max-width:700px){
.week-job-car{font-size:var(--fs-lead)}
.week-job-client{font-size:var(--fs-body)}
.week-job-service{font-size:var(--fs-sec)}
}
.service-remove-icon-v214{font-size:28px}
.service-remove-sheet-v214 h2{font-size:24px}
.service-remove-sheet-v214 p{font-size:var(--fs-sec)}
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{font-size:var(--fs-body) !important}
.booking-detail-clean .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-confirmed::before,
.booking-detail-clean .clean-booking-title > .status.status-confirmed::before,
.booking-detail-clean .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-time_proposed::before,
.booking-detail-clean .clean-booking-title > .status.status-time_proposed::before,
.booking-detail-clean .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-in_progress::before,
.booking-detail-clean .clean-booking-title > .status.status-in_progress::before,
.booking-detail-clean .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-vehicle_received::before,
.booking-detail-clean .clean-booking-title > .status.status-vehicle_received::before,
.booking-detail-clean .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-ready::before,
.booking-detail-clean .clean-booking-title > .status.status-ready::before,
.booking-detail-clean .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-completed::before,
.booking-detail-clean .clean-booking-title > .status.status-completed::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending::before,
.booking-detail-clean .clean-booking-title > .status.status-pending::before,
.booking-detail-clean .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-pending_reconfirm::before,
.booking-detail-clean .clean-booking-title > .status.status-pending_reconfirm::before,
.booking-detail-clean .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .booking-hero-main-v147 .booking-hero-copy > .status.status-no_show::before,
.booking-detail-clean .clean-booking-title > .status.status-no_show::before{font-size:0!important}
.calendar-view-switch-v220 a{font-size:12px!important}
@media(max-width:820px){
.admin-calendar-head-v220 .admin-calendar-title .eyebrow{font-size:8.5px!important}
.admin-calendar-head-v220 .admin-calendar-title h1{font-size:27px!important}
.calendar-view-switch-v220 a{font-size:11px!important}
}
@media(max-width:390px){
.calendar-view-switch-v220 a{font-size:10.5px!important}
}
.calendar-return-today-v221{font-size:8.5px!important}
@media(max-width:820px){
.calendar-return-today-v221{font-size:8px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .admin-calendar-head .admin-calendar-title h1{font-size:32px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-staff b{font-size:10.5px!important}
.calendar-mobile-clean-v222 .cal-staff small{font-size:8.3px!important}
.calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{font-size:10.5px!important}
.calendar-mobile-clean-v222 .cal-time[data-slot$=":30"]{font-size:9px!important}
.calendar-mobile-clean-v222 .cal-booking{font-size:9.4px!important}
.calendar-mobile-clean-v222 .cal-booking b{font-size:10px!important}
.calendar-mobile-clean-v222 .cal-booking span,
  .calendar-mobile-clean-v222 .cal-booking small{font-size:8.6px!important}
.calendar-mobile-clean-v222 .cal-booking em{font-size:7.8px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{font-size:13.5px!important}
.calendar-mobile-clean-v222 .cal-time[data-slot$=":30"]{font-size:9px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .week-day .panel-head h2{font-size:18px!important}
}
.cal-date-weekday-v228{font-size:13px!important}
.cal-date-short-v228{font-size:16px!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-date-weekday-v228{font-size:12px!important}
.calendar-mobile-clean-v222 .cal-date-short-v228{font-size:16px!important}
}
.calendar-title-v230 span{font-size:.56em!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .calendar-title-v230 span{font-size:17px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .calendar-title-v230 span{font-size:15.5px!important}
}
.cal-booking-client-v235{font-size:14px!important}
.cal-booking-price-v235{font-size:10px!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:10.5px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11.4px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:8.5px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:8.7px!important}
}
.waitlist-book-head-v237 h2{font-size:25px}
.waitlist-book-close-v237{font-size:27px}
.waitlist-book-summary-v237 strong{font-size:17px}
.waitlist-book-summary-v237 span{font-size:var(--fs-sec)}
.waitlist-book-summary-v237 small{font-size:var(--fs-sec)}
.waitlist-book-date-v237 span{font-size:var(--fs-sec)}
.waitlist-book-date-v237 b{font-size:var(--fs-body)}
.waitlist-book-field-v237{font-size:var(--fs-sec)}
.waitlist-book-field-v237 select{font-size:17px!important}
.waitlist-book-hint-v237{font-size:var(--fs-sec)}
.waitlist-book-submit-v237{font-size:17px!important}
@media(max-width:820px){
.waitlist-book-head-v237 h2{font-size:24px}
.waitlist-book-summary-v237 strong{font-size:17px}
.waitlist-book-summary-v237 span{font-size:var(--fs-sec)}
.waitlist-book-summary-v237 small{font-size:var(--fs-cap)}
.waitlist-book-field-v237 select{font-size:17px!important}
}
@media(max-width:390px){
.waitlist-actions-v237 .btn{font-size:var(--fs-body) !important}
}
.week-job-total-v244{font-size:var(--fs-cap)}
@media(max-width:700px){
.week-job-total-v244{font-size:var(--fs-cap)}
}
.week-day-name-full-v246{font-size:var(--fs-cap) !important}
@media(max-width:700px){
.week-day-name-full-v246{font-size:var(--fs-cap) !important}
}
.week-day-name-full-v247{font-size:17px!important}
.week-day-date-v247{font-size:var(--fs-body) !important}
@media(max-width:700px){
.week-day-name-full-v247{font-size:17px!important}
.week-day-date-v247{font-size:var(--fs-body) !important}
}
@media(max-width:420px){
.week-day-name-full-v247{font-size:var(--fs-lead) !important}
.week-day-date-v247{font-size:var(--fs-sec) !important}
}
.week-day-name-full-v247{font-size:20px!important}
.week-day-date-v247{font-size:18px!important}
@media(max-width:700px){
.week-day-name-full-v247{font-size:19px!important}
.week-day-date-v247{font-size:17px!important}
}
@media(max-width:420px){
.week-day-name-full-v247{font-size:18px!important}
.week-day-date-v247{font-size:var(--fs-lead) !important}
}
.calendar-lunch-cancel-card-v249 h3{font-size:26px!important}
.calendar-lunch-cancel-card-v249 p{font-size:15px!important}
.calendar-lunch-cancel-actions-v249 .btn{font-size:15px!important}
@media(max-width:520px){
.calendar-lunch-cancel-card-v249 h3{font-size:24px!important}
}
.cal-staff-v228 b{font-size:14px!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-staff-v228 b{font-size:12.5px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-staff-v228 b{font-size:12px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.3px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.2px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.1px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.6px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.8px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:11.8px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:8.9px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.4px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.4px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.7px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.7px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.5px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.9px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:10.1px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.4px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.3px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.2px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.7px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.8px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:12px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:13.1px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.6px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9.2px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:10.2px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.7px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:12.7px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.3px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:8.9px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:9.9px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:12.1px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:13.5px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:10px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9.3px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 b{font-size:11.8px!important}
.calendar-mobile-clean-v222 .cal-booking-client-v235{font-size:13.1px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 small{font-size:9.6px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9px!important}
}
.cal-booking-hour-v235 > .cal-booking-car-v262{font-size:13.2px!important}
.cal-booking-hour-v235 > .cal-booking-client-v262{font-size:12.5px!important}
.cal-booking-hour-v235 > .cal-booking-service-v262{font-size:11.8px!important}
@media(max-width:390px){
.cal-booking-hour-v235 > .cal-booking-car-v262{font-size:13px!important}
.cal-booking-hour-v235 > .cal-booking-client-v262{font-size:12.3px!important}
.cal-booking-hour-v235 > .cal-booking-service-v262{font-size:11.6px!important}
}
.cal-staff-copy-v263 b{font-size:13.5px!important}
.cal-staff-copy-v263 small{font-size:10px!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-staff-copy-v263 b{font-size:13.7px!important}
.calendar-mobile-clean-v222 .cal-staff-copy-v263 small{font-size:10.1px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-staff-copy-v263 b{font-size:12.6px!important}
.calendar-mobile-clean-v222 .cal-staff-copy-v263 small{font-size:9.3px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .calendar-view-switch-inline-v264 a{font-size:11.5px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .calendar-view-switch-inline-v264 a{font-size:10.8px!important}
}
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-car-v262{font-size:12.4px!important}
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-client-v262{font-size:11.8px!important}
.cal-booking-hour-v235.cal-card-fit-1 > .cal-booking-service-v262{font-size:10.8px!important}
.cal-booking-hour-v235.cal-card-fit-1 .cal-booking-meta-v235 em{font-size:8.5px!important}
.cal-booking-hour-v235.cal-card-fit-1 .cal-booking-price-v235{font-size:9.6px!important}
.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-car-v262{font-size:11.6px!important}
.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-client-v262{font-size:11px!important}
.cal-booking-hour-v235.cal-card-fit-2 > .cal-booking-service-v262{font-size:10px!important}
.cal-booking-hour-v235.cal-card-fit-2 .cal-booking-meta-v235 em{font-size:8.1px!important}
.cal-booking-hour-v235.cal-card-fit-2 .cal-booking-price-v235{font-size:9.2px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-car-v262{font-size:10.8px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-client-v262{font-size:10.3px!important}
.cal-booking-hour-v235.cal-card-fit-3 > .cal-booking-service-v262{font-size:9.3px!important}
.cal-booking-hour-v235.cal-card-fit-3 .cal-booking-meta-v235 em{font-size:7.8px!important}
.cal-booking-hour-v235.cal-card-fit-3 .cal-booking-price-v235{font-size:8.8px!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-car-v262{font-size:10px!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-client-v262{font-size:9.6px!important}
.cal-booking-hour-v235.cal-card-fit-4 > .cal-booking-service-v262{font-size:8.6px!important}
.cal-booking-hour-v235.cal-card-fit-4 .cal-booking-meta-v235 em{font-size:7.4px!important}
.cal-booking-hour-v235.cal-card-fit-4 .cal-booking-price-v235{font-size:8.4px!important}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-lunch-card b{font-size:13px!important}
.calendar-mobile-clean-v222 .cal-lunch-card span{font-size:11px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-lunch-card b{font-size:12.4px!important}
.calendar-mobile-clean-v222 .cal-lunch-card span{font-size:10.6px!important}
}
@media(max-width:820px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-car-v262{font-size:13.4px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-client-v262{font-size:13.1px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-service-v262{font-size:12.5px!important}
.calendar-mobile-clean-v222 .cal-booking-meta-v235 em{font-size:9.5px!important}
.calendar-mobile-clean-v222 .cal-booking-price-v235{font-size:10.2px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-car-v262{font-size:13.4px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-client-v262{font-size:13.1px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-service-v262{font-size:12.5px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] .cal-booking-meta-v235 em{font-size:9.5px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] .cal-booking-price-v235{font-size:10.2px!important}
}
@media(max-width:390px){
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-car-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-car-v262{font-size:13.2px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-client-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-client-v262{font-size:12.9px!important}
.calendar-mobile-clean-v222 .cal-booking-hour-v235 > .cal-booking-service-v262,
  .calendar-mobile-clean-v222 .cal-booking-hour-v235[class*="cal-card-fit-"] > .cal-booking-service-v262{font-size:12.2px!important}
}
@media (max-width: 820px){
.master-availability-person-main b{font-size:18px !important}
.master-availability-person-main small{font-size:var(--fs-sec) !important}
.today-booking-v182-customer{font-size:17px !important}
}
@media (max-width: 520px){
.master-availability-person-main b{font-size:17px !important}
.master-availability-person-main small{font-size:var(--fs-sec) !important}
.today-booking-v182-customer{font-size:var(--fs-lead) !important}
}
@media (max-width: 820px){
.availability-slot-links a,
  .availability-summary-text{font-size:var(--fs-sec) !important}
}
@media (max-width: 520px){
.availability-slot-links a,
  .availability-summary-text{font-size:var(--fs-sec) !important}
}
@media (max-width:820px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
.availability-summary-text{font-size:var(--fs-sec) !important}
}
@media (max-width:390px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:820px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:390px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:820px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:390px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:820px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:390px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-cap) !important}
}
@media (max-width:820px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-sec) !important}
}
@media (max-width:390px){
.availability-slot-links a,
  .availability-slot-short{font-size:var(--fs-sec) !important}
}
@media (max-width:820px){
.master-availability-person-main small,
  .today-booking-v182-service{font-size:var(--fs-body) !important}
}
@media (max-width:520px){
.master-availability-person-main small,
  .today-booking-v182-service{font-size:var(--fs-body) !important}
}
@media (max-width:820px){
.master-availability-person-main small{font-size:var(--fs-sec) !important}
}
@media (max-width:520px){
.master-availability-person-main small{font-size:var(--fs-sec) !important}
}
@media(max-width:760px){
.mobile-menu-grid>a b{font-size:18px!important}
.mobile-menu-grid>a span{font-size:var(--fs-body) !important}
}
@media(max-width:420px){
.mobile-menu-grid>a b{font-size:18px!important}
.mobile-menu-grid>a span{font-size:var(--fs-sec) !important}
}
.week-job-status-v292{font-size:var(--fs-cap) !important}
@media(max-width:700px){
.week-job-status-v292{font-size:var(--fs-cap) !important}
}
@media(max-width:700px){
.week-job-status-side-v293{font-size:var(--fs-cap) !important}
}
@media(max-width:390px){
.week-job-status-side-v293{font-size:var(--fs-cap) !important}
}
.week-job-status-v292,
.week-job-status-side-v293{font-size:var(--fs-sec) !important}
@media(max-width:700px){
.week-job-status-v292,
  .week-job-status-side-v293{font-size:var(--fs-sec) !important}
}
@media(max-width:390px){
.week-job-status-v292,
  .week-job-status-side-v293{font-size:var(--fs-sec) !important}
}
.calendar-drag-toast-v305 b{font-size:13px!important}
.calendar-drag-toast-v305 span{font-size:11px!important}
.calendar-break-end-v310 span{font-size:12px}
.calendar-break-end-v310 select{font-size:13px!important}
.calendar-break-end-v311 span{font-size:11px!important}
.calendar-break-end-v311 select{font-size:12px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v311{font-size:12px!important}
.calendar-action-sheet-actions .calendar-break-time-button-v312{font-size:17px!important}
.calendar-action-sheet-actions .calendar-break-time-option-v312{font-size:15px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v312{font-size:12px!important}
.calendar-action-sheet-actions .calendar-break-time-button-v313{font-size:16px!important}
.calendar-break-time-prefix-v313{font-size:11px!important}
.calendar-action-sheet-actions .calendar-break-time-menu-v313 .calendar-break-time-option-v312{font-size:14px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v313{font-size:11.5px!important}
@media(max-width:390px){
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v313{font-size:11px!important}
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{font-size:11.5px!important}
@media(max-width:390px){
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{font-size:11px!important}
}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{font-size:11px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314{font-size:14px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-prefix-v313{font-size:10px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-menu-v313 .calendar-break-time-option-v312{font-size:14px!important}
@media(max-width:390px){
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-set-v314{font-size:10.5px!important}
.calendar-action-sheet-actions #calendar-action-break-form .calendar-break-time-button-v314{font-size:13.5px!important}
}
#public-additional-services > summary .triangle-glyph{font-size:var(--fs-lead)}
.public-booking-message-icon{font-size:28px}
.public-booking-message-v325 h2{font-size:24px}
.public-booking-message-v325 p{font-size:var(--fs-lead)}
.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-complete,.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-overdue{font-size:clamp(19px,5vw,27px)}
@media(max-width:390px){
.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-complete,.today-summary-standalone-v330 .today-summary-card-number-v329 strong.is-overdue{font-size:19px}
}
.pwa-install-help{font-size:var(--fs-sec)}
.booking-detail-clean .status-ready-combined-v153 .owner-close-button-v344{font-size:var(--fs-body) !important}
.waitlist-actions-v237 .waitlist-remove-cross-v345{font-size:29px}
.booking-undo-dialog-card-v348 h2{font-size:22px}
.waitlist-remove-card-v352 h2{font-size:24px}
.waitlist-remove-card-v352 p{font-size:var(--fs-body)}
.waitlist-remove-actions-v352 .btn{font-size:var(--fs-body)}
#internal-booking-form .unified-search-v354,
#internal-booking-form .service-field-v345{font-size:var(--fs-body)}
.waitlist-dialog-head h2{font-size:26px}
.waitlist-service-field{font-size:inherit}
@media(max-width:820px){
.waitlist-dialog-head h2{font-size:24px}
}
@media(max-width:820px){
.waitlist-dialog-head h2{font-size:28px!important}
.waitlist-dialog-close{font-size:24px}
}
.waitlist-add-page-form-v361 .waitlist-service-field{font-size:inherit}
#waitlist-add-form-v361 .unified-search-v354{font-size:var(--fs-body)}
#waitlist-add-form-v361 .unified-results-v354 .internal-service-name small{font-size:var(--fs-cap) !important}
.lc-phone-prefix{font-size:24px}
@media(max-width:700px){
.lc-phone-prefix{font-size:23px}
}
.car-smart-choice-copy b{font-size:var(--fs-lead)}
.car-smart-empty{font-size:var(--fs-sec)}
@media(max-width:700px){
.car-smart-choice-copy b{font-size:17px}
}
.wash-dialog-head-v366 h2{font-size:23px}
.wash-dialog-x-v366{font-size:27px}
.wash-close-copy-v366 p{font-size:var(--fs-body)}
.cal-booking-helper-v367 .cal-booking-helper-share-v367{font-size:16px}
@media(max-width:700px){
.cal-booking-helper-v367 .cal-booking-helper-share-v367{font-size:17px}
}
.wash-owner-close-note-v368{font-size:var(--fs-sec)}
.booking-join-head-v381 h2{font-size:23px}
.booking-join-close-v381{font-size:28px}
.booking-join-choice-v381 b{font-size:var(--fs-lead)}
.booking-join-choice-v381 span{font-size:var(--fs-sec)}
.booking-takeover-card-v381 h2{font-size:22px}
.booking-takeover-card-v381 p{font-size:var(--fs-sec)}
@media(max-width:560px){
.booking-join-head-v381 h2{font-size:21px}
}
@media(max-width:760px){
.staff-calendar.washer-self-calendar-v381 .cal-staff b{font-size:12px!important}
.staff-calendar.washer-self-calendar-v381 .cal-staff small{font-size:9px!important}
.staff-calendar.washer-self-calendar-v381 .cal-booking b{font-size:11px!important}
.staff-calendar.washer-self-calendar-v381 .cal-booking span,
  .staff-calendar.washer-self-calendar-v381 .cal-booking small{font-size:9px!important}
}
@media(max-width:820px){
.today-bookings-v182-switch a{font-size:var(--fs-sec) !important}
}
@media(max-width:390px){
.today-bookings-v182-switch a{font-size:var(--fs-cap) !important}
.today-bookings-v182-all{font-size:var(--fs-sec) !important}
}
.finance-period-quick button{font-size:var(--fs-cap)}
.finance-dialog-v384 label{font-size:var(--fs-cap)}
.finance-dialog-head-v384 h2{font-size:26px}
.finance-dialog-head-v384>button{font-size:24px}
.finance-recurring-list-v384 span{font-size:var(--fs-cap)}
.finance-recurring-list-v384 strong{font-size:var(--fs-sec)}
@media(max-width:820px){
.finance-head-v384 h1{font-size:34px}
}
.finance-mobile-only-note-v384 h2{font-size:24px}
.finance-period-quick button{font-size:var(--fs-sec)}
@media(max-width:640px){
.finance-head-v384 h1{font-size:34px}
.finance-head-v384 p{font-size:var(--fs-sec)}
.finance-period-quick button{font-size:var(--fs-cap)}
}
@media(max-width:460px){
.finance-period-quick button{font-size:var(--fs-cap)}
}
.finance-period-quick button{font-size:var(--fs-cap) !important}
.finance-custom-period-v387 label>span{font-size:var(--fs-cap) !important}
.finance-custom-period-v387 input[type="date"]{font-size:var(--fs-sec) !important}
.finance-custom-period-v387 .crm-date-trigger-value{font-size:var(--fs-cap) !important}
.finance-custom-period-v387>.btn{font-size:var(--fs-cap) !important}
@media(max-width:460px){
.finance-custom-period-v387 label>span{font-size:var(--fs-cap) !important}
.finance-custom-period-v387 .crm-date-trigger-value{font-size:var(--fs-cap) !important}
.finance-custom-period-v387>.btn{font-size:var(--fs-cap) !important}
}
@media(max-width:370px){
.finance-custom-period-v387>.btn{font-size:var(--fs-cap) !important}
.finance-custom-period-v387 .crm-date-trigger-value{font-size:var(--fs-cap) !important}
}
.finance-custom-period-v388 input[type="date"]{font-size:var(--fs-sec) !important}
.finance-custom-period-v388 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
.finance-custom-period-v388>.btn{font-size:var(--fs-sec) !important}
.finance-fab-sheet-v388 a{font-size:var(--fs-body)}
.finance-fab-sheet-v388 a b{font-size:22px}
@media(max-width:460px){
.finance-custom-period-v388 label>span{font-size:var(--fs-cap) !important}
.finance-custom-period-v388 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
.finance-custom-period-v388>.btn{font-size:var(--fs-cap) !important}
}
@media(max-width:370px){
.finance-custom-period-v388>.btn{font-size:var(--fs-cap) !important}
.finance-custom-period-v388 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
}
.online-paid-badge-v389{font-size:var(--fs-cap)}
.finance-custom-period-v393 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
.finance-custom-period-v393>.btn{font-size:var(--fs-cap) !important}
@media(max-width:460px){
.finance-custom-period-v393>.btn{font-size:var(--fs-cap) !important}
.finance-custom-period-v393 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
}
@media(max-width:370px){
.finance-custom-period-v393>.btn{font-size:var(--fs-cap) !important}
.finance-custom-period-v393 .crm-date-trigger-value{font-size:var(--fs-cap) !important}
}
.payment-dialog-v395 h2{font-size:31px!important}
.payment-dialog-v395 p{font-size:var(--fs-sec) !important}
.payment-method-btn-v395 b{font-size:var(--fs-lead) !important}
.payment-cancel-v395{font-size:var(--fs-body) !important}
.lc-notice-card-v395 h2{font-size:24px!important}
.lc-notice-card-v395 p{font-size:var(--fs-sec) !important}
.lc-notice-ok-v395{font-size:var(--fs-body) !important}
@media(max-width:700px){
.payment-dialog-v395 h2{font-size:28px!important}
.payment-dialog-v395 p{font-size:var(--fs-sec) !important}
.payment-method-btn-v395 b{font-size:var(--fs-body) !important}
.payment-cancel-v395{font-size:var(--fs-sec) !important}
}
@media(max-width:370px){
.payment-method-btn-v395 b{font-size:var(--fs-sec) !important}
}
.finance-payroll-pay-v396{font-size:var(--fs-sec) !important}
.certificate-payment-fields label{font-size:var(--fs-body)}
.certificate-split-row{font-size:var(--fs-body)}
.certificate-topup-options legend{font-size:var(--fs-body)}
.wash-period-fields-v411 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
@media(max-width:520px){
.wash-period-fields-v411 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
}
.finance-period-fields-v412 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
@media(max-width:520px){
.finance-period-fields-v412 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
}
@media(max-width:760px){
.finance-head-v384 p{font-size:var(--fs-body) !important}
.finance-head-v384 .eyebrow{font-size:var(--fs-sec) !important}
.finance-payroll-pay-v396{font-size:var(--fs-sec) !important}
.finance-period-dialog-card-v412 .eyebrow,
  .wash-period-dialog-card-v411 .eyebrow{font-size:var(--fs-sec) !important}
.finance-period-dialog-card-v412 .wash-dialog-head-v366 h2,
  .wash-period-dialog-card-v411 .wash-dialog-head-v366 h2{font-size:23px!important}
.finance-period-fields-v412 .crm-date-trigger-value,
  .wash-period-fields-v411 .crm-date-trigger-value{font-size:var(--fs-sec) !important}
.wash-dialog-actions-v366 .btn{font-size:var(--fs-body) !important}
.wash-owner-close-note-v368{font-size:var(--fs-sec) !important}
}

/* Form fields at 16px: iOS zooms the page on focus when a field is smaller. */
@media(max-width:820px){
  html body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),
  html body select,
  html body textarea{font-size:var(--fs-input)!important}
}

/* Bare <small> falls back to the secondary role instead of the browser default (13.33px). */
small{font-size:var(--fs-sec)}


/* Phone numbers (+38 050 123 45 67) never break across lines; the waitlist card gives them a content-sized column. */
.phone-value{white-space:nowrap}
.waitlist-admin-card .meta-grid{grid-template-columns:minmax(0,1fr) auto!important}

/* ===== v415: збірка дизайн-правок ===== */
/* 2. Контраст «Готово» (ефективний ~2:1 через opacity) */
.status-ready-label-v146.status-ready-inactive-v153{opacity:1!important;color:#5c636a!important}
.status-ready-label-v146.status-ready-inactive-v153 b{color:#5c636a!important}

/* 3. Спосіб оплати: видимий стан «обрано» + рівна сітка */
.payment-method-grid-v395{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.payment-method-btn-v395.is-selected,.payment-method-btn-v395[aria-pressed="true"]{
  border-color:#111315!important;background:#fff8d6!important;box-shadow:0 0 0 2px #111315 inset!important}

/* 4. Публічний майстер: нижня панель притиснута донизу на всіх кроках */
@media(max-width:560px){
  .public-shell.public-booking-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
  .public-booking-shell .booking-wizard{flex:1 1 auto;display:flex;flex-direction:column}
  .public-booking-shell .wizard-step.is-active{flex:1 1 auto;display:flex;flex-direction:column}
  .public-booking-shell .wizard-step.is-active>.wizard-footer{margin-top:auto}
}

/* 8. Календар: під липкою колонкою часу нічого не проглядає */
.calendar-panel-v265{padding-left:0!important;padding-right:0!important}
.staff-calendar .cal-time{background-clip:padding-box;box-shadow:1px 0 0 #e8eaed}
.staff-calendar .cal-time.time-current{background-color:#fff6ce!important}

/* 2. Календар: мінімум 11px на мобільному */
@media(max-width:820px){
  .cal-staff-copy-v263,.cal-staff-copy-v263 small{font-size:11px!important}
  .cal-booking-meta-v235 em{font-size:11px!important}
  .cal-booking-price-v235{font-size:11px!important}
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":30"],.cal-time{font-size:11px!important}
  .calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{font-size:12px!important}
  .cal-lunch-card span{font-size:11px!important}
}

/* 7. Зони дотику ≥44px (реальний розмір там, де є місце; невидима зона — для дрібних іконок) */
@media(pointer:coarse),(max-width:820px){
  .btn,.time-chips button,.mobile-top-menu,.task-check,
  .today-bookings-v182-all,.crm-date-trigger,
  .availability-date-trigger{min-height:44px}
  .time-chips button{min-width:88px}
  .mobile-top-menu,.task-check{position:relative}
  .mobile-top-menu::after,.task-check::after{
    content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
}
@media(pointer:coarse),(max-width:820px){
  .finance-period-quick button,.availability-slot-links a,.panel-head a,.today-bookings-v182-all,.crm-date-trigger,.availability-date-trigger,.btn{min-height:44px!important;display:inline-flex;align-items:center;justify-content:center}
  .availability-slot-links a{min-width:88px}
}
@media(pointer:coarse),(max-width:820px){
  html body .finance-period-quick button,html body .crm-date-trigger,
  html body .btn.btn-dark,html body .btn.btn-primary,
  html body a.active,html body button.active{min-height:44px!important}
}
@media(pointer:coarse),(max-width:820px){
  html body .finance-period-quick button,html body .crm-date-trigger{height:44px!important}
}
html body .payment-dialog-v395 .payment-method-grid-v395{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body .payment-dialog-v395 .payment-method-grid-v395>.payment-method-btn-v395:last-child:nth-child(odd){grid-column:1/-1!important}

/* ===== v416: 1) відгук «втискання» на все клікабельне ===== */
@media (prefers-reduced-motion:no-preference){
  a[href]:active,[onclick]:not(button):active,summary:active,label.service-main-row:active,.clickable:active{
    transform:scale(.975)!important;filter:brightness(.95);transition-duration:.08s!important}
  button:not(:disabled):active,[role="button"]:active,.btn:active{
    transform:scale(.955)!important;filter:brightness(.93);transition-duration:.08s!important}
  /* дрібні іконки-кнопки — сильніший відгук */
  .mobile-top-menu:active,.task-check:active,
  .wizard-back:active{transform:scale(.86)!important}
  /* картки в календарі можна перетягувати — без масштабу, лише затемнення */
  .cal-booking:active,.calendar-booking-draggable-v305:active{transform:none!important;filter:brightness(.92)}
  /* нижнє меню */
  .mobile-bottom-nav a:active,nav[class*="bottom"] a:active{transform:scale(.9)!important}
}
@media (prefers-reduced-motion:reduce){
  a[href]:active,button:not(:disabled):active,summary:active,[role="button"]:active{filter:brightness(.92)}
}
/* не зменшувати/не рухати заблоковані та поля вводу */
button:disabled:active,input:active,select:active,textarea:active{transform:none!important}

/* ===== v416: 2) читабельність ===== */
body{font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root{--muted:#5f656b}
.eyebrow,.hint{color:#646a70}
@media(max-width:820px){
  /* підписи, статуси, дрібний службовий текст: не менше 12px */
  .eyebrow,.status,.lc-select-value,.current-time-badge,
  .availability-date-trigger-value,.person-avatar-fallback{font-size:12px!important}
  /* основний допоміжний текст карток — 13px */
  .mobile-user-name,p.muted,.muted{font-size:13px}
  /* грошові підсумки — виразніші */
  /* календар: щільно, але читабельно (мінімум 11px) */
  html body .calendar-mobile-clean-v222 .cal-time,html body .calendar-mobile-clean-v222 .cal-time[data-slot],
  html body .calendar-mobile-clean-v222 .cal-staff-copy-v263 small,html body .calendar-mobile-clean-v222 .cal-booking-meta-v235 em,
  html body .calendar-mobile-clean-v222 .cal-lunch-card span{font-size:11px!important}
  html body .calendar-mobile-clean-v222 .cal-time[data-slot$=":00"]{font-size:12px!important}
  html body .calendar-mobile-clean-v222 .cal-booking-price-v235,html body .calendar-mobile-clean-v222 .calendar-price-status-v292{font-size:12px!important}
  /* міні-стрілки-трикутники у згортках не мають нульового розміру */
  .triangle-glyph{font-size:12px!important}
}
@media(max-width:820px){:root{--fs-cap:12px;--fs-sec:13px}}
@media (prefers-reduced-motion:no-preference){
  html body .cal-booking:active,html body a.cal-booking:active,html body .calendar-booking-draggable-v305:active{transform:none!important;filter:brightness(.92)}
}

/* ===== v417: підписи-«капшени» плиток — один колір, як «Готівкою надійшло» ===== */
:root{--caption-color:#6c747a}

/* ===== v417: єдина типографіка та вертикальне центрування (мобільний) ===== */
@media(max-width:820px){
  :root{--caption-color:#6c747a;--t-title:30px;--t-h2:20px;--t-h3:17px;--t-body:15px;--t-sub:14px;--t-cap:13px}

  /* 1. Заголовки сторінок — однакові на всіх екранах */
  html body .workspace h1,html body .calendar-title-v230{font-size:var(--t-title)!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.02em!important;margin:0!important}
  html body .workspace-head p{
    font-size:var(--t-sub)!important;line-height:1.4!important;color:var(--caption-color)!important;margin:6px 0 0!important;font-weight:500!important}
  html body .workspace-head,html body .admin-calendar-title{padding-top:0!important;margin-top:0!important;margin-bottom:14px!important}

  /* 2. Заголовки карток */
  html body .panel-head h2,html body .panel>h2{font-size:var(--t-h2)!important;line-height:1.2!important;font-weight:800!important;margin:0!important}
  html body .panel-head h3,html body .panel>h3{font-size:var(--t-h3)!important;line-height:1.25!important;font-weight:800!important;margin:0!important}
  html body .eyebrow{font-size:12px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.1em!important;color:var(--caption-color)!important;margin:0 0 4px!important}

  /* 3. Підписи плиток («капшени»): один колір, розмір і вага */
  html body .clean-discount-summary-v142 .is-total{font-size:var(--t-body)!important;color:#1b1f23!important}
  /* дрібні службові рядки-мета */

  /* 4. Вторинний текст у списках */

  /* 5. Центрування тексту в кнопках, чіпах, вкладках, бейджах */
  html body .btn,html body .finance-period-quick button,html body .availability-slot-links a,html body .status,html body .today-bookings-v182-all,
  html body .crm-date-trigger,html body button.status-primary-v146,html body .status-ready-label-v146{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.15!important;text-align:center}

  /* 6. Рядки «підпис — значення» і шапки карток вирівняно по центру вертикалі */
  html body .panel-head{align-items:center!important}

  /* 7. Слоти «Хто вільний»: текст не обрізається */
  html body .availability-slot-links{flex-wrap:wrap;gap:6px}
  html body .availability-slot-links a{white-space:nowrap;padding:0 12px!important;min-width:0!important;font-size:13px!important}

  /* 8. Сегменти періоду: не злипаються */

  /* 9. Календар: шапка майстра та час у картці без обрізання */
  html body .calendar-mobile-clean-v222 .cal-staff-copy-v263 small{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  html body .calendar-mobile-clean-v222 .cal-booking-service-v262{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  html body .calendar-mobile-clean-v222 .cal-booking-meta-v235{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
  html body .calendar-mobile-clean-v222 .cal-booking-meta-v235 em{white-space:nowrap!important}
}
@media(max-width:820px){
  /* календар: у шапці колонки лише ім'я */
  html body .calendar-mobile-clean-v222 .cal-staff-copy-v263 small{display:none!important}
}
@media(max-width:820px){
  html body .master-availability-row{grid-template-columns:minmax(0,1fr)!important;row-gap:8px!important;align-items:center!important}
  html body .master-availability-times,html body .availability-slot-links{width:100%!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important;padding-left:56px}
  html body .availability-slot-links a{flex:0 0 auto;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 14px!important}
}
@media(max-width:820px){html body .availability-slot-links a{width:auto!important;max-width:none!important;flex:0 0 auto!important;overflow:visible!important;text-overflow:clip}}
@media(max-width:820px){
  html body .master-availability-times,html body .availability-slot-links{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important}
}
@media(max-width:820px){
  html body .master-availability-times{padding-left:56px!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;grid-column:1/-1!important}
  html body .availability-slot-links{padding-left:0!important;width:auto!important;max-width:none!important;flex:1 1 auto!important}
}
@media(max-width:820px){html body .app-shell{grid-template-columns:minmax(0,1fr)!important;max-width:100vw}html body .workspace{min-width:0!important;max-width:100vw}}

/* ===== v418: Головна — 4 лічильники в один рядок ===== */

/* ===== v419: Головна — шапки блоків по центру, компактні кнопки, 3 слоти в рядок ===== */
@media(max-width:820px){
  html body .master-availability-head,html body .today-bookings-v182-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:0!important;margin-bottom:10px!important}
  html body .master-availability-head>div:first-child,html body .today-bookings-v182-head>div:first-child{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}
  html body .master-availability-head h2,html body .today-bookings-v182-head h2{margin:0!important;line-height:1.2!important;white-space:normal}
  html body .master-availability-head .eyebrow{margin:0 0 2px!important}
  html body .availability-head-actions{flex:0 0 auto;display:flex;align-items:center}
  /* кнопка дати: не стискається, стрілка на місці */
  html body .availability-date-trigger{height:38px!important;min-height:38px!important;min-width:138px!important;width:auto!important;white-space:nowrap;
    display:grid!important;grid-template-columns:minmax(0,1fr) 30px!important;align-items:center!important}
  html body .availability-date-trigger-value{padding:0 8px 0 12px!important;white-space:nowrap;overflow:visible;text-align:center;font-size:13px!important}
  html body .availability-date-caret{width:30px!important;height:100%!important;display:grid!important;place-items:center!important}
  html body .availability-date-caret svg{width:11px;height:8px}
  /* «Всі записи» */
  html body .today-bookings-v182-all{height:38px!important;min-height:38px!important;padding:0 12px!important;white-space:nowrap;font-size:13px!important}
  /* слоти: 3 в рядок */
  html body .master-availability-times{padding-left:0!important}
  html body .availability-slot-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;flex:1 1 auto!important}
  html body .availability-slot-links a{width:100%!important;height:32px!important;min-height:32px!important;padding:0 2px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap;border-radius:10px!important}
}
@media(max-width:820px){html body .availability-slot-links a,html body .availability-slot-links a:only-child,html body .availability-slot-links a:first-child,html body .availability-slot-links a:last-child{grid-column:auto!important;justify-self:stretch!important;margin:0!important}}
@media(max-width:820px){html body .availability-slot-links.availability-slot-links a:not(#x){grid-column:auto!important;justify-self:stretch!important}}
/* v421: «На сьогодні зайнятий» — під посадою, лівий край збігається з іменем і посадою */
@media(max-width:820px){
  html body .master-availability-row:not(:has(.availability-slot-links)) .master-availability-times{
    padding:0 0 0 var(--avail-text-indent,49px)!important;width:100%!important;justify-content:flex-start!important;text-align:left!important;display:block!important}
  html body .master-availability-row:not(:has(.availability-slot-links)) .availability-summary-text{
    display:block!important;max-width:none!important;white-space:normal!important;text-align:left!important;font-size:13px!important;font-weight:800!important;color:var(--caption-color,#6c747a)!important}
}
@media(max-width:820px){
  html body .master-availability-row:not(:has(.availability-slot-links)) .master-availability-times:not(#x) .availability-summary-text:not(#x){margin:0!important;text-align:left!important;justify-self:start!important;align-self:flex-start!important;float:none!important;width:auto!important}
  html body .master-availability-row:not(:has(.availability-slot-links)) .master-availability-times:not(#x){text-align:left!important;justify-items:start!important}
}

/* v422: «Хто вільний» — аватар по центру блоку, слоти/«зайнятий» рівно з іменем і посадою */
@media(max-width:820px){
  html body .master-availability-row:not(#x){display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;column-gap:12px!important;row-gap:8px!important;align-items:center!important}
  html body .master-availability-row:not(#x) .master-availability-person,
  html body .master-availability-row:not(#x) .master-availability-person-main{display:contents!important}
  html body .master-availability-row:not(#x) .master-availability-person-main>.person-avatar{grid-column:1!important;grid-row:1/3!important;align-self:center!important;justify-self:center;width:52px!important;height:52px!important;min-width:52px!important}
  html body .master-availability-row:not(#x) .master-availability-person-main .person-avatar-fallback{font-size:16px!important}
  html body .master-availability-row:not(#x) .master-availability-person-main>div{grid-column:2!important;grid-row:1!important;min-width:0}
  html body .master-availability-row:not(#x) .master-availability-times:not(#x){grid-column:2!important;grid-row:2!important;padding:0!important;width:100%!important;max-width:none!important;margin:0!important}
  html body .master-availability-row:not(#x) .availability-summary-text:not(#x){padding:0!important}
}

/* ===== v423 (ТЗ «Сьогодні» v1.6.416): компактний блок «Сьогодні» на Головній ===== */
.today-head-v416{display:block;margin:0 0 12px}
.today-head-v416-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.today-head-v416-title{display:flex;flex-direction:column;min-width:0}
.today-head-v416-title h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:#101214}
.today-head-v416-title span{font-size:15px;line-height:1.35;color:#5c6167}
.today-head-v416-switch{display:flex;flex-shrink:0;height:36px;box-sizing:border-box;padding:2px;gap:2px;border-radius:11px;background:#e7e9ec}
.today-head-v416-switch a{display:flex;align-items:center;padding:0 11px;border-radius:9px;font-size:12px;font-weight:600;color:#5c6167;text-decoration:none}
.today-head-v416-switch a.is-active{background:#fff;color:#101214;font-weight:700;box-shadow:0 1px 2px rgba(16,18,20,.1)}
.today-stats-v416{display:grid;gap:6px;margin-top:8px}
.today-stats-v416.has-four{grid-template-columns:1.5fr 1fr 1fr 1fr}
.today-stats-v416.has-two{grid-template-columns:1fr 1fr}
.today-stat-v416{position:relative;min-width:0;height:56px;box-sizing:border-box;padding:0 2px;border-radius:14px;background:#fff;border:1px solid #e8eaed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#101214;text-decoration:none}
.today-stat-v416 strong{font-size:20px;line-height:1.1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.today-stat-v416 span{max-width:100%;font-size:11px;line-height:1.15;font-weight:600;letter-spacing:-.01em;color:#5c6167;text-align:center}
.today-stat-v416.is-zero strong{color:#b9bdc2}
.today-stat-v416.is-wash{background:var(--accent,#f0cf4b);border-color:var(--accent,#f0cf4b)}
.today-stat-v416.is-wash strong{color:#101214}
.today-stat-v416.is-wash span{color:#3d3a2a;font-weight:700}
.today-stat-v416-badge{position:absolute;top:-6px;right:-3px;min-width:18px;height:18px;box-sizing:border-box;padding:0 5px;border-radius:10px;border:2px solid var(--bg,#f5f6f7);background:#e5484d;color:#fff;font-style:normal;font-size:11px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.96)}
@media(max-width:359px){
  .today-stats-v416.has-four{grid-template-columns:1.25fr 1fr 1fr 1fr}
  .today-stat-v416{height:auto;min-height:56px;padding:6px 2px}
}
/* перекриття старих глобальних правил (заголовки 30px, стискання .975, шрифтові змінні) */
html body .today-head-v416-title h1{font-size:28px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.03em!important;margin:0!important}
html body a.press-v416:active{transform:scale(.96)!important;transition-duration:.16s!important;filter:none}
html body .today-stat-v416 span{font-size:11px!important;font-weight:600!important;color:#5c6167!important;letter-spacing:-.01em!important}
html body .today-stat-v416.is-wash span{color:#3d3a2a!important;font-weight:700!important}
html body .today-head-v416-switch a{font-size:12px!important}

/* v1.6.416 (ТЗ) — картка запису на Головній: статус біля імені, сума під аватаркою */
.today-booking-v182-card.today-booking-v416{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-areas:"time head head" "time body side"!important;column-gap:14px!important;row-gap:6px!important;align-items:start!important}
.today-booking-v416 .today-booking-v416-time{grid-area:time;align-self:center!important}
.today-booking-v416-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.today-booking-v416-head .today-booking-v182-customer{flex:1 1 auto;min-width:0;width:auto!important}
.today-booking-v416-head .today-booking-v182-status{flex:0 0 auto;width:auto!important;max-width:none!important;margin:0!important;position:static!important;justify-content:flex-end!important}
.today-booking-v416-body{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:4px}
.today-booking-v416-side{grid-area:side;align-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.today-booking-v416-side .person-avatar{width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;margin:0!important;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(16,18,20,.12)!important}
.today-booking-v416-side .person-avatar img,.today-booking-v416-side .person-avatar-fallback{width:100%!important;height:100%!important;font-size:var(--fs-cap)!important}
.today-booking-v416-price{font-size:15px;font-weight:800;line-height:1.2;white-space:nowrap;background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
.today-booking-v416-pay{display:flex;align-items:center;gap:4px;white-space:nowrap}
.today-booking-v416-pay .online-paid-badge-v389{margin:0!important}

/* v425: плитки «Сьогодні» вищі, більші цифри й підписи */
html body .today-stat-v416{height:68px!important;gap:3px!important;border-radius:16px!important}
html body .today-stat-v416 strong{font-size:25px!important;line-height:1.05!important}
html body .today-stat-v416 span{font-size:12px!important}
html body .today-stat-v416-badge{font-size:12px!important;height:20px!important;min-width:20px!important;border-radius:11px!important}
@media(max-width:359px){html body .today-stat-v416{height:auto!important;min-height:68px!important}}

/* v426: «На сьогодні зайнятий» / «Зайнятий весь день» — приглушений червоний */
html body .master-availability-row.availability-state-busy .availability-summary-text:not(#x):not(#y){color:#b8514f!important}

/* v427: аватарка по центру статусу (разом із крапкою) — статус і аватарка в одній колонці */
.today-booking-v182-card.today-booking-v416{grid-template-areas:"time cust status" "time body side"!important}
.today-booking-v416 .today-booking-v416-head{display:contents!important}
.today-booking-v416 .today-booking-v416-head .today-booking-v182-customer{grid-area:cust;align-self:center;min-width:0}
.today-booking-v416 .today-booking-v416-head .today-booking-v182-status{grid-area:status;justify-self:center!important;align-self:center;justify-content:center!important}
.today-booking-v416 .today-booking-v416-side{align-items:center!important;justify-self:stretch}

/* v428: шапки «Хто вільний» і «Записи на сьогодні» — однакова висота, текст по центру */
html body .master-availability-head:not(#x),html body .today-bookings-v182-head:not(#x){
  height:38px!important;min-height:38px!important;align-items:center!important;margin-bottom:12px!important}
html body .master-availability-head:not(#x)>div:first-child,html body .today-bookings-v182-head:not(#x)>div:first-child{
  display:flex!important;align-items:center!important;height:38px}
html body .master-availability-head h2:not(#x),html body .today-bookings-v182-head h2:not(#x){
  font-size:20px!important;line-height:38px!important;margin:0!important;padding:0!important}
html body .master-availability-head:not(#x)>div:first-child,html body .today-bookings-v182-head:not(#x)>div:first-child{justify-content:flex-start!important;flex-direction:row!important}
/* v429: status, avatar, price on one common vertical center line */
html body .today-booking-v182-card.today-booking-v416:not(#x){grid-template-columns:auto minmax(0,1fr) 98px!important}
html body .today-booking-v416 .today-booking-v416-head .today-booking-v182-status:not(#x){justify-self:stretch!important;width:100%!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important}
html body .today-booking-v416 .today-booking-v416-side:not(#x){justify-self:stretch!important;width:100%!important;align-items:center!important;text-align:center!important}
html body .today-booking-v416 .today-booking-v416-pay:not(#x),html body .today-booking-v416 .today-booking-v416-price:not(#x){justify-content:center!important;text-align:center!important;width:100%}
html body .today-bookings-v182-head h2:not(#x){font-size:19px!important;min-width:0;white-space:nowrap}
/* v430: no white ring on booking-card avatar, photo grown to the former outer size */
html body .today-booking-v416 .today-booking-v416-side .person-avatar:not(#x){width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border:0!important;outline:0!important;box-shadow:none!important}

/* v1.6.416 — сторінка «Мийка окремо» */
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.96)}
.wash-page-v416{display:grid;gap:12px;padding-bottom:16px}
.wash-page-v416.is-loading .wash-list-v416,.wash-page-v416.is-loading .wash-cash-v416,.wash-page-v416.is-loading .wash-split-v416{opacity:.5;transition:opacity .15s}
.wash-top-v416{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wash-top-v416-title{display:flex;flex-direction:column;min-width:0}
.wash-top-v416-title h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:#101214}
.wash-top-v416-title span{font-size:var(--fs-body,15px);line-height:1.35;color:#5c6167}
.wash-top-v416-switch{display:flex;flex-shrink:0;height:36px;box-sizing:border-box;padding:2px;gap:2px;border-radius:11px;background:#e7e9ec}
.wash-page-v416 .wash-top-v416-switch button{height:32px!important;min-height:0!important;max-height:32px!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center;padding:0 11px!important;border-radius:9px!important;font:inherit;font-size:var(--fs-sec,12px)!important;line-height:1!important;font-weight:600;color:#5c6167!important;cursor:pointer}
.wash-page-v416 .wash-top-v416-switch button.active{background:#fff!important;color:#101214!important;font-weight:700;box-shadow:0 1px 2px rgba(16,18,20,.1)!important}
.wash-cash-v416{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label btn" "sum btn";align-items:center;column-gap:10px;row-gap:2px;padding:14px 14px 14px 16px;border-radius:18px;background:var(--accent,#f0cf4b);color:#101214}
.wash-cash-v416-label{grid-area:label;font-size:var(--fs-sec,12px);font-weight:700;color:#3d3a2a}
.wash-cash-v416-sum{grid-area:sum;font-size:32px;line-height:1.15;font-weight:800;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.wash-cash-v416-btn{grid-area:btn;height:44px;padding:0 14px;border:0;border-radius:12px;background:#151719;color:var(--accent,#f0cf4b);font:inherit;font-size:var(--fs-sec,12px);font-weight:800;white-space:nowrap;cursor:pointer}
.wash-cash-v416-btn[hidden]{display:none}
.wash-split-v416{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wash-split-v416-tile{min-width:0;height:56px;box-sizing:border-box;padding:0 4px;border-radius:14px;background:#fff;border:1px solid #e8eaed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}
.wash-split-v416-tile strong{font-size:17px;line-height:1.15;font-weight:800;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.wash-split-v416-tile span{font-size:var(--fs-cap,11px);line-height:1.15;font-weight:600;color:#5c6167}
.wash-list-v416-section{display:grid;gap:8px;margin-top:4px}
.wash-list-v416-head h2{margin:0;font-size:18px;line-height:1.2;font-weight:800;letter-spacing:-.01em}
.wash-list-v416-head h2 span{font-size:var(--fs-sec,12px);font-weight:600;color:#70757b;letter-spacing:0}
.wash-list-v416-head h2 b{font-weight:600}
.wash-list-v416{display:grid;gap:8px}
.wash-card-v416{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time head head" "time body side";column-gap:12px;row-gap:4px;align-items:start;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e8eaed;cursor:pointer}
.wash-card-v416-time{grid-area:time;align-self:center;display:flex;flex-direction:column;gap:1px;width:46px}
.wash-card-v416-time strong{font-size:var(--fs-body,15px);font-weight:800;font-variant-numeric:tabular-nums}
.wash-card-v416-time span{font-size:var(--fs-cap,11px);color:#70757b}
.wash-card-v416-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.wash-card-v416-client{min-width:0;font-size:var(--fs-body,15px);font-weight:700;line-height:1.25}
.wash-card-v416-status{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sec,12px);font-weight:700;color:#101214}
.wash-card-v416-status i{width:8px;height:8px;border-radius:4px;background:#2fb36b}
.wash-card-v416-status.is-received{color:#70757b}
.wash-card-v416-status.is-received i{background:#a3a8ae}
.wash-card-v416-body{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:2px}
.wash-card-v416-car{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-sec,12px);font-weight:600;color:#3d4247}
.wash-card-v416-car img{width:16px;height:16px;object-fit:contain;flex-shrink:0}
.wash-card-v416-service{font-size:var(--fs-sec,12px);line-height:1.3;color:#70757b}
.wash-card-v416-side{grid-area:side;align-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.wash-card-v416-sum{font-size:var(--fs-body,15px);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.wash-card-v416-pay{font-size:var(--fs-cap,11px);font-weight:600;color:#70757b}
.wash-card-v416.is-received{background:#f5f6f7}
.wash-card-v416.is-received .wash-card-v416-client,.wash-card-v416.is-received .wash-card-v416-sum,.wash-card-v416.is-received .wash-card-v416-time strong{color:#70757b}
.wash-empty-v416{padding:18px 16px;border:1.5px dashed #d9dce0;border-radius:16px;text-align:center;font-size:var(--fs-body,15px);color:#70757b}
.wash-card-v416.press-v416:active{transform:scale(.98)}
/* v431: wash page must never exceed the viewport */
.wash-page-v416{grid-template-columns:minmax(0,1fr)}
.wash-top-v416-title h1{overflow-wrap:anywhere}
@media(max-width:350px){.wash-top-v416-title h1{font-size:23px}.wash-page-v416 .wash-top-v416-switch button{padding:0 8px!important}.wash-cash-v416-sum{font-size:28px}.wash-cash-v416-btn{padding:0 10px}}

/* v1.6.416 — сторінка «Черга» */
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.96)}
.queue-top-v416{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.queue-top-v416-title{display:flex;flex-direction:column;min-width:0}
.queue-top-v416-title h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:#101214}
.queue-top-v416-title span{font-size:var(--fs-body,15px);line-height:1.35;color:#5c6167}
.queue-top-v416-add{height:40px;padding:0 14px;border-radius:12px;background:#151719;color:#fff;display:inline-flex;align-items:center;font-size:var(--fs-sec,12px);font-weight:700;text-decoration:none;white-space:nowrap}
.queue-list-v416{display:grid;gap:8px;padding-bottom:16px}
.queue-empty-v416{padding:18px 16px;border:1.5px dashed #d9dce0;border-radius:16px;text-align:center;font-size:var(--fs-body,15px);color:#70757b}

/* v1.6.416 — нижня панель: темна плаваюча */
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416{left:10px!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:2px!important;padding:6px!important;box-sizing:border-box!important;border:0!important;border-radius:22px!important;background:#151719!important;box-shadow:0 10px 30px rgba(16,18,20,.28)!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a{position:relative!important;height:52px!important;min-height:0!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-size:11px!important;line-height:1.1!important;font-weight:600!important;color:#8a9096!important;text-decoration:none!important;transition:transform .16s cubic-bezier(.2,.8,.2,1)!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a:active{transform:scale(.94)!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a>b{position:relative!important;width:auto!important;height:26px!important;min-width:26px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;color:inherit!important;font-size:22px!important;line-height:1!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a>b::after{display:none!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a>b svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a>span{position:static!important;font-size:11px!important;font-weight:inherit!important;color:inherit!important;letter-spacing:-.01em!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a.active{background:transparent!important;color:#f0cf4b!important;font-weight:800!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a.active>span{color:#fff!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416>a em{position:absolute!important;top:2px!important;left:calc(50% + 6px)!important;right:auto!important;min-width:18px!important;height:18px!important;padding:0 5px!important;box-sizing:border-box!important;border-radius:9px!important;border:2px solid #151719!important;background:#e5484d!important;color:#fff!important;font-style:normal!important;font-size:11px!important;font-weight:800!important;line-height:14px!important;text-align:center!important;animation:none!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .mobile-nav-new{width:50px!important;height:44px!important;justify-self:center!important;align-self:center!important;margin:0!important;gap:0!important;border-radius:14px!important;background:#f0cf4b!important;color:#101214!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .mobile-nav-new b{color:#101214!important;font-size:28px!important;font-weight:500!important}
/* Черга: пісочний годинник, коли в черзі хтось підходить під вільний час */
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .hg-sand,html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .hg-stream{opacity:0}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341,html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341>b,html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341>span{color:#ff8f8f!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341 .hg{transform-box:view-box;transform-origin:12px 12px;animation:hg-flip-v416 2.6s cubic-bezier(.6,0,.3,1) infinite}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341 .hg-sand{opacity:1;fill:currentColor;stroke:none!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341 .hg-top{animation:hg-top-v416 2.6s linear infinite}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341 .hg-bot{animation:hg-bot-v416 2.6s linear infinite}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav].queue-has-opportunity-v341 .hg-stream{stroke-width:1.4!important;stroke-dasharray:1.2 1.6;animation:hg-stream-v416 2.6s linear infinite}
@keyframes hg-top-v416{0%{clip-path:inset(0 0 0 0)}68%,100%{clip-path:inset(100% 0 0 0)}}
@keyframes hg-bot-v416{0%{clip-path:inset(100% 0 0 0)}68%,100%{clip-path:inset(0 0 0 0)}}
@keyframes hg-stream-v416{0%{opacity:0;stroke-dashoffset:0}3%{opacity:1}66%{opacity:1}68%,100%{opacity:0;stroke-dashoffset:-11}}
@keyframes hg-flip-v416{0%,72%{transform:rotate(0)}92%,100%{transform:rotate(180deg)}}
@media (prefers-reduced-motion:reduce){
  html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav] .hg,html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav] .hg *{animation:none!important}
  html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav] .hg-bot,html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 [data-queue-nav] .hg-stream{opacity:0!important}
}
/* v434: calendar edge-to-edge on phones — no empty gutters around the grid */
@media(max-width:820px){
html body .app-shell.calendar-focus-shell-v221 main.workspace:not(#x){padding-left:0!important;padding-right:0!important;padding-top:0!important}
html body .app-shell.calendar-focus-shell-v221 .calendar-panel:not(#x){margin-left:0!important;margin-right:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;width:100%!important;max-width:none!important}
}

/* v1.6.416 — панель вибору дня в календарі (W4 «Один рядок») */
html body nav.week-v416{position:fixed;left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:52;box-sizing:border-box;padding:6px;border-radius:20px;background:#fff;border:1px solid #e6e8eb;box-shadow:0 8px 24px rgba(16,18,20,.12);-webkit-user-select:none;user-select:none;touch-action:pan-y}
.week-v416-row{display:flex;align-items:stretch;gap:4px}
.week-v416-mcell{position:relative;overflow:hidden;flex:0 0 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;background:#f3f4f6;color:#101214;text-decoration:none;pointer-events:none}
.week-v416-mcell b{font-size:12px;line-height:1;font-weight:800;letter-spacing:.02em;color:#101214}
.week-v416-mcell small{font-size:11px;line-height:1;font-weight:600;color:#8a9096}
.week-v416-mcell svg{display:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.week-v416-mcell.is-back{background:#151719;color:#f0cf4b;pointer-events:auto}
.week-v416-mcell.is-back b{color:#fff}
.week-v416-mcell.is-back svg{display:block}
.week-v416-mcell.is-back small{display:none}
.week-v416-viewport{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;border-radius:12px}
.week-v416-track{display:flex;width:300%;transform:translate3d(-33.3333%,0,0);will-change:transform}
.week-v416-days{flex:0 0 33.3333%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.week-v416-days[aria-hidden="true"]{opacity:.45}
.week-v416-day{position:relative;isolation:isolate;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:12px;color:#101214;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .16s cubic-bezier(.2,.8,.2,1)}
.week-v416-day:active{transform:scale(.92)}
.week-v416-day span{font-size:11px;line-height:1;font-weight:700;letter-spacing:.02em;color:#8a9096}
.week-v416-day b{font-size:17px;line-height:1.1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.week-v416-day.sunday span,.week-v416-day.sunday b{color:#d6453d}
.week-v416-day.active::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:12px;background:#f0cf4b;box-shadow:0 2px 8px rgba(180,144,0,.22)}
.week-v416-day.active span{color:#5a4a0c}
.week-v416-day.active b,.week-v416-day.active.sunday b,.week-v416-day.active.sunday span{color:#101214}
.week-v416-day.today:not(.active)::after{content:"";position:absolute;bottom:4px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:3px;background:#e0b928}
.week-v416-week{flex:0 0 40px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#eef0f2;color:#101214}
.week-v416-week svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.94)}
@media (prefers-reduced-motion:reduce){.week-v416-track,.week-v416-day,.press-v416{transition:none}}

/* v1.6.416 — картка в черзі (Q1-А, дата плиткою, №1 з обводкою) */
.queue-item-v416{position:relative;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:12px 12px 12px 14px;border-radius:18px;background:#fff;border:1px solid #e8eaed;box-shadow:0 1px 2px rgba(16,18,20,.04)}
.queue-item-v416-head{display:flex;align-items:center;gap:8px;min-width:0;padding-right:72px;margin-bottom:4px}
.queue-item-v416-num{flex:0 0 auto;height:22px;padding:0 7px;box-sizing:border-box;display:inline-flex;align-items:center;gap:1px;border-radius:7px;background:#fff;border:1.5px solid #dfe2e5;font-size:12px;font-weight:800;color:#3d4247;font-variant-numeric:tabular-nums}
.queue-item-v416-num small{font-size:10px;font-weight:700;color:#8a9096}
.queue-item-v416-client{flex:1 1 auto;min-width:0;font-size:17px;line-height:1.25;font-weight:800;color:#101214;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-item-v416-date{position:absolute;top:12px;right:12px;min-width:52px;box-sizing:border-box;padding:5px 9px;border-radius:10px;background:#f0f1f3;display:flex;flex-direction:column;align-items:center;line-height:1.05;text-align:center}
.queue-item-v416-date b{font-size:16px;font-weight:800;color:#101214;font-variant-numeric:tabular-nums}
.queue-item-v416-date small{font-size:11px;font-weight:600;color:#70757b;white-space:nowrap}
.queue-item-v416-car{display:flex;align-items:center;gap:7px;min-width:0;padding-right:72px;font-size:15px;line-height:1.3;color:#101214}
.queue-item-v416-car b{font-weight:700;min-width:0;overflow-wrap:anywhere}
.queue-item-v416-car img{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.queue-item-v416-service{font-size:15px;line-height:1.3;font-weight:500;color:#3d4247;overflow-wrap:anywhere}
.queue-item-v416-slot{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;line-height:1.3;color:#16804a}
.queue-item-v416-slot b{font-weight:800;font-variant-numeric:tabular-nums}
.queue-item-v416-slot svg{width:15px;height:15px;flex-shrink:0}
.queue-item-v416-note{margin:2px 0 0;font-size:12px;line-height:1.35;font-style:normal;color:#70757b}
.queue-item-v416 svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.queue-item-v416-actions{display:flex;align-items:center;gap:6px;margin-top:10px}
.queue-item-v416-actions form{margin:0 0 0 auto;display:flex}
.queue-item-v416-call{flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:#f0f1f3;color:#101214;display:flex;align-items:center;justify-content:center;text-decoration:none}
.queue-item-v416-call svg{width:18px;height:18px}
.queue-item-v416-book{flex:0 0 auto;height:36px;padding:0 20px;border:0;border-radius:11px;background:#f0cf4b;color:#101214;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.queue-item-v416-remove{width:36px;height:36px;padding:0;border:1px solid #e8eaed;border-radius:11px;background:#fff;color:#8a9096;display:flex;align-items:center;justify-content:center;cursor:pointer}
.queue-item-v416-remove svg{width:16px;height:16px}
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.95)}
/* v1.6.416 — сторінка «Завдання» (T1 «Окремі картки») */
.tk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tk-top h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em;color:#101214}
.tk-top span{font-size:15px;line-height:1.35;color:#5c6167}
.tk-top em{font-style:normal;font-weight:700;color:#c93a32}
.tk-tabs{display:flex;height:36px;box-sizing:border-box;margin-bottom:12px;padding:2px;gap:2px;border-radius:11px;background:#e7e9ec}
html body .tk-tabs a,html body .tk-tabs a.active{flex:1;height:32px!important;min-height:0!important;max-height:32px!important;margin:0!important;padding:0!important;border:0!important;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:9px;background:transparent;box-shadow:none;font-size:13px;font-weight:600;color:#5c6167;text-decoration:none}
html body .tk-tabs a.active{background:#fff;color:#101214;font-weight:800;box-shadow:0 1px 2px rgba(16,18,20,.1)}
.tk-search{display:flex;align-items:center;gap:8px;height:40px;box-sizing:border-box;margin:0 0 12px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid #e3e5e8}
.tk-search svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:#8a9096;stroke-width:2.2;stroke-linecap:round}
html body .tk-search input[name="q"]{flex:1;min-width:0;height:auto;min-height:0;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;font:inherit;font-size:15px;color:#101214}
.tk-list-shell{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
.tk-group{display:flex;flex-direction:column;gap:6px}
.tk-group h2{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#5c6167}
.tk-group h2 span{min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#e3e5e8;font-size:11px;color:#3d4247}
.tk-group-overdue h2{color:#c93a32}
.tk-group-overdue h2 span{background:#fbe1df;color:#c93a32}
.tk-list{display:flex;flex-direction:column;gap:6px}
.tk-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:16px;background:#fff;border:1px solid #e8eaed}
.tk-item.is-done{background:#f7f8f9}
.tk-check-form{margin:0;display:flex}
html body .tk-item .tk-check{width:24px;height:24px;min-width:24px;min-height:0;flex:0 0 24px;margin:0;padding:0;border-radius:12px;border:2px solid #c3c7cc;background:#fff;color:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
html body .tk-item.is-over .tk-check{border-color:#e39a94}
html body .tk-item .tk-check.is-on{background:#151719;border-color:#151719;color:#fff}
.tk-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tk-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.tk-title{font-size:15px;line-height:1.3;font-weight:700;color:#101214;overflow-wrap:anywhere}
.tk-item.is-done .tk-title{color:#8a9096;text-decoration:line-through;text-decoration-color:#b0b4b9}
.tk-note{margin:0;font-size:13px;line-height:1.35;color:#5c6167;overflow-wrap:anywhere}
.tk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:2px;font-size:12px;line-height:1.3;color:#70757b}
.tk-meta svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tk-due{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:#3d4247;font-variant-numeric:tabular-nums}
.tk-due svg,.tk-doneby svg{width:13px;height:13px}
.tk-due i{margin-left:4px;font-style:normal;font-weight:600;opacity:.85}
.tk-due.is-over{color:#c93a32}
.tk-who{display:inline-flex;align-items:center;gap:4px}
.tk-who b{font-weight:600;color:#5c6167}
.tk-who svg{width:12px;height:12px;color:#a3a8ae}
.tk-doneby{flex-basis:100%;display:inline-flex;align-items:center;gap:4px}
.tk-empty{padding:18px 16px;border:1.5px dashed #d9dce0;border-radius:16px;text-align:center;font-size:15px;color:#70757b}
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
html body .tk-item .tk-check.press-v416:active{transform:scale(.88)}/* v437: Tasks — add button hidden on phones (the yellow + in the bottom bar adds tasks); nothing may exceed the viewport */
@media(max-width:820px){html body .tk-top .tk-add.contextual-desktop-add:not(#x){display:none!important}}
.tk-top>div{min-width:0}

/* v1.6.416 — каса, стиль В1 (усі сторінки) */
.fx{display:flex;flex-direction:column;gap:12px;padding-bottom:12px;color:#101214}
.fx svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fx a{color:inherit;text-decoration:none}
/* шапка */
.fx-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fx-head h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.fx-sub{margin:2px 0 0;font-size:15px;line-height:1.35;color:#5c6167}
html body .fx-gear{width:40px;height:40px;min-height:0;flex:0 0 40px;padding:0;margin:0;border:1px solid #e3e5e8;border-radius:12px;background:#fff;box-shadow:none;color:#101214;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fx-gear svg{width:20px;height:20px}
/* вкладки розділів */
.fx-tabs{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:0 10px;border-bottom:1px solid #e3e5e8}
.fx-tabs::-webkit-scrollbar{display:none}
html body .fx-tabs a,html body .fx-tabs a.active{flex:0 0 auto;height:38px!important;min-height:0!important;margin:0!important;padding:0!important;display:flex;align-items:center;border:0!important;border-bottom:2.5px solid transparent!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:15px;font-weight:600;color:#70757b;white-space:nowrap}
html body .fx-tabs a.active{color:#101214;font-weight:800;border-bottom-color:#101214!important}
/* період */
.fx-period-form{margin:0}
.fx-period{display:flex;height:36px;box-sizing:border-box;padding:2px;gap:2px;border-radius:11px;background:#e7e9ec}
html body .fx-period button,html body .fx-period button.active{flex:1;height:32px!important;min-height:0!important;max-height:32px!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;font:inherit;font-size:13px;font-weight:600;color:#5c6167;cursor:pointer}
html body .fx-period button.active{background:#fff!important;color:#101214;font-weight:800;box-shadow:0 1px 2px rgba(16,18,20,.1)!important}
html body .fx-period .fx-period-cal{flex:0 0 40px;display:flex;align-items:center;justify-content:center}
.fx-period-cal svg{width:17px;height:17px}
/* жовтий блок */
.fx-hero{display:flex;flex-direction:column;gap:2px;padding:14px 16px 12px;border-radius:18px;background:#f0cf4b}
.fx-hero>span{font-size:12px;font-weight:700;color:#3d3a2a}
.fx-hero>strong{font-size:32px;line-height:1.15;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.fx-hero>strong.is-negative{color:#a3251d}
.fx-hero-note{font-style:normal;font-size:13px;font-weight:600;color:#3d3a2a}
.fx-eq{display:flex;align-items:stretch;margin-top:10px;padding-top:10px;border-top:1px solid rgba(16,18,20,.12)}
.fx-eq>a,.fx-eq>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.fx-eq small{font-size:11px;font-weight:600;color:#5b5230}
.fx-eq b{font-size:17px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-eq i{flex:0 0 18px;display:flex;align-items:flex-end;padding-bottom:2px;font-style:normal;font-weight:700;color:#7a6c2e}
/* картки */
.fx-card{padding:14px 14px 10px;border-radius:18px;background:#fff;border:1px solid #e8eaed}
.fx-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.fx-card-h h2{margin:0;font-size:18px;line-height:1.2;font-weight:800;color:#101214}
.fx-card-h>b{font-size:18px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-count{min-width:22px;height:22px;padding:0 7px;box-sizing:border-box;border-radius:11px;background:#f0f1f3;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#3d4247}
.fx-link{font-size:13px;font-weight:700;color:#3d4247;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c3c7cc}
.fx-empty{padding:14px 12px;border:1.5px dashed #d9dce0;border-radius:12px;text-align:center;font-size:13px;color:#70757b}
/* смужка і рядки */
.fx-bar{display:flex;gap:3px;height:8px;margin:2px 0 8px}
.fx-bar i{border-radius:4px}
.fx-bar .c0,.fx-dot.c0{background:#151719}.fx-bar .c1,.fx-dot.c1{background:#f0cf4b}.fx-bar .c2,.fx-dot.c2{background:#a3a8ae}.fx-bar .c3,.fx-dot.c3{background:#d9c8f2}
.fx-row{display:flex;align-items:center;gap:8px;min-height:32px;font-size:15px}
.fx-row-l{flex:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;color:#3d4247}
.fx-row-l small{font-size:12px;color:#8a9096}
.fx-row>b{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-row-sm{min-height:28px;font-size:13px}
.fx-row-sm>b{font-weight:600;color:#3d4247}
.fx-dot{width:10px;height:10px;flex-shrink:0;border-radius:3px}
.fx-ico{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#f0f1f3;display:flex;align-items:center;justify-content:center;color:#3d4247}
.fx-ico svg{width:16px;height:16px}
.fx-row-sm .fx-ico{width:22px;height:22px;flex-basis:22px;background:none}
.fx-sep{height:1px;margin:6px 0;background:#eef0f2}
/* «Потребує уваги» */
.fx-att{display:flex;align-items:center;gap:10px;padding:10px 0}
.fx-att+.fx-att{border-top:1px solid #eef0f2}
.fx-att .fx-ico{width:34px;height:34px;flex-basis:34px;border-radius:11px}
.fx-att .fx-ico svg{width:18px;height:18px}
.fx-att.is-alert .fx-ico{background:#fbe1df;color:#c93a32}
.fx-att-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.fx-att-t b{font-size:15px;font-weight:700}
.fx-att-t small{font-size:12px;color:#70757b}
.fx-att strong{font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-att>svg{width:16px;height:16px;flex-shrink:0;color:#a3a8ae}
/* категорії */
.fx-cat{display:flex;flex-direction:column;gap:5px;padding:7px 0}
.fx-cat-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#3d4247}
.fx-cat-top b{font-size:15px;font-weight:700;color:#101214;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-cat-bar{display:block;height:6px;border-radius:3px;background:#f0f1f3;overflow:hidden}
.fx-cat-bar i{display:block;height:100%;border-radius:3px;background:#f0cf4b}
/* списки */
.fx-list{padding-bottom:4px}
.fx-day{margin:10px 0 2px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#8a9096}
.fx-card-h+.fx-day{margin-top:0}
.fx-item{position:relative;display:flex;align-items:center;gap:10px;padding:10px 0}
.fx-item+.fx-item{border-top:1px solid #eef0f2}
.fx-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fx-item-main>b{font-size:15px;line-height:1.3;font-weight:700;color:#101214}
.fx-item-main>span{font-size:12px;line-height:1.35;color:#70757b}
.fx-item-main>.fx-strong{font-size:13px;font-weight:600;color:#3d4247}
.fx-meta{color:#8a9096!important}
.fx-item-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fx-item-side small{font-size:11px;color:#8a9096}
.fx-item strong{font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-item>svg{width:16px;height:16px;flex-shrink:0;color:#a3a8ae}
.is-pos{color:#16804a!important}.is-neg{color:#c93a32!important}.is-gift{color:#70757b!important}
.fx-item-acts{display:flex;gap:4px}
.fx-item-acts form{margin:0;display:flex}
html body .fx-mini-btn{width:28px;height:28px;min-height:0;padding:0;margin:0;border:1px solid #e8eaed;border-radius:9px;background:#fff;box-shadow:none;color:#8a9096;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fx-mini-btn svg{width:14px;height:14px}
.fx-days{font-style:normal;padding:2px 7px;border-radius:7px;background:#f0f1f3;font-size:11px;font-weight:800;color:#5c6167}
.fx-days.is-warn{background:#fff3cf;color:#8a6a00}
.fx-days.is-bad{background:#fbe1df;color:#c93a32}
.fx-debt{align-items:flex-start}
/* операції */
.fx-duo{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fx-duo>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e8eaed}
.fx-duo small{font-size:12px;font-weight:600;color:#70757b}
.fx-duo b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.fx-op-ico{width:30px;height:30px;flex:0 0 30px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#e3f5ea;color:#16804a}
.fx-op-ico svg{width:15px;height:15px;stroke-width:2.6}
.fx-op-ico.is-neg{background:#fbe1df}
.fx-op-ico.is-gift{background:#f0f1f3}
.fx-op .fx-item-main>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-op .fx-item-main>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* зарплати */
.fx-worker .avatar,.fx-worker img{flex-shrink:0}
.fx-cover{position:absolute;inset:0;z-index:1;font-size:0}
.fx-worker .fx-item-side{position:relative;z-index:2}
.fx-worker .fx-item-main>span:not(.fx-meta){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .fx-btn{height:32px;min-height:0;padding:0 14px;margin:0;border:0;border-radius:10px;background:#f0cf4b;color:#101214;box-shadow:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.fx-paid{font-style:normal;font-size:12px;font-weight:700;color:#8a9096}
html body .fx-worker.finance-payroll-card-v396:active{transform:none}
/* звіти */
.fx-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.fx-chips::-webkit-scrollbar{display:none}
html body .fx-chips button,html body .fx-chips button.active{flex:0 0 auto;height:32px!important;min-height:0!important;padding:0 14px!important;margin:0!important;border:1px solid #e3e5e8!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;font:inherit;font-size:13px;font-weight:600;color:#3d4247;cursor:pointer}
html body .fx-chips button.active{background:#151719!important;border-color:#151719!important;color:#fff;font-weight:800}
.fx-view.finance-report-view-v405{display:none}
.fx-view.finance-report-view-v405.active{display:flex;flex-direction:column;gap:12px}
.fx-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.fx-stats>div{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:12px;background:#f5f6f7}
.fx-stats small{font-size:12px;font-weight:600;color:#70757b}
.fx-stats b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.fx-rank{width:24px;height:24px;flex:0 0 24px;border-radius:12px;background:#f0f1f3;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#5c6167}
.fx-exp+.fx-exp{border-top:1px solid #eef0f2}
.fx-exp summary{display:flex;align-items:center;gap:10px;padding:10px 0;list-style:none;cursor:pointer}
.fx-exp summary::-webkit-details-marker{display:none}
.fx-exp summary strong{font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-exp summary>svg{width:16px;height:16px;flex-shrink:0;color:#a3a8ae;transition:transform .2s}
.fx-exp[open] summary>svg{transform:rotate(90deg)}
.fx-exp summary .fx-cat-bar{margin-top:4px}
.fx-exp-body{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;padding:6px 10px;border-radius:10px;background:#f5f6f7}
.fx-exp-body>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;color:#3d4247}
.fx-exp-body b{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.press-v416{transition:transform .16s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent}
.press-v416:active{transform:scale(.94)}
.fx-att:active,.fx-item:active,.fx-row:active,.fx-cat:active{opacity:.7}
/* підсторінки каси */
.fx-back{display:inline-flex;align-items:center;gap:2px;align-self:flex-start;height:28px;margin-bottom:-6px;font-size:13px;font-weight:700;color:#5c6167!important}
.fx-back svg{width:16px;height:16px;transform:rotate(180deg)}
.fx-person-head{justify-content:flex-start;gap:12px}
.fx-person-head h1{font-size:24px}
.fx-person-head .fx-sub{font-size:13px}
.fx-job{align-items:flex-start}
.fm{display:flex;flex-direction:column;gap:12px;padding-bottom:84px;color:#101214;font-size:15px}
.fm svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fm [hidden]{display:none!important}
html body .fm button{font-family:inherit;cursor:pointer;min-height:0!important;margin:0;box-shadow:none;letter-spacing:0}
.fm-head h1{margin:0;font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.fm-form{display:flex;flex-direction:column;gap:12px;margin:0}
.fm-sec{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:18px;background:#fff;border:1px solid #e8eaed;min-width:0}
.fm-sec>h2{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;line-height:22px;font-weight:800;letter-spacing:0}
.fm-sec>h2 i{flex:0 0 22px;width:22px;height:22px;border-radius:11px;background:#151719;color:#fff;font-style:normal;font-size:12px;display:flex;align-items:center;justify-content:center}
/* сегменти */
.fm-seg{display:flex;height:40px;padding:2px;gap:2px;box-sizing:border-box;border-radius:12px;background:#e7e9ec}
html body .fm-seg button{flex:1 1 0;min-width:0;height:36px!important;border:0!important;border-radius:10px!important;background:transparent!important;font-size:14px;font-weight:600;color:#5c6167;padding:0 4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .fm-seg button.on{background:#fff!important;color:#101214;font-weight:800;box-shadow:0 1px 2px rgba(16,18,20,.12)!important}
/* поля */
.fm-anchor{position:relative;min-width:0}
.fm-search{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;box-sizing:border-box;border-radius:12px;border:1px solid #e3e5e8;background:#fff;margin:0;cursor:text}
.fm-search>svg{flex:0 0 17px;width:17px;height:17px;color:#8a9096}
html body .fm-search input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:16px;padding:0!important;height:40px!important;min-height:0!important;box-shadow:none!important;margin:0!important;color:#101214}
.fm-search.is-off{background:#f5f6f7}
.fm-search:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
html body .fm-in{display:block;height:44px!important;min-height:0!important;box-sizing:border-box;width:100%;min-width:0;border:1px solid #e3e5e8!important;border-radius:12px!important;padding:0 12px!important;font:inherit;font-size:16px!important;background:#fff!important;box-shadow:none!important;margin:0!important;color:#101214}
html body .fm-in:focus{outline:0;border-color:#151719!important;box-shadow:0 0 0 3px rgba(240,207,75,.45)!important}
html body textarea.fm-in{height:auto!important;min-height:64px!important;padding:10px 12px!important;resize:vertical;line-height:1.35}
.fm-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.fm-two>*{min-width:0}
.fm .fm-two label{display:block;margin:0;min-width:0}
/* телефон: обгортка .lc-phone-field створюється app.js */
html body .fm .lc-phone-field{display:flex!important;grid-template-columns:none!important;gap:0!important;height:44px;box-sizing:border-box;border:1px solid #e3e5e8;border-radius:12px;overflow:hidden;background:#fff}
html body .fm .lc-phone-field:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
html body .fm .lc-phone-prefix{min-height:0!important;height:auto;padding:0 12px!important;border:0!important;border-right:1px solid #e3e5e8!important;border-radius:0!important;background:#f5f6f7!important;font-size:16px!important;font-weight:700!important;color:#5c6167!important}
html body .fm .lc-phone-field input{flex:1;min-width:0;height:42px!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0 12px!important;font-size:16px!important;font-weight:600;background:transparent!important;margin:0!important}
.fm-pre{display:flex;height:44px;box-sizing:border-box;border:1px solid #e3e5e8;border-radius:12px;overflow:hidden;background:#fff}
.fm-pre>span{display:flex;align-items:center;padding:0 12px;background:#f5f6f7;border-right:1px solid #e3e5e8;font-weight:700;color:#5c6167}
html body .fm-pre input{flex:1;min-width:0;height:42px!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0 12px!important;font:inherit;font-size:16px!important;font-weight:600;background:transparent!important;margin:0!important}
.fm-pre:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
.fm-amount{display:flex;align-items:center;gap:6px;height:52px;padding:0 14px;box-sizing:border-box;border:1px solid #e3e5e8;border-radius:12px;background:#fff;margin:0}
.fm-amount:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
html body .fm-amount input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:26px!important;font-weight:800;letter-spacing:-.02em;padding:0!important;height:50px!important;min-height:0!important;box-shadow:none!important;margin:0!important;font-variant-numeric:tabular-nums;color:#101214}
.fm-amount span{font-size:15px;font-weight:700;color:#8a9096}
.fm-amount input::-webkit-outer-spin-button,.fm-amount input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fm-amount input[type=number]{-moz-appearance:textfield}
/* мітки */
.fm-chips{display:flex;flex-wrap:wrap;gap:6px}
.fm-chips:empty{display:none}
.fm-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 6px 4px 12px;box-sizing:border-box;border-radius:16px;background:#f0cf4b;color:#101214;font-size:13px;font-weight:700;line-height:1.2;max-width:100%}
.fm-chip b{font-weight:800;white-space:nowrap}
.fm-chip small{display:block;font-size:11px;font-weight:600;color:#5a4a0c}
.fm-chip>span{min-width:0}
html body .fm-chip button{flex:0 0 24px;width:24px;height:24px!important;padding:0!important;border:0!important;border-radius:12px!important;background:rgba(16,18,20,.08)!important;display:flex;align-items:center;justify-content:center;color:#101214}
.fm-chip button svg{width:13px;height:13px;stroke-width:2.4}
/* випадаючий список */
.fm-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:#fff;border:1px solid #e3e5e8;box-shadow:0 12px 32px rgba(16,18,20,.18);max-height:min(360px,55vh);overflow:auto;overscroll-behavior:contain;animation:fm-pop .16s cubic-bezier(.2,.8,.2,1)}
@keyframes fm-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fm-list{padding:4px;gap:0}
html body .fm-list button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px!important;height:auto!important;padding:6px 10px!important;border:0!important;border-radius:10px!important;background:none!important;text-align:left;color:#101214;flex:0 0 auto}
html body .fm-list button.hl,html body .fm-list button:hover{background:#f5f6f7!important}
.fm-list button>span{flex:1;min-width:0;display:flex;flex-direction:column;font-size:15px;font-weight:600;line-height:1.25}
.fm-list button>span small{font-size:11px;font-weight:500;color:#8a9096}
.fm-list u{text-decoration:none;background:#fbecb0;border-radius:3px}
.fm-list button>span em{font-style:normal;display:block}
.fm-list button>b{font-size:13px;font-weight:700;color:#5c6167;white-space:nowrap}
.fm-list button>svg{flex:0 0 16px;width:16px;height:16px;color:#8a9096}
.fm-list .fm-empty{padding:10px;font-size:13px;color:#8a9096}
/* дні */
.fm-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 40px;gap:4px}
html body .fm-days button,.fm-daycal{position:relative;height:50px!important;box-sizing:border-box;border:1px solid #e8eaed!important;border-radius:12px!important;background:#fff!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0!important;color:#101214;min-width:0}
.fm-days small{font-size:10px;line-height:12px;font-weight:700;color:#8a9096;text-transform:uppercase}
.fm-days b{font-size:17px;line-height:20px;font-weight:800;font-variant-numeric:tabular-nums}
html body .fm-days button.on{background:#f0cf4b!important;border-color:#f0cf4b!important}
html body .fm-days button.on small{color:#5a4a0c}
html body .fm-days button:disabled{opacity:.35;cursor:default}
html body .fm-days button.today small{color:#101214}
html body .fm-days button.today:not(.on):not(.in)::after{content:"";position:absolute;bottom:4px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:3px;background:#e0b928}
.fm-daycal{background:#f0f1f3!important;border-color:#f0f1f3!important;overflow:hidden;cursor:pointer}
.fm-daycal svg{width:18px;height:18px}
html body .fm-daycal input{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;opacity:0;border:0!important;padding:0!important;margin:0!important;cursor:pointer}
.fm-daycal .crm-date-shell{position:absolute!important;inset:0!important;display:block!important;width:auto!important;margin:0!important}
html body .fm-daycal .crm-date-trigger{position:absolute!important;inset:0!important;z-index:1;width:100%!important;height:100%!important;min-height:0!important;opacity:0!important;padding:0!important;margin:0!important;border:0!important}
.fm-range{column-gap:4px}
html body .fm-range button.in{background:#fbecb0!important;border-color:#fbecb0!important;border-radius:0!important}
html body .fm-range button.in:not(.re){box-shadow:4px 0 0 #fbecb0!important}
html body .fm-range button.in small{color:#5a4a0c}
html body .fm-range button.rs{background:#f0cf4b!important;border-color:#f0cf4b!important;border-radius:12px 0 0 12px!important}
html body .fm-range button.re{background:#f0cf4b!important;border-color:#f0cf4b!important;border-radius:0 12px 12px 0!important}
html body .fm-range button.rs.re{border-radius:12px!important}
.fm-note-line{font-size:12px;color:#70757b;margin-top:-4px}
.fm-note-line b{color:#101214}
/* люди */
.fm-people{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
.fm-people::-webkit-scrollbar{display:none}
html body .fm-people button{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:36px!important;padding:0 12px 0 4px!important;border:1px solid #e3e5e8!important;border-radius:18px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247;white-space:nowrap}
.fm-people i{width:28px;height:28px;border-radius:14px;background:#f0f1f3;font-style:normal;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#3d4247}
.fm-people i svg{width:14px;height:14px}
html body .fm-people button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.fm-people button.on i{background:#f0cf4b;color:#101214}
.fm-people button.is-me:not(.on) i{background:#fbecb0;color:#5a4a0c}
.fm-self{display:flex;align-items:center;gap:8px;font-size:13px;color:#5c6167}
.fm-self b{color:#101214}
/* поле часу */
html body .fm-tfield{width:100%;display:flex;align-items:center;gap:10px;height:48px!important;padding:0 12px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;text-align:left;color:#101214}
.fm-tfield>svg:first-child{flex:0 0 20px;width:20px;height:20px;color:#5c6167}
.fm-tfield>svg:last-child{flex:0 0 18px;width:18px;height:18px;color:#8a9096;transition:transform .2s}
.fm-tfield>span{flex:1;min-width:0;display:flex;flex-direction:column}
.fm-tfield small{font-size:11px;line-height:13px;font-weight:600;color:#8a9096}
.fm-tfield b{font-size:17px;line-height:21px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .fm-tfield:disabled{background:#f5f6f7!important;cursor:default}
.fm-tfield:disabled b,.fm-tfield.is-ph b{font-size:15px;font-weight:600;color:#8a9096}
html body .fm-tfield[aria-expanded="true"]{border-color:#151719!important;box-shadow:0 0 0 3px rgba(240,207,75,.45)!important}
.fm-tfield[aria-expanded="true"]>svg:last-child{transform:rotate(180deg)}
.fm-pop-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.fm-pop-h b{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#70757b}
.fm-pop-h small{font-size:12px;color:#8a9096}
.fm-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
html body .fm-times button{height:38px!important;border:1px solid #e3e5e8!important;border-radius:10px!important;background:#fff!important;font-size:15px;font-weight:700;padding:0!important;color:#101214;font-variant-numeric:tabular-nums;position:relative}
html body .fm-times button:disabled{background:#f5f6f7!important;color:#b0b4b9;text-decoration:line-through;border-color:#f0f1f3!important;cursor:default}
html body .fm-times button.is-busy::after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:3px;background:#e8863a}
html body .fm-times button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.fm-ends{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
html body .fm-ends button{height:34px!important;padding:0 12px!important;border:1px solid #e3e5e8!important;border-radius:17px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247;font-variant-numeric:tabular-nums}
html body .fm-ends button.on{background:#f0cf4b!important;border-color:#f0cf4b!important;color:#101214}
html body .fm-ends .fm-allday{border-style:dashed!important;font-weight:600}
html body .fm-ends .fm-allday.on{border-style:solid!important}
html body .fm-pop-ok{height:42px!important;border:0!important;border-radius:12px!important;background:#f0cf4b!important;font-size:15px;font-weight:800;color:#101214;padding:0!important;flex:0 0 auto}
.fm-pop-msg{padding:6px 2px;font-size:13px;color:#70757b}
/* підказки */
.fm-found{display:flex;align-items:center;gap:6px;margin-top:-4px;font-size:12px;font-weight:600;color:#16804a}
.fm-found svg{flex:0 0 14px;width:14px;height:14px;stroke-width:2.6}
.fm-warn{padding:8px 10px;border-radius:10px;background:#fff4e5;color:#8a4b00;font-size:12px;font-weight:600;line-height:1.35}
html body .fm-note-btn{align-self:flex-start;display:flex;align-items:center;gap:6px;height:32px!important;padding:0 4px!important;border:0!important;background:none!important;font-size:13px;font-weight:700;color:#5c6167;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c3c7cc}
.fm-note-btn svg{width:15px;height:15px}
html body .fm-file{display:flex;align-items:center;justify-content:center;gap:6px;height:44px!important;width:100%;box-sizing:border-box;border:1.5px dashed #d0d4d8!important;border-radius:12px!important;background:#fafafb!important;font-size:13px;font-weight:700;color:#5c6167;padding:0 10px!important;min-width:0}
.fm-file svg{flex:0 0 16px;width:16px;height:16px}
.fm-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-file.has-file{border-style:solid!important;color:#101214}
.fm-err{margin:0;padding:10px 12px;border-radius:12px;background:#fdecec;color:#a4262c;font-size:13px;font-weight:600}
.fm [aria-invalid="true"],.fm .is-invalid{border-color:#d6453d!important;box-shadow:0 0 0 3px rgba(214,69,61,.15)!important}
/* нижня панель */
.fm-bar{position:fixed;left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:18px;background:#fff;border:1px solid #e6e8eb;box-shadow:0 8px 24px rgba(16,18,20,.14)}
.fm-bar>div{flex:1;min-width:0;display:flex;flex-direction:column}
.fm-bar b{font-size:17px;line-height:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-bar small{font-size:12px;line-height:16px;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .fm-go{flex:0 0 auto;height:44px!important;padding:0 22px!important;border:0!important;border-radius:13px!important;background:#f0cf4b!important;font-size:15px;font-weight:800;color:#101214}
.fm-bar.is-off b{color:#8a9096}
.fm-bar.is-off .fm-go{background:#e7e9ec!important;color:#8a9096}
.fm-go[aria-busy="true"]{opacity:.6}
@media(min-width:821px){
  .fm{max-width:640px;padding-bottom:12px}
  .fm-bar{position:sticky;left:auto;right:auto;bottom:12px}
}
/* діалог накладки */
.fm-dialog{border:0;padding:0;border-radius:20px;max-width:360px;width:calc(100% - 32px);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.fm-dialog::backdrop{background:rgba(16,18,20,.45)}
.fm-dialog>div{display:flex;flex-direction:column;gap:10px;padding:18px}
.fm-dialog h2{margin:0;font-size:18px;font-weight:800}
.fm-dialog p{margin:0;font-size:14px;color:#3d4247;line-height:1.4}
.fm-dialog .fm-conf{display:flex;flex-direction:column;gap:6px}
.fm-dialog .fm-conf div{padding:8px 10px;border-radius:10px;background:#f5f6f7;font-size:13px}
.fm-dialog .fm-conf b{display:block;font-size:14px}
.fm-dialog .fm-conf small{color:#70757b}
.fm-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body .fm-dialog-actions button{height:44px!important;border:0!important;border-radius:12px!important;font-size:14px;font-weight:800;padding:0 8px!important}
html body .fm-dialog-actions button:first-child{background:#f0f1f3!important;color:#101214}
html body .fm-dialog-actions button:last-child{background:#f0cf4b!important;color:#101214}
/* кнопка «+» у меню на сторінці нового запису */
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .mobile-nav-new.active{background:#f0cf4b!important;color:#101214!important}
html body nav.mobile-bottom-nav.nav-v416.nav-v416.nav-v416 .mobile-nav-new.active b{color:#101214!important}
.fm-custom-time{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;border:0!important;padding:0!important;margin:0!important}
html body .fm-in-title{font-weight:600}
@media (max-width:340px){html body .fm-seg button{font-size:13px;letter-spacing:-.01em}}
@media (prefers-reduced-motion:reduce){.fm-pop{animation:none}.fm-tfield>svg:last-child{transition:none}}

/* v1.6.416 — картка роботи (R4) */
html body .bc{max-width:560px;margin:0 auto;padding:6px 10px calc(92px + env(safe-area-inset-bottom));box-sizing:border-box;display:flex;flex-direction:column;gap:10px;color:#101214;font-size:15px}
.bc [hidden]{display:none!important}
.bc a{color:inherit;text-decoration:none}
.bc-top{display:flex;align-items:center;gap:8px;min-height:44px}
.bc-top h1{flex:1;min-width:0;margin:0;font-size:18px;line-height:24px;font-weight:800;letter-spacing:-.01em}
html body .bc-ibtn{flex:0 0 40px;width:40px;height:40px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#101214}
.bc-ibtn svg{width:20px;height:20px}
.bc-menu{position:relative}
html body .bc-menu-pop{left:auto;right:0;width:250px;padding:4px;gap:0}
html body .bc-menu-pop>a,html body .bc-menu-pop>button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px!important;height:auto!important;padding:6px 10px!important;border:0!important;border-radius:10px!important;background:none!important;text-align:left;color:#101214;font-size:15px;font-weight:700}
html body .bc-menu-pop>a:hover,html body .bc-menu-pop>button:hover{background:#f5f6f7!important}
.bc-menu-pop svg{flex:0 0 18px;width:18px;height:18px;color:#5c6167}
.bc-menu-pop span{display:flex;flex-direction:column;line-height:1.25}
.bc-menu-pop small{font-size:12px;font-weight:600;color:#8a9096}
/* картки */
.bc-card{background:#fff;border:1px solid #e8eaed;border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.bc-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.bc-h h2{margin:0;font-size:15px;line-height:20px;font-weight:800;letter-spacing:0}
.bc-h small{font-size:12px;font-weight:600;color:#8a9096}
/* шапка */
.bc-hero{padding:14px;gap:12px}
.bc-car{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.bc-car>div{min-width:0}
.bc-car h2{margin:0;font-size:24px;line-height:1.15;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}
.bc-car .bc-client{margin:4px 0 0;font-size:19px;line-height:1.2;font-weight:700;color:#3d4247;letter-spacing:-.01em;overflow-wrap:anywhere}
.bc-plate{display:inline-block;margin-top:6px;padding:2px 7px;border:1.5px solid #d6d9dd;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#3d4247}
.bc-logo{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bc-logo img{width:30px;height:30px;object-fit:contain}
.bc-online{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#16804a}
.bc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bc-actions.is-one{grid-template-columns:1fr}
.bc-act{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:13px;background:#f3f4f6;font-size:15px;font-weight:800;color:#101214}
.bc-act svg{width:18px;height:18px}
html body .bc .bc-act.is-call{background:#16804a;color:#fff}
/* повідомлення */
.bc-note{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:#f3f4f6;font-size:13px;line-height:1.4;color:#3d4247}
.bc-note>svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:#70757b}
.bc-note>span{flex:1;min-width:0}
.bc-note small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6400}
.bc-note a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.bc-note.is-warn{background:#fff6d6;color:#101214;font-size:15px;font-weight:700}
.bc-note.is-warn>svg{color:#8a6400}
.bc-note.is-ok{background:#e3f5ea;color:#11643a}
.bc-note form{margin:0}
html body .bc-mini{height:32px!important;padding:0 12px!important;border:0!important;border-radius:10px!important;background:#151719!important;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.bc-seen{font-style:normal;font-size:12px;font-weight:700;color:#16804a;white-space:nowrap}
/* статус */
.bc-status{gap:10px}
.bc-meta{display:flex;gap:6px;flex-wrap:wrap}
.bc-meta span{display:flex;align-items:center;gap:5px;min-height:30px;padding:4px 10px;box-sizing:border-box;border-radius:15px;background:#f3f4f6;font-size:13px;font-weight:700;line-height:1.2}
.bc-meta svg{flex:0 0 14px;width:14px;height:14px;color:#5c6167}
.bc-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.bc-steps div{display:flex;flex-direction:column;gap:5px;font-size:11px;line-height:13px;font-weight:700;color:#9aa0a6;min-width:0}
.bc-steps span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-steps i{height:6px;border-radius:3px;background:#e7e9ec;display:block}
.bc-steps .done,.bc-steps .cur{color:#101214}
.bc-steps div:nth-child(1).done i,.bc-steps div:nth-child(1).cur i{background:#2f80ed}
.bc-steps div:nth-child(2).done i,.bc-steps div:nth-child(2).cur i{background:#f0cf4b}
.bc-steps div:nth-child(3).done i,.bc-steps div:nth-child(3).cur i,
.bc-steps div:nth-child(4).done i,.bc-steps div:nth-child(4).cur i{background:#20a464}
.bc-steps div:nth-child(5).done i,.bc-steps div:nth-child(5).cur i{background:#151719}
.bc-status form{margin:0}
html body .bc-big{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;height:50px!important;border:0!important;border-radius:14px!important;background:#f0cf4b!important;font-size:16px;font-weight:800;color:#101214;padding:0 14px!important}
html body .bc-big.is-dark{background:#151719!important;color:#fff}
.bc-big svg{width:20px;height:20px;stroke-width:2.6}
.bc-big .save-checkmark,.bc-go .save-checkmark{width:26px;height:20px;stroke-width:6}
.bc-big .save-checkmark path,.bc-go .save-checkmark path{stroke-dasharray:80;stroke-dashoffset:80;animation:bc-draw .45s ease-out forwards}
@keyframes bc-draw{to{stroke-dashoffset:0}}
html body .bc-big.is-busy,html body .bc-go.is-busy{opacity:.7}
html body .bc-big.is-done,html body .bc-go.is-done{background:#16804a!important;color:#fff}
.bc-auto{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;box-sizing:border-box;border-radius:12px;background:#f3f4f6;font-size:13px;font-weight:700;color:#5c6167;line-height:1.3}
.bc-auto svg{flex:0 0 16px;width:16px;height:16px}
.bc-auto.is-paid{background:#e3f5ea;color:#16804a}
.bc-auto.is-warn{background:#fff4e5;color:#8a4b00}
.bc-stamp{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#fdecec;color:#a4262c;font-size:15px;font-weight:800}
.bc-stamp small{font-size:12px;font-weight:600;color:#5c6167}
.bc-cert{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px dashed #d6d9dd;font-size:13px;font-weight:700}
.bc-cert svg{flex:0 0 16px;width:16px;height:16px;color:#5c6167}
.bc-cert span{flex:1;min-width:0;display:flex;flex-direction:column}
.bc-cert small{font-size:12px;font-weight:600;color:#70757b}
.bc-cert a{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
html body .bc-line{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;height:42px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;font-size:14px;font-weight:800;color:#101214;padding:0 10px!important}
.bc-line svg{width:16px;height:16px}
.bc-two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bc-two form{margin:0}
.bc-role{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#16804a}
.bc-role svg{width:14px;height:14px;stroke-width:2.6}
/* послуги */
#bc-price-form{margin:0;display:flex;flex-direction:column}
.bc-srow{display:flex;align-items:center;gap:8px;min-height:48px;padding:4px 0;box-sizing:border-box;border-bottom:1px solid #f0f1f3}
.bc-srow>span{flex:1;min-width:0;font-size:15px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.bc-srow.is-ro>b{font-size:15px;font-weight:800;white-space:nowrap}
.bc-money{flex:0 0 108px;display:flex;align-items:center;gap:4px;height:40px;padding:0 10px;margin:0;border:1px solid #e3e5e8;border-radius:11px;box-sizing:border-box;background:#fff;cursor:text}
.bc-money:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
html body .bc-money input{flex:1;min-width:0;width:100%;height:36px!important;min-height:0!important;border:0!important;outline:0;box-shadow:none!important;font:inherit;font-size:16px!important;font-weight:800;text-align:right;padding:0!important;margin:0!important;background:transparent!important;color:#101214;font-variant-numeric:tabular-nums}
.bc-money em{font-style:normal;font-size:12px;color:#8a9096;font-weight:700}
html body .bc-x{flex:0 0 30px;width:30px;height:30px!important;border:0!important;border-radius:15px!important;background:#f5f6f7!important;color:#8a9096;display:flex;align-items:center;justify-content:center;padding:0!important}
.bc-x svg{width:14px;height:14px}
html body .bc-add{display:flex;align-items:center;gap:8px;width:100%;height:42px!important;border:1.5px dashed #d6d9dd!important;border-radius:12px!important;background:#fafafb!important;font-size:14px;font-weight:700;color:#3d4247;padding:0 12px!important;margin-top:2px}
.bc-add svg{width:16px;height:16px}
.bc-disc{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}
.bc-disc-anchor{position:relative;flex:0 1 auto}
html body .bc-chip{display:flex;align-items:center;gap:6px;height:34px!important;padding:0 10px!important;border:1px solid #e3e5e8!important;border-radius:17px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247;white-space:nowrap}
html body .bc-chip.is-on{background:#fff6d6!important;border-color:#f0cf4b!important;color:#101214}
.bc-chip.is-static{font-size:12px}
.bc-chip svg{flex:0 0 15px;width:15px;height:15px}.bc-chip svg:last-child{width:14px;color:#8a9096}
html body .bc-disc-pop{right:auto;width:min(300px,calc(100vw - 48px))}
.bc-disc-val{margin:0}
.bc-disc-val em{font-style:normal;font-size:13px;font-weight:700;color:#8a9096}
.bc-total{text-align:right;display:flex;flex-direction:column;min-width:0}
.bc-total small{font-size:11px;color:#8a9096;font-weight:700;white-space:nowrap}
.bc-total b{font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.bc-online-info dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}
.bc-online-info dt{color:#8a9096;font-weight:600}.bc-online-info dd{margin:0;font-weight:700;overflow-wrap:anywhere}
/* редагування */
html body .bc-editbtn{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;min-height:52px!important;padding:7px 14px!important;border:1px solid #e3e5e8!important;border-radius:16px!important;background:#fff!important;font-size:15px;font-weight:800;text-align:left;color:#101214}
.bc-editbtn svg{width:18px;height:18px}
.bc-editbtn small{flex-basis:100%;margin:-4px 0 0 26px;font-size:12px;font-weight:600;color:#8a9096}
.bc-editcard{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.35)}
html body .bc-link{border:0!important;background:none!important;font-size:13px;font-weight:800;color:#5c6167;text-decoration:underline;text-underline-offset:3px;padding:0!important;height:auto!important}
.bc-cap{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a9096;margin-top:6px}
.bc-cap em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600;margin-left:6px;color:#b0b4b9}
.bc-editcard .fm-days{grid-template-columns:repeat(7,minmax(0,1fr)) 40px}
.bc-editcard .fm-times{grid-template-columns:repeat(5,minmax(0,1fr))}
.bc-helpers{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:700;color:#5c6167}
.bc-helpers span{display:flex;align-items:center;gap:4px;height:28px;padding:0 4px 0 10px;border-radius:14px;background:#f3f4f6}
.bc-helpers form{margin:0}
html body .bc-helpers button{width:22px;height:22px!important;border:0!important;border-radius:11px!important;background:#fff!important;padding:0!important;display:flex;align-items:center;justify-content:center;color:#8a9096}
.bc-helpers svg{width:12px;height:12px}
.bc-wrow{display:flex;flex-direction:column;gap:6px;padding:4px 0 10px;border-bottom:1px solid #f0f1f3}
.bc-wrow:last-child{border-bottom:0;padding-bottom:0}
html body .bc .bc-wrow.wage-service-row{margin:0;border:0;border-bottom:1px solid #f0f1f3;border-radius:0;background:none;box-shadow:none;padding:4px 0 10px}
html body .bc .bc-wrow.wage-service-row:last-child{border-bottom:0;padding-bottom:0}
.bc-wtop{display:flex;justify-content:space-between;gap:8px}.bc-wtop b{font-size:13px;line-height:1.3;font-weight:700}.bc-wtop span{font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.bc-wctl{display:flex;gap:6px;align-items:flex-end;min-width:0}
.bc-wctl label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}.bc-wctl .grow{flex:1}
.bc-wctl small{font-size:11px;color:#8a9096;font-weight:700}
.bc-wctl .grow.is-need small{color:#8a4b00}
.bc-num{display:flex;align-items:center;gap:3px;width:78px;height:40px;padding:0 8px;border:1px solid #e3e5e8;border-radius:11px;box-sizing:border-box;background:#fff}
.bc-num:focus-within{border-color:#151719;box-shadow:0 0 0 3px rgba(240,207,75,.45)}
html body .bc-num input{width:100%;min-width:0;height:36px!important;min-height:0!important;border:0!important;outline:0;box-shadow:none!important;font:inherit;font-size:16px!important;font-weight:800;padding:0!important;margin:0!important;background:transparent!important;color:#101214}
.bc-num em{font-style:normal;font-size:11px;color:#8a9096;font-weight:700}
html body .bc-wctl .fm-in{height:40px!important;padding:0 10px!important}
/* результат */
.bc-outcome{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
html body .bc-outcome button{height:40px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247;padding:0 4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .bc-outcome .is-red{color:#c0392b;border-color:#f3d3cf!important;background:#fdf5f4!important}
/* нижня панель */
.bc-bar{position:fixed;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;max-width:540px;margin:0 auto;padding:8px 8px 8px 16px;border-radius:18px;background:#fff;border:1px solid #e6e8eb;box-shadow:0 8px 24px rgba(16,18,20,.16)}
.bc-bar-row{display:flex;align-items:center;gap:8px;min-height:46px}
.bc-bar-row>div{flex:1;min-width:0;display:flex;flex-direction:column}
.bc-bar b{font-size:17px;line-height:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.bc-bar small{font-size:12px;line-height:16px;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .bc-go{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px;min-width:96px;height:46px!important;padding:0 18px!important;border:0!important;border-radius:13px!important;background:#f0cf4b!important;font-size:15px;font-weight:800;color:#101214}
html body .bc-go:disabled:not(.is-done):not(.is-busy){background:#e7e9ec!important;color:#8a9096;cursor:default}
html body .bc-sec{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:46px!important;padding:0 16px!important;border:0!important;border-radius:13px!important;background:#f0f1f3!important;font-size:14px;font-weight:800;color:#101214}
.bc-sec svg{width:17px;height:17px}
html body .bc-ghost2{flex:0 0 auto;height:46px!important;padding:0 14px!important;border:0!important;border-radius:13px!important;background:#f0f1f3!important;font-size:14px;font-weight:800;color:#101214}
.bc-err{position:fixed;left:14px;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:51;max-width:520px;margin:0 auto!important;box-shadow:0 6px 18px rgba(16,18,20,.14)}
@media (max-width:360px){
  .bc-car h2{font-size:21px}.bc-car .bc-client{font-size:17px}
  .bc-money{flex-basis:96px}
  .bc-steps div{font-size:10px}
  .bc-num{width:68px}
  html body .bc-go{min-width:0;padding:0 14px!important}
  html body .bc-sec{padding:0 12px!important}
  .bc-bar{padding-left:12px}.bc-bar b{font-size:15px}
  html body .bc-ghost2{padding:0 10px!important}
}
@media (prefers-reduced-motion:reduce){.bc-big .save-checkmark path,.bc-go .save-checkmark path{animation:none;stroke-dashoffset:0}}
/* v1.6.442 — картка роботи: вузькі екрани (чип знижки не налазить на «Разом», підпис панелі редагування читається) */
.bc-disc-anchor{min-width:0}
html body .bc-chip{max-width:100%}
.bc-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.bc-total{flex:0 0 auto}
.bc-bar [data-bc-bar-edit] b{font-size:15px}
@media (max-width:360px){
.bc-total b{font-size:19px}
html body .bc-chip{padding:0 8px!important;gap:4px}
.bc-bar [data-bc-bar-edit] b{font-size:14px;line-height:18px}
.bc-bar [data-bc-bar-edit] small{font-size:11px}
html body .bc-bar [data-bc-bar-edit] .bc-go{min-width:0;padding:0 12px!important}
}
html body .bc-bar [data-bc-bar-edit] .bc-ghost2{padding:0 12px!important}
html body .bc-bar [data-bc-bar-edit] .bc-go{min-width:0;padding:0 16px!important}
@media (max-width:360px){
.bc-money{flex-basis:104px;padding:0 8px}
html body .bc-money input{font-size:15px!important}
.bc-bar{padding-left:10px}
html body .bc-bar [data-bc-bar-edit] .bc-ghost2{padding:0 10px!important}
}
.bc-bar [data-bc-bar-edit] small{white-space:normal;overflow:visible}
@media (max-width:420px){
.bc-bar [data-bc-bar-edit] b{font-size:14px;line-height:18px}
.bc-bar [data-bc-bar-edit] small{font-size:11px;line-height:13px}
}
@media (max-width:380px){
.bc-bar [data-bc-bar-edit]>div{display:none}
html body .bc-bar [data-bc-bar-edit] .bc-ghost2,html body .bc-bar [data-bc-bar-edit] .bc-go{flex:1 1 0}
}

/* v1.6.416 — «Всі роботи» */
html body .ol{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:8px;padding-bottom:calc(96px + env(safe-area-inset-bottom));color:#101214;font-size:15px}
.ol [hidden]{display:none!important}
.ol a{color:inherit;text-decoration:none}
.ol-head{display:flex;align-items:center;gap:8px;padding:2px 2px 0}
.ol-head h1{margin:0;font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.ol-count{height:24px;padding:0 9px;border-radius:12px;background:#e7e9ec;font-size:13px;font-weight:800;display:flex;align-items:center;color:#3d4247;font-variant-numeric:tabular-nums}
/* плитки статусів */
.ol-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
html body .ol-tiles button{height:58px!important;border:1px solid #e8eaed!important;border-radius:14px!important;background:#fff!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0 10px!important;text-align:center;color:#101214;min-width:0}
.ol-tiles b{font-size:20px;line-height:22px;font-weight:800;font-variant-numeric:tabular-nums}
.ol-tiles span{font-size:11px;line-height:14px;font-weight:700;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
html body .ol-tiles button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.ol-tiles button.on span{color:#c9ccd0}
/* пошук і фільтри */
.ol-bar{position:relative;display:flex;gap:6px;align-items:center;min-width:0}
html body .ol-search{flex:1 1 0;height:40px;min-width:0;padding:0 4px 0 10px}
html body .ol-search input{height:36px!important}
html body .ol-clear{flex:0 0 28px;width:28px;height:28px!important;border:0!important;border-radius:14px!important;background:#f0f1f3!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#70757b}
.ol-clear svg{width:13px;height:13px}
.ol-anchor{position:static!important;flex:0 0 auto;min-width:0}
html body .ol-fchip{display:flex;align-items:center;gap:4px;width:auto;max-width:100%;height:40px!important;padding:0 9px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247;white-space:nowrap}
html body .ol-fchip.is-on{background:#fff6d6!important;border-color:#f0cf4b!important;color:#101214}
.ol-fchip svg{flex:0 0 15px;width:15px;height:15px}.ol-fchip svg:last-child{flex-basis:13px;width:13px;color:#8a9096}
.ol-fchip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* v1.6.446 — два рядки фільтрів лише у «Всіх роботах»; у «Клієнтах» компактний рядок */
.ol[data-ol] .ol-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
html body .ol[data-ol] .ol-search{grid-column:1/-1;width:100%}
html body .ol[data-ol] .ol-fchip{width:100%}
html body .ol-pop{left:0;right:0;width:auto}
.ol-quick{display:flex;flex-wrap:wrap;gap:6px}
html body .ol-quick button{height:34px!important;padding:0 12px!important;border:1px solid #e3e5e8!important;border-radius:17px!important;background:#fff!important;font-size:13px;font-weight:700;color:#3d4247}
html body .ol-quick button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.ol-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ol-range label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}
.ol-range small{font-size:11px;font-weight:700;color:#8a9096}
html body .ol-range .crm-date-shell{display:block!important;width:100%!important;margin:0!important}
html body .ol-range .crm-date-trigger{width:100%!important;height:40px!important;min-height:40px!important;grid-template-columns:minmax(0,1fr) 32px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
html body .ol-range .crm-date-trigger-value{height:38px!important;display:flex!important;align-items:center!important;padding:0 10px!important;font-size:14px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important}
html body .ol-range .crm-date-trigger-caret{width:32px!important;min-width:32px!important;height:38px!important;border:0!important;background:transparent!important}
html body .ol-svc-search{height:40px;margin:4px 4px 6px!important}
.ol-pop-service button>svg{color:#16804a!important;stroke-width:2.6}
/* список */
.ol-results{display:flex;flex-direction:column;gap:8px;transition:opacity .15s}
.ol-results.is-loading{opacity:.45;pointer-events:none}
.ol-day{display:flex;flex-direction:column;gap:6px}
.ol-day-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 4px 0}
.ol-day-h b{font-size:13px;font-weight:800}
.ol-day-h span{font-size:12px;font-weight:600;color:#70757b;white-space:nowrap;font-variant-numeric:tabular-nums}
.ol-card{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:6px 10px;padding:10px 12px;background:#fff;border:1px solid #e8eaed;border-radius:14px}
.ol-top{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px;min-width:0}
.ol-logo{flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ol-logo img{width:24px;height:24px;object-fit:contain}
.ol-who{flex:1;min-width:0;display:flex;flex-direction:column}
.ol-who b{font-size:15px;line-height:20px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-who span{font-size:13px;line-height:17px;font-weight:600;color:#3d4247;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-r{grid-column:2;grid-row:1/span 2;align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ol-r b{font-size:14px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.ol-pill{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:800;white-space:nowrap}
.ol-pill.plan{background:#e8f1fd;color:#1f6fd1}.ol-pill.work{background:#fff3cf;color:#8a6400}.ol-pill.ready{background:#e3f5ea;color:#16804a}.ol-pill.paid{background:#eceef0;color:#5c6167}.ol-pill.bad{background:#fdecec;color:#a4262c}
.ol-meta{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:12px;line-height:16px;font-weight:600;color:#70757b}
.ol-meta>b{flex:0 0 auto;font-weight:800;color:#101214;white-space:nowrap;font-variant-numeric:tabular-nums}
.ol-meta>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-meta .online-paid-badge-v389{flex:0 0 auto}
.ol-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;border:1.5px dashed #d9dce0;border-radius:16px;text-align:center}
.ol-empty b{font-size:15px;font-weight:800}.ol-empty span{font-size:13px;color:#70757b}
html body .ol-empty button{margin-top:4px!important;height:40px!important;padding:0 16px!important;border:0!important;border-radius:12px!important;background:#151719!important;color:#fff;font-size:14px;font-weight:800}
@media (max-width:360px){
  .ol-tiles{gap:4px}
  html body .ol-tiles button{padding:0 7px!important}
  .ol-tiles b{font-size:18px}.ol-tiles span{font-size:10px}
  html body .ol-fchip{padding:0 7px!important}
}
@media (min-width:900px){
  .ol-day{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ol-day-h{grid-column:1/-1}
}
/* v1.6.443 — «Всі роботи»: дві колонки від 900px не розпирають сторінку */
.ol-card{min-width:0}
@media (min-width:900px){.ol-day{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v1.6.443 — «Всі роботи»: підпис «Планується» вміщується в плитку на телефоні */
html body .ol-tiles button{padding:0 7px!important}
.ol-tiles span{letter-spacing:-.01em}
@media (max-width:380px){html body .ol-tiles button{padding:0 5px!important}.ol-tiles span{letter-spacing:-.02em}}
@media (max-width:360px){.ol-tiles span{font-size:10px}}
@media (max-width:340px){html body .ol-tiles button{padding:0 4px!important}.ol-tiles span{letter-spacing:-.03em;overflow:visible;text-overflow:clip}}

/* v1.6.416 — «Клієнти» (список) */
.cl-list{background:#fff;border:1px solid #e8eaed;border-radius:16px;overflow:hidden}
.cl-row{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-bottom:1px solid #f0f1f3;box-sizing:border-box}
.cl-row:last-child{border-bottom:0}
.cl-av{flex:0 0 38px;width:38px;height:38px;border-radius:19px;background:#f0f1f3;font-style:normal;font-size:13px;font-weight:800;color:#3d4247;display:flex;align-items:center;justify-content:center}
.cl-main{flex:1;min-width:0;display:flex;flex-direction:column}
.cl-main>b{display:flex;align-items:center;gap:6px;min-width:0;font-size:15px;line-height:20px;font-weight:800}
.cl-main>b>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-main>span{font-size:12px;line-height:16px;font-weight:600;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-disc{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;height:18px;padding:0 6px;border-radius:9px;background:#fff6d6;color:#8a6400;display:inline-flex;align-items:center}
.cl-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end}
.cl-side b{font-size:13px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.cl-side span{font-size:11px;font-weight:600;color:#8a9096;white-space:nowrap}
html body .cl-sort-pop{left:auto;right:0;width:220px;padding:4px}
/* v1.6.416 — картка клієнта */
html body .bc.ck{padding:0 0 calc(160px + env(safe-area-inset-bottom))}
.ck-hero{padding:14px;gap:12px}
.ck-htop{display:flex;align-items:center;gap:12px;min-width:0}
.ck-htop>div{min-width:0}
.ck-av{flex:0 0 52px;width:52px;height:52px;border-radius:26px;background:#fbecb0;color:#5a4a0c;font-style:normal;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ck-htop h2{margin:0;font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}
.ck-htop p{margin:2px 0 0;font-size:13px;font-weight:600;color:#5c6167}
html body .bc .bc-act.ck-new-booking{background:#f0cf4b;color:#101214}
.ck-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ck-stats>div{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:9px 10px;display:flex;flex-direction:column;min-width:0}
.ck-stats b{font-size:18px;line-height:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.ck-stats span{font-size:11px;font-weight:700;color:#70757b;white-space:nowrap}
.ck-disc{gap:4px}
.ck-dline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ck-dline>div:first-child{display:flex;flex-direction:column;min-width:0}
.ck-dline small{font-size:11px;font-weight:700;color:#8a9096}
.ck-dline b{font-size:15px;font-weight:800}
html body .ck-disc-pop{left:auto;right:0;width:min(300px,calc(100vw - 48px))}
.ck-disc-val{margin:0}
.ck-disc-val em{font-style:normal;font-size:13px;font-weight:700;color:#8a9096}
.ck-hint{margin:0;font-size:12px;line-height:1.4;color:#70757b}
.ck-note{margin:0;font-size:12px;color:#8a9096}
html body .ck-link{display:flex;align-items:center;gap:4px;height:auto!important;border:0!important;background:none!important;font-size:13px;font-weight:800;color:#3d4247;padding:0!important}
.ck-link svg{width:15px;height:15px}
.ck-cars{gap:6px}
.ck-car{display:flex;flex-direction:column;gap:8px;padding:4px 0;border-top:1px solid #f0f1f3}
.ck-cars .bc-h + .ck-car{border-top:0}
.ck-carrow{display:flex;align-items:center;gap:10px;min-height:44px}
.ck-carrow>div{flex:1;min-width:0;display:flex;flex-direction:column}
.ck-carrow b{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-carrow span{font-size:12px;font-weight:600;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-logo{flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ck-logo img{width:24px;height:24px;object-fit:contain}
html body .ck-pen{flex:0 0 34px;width:34px;height:34px!important;border:1px solid #e3e5e8!important;border-radius:10px!important;background:#fff!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#101214}
.ck-pen svg{width:15px;height:15px}
html body .ck-car.is-open .ck-pen{background:#151719!important;border-color:#151719!important;color:#fff}
.ck-edit{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}
.ck-edit label{display:flex;flex-direction:column;gap:3px;margin:0;min-width:0}
.ck-edit small{font-size:11px;font-weight:700;color:#8a9096}
.ck-edit input[name=registration_number],.ck-edit input[name=vin]{text-transform:uppercase}
.ck-edit input[name=registration_number]::placeholder,.ck-edit input[name=vin]::placeholder{text-transform:none}
.ck-new{padding:10px;border:1.5px dashed #d6d9dd;border-radius:14px;background:#fafafb}
.ck-new-h{display:flex;align-items:center;justify-content:space-between}
.ck-new-h b{font-size:14px;font-weight:800}
html body .ck-x{width:28px;height:28px!important;border:0!important;border-radius:14px!important;background:#f0f1f3!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#70757b}
.ck-x svg{width:13px;height:13px}
.ck-empty{margin:0;font-size:13px;color:#8a9096}
.ck-hist{gap:0}
.ck-hist .bc-h{padding-bottom:6px}
.ck-hrow{display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 0;border-top:1px solid #f0f1f3;color:inherit;text-decoration:none}
.ck-hd{flex:0 0 42px;display:flex;flex-direction:column}
.ck-hd b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.ck-hd small{font-size:11px;color:#8a9096}
.ck-hm{flex:1;min-width:0;display:flex;flex-direction:column}
.ck-hm b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-hm span{font-size:12px;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-hr{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ck-hr b{font-size:13px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-err{position:fixed;left:14px;right:14px;bottom:calc(158px + env(safe-area-inset-bottom));z-index:51;max-width:520px;margin:0 auto!important;box-shadow:0 6px 18px rgba(16,18,20,.14)}
.ck-bar .bc-go .save-checkmark{width:26px;height:20px;stroke-width:6}
.ck-bar .bc-go .save-checkmark path{stroke-dasharray:80;stroke-dashoffset:80;animation:bc-draw .45s ease-out forwards}
@media (max-width:360px){
  .ck-htop h2{font-size:19px}
  .ck-stats b{font-size:16px}
}
/* v1.6.444 — картка клієнта: підпис нижньої панелі читається на телефоні */
html body .ck-bar > div b{font-size:14px;line-height:18px}
html body .ck-bar > div small{font-size:11px;line-height:14px}
html body .ck-bar .bc-ghost2{padding:0 12px!important}
html body .ck-bar .bc-go{min-width:0;padding:0 16px!important}
@media (max-width:420px){
html body .ck-bar > div b{font-size:13px}
html body .ck-bar .bc-ghost2{padding:0 10px!important}
html body .ck-bar .bc-go{padding:0 14px!important}
}
@media (max-width:380px){
html body .ck-bar > div{display:none}
html body .ck-bar .bc-ghost2,html body .ck-bar .bc-go{flex:1 1 0}
}

/* v1.6.448 — «Працівники»: список (P2), картка (E1), новий працівник (N1), посади */
.st svg,.st-card svg,.st-new svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html body .st-add{margin-left:auto!important;display:flex;align-items:center;gap:4px;height:36px;padding:0 14px 0 10px;border-radius:18px;background:#f0cf4b;font-size:14px;font-weight:800;color:#101214;text-decoration:none}
.st-add svg{width:16px;height:16px;stroke-width:2.6}
.st-seg a{flex:1 1 0;min-width:0;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:14px;font-weight:600;color:#5c6167;text-decoration:none;white-space:nowrap}
.st-seg a.on{background:#fff;color:#101214;font-weight:800;box-shadow:0 1px 2px rgba(16,18,20,.12)}
.st-seg em{font-style:normal;font-weight:800;color:#8a9096}
.st-seg a.on em{color:#101214}
/* рядок */
.st-row{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;color:inherit;text-decoration:none}
.st-av{position:relative;flex:0 0 38px;width:38px;height:38px;border-radius:19px;background:#f0f1f3;display:flex;align-items:center;justify-content:center}
.st-av i{font-style:normal;font-size:13px;font-weight:800;color:#3d4247}
.st-av img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;-webkit-user-drag:none}
.st-av::after{content:"";position:absolute;z-index:1;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:6px;background:#1f9d55;border:2px solid #fff;box-sizing:border-box}
.st-av.is-off::after{background:#c3c7cc}
.st-av.is-off img{filter:grayscale(1);opacity:.7}
.st-row.is-off .cl-main>b>span{color:#70757b}
.st-tag{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;height:18px;padding:0 6px;border-radius:9px;background:#e7e9ec;color:#3d4247;display:inline-flex;align-items:center}
.st-tag.is-off{background:#fff0e0;color:#9a4d00}
.st-wk{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.st-wk>div{display:flex;gap:2px}
.st-wk i{width:14px;height:16px;border-radius:4px;background:#f0f1f3;color:#b0b4b9;font-style:normal;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}
.st-wk i.on{background:#f0cf4b;color:#101214}
.st-row.is-off .st-wk i.on{background:#e7e9ec;color:#5c6167}
.st-wk small{font-size:11px;font-weight:700;color:#70757b;font-variant-numeric:tabular-nums}
.st-tip{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;font-size:11px;font-weight:600;color:#8a9096}
.st-tip svg{width:14px;height:14px;stroke-width:3}
/* перетягування */
.st-ph{border:1.5px dashed #d6d9dd;border-radius:12px;background:#fafafb;box-sizing:border-box}
.st-row.is-dragging{background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(16,18,20,.22);transform:scale(1.02);transition:transform .12s}
.st-row.is-saved{animation:st-saved .65s ease-out}
@keyframes st-saved{0%{background:#fff6d6}100%{background:#fff}}
.st-toast{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:1700;display:flex;flex-direction:column;align-items:center;padding:8px 16px;border-radius:14px;background:#151719;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.st-toast b{font-size:14px}.st-toast span{font-size:12px;color:#c3c7cc}
/* рядок «Посади» */
.st-posrow{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;box-sizing:border-box;border:1px solid #e8eaed;border-radius:16px;background:#fff;color:#101214;text-decoration:none}
.st-posrow>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.st-posrow b{font-size:15px;font-weight:800}.st-posrow small{font-size:12px;font-weight:600;color:#70757b}
.st-posrow>svg{flex:0 0 18px;width:18px;height:18px;color:#8a9096}
.st-posico,.st-lico{flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#f0f1f3;display:flex;align-items:center;justify-content:center}
.st-posico svg,.st-lico svg{width:18px;height:18px}
/* аватар у картці й новій формі */
.st-hav{position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:26px;background:#f0f1f3;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0}
.st-hav.has{background:#fbecb0}
.st-hav>i{font-style:normal;font-size:18px;font-weight:800;color:#5a4a0c}
.st-hav>img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}
.st-hav>b{position:absolute;z-index:1;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:11px;background:#151719;border:2px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff;box-sizing:border-box}
.st-hav>b svg{width:11px;height:11px;stroke-width:2.4}
.st-camph{display:flex}.st-camph svg{width:22px;height:22px;color:#8a9096}
.st-state{font-weight:700}
.st-state.is-ok{color:#1f8a4c}.st-state.is-off{color:#9a4d00}.st-state.is-arch{color:#70757b}
.st-note{margin:-2px 0 0;font-size:12px;line-height:1.35;color:#70757b}
.st-posf b{font-size:15px!important;font-weight:700!important}
html body .st-pospop{padding:4px}
.st-pospop button>svg{visibility:hidden;color:#101214!important}
.st-pospop button.hl>svg{visibility:visible}
html body .st-pospop button:disabled{opacity:.5;cursor:default}
.st-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
html body .st-days button{height:38px!important;border:1px solid #e8eaed!important;border-radius:11px!important;background:#fff!important;font-size:13px;font-weight:800;color:#8a9096;padding:0!important;min-width:0}
html body .st-days button.on{background:#f0cf4b!important;border-color:#f0cf4b!important;color:#101214}
html body .st-tpop{max-height:min(300px,50vh)}
html body .st-card .fm-pop.is-up,html body .st-new .fm-pop.is-up{top:auto;bottom:calc(100% + 6px)}
.st-tpop .fm-pop-h{position:sticky;top:-10px;z-index:1;margin:-10px -10px 0;padding:10px 12px 6px;background:#fff}
html body .st-tpop .fm-times button:disabled{text-decoration:none}
html body .st-eye{flex:0 0 40px;width:40px;height:42px!important;border:0!important;background:none!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#8a9096}
html body .st-eye.on{color:#101214}
.st-eye svg{width:18px;height:18px}
.st-pass>span svg{width:16px;height:16px}
.st-stat{gap:2px}
html body .st-line{display:flex;align-items:center;gap:10px;width:100%;min-height:56px!important;height:auto!important;padding:6px 0!important;border:0!important;border-top:1px solid #f0f1f3!important;border-radius:0!important;background:none!important;text-align:left;color:#101214}
.st-stat .bc-h+.st-line,.st-stat .st-arch-note+.st-line{border-top:0!important}
.st-line>span:last-child{flex:1;min-width:0;display:flex;flex-direction:column}
.st-line b{font-size:15px;font-weight:800}.st-line small{font-size:12px;line-height:15px;font-weight:500;color:#70757b}
.st-line.is-red b{color:#c0322b}.st-line.is-red .st-lico{background:#fdecec;color:#c0322b}
.st-line.is-green .st-lico{background:#e3f4ea;color:#1f8a4c}
html body .st-line.is-busy{opacity:.55}
.st-arch-note{margin:2px 0 4px}
html body .fm-dialog-actions button.st-danger{background:#c0322b!important;color:#fff}
/* новий працівник */
.st-new{max-width:560px;margin:0 auto}
.st-who{display:flex;align-items:center;gap:10px}
.st-who .fm-in{flex:1}
.st-new .fm-two label{display:block;margin:0;min-width:0}
.st-lbl{display:block;font-size:11px;font-weight:700;color:#8a9096;margin:0 0 3px}
.st-radio{display:flex;flex-direction:column;border:1px solid #e8eaed;border-radius:12px;overflow:hidden}
html body .st-radio button{display:flex;align-items:center;gap:10px;min-height:44px!important;height:auto!important;padding:8px 12px!important;border:0!important;border-top:1px solid #f0f1f3!important;border-radius:0!important;background:#fff!important;text-align:left;font-size:14px;font-weight:600;color:#101214}
html body .st-radio button:first-child{border-top:0!important}
.st-radio button>span{display:flex;flex-direction:column;min-width:0}
.st-radio small{font-size:11px;font-weight:600;color:#8a9096}
.st-radio i{flex:0 0 20px;width:20px;height:20px;border-radius:10px;border:2px solid #c9cdd2;box-sizing:border-box}
html body .st-radio button.on{background:#fffaeb!important;font-weight:800}
.st-radio button.on i{border:6px solid #151719}
html body .st-radio button:disabled{opacity:.5;cursor:default}
.st-radio[aria-invalid="true"]{border-color:#d6453d}
/* посади */
.st-posl{gap:8px}
.st-posl-note{margin:0}
.st-pis{display:flex;flex-direction:column;gap:8px}
.st-pi{display:flex;flex-direction:column;gap:3px}
.st-pi-line{display:flex;align-items:center;gap:6px}
.st-pi-line .fm-in{flex:1;font-weight:600}
.st-pi-who{padding-left:12px;font-size:11px;font-weight:600;color:#8a9096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .st-pi-x{flex:0 0 32px;width:32px;height:32px!important;border-radius:16px!important}
.st-pi.is-del .fm-in{text-decoration:line-through;color:#a4262c;background:#fdf3f3!important}
.st-pi.is-del .st-pi-who{color:#a4262c}
.st-pi.is-new .fm-in{background:#fffaeb!important}
.st-pi-new .fm-in{border-style:dashed!important}
html body .st-pplus{flex:0 0 44px;width:44px;height:44px!important;border:0!important;border-radius:12px!important;background:#f0cf4b!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#101214}
.st-pplus svg{width:18px;height:18px;stroke-width:2.6}
@media (max-width:360px){
  .st-wk i{width:12px;font-size:8px}
  html body .st-days button{font-size:12px}
}

.st-card [aria-busy="true"],.st-new [aria-busy="true"]{cursor:wait}
.st-days[aria-invalid="true"]{outline:1px solid #d6453d;outline-offset:3px;border-radius:11px}
/* Keep the staff headings at the sizes in the shared v416 layouts. */
html body .st .ol-head h1{font-size:24px!important;line-height:1.1!important}
html body .st-card .bc-top h1{font-size:18px!important;line-height:24px!important}
html body .st-new .fm-head h1{font-size:28px!important;line-height:1.1!important}


/* v1.6.416 — «Послуги»: список (L7, жовта шапка), картка послуги, «Нова послуга» */
.sv svg,.sv-card svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* жовта шапка списку */
.sv-lhero{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:20px;background:#f0cf4b;color:#101214}
.sv-lh-top{display:flex;align-items:center;justify-content:space-between}
.sv-lh-top small{font-size:11px;font-weight:800;letter-spacing:.06em;color:#5a4a0c}
.sv-lh-top h1{margin:0;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.sv-hadd{flex:0 0 44px;width:44px;height:44px;border-radius:22px;background:#151719;display:flex;align-items:center;justify-content:center;color:#f0cf4b}
.sv-hadd svg{width:22px;height:22px;stroke:#f0cf4b;stroke-width:2.6;fill:none}
.sv-hsearch{display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 12px;border-radius:12px;background:rgba(255,255,255,.72);margin:0;cursor:text}
.sv-hsearch>svg{flex:0 0 17px;width:17px;height:17px;color:#5a4a0c}
html body .sv-hsearch input{--fs-input:16px;flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;padding:0!important;height:40px!important;min-height:0!important;box-shadow:none!important;margin:0!important;color:#101214}
html body .sv-hclear{flex:0 0 32px;width:32px;height:32px!important;border:0!important;border-radius:16px!important;background:rgba(16,18,20,.08)!important;display:flex;align-items:center;justify-content:center;padding:0!important;color:#5a4a0c}
.sv-hclear svg{width:14px;height:14px}
.sv-hstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sv-hstats>*{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.5);text-align:left}
html body .sv-hstats>button{height:auto!important;border:0!important;background:rgba(255,255,255,.5)!important;padding:8px 10px!important;border-radius:12px!important;color:#101214}
html body .sv-hstats>button:disabled{opacity:1;cursor:default}
.sv-hstats b{font-size:17px;line-height:21px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-variant-numeric:tabular-nums}
.sv-hstats span{font-size:11px;font-weight:700;color:#5a4a0c;white-space:nowrap}
/* вкладки груп */
.sv-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:0 10px}
.sv-tabs::-webkit-scrollbar{display:none}
html body .sv-tabs button{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:38px!important;padding:0 12px!important;border:1px solid #e3e5e8!important;border-radius:19px!important;background:#fff!important;font-size:14px;font-weight:700;color:#3d4247;white-space:nowrap}
.sv-tabs em{font-style:normal;font-size:12px;font-weight:800;color:#8a9096}
html body .sv-tabs button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.sv-tabs button.on em{color:#f0cf4b}
/* рядки */
.sv-grp7{display:flex;flex-direction:column;gap:6px}
.sv-gh7{display:flex;align-items:baseline;gap:6px;padding:6px 4px 0}
.sv-gh7 h2{margin:0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5c6167}
.sv-gh7 small{font-size:12px;font-weight:700;color:#a0a5ab}
.sv-list7{display:flex;flex-direction:column;gap:6px}
.sv-r7{display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 12px 8px 14px;border-radius:14px;background:#fff;border:1px solid #e8eaed;color:#101214;text-decoration:none;box-sizing:border-box}
.sv-r7>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sv-r7 b{font-size:15px;line-height:19px;font-weight:700}
.sv-r7 span{font-size:12px;line-height:16px;font-weight:600;color:#8a9096}
.sv-r7 i.sv-on{font-style:normal;color:#1f8a4c}
.sv-offtag{font-style:normal;color:#9a4d00}
.sv-r7 strong{flex:0 0 auto;display:flex;align-items:baseline;gap:3px;font-size:18px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.sv-r7 strong small{font-size:11px;font-weight:700;color:#8a9096;letter-spacing:0}
.sv-np{font-style:normal;font-size:12px;font-weight:600;color:#8a9096;letter-spacing:0}
.sv-r7.is-off{background:#f7f8f9}
.sv-r7.is-off b,.sv-r7.is-off strong{color:#8a9096}
/* картка: жовта шапка */
.sv-hero{display:flex;flex-direction:column;gap:8px;padding:16px 14px 12px;border-radius:20px;background:#f0cf4b;color:#101214}
.sv-hero>small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#5a4a0c}
.sv-offlbl{color:#9a2a22}
html body .sv-hero input.sv-hname{--fs-input:20px;width:100%;font-weight:800;color:#101214;background:none!important;border:0!important;border-radius:8px!important;padding:2px 0!important;height:32px!important;min-height:0!important;box-shadow:none!important;margin:0!important}
.sv-hero input::placeholder{color:rgba(16,18,20,.35)}
.sv-hero input:focus{outline:0;background:rgba(255,255,255,.35)!important}
.sv-hprice{display:flex;align-items:baseline;gap:6px}
.sv-hprice em{font-style:normal;font-size:18px;font-weight:700;color:#5a4a0c}
html body .sv-hprice input{--fs-input:40px;flex:0 1 auto;width:3ch;max-width:100%;min-width:0;font-weight:800;letter-spacing:-.03em;color:#101214;background:none!important;border:0!important;border-radius:10px!important;padding:0!important;height:52px!important;min-height:0!important;box-shadow:none!important;margin:0!important;font-variant-numeric:tabular-nums}
.sv-hprice span{font-size:18px;font-weight:700;color:#5a4a0c}
.sva-veh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sva-veh>label,.sv-vnone{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.55);margin:0;box-sizing:border-box}
.sva-veh>label.cur{background:#fff;box-shadow:0 0 0 2px #151719}
.sva-veh small{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#5a4a0c;white-space:nowrap;overflow:hidden}
.sva-veh small svg{flex:0 0 14px;width:14px;height:14px}
.sva-veh span{display:flex;align-items:baseline;gap:3px;min-width:0}
html body .sva-veh input{--fs-input:22px;width:100%;min-width:0;font-weight:800;letter-spacing:-.02em;color:#101214;background:none!important;border:0!important;padding:0!important;height:34px!important;min-height:0!important;box-shadow:none!important;margin:0!important;font-variant-numeric:tabular-nums}
.sv6-from{font-style:normal;font-size:11px;font-weight:700;color:#5a4a0c}
.sv6-n{font-size:10px!important;opacity:.85}
.sv-vnone{opacity:.55}.sv-vnone b{font-size:22px;line-height:34px}
.sv-hero .sv-hstats{margin-top:2px}
.sv-hgroups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
html body .sv-hgroups button{height:36px!important;border:0!important;border-radius:10px!important;background:rgba(255,255,255,.55)!important;color:#5a4a0c;font-size:12px;font-weight:700;padding:0 2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html body .sv-hgroups button.on{background:#151719!important;color:#f0cf4b}
.sv-hgroups[aria-invalid="true"]{outline:2px solid #d6453d;outline-offset:2px;border-radius:10px}
html body .sva-split{display:flex;align-items:center;gap:10px;width:100%;height:auto!important;min-height:52px!important;padding:8px 10px!important;border:0!important;border-radius:12px!important;background:rgba(255,255,255,.4)!important;text-align:left;color:#101214}
.sva-split>span:last-child{display:flex;flex-direction:column;min-width:0}.sva-split b{font-size:14px;font-weight:800}.sva-split small{font-size:11px;line-height:14px;color:#5a4a0c}
/* ЗП */
.sv-quick{display:flex;gap:6px}
html body .sv-quick button{flex:1 1 0;min-width:0;height:40px!important;border:1px solid #e3e5e8!important;border-radius:11px!important;background:#fff!important;font-size:14px;font-weight:800;padding:0!important;color:#3d4247}
html body .sv-quick button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.sv-wother{height:48px}
/* перемикачі */
.sv-toggles2{gap:0;padding:4px 14px}
html body .sv-swrow{display:flex;align-items:center;gap:10px;width:100%;min-height:56px!important;height:auto!important;padding:6px 0!important;border:0!important;border-top:1px solid #f0f1f3!important;border-radius:0!important;background:none!important;text-align:left;color:#101214}
html body .sv-toggles2>.sv-swrow:first-child{border-top:0!important}
.sv-swrow>span:first-child{flex:1;min-width:0;display:flex;flex-direction:column}
.sv-swrow b{font-size:15px;font-weight:700}.sv-swrow small{font-size:12px;line-height:15px;color:#70757b}
.sv-sw{flex:0 0 44px;width:44px;height:26px;border-radius:13px;background:#d6d9dd;position:relative;display:inline-block;transition:background .18s}
.sv-sw i{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .18s}
.sv-sw.on{background:#1f9d55}.sv-sw.on i{left:21px}
.sv-subrow{padding:0 0 10px}
.sv-aedit{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px;padding:0 0 10px}
.sv-num{display:flex;align-items:center;gap:4px;height:40px;padding:0 4px;border:1px solid #e3e5e8;border-radius:12px;box-sizing:border-box;background:#fff}
html body .sv-num button{width:30px;height:30px!important;border:0!important;border-radius:9px!important;background:#f0f1f3!important;font-size:17px;font-weight:800;padding:0!important;color:#101214}
html body .sv-num input{--fs-input:16px;width:34px;text-align:center;font-weight:800;border:0!important;background:none!important;padding:0!important;height:30px!important;min-height:0!important;box-shadow:none!important;margin:0!important}
html body .sv-aedit .fm-seg button{font-size:13px}
.sv-card .st-lico svg{width:18px;height:18px}
@media (max-width:360px){
  .sv-r7 strong{font-size:16px}
  html body .sv-hprice input{--fs-input:34px}
  html body .sva-veh input{--fs-input:18px}
  .sv-aedit{grid-template-columns:1fr 1fr}.sv-aedit .sv-num{grid-column:1/-1;justify-self:start}
}

/* v1.6.449 — keep service headings readable under legacy global typography. */
html body .sv-lh-top h1{font-size:26px!important;line-height:1.1!important}
html body .sv-card .bc-top h1{font-size:18px!important;line-height:24px!important}
html body .sv-card [aria-invalid="true"]{outline:2px solid #d6453d!important;outline-offset:2px}
html body .sv-card [aria-busy="true"]{cursor:progress}

/* v1.6.416 — «Сертифікати»: список (R1) і картка сертифіката (D2, жовта) */
.ce-r{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid #e8eaed;color:#101214;text-decoration:none;box-sizing:border-box}
.ce-r>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ce-r>div>b{font-size:15px;line-height:19px;font-weight:800;font-variant-numeric:tabular-nums}
.ce-r>div>span{font-size:12px;line-height:16px;font-weight:600;color:#8a9096}
.ce-bar{display:block;height:5px;border-radius:3px;background:#f0f1f3;overflow:hidden;margin-top:3px}
.ce-bar>i{display:block;height:100%;border-radius:3px;background:#f0cf4b}
.ce-r strong{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;font-size:18px;line-height:22px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ce-r strong small{font-size:11px;line-height:14px;font-weight:700;color:#8a9096;letter-spacing:0}
.ce-r.is-used{background:#f7f8f9}
.ce-r.is-used>div>b,.ce-r.is-used strong{color:#8a9096}
.ce .sv-hstats span{white-space:normal;line-height:13px}
/* картка: сертифікат у жовтому */
.ce-phys{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#f6d963,#f0cf4b 55%,#e4ba27);color:#101214;overflow:hidden;min-height:170px;box-sizing:border-box;box-shadow:0 10px 26px rgba(224,185,40,.28)}
.ce-phys::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(rgba(255,255,255,.55),transparent 70%);pointer-events:none}
.ce-phys>*{position:relative;z-index:1}
.ce-ph-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;letter-spacing:.12em;color:#5a4a0c}
.ce-ph-top em{font-style:normal;letter-spacing:0;background:#151719;color:#f0cf4b;border-radius:10px;padding:2px 9px;font-size:11px;font-weight:800}
.ce-ph-num{font-size:15px;font-weight:800;letter-spacing:.2em;color:#3d3208;font-variant-numeric:tabular-nums}
.ce-ph-bal small{display:block;font-size:11px;font-weight:700;color:#5a4a0c}
.ce-ph-bal b{font-size:42px;line-height:1.05;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ce-ph-bal b span{font-size:16px;letter-spacing:0;color:#5a4a0c}
.ce-ph-bot{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:#5a4a0c}
.ce-phys.is-used{background:linear-gradient(135deg,#eceef0,#e2e5e8);box-shadow:none;color:#5c6167}
.ce-phys.is-used .ce-ph-top,.ce-phys.is-used .ce-ph-num,.ce-phys.is-used .ce-ph-bal small,.ce-phys.is-used .ce-ph-bal b span,.ce-phys.is-used .ce-ph-bot{color:#8a9096}
.ce-phys.is-used .ce-ph-top em{background:#c3c7cc;color:#fff}
.ce-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ce-trio>div{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:9px 10px;display:flex;flex-direction:column;min-width:0}
.ce-trio b{font-size:18px;line-height:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.ce-trio span{font-size:11px;font-weight:700;color:#70757b;white-space:nowrap}
/* історія */
.ce-hist{gap:0;padding:12px 14px 4px}
.ce-hist .bc-h{padding-bottom:4px}
.ce-ev{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 0 8px 22px;border-top:1px solid #f0f1f3;color:#101214;text-decoration:none}
.ce-hist .bc-h+.ce-ev{border-top:0}
.ce-dot{position:absolute;left:4px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:5px;background:#101214}
.ce-ev.is-sale .ce-dot,.ce-ev.is-back .ce-dot{background:#1f9d55}
.ce-ev>div:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.ce-ev b{font-size:14px;line-height:18px;font-weight:700}
.ce-ev span{font-size:12px;line-height:16px;color:#8a9096}
.ce-ev .ce-topup{margin-top:2px;align-self:flex-start;padding:1px 7px;border-radius:8px;background:#fff6d6;color:#8a6400;font-weight:700;font-size:11px}
.ce-ev .ce-topup.is-rev{background:#f0f1f3;color:#8a9096;text-decoration:line-through}
.ce-evr{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end}
.ce-evr b{font-size:14px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.ce-evr b.plus{color:#1f8a4c}
.ce-none{margin:4px 0 10px;font-size:13px;line-height:1.4;color:#8a9096}
@media (max-width:360px){
  .ce-ph-bal b{font-size:36px}
  .ce-trio b{font-size:16px}
}

/* v1.6.416 — «Нові роботи» (N3): записи майстрів за днем роботи */
.rq svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rq{display:flex;flex-direction:column;gap:10px}
.rq.has-bar{padding-bottom:76px}
.rq-cnt{flex:0 0 44px;height:44px;border-radius:22px;background:#151719;color:#f0cf4b;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.rq-days{display:flex;flex-direction:column;gap:10px}
.rq-group{display:flex;flex-direction:column;gap:8px}
.rq-day{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;font-weight:800;color:#5c6167;text-transform:uppercase;letter-spacing:.04em}
.rq-day span{white-space:nowrap}
.rq-day i{flex:1;height:1px;background:#e3e5e8}
.rq-day em{font-style:normal;background:#151719;color:#f0cf4b;border-radius:9px;padding:1px 8px;font-size:11px;font-variant-numeric:tabular-nums}
.rq-c{display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:#fff;border:1px solid #e8eaed;box-sizing:border-box;overflow:hidden;transition:height .24s ease,opacity .2s ease,padding .24s ease,margin .24s ease,border-width .24s ease}
.rq-c.is-out{opacity:0;padding-top:0;padding-bottom:0;margin-top:-8px;border-width:0}
.rq-c>form{margin:0;flex:0 0 auto}
.rq-ctime{flex:0 0 56px;align-self:stretch;min-height:64px;border-radius:12px;background:#151719;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-variant-numeric:tabular-nums}
.rq-ctime b{font-size:15px;line-height:19px;font-weight:800;color:#f0cf4b}
.rq-ctime small{font-size:11px;line-height:14px;font-weight:700;color:#a0a5ab}
.rq-cmain{flex:1;min-width:0;display:flex;flex-direction:column;color:#101214;text-decoration:none}
.rq-cmain b{font-size:15px;line-height:19px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-cmain>span{font-size:12px;line-height:17px;color:#70757b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-cmain>span.rq-who{display:flex;align-items:center;gap:5px;margin-top:3px;color:#101214;font-weight:700}
.rq-who .person-avatar{width:20px;height:20px;font-size:8px;box-shadow:none}
.rq-when{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:11px;line-height:14px;font-weight:600;color:#a0a5ab}
.rq-when svg{width:12px;height:12px;flex:0 0 12px}
html body .rq-ok{width:42px;height:42px!important;min-width:0!important;padding:0!important;border-radius:21px!important;border:0!important;background:#f0cf4b!important;color:#101214!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}
.rq-ok svg{width:22px;height:22px;stroke-width:2.8}
.rq-ok[aria-busy="true"]{opacity:.5}
.rq-bar{padding:8px}
html body .rq-bar .fm-go{flex:1;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px!important;transition:background .15s ease,color .15s ease}
.rq-bar .fm-go svg{width:20px;height:20px;flex:0 0 20px;stroke-width:2.4}
.rq-bar .fm-go span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .rq-bar.is-armed .fm-go{background:#151719!important;color:#fff}
.rq-bar.is-armed .fm-go svg{stroke:#f0cf4b}
.rq-empty-ic{width:48px;height:48px;border-radius:24px;background:#fff6d6;color:#8a6400;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.rq-empty-ic svg{width:26px;height:26px}
@media (max-width:360px){
  .rq-ctime{flex-basis:50px}
  html body .rq-ok{width:38px;height:38px!important}
}
/* v1.6.451 — «Нові роботи»: підпис підтвердження «Усе переглянуто» вміщується на телефоні */
html body .rq-bar.is-armed .fm-go span{font-size:14px;letter-spacing:-.01em}
@media (max-width:380px){html body .rq-bar.is-armed .fm-go span{font-size:12.5px}html body .rq-bar.is-armed .fm-go svg{display:none}}

/* v1.6.416 — «Зарплата» (Z3, жовта шапка): місяць, сума, рейтинг працівників, усі роботи з фільтром */
.pr svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pr{display:flex;flex-direction:column;gap:10px}
.pr-hero{gap:10px}
.pr .sv-hadd svg{stroke:#f0cf4b;stroke-width:2.2}
.pr-mnav{display:flex;align-items:center;gap:6px;padding:4px;border-radius:13px;background:rgba(255,255,255,.5)}
.pr-mnav b{flex:1;text-align:center;font-size:15px;line-height:20px;font-weight:800}
.pr-mnav a,.pr-mnav span{flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;color:#101214;text-decoration:none}
.pr-mnav span.is-off{background:transparent;color:rgba(16,18,20,.25)}
.pr-mnav svg{width:18px;height:18px}
.pr-total{display:flex;flex-direction:column;padding:0 2px}
.pr-total small{font-size:12px;line-height:16px;font-weight:700;color:#5a4a0c}
.pr-total b{font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pr-total b span{font-size:16px;letter-spacing:0;color:#5a4a0c}
/* працівники */
.pr-rank{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:0 12px}
html body .pr-rr{width:100%;display:flex;align-items:center;gap:10px;min-height:62px;height:auto!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #f0f1f3!important;border-radius:0!important;background:none!important;text-align:left;color:#101214;box-shadow:none!important;box-sizing:border-box}
html body .pr-rr:last-child{border-bottom:0!important}
.pr-rr>em{flex:0 0 16px;font-style:normal;font-size:13px;font-weight:800;color:#a0a5ab;text-align:center}
.pr-rr .person-avatar{width:34px;height:34px;font-size:11px;box-shadow:none}
.pr-rr>div{flex:1;min-width:0;display:flex;flex-direction:column}
.pr-rr b{font-size:15px;line-height:19px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-bar{display:block;height:4px;border-radius:2px;background:#f0f1f3;margin-top:5px}
.pr-bar>i{display:block;height:100%;border-radius:2px;background:#f0cf4b}
.pr-pen{display:block;margin-top:3px;font-size:11px;line-height:14px;font-weight:700;color:#b3261e}
.pr-rr>strong{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;font-size:16px;line-height:20px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-rr>strong small{font-size:11px;line-height:14px;font-weight:700;color:#8a9096}
.pr-rr.is-zero{opacity:.5}
/* усі роботи */
.pr-jpanel{display:flex;flex-direction:column;gap:8px}
.pr-jpanel[hidden]{display:none}
.pr-chips{display:flex;gap:6px;overflow-x:auto;margin:0 -2px;padding:0 2px 2px;scrollbar-width:none}
.pr-chips::-webkit-scrollbar{display:none}
html body .pr-chips button{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:36px!important;padding:0 12px!important;border:1px solid #e3e5e8!important;border-radius:18px!important;background:#fff!important;font-size:13px;font-weight:800;color:#101214;white-space:nowrap}
.pr-chips em{font-style:normal;font-size:11px;font-weight:800;color:#8a9096}
html body .pr-chips button.on{background:#151719!important;border-color:#151719!important;color:#fff}
.pr-chips button.on em{color:#f0cf4b}
.pr-jw[hidden]{display:none}
.pr-who{font-style:normal}
.pr[data-filtered] .pr-who{display:none}
.pr-jobs{display:flex;flex-direction:column}
.pr-jw:last-child .pr-job,.pr-jobs>.pr-job:last-child{border-bottom:0}
.pr-job{display:flex;align-items:center;gap:10px;min-height:50px;padding:6px 0;border-bottom:1px solid #eceef0;color:#101214;text-decoration:none;box-sizing:border-box}
.pr-job>em{flex:0 0 38px;font-style:normal;font-size:12px;font-weight:800;color:#5c6167;font-variant-numeric:tabular-nums}
.pr-job>div{flex:1;min-width:0;display:flex;flex-direction:column}
.pr-job b{font-size:14px;line-height:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-job span{font-size:12px;line-height:16px;color:#8a9096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-job .pr-pen{margin-top:1px}
.pr-job>strong{flex:0 0 auto;font-size:14px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-card{gap:4px}
.pr-pen-sum{margin:0;font-size:12px}
.pr-none{margin:8px 0;font-size:13px;line-height:1.4;color:#8a9096;text-align:center}
@media (max-width:360px){
  .pr-total b{font-size:30px}
  .pr-rr>em{display:none}
}

/* v1.6.453 — «Фактура» (F3, чек): власник, клієнт і друк */
html body .iv{max-width:420px;margin:0 auto;padding:10px 12px calc(92px + env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;gap:10px;box-sizing:border-box;background:none}
.iv svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iv-top{display:flex;align-items:center;gap:8px;min-height:44px}
html body .iv-top h1{margin:0;font-size:18px!important;line-height:24px!important;font-weight:800}
.iv-back{flex:0 0 40px;width:40px;height:40px;border-radius:12px;border:1px solid #e3e5e8;background:#fff;display:flex;align-items:center;justify-content:center;color:#101214;text-decoration:none}
.iv-back svg{width:20px;height:20px}
.iv-sheet{width:100%;max-width:360px;align-self:center;box-sizing:border-box;padding:18px 18px 14px;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(16,18,20,.06),0 8px 24px rgba(16,18,20,.06);color:#101214;display:flex;flex-direction:column;gap:8px;font-variant-numeric:tabular-nums}
.iv-logo{display:flex;justify-content:center}
.iv-logo img{width:160px;height:auto}
.iv-addr{margin:0;text-align:center;font-size:11px;line-height:15px;color:#70757b}
.iv-cut{width:100%;margin:2px 0;border:0;border-top:1.5px dashed #c9cdd2}
.iv-lines{margin:0;display:flex;flex-direction:column;gap:4px}
.iv-lines>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;line-height:18px}
.iv-lines dt{flex:0 0 auto;color:#70757b}
.iv-lines dd{margin:0;min-width:0;text-align:right;font-weight:800;overflow-wrap:anywhere}
.iv-lines>div.is-due{font-size:15px}
.iv-lines>div.is-due dt{color:#101214;font-weight:800}
.iv-svcs{display:flex;flex-direction:column;gap:8px}
.iv-svc{display:flex;flex-direction:column;gap:1px}
.iv-svc b{font-size:14px;line-height:18px;font-weight:800;overflow-wrap:anywhere}
.iv-svc>div{display:flex;justify-content:space-between;gap:10px;font-size:13px;line-height:18px;color:#5c6167}
.iv-svc strong{color:#101214;white-space:nowrap}
.iv-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.iv-total span{font-size:13px;font-weight:800;letter-spacing:.1em}
.iv-total b{font-size:26px;line-height:1.1;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.iv-stamp{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 10px;box-sizing:border-box;border-radius:10px;font-size:12px;line-height:16px;font-weight:800;letter-spacing:.04em;text-align:center}
.iv-stamp svg{flex:0 0 16px;width:16px;height:16px;stroke-width:2.8}
.iv-stamp.is-paid{border:2px solid #16804a;color:#16804a}
.iv-stamp.is-due{border:2px dashed #c99a06;color:#8a6400;background:#fff9e6}
.iv-note{display:flex;flex-direction:column;gap:2px}
.iv-note span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a9096}
.iv-note p{margin:0;font-size:13px;line-height:18px;overflow-wrap:anywhere}
.iv-thanks{margin:0;text-align:center;font-size:12px;color:#8a9096}
.iv-bar{position:fixed;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;max-width:420px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:8px;box-sizing:border-box;border-radius:18px;background:#fff;border:1px solid #e6e8eb;box-shadow:0 8px 24px rgba(16,18,20,.14)}
.iv-bar.is-one{grid-template-columns:1fr}
html body .iv-btn{display:flex;align-items:center;justify-content:center;gap:7px;height:46px!important;padding:0 8px!important;border:0!important;border-radius:13px!important;background:#f3f4f6!important;color:#101214!important;font-size:15px!important;font-weight:800!important;white-space:nowrap;box-shadow:none!important}
html body .iv-btn.is-main{background:#f0cf4b!important}
.iv-btn svg{flex:0 0 18px;width:18px;height:18px}
@media (max-width:340px){
  html body .iv-btn{font-size:13px!important}
  .iv-btn svg{display:none}
}
@media print{
  @page{margin:12mm}
  html body .iv{max-width:none;padding:0!important}
  .iv-top,.iv-bar,.mobile-appbar,#invoice-share-dialog{display:none!important}
  .iv-sheet{max-width:120mm;box-shadow:none;border:1px solid #d6d9dd}
  body{background:#fff!important}
}

/* v1.6.454 — брендовані SVG месенджерів не успадковують контурні стилі форм та фактури. */
html body .share-app-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:0 0 34px}
html body .share-app-icon svg{display:block;width:34px!important;height:34px!important;fill:initial!important;stroke:none!important;stroke-width:initial!important;stroke-linecap:initial!important;stroke-linejoin:initial!important}

/* v1.6.455 — новий фундамент «Звітів»: повний огляд і деталізація робіт. */
.rp-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rp-kpis article{display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid #e8eaed;border-radius:14px;background:#fff}
.rp-kpis span{font-size:11px;font-weight:700;color:#70757b}.rp-kpis b{margin-top:3px;font-size:20px;line-height:24px;font-weight:800;font-variant-numeric:tabular-nums}.rp-kpis small{margin-top:2px;font-size:10px;line-height:14px;color:#9aa0a6}.rp-kpis .is-positive b{color:#16804a}.rp-kpis .is-negative b{color:#b3261e}
.rp-attention{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fff5cf;border:1px solid #ead687}.rp-attention>div{flex:1;display:flex;flex-direction:column}.rp-attention b{font-size:14px}.rp-attention span{font-size:11px;color:#75620d}.rp-attention a{flex:0 0 auto;font-size:12px;font-weight:800;color:#101214}
.rp-chart-scroll{display:flex;align-items:end;gap:7px;min-height:150px;overflow-x:auto;padding:12px 2px 4px}.rp-day{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;gap:5px}.rp-bars{height:120px;display:flex;align-items:end;gap:2px}.rp-bars i{display:block;width:7px;min-height:2px;border-radius:4px 4px 1px 1px}.rp-day small{font-size:9px;color:#8a9096;white-space:nowrap}.rp-chart .income{background:#2f80ed}.rp-chart .expense{background:#e45b55}.rp-chart .profit{background:#20a464}.rp-legend{display:flex;gap:12px;justify-content:center;padding-top:8px}.rp-legend span{display:flex;align-items:center;gap:4px;font-size:10px;color:#70757b}.rp-legend i{width:8px;height:8px;border-radius:4px}
.rp-status{color:#101214;text-decoration:none}.rp-status-dot{width:10px;height:10px;border-radius:5px;background:#a0a5ab}.rp-status-dot.is-confirmed{background:#2f80ed}.rp-status-dot.is-in_progress{background:#f0cf4b}.rp-status-dot.is-ready,.rp-status-dot.is-closed{background:#20a464}.rp-status-dot.is-owner_closed{background:#151719}.rp-status-dot.is-cancelled{background:#a0a5ab}
@media(min-width:760px){.rp-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v1.6.456 — деталізація доходів, прибутку, клієнтів та оплат. */
.rp-formula{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding:4px 0}.rp-formula b,.rp-formula strong{text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.rp-formula span{font-size:11px;color:#8a9096}.rp-formula i{grid-column:1/-1;height:1px;background:#eceef0;font-size:0}.rp-formula strong{color:#16804a;font-size:22px}
.rp-payment{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:10px 0;border-top:1px solid #f0f1f3}.rp-payment:first-of-type{border-top:0}.rp-payment>div:first-child{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px}.rp-payment span{font-size:13px}.rp-payment b{font-size:13px}.rp-payment small{font-size:10px;color:#8a9096}.rp-track{height:7px;border-radius:4px;background:#eceef0;overflow:hidden}.rp-track i{display:block;height:100%;border-radius:4px;background:#2f80ed}.rp-track i.c1{background:#20a464}.rp-track i.c2{background:#8f6be8}.rp-track i.c3{background:#f0cf4b}

/* v1.6.457 — workload, discounts, certificates and period comparison. */
.rp-week{display:flex;flex-direction:column;gap:10px}.rp-week-row{display:grid;grid-template-columns:28px minmax(70px,1fr) 24px 86px;align-items:center;gap:8px}.rp-week-row>b,.rp-week-row>strong{font-size:13px}.rp-week-row>small{text-align:right;font-size:11px;color:#8a9096}.rp-week-row .rp-track i{background:#f0cf4b}
.rp-certificate-balance{display:flex;flex-direction:column;align-items:center;padding:12px 4px;text-align:center}.rp-certificate-balance span{font-size:12px;color:#70757b}.rp-certificate-balance strong{margin:5px 0;font-size:30px;line-height:36px}.rp-certificate-balance small{max-width:340px;font-size:11px;line-height:16px;color:#8a9096}.rp-card-link{display:flex;justify-content:center;margin-top:8px;padding:11px;border-radius:12px;background:#f3f4f6;color:#101214;font-size:13px;font-weight:800;text-decoration:none}
.rp-periods{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.rp-periods span{display:flex;flex-direction:column}.rp-periods span:last-child{text-align:right}.rp-periods small{font-size:10px;color:#8a9096}.rp-periods b{font-size:12px}.rp-periods i{font-size:10px;font-style:normal;color:#8a9096}
.rp-compare{padding:12px 0;border-top:1px solid #eceef0}.rp-compare:first-child{border-top:0}.rp-compare-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.rp-compare-title b{font-size:14px}.rp-compare-title strong{font-size:13px;color:#70757b}.rp-compare-title strong.up{color:#16804a}.rp-compare-title strong.down{color:#b3261e}.rp-compare-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rp-compare-values span{display:flex;flex-direction:column;padding:8px;border-radius:10px;background:#f5f6f7}.rp-compare-values small{font-size:9px;color:#8a9096}.rp-compare-values b{margin-top:2px;font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:380px){.rp-week-row{grid-template-columns:24px minmax(60px,1fr) 20px 72px}.rp-week-row>small{font-size:10px}.rp-compare-values b{font-size:11px}}

/* v1.6.458 — vehicle, lost-work and debt-aging reports. */
.rp-vehicle,.rp-debt-bucket{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:11px 0;border-top:1px solid #eceef0}.rp-vehicle:first-of-type,.rp-debt-bucket:first-of-type{border-top:0}.rp-vehicle>div:first-child,.rp-debt-bucket>div:first-child{display:flex;flex-direction:column;min-width:0}.rp-vehicle b,.rp-debt-bucket b{font-size:14px}.rp-vehicle span,.rp-debt-bucket span{font-size:11px;color:#8a9096}.rp-vehicle>strong,.rp-debt-bucket>strong{font-size:13px;white-space:nowrap}.rp-vehicle .rp-track,.rp-debt-bucket .rp-track{grid-column:1/-1}.rp-vehicle .rp-track i{background:#2f80ed}.rp-debt-bucket .rp-track i{background:#e45b55}
.rp-status-dot.is-client_refused{background:#e45b55}.rp-status-dot.is-no_show{background:#8f6be8}.rp-status-dot.is-rejected{background:#70757b}

/* v1.6.459 — time peaks, service profitability and forward schedule. */
.rp-hours{display:flex;flex-direction:column;gap:10px}.rp-hour{display:grid;grid-template-columns:42px minmax(70px,1fr) 24px 86px;align-items:center;gap:8px}.rp-hour>b,.rp-hour>strong{font-size:13px}.rp-hour>small{text-align:right;font-size:11px;color:#8a9096}.rp-hour .rp-track i{background:#8f6be8}
.rp-note{margin:0;font-size:12px;line-height:18px;color:#70757b}.rp-service-profit{padding:13px 0;border-top:1px solid #eceef0}.rp-service-profit:first-child{border-top:0}.rp-service-head{display:flex;justify-content:space-between;gap:10px}.rp-service-head>div{display:flex;flex-direction:column;min-width:0}.rp-service-head b{font-size:14px}.rp-service-head span{font-size:11px;color:#8a9096}.rp-service-head>strong{font-size:14px;white-space:nowrap}.rp-profit-parts{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:5px;margin:9px 0}.rp-profit-parts span{display:flex;flex-direction:column}.rp-profit-parts small{font-size:9px;color:#8a9096}.rp-profit-parts b{font-size:12px}.rp-profit-parts i{font-size:11px;font-style:normal;color:#a0a5ab}.rp-service-profit .rp-track i{background:#20a464}
.rp-forecast-days{display:flex;align-items:end;gap:6px;min-height:150px;overflow-x:auto;padding-top:8px}.rp-forecast-day{flex:1 0 28px;display:flex;flex-direction:column;align-items:center;gap:3px}.rp-forecast-bar{height:105px;display:flex;align-items:end}.rp-forecast-bar i{display:block;width:12px;min-height:2px;border-radius:6px 6px 2px 2px;background:#2f80ed}.rp-forecast-day b{font-size:11px}.rp-forecast-day small{font-size:9px;color:#8a9096;white-space:nowrap}
@media(max-width:380px){.rp-hour{grid-template-columns:38px minmax(60px,1fr) 20px 72px}.rp-hour>small{font-size:10px}.rp-profit-parts b{font-size:10px}}

/* v1.6.460 — customer retention, employee efficiency and data quality. */
.rp-retention{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px 0;border-top:1px solid #eceef0}.rp-retention:first-of-type{border-top:0}.rp-retention>div:first-child{display:flex;flex-direction:column}.rp-retention b{font-size:14px}.rp-retention span{font-size:11px;color:#8a9096}.rp-retention>strong{font-size:13px}.rp-retention .rp-track{grid-column:1/-1}.rp-retention .rp-track i{background:#20a464}
.rp-efficiency{padding:13px 0;border-top:1px solid #eceef0}.rp-efficiency:first-child{border-top:0}.rp-eff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.rp-eff-grid span{display:flex;flex-direction:column;padding:7px;border-radius:9px;background:#f5f6f7}.rp-eff-grid small{font-size:9px;color:#8a9096}.rp-eff-grid b{margin-top:2px;font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:400px){.rp-eff-grid{grid-template-columns:repeat(2,1fr)}}

/* v1.6.461 — cash flow, annual trend and ABC analysis. */
.rp-cash-method{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px 0;border-top:1px solid #eceef0}.rp-cash-method:first-of-type{border-top:0}.rp-cash-method>div:first-child{display:flex;flex-direction:column}.rp-cash-method b{font-size:14px}.rp-cash-method span{font-size:11px;color:#8a9096}.rp-cash-method>strong{font-size:13px}.rp-cash-method>strong.up{color:#16804a}.rp-cash-method>strong.down{color:#b3261e}.rp-cash-bars{grid-column:1/-1;display:flex;height:7px;border-radius:4px;overflow:hidden;background:#eceef0}.rp-cash-bars i{display:block;height:100%}.rp-cash-bars .in{background:#20a464}.rp-cash-bars .out{background:#e45b55}
.rp-trend-scroll{display:flex;align-items:end;gap:7px;min-height:165px;overflow-x:auto;padding:12px 2px 4px}.rp-trend-month{flex:1 0 42px;display:flex;flex-direction:column;align-items:center;gap:5px}.rp-trend-month .rp-bars{height:130px}.rp-trend-month small{font-size:9px;color:#8a9096;white-space:nowrap}
.rp-abc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rp-abc-summary article{display:flex;flex-direction:column;padding:11px;border-radius:14px;background:#fff;border:1px solid #e8eaed}.rp-abc-summary article>b{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#20a464;color:#fff;font-size:14px}.rp-abc-summary article.is-b>b{background:#f0b92f;color:#101214}.rp-abc-summary article.is-c>b{background:#8a9096}.rp-abc-summary span{margin-top:5px;font-size:9px;color:#8a9096}.rp-abc-summary strong{font-size:12px}.rp-abc-badge{flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:#20a464;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.rp-abc-badge.is-b{background:#f0b92f;color:#101214}.rp-abc-badge.is-c{background:#8a9096}
@media(max-width:380px){.rp-abc-summary{gap:5px}.rp-abc-summary article{padding:8px 6px}.rp-abc-summary strong{font-size:10px}}

/* v1.6.462 — робоча область не ширша за екран: на ПК «Звіти» розтягувалися до 1750 px через рядок вкладок */
.app-shell>.workspace{min-width:0}
.ol-more{margin:14px 4px 4px;padding:12px 14px;border-radius:14px;background:#f6f7f8;color:var(--muted,#70757b);font-size:12px;line-height:1.4;text-align:center}
.lc-select-trigger.is-invalid{border-color:#c72e2e!important;box-shadow:0 0 0 3px rgba(199,46,46,.14)!important}
.lc-select-error{display:block;margin-top:5px;color:#c72e2e;font-size:12px;font-weight:700}

/* v462: послуги в картці «Сьогодні» — кожна з нового рядка, без крапок-роздільників;
   аватарка майстра — посередині між статусом і сумою, сума внизу картки */
html body .today-booking-v416 .today-booking-v182-service:not(#x){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:flex-start!important;text-align:left!important;gap:7px!important}
html body .today-booking-v416 .today-booking-v182-service-item:not(#x){display:block!important}
html body .today-booking-v416 .today-booking-v182-additional:not(#x){align-self:flex-start}
html body .today-booking-v182-card.today-booking-v416 .today-booking-v416-side:not(#x){align-self:stretch!important;justify-content:space-between!important}
html body .today-booking-v182-card.today-booking-v416 .today-booking-v416-side .person-avatar:not(#x){margin:auto 0!important}

/* v462: онлайн-запис — календар, години й контакти на всю ширину (margin:auto у flex-колонці стискав їх) */
.public-booking-shell .wizard-step>.calendar-card,.public-booking-shell .wizard-step>.time-panel,.public-booking-shell .wizard-step>.contact-card,.public-booking-shell .wizard-step>.selected-order-summary,.public-booking-shell .wizard-step>.submit-booking{width:100%;box-sizing:border-box}
.public-booking-shell .time-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.public-booking-shell .time-chips button{min-width:0}
/* v462: логотип замість галочки на сторінці успішного запису */
.success-logo-v462{display:flex;justify-content:center;margin:0 auto 22px}
.success-logo-v462 img{display:block;width:180px;max-width:70%;height:auto}

/* v462: «Нові роботи» — позначка онлайн-запису клієнта */
.rq-who .rq-online{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;line-height:1;padding:4px 7px;border-radius:999px;background:#e8f1ff;color:#1f5fbf;margin-right:2px}

/* v462: ім'я користувача в шапці — до двох рядків замість обрізання «…» */
html body .mobile-appbar .mobile-user-actions .mobile-user-name:not(#x){white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-height:1.2!important;text-align:right!important;max-width:46vw!important;overflow-wrap:anywhere}

/* v1.6.462 — редизайн вікна «Оплата» */
html body dialog.pd462{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:0;border-radius:26px;padding:0;background:#fff;color:#101214;box-shadow:0 30px 90px rgba(12,14,16,.28);overflow:auto}
html body dialog.pd462::backdrop{background:rgba(16,18,20,.55);backdrop-filter:blur(3px)}
html body dialog.pd462[open]{animation:pd462-in .22s cubic-bezier(.2,.8,.2,1)}
@keyframes pd462-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
html body dialog.pd462 form{display:grid;gap:14px;padding:18px 18px 12px;margin:0}
.pd462-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 18px;border-radius:20px;background:var(--accent,#f0cf4b);color:#101214;position:relative;overflow:hidden}
.pd462-head::after{content:"";position:absolute;right:-50px;top:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,0) 70%);pointer-events:none}
.pd462-head-copy{display:grid;gap:4px;min-width:0;position:relative;z-index:1}
.pd462-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5e5226}
html body .pd462 .pd462-sum{font-size:34px;line-height:1.05;font-weight:850;letter-spacing:-.03em;color:#101214;font-variant-numeric:tabular-nums;white-space:nowrap}
.pd462-sub{font-size:14px;font-weight:650;color:#3d3a2a}
.pd462-x{position:relative;z-index:1;flex:0 0 auto;width:38px;height:38px;border:0;border-radius:12px;background:rgba(16,18,20,.1);display:grid;place-items:center;color:#101214;cursor:pointer}
.pd462-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.pd462-list{display:grid;gap:8px}
html body .pd462 .pd462-opt{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:14px;width:100%;min-height:72px;margin:0;padding:12px 14px 12px 12px;border:1.5px solid #e6e8eb;border-radius:18px;background:#fff;color:#101214;text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(16,18,20,.04);transition:border-color .16s,background-color .16s,transform .16s}
html body .pd462 .pd462-opt:hover{border-color:#cfd3d7}
html body .pd462 .pd462-opt.is-selected{border-color:var(--accent,#f0cf4b);background:#fffbea}
html body .pd462 .pd462-opt.is-paying-v154{opacity:.6;pointer-events:none}
.pd462-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center}
.pd462-ic svg{width:26px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pd462-ic.is-cash{background:#e7f6ec;color:#1d7a43}
.pd462-ic.is-card{background:#e8f0fe;color:#2858b8}
.pd462-ic.is-cert{background:#fdf3d2;color:#a07800}
.pd462-txt{display:grid;gap:3px;min-width:0}
.pd462-txt b{font-size:17px;line-height:1.15;font-weight:800}
.pd462-txt small{font-size:13px;line-height:1.25;color:#6f767c;font-weight:500}
.pd462-go{width:20px;height:20px;fill:none;stroke:#a3a9ae;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.pd462-opt.is-selected .pd462-go.is-down{transform:rotate(180deg);stroke:#101214}
html body .pd462 .pd462-cert{display:grid;gap:12px;margin:-2px 0 0;padding:14px;border-radius:18px;background:#f6f7f8}
html body .pd462 .pd462-cert[hidden]{display:none}
.pd462-field{display:grid;gap:6px;font-size:13px;font-weight:700;color:#4b5157}
html body .pd462 .pd462-field select{width:100%;min-height:48px;padding:0 12px;border:1px solid #dcdfe2;border-radius:12px;background:#fff;font:inherit;font-size:15px;font-weight:600;color:#101214}
html body .pd462 p.pd462-empty{margin:0;font-size:13.5px;line-height:1.45;color:#5c6167}
.pd462-split{display:grid;gap:2px;padding:4px 12px;border-radius:12px;background:#fff}
html body .pd462 .pd462-split .certificate-split-row{padding:9px 0;font-size:15px}
html body .pd462 .pd462-split .certificate-split-row+.certificate-split-row,html body .pd462 #certificate-topup-fields .certificate-split-row{border-top:1px solid #eceef0}
html body .pd462 .pd462-topup{margin:4px 0 8px}
html body .pd462 .pd462-topup legend{font-size:13px;font-weight:700;color:#4b5157}
html body .pd462 .pd462-topup label{min-height:44px;border-radius:12px;font-weight:700;cursor:pointer}
html body .pd462 .pd462-confirm{width:100%;min-height:52px;border:0;border-radius:14px;background:#151719;color:var(--accent,#f0cf4b);font:inherit;font-size:16px;font-weight:800;cursor:pointer}
html body .pd462 .pd462-confirm:disabled{background:#d9dcdf;color:#8a9096;cursor:not-allowed}
html body .pd462 .pd462-cancel{justify-self:center;min-height:42px;padding:0 20px;border:0;border-radius:12px;background:transparent;color:#5c6167;font:inherit;font-size:14.5px;font-weight:750;cursor:pointer}
@media(max-width:360px){html body .pd462 .pd462-sum{font-size:30px}html body .pd462 .pd462-opt{grid-template-columns:42px minmax(0,1fr) 18px;gap:12px;min-height:66px}.pd462-ic{width:42px;height:42px}}
html body .pd462 .pd462-x:focus{outline:none}
html body .pd462 .pd462-x:focus-visible{outline:2px solid #101214;outline-offset:2px}

/* v462: офіційні логотипи месенджерів у «Надіслати фактуру» */
html body .share-app-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
html body .invoice-messenger-row-v144 .share-app-icon{width:40px;height:40px;flex:0 0 40px}
html body .invoice-messenger-row-v144 .share-app-icon svg{width:40px!important;height:40px!important}

/* v462: «Нові роботи» — час чорним без темної плитки, галочка без жовтого фону */
html body .rq-c .rq-ctime:not(#x){background:transparent;color:#101214;min-height:0;border-radius:0}
html body .rq-c .rq-ctime:not(#x) b{color:#101214;font-size:17px;line-height:21px}
html body .rq-c .rq-ctime:not(#x) small{color:#6f767c;font-size:12px}
html body .rq-c .rq-ok:not(#x){background:transparent!important;color:#101214!important}
html body .rq-c .rq-ok:not(#x) svg{width:28px;height:28px;stroke-width:2.6}
html body .rq-c .rq-ok:not(#x):active{background:#f1f2f3!important}
.rq-when .rq-online{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;line-height:1;padding:3px 7px;border-radius:999px;background:#e8f1ff;color:#1f5fbf;margin-right:6px}

/* v462: перемикач періоду у Звітах — біла «пігулка» точно по центру сірого поля */
html body .fx-period:not(#x){height:auto;min-height:38px;padding:3px;align-items:center}
/* v462: підказка, що рядок вкладок/фільтрів гортається вбік — край плавно зникає */
.fx-tabs.lc-more-right,.fx-chips.lc-more-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent)}
.fx-tabs.lc-more-left,.fx-chips.lc-more-left{-webkit-mask-image:linear-gradient(to right,transparent,#000 44px);mask-image:linear-gradient(to right,transparent,#000 44px)}
.fx-tabs.lc-more-left.lc-more-right,.fx-chips.lc-more-left.lc-more-right{-webkit-mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent)}
.lc-scroll-wrap{position:relative;min-width:0}
.lc-scroll-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:1px solid #e3e5e8;border-radius:50%;background:#fff;color:#101214;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(16,18,20,.14);cursor:pointer;z-index:2}
.lc-scroll-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lc-scroll-wrap:has(.lc-more-right) .lc-scroll-arrow:not(.is-left){display:flex}
.lc-scroll-arrow.is-left{right:auto;left:0}
.lc-scroll-wrap:has(.lc-more-left) .lc-scroll-arrow.is-left{display:flex}
.fx-chips.lc-more-right{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 70px),transparent calc(100% - 18px));mask-image:linear-gradient(to right,#000 calc(100% - 70px),transparent calc(100% - 18px))}
.fx-chips.lc-more-left{-webkit-mask-image:linear-gradient(to right,transparent 18px,#000 70px);mask-image:linear-gradient(to right,transparent 18px,#000 70px)}
.fx-chips.lc-more-left.lc-more-right{-webkit-mask-image:linear-gradient(to right,transparent 18px,#000 70px,#000 calc(100% - 70px),transparent calc(100% - 18px));mask-image:linear-gradient(to right,transparent 18px,#000 70px,#000 calc(100% - 70px),transparent calc(100% - 18px))}

/* v462: «Записи на сьогодні» у майстра — заголовок і «Всі записи» в першому рядку, перемикач «Мої / Всі» окремим рядком */
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"title all" "scope scope"!important;align-items:center!important;row-gap:12px!important;column-gap:10px!important;height:auto!important;min-height:0!important}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y)>div:first-child{display:contents!important}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y) h2{grid-area:title;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y) .today-bookings-v182-all{grid-area:all}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y) .today-bookings-v182-switch{grid-area:scope;position:relative;z-index:1;display:grid!important;grid-template-columns:1fr 1fr;width:100%!important;height:40px;box-sizing:border-box;margin:0!important;padding:3px!important;gap:3px;border-radius:12px;background:#e7e9ec}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y) .today-bookings-v182-switch a{display:flex!important;align-items:center;justify-content:center;height:34px!important;min-height:0!important;margin:0!important;padding:0!important;border-radius:9px;font-size:14px;font-weight:650;color:#5c6167;background:transparent;box-shadow:none;line-height:1}
html body .today-bookings-v182-head.has-scope-v462:not(#x):not(#y) .today-bookings-v182-switch a.active{background:#fff;color:#101214;font-weight:800;box-shadow:0 1px 2px rgba(16,18,20,.1)}

/* v462: календар мийника (один широкий стовпчик) — нормальний розмір шрифту на картці */
html body .staff-calendar.washer-self-calendar-v381 .cal-booking:not(#x){padding:10px 12px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-booking b.cal-booking-car-v262:not(#x){font-size:17px!important;line-height:1.2!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-booking span.cal-booking-client-v262:not(#x){font-size:15px!important;line-height:1.25!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-booking small.cal-booking-service-v262:not(#x){font-size:14px!important;line-height:1.3!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-booking .cal-booking-meta-v235 em:not(#x){font-size:14px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-booking .cal-booking-meta-v235 strong:not(#x){font-size:15px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-staff b:not(#x){font-size:16px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-staff small:not(#x){font-size:12px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-lunch-card b:not(#x){font-size:16px!important}
html body .staff-calendar.washer-self-calendar-v381 .cal-lunch-card span:not(#x){font-size:14px!important}

/* v1.6.462 — сторінка онлайн-оплати з погодженням оферти */
.pay462-page{padding:16px;align-items:start}
html body .success-card.pay462{max-width:520px;padding:22px 20px 18px;text-align:left;display:grid;gap:16px;border-radius:26px}
.pay462-logo{display:flex;justify-content:center}.pay462-logo img{width:150px;height:auto;display:block}
.pay462-sumbox{display:grid;gap:4px;padding:16px 18px;border-radius:20px;background:var(--accent,#f0cf4b);color:#101214}
.pay462-sumbox span{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5e5226}
.pay462-sumbox b{font-size:36px;line-height:1.05;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pay462-sumbox small{font-size:14px;font-weight:600;color:#3d3a2a}
.pay462-form{display:grid;gap:14px;margin:0}
.pay462-section{display:grid;gap:8px}
.pay462-cap{font-size:13px;font-weight:800;color:#4b5157}
.pay462-method{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--accent,#f0cf4b);border-radius:16px;background:#fffbea}
.pay462-method-ic{width:44px;height:44px;border-radius:12px;background:#e8f0fe;color:#2858b8;display:grid;place-items:center}
.pay462-method-ic svg{width:24px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.pay462-method-txt{display:grid;gap:2px;min-width:0}.pay462-method-txt b{font-size:16px}.pay462-method-txt small{font-size:13px;color:#6f767c}
.pay462-method-dot{width:22px;height:22px;border-radius:50%;border:6px solid #101214;box-sizing:border-box;background:#fff}
.pay462-consent{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1.5px solid #dfe3e6;border-radius:16px;background:#f7f8f9;cursor:pointer;font-size:15px;line-height:1.45;font-weight:600;color:#25292d}
.pay462-consent:has(input:checked){border-color:#101214;background:#fff}
.pay462-consent input{position:absolute;opacity:0;width:30px;height:30px;margin:0;left:14px;top:14px;cursor:pointer}
.pay462-box{width:30px;height:30px;border:2px solid #8a9096;border-radius:9px;background:#fff;display:grid;place-items:center;transition:background .15s,border-color .15s}
.pay462-box svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.pay462-consent input:checked+.pay462-box{background:#101214;border-color:#101214}
.pay462-consent input:checked+.pay462-box svg{opacity:1}
.pay462-consent input:focus-visible+.pay462-box{outline:3px solid rgba(240,207,75,.8);outline-offset:2px}
.pay462-consent a{color:#1f5fbf;text-decoration:underline;text-underline-offset:2px;font-weight:700;padding:2px 0}
.pay462-alert{margin:0;padding:12px 14px;border-radius:14px;background:#fdecec;color:#a12d2d;font-size:14px;font-weight:700;line-height:1.4}
.pay462-alert[hidden]{display:none}
.pay462-notice{display:grid;gap:4px;padding:14px;border-radius:16px;background:#eef6ff;color:#1f3d66}.pay462-notice b{font-size:15px}.pay462-notice span{font-size:14px;line-height:1.45}
html body .pay462-btn{width:100%;min-height:56px;border:0;border-radius:16px;background:#101214;color:var(--accent,#f0cf4b);font:inherit;font-size:17px;font-weight:850;cursor:pointer}
html body .pay462-btn:disabled{background:#d9dcdf;color:#8a9096;cursor:not-allowed}
.pay462-versions{margin:-4px 0 0;font-size:12px;line-height:1.4;color:#8a9096;text-align:center}
.pay462-lead{margin:0;font-size:15px;line-height:1.55;color:#3d4247}.pay462-lead a{color:#1f5fbf;font-weight:700}
.pay462-back{justify-self:center;padding:8px 14px;font-size:14px;font-weight:750;color:#5c6167}
/* документ: окрема сторінка й модальне вікно */
.legal462-page{max-width:760px;margin:0 auto;padding:16px 16px 40px}
.legal462-head{display:flex;justify-content:center;padding:10px 0 16px}.legal462-head img{width:150px;height:auto}
.legal462-card{background:#fff;border:1px solid var(--line,#e8eaed);border-radius:22px;padding:22px 20px}
.legal462-doc{color:#25292d;font-size:15.5px;line-height:1.6;overflow-wrap:anywhere}
.legal462-doc h1{font-size:26px;line-height:1.15;letter-spacing:-.02em;margin:0 0 6px}
.legal462-doc h2{font-size:20px;line-height:1.25;margin:22px 0 8px}
.legal462-doc h1+.legal462-ver+h2{margin-top:12px}
.legal462-doc h3{font-size:17px;line-height:1.3;margin:18px 0 6px}
.legal462-doc p{margin:0 0 10px}.legal462-doc ul{margin:0 0 10px;padding-left:20px}.legal462-doc li{margin:4px 0}
.legal462-ver{font-size:13px;color:#8a9096;font-weight:600}
.legal462-foot{text-align:center;color:#8a9096;font-size:13px;margin-top:16px}
html body dialog.legal462-dialog{width:min(720px,calc(100vw - 16px));max-height:calc(100dvh - 16px);height:calc(100dvh - 16px);padding:0;border:0;border-radius:22px;background:#fff;display:none;flex-direction:column;overflow:hidden;box-shadow:0 30px 90px rgba(12,14,16,.3)}
html body dialog.legal462-dialog[open]{display:flex}
html body dialog.legal462-dialog::backdrop{background:rgba(16,18,20,.55)}
.legal462-dialog-bar{display:flex;justify-content:flex-end;padding:10px 10px 0}
.legal462-close{width:42px;height:42px;border:0;border-radius:12px;background:#f0f1f2;display:grid;place-items:center;cursor:pointer}
.legal462-close svg{width:20px;height:20px;fill:none;stroke:#101214;stroke-width:2.2;stroke-linecap:round}
.legal462-dialog .legal462-doc{flex:1;overflow:auto;padding:0 20px 16px;-webkit-overflow-scrolling:touch}
.legal462-dialog-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eceef0}
/* адмінка */
.legal462-admin{display:grid;gap:14px}
.legal462-hint{margin:0;font-size:13.5px;line-height:1.5;color:#5c6167}
.legal462-flash{margin:0;padding:10px 14px;border-radius:12px;background:#f1f2f3;font-weight:700}.legal462-flash.is-ok{background:#e7f6ec;color:#1d6b3c}
.legal462-warn{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff6d6;color:#6b5200;font-size:13.5px;font-weight:700}
.legal462-edit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.legal462-edit-head h2{margin:0;font-size:19px}.legal462-edit-head small{color:#70757b;font-size:13px}
.legal462-view{flex:0 0 auto;font-size:14px;font-weight:750;color:#1f5fbf}
.legal462-edit form{display:grid;gap:10px}
.legal462-edit textarea{width:100%;min-height:340px;font:inherit;font-size:14.5px;line-height:1.5;padding:12px;border-radius:12px;border:1px solid #dcdfe2;resize:vertical;box-sizing:border-box}
.legal462-history{margin-top:12px;font-size:14px}.legal462-history summary{cursor:pointer;font-weight:750}.legal462-history ul{margin:8px 0 0;padding-left:18px}.legal462-history li{margin:4px 0}
.bc-online-info dd.bc-ua{font-weight:500;font-size:12px;color:#5c6167}

/* v1.6.462 — онлайн-запис: вищий календар, згортання в один тиждень після вибору дати, поява годин */
html body .public-booking-shell #calendar-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
html body .public-booking-shell .calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-height:64px;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease,transform .42s cubic-bezier(.2,.8,.2,1),margin .42s ease}
html body .public-booking-shell .calendar-week .calendar-day,html body .public-booking-shell .calendar-week .calendar-blank{aspect-ratio:auto!important;height:52px!important;min-height:52px!important;border-radius:14px!important}
html body .public-booking-shell .calendar-week .calendar-day{font-size:18px!important;font-weight:800;transition:background-color .2s,color .2s,transform .2s}
html body .public-booking-shell .calendar-week .calendar-day.selected{background:#17191b!important;color:#fff!important;transform:scale(1.04)}
html body .public-booking-shell .calendar-card{padding:14px 12px 12px!important;border-radius:20px!important;transition:padding .42s ease}
html body .public-booking-shell .calendar-head{margin-bottom:10px!important}
html body .public-booking-shell .calendar-head strong{font-size:20px!important}
html body .public-booking-shell .calendar-weekdays{gap:6px!important;margin-bottom:6px!important;font-size:12px!important}
/* згорнутий стан */
html body .public-booking-shell .calendar-card.is-collapsed .calendar-week:not(.has-selected){max-height:0;opacity:0;transform:scaleY(.6);margin-top:-6px;pointer-events:none}
html body .public-booking-shell .calendar-card.is-collapsed{padding-bottom:8px!important}
html body .public-booking-shell .calendar-card.is-collapsed .calendar-head button{opacity:0;pointer-events:none}
html body .public-booking-shell .calendar-card.is-collapsed #calendar-month{cursor:pointer}
html body .public-booking-shell .calendar-head button{transition:opacity .25s}
.calendar-expand{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:8px 0 0;padding:8px;border:0;border-radius:12px;background:transparent;color:#5c6167;font:inherit;font-size:14px;font-weight:750;cursor:pointer;animation:pb462-fade .35s ease both}
.calendar-expand[hidden]{display:none}
.calendar-expand span{font-size:12px}
/* години з'являються плавно */
html body .public-booking-shell .time-panel.is-in{animation:pb462-rise .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes pb462-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pb462-fade{from{opacity:0}to{opacity:1}}
html body .public-booking-shell .time-panel:empty{display:none}
/* марка й модель — в один рядок навіть на телефоні */
html body .public-booking-shell .grid-2.pb462-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px}
@media (prefers-reduced-motion: reduce){html body .public-booking-shell .calendar-week,html body .public-booking-shell .time-panel.is-in{transition:none!important;animation:none!important}}
html body .public-booking-shell .wizard-step>.wizard-bar{margin-bottom:18px!important}

/* v462: компактна стрілка у полях дати та випадаючих списках — без окремого широкого сегмента */
html body .crm-date-shell .crm-date-trigger:not(#x):not(#y){grid-template-columns:minmax(0,1fr) 30px!important}
html body .crm-date-shell .crm-date-trigger:not(#x):not(#y) .crm-date-trigger-value{justify-content:flex-start!important;padding:0 4px 0 14px!important;text-align:left!important}
html body .crm-date-shell .crm-date-trigger:not(#x):not(#y) .crm-date-trigger-caret{width:30px!important;min-width:30px!important;border-left:0!important;background:transparent!important;padding-right:10px!important;box-sizing:border-box!important;color:#6f767c!important}
html body .crm-date-shell .crm-date-trigger:not(#x):not(#y) .crm-date-trigger-caret svg{width:11px!important;height:7px!important}
html body .lc-select-shell .lc-select-trigger:not(#x){padding-right:32px!important}
html body .lc-select-shell .lc-select-arrow:not(#x){width:32px!important;border-left:0!important;background:transparent!important;padding-right:8px;box-sizing:border-box;color:#6f767c}
html body .lc-select-shell .lc-select-arrow:not(#x) svg{width:11px;height:7px}
/* v462: запис з черги — дата й година в одному рядку */
.waitlist-book-row-v462{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;align-items:end}
.waitlist-book-row-v462>.waitlist-book-field-v237{margin:0!important;min-width:0}
html body .waitlist-book-row-v462{align-items:start!important}
html body .waitlist-book-row-v462 .waitlist-book-field-v237{display:grid!important;gap:8px!important;align-content:start}
html body .waitlist-book-row-v462 .crm-date-shell .crm-date-trigger:not(#x):not(#y),html body .waitlist-book-row-v462 .lc-select-shell .lc-select-trigger:not(#x){height:52px!important;min-height:52px!important;border-radius:14px!important}
html body .waitlist-book-row-v462 .crm-date-shell .crm-date-trigger:not(#x):not(#y) .crm-date-trigger-value,html body .waitlist-book-row-v462 .lc-select-shell .lc-select-value:not(#x){font-size:16px!important;font-weight:800!important;padding-left:14px!important}
html body .waitlist-book-row-v462 .lc-select-shell .lc-select-trigger:not(#x){padding-left:0!important}
