.sv{padding:20px;background:#f3f6f8;border-radius:14px}.sv-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.sv-layout>section,.sv-layout>aside{background:white;border:1px solid #dce5ed;border-radius:12px;padding:20px;min-width:0}.sv-layout h4{margin:0 0 16px;font-size:18px}.sv-person,.sv-clock{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #d9e3ed;border-radius:10px;margin:10px 0;width:100%;text-align:left}.sv-person{background:white!important;color:#233545!important}.sv-person:hover:not(:disabled){border-color:#146356;background:#effaf6!important}.sv-person>span:nth-child(2),.sv-clock>div{flex:1}.sv-person small,.sv-clock small{display:block;color:#60758a;font-size:13px;margin-top:5px;line-height:1.7}.sv-avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#e1f1eb;color:#23695a;font-weight:700}.sv-person:disabled{opacity:.65}.sv-filters{display:flex;gap:8px;margin:12px 0}.sv-filters button{background:white;color:#486373;border:1px solid #d7e4ed;border-radius:24px}.sv-filters [aria-pressed=true]{background:#e5f4ef;color:#185c50;border-color:#185c50}.sv-empty{padding:55px 20px;border:1px dashed #c6d7e5;background:#f7f9fb;text-align:center;line-height:2;color:#587184;border-radius:10px}.sv-confirm{margin-top:18px;padding:20px;border:1px solid #cbded7;border-radius:12px;background:#f4fbf8}.sv-confirm p{line-height:1.7}.sv input{width:100%;box-sizing:border-box}.sv-person:focus-visible,.sv button:focus-visible{outline:3px solid #5eead4;outline-offset:3px}@media(max-width:900px){.sv-layout{grid-template-columns:1fr}.sv{padding:12px}.sv-layout>section,.sv-layout>aside{padding:15px}.sv-clock{flex-wrap:wrap}}

.sv-products{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.sv-products>section,.sv-products>aside{min-width:0}.sv-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sv-product{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:130px;background:#fff;color:#233545;border:1px solid #d9e3ed;text-align:left}.sv-product[aria-pressed=true]{border:2px solid #205f55;background:#f1faf6}.sv-product small,.sv-product span{font-size:12px;color:#687d94}.sv-product b{color:#205f55}.sv-stepper{display:flex;gap:8px;align-items:center}.sv-stepper input{width:90px;text-align:center}.sv-stepper button{min-width:44px}.sv-categories{overflow:auto}.sv-categories button{white-space:nowrap}.sv-products dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.sv-products dd{margin:0}.sv-price-change{background:#fff4de;color:#8a5306;border:1px solid #e6c17a;padding:14px;border-radius:10px;line-height:1.7}
@media(max-width:1250px){.sv-products{grid-template-columns:minmax(0,1fr)}.sv-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.sv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-product{padding:12px;min-height:120px}}

.sv-coach-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.sv-coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;max-height:460px;overflow:auto}.sv-coach-choice{display:flex;align-items:center;flex-direction:column;gap:8px;background:white;color:#183e37;border:1px solid #d5e2db;padding:14px}.sv-coach-choice[aria-pressed=true]{outline:2px solid #29795d;background:#edf8f2}.sv-coach-choice:disabled{opacity:.5}.sv-clock{flex-wrap:wrap;padding:12px}.sv-select-stop{display:flex;gap:5px}.sv-select-stop input{width:auto}.sv-cancel{background:#B23B22!important;color:white!important}.sv-cart-row{border-bottom:1px solid #dbe5df;padding:10px 0}.sv-cart-row small{display:block;color:#65796e}.sv-cart-row input{margin-top:7px}.sv-cart-actions{display:flex;gap:8px;align-items:center}.sv-cart-actions input{width:60px}.sv-product .catalog-photo{height:85px;width:100%;object-fit:cover}.sv-product:disabled{opacity:.48;cursor:not-allowed}@media(max-width:980px){.sv-coach-layout{grid-template-columns:1fr}.sv-coach-grid{max-height:400px}}
.sv-package-modal{width:min(1000px,92vw);max-height:90vh;overflow:auto}.sv-package-modal input[type=checkbox]{width:auto}.sv-cart-row>input{font-size:13px}.sv-product-grid{max-height:550px;overflow:auto}
.pw-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.pw-primary-actions button{min-height:70px}

.sv-coach-grid{max-height:calc(100dvh - 380px);min-height:180px}.sv-coach-choice{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:10px;row-gap:3px;align-content:center;text-align:left;min-height:104px;padding:10px}.sv-coach-choice .coach-avatar.large{width:54px;height:64px;grid-row:1/4}.sv-coach-choice strong{font-size:14px}.sv-coach-choice span:not(.coach-avatar),.sv-coach-choice>small{font-size:11px}.sv-products .catalog-photo-empty{display:grid;place-items:center;background:#e7f2ed;border-radius:8px;color:#2c705c;font-size:30px;font-weight:700}.sv-products>aside{max-height:calc(100dvh - 160px);overflow:auto;padding-right:5px}.sv-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sv-product{min-height:160px}.sv-product .catalog-photo{height:58px}

.sv-stop-summary{border-bottom:1px solid #dce8df;padding:14px 0}.sv-stop-summary dl{display:grid;grid-template-columns:1fr auto;gap:12px}.sv-stop-summary dd{margin:0}.sv.coach-modal form footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.sv.coach-modal{max-height:90dvh;overflow:auto}
.sv-coach-layout>section{display:flex;flex-direction:column;height:calc(100dvh - 160px);min-height:440px}.sv-coach-layout>section>h4{margin-top:0}.sv-coach-grid{flex:1;min-height:120px;max-height:none;align-content:start}.sv-coach-layout .sv-confirm{display:flex;align-items:flex-end;gap:12px;padding:12px;margin-top:12px}.sv-coach-layout .sv-confirm label{flex:1}.sv-coach-layout .sv-confirm button{white-space:nowrap}@media(max-width:700px){.sv-coach-layout .sv-confirm{display:block}}
.sv-coach-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

.sv-catalog-body{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.sv-catalog-body .sv-categories{display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - 230px);overflow:auto;position:sticky;top:12px}.sv-catalog-body .sv-categories button{white-space:normal;word-break:break-word;text-align:left;background:#f3f6f2;color:#526459;border:1px solid transparent;padding:12px;min-height:48px;border-radius:8px;font-size:13px}.sv-catalog-body .sv-categories button[aria-pressed=true]{background:#e3f1e5;color:#226444;border-color:#78a385}.sv-catalog-body .sv-categories button[data-category=packages]{border-color:#dce5df;background:#fff}.sv-catalog-body .sv-product-grid{max-height:calc(100dvh - 230px);overflow:auto;padding:2px 6px 8px 2px}@media(max-width:600px){.sv-catalog-body{grid-template-columns:78px minmax(0,1fr);gap:10px}.sv-catalog-body .sv-categories button{padding:10px 8px;font-size:12px}.sv-catalog-body .sv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}

.sv-confirm [data-note-option]{white-space:nowrap;flex-shrink:0}.sv-confirm .sv-filters{flex-wrap:wrap}

.sv-reduction.coach-modal{width:min(620px,92vw);padding:24px}.sv-reduction h2{margin:0 0 12px}.sv-reduction form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 0;min-height:0}.sv-reduction form label{display:grid;gap:7px;margin:0}.sv-reduction [hidden]{display:none!important}.sv-reduction [data-other]{grid-column:1/-1}.sv-reduction form>button{grid-column:1/-1}.sv-reduction .sv-confirm{padding:16px;margin-top:16px}.sv-reduction dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0}.sv-reduction dd{margin:0;text-align:right;font-weight:600}.sv-reduction .sv-confirm p{font-size:12px;margin:14px 0 0;line-height:1.55}.sv-reduction [data-review]>button{width:100%;margin-top:14px}.sv-reduction [data-close]{display:block;margin:12px 0 0 auto}.sv-reduction [data-error]:empty{display:none}@media(max-width:500px){.sv-reduction form{grid-template-columns:1fr}}

/* Keep the current cart beside the catalog on a 1024px POS screen. */
@media(min-width:901px) and (max-width:1250px){
  .sv-products{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
  .sv-catalog-body{grid-template-columns:96px minmax(0,1fr);gap:12px}
  .sv-product-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
  .sv-products>aside{max-height:calc(100dvh - 136px)}
  .sv-products .sv-cart-row strong{overflow-wrap:anywhere}
}
