.tag{padding:3px 9px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:.72rem;letter-spacing:.04em}
.pos{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:0;align-items:start;min-height:calc(100svh - 62px)}
.catalog{padding:14px calc(16px + var(--safe-l)) 120px 16px;min-width:0}
.bar{position:sticky;top:calc(58px + var(--safe-t));z-index:15;padding:6px 0 10px;background:linear-gradient(var(--bg) 80%,transparent)}
.bar .search{max-width:none}
.chips{padding-bottom:12px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.tile{position:relative;display:grid;grid-template-rows:auto 1fr;text-align:left;padding:0;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);overflow:hidden;color:var(--ink);transition:border-color .15s,transform .1s}
.tile:active{transform:scale(.97)}
.tile:hover{border-color:var(--mut)}
.tile[disabled]{opacity:.45}
.tile .art{aspect-ratio:16/10;display:grid;place-items:center;background:var(--art-bg,var(--surface-2))}
.tile .art svg,.tile .art img{height:88%;width:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}
.tile .t{display:grid;gap:3px;padding:10px 12px 12px;align-content:start}
.tile b{font-size:.92rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.tile .pr{font-family:var(--display);font-weight:700;font-size:1rem}
.tile .st{font-size:.74rem;line-height:1.35;color:var(--mut)}
.tile .st .av{font-size:.8rem;font-weight:800;color:var(--ok)}.tile .st.low .av{color:var(--warn)}.tile .st.out .av{color:var(--bad)}
.tile .st.low{color:var(--warn)}.tile .st.out{color:var(--bad)}
.tile .in{position:absolute;top:8px;right:8px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;display:grid;place-items:center;font-size:.85rem}
.ticket{position:sticky;top:calc(58px + var(--safe-t));height:calc(100svh - 58px - var(--safe-t));display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface-2)}
.ticket header{display:flex;align-items:center;gap:8px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.ticket header h2{font-size:1.1rem;flex:1}
.small-btn{min-height:36px;padding:0 14px;font-size:.85rem}
.close-s{display:none}
.ticket .lines{flex:1;overflow:auto;padding:4px 18px}
.ticket footer{padding:14px 18px calc(16px + var(--safe-b));border-top:1px solid var(--line);display:grid;gap:12px}
.recent{display:grid;gap:6px;max-height:150px;overflow:auto}
.recent .r{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;padding:7px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.recent .r span:last-child{text-align:right}
.recent .r.ok span:last-child{color:var(--ok)}.recent .r.warn span:last-child{color:var(--warn)}.recent .r.bad span:last-child{color:var(--bad)}
.cartbar{position:fixed;z-index:35;left:50%;transform:translateX(-50%);bottom:calc(14px + var(--safe-b));width:min(560px,calc(100% - 24px));display:flex;align-items:center;gap:14px;min-height:58px;padding:0 10px 0 22px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800}
.cartbar #tb-sum{font-family:var(--display);margin-left:auto}
.cartbar .go{background:var(--accent-ink);color:var(--accent);border-radius:999px;padding:11px 18px;font-size:.9rem}
@media (max-width:979px){
  .pos{grid-template-columns:1fr}
  .ticket{position:fixed;z-index:41;left:0;right:0;bottom:0;top:8vh;height:auto;border:0;border-radius:var(--r-l) var(--r-l) 0 0;transform:translateY(102%);transition:transform .3s var(--ease)}
  .ticket.open{transform:none}
  .close-s{display:inline-flex}
}
@media (min-width:980px){.cartbar{display:none!important}#open-t{display:none}.scrim{display:none}}
@media (max-width:760px){.hide-s{display:none}.tiles{grid-template-columns:repeat(2,1fr)}}
@media (orientation:landscape) and (max-height:480px) and (max-width:979px){.ticket{top:0;left:auto;width:min(420px,100%);border-radius:0;transform:translateX(102%)}.ticket.open{transform:none}}

.orders-view{max-width:1100px;margin:0 auto;padding:16px calc(16px + var(--safe-r)) 60px calc(16px + var(--safe-l))}
.ord-badge{margin-left:8px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bad);color:#fff;font-size:.72rem;font-weight:800;display:inline-grid;place-items:center}
@media (max-width:640px){#pos-seg button{padding:8px 11px;font-size:.82rem}}
@media (max-width:640px){.topbar .brand>span:last-child{display:none}.topbar .tag{display:none}.topbar{gap:8px}}

.row2d{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.row2d:not(.field){font-size:.85rem;color:var(--mut);padding:2px 2px 6px}
.docbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.docbtns button{min-height:40px;flex:1}
.so-item .btn{margin-top:4px}

.pos-client-list{display:grid;gap:6px;margin-top:6px}
.pos-client-list:empty{margin-top:0}
.pc-item{text-align:left;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer;font:inherit;color:inherit}
.pc-item:hover{border-color:var(--accent)}
.pc-item b{display:block;font-size:.86rem}
.pc-item span{color:var(--mut);font-size:.78rem}

/* v7.7: logowanie do kasy */
.locked .topbar,.locked #sell-view,.locked #orders-view,.locked #returns-view,.locked #tbar{display:none!important}
.pos-login{min-height:100svh;display:grid;place-items:center;padding:24px calc(16px + var(--safe-r)) 24px calc(16px + var(--safe-l))}
.pl-box{width:min(420px,100%);display:grid;gap:14px;padding:30px 26px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface)}
.pl-box h1{font-size:1.8rem}
.pl-back{color:var(--mut);font-size:.88rem;text-align:center;text-decoration:none}
.pl-back:hover{color:var(--ink)}
#pos-who{color:var(--mut);font-weight:600}
.returns-note{margin:0 0 14px}
