:root{--bg:#f7f9f6;--card:#fff;--line:#e5ebe3;--ink:#19271e;--muted:#718072;--green:#386e4c;--green2:#edf5e9;--accent:#dae9d4;--danger:#b84d47;--warn:#a66c2b;--shadow:0 12px 34px rgba(29,64,39,.065);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin:0}h1{font-size:1.52rem;letter-spacing:-.065rem;font-weight:760}h2{font-size:1.17rem;letter-spacing:-.025rem}h3{font-size:1rem}small,.muted{color:var(--muted)}small{font-size:.76rem}a{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #79b489;outline-offset:2px}
.shell{max-width:980px;margin:0 auto;min-height:100dvh;background:#fff;box-shadow:var(--shadow);position:relative;padding-bottom:calc(91px + env(safe-area-inset-bottom))}.top{background:#fff;padding:calc(18px + env(safe-area-inset-top)) 22px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brandmark{height:40px;width:40px;display:grid;place-items:center;border-radius:14px;background:var(--green2);color:var(--green);font-size:25px;font-weight:900;letter-spacing:-.1em}.brandtext{font-weight:750;font-size:1.05rem;letter-spacing:-.025em}.strap{font-size:.72rem;color:var(--muted)}.toolbar{display:flex;gap:7px;align-items:center}.rolebtn{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 10px;font-weight:660;font-size:.77rem}.rolebtn.sel{background:var(--green);color:#fff;border-color:var(--green)}.demo{background:#f5f7f3;color:#59665a;padding:8px 22px;font-size:.73rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}.demo strong{color:#3e5947}.main{padding:20px 22px 26px;max-width:740px;margin:auto;min-height:65vh}.stack{display:grid;gap:17px}.substack{display:grid;gap:10px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.headline{font-weight:760;font-size:1.7rem;letter-spacing:-.06rem;line-height:1.17}.subline{font-size:.85rem;color:var(--muted);line-height:1.5}.card{border:1px solid var(--line);padding:16px;border-radius:18px;background:#fff}.soft{background:#f4f8f1;border:1px solid #e5efe0}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.split>*{min-width:0}.stat{padding:15px;border-radius:16px;background:#f6f8f5;border:1px solid var(--line)}.stat-num{font-size:1.52rem;letter-spacing:-.045em;font-weight:790}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 9px;font-size:.71rem;font-weight:700;background:#f1f3ef;color:#5c6c5e;white-space:nowrap}.pill.green{background:#e7f5e6;color:#306d48}.pill.amber{background:#fff2de;color:#956121}.pill.red{background:#fbe9e6;color:#a34d46}.btn{border:0;background:var(--green);color:#fff;padding:13px 16px;border-radius:13px;font-weight:730;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:47px;font-size:.91rem}.btn.secondary{background:var(--green2);color:var(--green)}.btn.outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--green)}.btn.small{padding:9px 12px;min-height:35px;font-size:.79rem;border-radius:11px}.btn.block{width:100%}.btn.warn{background:#fff4e8;color:#9b622f}.btn.red{background:#fff0ef;color:var(--danger)}.section-title{font-weight:730;font-size:1.06rem}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:3px}.chip{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);border-radius:100px;color:#607060;background:#fff;font-size:.78rem;font-weight:670}.chip.active{background:#e7f2e4;color:var(--green);border-color:#d5e7cf}.product{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.product:last-child{border-bottom:0}.emoji{width:58px;height:58px;background:#f3f7f0;display:grid;place-items:center;border-radius:15px;font-size:29px;flex:none}.pname{font-weight:690;font-size:.94rem}.meta{font-size:.79rem;color:var(--muted);margin-top:3px}.quantity{display:flex;align-items:center;gap:4px;background:#f7f9f6;border:1px solid var(--line);border-radius:12px;padding:3px}.quantity button{width:32px;height:32px;border:none;border-radius:9px;background:#fff;font-size:19px;color:var(--green);font-weight:700}.quantity span{min-width:32px;text-align:center;font-size:.77rem;font-weight:720}.price{font-size:.88rem;font-weight:720}.divider{height:1px;background:var(--line);width:100%}/* Nawigacja główna: jednokolorowe ikony, duże pola dotyku. */
.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(980px,100%);background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:stretch;gap:4px;border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -4px 24px rgba(29,64,39,.04);z-index:30}
.navbtn{flex:1;min-width:0;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 0;background:transparent;border:0;border-radius:14px;color:#617167;font-size:11px;font-weight:550;line-height:1.3;touch-action:manipulation;transition:color .18s ease,background-color .18s ease}
.navicon{display:grid;place-items:center;width:52px;height:32px;border-radius:12px;transition:background-color .18s ease,transform .18s ease}
.ui-icon{display:block;width:24px;height:24px;flex:none;pointer-events:none}
.navlabel{white-space:nowrap}
.navbtn.on{color:var(--green);font-weight:750;background:#eaf3e7}
.navbtn.on .navicon{background:transparent}
.navbtn.on .ui-icon{stroke-width:2}
.navbtn:active .navicon{transform:scale(.94)}
.navbtn:focus-visible{outline:2px solid var(--green);outline-offset:-2px;background:#f4f8f1}
@media(hover:hover){.navbtn:hover{background:#f0f5ed}.navbtn.on:hover{background:#e2efdd}}
@media(max-width:360px){.nav{padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}.navbtn{font-size:10px}}
@media(prefers-reduced-motion:reduce){.navbtn,.navicon{transition:none}}
.sticky-action{position:sticky;bottom:100px;z-index:10;box-shadow:var(--shadow)}.field{width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #dfe8df;border-radius:13px;min-height:46px;padding:11px 13px;color:var(--ink);outline:0}.field:focus{border-color:#86b48e}.field-label{font-size:.8rem;color:#657666;font-weight:690;margin-bottom:7px}.detail-line{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.89rem}.bigsum{font-size:1.78rem;font-weight:800;letter-spacing:-.055em}.actions{display:flex;flex-wrap:wrap;gap:8px}.empty{padding:38px 15px;text-align:center;background:#f7f9f6;border-radius:16px;color:var(--muted);line-height:1.6}.circle{height:46px;width:46px;background:var(--green2);color:var(--green);border-radius:14px;display:grid;place-items:center;font-size:24px}.hint{border-radius:13px;padding:13px;background:#f7f9f6;color:#607161;font-size:.81rem;line-height:1.5}.hint.warn{background:#fff7eb;color:#9b6433}.labelpreview{background:#fff;border:1px dashed #c7cfc5;border-radius:10px;max-width:310px;padding:20px;margin:auto;box-shadow:0 5px 24px rgba(0,0,0,.07)}.labelpreview .bigsum{font-size:1.65rem}.label-qr{height:94px;width:94px;object-fit:contain;image-rendering:pixelated}.welcome{padding:24px 22px;max-width:440px;margin:10px auto;display:grid;gap:20px}.welcome .brandmark{height:82px;width:82px;font-size:48px;border-radius:23px}.welcome h1{font-size:2.5rem}.switch{display:flex;background:#f2f5f0;padding:4px;border-radius:13px;gap:3px}.switch button{flex:1;border:0;background:transparent;border-radius:10px;padding:12px 6px;color:#69806b;font-size:.83rem;font-weight:700}.switch button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(0,0,0,.05)}.toast{position:fixed;z-index:90;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:11px 15px;background:#253e2d;color:#fff;border-radius:12px;font-size:.82rem;box-shadow:var(--shadow)}.notice{display:flex;gap:10px;align-items:start}.notice i{font-style:normal}.rounded-icon{width:36px;height:36px;background:#eaf4e5;border-radius:12px;display:grid;place-items:center}.toast[hidden]{display:none}.tagline{font-size:.78rem;color:var(--muted)}.ctag{background:#f3f7ef;border-radius:8px;padding:6px 8px;font-size:.73rem;color:var(--green);font-weight:650}.fakeqr{width:76px;height:76px;object-fit:contain;background:#fff}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--green2);font-size:20px}.center{text-align:center}.separator{color:#e7ebe4}.alignright{text-align:right}.minihelp{font-size:.74rem;color:var(--muted);line-height:1.45}.update-dot{width:8px;height:8px;border-radius:100%;background:#5f9d71;display:inline-block;margin-right:5px}.footer-note{font-size:.76rem;color:var(--muted);line-height:1.5}.hide{display:none!important}
@media(min-width:760px){body{padding:28px 20px}.shell{border-radius:26px;min-height:90vh;overflow:hidden}.top{position:relative}.main{padding-top:32px}.nav{bottom:0}.welcome{margin:35px auto}.headline{font-size:2rem}}
@media(min-width:760px){
 body.isapp:has(.nav){padding-bottom:0}
 .isapp .shell:has(>.nav){min-height:calc(100dvh - 28px);border-radius:26px 26px 0 0}
 .nav{justify-content:center;gap:8px;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
 .navbtn{flex:0 1 124px;min-height:56px;padding:6px 12px;border-radius:12px}
 .navicon{width:40px;height:28px}
}
@media(max-width:400px){.main{padding:17px 15px}.top{padding-left:15px;padding-right:15px}.demo{padding-left:15px;padding-right:15px}.quantity button{width:29px;height:29px}.quantity span{min-width:26px}.emoji{width:48px;height:48px;font-size:25px}.product{gap:9px}.rolebtn{font-size:.72rem;padding:8px}}

/* v0.2: PWA-first SMS onboarding */
.authwrap{min-height:100dvh;display:grid;place-items:center;padding:28px 16px;background:var(--bg)}
.authcard{width:min(100%,420px);padding:25px 21px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.authcard .field{font-size:1.06rem;letter-spacing:.02em}
.authcard .otp-field{font-size:1.6rem;font-weight:760;text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums}
.authcard .stack{gap:14px}
.authcard .stack.center{gap:7px}
.authcard .minihelp{padding:0 4px}
.install-help{display:grid;gap:5px}
.install-help b{font-weight:700}
.install-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.install-steps{margin:0;padding-left:22px;font-size:.9rem;line-height:1.55}
.install-steps li+li{margin-top:12px}
.install-steps li::marker{color:var(--green);font-weight:750}
.logoutbtn{white-space:nowrap}
@media(max-width:420px){.logoutbtn{font-size:.66rem;padding:5px}.rolebtn{padding:7px 6px}}

/* Obwozik 0.3 — prywatne firmy, klikalne produkty, checklista, etykiety. */
.product-open{display:flex;align-items:center;text-align:left;gap:12px;flex:1;min-width:0;border:0;padding:0;background:transparent;color:inherit;cursor:pointer}
.product-open .grow{min-width:0}.product-open:focus-visible,.order-row:focus-visible{outline:3px solid #79b489;border-radius:12px}
.prodphoto{width:58px;height:58px;object-fit:cover;border-radius:15px;background:#f3f7f0;flex:none}
.prodhero{height:240px;border-radius:20px;background:#f1f6ee;display:grid;place-items:center;overflow:hidden}
.prodhero img{width:100%;height:100%;object-fit:cover}.prodhero span{font-size:6rem}
.order-row{width:100%;padding:14px 2px;text-align:left;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:inherit;cursor:pointer}
.order-row .grow{display:grid;gap:6px}.order-row .rightsum{font-weight:750;text-align:right;white-space:nowrap}
.order-row .rightsum span{color:var(--green)}.order-row .pill{width:max-content}
.packrow{display:grid;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.packrow:last-child{border-bottom:0}
.packrow.checked{background:#f9fcf8}.packcheck{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;line-height:1.45}
.packcheck input{accent-color:var(--green);width:27px;height:27px;flex:none}.packcheck span{display:grid;gap:3px}
.qtyedit{display:flex;align-items:center;gap:6px;width:112px}.qtyedit .field{width:72px;padding:8px 4px;text-align:center;height:43px;min-height:43px}.qtyedit span{font-size:.76rem;color:var(--muted)}
.qrlarge svg{width:166px;height:166px;margin:auto}.labelpreview svg{width:114px;height:114px;flex:none}
.field[type=file]{padding:10px 8px}.isapp .main{padding-bottom:35px}.rightsum{line-height:1.8}
@media(max-width:400px){.product-open{gap:8px}.prodphoto{width:48px;height:48px}.qtyedit{width:96px}.qtyedit .field{width:60px}}

/* Obwozik branding v0.3.1 — grafiki dostarczone przez właściciela */
.brand-icon{display:block;width:40px;height:40px;flex:none;border-radius:13px;object-fit:cover;background:#edf5e9}
.auth-brand-logo{display:block;width:170px;height:170px;max-width:58vw;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(25,55,30,.08))}
.brand-preview{display:flex;align-items:center;gap:12px}
.brand-preview-icon{height:48px;width:48px;flex:none;object-fit:cover;border-radius:12px}
@media(max-width:420px){.auth-brand-logo{height:146px;width:146px}.authcard{padding:21px 18px}}
/* Obwozik v0.3.2 - platform SaaS */
.linkbutton{border:0;background:transparent;color:var(--green);text-decoration:underline;font-weight:700;padding:0;font-size:inherit}
.smallqty{max-width:82px;min-height:36px;text-align:center;padding:7px}
.field[type='date'],.field[type='time'],.field[type='datetime-local']{display:block;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none}.field::-webkit-date-and-time-value{min-width:0;text-align:left}
.delivery-cutoff-fields{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
textarea.field{resize:vertical}
/* Nazwy migracji nie rozszerzają ekranu bazy poza szerokość telefonu. */
.admin-database,.admin-database>.card{min-width:0}
.admin-database .detail-line{align-items:flex-start}
.admin-database .detail-line>span{min-width:0;overflow-wrap:anywhere}
.admin-database .detail-line>small{flex-shrink:0}
@media(max-width:450px){.authcard{max-width:370px}.actions{gap:5px}.actions .btn{font-size:.77rem}}

/* Obwozik v0.4.2 — aktywny sklep / rola i pełnoekranowy interfejs mobilny */
.brand-detail{display:flex;flex-direction:column;min-width:0;gap:1px}
.brand-app{font-size:.66rem;color:var(--muted);font-weight:670;letter-spacing:.025em}
.brand-context{font-size:1.03rem;line-height:1.2;font-weight:770;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-meta{font-size:.7rem;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topline>.brand{min-width:0;flex:1}
.account-menu{position:relative;flex:none}
.account-menu summary{height:41px;min-width:43px;padding:0 9px;display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:1.22rem;color:var(--ink)}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu[open] summary{background:var(--green2)}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 7px);min-width:198px;padding:7px;display:grid;gap:3px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px rgba(29,64,39,.18);z-index:60}
.account-menu-panel button{background:transparent;color:var(--ink);text-align:left;border:0;border-radius:9px;min-height:42px;padding:9px 12px;font-size:.85rem;font-weight:630;white-space:nowrap}
.account-menu-panel button:hover,.account-menu-panel button:focus-visible{background:var(--green2)}
@media(max-width:759px){
 html,body,#app{width:100%;min-height:100%;margin:0}
 body{background:#fff}
 .shell{width:100%;max-width:none;margin:0;min-height:100dvh;box-shadow:none;border:0;border-radius:0;padding-bottom:calc(75px + env(safe-area-inset-bottom));overflow:visible}
 .top{position:sticky;top:0;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left));background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
 .topline{gap:9px}
 .brand-icon{width:38px;height:38px;border-radius:11px}
 .brand{gap:10px}
 .brand-context{font-size:.98rem}
 .toolbar{gap:6px;flex:none}
 .rolebtn{font-size:.73rem;padding:9px 10px;min-height:41px}
 .main{max-width:none;min-height:calc(100dvh - 115px);margin:0;padding:19px max(16px,env(safe-area-inset-right)) 28px max(16px,env(safe-area-inset-left))}
 .main>.stack{gap:15px}
 .headline{font-size:1.55rem;line-height:1.18}
 .nav{left:0;transform:none;width:100%;max-width:none}
 .card{border-radius:16px}
 .authwrap{min-height:100dvh;padding:0;display:block;background:#fff}
 .authcard{width:100%;max-width:none;min-height:100dvh;padding:calc(25px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(25px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}
 .auth-brand-logo{width:152px;height:152px;max-width:48vw;object-fit:contain}
 .authcard .stack.center{gap:4px}
 .authcard>.stack.center{padding-top:10px}
 .authcard h1{font-size:1.9rem}
 .toast{width:max-content;max-width:calc(100% - 32px)}
}
@media(max-width:360px){
 .brand-context{font-size:.87rem}
 .brand-meta{font-size:.63rem}
 .rolebtn{padding:7px 8px}
 .top{padding-left:12px;padding-right:12px}
 .main{padding-left:12px;padding-right:12px}
}

/* Obwozik v0.4.5: security and diagnostics surfaces */
.security-secret{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:normal;overflow-wrap:anywhere;padding:12px;border-radius:12px;background:#f4f8f1;color:#253e2d;letter-spacing:.025em}
.backup-codes{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;line-height:1.95;letter-spacing:.04em;background:#f4f8f1;padding:14px;border-radius:12px}
.diag-row>summary{display:flex;flex-direction:column;gap:4px;cursor:pointer;font-weight:700}
.diag-row>summary small{font-weight:500;color:var(--muted)}
.diag-row pre{font-size:.78rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9f6;padding:11px;border-radius:9px}
@media(max-width:600px){.diag-row{padding:12px}.backup-codes{font-size:.89rem}}
/* Obwozik v0.4.5 — device registry and product illustration variants */
.header-icon{font-size:1.12rem;min-width:38px;min-height:38px;line-height:1}
.icon-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.icon-choice{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #dde7da;border-radius:12px;padding:8px 3px;cursor:pointer;min-width:0}
.icon-choice:has(input:checked){outline:2px solid #31724b;background:#f2f9f2}
.icon-choice input{accent-color:#31724b}
.icon-choice small{color:#536a59;font-size:.66rem}
.emoji.icon-simple{background:#f5f8f2;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px}
.emoji.icon-sticker{background:#fff;border:4px solid #fff;box-shadow:0 3px 14px #b0c0aa80;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px;transform:rotate(-5deg)}
.emoji.icon-circle{background:#e0f2e1;border:2px solid #a7ccab;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px}
.emoji.icon-tile{background:linear-gradient(140deg,#d4e5c2,#f8f2db);border:1px solid #c1d9b5;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px}
/* Ustawienia katalogu: natywne radio z graficznym podglądem każdego stylu. */
.template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;margin:0;padding:0;min-width:0}
.template-option{position:relative;cursor:pointer;min-width:0}
.template-radio{position:absolute;width:1px;height:1px;opacity:0}
.template-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:13px;padding:27px 8px 13px;background:#f8faf6;border:1px solid var(--line);border-radius:16px;min-height:171px;transition:border-color .15s,background .15s}
.template-preview{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.template-product-name{font-size:.75rem;font-weight:700;margin-top:5px}
.template-product-price{font-size:.66rem;color:var(--muted);white-space:nowrap}
.template-name{font-size:.82rem;font-weight:730}
.template-tick{position:absolute;top:9px;right:9px;width:18px;height:18px;border:1.5px solid #cad7c7;border-radius:50%;background:#fff}
.template-radio:checked+.template-choice{border:2px solid var(--green);padding:26px 7px 12px;background:#edf6e9;color:var(--green)}
.template-radio:checked+.template-choice .template-tick{background:var(--green);border-color:var(--green)}
.template-radio:checked+.template-choice .template-tick:after{content:'✓';display:block;color:white;font-size:12px;font-weight:800;text-align:center;line-height:16px}
.template-radio:focus-visible+.template-choice{outline:3px solid #79b489;outline-offset:3px}
.postal-suggestions{display:grid;border:1px solid var(--line);border-radius:13px;max-height:260px;overflow:auto;overscroll-behavior:contain}
.postal-suggestions[hidden]{display:none}
.postal-place{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:12px 13px;background:#fff;border:0;border-bottom:1px solid var(--line);min-height:58px;color:var(--ink)}
.postal-place:last-child{border-bottom:0}
.postal-place b{font-size:.84rem}
.postal-place small{display:block;font-size:.69rem;line-height:1.4;margin-top:4px}
.postal-place-arrow{color:var(--green);font-size:20px}
.postal-place>span:first-child{min-width:0;flex:1}.postal-place b{overflow-wrap:anywhere}
.postal-place.is-added:disabled{opacity:1;cursor:default;background:#f0f7ec;color:#49694f}
.postal-place-arrow{display:flex;align-items:center;gap:5px;flex:none}.postal-place-arrow small{margin:0;font-size:.69rem;font-weight:650}
.postal-source a{text-decoration:underline;text-underline-offset:2px}
@media(hover:hover){.template-option:hover .template-choice{border-color:#86b48e}.postal-place:hover{background:#f3f8ef}}
@media(max-width:360px){.template-options{gap:6px}.template-choice{padding-left:5px;padding-right:5px}.template-radio:checked+.template-choice{padding-left:4px;padding-right:4px}.template-name{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.template-choice{transition:none}}
.icon-suggestion{border:1px solid #e0eadd;background:#f7fbf5;border-radius:13px;padding:12px}
.product-advanced summary{color:#43634d;text-decoration:underline;cursor:pointer;margin-bottom:7px}
.device-row{display:flex;flex-direction:column;gap:9px;padding:14px 2px;border-bottom:1px solid #e6ece4}
.device-row:last-child{border-bottom:0}
.device-row .actions{flex-wrap:wrap}
.push-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.push-categories label{font-size:.88rem}
.push-preferences{display:grid;gap:14px}
.push-preference-group{display:grid;gap:9px}
.push-preference-group+.push-preference-group{border-top:1px solid #e6ece4;padding-top:14px}
.push-preference-group h3{font-size:.88rem;color:#537057;margin:0}
.push-preference-group .push-categories label{display:flex;gap:10px;align-items:flex-start;min-width:0;padding:11px;border:1px solid #e3ebe1;border-radius:12px;cursor:pointer}
.push-preference-group .push-categories input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#376e4c}
.push-preference-group .push-categories span{display:grid;gap:4px;min-width:0}
.push-preference-group .push-categories b{font-size:.83rem;line-height:1.35}
.push-preference-group .push-categories small{font-size:.73rem;line-height:1.4;color:#758474}
.push-preference-group .push-categories label:has(input:checked){background:#f2f8ef;border-color:#bed5ba}
.push-preference-group .push-categories label:focus-within{outline:2px solid #376e4c;outline-offset:2px}
.join-onboarding{width:100%;max-width:520px;margin:0 auto}
.shell.join-shell{padding-bottom:24px}
.join-onboarding .headline{margin-top:5px}
.join-onboarding .editor-form{margin-top:0}
.join-onboarding input[readonly]{background:#f7f9f6;color:#607161}
.join-onboarding [data-join-error][hidden]{display:none}
.client-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.client-request-row:first-child{padding-top:0}.client-request-row:last-child{padding-bottom:0;border-bottom:0}
.client-request-info{min-width:0;overflow-wrap:anywhere}.client-request-info>b{font-size:.91rem;line-height:1.4}
.client-request-info .minihelp{margin-top:4px}.join-missing-address{color:#9b6433}
.pending-join-summary+.pending-join-summary{border-top:1px solid var(--line);padding-top:12px}
@media(max-width:480px){.client-request-row{grid-template-columns:minmax(0,1fr)}.client-request-row .actions{justify-content:flex-start}}
.notification-item{display:grid;gap:5px}
.notification-item p{margin:0}
.notification-item small{color:#758474}
@media(max-width:430px){.icon-choice small{font-size:.57rem}.icon-choices{gap:5px}.header-icon{min-width:35px;padding:7px}.device-row .actions .btn{font-size:.71rem}.push-categories{grid-template-columns:1fr}}

/* Obwozik v0.5.3: pricing variants, weekly deliveries, update UX */
.variant-line{border-top:1px solid #e7ede4;padding:12px 0;gap:12px;align-items:center}
.variant-line .meta{margin:4px 0 0;font-size:.81rem}
.variant-line .grow{min-width:0}
.variant-line .quantity{flex-shrink:0}
.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #cce0ce;border-radius:14px;background:#f1f9f2;color:#264e35;font-weight:650}
.update-banner .btn{white-space:nowrap}
.schedule-info{display:grid;gap:5px;padding:12px;background:#f5f9f4;border-radius:12px}
.schedule-row{padding:12px 0;border-bottom:1px solid #e4eee2}
.schedule-row:last-child{border:0}
.variant-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:480px){.variant-line{gap:7px}.variant-line .quantity{gap:3px}.variant-line .quantity button{min-width:27px}.variant-line .meta{font-size:.72rem}.update-banner{padding:10px}.schedule-row{padding:10px 0}}

/* Obwozik — wersja robocza: ikony nagłówka w tym samym stylu co menu. */
.shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.header-icon,.account-menu summary{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;color:#526b59;border:1px solid var(--line);border-radius:13px;background:#fff;list-style:none}
.header-icon .ui-icon,.account-menu summary .ui-icon{width:21px;height:21px}
.account-menu summary:focus-visible{outline:3px solid #79b489;outline-offset:2px}
@media(hover:hover){.header-icon:hover,.account-menu summary:hover{background:var(--green2)}}

/* Wybór roli: jedna opcja w wierszu z zakresem uprawnień. */
.member-role-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;border:0;margin:0;padding:0}
.member-role-options legend{padding:0;margin-bottom:12px}
.member-role-option{position:relative;cursor:pointer;min-width:0}
.member-role-radio{position:absolute;width:1px;height:1px;opacity:0}
.member-role-choice{display:grid;gap:9px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fafbf8;transition:background .15s,border-color .15s}
.member-role-header{display:flex;align-items:center;gap:10px;font-size:.93rem}
.member-role-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:#edf3e9;color:var(--green)}
.member-role-icon .ui-icon{width:21px;height:21px}
.member-role-check{width:20px;height:20px;flex:none;margin-left:auto;border:1.5px solid #c4d1c0;border-radius:50%;background:#fff}
.member-role-can,.member-role-limit{display:block;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}
.member-role-can{color:#405447}
.member-role-limit{color:#687469}
.member-role-radio:checked+.member-role-choice{border:2px solid var(--green);padding:14px;background:#edf6e9}
.member-role-radio:checked+.member-role-choice .member-role-header{color:var(--green)}
.member-role-radio:checked+.member-role-choice .member-role-check{border-color:var(--green);background:var(--green)}
.member-role-radio:checked+.member-role-choice .member-role-check:after{content:'✓';display:block;text-align:center;line-height:18px;font-size:13px;font-weight:800;color:#fff}
.member-role-radio:focus-visible+.member-role-choice{outline:3px solid #79b489;outline-offset:3px}
@media(hover:hover){.member-role-option:hover .member-role-choice{border-color:#86b48e}}
@media(prefers-reduced-motion:reduce){.member-role-choice{transition:none}}

/* Propozycja edytora produktu — ceny na początku, szczegóły na żądanie. */
.product-editor{display:grid;gap:16px;min-width:0}
.editor-back{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:0;background:transparent;color:var(--green);padding:4px 0;min-height:36px;font-weight:680;font-size:.83rem}
.editor-back .ui-icon{width:18px;height:18px}
.editor-heading{display:flex;align-items:center;gap:16px;padding:2px 0 4px;min-width:0}
.editor-heading>div:last-child{min-width:0}
.editor-heading .emoji,.editor-heading .prodphoto{width:72px;height:72px;flex:none;font-size:36px}
.editor-heading h1{margin:3px 0;font-size:1.8rem;line-height:1.15;overflow-wrap:anywhere}
.editor-eyebrow{font-size:.7rem;font-weight:620;color:var(--muted)}
.editor-category{font-size:.82rem;color:#607161;overflow-wrap:anywhere}
.editor-availability{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;border:1px solid var(--line);border-radius:15px;background:#f6f7f5;padding:12px 16px;color:#576459}
.editor-availability.is-on{background:#edf6ee;border-color:#d9e8db;color:#2f6444}
.editor-availability b{display:block;font-size:.85rem}
.editor-availability small{display:block;margin-top:3px;font-size:.74rem;color:inherit;font-weight:400;opacity:.9}
.editor-switch{display:block;width:42px;height:25px;border-radius:20px;background:#b6bfb7;padding:3px;flex:none}
.editor-switch:after{content:'';display:block;width:19px;height:19px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002}
.is-on .editor-switch{background:var(--green)}
.is-on .editor-switch:after{transform:translateX(17px)}
.editor-card{border:1px solid #e1e8df;border-radius:18px;background:#fff;padding:18px;min-width:0}
.editor-card h2{font-size:1.04rem;letter-spacing:-.025em}
.editor-section-title{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.editor-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;background:#f0f4ed;border-radius:7px;font-size:.72rem;font-weight:650;color:#62745f}
.product-editor summary{list-style:none;cursor:pointer;outline-offset:4px}
.product-editor summary::-webkit-details-marker{display:none}
.product-editor summary:focus-visible{outline:3px solid #79b489;border-radius:8px}
.editor-variant{border-bottom:1px solid var(--line)}
.editor-variant>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px 0;min-height:72px}
.editor-variant-name{min-width:0;overflow-wrap:anywhere}
.editor-variant-name b{font-size:.93rem;font-weight:700}
.editor-variant-name small{display:block;font-size:.71rem;line-height:1.45;margin-top:4px}
.editor-variant-price{text-align:right;font-size:1.12rem;font-weight:760;white-space:nowrap;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.editor-variant-price small{display:block;font-size:.69rem;font-weight:450;margin-top:2px;letter-spacing:0}
.editor-variant-edit{display:flex;align-items:center;gap:3px;color:var(--green);font-size:.73rem;font-weight:650}
.editor-variant-edit .ui-icon{width:16px;height:16px}
.editor-variant[open]>.editor-form{margin:0 0 16px;padding:15px;border-radius:13px;background:#f6f9f3;border:1px solid #e4ece0}
.editor-variant.is-inactive>summary{color:#758173}
.editor-form{display:grid;gap:14px;margin-top:16px;min-width:0}
.editor-field{display:grid;gap:6px;min-width:0;font-size:.78rem;font-weight:650;color:#596b5a}
.editor-field .field{font-size:.91rem;font-weight:450;min-height:44px;padding:10px 12px;border-radius:11px}
.editor-field .editor-money{font-weight:700;font-variant-numeric:tabular-nums}
.editor-basics{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
.editor-extra>summary{display:flex;align-items:center;gap:7px;min-height:40px;font-size:.81rem;font-weight:650;color:#526952}
.editor-extra>summary small{font-size:.7rem;font-weight:400;color:#819080}
.editor-extra>summary .ui-icon{margin-left:auto;width:17px;height:17px}
.editor-extra[open]>.editor-field{margin-top:8px}
.editor-extra[open]>summary>.ui-icon,.editor-variant[open]>summary .ui-icon,.editor-photo[open]>summary>.ui-icon{transform:rotate(90deg)}
.editor-check{display:flex;align-items:center;gap:9px;font-size:.79rem;color:#4e6554;cursor:pointer}
.editor-check input{width:20px;height:20px;accent-color:var(--green);margin:0;flex:none}
.editor-add{margin-top:12px}
.editor-add>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border:1px dashed #cbdaca;border-radius:11px;background:#f8fbf6;font-size:.82rem;font-weight:680;color:var(--green)}
.editor-add>summary .ui-icon{width:18px;height:18px}
.editor-add>summary .ui-icon:last-child{margin-left:auto;width:16px;height:16px}
.editor-add[open]>summary .ui-icon:last-child{transform:rotate(90deg)}
.editor-pricing{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;min-width:0;margin:0;padding:0}
.editor-pricing legend{padding:0;margin-bottom:7px;font-size:.78rem;color:#596b5a;font-weight:650}
.editor-pricing label{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:11px 9px;font-size:.79rem;cursor:pointer}
.editor-pricing input{accent-color:var(--green);margin:0;flex:none}
.editor-pricing label:has(input:checked){border-color:#88b091;background:#edf6ee;color:var(--green)}
.editor-pricing small{display:block;font-size:.68rem;font-weight:450;margin-top:3px}
.editor-photo>summary{display:flex;align-items:center;gap:12px}
.editor-photo>summary b{font-size:.89rem}
.editor-photo>summary small{display:block;font-size:.73rem;margin-top:3px;font-weight:450}
.editor-photo>summary>.ui-icon{margin-left:auto;width:18px;height:18px;color:var(--green)}
.editor-section-icon{display:grid;place-items:center;width:38px;height:38px;background:#f0f5ed;color:var(--green);border-radius:11px;flex:none}
.editor-section-icon .ui-icon{width:21px;height:21px}
.product-editor [hidden]{display:none}
@media(hover:hover){.editor-variant>summary:hover .editor-variant-name b{color:var(--green)}.editor-add>summary:hover{background:#edf6e9}}
@media(max-width:430px){.product-editor{gap:14px}.editor-card{padding:16px}.editor-heading{gap:13px}.editor-heading h1{font-size:1.65rem}.editor-variant>summary{gap:8px}.editor-variant-edit{font-size:0}.editor-variant-edit .ui-icon{width:19px;height:19px}.editor-basics{grid-template-columns:1fr}.editor-variant[open]>.editor-form{padding:12px}.editor-pricing label{font-size:.74rem;padding:10px 8px}}

/* Kategorie oraz dwa niezależne źródła ikon. Własne pliki są tylko zdjęciami. */
.category-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0;min-width:0}
.category-choices legend{font-size:.78rem;font-weight:650;color:#596b5a;margin-bottom:8px;padding:0}
.category-choices label{position:relative;cursor:pointer;min-width:0}
.category-choices input{position:absolute;width:1px;height:1px;opacity:0}
.category-choices span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border:1px solid var(--line);border-radius:11px;background:#f9fbf7;font-size:.8rem;font-weight:600;text-align:center;padding:8px 5px;overflow-wrap:anywhere}
.category-choices i{font-size:20px;font-style:normal}
.category-choices input:checked+span{border-color:var(--green);background:#edf6ee;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.category-choices input:focus-visible+span{outline:3px solid #79b489;outline-offset:2px}
.editor-variant-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(85px,1fr);gap:10px;min-width:0}
.editor-icon-button{position:relative;display:grid;place-items:center;width:72px;height:72px;border:0;padding:0;background:transparent;flex:none;cursor:pointer;border-radius:18px}
.editor-icon-button>.editor-icon-edit-badge{position:absolute;bottom:-3px;right:-4px;display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:white;border:1px solid #d4e1d1;color:var(--green)}
.editor-icon-edit-badge .ui-icon{width:16px;height:16px}
.product-icon-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.product-icon-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:169px;border:1px solid var(--line);padding:18px 8px 14px;border-radius:16px;background:#fafcf8;color:var(--ink)}
.product-icon-choice .emoji,.product-icon-choice .prodphoto{width:65px;height:65px;font-size:32px;object-fit:contain}
.product-icon-choice b{font-size:.85rem;margin-top:3px}
.product-icon-choice small{font-size:.7rem;font-weight:450;text-align:center;line-height:1.4}
.product-icon-choice.selected{border:2px solid var(--green);padding:17px 7px 13px;background:#edf6ee}
.icon-selected{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:12px}
.icon-ai-placeholder{display:grid;place-items:center;width:65px;height:65px;background:#edf3e8;border-radius:17px;color:var(--green)}
.icon-ai-placeholder .ui-icon{width:32px;height:32px}
.icon-spinner{width:49px;height:49px;margin:8px;border:3px solid #dce9d6;border-top-color:var(--green);border-radius:50%;animation:icon-spin .85s linear infinite}
@keyframes icon-spin{to{transform:rotate(360deg)}}
.icon-generation-status{font-size:.74rem;line-height:1.4;color:var(--muted);margin:10px 0 0;min-height:0}
.icon-generation-status:empty{display:none}
.icon-dialog{width:calc(100% - 32px);max-width:430px;border:1px solid var(--line);border-radius:23px;padding:22px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #18372133}
.icon-dialog::backdrop{background:#11251966;backdrop-filter:blur(3px)}
.icon-dialog h2{font-size:1.15rem}
.icon-dialog .btn.block{margin-top:20px}
.order-addition-dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.order-addition-dialog .btn.block{margin-top:0}
.order-addition-fields{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}
.feedback-fields{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}
.feedback-page{max-width:760px;margin-inline:auto}
.feedback-page [hidden]{display:none}
.feedback-ticket>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.feedback-ticket>summary::-webkit-details-marker{display:none}
.feedback-ticket>summary>span:first-child{display:grid;gap:5px;min-width:0;flex:1}
.feedback-ticket>summary b{font-size:.93rem;overflow-wrap:anywhere}
.feedback-ticket>summary small{color:var(--muted);font-size:.73rem;line-height:1.5;overflow-wrap:anywhere}
.feedback-ticket>summary .pill{flex-shrink:0;white-space:nowrap;font-size:.69rem}
.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:.9rem;margin:16px 0}
.feedback-technical{padding:12px;background:#f7f9f4;border-radius:12px;margin-top:12px}
.feedback-technical>summary{font-size:.76rem;font-weight:650;cursor:pointer}
.feedback-technical p{margin:8px 0 0;overflow-wrap:anywhere}
.order-addition-dialog [hidden]{display:none}
.order-addition-dialog .between{gap:12px;flex-wrap:wrap}
.order-addition-dialog select{width:100%;text-overflow:ellipsis}
.order-addition-dialog [data-addition-preview]{font-size:.87rem}
.icon-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.icon-dialog-head>div{flex:1;min-width:0}
.icon-dialog-head h2:focus{outline:none}
.icon-dialog-head .icon-dialog-close{flex:none}
.order-sync-notice{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#fff6e7;color:#86622d;font-size:.75rem;line-height:1.45}
.order-sync-notice[hidden],.order-pull-indicator[hidden]{display:none}
.order-pull-indicator{position:fixed;left:50%;transform:translateX(-50%);z-index:40;width:max-content;max-width:calc(100% - 32px);border:1px solid var(--line);border-radius:99px;padding:10px 15px;background:#fff;color:var(--green);box-shadow:0 4px 18px #19372120;font-size:.78rem;font-weight:650;pointer-events:none;text-align:center}
.icon-dialog-close{border:1px solid var(--line);background:#f8faf5;color:#56715d;border-radius:11px;width:38px;height:38px;display:grid;place-items:center;font-size:26px;line-height:1}
.editor-product-photo{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:13px;background:#f7f9f6}
.editor-field>span small{font-size:.7rem;font-weight:450;margin-left:4px}
#create-product{margin-top:0}
@media(max-width:430px){.category-choices span{flex-direction:column;gap:4px;font-size:.71rem;min-height:61px}.category-choices{gap:6px}.icon-dialog{padding:18px}.product-icon-choice{min-height:156px}.product-icon-choice b{font-size:.79rem}.product-icon-choice small{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.icon-spinner{animation:none}}
.product-catalog-row{padding:14px 10px;border-radius:12px;transition:background-color .8s,box-shadow .8s}
.product-status{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 7px;border-radius:7px;font-size:.68rem;font-weight:650;background:#edf6ee;color:#386e4c}
.product-status i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.product-status.off{background:#e9ece7;color:#73806f}
.product-status.off i{border-radius:2px;height:2px}
.product-catalog-row.is-inactive{background:#f6f7f4}
.product-catalog-row.is-inactive .product-open b{color:#788274}
.product-catalog-row.is-inactive .emoji,.product-catalog-row.is-inactive .prodphoto{filter:grayscale(1);opacity:.5}
.product-catalog-row.just-edited{background:#edf6e7;box-shadow:inset 0 0 0 1px #b8d1ae}
.product-ai-image{display:block;width:82%;height:82%;object-fit:contain;border-radius:inherit}
.product-create-dialog{max-width:590px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.product-create-dialog>.between{position:sticky;top:-22px;z-index:2;background:white;padding:5px 0 12px;margin-top:-5px}
.product-create-dialog #create-product{margin-top:5px}
.product-create-dialog .btn.block{margin-top:0}
.product-add-tile{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:78px;margin-top:12px;padding:16px;background:#f8fbf6;color:var(--green);border:1.5px dashed #b7cdb0;border-radius:13px;font-weight:680;font-size:.88rem}
.product-add-tile .ui-icon{width:26px;height:26px}
.delivery-card-header h2{min-width:0}.delivery-card-header .btn{flex:none}
.delivery-add-panel{min-width:0;scroll-margin-top:calc(100px + env(safe-area-inset-top))}
.delivery-add-panel>.product-add-tile{margin-top:0;list-style:none;cursor:pointer;text-align:center}
.delivery-add-panel>.product-add-tile::-webkit-details-marker{display:none}
.delivery-add-panel>.product-add-tile:focus{outline:none}
.delivery-add-panel>.product-add-tile:focus-visible{outline:3px solid #79b489;outline-offset:2px}
.delivery-add-panel[open]>.product-add-tile{margin-bottom:16px}
.delivery-add-panel>.editor-form{margin-top:0}
@media(max-width:430px){.delivery-card-header .btn{min-height:42px}}
.product-photo-thumb{display:block;width:56px;height:52px;object-fit:cover;border-radius:9px;border:1px solid var(--line);flex:none}
.is-inactive .product-photo-thumb{filter:grayscale(1);opacity:.55}
.product-list-tools{display:grid;gap:10px;min-width:0}
.product-list-search{position:relative;display:block}
.product-list-search>.ui-icon{position:absolute;left:13px;top:13px;width:20px;height:20px;color:#81917d}
.product-list-search .field{padding-left:42px;background:#fafcf8;min-height:46px}
.product-status-filters{display:flex;gap:4px;border-radius:12px;padding:4px;background:#f2f5ef}
.product-status-filters button{flex:1;min-width:0;min-height:39px;border:0;border-radius:9px;background:transparent;color:#6e7d69;font-size:.8rem;font-weight:650;padding:8px 5px}
.product-status-filters button.on{background:#fff;color:var(--green);box-shadow:0 1px 6px #283d2510}
.product-category-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.product-filter-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:68px;border:1px solid var(--line);border-radius:11px;background:#fafcf8;padding:10px 6px;color:#5b705a;cursor:pointer}
.product-filter-category>span{display:grid;place-items:center;font-size:23px;height:25px}
.product-filter-category b{font-size:.75rem;font-weight:650;text-align:center;overflow-wrap:anywhere}
.product-filter-category.active{border-color:var(--green);background:#edf6ee;box-shadow:inset 0 0 0 1px var(--green);color:var(--green)}
.product-filter-panel{border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0;padding:0 14px}
.product-filter-panel>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:13px 0;color:#4d6753;font-size:.85rem;min-height:51px}
.product-filter-panel>summary::-webkit-details-marker{display:none}
.product-filter-panel>summary small{display:block;font-size:.69rem;font-weight:450;color:var(--muted);margin-top:2px}
.product-filter-panel>summary>.ui-icon{width:19px;height:19px}
.product-filter-panel>summary>.ui-icon:last-child{margin-left:auto;width:17px;height:17px}
.product-filter-panel[open]>summary>.ui-icon:last-child{transform:rotate(90deg)}
.product-filter-panel>summary:focus-visible{outline:3px solid #79b489;outline-offset:3px;border-radius:8px}
.product-filter-body{display:grid;gap:14px;padding:0 0 14px;min-width:0}
.product-filter-result{font-size:.73rem;color:var(--muted);padding:0 2px}
.product-filter-result .linkbutton{font-size:.73rem}
.photo-picker{display:flex;align-items:center;gap:13px;width:100%;min-height:94px;padding:17px;border:1.5px dashed #bbd0b5;border-radius:14px;background:#f7faf4;color:var(--green);text-align:left}
.photo-picker>.ui-icon:first-child{width:29px;height:29px}
.photo-picker>.ui-icon:last-child{margin-left:auto;width:21px;height:21px}
.photo-picker b{display:block;font-size:.9rem}
.photo-picker small{display:block;margin-top:6px;color:#7a8b74;font-size:.72rem;font-weight:450}
.photo-picker.has-photo{min-height:69px;padding:13px;background:#fff;border-style:solid;border-color:var(--line)}
.photo-source-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.photo-source-choices .photo-picker{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:17px 8px;min-width:0}
.photo-source-choices .photo-picker b{font-size:.83rem}
.photo-source-choices .photo-picker small{font-size:.7rem;margin-top:4px}
.photo-upload-progress{display:flex;align-items:center;gap:9px;min-height:36px;font-size:.8rem;color:var(--green)}
.photo-upload-progress .icon-spinner{width:23px;height:23px;margin:0;border-width:2px}
@media(hover:hover){.photo-picker:hover{background:#edf6e9;border-color:#8fb082}}
@media(max-width:430px){.product-photo-thumb{width:40px;height:42px}.product-catalog{padding:12px}.product-catalog-row{padding-left:7px;padding-right:7px}.product-catalog-row .product-open{gap:8px}.product-catalog-row .meta{font-size:.72rem}.product-catalog-row>.btn{padding:9px 8px}}
@media(max-width:430px){.product-create-dialog>.between{top:-18px}.between>.btn[data-act="open-new-product"]{font-size:.75rem;min-height:42px}}
@media(prefers-reduced-motion:reduce){.product-catalog-row{transition:none}}

/* Klienci i dostęp do terminów — ten sam rytm co lista produktów. */
.shared-qr-card{display:flex;align-items:center;gap:14px;width:100%;border:1px solid #d5e3ce;border-radius:16px;background:#f4f9ef;padding:17px;text-align:left;color:var(--green);cursor:pointer}
.shared-qr-symbol{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid #d9e6d3;border-radius:12px;background:white}
.shared-qr-symbol .ui-icon{width:29px;height:29px}
.shared-qr-card b{display:block;font-size:.95rem}
.shared-qr-card small{display:block;margin-top:5px;color:var(--muted);font-size:.75rem;font-weight:450;line-height:1.4}
.shared-qr-card>.ui-icon{width:19px;flex:none}
.client-catalog-row{display:flex;align-items:center;gap:12px;padding:16px 10px;border:1px solid var(--line);border-radius:13px;transition:background .25s;min-width:0}
.client-catalog-row+.client-catalog-row{margin-top:6px}
.client-open{display:flex;align-items:center;gap:14px;flex:1;min-width:0;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.client-open>.grow{min-width:0}
.client-open b{display:block;font-size:.95rem;overflow-wrap:anywhere}
.client-open .meta{display:block;font-size:.76rem;margin:4px 0}
.client-address{display:block;font-size:.74rem;color:var(--muted);margin-top:3px;line-height:1.4;overflow-wrap:anywhere}
.client-avatar{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:#edf5e9;border:1px solid #cbdcc4;color:#487552;font-size:.98rem;font-weight:750}
.client-avatar .ui-icon{width:24px;height:24px}
.client-delivery-label{display:flex;align-items:center;gap:4px;color:#5e775c;font-size:.71rem;margin:7px 0;line-height:1.4;overflow-wrap:anywhere}
.client-delivery-label .ui-icon{width:14px;height:14px;flex:none}
.client-catalog-row.is-inactive{background:#f5f6f3;color:#788274}
.client-catalog-row.is-inactive .client-avatar{filter:grayscale(1);opacity:.55}
.client-catalog-row.just-edited{background:#edf6e7;box-shadow:inset 0 0 0 1px #b8d1ae}
.client-dialog h2{font-size:1.15rem;overflow-wrap:anywhere}
.client-dialog .editor-form{margin-top:14px}
.client-dialog>.minihelp{margin:6px 0 16px;line-height:1.5}
.client-editor-actions{display:grid;gap:9px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.client-editor-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem}
.client-active-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fbf6}
.client-active-switch b{display:block;font-size:.85rem}
.client-active-switch small{display:block;font-size:.72rem;color:var(--muted);margin-top:5px;line-height:1.4}
.client-active-switch input{flex:none;accent-color:var(--green);width:23px;height:23px}
.client-delivery-section{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.client-day-choices,.delivery-audience{display:grid;gap:7px;border:0;margin:0;padding:0;min-width:0}
.client-day-choices legend,.delivery-audience legend{padding:0 0 8px}
.client-day-choices label,.delivery-audience label,.delivery-client-choices label{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;min-width:0}
.client-day-choices label:has(input:checked),.delivery-audience label:has(input:checked),.delivery-client-choices label:has(input:checked){background:#f0f7ec;border-color:#a7c89f}
.client-day-choices input,.delivery-audience input,.delivery-client-choices input{accent-color:var(--green);width:19px;height:19px;flex:none;margin:0}
.client-day-choices span,.delivery-audience span,.delivery-client-choices span{min-width:0}
.client-day-choices b,.delivery-audience b,.delivery-client-choices b{display:block;font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.client-day-choices small,.delivery-audience small,.delivery-client-choices small{display:block;font-size:.71rem;font-weight:450;line-height:1.5;color:var(--muted);margin-top:3px}
.client-extra-terms>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:.8rem;cursor:pointer;color:var(--green)}
.client-extra-terms>summary>.ui-icon{width:17px;height:17px}
.delivery-client-choices{display:grid;gap:7px;margin-top:10px}
.delivery-client-choices label[hidden]{display:none}
#delivery-selected-clients[hidden]{display:none}
#delivery-selected-clients .minihelp{margin:10px 0}
.delivery-term-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;min-width:0}
.delivery-term-row:last-child{border-bottom:0;padding-bottom:0}
.delivery-term-row>.grow{min-width:0}
.delivery-term-row b{font-size:.87rem;overflow-wrap:anywhere}
.delivery-term-row .meta{font-size:.75rem;line-height:1.4;margin:4px 0}
.delivery-term-row .minihelp{font-size:.69rem;line-height:1.4;margin:4px 0}
.delivery-term-row .btn{display:flex;align-items:center;gap:5px;flex:none;font-size:.75rem;padding:9px}
.delivery-term-row .btn .ui-icon{width:16px;height:16px}
.delivery-term-row.is-paused{opacity:.6}
.delivery-term-actions{display:grid;justify-items:end;gap:10px;flex:none}
.delivery-term-actions .linkbutton{font-size:.7rem}
.invite-result{display:grid;gap:12px;padding:12px 0}
.invite-result .qrlarge svg{width:210px;height:210px;max-width:100%}
.invite-result .btn{display:flex;align-items:center;justify-content:center;font-size:.76rem;padding:10px 8px;gap:6px;min-height:46px}
.invite-result .btn .ui-icon{width:18px;height:18px}.invite-result .btn span{min-width:0}
.invite-result .field{font-size:.75rem}
.invite-generator{border-top:1px solid var(--line);padding-top:15px;margin-top:12px}
.invite-generator summary{font-size:.82rem;color:var(--green);cursor:pointer}
.invite-generator h3{font-size:.9rem}
@media(max-width:430px){.client-catalog-row{gap:8px;padding:13px 7px}.client-open{gap:9px}.client-avatar{width:41px;height:41px;font-size:.82rem}.client-open b{font-size:.85rem}.client-catalog-row>.btn{font-size:.75rem;padding:9px 7px}.shared-qr-card{padding:13px;gap:10px}.shared-qr-symbol{width:42px;height:42px}.shared-qr-card b{font-size:.86rem}.shared-qr-card small{font-size:.7rem}.between>.btn[data-act="open-new-client"]{font-size:.75rem;min-height:42px}.delivery-term-row{gap:8px}.delivery-term-row .client-avatar{display:none}.delivery-term-row .btn{font-size:.68rem;padding:9px 7px}.client-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){.client-catalog-row{transition:none}}
.client-name{display:block;margin-top:6px;font-size:.82rem;font-weight:620;color:#54644f;line-height:1.4;overflow-wrap:anywhere}
.client-open .client-primary-address{font-size:.98rem;line-height:1.4}
.client-open .client-phone{font-size:.7rem;color:#87917f;margin-top:3px}
/* Dane kontaktowe i termin zajmują wspólne wiersze w zwięzłej karcie. */
.client-address-line{display:flex;align-items:baseline;gap:8px}
.client-address-line>.client-primary-address{flex:1;min-width:0}
.client-edit-mark{display:inline-flex;flex:none;color:#8a9983}
.client-edit-mark .ui-icon{width:14px;height:14px}
.client-open:focus-visible,.client-balance-button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:10px}
.client-contact-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 9px;margin-top:3px;line-height:1.35}
.client-contact-line .client-name{margin:0;font-size:.75rem;line-height:1.35}
.client-open .client-contact-line .client-phone{margin:0;font-size:.69rem;line-height:1.35;white-space:nowrap}
.client-meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;margin-top:5px}
.client-meta-line .client-delivery-label{margin:0;font-size:.67rem;line-height:1.35}
.client-meta-line .product-status{margin:0;padding:3px 6px;font-size:.61rem}
.client-open>.client-avatar{align-self:flex-start;margin-top:3px}
.client-catalog-row.is-inactive .client-name{color:#8b9386}
@media(max-width:430px){.client-open .client-primary-address{font-size:.87rem}.client-name{font-size:.77rem}}
.client-catalog-row{align-items:center;padding:9px 12px}
.client-row-actions{display:grid;justify-items:stretch;gap:3px;flex:none;min-width:102px}
.client-balance-button{display:grid;gap:3px;border:1px solid #d9e4d5;border-radius:10px;background:#f7faf5;color:#46694b;padding:7px 9px;min-height:60px;text-align:right;cursor:pointer}
.client-balance-button small{font-size:.65rem;color:#7d8b76;font-weight:500}
.client-balance-button>b{font-size:.93rem;font-weight:750;white-space:nowrap}
.client-balance-button>span{display:flex;justify-content:flex-end;align-items:center;gap:4px;font-size:.68rem;font-weight:650}
.client-balance-button .ui-icon{width:12px;height:12px}
.client-balance-button.debt{color:#925b42;border-color:#e9d9cf;background:#fffaf6}
.client-balance-button.credit{background:#eff8eb;color:#367244}
.client-city-group+.client-city-group{margin-top:15px}
.client-city-group>h2{display:flex;align-items:center;gap:7px;color:#5e7357;font-size:.85rem;margin:0 0 8px;padding:0 2px}
.client-city-group>h2 .ui-icon{width:16px;height:16px}
.client-city-group>h2 small{margin-left:auto;border-radius:6px;background:#f0f5ed;padding:3px 7px;font-size:.69rem;color:#7b8c72}
.money-back{display:flex;align-items:center;gap:7px;justify-self:start;padding-left:0}
.money-client-address{font-size:1.04rem;font-weight:700;margin:12px 0 6px;line-height:1.5;overflow-wrap:anywhere}
.customer-balance-card{display:grid;justify-items:center;gap:9px;padding:25px 16px;border-radius:18px;border:1px solid #dce7d5;background:#f6faf2;color:#4c7150;text-align:center}
.customer-balance-card>span:first-child{font-size:.78rem;color:#74846b}
.customer-balance-card>strong{font-size:2.3rem;font-weight:750;letter-spacing:-.06em}
.customer-balance-card .money-balance-label{font-size:.8rem;font-weight:650}
.customer-balance-card>p{font-size:.7rem;color:#85927d;margin:7px 0 0;line-height:1.5}
.customer-balance-card.debt{background:#fffaf6;border-color:#ecdfd6;color:#91593d}
.customer-balance-card.credit{color:#347640;background:#f1f9ed}
.money-action-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.money-action-tabs>button{display:flex;align-items:center;justify-content:center;gap:12px;background:white;border:1px solid var(--line);border-radius:13px;padding:13px;min-height:62px;color:#768471}
.money-action-tabs>button>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eff4eb;font-size:1.4rem;font-weight:450}
.money-action-tabs>button>b{font-size:.87rem}
.money-action-tabs>button.on{background:#f0f7ec;border-color:#84b17a;color:var(--green);box-shadow:inset 0 0 0 1px #84b17a}
.money-action-tabs>button[data-id="refund"].on{background:#fff8f3;border-color:#cd9f83;color:#975d40;box-shadow:inset 0 0 0 1px #cd9f83}
.money-action-tabs>button[data-id="refund"]>span{background:#faf0e8}
.money-form-card{padding:18px}
.money-form-card .editor-form{padding:0}
.money-amount-field .field{font-size:1.5rem;font-weight:650;text-align:center;min-height:64px;letter-spacing:-.02em}
.money-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;border:0}
.money-methods legend{padding:0 0 8px}
.money-methods label{cursor:pointer}
.money-methods input{position:absolute;opacity:0;pointer-events:none}
.money-methods span{display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;padding:13px;font-size:.84rem;color:#7b8975;background:#fafcf8}
.money-methods input:checked+span{border-color:#8fb785;color:var(--green);background:#f1f8ec}
.money-methods input:focus-visible+span{outline:3px solid #79b489;outline-offset:2px}
.money-after{padding:12px;background:#f4f8f0;border-radius:10px;color:var(--green);font-size:.8rem;font-weight:650}
.money-after[hidden]{display:none}
.money-refund-submit{background:#9a654b}
.money-history{padding:18px}
.money-history h2{font-size:1rem}
.money-history-row{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding:15px 0;margin-top:8px}
.money-history-row:last-child{padding-bottom:0}
.money-entry-sign{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;flex:none;font-size:1.2rem;color:#3e7746;background:#edf6e7}
.money-entry-sign.out{background:#fbf0e9;color:#975d40}
.money-history-row .grow{min-width:0}
.money-history-row .grow>b{font-size:.83rem}
.money-history-row .meta{font-size:.68rem;line-height:1.5;margin:4px 0}
.money-entry-note{font-size:.74rem;color:#7f8a79;margin:4px 0;line-height:1.4;overflow-wrap:anywhere}
.money-entry-amount{font-size:.86rem;white-space:nowrap;color:#407948;flex:none;margin-top:6px}
.money-entry-amount.out{color:#986044}
@media(max-width:430px){.client-row-actions{min-width:90px;max-width:110px}.client-catalog-row{gap:8px;padding:8px 9px}.client-balance-button{padding:6px 7px}.client-balance-button>b{font-size:.81rem}.client-balance-button>span{font-size:.63rem}.customer-balance-card>strong{font-size:2rem}.money-history{padding:14px}.money-entry-sign{width:25px;height:25px}.money-entry-amount{font-size:.76rem}.money-history-row{gap:7px}}
.money-dialog{max-width:550px}
.money-dialog .customer-money-page{gap:14px}
.money-dialog .money-client-address{margin:0 0 5px;font-size:.98rem}
.money-dialog .customer-balance-card{padding:21px 14px}
.money-dialog .money-form-card{padding:0;border:0;background:transparent}
.money-dialog .money-history{padding:15px}
.money-dialog .money-dialog-header{position:sticky;top:-22px;background:white;z-index:3;margin-bottom:8px}
@media(max-width:430px){.money-dialog .money-dialog-header{top:-18px}.money-dialog .customer-balance-card{padding:18px 10px}}
/* Wspólny nagłówek rozwijanych kart, także poza edytorem produktu. */
details.editor-card>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-width:0;color:#49694f;font-size:.9rem;min-height:38px}
details.editor-card>summary::-webkit-details-marker{display:none}
details.editor-card>summary::marker{content:''}
details.editor-card>summary>b{min-width:0;line-height:1.4}
details.editor-card>summary>.ui-icon{width:20px;height:20px;flex:none}
details.editor-card>summary>.ui-icon:last-child{margin-left:auto;width:17px;height:17px}
details.editor-card[open]>summary>.ui-icon:last-child{transform:rotate(90deg)}
details.editor-card>summary:focus-visible{outline:3px solid #79b489;outline-offset:4px;border-radius:8px}

/* Firmowe ustawienia w górnym menu; terminy dostępne z dolnego paska. */
.account-menu-panel{min-width:230px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;padding:8px}
.account-menu-panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;font-size:.82rem}
.account-menu-panel button>.ui-icon{width:18px;height:18px;flex:none;color:#6f866c}
.account-menu-panel button.on{background:#edf5e7;color:var(--green)}
.account-menu-panel button.on>.ui-icon{color:var(--green)}
.account-menu-section{display:grid;gap:3px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;margin:5px 0}
.account-menu-label{padding:3px 12px 5px;font-size:.66rem;color:#8b9784;font-weight:600}

/* Miejscowość jako opcjonalny skrót do zaznaczenia klientów trasy. */
.delivery-city-picker{border:1px solid var(--line);border-radius:12px;background:#fafcf8;margin:0 0 13px;min-width:0}
.delivery-city-picker>summary{display:flex;align-items:center;gap:9px;padding:12px;list-style:none;cursor:pointer;color:#54734e}
.delivery-city-picker>summary::-webkit-details-marker{display:none}
.delivery-city-picker>summary::marker{content:''}
.delivery-city-picker>summary>.ui-icon{width:18px;height:18px;flex:none}
.delivery-city-picker>summary>.ui-icon:last-child{margin-left:auto;width:15px;height:15px}
.delivery-city-picker[open]>summary>.ui-icon:last-child{transform:rotate(90deg)}
.delivery-city-picker>summary b{display:block;font-size:.81rem;line-height:1.4}
.delivery-city-picker>summary small{display:block;font-size:.67rem;color:#87917f;margin-top:3px}
.delivery-city-picker>summary:focus-visible{outline:3px solid #79b489;outline-offset:2px;border-radius:10px}
.delivery-city-picker-body{padding:0 12px 12px}
#delivery-selected-clients .delivery-city-picker-body .minihelp{font-size:.71rem;line-height:1.5;margin:0 0 10px}
.delivery-city-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.delivery-city-choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 9px;text-align:left;color:#596b51;min-height:61px;min-width:0}
.delivery-city-choice>span:last-child{min-width:0}
.delivery-city-choice b{display:block;font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}
.delivery-city-choice small{display:block;font-size:.65rem;line-height:1.4;color:#86947c;margin-top:4px}
.delivery-city-tick{display:grid;place-items:center;border:1px solid #c4d2bb;border-radius:5px;width:18px;height:18px;flex:none;font-size:.8rem;font-weight:750;color:white}
.delivery-city-choice.on{background:#edf7e8;border-color:#97bd89;color:#397044}
.delivery-city-choice.on .delivery-city-tick{background:var(--green);border-color:var(--green)}
.delivery-city-choice.on .delivery-city-tick:after{content:'✓'}
.delivery-city-choice.partial{background:#f6f9f1;border-color:#bacba9}
.delivery-city-choice.partial .delivery-city-tick{background:#9eb392;border-color:#9eb392}
.delivery-city-choice.partial .delivery-city-tick:after{content:'−'}
.delivery-city-choice:focus-visible{outline:3px solid #79b489;outline-offset:2px}
@media(max-width:360px){.delivery-city-choices{grid-template-columns:1fr}}

/* Operacyjna karta zamówienia i lista objazdu. */
.dispatch-strips{display:grid;gap:10px}.dispatch-strip{--stage:#bb8937;width:100%;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-left:4px solid var(--stage);border-radius:15px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.dispatch-strip:focus-visible{outline:3px solid #88b590;outline-offset:2px}.strip-main{display:grid;gap:7px;flex:1;min-width:0}.strip-top,.strip-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.strip-top>small{color:var(--muted);font-size:.68rem;letter-spacing:.04em}.strip-address{font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}.strip-items{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:.8rem;line-height:1.5;color:#5d6c5e}.strip-items strong{color:var(--ink)}.strip-foot{border-top:1px solid #eff1ec;padding-top:8px;margin-top:2px;font-size:.75rem;color:var(--muted)}.strip-foot b{font-size:.95rem;color:var(--ink);white-space:nowrap}.strip-note{display:flex;align-items:flex-start;gap:6px;background:#fff6df;border-radius:7px;padding:7px;font-size:.79rem;color:#79591f;line-height:1.4}.strip-note .ui-icon{width:16px;height:16px;flex:none}.strip-arrow{align-self:center;color:#849481}.strip-arrow .ui-icon{width:17px}.stop-number{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:9px;background:#eff4ed;color:var(--green);font-size:.88rem;font-weight:800;font-variant-numeric:tabular-nums}.strip-packing{--stage:#d48d2e}.strip-packed{--stage:#428257}.strip-en_route{--stage:#407f9c}.strip-delivered{--stage:#9aaf95;background:#f6f9f3}.strip-cancelled{--stage:#b2b5ae;background:#f6f6f4}.strip-cancelled .strip-address{text-decoration:line-through;color:var(--muted)}
.order-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;color:#986b21;background:#fff3db;font-size:.72rem;font-weight:780;white-space:nowrap}.order-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-packing{color:#9d601d;background:#fff0d7}.status-packed{color:#2f7147;background:#eaf5e9}.status-en_route{color:#326d87;background:#e9f3f7}.status-delivered{color:#557647;background:#edf3e8}.status-cancelled{color:#777e73;background:#ecefe9}.order-day-group{display:grid;gap:12px}.order-day-group>h2{display:flex;align-items:center;gap:9px;font-size:1.06rem}.order-day-group>h2 small{font-size:.74rem;font-weight:500;color:var(--muted)}
.order-ticket{gap:17px}.ticket-code{font-size:.82rem;font-weight:750;letter-spacing:.07em;color:var(--muted)}.ticket-heading{display:grid;gap:9px}.ticket-heading h1{font-size:1.55rem;line-height:1.22;letter-spacing:-.025em;overflow-wrap:anywhere}.ticket-contact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.9rem}.ticket-contact a{display:inline-flex;gap:5px;align-items:center;color:var(--green);font-size:.8rem;text-decoration:none}.ticket-contact .ui-icon{height:16px;width:16px}.order-track{display:flex;list-style:none;padding:0;margin:0;gap:4px}.order-track li{flex:1;display:grid;justify-items:center;gap:6px;position:relative;color:#84907e;min-width:0}.order-track li:before{content:'';position:absolute;top:14px;left:-50%;width:100%;height:2px;background:#e9ede6}.order-track li:first-child:before{display:none}.order-track li>span{z-index:1;display:grid;place-items:center;width:29px;height:29px;border:1px solid #e0e6db;background:#f5f7f1;border-radius:50%;font-size:.73rem;font-weight:750}.order-track small{font-size:.66rem;text-align:center;line-height:1.2}.order-track .current{color:var(--green);font-weight:750}.order-track .current>span{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 0 4px #eaf2e5}.order-track .done>span{background:#e8f1e2;border-color:#cfdfc8;color:var(--green)}.order-track .done:before,.order-track .current:before{background:#c2d8b9}.ticket-notes{display:flex;align-items:flex-start;gap:10px;background:#fff7e3;border:1px solid #efddb0;border-radius:13px;padding:12px;color:#775d29;font-size:.87rem;line-height:1.5}.ticket-notes .ui-icon{height:20px;width:20px;flex:none}.ticket-notes p{margin:5px 0 0}.ticket-products{border:1px solid var(--line);border-radius:16px;padding:16px}.ticket-products h2{font-size:1.07rem}.ticket-item{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.ticket-item:last-child{border:0;padding-bottom:0}.ticket-item .grow{min-width:0;line-height:1.4}.ticket-item .grow>b{font-size:.94rem;overflow-wrap:anywhere}.ticket-quantity{display:grid;justify-items:center;align-content:center;width:67px;min-height:61px;flex:none;border-radius:10px;background:#f1f5ed;color:var(--ink);font-size:1.5rem;font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.ticket-quantity small{font-size:.67rem;font-weight:650;color:#6a7b64;letter-spacing:0;line-height:1.4}.ticket-item-sum{display:grid;gap:6px;text-align:right;flex:none;font-size:.87rem;font-weight:750}.ticket-item-sum small{font-weight:550;color:var(--muted);font-size:.66rem}.item-checked .ticket-item-sum small{color:var(--green)}.item-change{display:block;font-size:.74rem;color:#a0682c}.ticket-settlement{display:grid;gap:12px;padding:16px;border:1px solid #dce7d7;border-radius:16px;background:#f4f8f0}.ticket-settlement>.between>span{font-size:.88rem}.ticket-settlement small{display:block;font-size:.7rem;color:var(--muted);font-weight:500;letter-spacing:0}.ticket-settlement .bigsum{font-size:1.6rem;white-space:nowrap;text-align:right}.ticket-balance{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dfe8d9;padding-top:10px;font-size:.74rem;color:var(--muted)}.order-primary{display:flex;gap:10px;align-items:center;justify-content:center;min-height:50px}.order-primary .ui-icon{width:20px;height:20px;flex:none}.order-primary>span{font-size:.76rem;margin-left:auto;background:#ffffff1c;border-radius:6px;padding:4px 7px}.ticket-tools{display:flex;gap:8px;flex-wrap:wrap}.ticket-tools .btn{display:flex;align-items:center;gap:6px;font-weight:650;min-height:39px;padding:8px 11px}.ticket-tools .ui-icon{height:17px;width:17px}.ticket-extra{font-size:.77rem;color:var(--muted);padding:5px 3px}.ticket-extra summary{cursor:pointer;width:max-content}.danger-text{color:#a26052}.ticket-complete{color:var(--green);text-align:center;font-weight:700;margin:0;font-size:.85rem}
.dispatch-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;background:#f7faf4;padding:13px 0}.dispatch-stats>div{display:grid;gap:5px;text-align:center;padding:0 8px;border-left:1px solid #e2e9db}.dispatch-stats>div:first-child{border:0}.dispatch-stats b{font-size:1.7rem;line-height:1;letter-spacing:-.04em}.dispatch-stats span{font-size:.7rem;color:var(--muted);line-height:1.3}.dispatch-stats .needs-attention b{color:#ac722a}.dispatch-today .switch button{display:flex;align-items:center;justify-content:center;gap:7px}.dispatch-today .switch .ui-icon{height:18px;width:18px}.dispatch-warning{display:grid;gap:7px;border:1px solid #efdab0;border-radius:13px;background:#fff8e9;padding:12px;color:#886627;font-size:.83rem}.dispatch-warning>span{font-size:.73rem;line-height:1.5}.dispatch-warning .linkbutton{text-align:left;width:max-content;font-size:.76rem}.dispatch-route{display:grid;gap:12px}.route-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.route-heading h2{font-size:1.05rem}.route-heading .btn{display:flex;align-items:center;gap:5px;font-size:.72rem;white-space:nowrap}.route-heading .ui-icon{width:15px;height:15px}.route-heading p{margin-top:5px}.dispatch-finished{border:1px solid var(--line);border-radius:12px;padding:11px;color:var(--muted);font-size:.77rem}.dispatch-finished>summary{cursor:pointer}.dispatch-finished[open]>summary{margin-bottom:11px}.route-empty{padding:8px 0}.dispatch-learning-toggle{display:flex;gap:12px;align-items:flex-start;padding:14px;background:#f4f8ef;border-radius:13px}.dispatch-learning-toggle input{accent-color:var(--green);width:22px;height:22px;flex:none;margin:0}.dispatch-learning-toggle span{display:grid;gap:6px;font-size:.9rem}.dispatch-learning-toggle small{font-size:.76rem;color:var(--muted);line-height:1.4}.dispatch-sort-list{display:grid;gap:8px;margin:14px 0}.dispatch-sort-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px}.dispatch-sort-row .grow{min-width:0}.dispatch-sort-row b{display:block;font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.dispatch-sort-row small{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}.dispatch-arrows{display:flex;gap:4px;flex:none}.dispatch-arrows .btn{min-width:34px;min-height:37px;padding:6px;font-size:1.1rem}.dispatch-today>.between>.actions .btn{padding:9px;min-height:39px;display:grid;place-items:center}.dispatch-today>.between>.actions .ui-icon{height:19px;width:19px}
@media(max-width:400px){.dispatch-strip{padding:12px 10px;gap:8px}.strip-address{font-size:.95rem}.stop-number{width:25px;height:28px;font-size:.76rem}.strip-top{gap:5px}.strip-foot{font-size:.66rem}.strip-foot b{font-size:.82rem}.strip-items{font-size:.75rem}.strip-arrow{display:none}.ticket-products{padding:12px}.ticket-item{gap:9px}.ticket-quantity{width:51px;font-size:1.25rem;min-height:55px}.ticket-item .grow>b{font-size:.82rem}.ticket-item-sum{font-size:.78rem}.ticket-item-sum small{max-width:65px}.ticket-heading h1{font-size:1.35rem}.ticket-settlement{padding:12px}.ticket-settlement .bigsum{font-size:1.4rem}.dispatch-sort-row{padding:9px;gap:7px}.dispatch-arrows{flex-direction:column}.route-heading .btn{padding:7px}.route-heading .ui-icon{display:none}.order-track small{font-size:.61rem}.dispatch-stats b{font-size:1.5rem}}

/* Zakupy klienta — produkty, własny koszyk i spokojny motyw dostawy. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.client-shell .main{background:#fbfcf9}.client-shell.has-cart-summary .main{padding-bottom:118px}
.shop-page{display:grid;gap:17px;min-width:0}.shop-page>*{min-width:0}.shop-kicker{display:block;font-size:.7rem;color:#76826d;font-weight:550;line-height:1.5}
.shop-delivery{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 14px;overflow:hidden;padding:18px;border:1px solid #dce8d4;background:#f0f6e9;border-radius:19px}
.shop-calendar{width:56px;display:grid;justify-items:center;align-content:center;gap:1px;align-self:start;background:#fff;border:1px solid #d5e2cc;border-radius:12px;box-shadow:0 3px 8px #43633708;padding:7px 5px;color:#426345;line-height:1.1}
.shop-calendar small{color:#688361;font-size:.61rem;text-transform:uppercase;font-weight:750;letter-spacing:.03em}.shop-calendar>b{font-size:1.75rem;font-weight:780;letter-spacing:-.06em}.shop-calendar>span{font-size:.63rem;color:#7c8e71;text-transform:uppercase}.shop-calendar.no-date{height:69px}
.shop-delivery-copy{position:relative;z-index:1;padding-right:85px;min-height:72px}.shop-delivery-date{font-size:1.2rem;letter-spacing:-.035em;margin:2px 0 3px;text-transform:capitalize;overflow-wrap:anywhere}.shop-delivery-month{display:block;color:#5a7051;font-size:.79rem;line-height:1.4}
.shop-delivery-cutoff{position:relative;z-index:1;grid-column:1/-1;font-size:.75rem;color:#5d7355;border-top:1px solid #dce7d3;padding-top:11px;margin-top:12px;line-height:1.5}.shop-delivery.is-closed{background:#f4f6f0}.shop-delivery.is-closed .shop-delivery-copy{padding-right:0}.shop-delivery.is-closed .shop-delivery-art{display:none}
.shop-delivery-art{position:absolute;top:17px;right:12px;width:91px;height:79px;pointer-events:none}.shop-delivery-art img{position:absolute;right:0;width:79px;height:79px;object-fit:contain;animation:shop-drive 2.8s ease-in-out infinite;filter:drop-shadow(0 3px 2px #52614610)}
.shop-delivery-art i{position:absolute;left:-10px;width:19px;height:2px;border-radius:3px;background:#b0c69d;animation:shop-road 1.1s linear infinite}.shop-delivery-art i:nth-child(1){top:43px}.shop-delivery-art i:nth-child(2){top:54px;left:-17px;width:24px;animation-delay:.3s}.shop-delivery-art i:nth-child(3){top:65px;left:-6px;width:15px;animation-delay:.6s}
@keyframes shop-drive{0%,100%{transform:translate(0,0) rotate(0)}45%{transform:translate(3px,-2px) rotate(-1deg)}75%{transform:translate(1px,0) rotate(.5deg)}}
@keyframes shop-road{0%{transform:translateX(5px);opacity:0}35%{opacity:.8}100%{transform:translateX(-10px);opacity:0}}
.shop-repeat-last{display:flex;align-items:center;gap:11px;width:100%;padding:13px 15px;border:1px solid #e0e8db;border-radius:14px;background:white;color:var(--green);text-align:left}.shop-repeat-last>span{flex:1;min-width:0}.shop-repeat-last b{font-size:.82rem}.shop-repeat-last small{display:block;font-size:.7rem;color:#88917f;margin-top:3px}.shop-repeat-last>.ui-icon{width:19px;height:19px}.shop-repeat-last>.ui-icon:last-child{width:15px;height:15px}
.shop-browse{display:grid;gap:11px;min-width:0}.shop-search{position:relative;display:block}.shop-search>.ui-icon{position:absolute;top:14px;left:13px;width:18px;height:18px;color:#85917c}.shop-search .field{padding-left:40px;font-size:.86rem;background:#fff}
.shop-categories{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;min-width:0;scrollbar-width:none}.shop-categories::-webkit-scrollbar{display:none}.shop-categories .chip{padding:9px 13px;min-height:39px;border-radius:11px;font-size:.74rem;flex:none}.shop-sort{display:flex;justify-content:flex-end;gap:4px}.shop-sort button{border:0;background:none;color:#8c9685;font-size:.69rem;padding:7px 9px;min-height:32px;border-radius:8px}.shop-sort button.on{background:#edf3e7;color:#56704d;font-weight:650}
.shop-product-grid{display:grid;gap:13px;min-width:0}.shop-product-card{border:1px solid #e0e8db;background:#fff;border-radius:18px;min-width:0;overflow:hidden;padding:16px}
.shop-product-open{display:flex;align-items:center;gap:14px;border:0;background:transparent;padding:0;text-align:left;width:100%;color:inherit;min-width:0}.shop-product-copy{flex:1;min-width:0}.shop-product-copy h2{font-size:1.11rem;font-weight:750;letter-spacing:-.025em;line-height:1.3;overflow-wrap:anywhere;margin:3px 0}.shop-product-open>.ui-icon{width:15px;height:15px;color:#b0bca6}
.shop-product-visual{display:grid;place-items:center;flex:none;width:72px;height:72px}.shop-product-visual .emoji{width:72px;height:72px;font-size:37px}.shop-product-photo{width:72px;height:72px;object-fit:cover;border-radius:15px}.shop-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.75rem;color:#7b8872;line-height:1.45;margin-top:5px}
.shop-variants{margin-top:13px}.shop-variant{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;min-width:0;border-top:1px solid #edf0e9}.shop-variant:last-child{padding-bottom:0}.shop-variant-info{display:grid;gap:3px;min-width:0}.shop-variant-info>b{font-size:.74rem;font-weight:500;color:#7f8b74;overflow-wrap:anywhere}.shop-price{display:block;font-size:1.06rem;font-weight:750;letter-spacing:-.03em;line-height:1.4}.shop-price small{font-size:.72rem;color:#87927d;font-weight:450;letter-spacing:0}.shop-price-note{font-size:.68rem;color:#8b977f;line-height:1.4}
.shop-add{flex:none;min-height:43px;padding:10px 13px;font-size:.77rem;border:1px solid #dce8d2;background:#eef5e8;border-radius:11px}.shop-add .ui-icon{width:16px;height:16px}.shop-quantity{flex:none;background:#f4f8ef;border-color:#dde8d4;padding:3px;gap:1px;border-radius:11px}.shop-quantity button{width:34px;height:35px;font-size:20px}.shop-quantity>span{min-width:33px;font-size:.76rem;padding:0 4px}
.shop-cart-bar{position:fixed;bottom:calc(86px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(696px,calc(100% - 30px));z-index:25}.shop-cart-bar>button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:14px 17px;background:#416d49;color:white;border:0;border-radius:16px;box-shadow:0 8px 25px #315d3533}.shop-cart-bar b{font-size:.87rem}.shop-cart-bar small{display:block;margin-top:3px;color:#dce9d6;font-size:.66rem;line-height:1.4}.shop-cart-total{font-weight:750;font-size:1rem;white-space:nowrap;text-align:right}.shop-cart-bar>button>.ui-icon{width:16px;height:16px}.shop-cart-icon{position:relative;margin-right:2px}.shop-cart-icon i{position:absolute;top:-7px;right:-7px;min-width:15px;height:15px;padding:0 3px;border-radius:6px;background:#e2f0d6;color:#386044;display:grid;place-items:center;font-size:.6rem;font-style:normal;font-weight:750}.shop-nav-count{display:inline-grid;place-items:center;min-width:16px;height:16px;background:#e9f2e2;color:#3d6b47;border-radius:6px;font-size:.6rem;font-style:normal;margin-left:4px;padding:0 3px}
.shop-detail-visual{height:210px;display:grid;place-items:center;background:#f2f7ec;border-radius:21px;border:1px solid #e1ebd9;overflow:hidden}.shop-detail-visual .emoji{width:135px;height:135px;font-size:75px}.shop-detail-visual .shop-product-photo{width:100%;height:100%;object-fit:cover;border-radius:0}.shop-detail-heading{display:grid;gap:5px}.shop-detail-heading h1{font-size:1.8rem}
.shop-cart-hero{display:flex;justify-content:center;align-items:center;gap:16px;padding:4px 0 9px;min-width:0}.shop-cart-hero>div{min-width:0}.shop-cart-hero h1{font-size:1.48rem;letter-spacing:-.055em}.shop-cart-hero p{font-size:.75rem;color:#85927b;margin-top:5px;line-height:1.4}
.shop-basket{position:relative;display:block;width:105px;height:81px;flex:none}.shop-basket>svg{position:absolute;left:0;bottom:0;width:100%;height:66px}.shop-basket-items{position:absolute;left:3px;right:3px;top:0;display:flex;justify-content:center;align-items:flex-end;height:43px;gap:0}.shop-basket-items>span{margin:0 -3px;transform:rotate(-10deg)}.shop-basket-items>span:nth-child(2n){transform:rotate(10deg) translateY(-5px)}.shop-basket .emoji,.shop-basket .shop-product-photo{width:30px;height:30px;font-size:23px;border-radius:50%;box-shadow:none;border:0}.shop-basket .shop-basket-missing{font-size:24px}.shop-basket-more{font-size:.58rem;background:#e2edd9;color:#4a6b3d;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-weight:700}.shop-basket-large{width:160px;height:115px}.shop-basket-large>svg{height:98px}.shop-basket-large .shop-basket-items{top:2px;height:58px}.shop-basket-large .emoji,.shop-basket-large .shop-product-photo{width:45px;height:45px;font-size:33px}.shop-basket-large .shop-basket-more{width:29px;height:29px;font-size:.7rem}
.shop-cart-list{padding-top:3px;padding-bottom:3px}.shop-cart-row{display:flex;gap:11px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.shop-cart-row:last-child{border-bottom:0}.shop-cart-row .grow>b{display:block;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.shop-cart-row .meta{display:block;font-size:.72rem;overflow-wrap:anywhere}.shop-cart-product-image .emoji{width:40px;height:40px;font-size:23px}.shop-cart-line-price{display:block;font-size:.81rem;font-weight:680;margin-top:7px}.shop-cart-line-price small{display:block;font-size:.66rem;font-weight:450;margin-top:2px}
.shop-summary{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:17px 18px;background:#eef5e7;border-radius:15px;border:1px solid #dde8d3}.shop-summary b{font-size:.91rem}.shop-summary small{display:block;font-size:.7rem;color:#7f8f72;margin-top:5px;line-height:1.4}.shop-summary>strong{font-size:1.45rem;font-weight:760;letter-spacing:-.05em;white-space:nowrap}.shop-checkout{display:grid;gap:14px}.shop-checkout h2{margin-bottom:1px}
.shop-history-card{border:1px solid #e0e8db;border-radius:18px;background:#fff;padding:16px;min-width:0}.shop-history-open{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:0;text-align:left;background:transparent;color:inherit}.shop-history-copy{flex:1;min-width:0}.shop-history-copy>b{display:block;font-size:.95rem;line-height:1.4;margin:7px 0 4px}.shop-history-copy>small{font-size:.68rem;display:block}.shop-history-open>.ui-icon{width:15px;height:15px;color:#a1b196}.shop-history-items{font-size:.74rem;line-height:1.55;color:#7e8b73;margin:12px 0;overflow-wrap:anywhere}.shop-history-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid #ecf0e7}.shop-history-bottom>span{font-size:1.08rem;font-weight:740;white-space:nowrap}.shop-history-bottom>span small{display:block;font-size:.65rem;font-weight:450;margin-top:2px}.shop-history-bottom .btn{min-height:41px;font-size:.75rem}
.shop-repeat-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #dfe7d8;border-radius:21px;padding:21px;color:var(--ink);box-shadow:0 22px 70px #203c292c}.shop-repeat-dialog::backdrop{background:#1c352c4d;backdrop-filter:blur(3px)}.shop-repeat-dialog .stack{gap:13px}.shop-repeat-dialog h2{font-size:1.16rem}.shop-repeat-list{display:grid;gap:9px}.shop-repeat-row{display:flex;gap:10px;align-items:center;border:1px solid #e5ebde;border-radius:12px;padding:11px}.shop-repeat-row .emoji{width:35px;height:35px;font-size:22px}.shop-repeat-row b{display:block;font-size:.79rem;overflow-wrap:anywhere}.shop-repeat-row small{display:block;font-size:.69rem;line-height:1.5;margin-top:3px}.shop-repeat-row.unavailable{background:#fff9f1;border-color:#eddfcb}.shop-repeat-row.unavailable b{color:#866c4b}.shop-repeat-note{font-size:.73rem;line-height:1.5;color:#7c886f}.shop-repeat-section-title{font-size:.8rem;font-weight:700;margin:5px 0}
@media(min-width:680px){.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.shop-product-grid>.empty{grid-column:1/-1}.shop-delivery{padding:20px 22px}.shop-delivery-copy{padding-right:130px}.shop-delivery-art{width:120px;height:88px;top:14px;right:24px}.shop-delivery-art img{width:90px;height:90px}.shop-delivery-art i{left:0}.shop-delivery-art i:nth-child(2){left:-10px}.shop-repeat-last{padding:14px 19px}}
@media(max-width:360px){.shop-delivery{padding:15px;gap:0 10px;grid-template-columns:49px minmax(0,1fr)}.shop-calendar{width:49px}.shop-delivery-copy{padding-right:67px}.shop-delivery-date{font-size:1.05rem}.shop-delivery-month{font-size:.72rem}.shop-delivery-art{width:70px;height:70px;right:9px;top:22px}.shop-delivery-art img{width:66px;height:66px}.shop-delivery-art i{width:11px;left:-4px}.shop-delivery-art i:nth-child(2){width:15px;left:-9px}.shop-delivery-art i:nth-child(3){width:8px;left:0}.shop-product-card{padding:14px}.shop-product-visual,.shop-product-visual .emoji,.shop-product-photo{width:60px;height:60px;font-size:32px}.shop-product-open{gap:11px}.shop-product-copy h2{font-size:1rem}.shop-quantity button{width:31px;height:35px}.shop-quantity>span{min-width:25px;padding:0 2px}.shop-cart-bar>button{padding:12px;gap:8px}.shop-cart-bar small{font-size:.62rem}.shop-cart-total{font-size:.91rem}.shop-cart-row{gap:9px;flex-wrap:wrap}.shop-cart-row .grow{flex-basis:calc(100% - 54px)}.shop-cart-row .shop-quantity{margin-left:49px}.shop-cart-hero{gap:10px}.shop-cart-hero h1{font-size:1.25rem}.shop-basket-large{width:135px}.shop-history-open{gap:9px}.shop-history-open .shop-basket{width:88px}.shop-history-bottom .btn{font-size:.7rem;padding:9px 10px}.shop-repeat-dialog{padding:17px}.shop-summary>strong{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.shop-delivery-art img,.shop-delivery-art i{animation:none}.shop-delivery-art i{opacity:.55}}

.shop-basket .emoji{min-width:0;min-height:0;background:transparent}.shop-cart-product-image .emoji{min-width:40px;min-height:40px}.shop-repeat-row .emoji{min-width:35px;min-height:35px}
.shop-order-page .shop-cart-hero h1{font-size:1.35rem;line-height:1.2}.shop-order-address h2{display:flex;align-items:center;gap:8px;margin-bottom:12px}.shop-order-address h2 .ui-icon{width:18px;height:18px;color:#7a9270}.shop-order-address>b{display:block;font-size:.84rem;margin-bottom:4px}.shop-order-address>p{font-size:.8rem;line-height:1.5;color:#7d8b74;overflow-wrap:anywhere}.shop-order-address .shop-order-note{border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.shop-receipt-price{font-size:.8rem;flex:none;text-align:right;max-width:86px;line-height:1.5}.shop-receipt-row .grow{flex-basis:0}.shop-receipt-row small{display:block;font-size:.67rem;line-height:1.5;margin-top:4px}
.shop-delivery.is-closed .shop-delivery-date{text-transform:none}

/* Etykieta i QR pomagają, ale nie są etapem obowiązkowym dostawy. */
.packing-label-choice{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf5;cursor:pointer}.packing-label-choice input{width:22px;height:22px;accent-color:var(--green);flex:none}.packing-label-choice span{display:grid;gap:4px}.packing-label-choice b{font-size:.86rem}.packing-label-choice small{font-size:.73rem;color:var(--muted)}.pack-identity{display:grid;gap:6px}.pack-identity>b{font-size:1.13rem;line-height:1.4;overflow-wrap:anywhere}
.order-identification{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.order-identification>summary{display:flex;align-items:center;gap:8px;font-size:.83rem;font-weight:650;cursor:pointer;list-style:none}.order-identification>summary::-webkit-details-marker{display:none}.order-identification>summary>.ui-icon{width:18px;height:18px;flex:none}.order-identification>summary>.ui-icon:last-child{margin-left:auto;width:14px}.order-identification>summary small{font-weight:450;color:var(--muted);margin-left:5px;font-size:.73rem}.order-identification[open]>summary>.ui-icon:last-child{transform:rotate(90deg)}.order-identification-body{display:grid;gap:12px;margin-top:14px}.order-qr-content{display:grid;gap:14px;margin-top:18px}.order-qr-content>b{font-size:1.05rem;overflow-wrap:anywhere}.order-qr-content .qrlarge{padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}.order-qr-content .qrlarge svg{width:200px;height:200px;max-width:100%}.order-qr-content .field{font-size:.72rem}.today-order-search{margin:0}.today-search-clear{justify-self:start;font-size:.75rem}.labelpreview .label-address{font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.label-tools{display:grid;gap:10px}.label-tools .split .btn{font-size:.78rem}

/* Właściciele i personel: nazwa osoby, osobny telefon, czytelny status. */
.firm-owner-fields{display:grid;gap:16px;border-top:1px solid var(--line);padding-top:17px;min-width:0}.firm-owner-field{display:grid;gap:6px;min-width:0}.firm-owner-field .field-label{margin:0}.firm-owner-field small{font-size:.76rem;overflow-wrap:anywhere}.staff-identity{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.staff-identity b{font-size:.9rem;font-weight:680}.staff-identity small{font-size:.76rem}.firm-staff-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;min-width:0}.firm-staff-row .staff-identity{flex:1;min-width:120px}.firm-staff-row .pill{flex:none;max-width:100%;white-space:normal}

/* Zainstalowana PWA: przewijanie bez powiększania gestem. */
html.pwa-touch-locked,.pwa-touch-locked body,.pwa-touch-locked .shell,.pwa-touch-locked dialog{touch-action:pan-x pan-y}
html.pwa-touch-locked .editor-field:not(.money-amount-field) .field,html.pwa-touch-locked .shop-search .field,html.pwa-touch-locked .invite-result .field,html.pwa-touch-locked .order-qr-content .field{font-size:max(16px,1rem)}
html.pwa-touch-locked .delivery-cutoff-fields select.field{padding-left:8px;padding-right:8px}

/* Nowy produkt: stały nagłówek i zapis, przewijanie wyłącznie treści. */
#new-product-dialog{--new-product-top-gap:max(12px,env(safe-area-inset-top));--new-product-bottom-gap:max(12px,env(safe-area-inset-bottom));position:fixed;inset:auto;left:50%;transform:translateX(-50%);margin:0;padding:0;width:calc(100% - 24px);max-width:590px;height:min(780px,calc(var(--new-product-viewport-height,100dvh) - var(--new-product-top-gap) - var(--new-product-bottom-gap)));max-height:calc(var(--new-product-viewport-height,100dvh) - var(--new-product-top-gap) - var(--new-product-bottom-gap));top:calc(var(--new-product-viewport-top,0px) + var(--new-product-top-gap) + max(0px,(var(--new-product-viewport-height,100dvh) - var(--new-product-top-gap) - var(--new-product-bottom-gap) - 780px)/2));overflow:hidden}
#new-product-dialog[open]{display:flex;flex-direction:column}
.new-product-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line)}
.new-product-dialog-header h2:focus{outline:none}.new-product-dialog-header .icon-dialog-close{flex:none}
.new-product-dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px;scroll-padding:16px}
#new-product-dialog #create-product{margin:0}.new-product-data{display:grid;gap:14px;border:0;padding:0;margin:0;min-width:0}
.new-product-dialog-footer{flex:none;padding:12px 18px 16px;background:#fff;border-top:1px solid var(--line)}
.new-product-photo-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line);min-width:0}
.new-product-photo-section h3 small{font-weight:450;margin-left:5px}.new-product-photo-section .hint .linkbutton{display:block;margin-top:10px}
.new-product-photo-preview{display:flex;align-items:center;gap:12px;min-width:0}.new-product-photo-preview img{width:85px;height:85px;object-fit:cover;border-radius:12px;flex:none}.new-product-photo-preview>div{min-width:0}.new-product-photo-preview b{display:block;font-size:.8rem;overflow-wrap:anywhere}.new-product-photo-preview small{display:block;margin:5px 0 8px;font-size:.72rem;line-height:1.4}.new-product-photo-preview .linkbutton{font-size:.76rem}
@media(max-width:360px){.new-product-dialog-header{padding:12px 14px}.new-product-dialog-body{padding:14px}.new-product-dialog-footer{padding:10px 14px 12px}.new-product-photo-preview img{width:70px;height:70px}}
#new-product-dialog .field{font-size:max(16px,1rem)}

/* Pole nadawcy odpowiada wybranemu operatorowi, bez przebudowy formularza. */
.sms-sender-fields{display:grid;gap:9px;min-width:0}.sms-sender-fields .field-label{margin:0}.sms-sender-fields .minihelp{overflow-wrap:anywhere}[data-sms-provider][hidden]{display:none!important}

/* Master Admin — lista firm i zwarte sekcje zamiast jednego długiego formularza. */
.admin-shell{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.admin-shell .main{max-width:930px}.admin-page{min-width:0;gap:20px}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-page-header>div{min-width:0}.admin-page-header h1{font-size:1.65rem;margin:5px 0 4px;letter-spacing:-.045em}.admin-page-header .subline{font-size:.8rem}.admin-page-header>.btn{flex:none}
.admin-navigation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.admin-navigation button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:72px;padding:11px 4px;border:1px solid var(--line);background:#fafcf8;border-radius:14px;color:#67766a;font-size:.74rem;font-weight:670}.admin-navigation button.on{color:var(--green);background:#eaf3e7;border-color:#d5e6cf}.admin-navigation .ui-icon{width:22px;height:22px}.admin-navigation button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-stats>div{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f5f8f2;border:1px solid var(--line);border-radius:14px;padding:15px 17px}.admin-stats span{color:#6b7968;font-size:.79rem;font-weight:620}.admin-stats strong{font-size:1.7rem;line-height:1.1;letter-spacing:-.06em}.admin-stats .has-applications{background:#fff7e9;border-color:#f0e5cd}
.admin-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-search{display:flex;align-items:center;gap:9px;max-width:360px;flex:1;min-width:0;background:#fafcf8;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:#81927b}.admin-search .field{border:0;background:transparent;padding:11px 0;min-height:43px;font-size:.81rem}.admin-search .field:focus{outline:0}.admin-search:focus-within{outline:2px solid #79b489;outline-offset:1px}.admin-search .ui-icon{width:18px;height:18px}
.admin-filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.admin-filter-chips .chip{border-radius:10px;min-height:38px;font-size:.74rem;padding:8px 12px}.admin-firm-list{display:grid;gap:8px}.admin-firm-row{display:flex;align-items:center;gap:14px;width:100%;padding:15px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left;color:var(--ink)}.admin-firm-row:hover{border-color:#bad1b6;background:#fcfdfb}.admin-firm-symbol{display:grid;place-items:center;flex:none;width:49px;height:49px;background:#edf5e8;border:1px solid #dbe8d3;border-radius:14px;color:var(--green)}.admin-firm-symbol .ui-icon{width:24px;height:24px}.admin-firm-copy{flex:1;min-width:0;display:grid;gap:4px}.admin-firm-name{font-size:.98rem;font-weight:750;overflow-wrap:anywhere}.admin-firm-location{font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}.admin-firm-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;margin-top:3px;font-size:.71rem;color:var(--muted)}.admin-firm-payment{display:grid;gap:3px;text-align:right;flex:none}.admin-firm-payment b{font-size:.88rem;font-variant-numeric:tabular-nums}.admin-firm-payment small{font-size:.68rem}.admin-firm-row>.ui-icon{width:16px;height:16px;color:#7b9278}.admin-firm-row.is-archived{background:#f8f9f7}.admin-firm-row.is-archived .admin-firm-symbol{background:#f0f2ee;border-color:#e2e6de;color:#7c8877}.admin-status{display:inline-flex;align-items:center;gap:5px;max-width:max-content;padding:4px 7px;border-radius:7px;font-size:.67rem;font-weight:730;line-height:1.3;white-space:nowrap}.admin-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.admin-status.active{color:#386e4c;background:#edf6ec}.admin-status.paused{color:#a06b28;background:#fff3df}.admin-status.archived{color:#788172;background:#ecefe8}.admin-page .debt{color:#ab5146}.admin-empty{padding:24px 10px;text-align:center;color:var(--muted);font-size:.83rem;line-height:1.5}.admin-list-count{padding:4px 2px}.admin-add-tile{min-height:59px}
.admin-applications{display:grid;gap:12px}.admin-application-row{display:flex;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.admin-application-row .meta{line-height:1.5}.admin-application-row .minihelp{margin-top:5px}
.admin-create-panel{scroll-margin-top:100px}.admin-create-panel:not([open]){display:none}.admin-create-panel>summary,.admin-adjustments>summary{display:flex;align-items:center;gap:9px;font-weight:720;list-style:none;cursor:pointer;color:var(--green)}.admin-create-panel>summary::-webkit-details-marker,.admin-adjustments>summary::-webkit-details-marker{display:none}.admin-create-panel>summary>span,.admin-adjustments>summary>span{flex:1}.admin-create-panel>summary>.ui-icon:last-child,.admin-adjustments>summary>.ui-icon:last-child{width:17px;height:17px;transform:rotate(90deg)}.admin-create-panel[open]>summary>.ui-icon:last-child,.admin-adjustments[open]>summary>.ui-icon:last-child{transform:rotate(-90deg)}.admin-create-panel .admin-form{margin-top:17px}
.admin-form{display:grid;gap:15px;min-width:0}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.admin-field{display:grid;gap:5px;min-width:0}.admin-field-wide{grid-column:1/-1}.admin-field .field-label{margin:0;font-size:.75rem}.admin-form .field{min-height:44px;font-size:.91rem;padding:10px 12px;border-radius:11px}.admin-form-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}.admin-form-footer .btn{min-width:180px}.admin-page .firm-owner-fields{gap:12px;padding-top:15px}.admin-page .firm-owner-fields h3{font-size:.95rem}.admin-page .firm-owner-field{gap:5px}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-section-heading h2,.admin-status-card h2,.admin-page .card h2{font-size:1.03rem}.admin-section-heading>.ui-icon{width:21px;height:21px;color:#7a9172}.admin-unlock-card{max-width:470px;width:100%;margin:16px auto;display:grid;gap:20px;padding:25px}.admin-unlock-card>.admin-firm-symbol{margin:auto}
.admin-back{display:inline-flex;align-items:center;justify-self:start;gap:7px;background:transparent;border:0;padding:3px 0;color:var(--green);font-size:.79rem;font-weight:690;min-height:35px}.admin-back .ui-icon{width:18px;height:18px}.admin-firm-detail{gap:16px}.admin-firm-header{display:flex;align-items:center;gap:13px;min-width:0}.admin-firm-header h1{font-size:1.52rem;letter-spacing:-.05em;overflow-wrap:anywhere}.admin-firm-header .subline{font-size:.77rem;margin-top:3px}.admin-firm-header>.admin-status{flex:none}.admin-firm-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-firm-overview>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;padding:13px 14px;background:#f6f8f3;border-radius:13px}.admin-firm-overview span{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#72806c}.admin-firm-overview .ui-icon{width:16px;height:16px}.admin-firm-overview b{font-size:1rem;font-variant-numeric:tabular-nums}
.admin-firm-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;border:1px solid #e5eadd;border-radius:13px;background:#f3f6ef;gap:4px}.admin-firm-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:10px;padding:8px 4px;background:transparent;color:#788571;font-size:.81rem;font-weight:700}.admin-firm-tabs .ui-icon{width:19px;height:19px}.admin-firm-tabs [aria-selected='true']{background:white;color:var(--green);box-shadow:0 2px 7px #28412b0a}.admin-firm-panel[hidden]{display:none}.admin-status-card{display:grid;gap:14px}.admin-status-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-status-actions .btn{font-size:.8rem;min-height:40px;padding:9px 14px}
.admin-billing-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}.admin-billing-settings>section>.admin-form{gap:12px}.admin-invoices{display:grid;gap:17px}.admin-balance{display:grid;gap:3px;text-align:right}.admin-balance b{font-size:1.2rem;font-variant-numeric:tabular-nums}.admin-balance small{font-size:.68rem;color:var(--muted)}.admin-invoice-create{display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid var(--line);padding-bottom:17px}.admin-invoice-create>.admin-field{flex:1;min-width:0}.admin-invoice-create .btn{font-size:.8rem}.admin-invoice-list{display:grid;gap:13px}.admin-invoice{border:1px solid var(--line);padding:13px;border-radius:13px}.admin-invoice-heading{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.admin-invoice-heading .grow{display:grid;gap:5px}.admin-invoice-heading b{font-size:.86rem}.admin-invoice-heading>.btn{font-size:.7rem;min-height:35px;padding:8px 9px}.admin-invoice-heading .ui-icon{width:16px;height:16px}.admin-invoice-file{margin-top:12px}.admin-invoice-file summary{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:650;color:var(--green);list-style:none;cursor:pointer}.admin-invoice-file summary::-webkit-details-marker{display:none}.admin-invoice-file summary .ui-icon{width:15px;height:15px}.admin-invoice-file .substack{margin-top:12px}.admin-page input[type='file']{font-size:.78rem;overflow:hidden}.admin-page input[type='file']::file-selector-button{border:0;border-radius:6px;background:#edf5e9;color:var(--green);padding:6px 9px;margin-right:8px;font:inherit;font-weight:650}.admin-adjustments .admin-form{margin:17px 0}.admin-adjustments .detail-line{padding:11px 0;border-top:1px solid var(--line)}.admin-adjustments .detail-line>span{min-width:0;overflow-wrap:anywhere}.admin-adjustments .detail-line small{display:block;margin-top:4px}
.admin-staff{display:grid;gap:0}.admin-staff>.admin-section-heading{padding-bottom:14px}.admin-staff .firm-staff-row{flex-wrap:nowrap;gap:11px;padding:14px 0;border-top:1px solid var(--line)}.admin-staff .staff-identity{flex:1}.admin-staff-symbol{width:37px;height:37px;display:grid;place-items:center;flex:none;background:#f0f5eb;border-radius:11px;color:#6a865d}.admin-staff-symbol .ui-icon{width:19px;height:19px}.admin-staff .is-inactive{opacity:.65}.admin-page .card.stack,.admin-page form.stack{gap:12px}.admin-page .stack>.field-label{margin:0 0 -6px}.admin-page .sms-sender-fields .field-label{margin:0}.admin-system-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-system-tabs .btn{flex:1;min-width:120px}.admin-page .detail-line{min-width:0}.admin-page .detail-line>span{min-width:0;overflow-wrap:anywhere}.admin-page .diag-row summary{overflow-wrap:anywhere}.admin-page .diag-row pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.admin-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-navigation button{min-height:60px;flex-direction:row;font-size:.69rem;gap:6px}.admin-navigation .ui-icon{width:19px;height:19px}.admin-page-header{align-items:flex-start;gap:10px}.admin-page-header>.btn{font-size:.73rem;min-height:40px;padding:10px}.admin-page-header>.btn .ui-icon{width:17px;height:17px}.admin-page-header h1{font-size:1.5rem}.admin-page-header .subline{font-size:.73rem}.admin-stats>div{flex-direction:column;align-items:flex-start;padding:12px;gap:7px}.admin-stats span{font-size:.69rem}.admin-stats strong{font-size:1.5rem}.admin-list-heading{align-items:flex-start;flex-direction:column;gap:12px}.admin-search{width:100%;max-width:none;flex:auto}.admin-search .field,.admin-form .field,.admin-page .field{font-size:16px}.admin-firm-row{padding:12px;gap:10px}.admin-firm-row>.admin-firm-symbol{width:40px;height:40px;border-radius:12px}.admin-firm-symbol .ui-icon{width:21px;height:21px}.admin-firm-name{font-size:.91rem}.admin-firm-location{font-size:.71rem}.admin-firm-payment b{font-size:.75rem}.admin-firm-payment small{font-size:.62rem}.admin-firm-meta>span:last-child{font-size:.65rem}.admin-filter-chips{gap:5px}.admin-filter-chips .chip{font-size:.68rem;padding:8px 9px}.admin-firm-row>.ui-icon{display:none}.admin-application-row{align-items:flex-start;flex-direction:column;gap:10px}.admin-billing-settings{grid-template-columns:minmax(0,1fr)}.admin-firm-header{gap:10px;flex-wrap:wrap}.admin-firm-header h1{font-size:1.34rem}.admin-firm-header>.admin-status{margin-left:auto}.admin-firm-overview>div{padding:11px;gap:7px;flex-direction:column;align-items:flex-start}.admin-firm-overview span{font-size:.65rem}.admin-firm-tabs button{font-size:.71rem;gap:5px;min-height:43px}.admin-firm-tabs .ui-icon{width:17px;height:17px}.admin-form-footer .btn{flex:1;min-width:0;font-size:.8rem}.admin-section-heading .minihelp{font-size:.65rem}.admin-status-actions .btn{flex:1;padding:9px 6px;font-size:.7rem}.admin-invoice-create{flex-wrap:wrap;gap:9px}.admin-invoice-create>.admin-field{flex-basis:100%}.admin-invoice-create .btn{width:100%;font-size:.76rem}.admin-staff .firm-staff-row{flex-wrap:wrap}.admin-staff .firm-staff-row>.pill{margin-left:48px}.admin-staff .staff-identity{min-width:calc(100% - 48px)}.admin-system-tabs{gap:6px}.admin-system-tabs .btn{min-width:calc(50% - 6px);min-height:42px}.admin-page .detail-line{flex-wrap:wrap}.admin-page .bigsum{font-size:1.4rem}}
@media(max-width:360px){.admin-navigation button{flex-direction:column;gap:5px;font-size:.67rem}.admin-form-grid{gap:12px 8px}.admin-firm-row>.admin-firm-symbol{display:none}.admin-firm-header>.admin-status{margin-left:auto}.admin-firm-overview span{gap:4px}.admin-page-header>.btn{font-size:.69rem;padding:9px 7px}}

@media(max-width:600px){.admin-profile-grid>.admin-field:nth-child(-n+2){grid-column:1/-1}}

/* Zapisane kopie: zwarte wiersze z małymi akcjami, bez przycisków na całą szerokość. */
.saved-backups{min-width:0;padding:16px}.saved-backups h3{font-size:1rem;margin-bottom:9px}.backup-list{min-width:0}.backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:13px 0;border-top:1px solid var(--line)}.backup-row:first-child{border-top:0}.backup-summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;min-width:0}.backup-date{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:720;white-space:nowrap}.backup-date .ui-icon{width:20px;height:20px;color:#78906f}.backup-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;font-size:.73rem;color:var(--muted);min-width:0}.backup-meta>span{white-space:nowrap}.backup-meta>span+span:before{content:'·';margin-right:9px;color:#bdc8b7}.backup-state.ready{color:var(--green)}.backup-state.has-error{color:var(--danger)}.backup-type{padding:4px 7px;border-radius:7px;font-size:.63rem;font-weight:650}.backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.backup-actions .btn{min-height:38px;padding:8px 10px;font-size:.73rem;border-radius:10px;white-space:nowrap;gap:5px}.backup-actions .ui-icon{width:17px;height:17px}.backup-actions a{text-decoration:none}.backup-actions .backup-delete{color:#74816d}.backup-actions .backup-delete:hover{color:var(--danger);border-color:#e4c5bf;background:#fff8f6}.backup-error{grid-column:1/-1;padding:10px 12px;overflow-wrap:anywhere;font-size:.75rem}.backup-empty{padding:13px 0 2px}
@media(max-width:600px){.saved-backups{padding:14px}.backup-row{gap:9px;padding:12px 0}.backup-summary{gap:6px}.backup-date{width:100%;font-size:.78rem}.backup-date .ui-icon{width:17px;height:17px}.backup-meta{width:100%;gap:3px 6px;font-size:.67rem}.backup-meta>span+span:before{margin-right:6px}.backup-type{font-size:.6rem;padding:3px 6px}.backup-actions{flex-direction:column;align-items:stretch}.backup-actions .btn{min-height:36px;padding:8px 9px;font-size:.67rem}.backup-actions .ui-icon{width:15px;height:15px}.backup-actions .backup-delete{background:transparent;border-color:transparent}}
@media(max-width:360px){.backup-row{gap:8px}.backup-meta{gap:3px 4px}.backup-meta>span+span:before{margin-right:4px}.backup-actions .btn{padding:8px 6px;font-size:.64rem}}
