:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#183333;background:#f4f6f7;font-synthesis:none;--green:#173a3a;--accent:#c94c21;--muted:#546766;--line:#dbe3e3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 15px;background:white;color:var(--green);font-weight:650}button:hover{background:#edf3f2}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eea149;outline-offset:3px}button.primary{background:var(--green);color:white;border-color:var(--green)}button.accent{background:var(--accent);color:white;border-color:var(--accent)}button.small{padding:7px 12px;font-size:14px}button.link{border:0;background:none;text-decoration:underline;padding:5px}.shell{max-width:1160px;margin:auto;padding:0 28px 130px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:12px}.brand{font-weight:850;font-size:25px;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brandmark{background:var(--green);border-radius:11px;padding:7px 11px;display:flex;align-items:center;flex-shrink:0}.brandlogo{display:block;width:112px;height:41px;object-fit:contain}.demo{background:#e9efef;color:#425d5a;padding:9px 14px;font-size:14px;border-radius:8px;margin-bottom:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.demo strong{color:#173a3a}.identity{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}select,input{border:1px solid #bbcaca;background:white;color:#183333;border-radius:9px;min-height:46px;padding:10px 13px;max-width:100%}label{display:block;font-size:14px;font-weight:650}label select,label input{display:block;margin-top:6px;width:100%}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px}.tabs button{padding:18px;text-align:left;font-size:18px;line-height:1.25;border-radius:12px}.tabs button.active{background:var(--green);color:white;border-color:var(--green)}.tabs small{display:block;font-size:13px;opacity:.75;font-weight:450;margin-top:5px}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 6px}h2{font-size:21px;letter-spacing:-.3px;margin:0 0 14px}h3{font-size:17px;margin:0;line-height:1.4}p{line-height:1.5}.muted{color:var(--muted);font-size:14px}.subtitle{margin:0 0 23px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:20px}.order-panel{position:sticky;top:16px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 14px}.sectionhead h2{margin:0}.search{width:100%;margin:8px 0 14px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:23px}.chips button{font-size:14px;padding:9px 12px}.chips .active{background:#dcebe7;border-color:#98bcb3}.products{display:grid;gap:10px}.product{background:white;border:1px solid var(--line);border-radius:13px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:14px}.product .price{font-size:18px;font-weight:750;white-space:nowrap}.product p{margin:5px 0;font-size:14px;color:var(--muted)}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:13px}.badge{display:inline-flex;padding:5px 8px;border-radius:6px;font-size:13px;line-height:1.4;font-weight:650;background:#edf0f1;color:#506160}.badge.confirmed,.badge.packed,.badge.yes{background:#e0f1e8;color:#225c42}.badge.missing,.badge.no{background:#fbe6df;color:#943b21}.badge.pending,.badge.waiting{background:#fff0ce;color:#795718}.badge.handed{background:#e3eafa;color:#35548b}.orderline{padding:15px 0;border-bottom:1px solid var(--line)}.orderline:last-child{border-bottom:0}.linehead{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.linehead strong{font-size:15px}.orderline .badge{margin-bottom:7px}.empty{padding:24px 15px;text-align:center;border:1px dashed #bccaca;border-radius:12px;color:var(--muted)}.daybar{display:flex;gap:8px;overflow:auto;margin-bottom:22px;padding:3px 0 7px}.daybar button{flex:1;min-width:75px;text-align:center;font-size:14px}.daybar .active{background:var(--green);color:white}.daybar strong{display:block;font-size:20px}.notice{background:#fff0dc;border-left:3px solid #d28b25;padding:12px 15px;font-size:14px;border-radius:5px;margin:14px 0}.basket{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(710px,calc(100% - 32px));background:#173a3a;color:white;padding:14px 18px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:15px;box-shadow:0 8px 25px #13302c30;z-index:5}.basket small{display:block;opacity:.8}.basket button{background:white}.basket div{line-height:1.5}dialog{border:0;border-radius:18px;max-width:540px;width:calc(100% - 28px);padding:24px;color:#183333;max-height:85vh}dialog::backdrop{background:#0b252980}dialog .close{float:right}dialog h2{padding-right:45px;margin-top:6px}.modalfoot{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;flex-wrap:wrap}#toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#152f30;color:white;padding:14px 20px;border-radius:10px;max-width:90%;z-index:20;box-shadow:0 5px 20px #0002;display:none}.seller-tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:22px 0}.metrics{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.metric{background:white;border:1px solid var(--line);padding:15px 20px;border-radius:12px;flex:1;min-width:110px}.metric strong{font-size:28px;display:block}.metric span{font-size:14px;color:var(--muted)}.customer-card{margin-bottom:14px}.customer-card .sectionhead{margin:0}.sellerline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.sellerline select{font-size:14px;width:170px}.askrow{border-top:1px solid var(--line);padding:14px 0}.quantity{display:flex;align-items:center;gap:12px}.quantity button{min-width:44px}.footnote{font-size:13px;color:var(--muted);margin-top:25px}.favorite{font-size:20px;padding:5px 11px}.favorite.on{color:#a94018}.loading{padding:40px}.row{display:flex;gap:10px;justify-content:space-between;align-items:center}.weeksummary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 18px}.weeksummary span{background:#e9efef;padding:8px 10px;border-radius:8px;font-size:14px}.error{color:#a63324}.offline{background:#fff0dc;padding:12px;margin-bottom:15px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.shell{padding:0 16px 120px}header{padding:18px 0}.brand{font-size:23px}.layout{grid-template-columns:1fr}.order-panel{position:static;grid-row:1}.tabs{gap:6px;margin-bottom:23px}.tabs button{padding:14px 10px;font-size:16px}.tabs small{font-size:12px}h1{font-size:27px}.identity{gap:8px}.identity select{width:100%}.identity>div{width:100%}.panel{padding:17px}.seller-tools{grid-template-columns:1fr 1fr}.seller-tools label:last-child{grid-column:1/-1}.product{padding:16px}.demo{font-size:13px;margin-bottom:18px}.order-panel:has(.empty){display:none}.sellerline{grid-template-columns:1fr}.sellerline select{width:100%}.basket{bottom:10px}.metric{padding:12px}.metric strong{font-size:24px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}
.product-category{font-size:12px;font-weight:750;letter-spacing:.04em;color:#526763;margin-bottom:7px}.category-label{width:100%;margin-top:5px}.category-label select{font-size:14px}.product h3{font-weight:650}.footnote a{color:#173a3a}.chips{margin-bottom:18px}

/* Compact mobile layout; all actions retain a minimum 44 px touch target. */
.product>div:first-child,.linehead strong,.sellerline>div,.row>*,.sectionhead>*{min-width:0}
.product h3,.linehead strong,.sellerline h3,.badge{overflow-wrap:anywhere}
.linehead>span{flex-shrink:0;white-space:nowrap}
.badge{max-width:100%;vertical-align:middle}
.product .badge{margin-top:6px}
.quantity{flex-wrap:wrap}
dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:760px){
 .shell{padding:0 14px calc(112px + env(safe-area-inset-bottom,0px))}
 header{padding:12px 0;gap:8px}
 .brand{font-size:22px;gap:7px}
 header button{font-size:13px;padding:9px 10px}
 .demo{gap:3px 10px;padding:7px 10px;margin-bottom:12px;line-height:1.4}
 .identity{gap:5px;margin-bottom:12px}
 .identity label{font-size:12px;margin-bottom:4px}
 .identity select{font-size:15px;min-height:44px;padding:9px 10px}
 .identity>.muted{font-size:12px;line-height:1.4}
 .tabs{position:sticky;top:0;z-index:4;gap:5px;margin:0 -4px 14px;padding:6px 4px 8px;background:#f4f6f7;box-shadow:0 5px 7px -7px #18333360;grid-template-columns:repeat(3,minmax(0,1fr))}
 .tabs button{min-width:0;min-height:70px;padding:10px 8px;font-size:16px;line-height:1.2;text-align:center;border-radius:10px}
 .tabs small{font-size:11px;line-height:1.25;margin-top:5px}
 h1{font-size:25px;line-height:1.2;letter-spacing:-.5px}
 h2{font-size:19px}
 .subtitle{font-size:13px;margin-bottom:12px;line-height:1.45}
 .layout{gap:14px}
 .sectionhead{margin:12px 0 8px;gap:8px;align-items:center;flex-wrap:wrap}
 .sectionhead>.muted{font-size:12px;white-space:nowrap}
 .layout>section>.sectionhead:first-child{margin-top:0}
 .search{margin:4px 0 10px;min-height:44px;font-size:16px}
 .chips{gap:6px;margin-bottom:12px}
 .chips button{font-size:12px;padding:8px 9px;min-height:44px}
 .category-label{font-size:12px;margin-top:0}
 .category-label select{margin-top:4px;min-height:44px;padding:8px 10px}
 .products{gap:9px}
 .product{padding:13px;grid-template-columns:minmax(0,1fr);gap:0;border-radius:12px}
 .product>div:first-child{grid-area:1/1}
 .product .price{grid-area:1/1;justify-self:end;align-self:start;font-size:17px;line-height:1.4}
 .product-category{padding-right:90px;min-height:24px;margin-bottom:5px;font-size:11px;line-height:1.4;letter-spacing:.025em;overflow-wrap:anywhere}
 .product h3{font-size:16px;line-height:1.4}
 .actions{gap:6px;margin-top:10px}
 .actions button{min-height:44px}
 .product .actions .small{padding:8px 11px}
 .product .favorite{margin-left:auto;min-width:44px}
 .panel{padding:14px}
 .order-panel h2{margin-bottom:8px}
 .order-panel>p.muted{margin:6px 0;font-size:12px}
 .orderline{padding:12px 0}
 .linehead{gap:8px;flex-wrap:wrap}
 .linehead strong{font-size:14px;line-height:1.4;flex:1 1 175px}
 .linehead>span{font-size:14px}
 .daybar{margin-bottom:12px;scroll-snap-type:x proximity}
 .daybar button{scroll-snap-align:start;min-width:66px;padding:8px 10px}
 .basket{bottom:calc(8px + env(safe-area-inset-bottom,0px));width:calc(100% - 20px);padding:10px 12px;gap:8px}
 .basket button{font-size:13px;padding:10px;flex-shrink:0}
 .basket strong{font-size:15px}
 .basket small{font-size:11px}
 dialog{padding:18px;max-height:calc(90dvh - env(safe-area-inset-bottom,0px))}
 dialog h2{font-size:20px}
 .modalfoot{gap:8px;margin-top:16px}
 .modalfoot button{flex:1 1 120px}
 .seller-tools{gap:9px;margin:14px 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .seller-tools label{min-width:0;font-size:12px}
 .seller-tools select,.seller-tools input{font-size:14px;padding:9px 8px}
 .metrics{gap:7px;margin-bottom:16px}
 .metric{min-width:80px;padding:10px}
 .metric span{font-size:12px}
 .metric strong{font-size:23px}
 .customer-card .sectionhead p{margin:7px 0 0}
 .footnote{margin-top:18px;line-height:1.5;overflow-wrap:anywhere}
}
@media(max-width:360px){
 .shell{padding-left:10px;padding-right:10px}
 .tabs button{font-size:15px;padding-left:5px;padding-right:5px}
 .tabs small{font-size:10px}
 .product{padding:12px}
 .product .actions .small{font-size:13px;padding:8px 9px}
 .product-category{padding-right:84px}
 .basket{padding:10px;gap:6px}
 .basket button{font-size:12px;padding:9px}
}
@media(max-width:760px){.tabs small,.basket small,.product-category{font-size:12px}.chips button,.category-label,.seller-tools label,.identity label{font-size:14px}}

/* Guest contact, private seller panel and quick availability workflow. */
.form-stack{display:grid;gap:14px}.form-stack input{width:100%}.form-stack p{margin:2px 0}.quick-form{margin-bottom:20px}.quick-form h2{margin-bottom:12px}.quick-form .form-stack{grid-template-columns:minmax(0,1fr) 90px}.quick-form .form-stack label:first-child{grid-column:1/-1}.quick-form .form-stack button{grid-column:1/-1}.identity>div{flex:1;min-width:0}.identity p{margin:4px 0}.own-panel{position:sticky;top:16px}.own-panel>.empty{margin:14px 0}.customer-card a,.askrow a{color:var(--green)}.footnote a{overflow-wrap:anywhere}.quantity input{width:90px}.brand>span:last-child{letter-spacing:-.6px;line-height:1.15}
@media(max-width:760px){.brand{font-size:20px;min-width:0}.brand>span:last-child{max-width:160px}.own-panel{position:static}.layout>.own-panel{grid-row:2}.identity>div{width:auto}.identity button{width:auto}.seller-tools{grid-template-columns:minmax(0,1fr)}.seller-tools label:last-child{grid-column:auto}.seller-tools input{font-size:16px}.form-stack input{font-size:16px}.customer-card h2,.customer-card p,.askrow h3{overflow-wrap:anywhere}}

/* Oficjalne logo Ślimaka i nazwa wybrana przez użytkownika. */
@media(max-width:760px){.brand{flex-direction:column;align-items:flex-start;gap:5px;font-size:18px}.brandmark{padding:5px 8px;border-radius:8px}.brandlogo{width:96px;height:35px}.brand>span:last-child{max-width:none}}

/* Decyzje sprzedawcy i priorytetowe zamienniki. */
.seller-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.seller-navigation button{min-height:52px}.seller-navigation .active{background:var(--green);color:white;border-color:var(--green)}
.archive-note{padding:12px 15px;background:#e9efef;border-radius:9px;color:var(--muted);font-size:14px}.inquiry-panel,.priority-panel{margin-bottom:16px}.priority-panel{border:2px solid #ce983a;background:#fffaf0}.priority-panel>h2{color:#77500c}.priority-panel>p{margin:0 0 12px}.priority-order{padding:15px 0;border-top:1px solid #eadbc0}.priority-order>.sellerline{border-top:0;margin-top:8px;padding-top:0}
.seller-decisions{display:flex;gap:8px;align-self:center;flex-wrap:wrap}.seller-decisions .decision{display:flex;justify-content:center;align-items:center;gap:9px;min-height:56px;min-width:126px;padding:10px 16px;font-size:17px;border-width:2px}.decision>span{font-size:26px;line-height:1}.decision.hold{border-color:#a2cdb5;color:#225c42}.decision.missing{border-color:#e5b8a9;color:#943b21}.decision.hold.selected{background:#e0f1e8}.decision.missing.selected{background:#fbe6df}.seller-decisions .decision:disabled{opacity:1;cursor:default}.askrow .seller-decisions{margin-top:12px}.priority-tag{display:inline-flex;background:#fff0ce;color:#795718;font-size:12px;font-weight:700;padding:5px 8px;border-radius:6px;margin:0 0 7px 6px;overflow-wrap:anywhere}.replacement-prompt{background:#fff2e8;border-radius:10px;padding:12px;margin:6px 0 10px}.replacement-prompt p{font-size:14px;margin:0 0 10px}.replacement-prompt p:last-child{margin-bottom:0}.replacement-button{min-height:52px;width:100%;border-color:#d1a38f;color:#853617}.sellerline>div:first-child{min-width:0}
@media(max-width:760px){.seller-navigation{display:grid;grid-template-columns:1fr 1fr;gap:7px}.seller-navigation button{font-size:14px;padding:10px 8px;min-width:0}.seller-decisions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.seller-decisions .decision{min-width:0;min-height:58px;padding:10px 8px;font-size:18px}.decision>span{font-size:28px}.sellerline{gap:10px}.priority-tag{margin-top:5px}.archive-note{font-size:14px}.seller-tools select{min-height:52px;font-size:16px}.priority-panel{padding:13px}.priority-panel h2{font-size:19px;line-height:1.35}.inquiry-panel h2{line-height:1.35}.replacement-prompt{padding:10px}}


/* Menu jako pierwsze; zgłoszenia poniżej i przez przycisk przy tytule. */
.client-layout{grid-template-columns:minmax(0,1fr)}
.client-layout>.own-panel{position:static;grid-row:2;grid-column:1}
.client-layout>.menu-panel{grid-row:1;grid-column:1;min-width:0}
.response-help{font-size:14px;color:var(--muted)}
.client-responses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 20px}
.response-alert{border:1px solid #d1a38f;background:#fff2e8;padding:14px;border-radius:12px;margin:16px 0}
.response-alert>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.response-alert button{min-height:48px;background:#fff}
.replacement-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.replacement-filters label{display:grid;gap:5px;font-size:14px;min-width:0}
.replacement-filters input,.replacement-filters select{width:100%;min-width:0}
.replacement-results{max-height:38dvh;overflow:auto;overscroll-behavior:contain;margin-top:12px;padding:2px}
.replacement-group{font-size:14px;margin:14px 0 8px;color:#506160}
.replacement-choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:12px 10px;margin-bottom:8px;cursor:pointer;min-height:64px}
.replacement-choice.selected{border-color:#24654e;background:#edf6f0;outline:1px solid #24654e}
.replacement-choice:focus-within{outline:2px solid #24654e}
.replacement-choice input{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:#24654e}
.replacement-choice>span:first-of-type{flex:1;min-width:0}
.replacement-choice strong{display:block;font-size:15px;overflow-wrap:anywhere}
.replacement-choice small{display:block;font-size:12px;color:#526460;margin-top:4px;line-height:1.4}
.replacement-price{font-weight:750;flex:0 0 auto;font-size:14px}
.replacement-submit{background:#fff;padding-top:8px}
.replacement-submit p{font-size:14px;line-height:1.4;margin:7px 0 12px}
.replacement-submit button{width:100%;min-height:52px}
.replacement-explanation{font-size:14px}
@media(max-width:760px){.layout.client-layout>.own-panel{grid-row:2}.replacement-filters{grid-template-columns:1fr}.replacement-results{max-height:32dvh}.replacement-choice{padding:10px 8px}.client-responses{grid-template-columns:1fr}}

/* Stałe nagłówki i przycisk; przewijana jest wyłącznie lista wyboru. */
dialog.replacement-dialog[open]{display:flex;flex-direction:column;overflow:hidden;height:min(760px,90dvh)}
.replacement-dialog> :not(.replacement-results){flex-shrink:0}
.replacement-dialog .close{position:absolute;right:18px;top:18px}
.replacement-dialog .replacement-results{flex:1 1 250px;min-height:70px;max-height:none}
@media(max-width:760px){.replacement-dialog .replacement-explanation{font-size:13px;line-height:1.4}.replacement-dialog .replacement-filters{gap:8px}.replacement-dialog .replacement-price{font-size:13px}}

/* Morning reservations and the packing snapshot. */
.morning-panel{min-width:0}.morning-panel .products{margin-top:1rem}.morning-panel>label{display:block;margin:12px 0}.morning-panel select{width:100%}.morning-state{padding:12px 14px;background:#edf4ed;border-radius:12px}.badge.reserved{color:#174b43;background:#d9efe8}.packing-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e4e9e6}.packing-row span{overflow-wrap:anywhere}.packing-row strong{white-space:nowrap}.packing-summary details{margin-top:18px}.packing-summary summary{cursor:pointer;min-height:44px;font-weight:700}.packing-grid{max-height:420px;overflow:auto}

.menu-preview-day{margin:12px 0}.menu-preview-day summary{min-height:44px;padding:12px;cursor:pointer;font-weight:700}.menu-preview-lines{max-height:440px;overflow:auto}.menu-confirm{display:flex;align-items:center;gap:10px;margin:18px 0}.menu-confirm input{width:24px;min-width:24px;height:24px}

.install-help{max-width:1104px;margin:0 auto 110px;padding:18px 24px;border:1px solid #bbcaca;border-radius:12px;background:white}.install-help p{font-size:14px;margin:8px 0}.install-help button[hidden]{display:none}

.pickup-caption{padding:.6rem .8rem;background:#eef5f1;border-radius:8px}
[data-point-manager] a,.qr-link{overflow-wrap:anywhere}
[data-point-manager] input[type=checkbox]{width:auto;min-height:auto;margin-right:.5rem}
.pickup-qr{display:flex;justify-content:center;background:white;padding:1rem}
.pickup-qr svg{width:min(100%,320px);height:auto}
.pickup-choice{margin:.8rem 0}


/* Wejście klienta: dzień, wyszukiwanie, dania; dane odbioru przy wysyłaniu. */
.client-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 6px}
.client-menu-heading h1{margin:0}
.client-tools{display:flex;gap:8px;flex-wrap:wrap}
.menu-intro{margin:6px 0 16px;font-size:15px;line-height:1.5}
.client-layout .menu-panel>.sectionhead:first-child{margin-top:0}
.menu-panel>.quick-form{margin-top:24px;margin-bottom:0}
@media(max-width:760px){.client-menu-heading{margin-top:6px}.client-menu-heading h1{font-size:26px}.client-tools{gap:6px}.client-tools button{font-size:13px;padding:8px 10px}.menu-intro{font-size:14px}.daybar{margin-bottom:12px}}
.pickup-selected{padding:14px;border:1px solid #dfd6c3;border-radius:12px;background:#faf7ee}.pickup-selected p{margin:8px 0 0}.client-company{font-size:.85rem;color:#555;max-width:100%;overflow-wrap:anywhere}.pickup-assignment{padding:16px 0;border-top:1px solid #dedede}.pickup-assignment:first-of-type{margin-top:12px}.pickup-assignment h3,.pickup-assignment p{margin:0}.pickup-assignment select{width:100%}.pickup-assignments{border:2px solid #c99524}@media(max-width:600px){.client-tools .client-company{flex-basis:100%;}.pickup-assignment .primary{width:100%;}}

/* Uproszczone odpowiedzi i podział listy dla producenta. */
.timing-panel{margin:18px 0;padding:18px;border:1px solid #d4ddd8;border-radius:14px;background:#f4f8f5}.timing-panel p{margin:0 0 12px}.timing-panel p:last-child{margin:12px 0 0}.timing-tabs{display:flex;gap:8px;flex-wrap:wrap}.timing-tabs button{flex:1;min-width:150px;text-align:left;min-height:68px}.timing-tabs strong,.timing-tabs small{display:block}.timing-tabs small{margin-top:5px;font-size:12px}.timing-tabs .active{background:#173a3a;color:white;border-color:#173a3a}.timing-badge{display:inline-block;padding:5px 8px;border-radius:6px;background:#eaf1ed;color:#28533f;font-size:12px;margin:5px}.timing-badge.after{background:#fff0d5;color:#735008}.timing-badge.unknown{background:#eee;color:#555}.timing-summary-row{align-items:center}.timing-summary-row>div:first-child{min-width:0;flex:1}.timing-summary-row strong{white-space:normal}.timing-quantities{display:flex;gap:20px;flex-wrap:wrap}.timing-quantity{min-width:125px}.timing-quantity small,.timing-quantity strong{display:block}.timing-quantity small{font-size:12px;color:#53645d}.timing-quantity strong{font-size:20px;margin:4px 0}.batch-toolbar{border:2px solid #5e8b72}.batch-toolbar h2{margin-top:0}.batch-choice{display:flex;align-items:center;gap:9px;font-size:13px;min-height:44px;cursor:pointer}.batch-choice input{width:22px;height:22px;min-height:22px;accent-color:#24654e}.batch-toolbar .actions{flex-wrap:wrap}.batch-preview{max-height:35vh;overflow:auto;padding-left:22px}.batch-preview li{margin:9px 0}.batch-preview small{display:block;color:#53645d}.product-shortage{border:1px solid #d8ae95}.product-shortage label{display:grid;gap:8px}.product-shortage select{max-width:100%;width:100%}.batch-toolbar [data-batch-count]{font-weight:700}.batch-toolbar button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:640px){.timing-summary-row{display:block}.timing-quantities{margin-top:10px;gap:12px}.timing-quantity{min-width:110px;flex:1}.timing-tabs button{min-width:calc(50% - 8px)}.timing-tabs button[data-timing=all]{flex-basis:100%;min-height:44px}.batch-toolbar .actions>button{flex:1 1 100%}.timing-panel{padding:12px}.sellerline{min-width:0}.batch-choice span{overflow-wrap:anywhere}}

.tozjem-wordmark{font-family:"Arial Black",Arial,sans-serif;font-size:22px;font-weight:900;line-height:.92;letter-spacing:-1px;color:#172c28}.delivery-estimate{background:#edf5f0;border-left:3px solid #17564a;padding:10px 12px;font-size:14px}.form-stack fieldset{border:1px solid #d7e2dc;border-radius:8px;padding:12px}.form-stack fieldset label{display:block;margin:8px 0}
/* Katalog klienta: prosty wybór dnia, wyszukiwarka i główne kategorie. */
.catalog-navigation{position:sticky;top:0;z-index:15;background:#f7f8f5;padding:10px 0;border-bottom:1px solid #d7ded8;margin:12px 0 20px}.catalog-tabs{margin:0 0 10px;display:grid;grid-template-columns:1fr 1fr 1.35fr}.catalog-tabs button{min-height:58px}.catalog-tabs button small{font-size:12px}.catalog-search{display:flex;align-items:center;gap:10px;background:white;border:1px solid #b9c7bf;border-radius:8px;padding:0 12px}.catalog-search svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}.catalog-search input{border:0;background:transparent;margin:0;min-width:0;min-height:48px;width:100%;padding:10px 0;outline-offset:2px}.search-scope{display:flex;gap:6px;margin-top:8px}.search-scope button{flex:1;font-size:13px;min-height:40px;padding:7px 10px}.search-scope .active,.catalog-tools .active{background:#173a3a;color:white;border-color:#173a3a}.catalog-main{min-width:0}.catalog-main .sectionhead{align-items:flex-start;gap:12px}.catalog-main h1{font-size:25px;margin:0}.catalog-date{font-size:12px;display:grid;gap:4px;max-width:230px}.catalog-date select{max-width:100%;width:100%;min-height:44px}.catalog-range{font-weight:600;color:#365449;margin:10px 0}.catalog-tools{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.catalog-tools button{min-height:44px}.catalog-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.catalog-groups button{text-align:left;min-height:100px;padding:18px;background:white;border:1px solid #ccd8cf}.catalog-groups strong{display:block;font-size:19px}.catalog-groups span{display:block;font-size:13px;color:#66766c;margin-top:10px}.catalog-subcategory{display:grid;gap:5px;margin-bottom:16px;font-size:13px}.catalog-subcategory select{min-height:46px}.catalog-offer{gap:15px}.catalog-offer>div:first-child{min-width:0;flex:1}.catalog-offer h3{overflow-wrap:anywhere}.offer-days{display:flex;gap:7px;flex-wrap:wrap}.offer-days button{min-height:44px;text-align:left;white-space:normal}.catalog-highlight{outline:3px solid #216a50;outline-offset:2px;scroll-margin-top:220px}.today-own{margin:14px 0}.today-own h2{font-size:19px}.today-own .empty{padding:10px}.client-tools{align-items:center;gap:10px;flex-wrap:wrap}.client-company{flex:1;min-width:180px}.other-offers{margin-top:22px}.other-offers .product{margin:10px 0}.quick-form summary{line-height:1.5;cursor:pointer;min-height:44px}.quick-form{margin-top:22px}.catalog-timing{font-size:13px;line-height:1.5}.catalog-main .price{white-space:normal;min-width:85px}.other-own{margin-top:20px}
@media(max-width:640px){.catalog-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-groups button{padding:14px;min-height:91px}.catalog-groups strong{font-size:17px}.catalog-main .sectionhead{display:block}.catalog-date{margin-top:12px;max-width:none}.catalog-navigation{padding:8px 0;margin:8px 0 16px}.catalog-tabs{gap:5px}.catalog-tabs button{padding:7px 5px;font-size:14px}.catalog-tabs small{line-height:1.4}.catalog-offer{display:block}.catalog-offer .price{margin-top:12px}.today-own{padding:14px}.today-own .delivery-estimate{font-size:13px}.client-tools{padding-top:8px}.catalog-range{font-size:14px}}
.packing-navigation{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.packing-navigation button{min-height:46px}.packing-navigation .active{background:#25251f;color:#fff}.packing-date{display:block;max-width:360px;margin-bottom:16px}.packing-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.packing-overview>div{display:flex;flex-direction:column;gap:6px}.packing-overview strong{font-size:32px}.packing-overview span{font-size:14px;color:#555}.packing-products{display:grid;gap:12px}.packing-product{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin:0}.packing-product h2{font-size:20px;margin:5px 0}.packing-product p{margin:5px 0}.packing-quantity{text-align:right;display:flex;flex-direction:column;justify-content:center;gap:4px}.packing-quantity strong{font-size:38px;line-height:1.1}.packing-quantity span{font-size:13px}.packing-row-status{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;font-size:14px;padding-top:12px;border-top:1px solid #e7e5df}.packing-warning{color:#9c3028}.packing-stop-number{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:32px;height:32px;background:#eee;margin-right:6px}.packing-stop-time{display:block;font-size:16px;margin-top:10px}.packing-route-client{border-top:1px solid #ddd;padding-top:12px;margin-top:16px}.packing-route-client h3{margin:0}.packing-route-line{padding:10px 0;display:flex;flex-direction:column;gap:5px}.packing-route-line small{color:#785b18}@media(max-width:600px){.packing-navigation{display:grid;grid-template-columns:1fr 1fr}.packing-navigation button:last-child{grid-column:1/-1}.packing-overview{gap:12px}.packing-overview strong{font-size:28px}.packing-overview span{font-size:12px}.packing-product{padding:16px}.packing-quantity strong{font-size:32px}}

.seasonal-note{display:inline-block;margin-left:.55rem;color:#8a4b13;font-size:.75rem;font-weight:600;letter-spacing:0;text-transform:none}

/* Main brand and current route contact. No customer data. */
.brand.brand-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.brand-stack .tozjem-wordmark{font-size:30px;line-height:1.08;letter-spacing:-1.4px}.brand-stack .route-identity{font-family:inherit;font-size:13px;font-weight:650;line-height:1.4;letter-spacing:0;color:var(--muted,#52645c)}.brand-stack .route-phone{font-family:inherit;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:.2px;color:var(--green,#17564a);text-decoration:none;padding:2px 0}.brand-stack .route-phone:hover{text-decoration:underline}.brand-stack .route-phone:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}@media(max-width:760px){.brand-stack .tozjem-wordmark{font-size:27px}.brand-stack .route-identity{font-size:12px}}
/* Compact seller checklist: quantity and touch actions stay at the right edge. */
.packing-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0}.packing-navigation button{font-size:13px;padding:8px 3px;min-height:44px}.packing-navigation button:last-child{grid-column:auto}.packing-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0}.packing-heading h1{font-size:25px;margin:0}.packing-heading .packing-date{margin:0;max-width:245px;font-size:12px}.packing-date select{width:100%;min-height:44px}.packing-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0;border-block:1px solid #d8dfd9}.packing-overview>div{gap:2px}.packing-overview strong{font-size:25px}.packing-overview span{font-size:12px}.packing-note{font-size:13px;color:#52645c;line-height:1.4;margin:10px 0}.packing-products{display:block}.packing-category{font-size:14px;margin:18px 0 0;padding:8px 0;background:#f7f8f5;border-bottom:1px solid #d8dfd9}.packing-product{display:grid;grid-template-columns:minmax(0,1fr) 35px 108px;align-items:center;gap:10px;margin:0;padding:11px 0;border-bottom:1px solid #d8dfd9;border-radius:0;background:transparent}.packing-product-name{min-width:0}.packing-product h3{font-size:15px;line-height:1.3;margin:0;overflow-wrap:anywhere}.packing-row-status{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:11px;line-height:1.35;padding:4px 0 0;border:0}.packing-quantity{align-items:flex-end;gap:1px}.packing-quantity strong{font-size:24px}.packing-quantity span{font-size:11px}.packing-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;justify-self:end;width:108px}.packing-actions button{min-height:44px;padding:6px 4px;font-size:13px;border:1px solid #b3c1b7}.packing-actions .selected-have{background:#17564a;color:white;border-color:#17564a}.packing-actions .selected-missing{background:#91372d;color:white;border-color:#91372d}.packing-actions .packing-text-button{grid-column:auto;min-height:44px;background:transparent;border:0;padding:3px 0;text-align:right;text-decoration:underline;font-size:12px}.packing-footer{display:flex;justify-content:flex-end;gap:8px;padding:18px 0}.packing-footer button{min-height:48px}.packing-footer .primary{max-width:330px}.packing-review-list{margin:12px 0}.packing-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d8dfd9;padding:12px 0;font-size:14px}.packing-review-row>strong{min-width:0;overflow-wrap:anywhere}.packing-review-row>span{text-align:right;flex-shrink:0;max-width:50%;font-size:13px}.packing-missing-consent{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;background:#fff1da;padding:14px;border-radius:8px;margin:16px 0;cursor:pointer}.packing-missing-consent input{width:24px;height:24px;min-width:24px;min-height:24px;margin:0}.packing-stop{padding:16px}.packing-stop h2{font-size:19px;margin:0}.packing-stop-time{display:inline;font-size:15px;margin:0 0 0 8px}.packing-stop>p{font-size:13px;margin:8px 0}.packing-route-client{margin-top:10px;padding-top:10px}.packing-route-client>a{font-size:13px}.packing-route-line{padding:6px 0}.packing-review [hidden]{display:none}
@media(max-width:600px){.packing-heading{align-items:flex-start;flex-direction:column;gap:8px}.packing-heading .packing-date{max-width:none;width:100%;display:flex;align-items:center;gap:10px}.packing-product{grid-template-columns:minmax(0,1fr) 29px 104px;gap:7px;padding:10px 0}.packing-actions{width:104px}.packing-product h3{font-size:14px}.packing-quantity strong{font-size:23px}.packing-overview strong{font-size:24px}.packing-footer .primary{flex:1}.packing-review-row{font-size:13px}.packing-stop{padding:13px}}

.packing-more{grid-column:1/-1;min-width:0}.packing-more summary{display:flex;justify-content:flex-end;align-items:center;min-height:44px;padding:4px 0;font-size:12px;font-weight:650;cursor:pointer;text-decoration:underline;list-style:none}.packing-more summary::-webkit-details-marker{display:none}.packing-more summary::after{content:'⌄';margin-left:6px;text-decoration:none}.packing-more[open] summary::after{content:'⌃'}.packing-more>div{display:grid;gap:4px}.packing-more .packing-text-button{width:100%;min-height:44px;text-align:right}.packing-more summary:focus-visible{outline:3px solid #eea149;outline-offset:2px;border-radius:4px}
.packing-actions{row-gap:0}
.menu-rules{background:#fff7ec;border-left:3px solid #d28b25;border-radius:5px;padding:10px 14px;margin:14px 0;font-size:14px;line-height:1.5}.menu-rules ul{list-style:none;margin:0;padding:0}.menu-rules li{margin:3px 0}.menu-rules-closed{font-weight:650;margin:0 0 6px}.menu-rules-more{margin-top:6px;font-size:13px}.menu-rules-more summary{display:inline-flex;align-items:center;min-height:36px;cursor:pointer;color:#17564a;font-weight:650;text-decoration:underline}.menu-rules-more p{margin:6px 0}
.route-start{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:10px 0}.route-start label{display:grid;gap:4px}.route-next{background:#edf5f0;border-left:3px solid #17564a;padding:8px 12px}.route-plan summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650}.route-plan-list{list-style:none;margin:6px 0;padding:0}.route-plan-list li{padding:7px 0;border-bottom:1px solid #e3ebe6;font-size:14px}.point-number{display:inline-block;min-width:2.2em;color:#17564a}
/* R13 Zbierz: nazwa i liczba tą samą czcionką; Brak i Mam około 96x60 px, odstęp 12 px, Mam po prawej, akcje w drugiej linii. */
.packing-product{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px}.packing-product h3,.packing-quantity,.packing-quantity strong,.packing-quantity span{font-family:inherit;font-size:17px;font-weight:800;line-height:1.3;color:inherit}.packing-quantity{flex-direction:row;align-items:baseline;justify-content:flex-end;gap:4px;white-space:nowrap;text-align:right}.packing-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;width:auto;justify-self:stretch}.packing-actions button{flex:0 0 auto;min-width:96px;min-height:60px;padding:8px 16px;font-size:16px;font-weight:750}.packing-secondary{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 16px;min-width:0}.packing-secondary .packing-more{flex:0 1 auto;grid-column:auto}.packing-secondary .packing-more[open]{flex-basis:100%}.packing-secondary .packing-text-button{min-height:44px;background:transparent;border:0;padding:4px 0;text-decoration:underline;font-size:13px}.packing-partial{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 10px;padding:6px 0 10px;font-size:15px;font-weight:650}.packing-partial input{width:92px;min-height:48px;margin:0;font-size:18px;font-weight:800;text-align:center}.packing-partial button{min-height:48px;min-width:96px}.packing-partial small{flex-basis:100%;text-align:right;font-size:12px;font-weight:500;color:#52645c}.packing-partial-error{flex-basis:100%;margin:0;text-align:right;color:#9c3028;font-size:13px}.packing-partial [hidden]{display:none}.packing-product.is-partial{box-shadow:inset 3px 0 0 #b07b1a}.packing-review-partials{list-style:none;margin:0;padding:0 0 8px;font-size:13px;border-bottom:1px solid #d8dfd9}.packing-review-partials li{padding:3px 0}
.packing-stop-place{font-size:13px;margin:6px 0}.packing-stop-dishes{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}.packing-stop-dishes li{font-size:16px}.packing-stop-dishes .packing-stop-pending{font-size:13px;color:#785b18}.packing-stop-clients summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650;font-size:14px}.route-time-state{margin:6px 0}.route-time-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650;font-size:14px}
@media(max-width:600px){.packing-product{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:12px 0}.packing-actions{width:auto}.packing-product h3,.packing-quantity strong,.packing-quantity span{font-size:17px}}
.split-note{font-weight:650;margin:4px 0;font-size:14px}

/* R15 motyw: ciemna leśna zieleń, jeden ciepły akcent. Warstwa nadpisań; usunięcie bloku przywraca stary wygląd. */
/* R37: motyw jasny (wariant A, domyślny bez data-theme) i ciemny (R15 dopracowany). Wybór: theme.js, data-theme na <html>. */
:root{color-scheme:light;--bg:#eef4f0;--card:#ffffff;--raise:#f5faf7;--input:#ffffff;--line:#d3e2da;--btn-line:#b7cfc3;--input-line:#6f9081;--text:#16302a;--muted:#4a665c;--placeholder:#5c776d;--gold:#e2b75f;--gold-ink:#1a2a20;--gold-hover:#ebc677;--gold-text:#7a5410;--sage:#1d6447;--sage-bg:#e2f1e8;--terra:#9a3a20;--terra-bg:#fbe9e2;--terra-line:#e2b3a3;--amber:#7a5410;--amber-bg:#fff4dc;--green:#1c4a3d;--accent:#e2b75f;--hover:#e6f1eb;--deep:#1c4a3d;--deep-text:#ffffff;--backdrop:#0d2a2299;--priority-bg:#fff6e0;--blue:#35548b;--blue-bg:#e3eafa;--on-bg:#1c4a3d;--on-ink:#ffffff;--on-line:#1c4a3d;--top:#1c4a3d;--top-text:#f3f1e7;--top-muted:#cfe0d6;--focus:#b45309;--shadow:0 1px 2px #16302a14;color:var(--text);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--bg:#0f2620;--card:#163329;--raise:#1d3f34;--input:#0c211b;--line:#2c5647;--btn-line:#2f5a4a;--input-line:#5a9079;--text:#eef2e8;--muted:#b3cabd;--placeholder:#86a092;--gold:#e2bb6a;--gold-ink:#14271f;--gold-hover:#ecc97d;--gold-text:#e2bb6a;--sage:#9fd3b1;--sage-bg:#1f4a39;--terra:#f0a58f;--terra-bg:#4a2a22;--terra-line:#7a4436;--amber:#f0cd86;--amber-bg:#43381d;--green:#e2bb6a;--accent:#e2bb6a;--hover:#24493d;--deep:#0b1f19;--deep-text:#eef2e8;--backdrop:#030d0acc;--priority-bg:#1e3a2c;--blue:#b9cdf0;--blue-bg:#24364d;--on-bg:#24493d;--on-ink:#e2bb6a;--on-line:#e2bb6a;--top:transparent;--top-text:#eef2e8;--top-muted:#b3cabd;--focus:#e2bb6a;--shadow:none}
body{background:var(--bg);color:var(--text)}
a{color:var(--gold-text)}
button{background:var(--raise);color:var(--text);border-color:var(--btn-line)}
button:hover{background:var(--hover)}
button:focus-visible,input:focus-visible,select:focus-visible,.packing-more summary:focus-visible{outline-color:var(--focus)}
button.primary,button.accent{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
button.primary:hover,button.accent:hover{background:var(--gold-hover)}
button.link{color:var(--gold-text);background:none}
select,input,textarea{background:var(--input);color:var(--text);border-color:var(--input-line)}
input::placeholder,textarea::placeholder{color:var(--placeholder)}
.brandmark{background:var(--deep);border:1px solid var(--line)}
.tozjem-wordmark{color:var(--top-text)}
.brand-stack .route-identity{color:var(--muted)}.brand-stack .route-phone{color:var(--gold-text)}
.demo{background:var(--card);color:var(--muted);border:1px solid var(--line)}.demo strong{color:var(--gold-text)}
.panel,.product,.metric,.install-help,.catalog-search,.catalog-groups button,.replacement-choice,.response-alert button,.replacement-submit,.basket button,.pickup-qr{background:var(--card);color:var(--text);border-color:var(--line)}
.catalog-groups span,.catalog-range,.product p,.product-category,.client-company,.packing-overview span,.packing-note,.packing-partial small,.replacement-group,.replacement-choice small,.timing-quantity small,.batch-preview small,.response-help{color:var(--muted)}
.tabs,.catalog-naviga,.catalog-navigation{background:var(--bg);box-shadow:none;border-color:var(--line)}
.tabs button.active,.daybar .active,.seller-navigation .active,.timing-tabs .active,.search-scope .active,.catalog-tools .active,.packing-navigation .active{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.chips .active{background:var(--sage-bg);border-color:var(--sage);color:var(--text)}
.badge{background:var(--raise);color:var(--muted)}
.badge.confirmed,.badge.packed,.badge.yes,.badge.reserved{background:var(--sage-bg);color:var(--sage)}
.badge.missing,.badge.no{background:var(--terra-bg);color:var(--terra)}
.badge.pending,.badge.waiting,.priority-tag,.timing-badge.after{background:var(--amber-bg);color:var(--amber)}
.badge.handed{background:var(--blue-bg);color:var(--blue)}
.timing-badge{background:var(--sage-bg);color:var(--sage)}.timing-badge.unknown{background:var(--raise);color:var(--muted)}
.orderline,.sellerline,.askrow,.packing-row,.packing-row-status,.packing-route-client,.packing-product,.packing-review-row,.packing-review-partials,.route-plan-list li,.priority-order,.pickup-assignment{border-color:var(--line)}
.packing-overview,.packing-category{border-color:var(--line)}.packing-category{background:var(--raise)}
.empty{border-color:var(--line);color:var(--muted)}
.notice,.offline,.menu-rules,.packing-missing-consent{background:var(--amber-bg);border-left-color:var(--gold);color:var(--text)}
.delivery-estimate,.route-next,.morning-state,.pickup-caption{background:var(--sage-bg);border-left-color:var(--sage);color:var(--text)}
.menu-rules-more summary{color:var(--gold-text)}
.basket{background:var(--deep);color:var(--deep-text);border:1px solid var(--gold);box-shadow:0 8px 25px #0006}
.basket button{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
dialog{background:var(--card);color:var(--text);border:1px solid var(--line)}
dialog::backdrop{background:var(--backdrop)}
#toast{background:var(--deep);color:var(--deep-text);border:1px solid var(--gold);box-shadow:0 5px 20px #0008}
.weeksummary span,.archive-note{background:var(--raise);color:var(--muted)}
.favorite.on{color:var(--gold-text)}
.error,.packing-warning,.packing-partial-error{color:var(--terra)}
.footnote,.muted,.subtitle{color:var(--muted)}.footnote a,.customer-card a,.askrow a{color:var(--gold-text)}
.priority-panel{background:var(--priority-bg);border-color:var(--gold)}.priority-panel>h2{color:var(--gold-text)}
.decision.hold{border-color:var(--sage);color:var(--sage)}.decision.missing{border-color:var(--terra);color:var(--terra)}
.decision.hold.selected{background:var(--sage-bg)}.decision.missing.selected{background:var(--terra-bg)}
.replacement-prompt,.response-alert{background:var(--terra-bg);border-color:var(--terra-line);color:var(--text)}
.replacement-button{border-color:var(--terra);color:var(--terra);background:transparent}
.replacement-choice.selected{background:var(--sage-bg);border-color:var(--sage);outline-color:var(--sage)}
.replacement-choice:focus-within{outline-color:var(--sage)}
.replacement-choice input,.batch-choice input{accent-color:var(--gold)}
.pickup-selected{background:var(--raise);border-color:var(--line)}
.pickup-assignments,.batch-toolbar{border-color:var(--gold)}
.timing-panel{background:var(--card);border-color:var(--line)}
.product-shortage{border-color:var(--terra)}
.catalog-highlight{outline-color:var(--focus)}
.form-stack fieldset{border-color:var(--line)}
.packing-stop-number{background:var(--gold);color:var(--gold-ink)}
.point-number{color:var(--gold-text)}
.packing-route-line small,.packing-stop-dishes .packing-stop-pending,.seasonal-note{color:var(--amber)}
.packing-actions button{border-color:var(--input-line)}
.packing-actions .selected-have{background:#2f7a5a;color:#fff;border-color:#2f7a5a}
.packing-actions .selected-missing{background:#9b4a3a;color:#fff;border-color:#9b4a3a}
.packing-product.is-partial{box-shadow:inset 3px 0 0 var(--gold)}
.signoff{color:var(--text);font-weight:650}
.notice,.offline,.menu-rules,.packing-missing-consent{background:var(--raise);border-left-color:var(--gold)}
.tabs button.active,.daybar .active,.seller-navigation .active,.timing-tabs .active,.search-scope .active,.catalog-tools .active,.packing-navigation .active{background:var(--on-bg);color:var(--on-ink);border-color:var(--on-line)}
/* R17 samouczek klienta. Używa zmiennych motywu R15; bez zewnętrznych zasobów. */
.tutorial{position:fixed;inset:0;z-index:40}
.tutorial.no-spot{background:#000000b3}
.tutorial-spot{position:fixed;border-radius:12px;box-shadow:0 0 0 3px var(--gold),0 0 0 200vmax #000000b3;pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}
.tutorial-card{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(440px,calc(100% - 24px));box-sizing:border-box;background:var(--card);color:var(--text);border:1px solid var(--gold);border-radius:14px;padding:14px 16px 12px;box-shadow:0 10px 30px #0009}
.tutorial.card-top .tutorial-card{top:calc(12px + env(safe-area-inset-top,0px));bottom:auto}
.tutorial-count{margin:0;color:var(--muted);font-size:13px}
.tutorial-card h2{margin:2px 0 6px;font-size:20px;line-height:1.25;padding:0}
.tutorial-card #tutorial-text{margin:0 0 10px;font-size:15px;line-height:1.45}
.tutorial-dots{display:flex;gap:6px;margin:0 0 10px}
.tutorial-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}
.tutorial-dots span.on{background:var(--gold)}
.tutorial-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tutorial-actions button{min-height:44px;font-size:15px;text-align:center}
.tutorial-actions button.primary{min-width:130px;margin-left:auto}
.tutorial-actions button.link{color:var(--muted)}
.client-tools button.link{color:var(--gold-text);min-height:44px}
@media(prefers-reduced-motion:reduce){.tutorial-spot{transition:none}}
/* R18 porządek ekranu klienta: jeden wybór dnia (kolejne dni + cały tydzień), krótkie zasady, więcej powietrza. */
.catalog-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px}
.catalog-tabs button{min-height:48px;padding:5px 4px;font-size:14px;line-height:1.2;overflow-wrap:anywhere}
.catalog-tabs button small{display:block;font-size:12px;margin-top:2px}
.catalog-navigation{margin:14px 0 18px}
.catalog-main .sectionhead{margin:4px 0 6px}
.catalog-main h1{font-size:24px}
.catalog-range{margin:0 0 6px}
.menu-rules{padding:10px 14px;margin:12px 0 18px}
.menu-rules-line{margin:0}
.menu-rules-more{margin-top:2px}
.own-link{margin:10px 0 0}
.own-link .link{color:var(--gold-text);min-height:44px;padding-left:0}
.client-tools{align-items:center;margin-top:4px}
.footnote{font-size:13px}

/* R19 */
.deposit{display:block;font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}
.product-description{margin:2px 0 6px;font-size:14px}
.tutorial-more{margin:0 0 10px;font-size:14px}.tutorial-more summary{cursor:pointer;color:var(--gold-text);min-height:32px;display:flex;align-items:center}.tutorial-more p{margin:4px 0 0}

/* R20: filtry Wege/Mięso/Keto i szybki wybór dnia sprzedawcy */
.diet-filters{display:inline-flex;gap:8px;flex-wrap:wrap}
.diet-filters button{min-height:44px}
.diet-filters .active{background:var(--on-bg);color:var(--on-ink);border-color:var(--on-line)}
.seller-day-field{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.seller-day-field label{flex:1 1 150px;min-width:0}
.seller-quick-days{display:flex;gap:6px}
.seller-quick-days button{min-height:44px;padding:8px 14px;font-weight:700}
.seller-quick-days .active{background:var(--on-bg);color:var(--on-ink);border-color:var(--on-line)}
.seller-tools .seller-day-field{grid-column:1/-1}
.packing-day-field{margin:0}
.packing-heading .packing-day-field .packing-date{margin:0;display:block;max-width:245px}
@media(max-width:600px){.packing-day-field{width:100%}.packing-heading .packing-day-field .packing-date{max-width:none}.seller-quick-days button{flex:1}.catalog-tools{gap:6px}.catalog-tools button{padding:8px 11px}}
/* R21: zdjęcia dań. Miniatura w stałym polu (bez przeskakiwania układu), dania bez zdjęcia bez zmian. */
.dish-thumb{grid-area:1/1;align-self:start;display:block;width:96px;height:96px;min-height:0;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--raise);cursor:zoom-in}
.dish-thumb img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover}
.product.has-photo{grid-template-columns:96px minmax(0,1fr) auto}
.product.has-photo>div:not(.price){grid-area:1/2;min-width:0}
.product.has-photo>.price{grid-area:1/3}
@media(max-width:760px){.product.has-photo{grid-template-columns:76px minmax(0,1fr);column-gap:12px}.product.has-photo .dish-thumb{width:76px;height:76px}.product.has-photo>.price{grid-area:1/2}.catalog-offer.has-photo{display:grid}.catalog-offer.has-photo>.price{grid-area:2/2;justify-self:start;margin-top:12px}.catalog-offer.has-photo .product-category{padding-right:0}}
dialog.photo-dialog{max-width:680px}
.photo-zoom-title{font-size:18px;padding-right:44px;margin:0 0 12px}
.photo-zoom{display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain;border-radius:12px;background:var(--raise)}
.dish-photo-list{display:grid;gap:9px}
.dish-photo-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.dish-photo-text{min-width:0}.dish-photo-text h3{margin:0;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.dish-photo-text p{margin:4px 0 0}
.dish-photo-preview{width:96px;height:96px;border-radius:10px;overflow:hidden;background:var(--raise);display:grid;place-items:center;text-align:center;font-size:12px;color:var(--muted)}
.dish-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-weight:650;cursor:pointer;position:relative}
.button-like.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}
.button-like.busy{opacity:.6;pointer-events:none}
.button-like:focus-within{outline:2px solid var(--focus);outline-offset:2px}
@media(max-width:760px){.dish-photo-row{grid-template-columns:76px minmax(0,1fr)}.dish-photo-preview{width:76px;height:76px}}

/* R22: karta imienia, rozpiska płatnika, sekcja Płatnicy */
.name-card{background:var(--raise,#f3f8f6);color:var(--text,#183333);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px}
.name-card p{margin:0 0 8px}
.name-card-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.name-card-form input{flex:1 1 160px;min-width:0}
.payer-days{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin:12px 0 16px}
.payer-days button.active{background:var(--green);color:white;border-color:var(--green)}
.payer-other{font-weight:600}
.payer-other input{margin-top:4px;min-height:44px}
.payer-person{border-top:1px solid var(--line);padding:12px 0}
.payer-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;margin-bottom:6px}
.payer-head h3{margin:0;overflow-wrap:break-word}
.payer-head strong{white-space:nowrap}
.payer-copy-text{display:block;width:100%;margin-top:10px;font:inherit;font-size:14px;background:var(--input,white);color:var(--text,#183333);border:1px solid var(--line);border-radius:9px;padding:10px}
.payer-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.payer-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:15px}
.payer-lines .badge{margin:0}
.payer-amount{white-space:nowrap;font-weight:650}
.payer-total{display:flex;justify-content:space-between;gap:12px;border-top:2px solid var(--green);padding:12px 0;margin:4px 0 12px;font-size:18px}
.payer-card{margin-bottom:12px}
.payer-card .sectionhead{margin:0 0 8px}
.payer-members,.payer-candidates{list-style:none;margin:0;padding:0}
.payer-members li,.payer-candidates li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:8px 0}
.payer-members li span,.payer-candidates li span{min-width:0;overflow-wrap:anywhere}
.payer-pick{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:12px 0;max-height:40vh;overflow:auto}
dialog .payer-pick label.payer-check,.payer-check{display:flex;flex-direction:row;gap:8px;align-items:center;font-weight:500;padding:6px 0}
dialog .payer-pick label.payer-check input,.payer-check input{display:inline-block;width:auto;min-height:0;margin:0;flex:none}
#payer-add-form textarea{display:block;width:100%;margin-top:6px;background:var(--input,white);color:var(--text,#183333);border:1px solid var(--line);border-radius:9px;padding:10px 13px;font:inherit}
@media(max-width:760px){.payer-lines li{grid-template-columns:minmax(0,1fr) auto}.payer-lines .payer-amount{grid-column:2;grid-row:1}.payer-lines .badge{grid-column:1/-1;justify-self:start}}
/* R25 panel sprzedawcy: 3 główne miejsca (Rano/Trasa, Na jutro, Więcej), pierwszeństwo wyróżnione */
.seller-navigation.seller-main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.seller-main-nav button{min-height:56px;font-size:17px;font-weight:700;padding:8px 4px}
.seller-more{display:grid;gap:10px;margin:12px 0 24px}
.seller-more button{min-height:56px;font-size:16px;text-align:left;padding:12px 16px}
.packing-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.packing-navigation button{min-height:50px;font-size:16px;padding:8px}
.packing-navigation button.packing-back-route{grid-column:1/-1}
.packing-group{font-size:15px;margin:20px 0 0;padding:10px 12px;border-radius:9px;background:var(--on-bg);color:var(--on-ink)}
.packing-group-extra,.packing-group-none{background:transparent;color:inherit;border:1px dashed currentColor;opacity:.85}
.priority-split{margin:3px 0 2px;font-size:14px}
.priority-split .prio-before{color:var(--gold-text)}
.priority-split .prio-extra{opacity:.85}
.packing-product.has-priority,.tomorrow-row.has-priority{box-shadow:inset 4px 0 0 var(--gold);padding-left:12px}
.tomorrow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.tomorrow-row strong{font-size:16px}
.tomorrow-closing{font-size:16px;font-weight:700;margin:4px 0 10px}
.tomorrow-closing.is-closed{color:var(--gold-text)}
.tomorrow-overview .prio-before strong{color:var(--gold-text)}
@media(max-width:414px){.seller-main-nav button{font-size:16px}.packing-heading h1{font-size:26px}}

/* QA 06.11: Kategorie jako pierwszy, wyraźny przycisk. Cały tydzień domyka siatkę kafelków dni. */
.catalog-tools .catalog-home-button{font-weight:800;border:2px solid var(--gold,#24493d);color:var(--gold-text)}
.catalog-tools .catalog-home-button.active{background:var(--on-bg);color:var(--on-ink)}
.catalog-tabs [data-client-week]:nth-child(3n+1){grid-column:1/-1}
.catalog-tabs [data-client-week]:nth-child(3n+2){grid-column:span 2}

/* 07.11: kafelki dni przewijają się z treścią. Przyklejona u góry zostaje tylko wyszukiwarka (.catalog-navigation). */
.catalog-tabs{position:static;box-shadow:none;margin:20px 0 0}
.catalog-navigation{margin:0 0 18px}
/* R29c: akcja panelu zapisana w telefonie, czeka na sieć; konflikt po powrocie sieci. */
.packing-queued{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:var(--terra);color:#fff;font-size:.8rem;font-weight:700}
.seller-conflict{border-left:4px solid var(--terra)}

/* R29d: profil do zatwierdzenia */
.unverified-badge{display:inline-block;margin-left:.4em;padding:.1em .5em;border-radius:999px;background:#fff3cd;color:#7a4b00;font-size:.75em;font-weight:600;vertical-align:middle}
.unverified-actions{margin:.4em 0}
/* POWIADOMIENIA 09.11: stan powiadomień przy przycisku wysłania, baner aplikacji (Messenger), podpowiedź iPhone */
.push-inline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:10px 0 12px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.45}
.push-inline[data-push-state="on"],.push-inline[data-push-state="granted"]{border-color:var(--sage,#98bcb3)}
.push-inline[data-push-state="blocked"],.push-inline[data-push-state="in-app"],.push-inline[data-push-state="ios-browser"],.push-inline[data-push-state="retry"]{border-color:var(--amber,#d28b25)}
.push-inline button.link{min-height:40px;padding:4px 6px;font-size:14px}
.push-inapp{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--amber,#d28b25);border-radius:12px;background:var(--amber-bg,#fff0dc);font-size:14px;line-height:1.45}
.ios-help-img{display:block;width:min(300px,100%);height:auto;margin:6px auto 10px;border-radius:14px}
.ios-help-steps li{margin:6px 0;line-height:1.45}
.copy-link{width:100%;font-size:14px}
.legal-line a{color:inherit}

/* R30 persony: cele dotyku min. 44 px dla stopki i przełącznika języka (starsze osoby, kciuk w pośpiechu) */
.footnote a{display:inline-block;min-height:44px;line-height:44px;padding:0 6px}
[data-lang]{min-height:44px;min-width:44px}
/* R30 (persony): "Widok klienta" w panelu 44 px, linia stanu prośby, kolejka bez zasięgu */
.shell header>a.small{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.change-request{min-height:44px;margin:4px 0}.change-late{margin:6px 0}
.change-line{display:grid;gap:8px}.change-line label{display:grid;gap:4px}.change-line select,.change-line input{min-height:44px;max-width:100%}.change-buttons{display:flex;gap:8px;flex-wrap:wrap}.change-buttons button{min-height:44px}
.seller-save-failed button,.seller-stale button{min-height:44px;margin-top:6px}

.request-day-summary{font-size:14px;line-height:1.45;margin:10px 0 4px;color:inherit;font-weight:600}
.request-queue{display:grid;gap:6px}.request-queue p{margin:0}.request-queue button{justify-self:start;min-height:44px}

/* R35/R36 (09.11): starsze przeglądarki, karta próśb, uwagi do dostawcy, wybór punktu, zwarty panel Bena (tekst min. 15 px, przyciski min. 44 px). */
#modal.dialog-fallback{display:none;position:fixed;inset:12px;margin:auto;max-width:560px;max-height:calc(100vh - 24px);overflow:auto;z-index:60;background:var(--card,#fff);color:var(--text,#183333);border:1px solid var(--line,#c9d3cd);border-radius:14px;padding:18px;box-shadow:0 10px 40px rgba(0,0,0,.25)}
#modal.dialog-fallback[open]{display:block}
.boot-problem{margin:16px 0;padding:16px;border:1px solid var(--gold,#d9b46a);background:var(--amber-bg,#fff8e8);color:var(--text,#183333);border-radius:12px;font-size:16px}
.boot-problem h1{font-size:20px}
.request-note{display:block;margin:12px 0}
.request-note textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:64px;font:inherit;font-size:16px;padding:10px;border:1px solid var(--line,#b3c1b7);border-radius:10px;resize:vertical;background:var(--input,#fff);color:var(--text,#183333)}
.pickup-switch select{display:block;width:100%;min-height:48px;margin-top:6px;font-size:16px}
.pickup-remember{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:6px}
.pickup-remember input{width:22px;height:22px}
.request-note-view,.seller-note{margin:6px 0;padding:6px 10px;border-left:4px solid var(--gold,#c8902e);background:var(--amber-bg,#fff8e8);color:var(--text,#183333);font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}
.request-card{border-top:1px solid var(--line,#d8dfd9);padding:4px 0}
.request-card>summary{list-style:none;cursor:pointer;min-height:48px;display:grid;gap:2px;padding:8px 32px 8px 0;position:relative}
.request-card>summary::-webkit-details-marker{display:none}
.request-card>summary::after{content:'⌄';position:absolute;right:8px;top:10px;font-size:20px}
.request-card[open]>summary::after{content:'⌃'}
.request-card-day{font-weight:700;font-size:16px}
.request-card-line,.request-card-status{font-size:15px}
.request-card.needs-action .request-card-status{color:var(--terra,#91372d);font-weight:700}
.change-details{margin:10px 0 16px;padding:12px;border:1px solid var(--line,#d8dfd9);border-radius:10px}
.change-details select{display:block;width:100%;min-height:48px;margin-top:6px}
/* R37: jaśniej i mniej szaro (wariant A Bena), ciemny dopracowany. Kolory tylko ze zmiennych motywu. */
:root{--arrow:#b45309}:root[data-theme=dark]{--arrow:#e2bb6a}
.shell>header{background:var(--top);color:var(--top-text);box-shadow:0 0 0 100vmax var(--top);clip-path:inset(0 -100vmax);margin-bottom:14px}
.brand-stack .route-identity{color:var(--top-muted)}.brand-stack .route-phone,.shell>header a{color:#e2bb6a}
button{box-shadow:var(--shadow)}button.link,button:disabled{box-shadow:none}
.panel,.product,.catalog-groups button{box-shadow:var(--shadow)}
/* Obiady: rodzaje z liczbą, rozwijane sekcje, przełącznik w Makaronach */
.kind-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.kind-chips button{min-height:44px;padding:8px 12px;border-radius:12px;font-size:14.5px}
.kind-chips button b{font-weight:600;color:var(--muted);margin-left:2px}
.kind-chips button.active{background:var(--sage-bg);border-color:var(--sage);color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}
.kind-chips button.active b{color:inherit}
.kind-subs{display:flex;gap:3px;background:var(--sage-bg);border-radius:12px;padding:3px;margin:0 0 12px}
.kind-subs button{flex:1;min-height:44px;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:14px;padding:6px 4px;border-radius:9px}
.kind-subs button b{font-weight:600;margin-left:2px}
.kind-subs button.active{background:var(--card);color:var(--sage);box-shadow:0 1px 3px #0003}
.kind-section{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:8px;overflow:hidden;box-shadow:var(--shadow)}
.kind-section>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:12px 46px 12px 14px;position:relative}
.kind-section>summary::-webkit-details-marker{display:none}
.kind-section>summary::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
.kind-section[open]>summary::after{transform:translateY(-25%) rotate(225deg)}
.kind-section>summary:hover{background:var(--hover)}
.kind-section>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.kind-title{font-weight:750;font-size:17px}.kind-title b{color:var(--muted);font-weight:650;margin-left:4px}
.kind-section>summary small{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.kind-section[open]>summary small{display:none}
.kind-body{padding:0 10px 10px}
.kind-section[open] .kind-body{animation:tz-open .2s ease-out}
/* Ustawienia: powiadomienia i wygląd */
.settings-panel h2{font-size:19px;margin:0 0 6px}
.settings-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line)}
.theme-switch{display:inline-flex;gap:6px;flex-wrap:wrap}
.theme-switch button.active{background:var(--on-bg);color:var(--on-ink);border-color:var(--on-line)}
/* Ekran zgody na powiadomienia i instrukcje ze strzałką */
.push-gate{position:fixed;inset:0;z-index:60;background:var(--bg);color:var(--text);overflow:auto;animation:tz-fade .2s ease-out}
html.push-gate-on body{overflow:hidden}
.push-gate-inner{max-width:480px;margin:0 auto;padding:28px 22px calc(150px + env(safe-area-inset-bottom,0px))}
.push-gate-inner.push-gate-below{padding-top:150px}
.push-gate h1{font-size:27px;line-height:1.2;letter-spacing:-.4px;margin:0 0 10px}
.push-gate p{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.push-gate-bell{width:84px;height:84px;border-radius:24px;background:var(--sage-bg);color:var(--sage);display:flex;align-items:center;justify-content:center;margin:14px 0 22px}
.push-gate-list{list-style:none;padding:0;margin:18px 0}
.push-gate-list li{position:relative;padding:11px 0 11px 38px;border-top:1px solid var(--line);font-size:15px;line-height:1.4}
.push-gate-list li::before{content:"✓";position:absolute;left:0;top:9px;width:26px;height:26px;border-radius:8px;background:var(--sage-bg);color:var(--sage);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.push-gate-cta{display:block;width:100%;min-height:54px;margin-top:22px;border-radius:14px;font-size:17px;font-weight:800}
.push-gate-later{display:block;width:100%;min-height:48px;margin-top:8px;border-radius:14px}
.push-gate .push-gate-note{font-size:14px;text-align:center;margin-top:12px}
.push-gate-steps{list-style:none;padding:0;margin:14px 0;counter-reset:krok}
.push-gate-steps li{counter-increment:krok;display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 12px;margin-bottom:8px;font-size:15px;line-height:1.4}
.push-gate-steps li::before{content:counter(krok);flex:none;width:30px;height:30px;border-radius:15px;background:var(--on-bg);color:var(--on-ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.push-gate-arrow{position:fixed;z-index:61;color:var(--arrow);filter:drop-shadow(0 3px 4px #0005);pointer-events:none;animation:tz-down 1s ease-in-out infinite alternate}
.push-gate-arrow.arrow-more{right:8px;bottom:2px}
.push-gate-arrow.arrow-share{left:50%;bottom:2px;margin-left:-36px}
.push-gate-arrow.arrow-top{right:8px;top:2px;animation-name:tz-up}
.push-gate-arrow.arrow-site{left:8px;top:2px;animation-name:tz-up}
/* Płynne, krótkie przejścia (150-250 ms) */
button,a,.product,.panel,.kind-section,.catalog-groups button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}
button:active:not(:disabled){transform:scale(.97)}
body{transition:background-color .2s ease,color .2s ease}
dialog[open]{animation:tz-fade .18s ease-out}
@keyframes tz-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes tz-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes tz-down{from{transform:translateY(-6px)}to{transform:translateY(4px)}}
@keyframes tz-up{from{transform:translateY(6px)}to{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}button:active:not(:disabled){transform:none}}

/* Zwarty panel Bena */
.seller-shell{font-size:15px}
.seller-shell header{padding:6px 0}
.seller-shell .demo{padding:4px 10px;margin-bottom:6px;font-size:15px}
.seller-shell .seller-navigation.seller-main-nav{margin:6px 0;gap:6px}
.seller-shell .seller-main-nav button{min-height:48px;font-size:16px;padding:4px}
.seller-shell .packing-navigation{margin:6px 0;gap:6px}
.seller-shell .packing-navigation button{min-height:44px;font-size:15px;padding:4px 6px}
.seller-shell .packing-heading{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px;margin:6px 0}
.seller-shell .packing-heading h1{font-size:20px;margin:0}
.seller-shell .packing-heading .packing-date{font-size:15px;max-width:none}
.seller-shell .seller-day-field{gap:6px}
.seller-shell .seller-quick-days button{min-height:44px;padding:4px 12px;font-size:15px}
.seller-shell .packing-note{font-size:15px;margin:4px 0}
.seller-shell .packing-group{font-size:15px;margin:10px 0 0;padding:6px 10px}
.seller-shell .packing-category{font-size:15px;margin:6px 0 0;padding:3px 0}
.seller-shell .packing-product{grid-template-columns:minmax(0,1fr) auto 112px;grid-template-areas:"name qty act" "sec qty act";column-gap:8px;row-gap:0;padding:6px 0;align-items:center}
.seller-shell .packing-product-name{grid-area:name}
.seller-shell .packing-quantity{grid-area:qty}
.seller-shell .packing-actions{grid-area:act;width:112px;gap:4px}
.seller-shell .packing-secondary{grid-area:sec;grid-column:auto;justify-content:flex-start;gap:0 14px}
.seller-shell .packing-product h3{font-size:16px}
.seller-shell .packing-row-status,.seller-shell .priority-split{font-size:15px}
.seller-shell .packing-quantity strong{font-size:22px}
.seller-shell .packing-quantity span{font-size:15px}
.seller-shell .packing-actions button{min-height:44px;min-width:0;flex:1;font-size:15px;padding:4px}
.seller-shell .packing-more summary,.seller-shell .packing-secondary .packing-text-button{font-size:15px;justify-content:flex-start}
.seller-shell .packing-secondary .packing-more[open]{flex-basis:100%}
.seller-shell .packing-sticky{position:sticky;bottom:0;z-index:20;display:grid;gap:6px;padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));margin:0;background:var(--bg,#fff);border-top:2px solid var(--gold,#24493d);box-shadow:0 -6px 14px rgba(0,0,0,.35)}
.seller-shell .packing-sticky-counts{display:grid;grid-template-columns:repeat(3,auto) 1fr;align-items:center;gap:8px;padding:0;border:0}
.seller-shell .packing-sticky-counts>div{flex-direction:row;align-items:baseline;gap:4px}
.seller-shell .packing-sticky-counts strong{font-size:18px}
.seller-shell .packing-sticky-counts span{font-size:15px;color:var(--muted,#33443d)}
.seller-shell .packing-sticky-counts strong{color:var(--text,#183333)}
.seller-shell .packing-filter{min-height:44px;font-size:15px;padding:4px 8px;justify-self:end}
.seller-shell .packing-filter[aria-pressed="true"]{background:var(--gold,#24493d);color:var(--gold-ink,#fff)}
.seller-shell .packing-sticky-actions{display:flex;gap:6px}
.seller-shell .packing-sticky-actions button{flex:1;min-height:48px;font-size:15px;padding:4px 8px;max-width:none}
.seller-shell .packing-rest{background:#2f7a5a;color:#fff;border-color:#2f7a5a}
.seller-shell .packing-stop{padding:10px}
.seller-shell .packing-stop h2{font-size:18px}
.seller-shell .packing-stop-time{font-size:15px}
.seller-shell .packing-stop-time small{font-size:15px}
.seller-shell .packing-stop>p{font-size:15px;margin:4px 0}
.seller-shell .packing-stop-dishes{margin:4px 0;padding-left:20px}
.seller-shell .packing-route-client{margin-top:6px;padding-top:6px}
.seller-shell .packing-route-client h3{font-size:16px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.seller-shell .packing-route-client a{font-size:15px}
.seller-shell .packing-route-line{padding:2px 0;flex-direction:row;flex-wrap:wrap;gap:2px 10px}
.seller-shell .packing-route-line small{font-size:15px}
.seller-shell .stop-search{display:block;margin:6px 0}
.seller-shell .stop-search input{display:block;width:100%;box-sizing:border-box;min-height:44px;font-size:16px;margin-top:4px}
.seller-shell .packing-footer{padding:8px 0}
.seller-shell .packing-review-row{padding:6px 0;font-size:15px}
.seller-shell .packing-review-row>span{font-size:15px}
.seller-shell .seller-sync{margin:6px 0;padding:6px 10px;border:1px solid var(--gold,#d9b46a);background:var(--amber-bg,#fff8e8);border-radius:10px}
.seller-shell .seller-sync-summary{margin:0 0 4px}
.seller-shell .seller-sync .offline{margin:4px 0}
.seller-shell .customer-card{padding:10px;margin:8px 0}
.seller-shell .customer-card h2{font-size:17px;margin:0}
.seller-shell .sellerline{padding:6px 0}
.seller-shell .sellerline h3{font-size:16px;margin:0}
.seller-shell .sellerline p,.seller-shell .muted{font-size:15px}
.seller-shell .badge,.seller-shell .timing-badge{font-size:15px}
/* Lista zbiorcza */
.tomorrow-day{margin:8px 0 16px}
.tomorrow-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tomorrow-day-head h2{font-size:18px;margin:0}
.tomorrow-day-head button{min-height:44px;flex-shrink:0}
.tomorrow-closing{font-size:15px;margin:4px 0 6px;color:var(--muted,#33443d)}
.tomorrow-list{border-top:1px solid var(--line,#d8dfd9)}
.tomorrow-row{display:block;padding:0;border-bottom:1px solid var(--line,#d8dfd9)}
.tomorrow-row>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:16px;padding:2px 0}
.tomorrow-qty{min-width:48px;text-align:right;font-size:18px}
.tomorrow-has-note{font-size:15px;color:var(--amber,#7a5414);border:1px solid var(--gold,#d9b46a);border-radius:8px;padding:0 6px}
.tomorrow-who{margin:0 0 8px;padding-left:56px;font-size:15px;display:grid;gap:4px}

/* R38 (głos Bena 09.11 21:08): żaden tekst nie dotyka paska ani nie najeżdża na inny. Pilnuje R38/narzedzia/naklad.mjs. */
/* pkt 1: żółty pasek pierwszeństwa (Zbierz, Lista) i pasek "Mam część": tekst 10 px od paska. */
.seller-shell .packing-product.has-priority,.seller-shell .packing-product.is-partial{padding-left:14px}
.tomorrow-row.has-priority>summary{padding-left:14px}
/* pkt 2: uwagi do dostawcy na Liście jako osobny blok pod osobą, nie w tej samej linii. */
.tomorrow-who .seller-note{display:block;margin:4px 0 2px}
/* pkt 4: trasa jak w R34 (wszystkie punkty, osoby po kliknięciu) + opóźnienie i szukanie osoby na górze. */
.seller-shell .route-tools{margin:4px 0 10px}
.seller-shell .route-quick{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:6px}
.seller-shell .route-quick span{font-size:15px;font-weight:700;padding-right:4px}
.seller-shell .route-quick button{min-height:44px;font-size:15px;padding:4px 8px}
.seller-shell .packing-stop-clients>summary{font-weight:700;gap:8px}
.seller-shell .packing-stop[hidden],.seller-shell .packing-route-client[hidden]{display:none}
/* R40: gdy menu nie wczytuje się dłużej niż 12 s (np. hosting nie odpowiada), widać podpowiedź, co zrobić. Aplikacja po starcie zastępuje cały #app. */
.loading-slow{visibility:hidden;margin:0 40px;padding:14px 16px;border:1px solid var(--gold,#d9b46a);background:var(--amber-bg,#fff8e8);color:var(--text,#183333);border-radius:12px;font-size:16px;animation:r40-slow 0s 12s forwards}
@keyframes r40-slow{to{visibility:visible}}
#app:has(.boot-problem) .loading-slow{display:none}
/* R39: jasny motyw, "Odłóż dla mnie" w miękkiej zieleni zamiast złota; "Sprawdź i wyślij" średnia zieleń na ciemnym pasku. Ciemny motyw bez zmian (złoto). Kontrast: 8,6 i 5,2 (AA). */
:root:not([data-theme=dark]) .product .actions button.primary,:root:not([data-theme=dark]) .quick-form button.primary,:root:not([data-theme=dark]) #reserve-form button.primary{background:var(--sage-bg);color:var(--deep);border:1.5px solid var(--deep)}
:root:not([data-theme=dark]) .product .actions button.primary:hover,:root:not([data-theme=dark]) .quick-form button.primary:hover,:root:not([data-theme=dark]) #reserve-form button.primary:hover{background:#d2e8dc}
:root:not([data-theme=dark]) .basket button{background:#2f7a5f;color:#fff;border:1.5px solid #cfe0d6}
:root:not([data-theme=dark]) .basket button:hover{background:#27694f}
