/* CARPE B2B ir Sandėlis — bendras stilius.
   Idėja: kilimėlio kraštas. Tamsi „asfalto“ juosta su apsiuvimo dygsniu (punktyrinė linija) žymi svarbiausią vietą —
   automobilio paieškos juostą, krepšelį ir skenerio režimą. Visa kita rami: šviesus betonas, balti paviršiai, aiškūs skaičiai. */

.carpe {
  --ink: #1f2328;
  --ink-2: #47505a;
  --muted: #6b7480;
  --bg: #eceef0;
  --surface: #ffffff;
  --sunk: #f5f6f7;
  --line: #d5d9de;
  --asphalt: #262b31;
  --asphalt-2: #343b43;
  --thread: #f2c94c;          /* apsiuvimo siūlas */
  --accent: #2357d6;          /* „ryškiai mėlynas“ apsiuvimas */
  --accent-ink: #ffffff;
  --accent-soft: #e7eefc;
  --ok: #1f7a4d; --ok-soft: #e3f3ea;
  --made: #8a5300; --made-soft: #fbf0dc;
  --unknown: #56606b; --unknown-soft: #eceff2;
  --danger: #b3261e; --danger-soft: #fbe9e7;
  --r-sm: 5px; --r: 8px; --r-lg: 12px;
  --font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-cond: "IBM Plex Sans Condensed", "Arial Narrow", var(--font);
  font-family: var(--font);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
body.carpe { margin: 0; background: var(--bg); min-height: 100vh; }
.carpe *, .carpe *::before, .carpe *::after { box-sizing: border-box; }
.carpe h1, .carpe h2, .carpe h3 { line-height: 1.2; margin: 0 0 .5em; font-weight: 600; letter-spacing: -0.01em; }
.carpe h1 { font-size: 1.6rem; } .carpe h2 { font-size: 1.25rem; } .carpe h3 { font-size: 1.05rem; }
.carpe p { margin: 0 0 .75em; }
.carpe a { color: var(--accent); }
.carpe .muted { color: var(--muted); } .carpe .small { font-size: .86em; }
.carpe .num, .carpe .price, .carpe td.r { font-variant-numeric: tabular-nums; }
.carpe :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

/* Mygtukai ir laukai */
.carpe .btn { display: inline-flex; align-items: center; justify-content: center; gap: .4em; min-height: 40px; padding: 0 16px; border-radius: var(--r-sm);
  border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; font-weight: 500; cursor: pointer; text-decoration: none; white-space: nowrap; }
.carpe .btn:hover { border-color: var(--ink-2); }
.carpe .btn:disabled { opacity: .5; cursor: not-allowed; }
.carpe .btn-primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.carpe .btn-primary:hover { background: #1b47b5; border-color: #1b47b5; }
.carpe .btn-dark { background: var(--asphalt); border-color: var(--asphalt); color: #fff; }
.carpe .btn-danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.carpe .btn-ghost { background: transparent; border-color: transparent; }
.carpe .btn-sm { min-height: 32px; padding: 0 10px; font-size: .9em; }
.carpe .btn-block { width: 100%; }
.carpe input, .carpe select, .carpe textarea { font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); min-height: 40px; padding: 6px 10px; width: 100%; }
.carpe textarea { min-height: 90px; resize: vertical; }
.carpe input[type=checkbox], .carpe input[type=radio] { width: auto; min-height: 0; }
.carpe label { display: block; font-weight: 500; font-size: .92em; color: var(--ink-2); margin-bottom: 12px; }
.carpe label > input, .carpe label > select, .carpe label > textarea { margin-top: 4px; font-weight: 400; }
.carpe label.check { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.carpe .form-error { background: var(--danger-soft); color: var(--danger); padding: 10px 12px; border-radius: var(--r-sm); }
.carpe .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.carpe .grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14px; }
@media (max-width: 640px) { .carpe .grid2, .carpe .grid3 { grid-template-columns: 1fr; } }

/* Žymės */
.carpe .chip { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: 999px; font-size: .82em; font-weight: 500; white-space: nowrap; }
.carpe .chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.carpe .chip-ok { background: var(--ok-soft); color: var(--ok); }
.carpe .chip-made { background: var(--made-soft); color: var(--made); }
.carpe .chip-unknown { background: var(--unknown-soft); color: var(--unknown); }
.carpe .chip-empty { background: var(--danger-soft); color: var(--danger); }
.carpe .tag { display: inline-block; padding: 1px 7px; border-radius: var(--r-sm); background: var(--sunk); border: 1px solid var(--line); font-size: .78em; color: var(--ink-2); }
.carpe .tag-warn { background: var(--made-soft); border-color: #ecd3a6; color: var(--made); }
.carpe .tag-bad { background: var(--danger-soft); border-color: #f0c4bf; color: var(--danger); }
.carpe .tag-good { background: var(--ok-soft); border-color: #b9dfc9; color: var(--ok); }

/* Apsiuvimo dygsnis — vienintelis „ryškus“ elementas */
.carpe .stitched { position: relative; background: var(--asphalt); color: #fff; }
.carpe .stitched::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; border-bottom: 2px dashed var(--thread); opacity: .9; pointer-events: none; }

/* Toast / modalas */
.toasts { position: fixed; z-index: 100002; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px; max-width: min(420px, calc(100vw - 32px)); font-family: "IBM Plex Sans", system-ui, sans-serif; }
.toast { background: #262b31; color: #fff; padding: 12px 14px; border-radius: 8px; box-shadow: 0 6px 24px rgba(20, 24, 30, .25); transition: opacity .3s, transform .3s; }
.toast-error { background: #b3261e; } .toast-ok { background: #1f7a4d; }
.toast.out { opacity: 0; transform: translateY(8px); }
@media (max-width: 640px) { .toasts { left: 12px; right: 12px; bottom: 12px; max-width: none; } }
.modal-back { position: fixed; inset: 0; z-index: 99999; background: rgba(20, 24, 30, .45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.modal { background: #fff; border-radius: 12px; padding: 22px; width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; font-family: "IBM Plex Sans", system-ui, sans-serif; color: #1f2328; }
.modal h2 { margin: 0 0 12px; font-size: 1.2rem; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
@media (prefers-reduced-motion: reduce) { .toast, .carpe * { transition: none !important; animation: none !important; } }

/* ---------------- Prisijungimas ---------------- */
.carpe-login .login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.carpe-login .login-card { width: min(420px, 100%); background: var(--surface); border-radius: var(--r-lg); padding: 28px; box-shadow: 0 1px 0 var(--line); }
.carpe .brand-mark { display: inline-block; font-family: var(--font-cond); font-weight: 700; font-size: 1.05rem; letter-spacing: .14em; background: var(--asphalt); color: #fff; padding: 6px 12px 9px; border-radius: var(--r-sm); margin-bottom: 18px; position: relative; }
.carpe .brand-mark::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 4px; border-bottom: 1.5px dashed var(--thread); }

/* ---------------- Portalas 0.2 ----------------
   Tvarka pagal svarbą: FOTO → automobilis → kaina → kodas → kiekis → „Į krepšelį“.
   Vienintelis ryškus elementas — tamsi asfalto paieškos juosta su dygsniu ir žingsniais. Kortelės ramios: balta, plona linija, be šešėlių. */
body.carpe-portal { font-size: 17px; }
body.carpe-portal.lg { font-size: 20px; }
.carpe-portal .btn { min-height: 44px; padding: 0 18px; font-size: 1rem; }
.carpe-portal .btn-sm { min-height: 40px; }
.carpe-portal .btn-lg { min-height: 52px; padding: 0 22px; font-weight: 600; font-size: 1.05rem; }
.carpe-portal input, .carpe-portal select, .carpe-portal textarea { min-height: 48px; font-size: 1rem; }
.carpe-portal label { font-size: .95rem; }
.carpe .linkish { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.carpe .linkish:hover { text-decoration: underline; }
.skip { position: absolute; left: -9999px; top: 0; background: #fff; padding: 10px 14px; z-index: 100; }
.skip:focus { left: 8px; top: 8px; }

.top { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; }
.top-in { max-width: 1480px; margin: 0 auto; padding: 8px 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.top .brand-mark { margin: 0; }
.top-co { font-weight: 600; line-height: 1.25; } .top-co small { display: block; font-weight: 400; color: var(--muted); font-size: .82rem; }
.top-tools { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.tool { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); background: var(--surface); border-radius: var(--r-sm); font: inherit; font-size: .92rem; color: var(--ink); cursor: pointer; text-decoration: none; }
.tool[aria-pressed=true] { background: var(--accent-soft); border-color: var(--accent); }
.tool .aa { font-weight: 700; font-size: .85rem; } .tool .aa b { font-size: 1.15rem; margin-left: 1px; }
.top-nav { border-top: 1px solid var(--line); }
.top-nav-in { max-width: 1480px; margin: 0 auto; padding: 0 16px; display: flex; gap: 2px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.top-nav button { background: none; border: 0; border-bottom: 3px solid transparent; font: inherit; font-size: .98rem; padding: 12px 14px 9px; min-height: 48px; cursor: pointer; color: var(--ink-2); white-space: nowrap; }
.top-nav button[aria-current=page] { color: var(--ink); font-weight: 600; border-bottom-color: var(--accent); }
.top-cart { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
.top-cart .count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border-radius: 13px; background: var(--thread); color: var(--ink); font-size: .85rem; font-weight: 700; padding: 0 7px; }

.pg { max-width: 1480px; margin: 0 auto; padding: 16px; display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 22px; align-items: start; }
.pg.pg-wide { grid-template-columns: minmax(0, 1fr); }
.pg-main { min-width: 0; }
@media (max-width: 1150px) { .pg { grid-template-columns: minmax(0, 1fr); padding-bottom: 96px; } }

/* Paieška ir žingsniai */
.finder { border-radius: var(--r-lg); padding: 18px 18px 30px; margin-bottom: 14px; }
.finder-in { display: grid; gap: 14px; }
.finder .search { display: flex; gap: 10px; }
.finder .search input { flex: 1; min-height: 56px; font-size: 1.15rem; background: #fff; border: 0; border-radius: var(--r); padding: 0 16px; }
.finder .btn-lg { min-height: 56px; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; counter-reset: s; }
.steps li button { width: 100%; min-height: 64px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 0 10px; align-items: center; text-align: left; background: var(--asphalt-2); color: #e6e9ec; border: 1px solid #4b535d; border-radius: var(--r); padding: 8px 12px; font: inherit; cursor: pointer; }
.steps li button:disabled { opacity: .45; cursor: not-allowed; }
.steps .n { grid-row: 1 / 3; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #1b1f24; font-weight: 700; font-size: .9rem; }
.steps .l { font-size: .82rem; color: #b9c1ca; }
.steps .v { font-weight: 600; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.steps li.done .n { background: var(--thread); color: var(--ink); }
.steps li.on button { background: #fff; color: var(--ink); border-color: #fff; }
.steps li.on .l { color: var(--ink-2); } .steps li.on .n { background: var(--accent); color: #fff; }
.finder .clear { color: #fff; justify-self: start; text-decoration: underline; }
@media (max-width: 900px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .steps li:last-child { grid-column: 1 / -1; } }
@media (max-width: 560px) { .finder .search { flex-direction: column; } }

.steppanel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px 18px 18px; margin-bottom: 16px; }
.sp-head { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.sp-head h2 { margin: 0; font-size: 1.25rem; }
.sp-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.tiles-sm { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.tiles-year { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); }
.tile { min-height: 56px; border: 1px solid var(--line); background: var(--sunk); border-radius: var(--r); padding: 8px 12px; font: inherit; color: var(--ink); cursor: pointer; text-align: left; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.tile:hover { border-color: var(--ink-2); background: #fff; }
.tile .t { font-weight: 600; font-size: 1.02rem; line-height: 1.2; }
.tile .s { font-size: .82rem; color: var(--muted); }
.tile[aria-pressed=true] { background: var(--accent-soft); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.tile:disabled { opacity: .4; cursor: not-allowed; }
.tiles-make .tile { min-height: 64px; }
.allmakes { margin-top: 12px; } .allmakes summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.facet h3 { font-size: 1rem; margin: 12px 0 6px; }
.hint { color: var(--ink-2); }

/* Rezultatai */
.res-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 4px 0 12px; }
.res-head h2 { margin: 0; font-size: 1.2rem; }
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--surface); }
.seg button { border: 0; background: none; padding: 0 14px; min-height: 44px; font: inherit; font-size: .95rem; cursor: pointer; color: var(--ink-2); }
.seg button[aria-pressed=true] { background: var(--asphalt); color: #fff; font-weight: 600; }
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 14px; }
.pc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); display: flex; flex-direction: column; overflow: hidden; }
.pc-photo { position: relative; background: #fff; border-bottom: 1px solid var(--line); }
.pc-open { display: block; width: 100%; border: 0; padding: 0; background: #fff; cursor: zoom-in; aspect-ratio: 4 / 3; }
.pc-open img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pc-open .ph { width: 100%; height: 100%; }
.fav { position: absolute; top: 8px; right: 8px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.95); color: var(--ink-2); display: grid; place-items: center; cursor: pointer; }
.fav[aria-pressed=true] { color: #c0392b; border-color: #e6b8b2; }
.pc-body { padding: 12px 14px 4px; display: grid; gap: 6px; align-content: start; flex: 1; }
.veh { font-family: var(--font-cond); font-weight: 700; font-size: 1.2rem; letter-spacing: .005em; margin: 0; line-height: 1.2; }
.veh .yrs { color: var(--ink-2); font-weight: 600; margin-left: 6px; white-space: nowrap; }
.ptype { color: var(--ink-2); font-weight: 500; margin: 0; }
.badges { display: flex; flex-wrap: wrap; gap: 4px; }
.badge { display: inline-block; padding: 2px 8px; border-radius: var(--r-sm); background: #fff6d8; border: 1px solid #ecd28a; color: #5c4600; font-size: .82rem; font-weight: 500; }
.codes { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .9rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.codes b { color: var(--ink); }
.buy { padding: 10px 14px 14px; display: grid; gap: 10px; }
.buy-row { display: flex; gap: 8px; align-items: stretch; }
.buy-row .btn { flex: 1; }
.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.price b { font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.price s { color: var(--muted); font-size: .9rem; }
.price small { color: var(--muted); font-size: .85rem; width: 100%; }
.qty { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: var(--surface); }
.qty button { width: 44px; min-height: 48px; border: 0; background: var(--sunk); font-size: 1.3rem; cursor: pointer; color: var(--ink); }
.qty input { width: 60px; border: 0; border-radius: 0; text-align: center; min-height: 48px; padding: 0; font-variant-numeric: tabular-nums; font-size: 1.05rem; }
.ph { display: grid; place-items: center; align-content: center; gap: 6px; color: #7d8691; background: repeating-linear-gradient(135deg, #f6f7f8, #f6f7f8 10px, #eff1f3 10px, #eff1f3 20px); font-size: .95rem; text-align: center; height: 100%; min-height: 120px; }
.ph-mini { width: 64px; height: 48px; border-radius: var(--r-sm); background: var(--sunk); border: 1px dashed var(--line); }
.plist { display: grid; gap: 8px; }
.pr { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 14px; padding: 10px; align-items: center; }
.pr-photo { border: 0; background: #fff; padding: 0; width: 120px; height: 90px; cursor: pointer; }
.pr-photo img, .pr-photo .ph { width: 120px; height: 90px; object-fit: contain; min-height: 0; font-size: .72rem; }
.pr-body { display: grid; gap: 4px; }
.pr-buy { display: flex; align-items: center; gap: 8px; }
.pr-buy .fav { position: static; }
.pr-buy .buy { padding: 0; min-width: 280px; }
@media (max-width: 760px) { .pr { grid-template-columns: 96px minmax(0, 1fr); } .pr-photo, .pr-photo img, .pr-photo .ph { width: 96px; height: 72px; } .pr-buy { grid-column: 1 / -1; flex-wrap: wrap; } .pr-buy .buy { min-width: 0; flex: 1; } }
.more { display: flex; justify-content: center; padding: 18px; }
.empty { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px 20px; text-align: center; }
.row-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.shelf { margin-bottom: 22px; } .shelf h2 { font-size: 1.25rem; }
.shelf.intro { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; }
.howto { margin: 0; padding-left: 1.3em; display: grid; gap: 8px; font-size: 1.05rem; }
.ptitle { font-size: 1.4rem; }

/* Produkto puslapis */
.pp-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.pp-top .fav { position: static; }
.pp { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; }
@media (max-width: 900px) { .pp { grid-template-columns: minmax(0, 1fr); padding: 12px; } }
.gal-main { background: #fff; border: 1px solid var(--line); border-radius: var(--r); aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; }
.gal-main img { width: 100%; height: 100%; object-fit: contain; }
.gal-main .ph.big { width: 100%; height: 100%; font-size: 1.1rem; }
.gal-thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.gal-thumbs button, .gal-thumbs a { width: 84px; height: 64px; border: 2px solid var(--line); border-radius: var(--r-sm); padding: 0; background: #fff; cursor: pointer; overflow: hidden; display: block; }
.gal-thumbs button[aria-pressed=true] { border-color: var(--accent); }
.gal-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.gal-generic { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 8px; color: var(--ink-2); }
.pp-info { display: grid; gap: 10px; align-content: start; }
.pp-info h1.veh { font-size: 1.7rem; }
.pname { color: var(--muted); margin: 0; }
.restr { background: #f4f7fd; border: 1px solid #cddaf5; border-radius: var(--r); padding: 10px 12px; }
.config { border-top: 1px solid var(--line); padding-top: 12px; display: grid; gap: 12px; }
.config h2 { font-size: 1.15rem; margin: 0; }
.config .buy { padding: 0; }
.attr { border: 0; margin: 0; padding: 0; }
.attr legend { font-weight: 600; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.attr legend .n { width: 26px; height: 26px; border-radius: 50%; background: var(--asphalt); color: #fff; display: grid; place-items: center; font-size: .85rem; }
.config-foot { display: grid; gap: 10px; background: var(--sunk); border-radius: var(--r); padding: 12px; }
.need { color: var(--made); font-weight: 600; margin: 0; }
.chosen { margin: 0; font-weight: 500; } .chosen .vid { display: block; font-size: .82rem; color: var(--muted); font-weight: 400; }
.flow { border-top: 1px solid var(--line); padding-top: 10px; } .flow h2 { font-size: 1.05rem; } .flow ol { margin: 0; padding-left: 1.2em; }

/* Krepšelis */
.cart { background: var(--surface); border-radius: var(--r-lg); border: 1px solid var(--line); position: sticky; top: 124px; max-height: calc(100vh - 140px); display: flex; flex-direction: column; overflow: hidden; }
.cart-head { padding: 14px 16px 22px; display: flex; align-items: center; gap: 10px; }
.cart-head h2 { margin: 0; font-size: 1.15rem; color: #fff; }
.cart .cart-close { margin-left: auto; display: none; }
.cart-body { overflow: auto; padding: 4px 16px; flex: 1; }
.cart-empty { padding: 16px 0; }
.cl { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 6px 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.cl-img { width: 64px; height: 48px; object-fit: contain; background: #fff; border-radius: var(--r-sm); }
.cl .nm { font-weight: 600; } .cl .at { color: var(--muted); font-size: .85rem; }
.cl-qty { display: flex; gap: 6px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.cl-sum { font-variant-numeric: tabular-nums; white-space: nowrap; }
.cl .warn, .cl .err { grid-column: 1 / -1; font-size: .88rem; }
.cl .warn { color: var(--made); } .err { color: var(--danger); }
.cart-foot { border-top: 1px solid var(--line); padding: 12px 16px 16px; background: var(--sunk); display: grid; gap: 10px; }
.tot { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 0; font-variant-numeric: tabular-nums; }
.tot dt { color: var(--ink-2); } .tot dd { margin: 0; text-align: right; }
.tot .grand { font-weight: 700; font-size: 1.2rem; color: var(--ink); }
.cartbar { display: none; }
@media (max-width: 1150px) {
  .cart { position: fixed; inset: auto 0 0 0; top: auto; max-height: 88vh; border-radius: 16px 16px 0 0; z-index: 45; transform: translateY(105%); transition: transform .25s ease; box-shadow: 0 -10px 40px rgba(0,0,0,.25); }
  .cart.open { transform: none; }
  .cart .cart-close { display: inline-flex; }
  .cartbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--asphalt); color: #fff; padding: 10px 16px; gap: 12px; align-items: center; justify-content: space-between; box-shadow: 0 -6px 24px rgba(0,0,0,.2); }
  .cartbar span { font-weight: 600; }
}

/* Atsiskaitymas */
.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 22px; align-items: start; }
@media (max-width: 1000px) { .checkout { grid-template-columns: minmax(0, 1fr); } }
.co-steps h1 { font-size: 1.5rem; }
.co-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px 18px; margin-bottom: 12px; display: grid; gap: 12px; }
.co-step.cur { border-color: var(--accent); box-shadow: inset 4px 0 0 var(--accent); }
.co-step.later { opacity: .65; }
.co-step h2 { margin: 0; display: flex; gap: 10px; align-items: center; font-size: 1.2rem; }
.co-step h2 .n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--asphalt); color: #fff; font-size: .95rem; }
.co-step .btn-lg, .co-step .btn-sm { justify-self: start; }
.choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.choice { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: start; border: 1px solid var(--line); border-radius: var(--r); padding: 12px 14px; cursor: pointer; margin: 0; background: var(--sunk); min-height: 64px; color: var(--ink); }
.choice input { margin-top: 4px; width: 22px; height: 22px; grid-row: 1 / 4; }
.choice .ct { font-weight: 600; font-size: 1.05rem; }
.choice .cd { color: var(--ink-2); font-size: .9rem; font-weight: 400; }
.choice .cr { color: var(--danger); font-size: .88rem; font-weight: 500; }
.choice.on { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.choice.off { opacity: .7; cursor: not-allowed; }
.addr { display: grid; gap: 10px; } .addr h3 { margin: 4px 0 0; font-size: 1.05rem; }
.co-sum { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px 18px; position: sticky; top: 124px; display: grid; gap: 10px; }
.co-sum h2 { margin: 0; }
.co-lines { display: grid; gap: 4px; font-size: .92rem; color: var(--ink-2); max-height: 220px; overflow: auto; }
.note { background: #fbf6e6; border: 1px solid #ecd9a2; border-radius: var(--r); padding: 10px 12px; margin: 0; }
.confirm { font-weight: 600; }
.carpe .kv { display: grid; grid-template-columns: minmax(130px, 200px) 1fr; gap: 4px 12px; margin: 0; }
.carpe .kv dt { color: var(--muted); } .carpe .kv dd { margin: 0; overflow-wrap: anywhere; }

/* Užsakymai */
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; }
.panel.done { text-align: center; } .panel.done .kv { text-align: left; max-width: 520px; margin: 0 auto 12px; }
.back { margin-bottom: 12px; }
.order-head { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 12px 0; } .order-head h1 { margin: 0; }
.status { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--sunk); border: 1px solid var(--line); font-weight: 600; }
.timeline { list-style: none; padding: 0; margin: 12px 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.timeline li::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--ok); margin-right: 6px; }
.olines { display: grid; gap: 8px; margin: 14px 0; }
.ol { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.ol img { width: 64px; height: 48px; object-fit: contain; }
.ol .r { text-align: right; display: grid; font-variant-numeric: tabular-nums; }
.olist { display: grid; gap: 10px; }
.oc { display: grid; grid-template-columns: 150px minmax(0, 1.2fr) minmax(0, 1fr) auto auto; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: var(--r); padding: 10px 12px; }
.oc h3 { margin: 0; font-size: 1.1rem; }
.oc-thumbs { display: flex; gap: 4px; } .oc-thumbs img { width: 46px; height: 36px; object-fit: contain; background: #fff; }
.oc .r { text-align: right; }
.oc-act { display: flex; gap: 6px; flex-wrap: wrap; }
.up { color: var(--danger); } .down { color: var(--ok); }
@media (max-width: 900px) { .oc { grid-template-columns: 1fr 1fr; } .oc-thumbs { grid-column: 1 / -1; } .oc-act { grid-column: 1 / -1; } }
.quick-res { margin-top: 14px; display: grid; gap: 10px; }
.label.file, label.file { display: grid; gap: 4px; }
.blocked { max-width: 560px; margin: 60px auto; background: #fff; padding: 28px; border-radius: var(--r-lg); }
.onb-step { color: var(--muted); margin: 0; } .onb-text { font-size: 1.15rem; }
.big-link { font-size: 1.4rem; font-weight: 700; }
@media print { .top, .cart, .cartbar, .finder, .row-actions, .back, .toasts { display: none !important; } .pg { display: block; padding: 0; } body.carpe { background: #fff; } }

/* Registracija */
.carpe-login .login-card.wide { width: min(620px, 100%); }
.carpe .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------------- Vairuotojas ---------------- */
body.carpe-driver { font-size: 18px; background: #eceef0; }
.d-top { display: flex; gap: 12px; align-items: center; padding: 10px 14px; background: var(--asphalt); color: #fff; position: sticky; top: 0; z-index: 10; }
.d-top .brand-mark { margin: 0; background: #15181c; flex: none; } .d-top .muted { color: #b8c0c8; margin-left: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .d-top b { white-space: nowrap; } .d-top .btn { flex: none; }
.d-main, .d-main > * { min-width: 0; } .carpe-driver { overflow-x: hidden; }
@media (max-width: 480px) { .d-kpis b { font-size: 1.1rem; } .d-top { gap: 8px; padding: 8px 10px; } .d-top .muted { font-size: .85rem; } } .d-top .btn { min-height: 44px; }
.d-main { max-width: 720px; margin: 0 auto; padding: 12px; display: grid; gap: 12px; }
.d-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px 16px; display: grid; gap: 8px; cursor: default; }
article.d-card { cursor: pointer; }
.d-card h1 { font-size: 1.4rem; margin: 0; } .d-card h2 { font-size: 1.15rem; margin: 0; }
.d-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.d-co { font-size: 1.15rem; }
.d-st { padding: 4px 12px; border-radius: 999px; font-weight: 600; font-size: .9rem; background: var(--sunk); border: 1px solid var(--line); }
.d-st.st-isvezta, .d-st.st-atvyko { background: var(--accent-soft); border-color: #bcd0f7; }
.d-st.st-perduota { background: var(--ok-soft); color: var(--ok); }
.d-st.st-nepristatyta { background: var(--danger-soft); color: var(--danger); }
.d-cash { font-weight: 700; color: #6b4300; background: #fbf0dc; border-radius: var(--r); padding: 8px 12px; }
.d-cash.big { font-size: 1.3rem; }
.d-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; align-items: center; border-top: 1px solid var(--line); padding-top: 8px; }
.d-line img { width: 64px; height: 48px; object-fit: contain; } .d-q { font-weight: 700; font-size: 1.1rem; }
.d-actions { display: grid; gap: 10px; }
.carpe .btn-xl { min-height: 68px; font-size: 1.25rem; font-weight: 700; width: 100%; border-radius: var(--r); white-space: normal; text-align: center; line-height: 1.25; padding-top: 10px; padding-bottom: 10px; }
.d-qrow { display: grid; grid-template-columns: 1fr 110px auto; gap: 10px; align-items: center; }
.d-qrow input { min-height: 56px; font-size: 1.3rem; text-align: center; }
.d-sign { width: 100%; height: 160px; border: 2px dashed var(--line); border-radius: var(--r); background: #fff; touch-action: none; display: block; margin: 6px 0; }
.d-sum { background: #fff; border-radius: var(--r-lg); padding: 14px 16px; display: grid; gap: 10px; }
.d-sum h2 { margin: 0; }
.d-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.d-kpis div { background: var(--sunk); border-radius: var(--r); padding: 10px; min-width: 0; } .d-kpis b { display: block; font-size: 1.3rem; overflow-wrap: anywhere; } .d-kpis span { font-size: .85rem; color: var(--muted); }
.warnbox { background: #fbf0dc; border: 1px solid #ecd3a6; color: #6b4300; padding: 10px 12px; border-radius: var(--r); margin: 0; }
.d-cashbox { border-color: #ecd3a6; }
.gen-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.gen-grid figure { margin: 0; width: 150px; } .gen-grid img { width: 150px; height: 110px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); }

/* Lentelės */
.carpe table.t { width: 100%; border-collapse: collapse; background: var(--surface); }
.carpe table.t th { text-align: left; font-weight: 600; font-size: .82rem; color: var(--ink-2); background: var(--sunk); padding: 8px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.carpe table.t td { padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.carpe table.t tr.click { cursor: pointer; } .carpe table.t tr.click:hover td { background: #f8f9fb; }
.carpe table.t td.r, .carpe table.t th.r { text-align: right; }
.carpe .tablewrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); }

/* ---------------- Skeneris ---------------- */
body.carpe-scanner { background: #1d2126; color: #eef1f4; }
.s-wrap { max-width: 1280px; margin: 0 auto; padding: 12px 16px 40px; }
.s-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.s-top .brand-mark { margin: 0; background: #0f1215; }
.s-loc { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.s-loc select { background: #2b3138; color: #fff; border-color: #48505a; min-width: 220px; }
.s-modes { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-bottom: 12px; }
.s-modes button { min-height: 58px; border-radius: var(--r); border: 1px solid #3c444d; background: #2b3138; color: #dfe4e9; font: inherit; font-weight: 600; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.s-modes button small { font-weight: 400; color: #9aa3ad; font-size: .74rem; }
.s-modes button[aria-pressed=true] { background: var(--mode, #2357d6); border-color: var(--mode, #2357d6); color: #fff; }
.s-modes button[aria-pressed=true] small { color: rgba(255,255,255,.8); }
@media (max-width: 760px) { .s-modes { grid-template-columns: repeat(3, 1fr); } }
.s-scan { border-radius: var(--r-lg); padding: 16px 16px 24px; background: var(--mode, #2357d6); color: #fff; }
.s-scan .stitch { position: relative; }
.s-scan-row { display: grid; grid-template-columns: 1fr 150px auto; gap: 10px; align-items: end; }
.s-scan label { color: rgba(255,255,255,.85); margin: 0; }
.s-scan input { min-height: 64px; font-size: 1.6rem; font-family: var(--font); font-variant-numeric: tabular-nums; border: 0; border-radius: var(--r); color: #111; }
.s-scan .qtyin { text-align: center; }
.s-scan .btn { min-height: 64px; font-size: 1.05rem; }
.s-hint { margin-top: 8px; color: rgba(255,255,255,.85); font-size: .9rem; display: flex; gap: 14px; flex-wrap: wrap; }
@media (max-width: 640px) { .s-scan-row { grid-template-columns: 1fr 100px; } .s-scan-row .btn { grid-column: 1 / -1; } }
.s-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 14px; margin-top: 14px; }
@media (max-width: 960px) { .s-grid { grid-template-columns: 1fr; } }
.s-card { background: #fff; color: var(--ink); border-radius: var(--r-lg); padding: 16px; }
.s-card h2 { font-size: 1.05rem; }
.s-result { min-height: 180px; }
.s-result .big { font-size: 1.25rem; font-weight: 600; line-height: 1.25; margin: 4px 0 6px; }
.s-result .code { font-variant-numeric: tabular-nums; color: var(--muted); }
.s-result .bal { display: flex; gap: 22px; margin: 12px 0; flex-wrap: wrap; }
.s-result .bal div b { display: block; font-size: 1.7rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.s-result .bal div span { color: var(--muted); font-size: .82rem; }
.s-flash-ok { animation: flashok .6s ease; } .s-flash-err { animation: flasherr .6s ease; }
@keyframes flashok { 0% { box-shadow: 0 0 0 6px #3ccf86; } 100% { box-shadow: 0 0 0 0 transparent; } }
@keyframes flasherr { 0% { box-shadow: 0 0 0 6px #ff6b5e; } 100% { box-shadow: 0 0 0 0 transparent; } }
.s-hist { max-height: 520px; overflow: auto; }
.s-hist .mv { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.s-hist .mv .q { font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.s-hist .mv .q.in { color: var(--ok); } .s-hist .mv .q.out { color: var(--danger); }
.s-hist .mv .m { color: var(--muted); font-size: .8rem; }
.s-reasons { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.s-reasons button { border-radius: 999px; border: 1px solid rgba(255,255,255,.6); background: transparent; color: #fff; padding: 6px 12px; font: inherit; cursor: pointer; }
.s-reasons button[aria-pressed=true] { background: #fff; color: var(--ink); font-weight: 600; }
.s-mute { color: #9aa3ad; }

/* ---------------- Lipdukai ---------------- */
body.carpe-labels { background: var(--bg); }
.l-toolbar { max-width: 1280px; margin: 0 auto; padding: 16px; display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.l-toolbar label { margin: 0; }
.l-sheet { max-width: 1280px; margin: 0 auto 40px; padding: 0 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.label { background: #fff; color: #000; border: 1px dashed #b5bcc4; width: 58mm; height: 40mm; padding: 2.5mm 3mm; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; font-family: var(--font); }
.label .ln { font-size: 8.5pt; font-weight: 600; line-height: 1.15; max-height: 3.5em; overflow: hidden; }
.label .lm { font-size: 7pt; color: #333; }
.label svg { width: 100%; height: auto; max-height: 20mm; }
.label.a4 { width: 70mm; height: 37mm; }
@media print {
  @page { margin: 0; }
  .carpe-labels .l-toolbar, .carpe-labels .noprint, .toasts { display: none !important; }
  body.carpe-labels { background: #fff; }
  .l-sheet { padding: 0; margin: 0; gap: 0; max-width: none; }
  .l-sheet.thermal .label { border: 0; page-break-after: always; break-after: page; }
  .l-sheet.a4 { width: 210mm; }
  .l-sheet.a4 .label { border: 0; }
}

/* ---------------- Administravimas (wp-admin viduje) ---------------- */
.carpe-admin { margin: 10px 20px 0 2px; }
.carpe-admin #carpe-app { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 960px) { .carpe-admin #carpe-app { grid-template-columns: 1fr; } }
.a-side { background: var(--asphalt); color: #fff; border-radius: var(--r-lg); padding: 14px 10px 22px; position: sticky; top: 46px; }
.a-side .brand-mark { margin: 4px 6px 14px; background: #15181c; }
.a-side a { display: block; color: #d7dce1; text-decoration: none; padding: 8px 10px; border-radius: var(--r-sm); font-size: .92rem; }
.a-side a:hover { background: var(--asphalt-2); color: #fff; }
.a-side a[aria-current=page] { background: #fff; color: var(--ink); font-weight: 600; }
.a-side .grp { color: #8f98a2; font-size: .78rem; margin: 14px 10px 4px; }
.a-main { min-width: 0; }
.a-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.a-head h1 { margin: 0; font-size: 1.45rem; }
.a-box { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px; margin-bottom: 16px; }
.a-box h2 { font-size: 1.05rem; }
.a-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-bottom: 16px; }
.a-kpi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 12px 14px; }
.a-kpi b { display: block; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.a-kpi span { color: var(--muted); font-size: .85rem; }
.a-kpi.warn { border-color: #ecd3a6; background: var(--made-soft); }
.a-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin-bottom: 12px; }
.a-filters > * { width: auto; }
.a-filters input, .a-filters select { width: auto; min-width: 160px; }
.a-filters label { margin: 0; }
.a-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
@media (max-width: 1200px) { .a-split { grid-template-columns: 1fr; } }
.a-split3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1200px) { .a-split3 { grid-template-columns: 1fr; } }
.carpe-admin .notice-inline { background: var(--accent-soft); border-left: 4px solid var(--accent); padding: 10px 12px; border-radius: var(--r-sm); margin-bottom: 12px; }
.carpe-admin .notice-inline.warn { background: var(--made-soft); border-left-color: var(--made); }
.carpe-admin .kv { display: grid; grid-template-columns: 180px 1fr; gap: 4px 12px; font-size: .92rem; }
.carpe-admin .kv dt { color: var(--muted); } .carpe-admin .kv dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.carpe-admin .progress { height: 10px; background: var(--sunk); border-radius: 5px; overflow: hidden; border: 1px solid var(--line); }
.carpe-admin .progress i { display: block; height: 100%; background: var(--accent); transition: width .3s; }
.carpe-admin pre.json { background: var(--sunk); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px; max-height: 360px; overflow: auto; font-size: 12px; }

/* 0.2 smulkūs pataisymai */
.carpe-portal .chip, .carpe-driver .chip { white-space: normal; line-height: 1.3; padding: 3px 10px; font-size: .86rem; justify-self: start; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty input[type=number] { -moz-appearance: textfield; appearance: textfield; }
.carpe label.choice { display: grid; margin: 0; }
.carpe label.choice .ct { color: var(--ink); }
@media (min-width: 901px) { .pp .gal { position: sticky; top: 130px; align-self: start; } }
@media (max-width: 760px) {
  .top { position: static; }
  .top-in { gap: 8px 10px; padding: 8px 12px; }
  .top-co small { display: none; }
  .top-tools { margin-left: 0; width: 100%; display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 6px; }
  .tool { justify-content: center; padding: 0 8px; font-size: .88rem; }
  .top-nav { position: sticky; top: 0; z-index: 30; background: var(--surface); }
  .top-cart { display: none; }
  .finder { padding: 12px 12px 24px; }
  .pg { padding: 12px; }
  .pgrid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------------- Skeneris 0.2: pradžios ekranas ir vedliai ---------------- */
body.carpe-scanner { font-size: 17px; }
.s-home { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 10px 0 16px; }
.s-tile { min-height: 150px; border: 0; border-radius: var(--r-lg); background: var(--mode); color: #fff; font: inherit; text-align: left; padding: 18px; cursor: pointer; display: grid; align-content: space-between; gap: 6px; position: relative; }
.s-tile .n { position: absolute; top: 14px; right: 16px; font-size: 2.2rem; font-weight: 700; opacity: .35; }
.s-tile .t { font-size: 1.6rem; font-weight: 700; line-height: 1.15; }
.s-tile .d { font-size: .95rem; opacity: .9; }
.s-tile:focus-visible { outline: 4px solid #fff; outline-offset: 2px; }
.s-more { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 12px; }
.s-back { min-height: 52px; }
.s-title { font-size: 1.3rem; }
.s-steps { list-style: none; padding: 0; margin: 0 0 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.s-steps li { display: flex; align-items: center; gap: 8px; background: #2b3138; border: 1px solid #3c444d; border-radius: 999px; padding: 6px 14px 6px 6px; color: #c9cfd6; }
.s-steps li .n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #1b1f24; font-weight: 700; }
.s-steps li.on { background: var(--mode); border-color: var(--mode); color: #fff; } .s-steps li.on .n { background: #fff; color: var(--ink); }
.s-steps li.done .n { background: var(--thread); color: var(--ink); }
.s-steps li b { color: #fff; }
.s-item { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px; align-items: center; margin: 4px 0 10px; }
.s-thumb { width: 110px; height: 82px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); }
.s-stat { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.s-stat > div { background: var(--sunk); border-radius: var(--r); padding: 8px 12px; min-width: 110px; }
.s-stat b { display: block; font-size: 1.6rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.s-stat span { font-size: .85rem; color: var(--muted); }
.s-stat .free { background: var(--ok-soft); } .s-stat .free b { color: var(--ok); }
.s-stat .warn { background: var(--made-soft); } .s-stat .unk { background: var(--unknown-soft); }
.s-order { justify-content: space-between !important; gap: 10px; min-height: 56px; margin-bottom: 8px; white-space: normal; text-align: left; }
.s-pickhead { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
.s-picklines { display: grid; gap: 6px; margin-top: 8px; }
.s-pl { display: grid; grid-template-columns: 80px minmax(0, 1fr) 90px 90px; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: var(--r); padding: 6px 10px; }
.s-pl img { width: 80px; height: 60px; object-fit: contain; }
.s-pl.done { background: var(--ok-soft); border-color: #b9dfc9; }
.s-plloc, .s-plq { display: grid; text-align: center; } .s-plloc span, .s-plq span { font-size: .78rem; color: var(--muted); }
.s-plloc b { font-size: 1.15rem; } .s-plq b { font-size: 1.3rem; }
.s-conf { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0; }
.s-conf > div { border: 1px solid var(--line); border-radius: var(--r); padding: 10px; display: grid; gap: 2px; }
.s-conf span { font-size: .8rem; color: var(--muted); }
.s-warn { background: var(--made-soft); color: var(--made); padding: 8px 10px; border-radius: var(--r); font-weight: 600; }
@media (max-width: 640px) { .s-pl { grid-template-columns: 60px minmax(0, 1fr) 70px; } .s-pl .s-plloc { display: none; } .s-tile { min-height: 110px; } .s-tile .t { font-size: 1.3rem; } }

/* 0.2.2: metų / kartų atitikimas ir automobilio iliustracijos */
.fit { display: inline-block; margin: 2px 0 4px; padding: 3px 10px; border-radius: var(--r-sm); font-weight: 600; font-size: .95rem; }
.fit-ok { background: #e4f5e8; color: #135c2a; border: 1px solid #9fd2ad; }
.fit-check { background: #fff6d8; color: #5c4600; border: 1px solid #ecd28a; }
.fit-no { background: #f7e6e6; color: #7a1c1c; border: 1px solid #e2b0b0; }
.fit-sum { font-size: 1.05rem; margin: 4px 0 10px; }
.fit-group { margin: 18px 0; }
.fit-group > h3 { font-size: 1.2rem; margin: 0 0 6px; }
.fit-group-check { border-top: 2px dashed #ecd28a; padding-top: 10px; }
.fit-group-no { border-top: 2px dashed #e2b0b0; padding-top: 10px; opacity: .92; }
.ph .small { font-size: .8rem; }

/* ============ 0.3: sandėlio skeneris telefonui ============ */
.s-m { max-width: 760px; padding: 8px 12px 90px; }
.s-bar { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 8px; padding: 8px 0 10px; background: #1b1f24; }
.s-bar .brand-mark { margin: 0; background: #0f1215; }
.s-bar-t { font-size: 1.2rem; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; }
.s-icon { min-width: 48px; min-height: 48px; border-radius: 12px; border: 1px solid #3c444d; background: #2b3138; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.s-locchip { min-height: 48px; border-radius: 999px; border: 1px solid #3c444d; background: #2b3138; color: #fff; font: inherit; font-weight: 600; padding: 0 14px; cursor: pointer; max-width: 42vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.s-locchip.warn { background: #6b1d17; border-color: #b3261e; }
.s-locs { display: grid; gap: 8px; max-height: 60vh; overflow: auto; }
.s-locs .btn { justify-content: flex-start; min-height: 52px; font-size: 1.05rem; }
.s-h { color: #fff; font-size: 1.05rem; margin: 14px 0 8px; text-transform: uppercase; letter-spacing: .04em; opacity: .8; }
.s-today { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.s-stat-card { text-align: left; border-radius: 16px; border: 1px solid #3c444d; background: #2b3138; color: #fff; padding: 14px; font: inherit; cursor: pointer; min-height: 92px; display: grid; align-content: space-between; }
.s-stat-card b { font-size: 2rem; line-height: 1; font-variant-numeric: tabular-nums; }
.s-stat-card span { color: #c9cfd6; font-size: .95rem; }
.s-stat-card.warn { background: #3d2f00; border-color: #8a6a00; }
.s-next { margin-top: 12px; } .s-next h3 { margin: 0 0 6px; font-size: 1rem; }
.s-row { display: flex; gap: 10px; align-items: center; width: 100%; min-height: 54px; border: 0; border-top: 1px solid var(--line); background: none; font: inherit; text-align: left; cursor: pointer; padding: 6px 2px; }
.s-row span:nth-child(2) { flex: 1; color: var(--muted); }
.s-m .s-home { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.s-m .s-tile { min-height: 110px; padding: 14px; }
.s-m .s-tile .t { font-size: 1.35rem; }
.s-searchrow { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.s-search { min-height: 56px; font-size: 1.2rem; border-radius: 14px; border: 0; padding: 0 16px; }
.s-cam { min-width: 56px; min-height: 56px; }
.s-chips { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0; }
.s-chips button { flex: 0 0 auto; min-height: 42px; border-radius: 999px; border: 1px solid #48505a; background: transparent; color: #dfe4e9; font: inherit; padding: 0 14px; cursor: pointer; }
.s-chips button[aria-pressed=true] { background: #fff; color: var(--ink); font-weight: 600; }
.s-list { display: grid; gap: 8px; }
.s-li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; align-items: center; background: #fff; color: var(--ink); border: 0; border-radius: 14px; padding: 8px 12px 8px 8px; font: inherit; text-align: left; cursor: pointer; min-height: 72px; }
.s-li img, .s-li .ph-mini { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; }
.s-li-b { min-width: 0; } .s-li-b b { display: block; font-size: 1rem; line-height: 1.25; } .s-li-b small { color: var(--muted); }
.s-q { font-size: 1.5rem; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; color: var(--ok); }
.s-q small { display: block; font-size: .72rem; font-weight: 500; color: var(--muted); }
.s-q.low { color: var(--danger); } .s-q.unk { font-size: .9rem; color: #8a6a00; }
.s-acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 12px; }
.s-act { min-height: 72px; border: 0; border-radius: 16px; color: #fff; font: inherit; font-size: 1.2rem; font-weight: 700; cursor: pointer; }
.s-act.in { background: #1f7a4d; } .s-act.out { background: #b3261e; } .s-act.move { background: #2357d6; } .s-act.count { background: #6b3fa0; }
.s-stepper { display: grid; grid-template-columns: 64px 1fr 64px auto; gap: 8px; align-items: center; margin: 6px 0 12px; }
.s-stepper button { min-height: 64px; border-radius: 14px; border: 1px solid var(--line); background: #f2f4f6; font-size: 1.8rem; font-weight: 700; cursor: pointer; }
.s-stepper button.small { font-size: 1rem; padding: 0 12px; }
.s-stepq { text-align: center; font-size: 2.2rem; font-variant-numeric: tabular-nums; }
.s-stepper.dark { grid-template-columns: 56px 110px 56px; margin: 0; }
.s-stepper.dark button { background: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.35); min-height: 56px; }
.s-stepper.dark input { min-height: 56px; }
.s-qtyrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.s-m .s-scan-row { grid-template-columns: 1fr auto auto; }
@media (max-width: 640px) { .s-m .s-scan-row { grid-template-columns: 1fr 1fr; } .s-m .s-scan-row label { grid-column: 1 / -1; } .s-m .s-scan-row .btn { grid-column: auto; min-height: 56px; } }
.s-video { width: 100%; max-height: 60vh; border-radius: 12px; background: #000; object-fit: cover; }
.s-nextpick { background: #0f6e74; color: #fff; border-radius: 16px; padding: 12px; margin: 8px 0 12px; }
.s-nextpick > span { font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; opacity: .85; }
.s-np-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 6px; }
.s-np-row img, .s-np-row .ph-mini { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: #fff; }
.s-np-loc { font-size: 1.6rem; display: block; } .s-np-name { font-weight: 600; } .s-np-qty { font-size: 2rem; }
.s-pl.part { background: #fff8e1; border-left: 6px solid #e0a800; }
.s-pl.done { background: #e3f3ea; border-left: 6px solid var(--ok); }
.s-pl.over { background: #fbe9e7; border-left: 6px solid var(--danger); }
body.s-fx-ok::after, body.s-fx-err::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9999; animation: sfx .45s ease forwards; }
body.s-fx-ok::after { background: rgba(31, 122, 77, .35); } body.s-fx-err::after { background: rgba(179, 38, 30, .45); }
@keyframes sfx { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { body.s-fx-ok::after, body.s-fx-err::after { animation-duration: .01s; } }

/* ---------------- 0.4: kalbos, prekių grupės, derinių nuotraukos ---------------- */
.langs { display: inline-flex; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: var(--surface); }
.langs button { border: 0; background: none; min-height: 44px; min-width: 40px; padding: 0 8px; font: inherit; font-size: .86rem; font-weight: 600; letter-spacing: .03em; color: var(--ink-2); cursor: pointer; }
.langs button + button { border-left: 1px solid var(--line); }
.langs button[aria-pressed=true] { background: var(--asphalt); color: #fff; }
.pcats { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 12px; margin: 0 0 4px; scrollbar-width: thin; }
.pcats button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font: inherit; font-weight: 600; color: var(--ink); cursor: pointer; white-space: nowrap; }
.pcats button small { font-weight: 500; color: var(--muted); font-size: .8rem; }
.pcats button[aria-pressed=true] { background: var(--asphalt); border-color: var(--asphalt); color: #fff; }
.pcats button[aria-pressed=true] small { color: #c9ced6; }
.tile.tile-sw, .tile.tile-img { flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; }
.tile .sw { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }
.tile .tile-thumb { flex: 0 0 44px; width: 44px; height: 44px; object-fit: cover; border-radius: 6px; background: var(--sunk); }
.gal-cap { margin: 0 0 8px; font-size: .88rem; color: var(--muted); }
.pc-photo { position: relative; }
.pc-tag { position: absolute; left: 8px; bottom: 8px; background: rgba(20,22,26,.72); color: #fff; font-size: .74rem; padding: 2px 8px; border-radius: 999px; pointer-events: none; }
.related { margin-top: 28px; }
.related > h2 { margin-bottom: 2px; }
.carpe-admin .looks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.carpe-admin .look-card { border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.carpe-admin .look-card img, .carpe-admin .look-card .ph-mini { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: var(--sunk); }
.carpe-admin .look-card .small { color: var(--muted); }
@media (max-width: 640px) {
  .langs button { min-width: 36px; padding: 0 6px; }
}
.preset { margin: 0 0 12px; padding: 10px 12px; border-radius: var(--r-sm); background: #eef7ee; border: 1px solid #b9dcb9; font-size: .95rem; }
/* 0.4: mygtukas „Į krepšelį“ netelpa siauroje kortelėje — perkeliamas į kitą eilutę; skirtukai kompiuteryje laužomi */
.buy-row { flex-wrap: wrap; }
.buy-row .btn { flex: 1 1 120px; min-width: 0; }
@media (min-width: 900px) { .pcats { flex-wrap: wrap; overflow: visible; } }
.finder .pcats button[aria-pressed=true] { background: var(--accent); border-color: var(--accent); color: #fff; }
.finder .pcats button[aria-pressed=true] small { color: #dfe7fb; }
@media (max-width: 640px) {
  .top-tools .langs { grid-column: 1 / -1; display: flex; }
  .top-tools .langs button { flex: 1; }
}
/* 0.4: administravimo langų formos (langas — ne .carpe-admin viduje) */
.modal .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.modal label:not(.check) { display: flex; flex-direction: column; gap: 4px; font-size: .9rem; font-weight: 600; margin-bottom: 10px; }
.modal label.check { display: flex; align-items: center; gap: 8px; font-size: .92rem; margin: 6px 0; }
.modal select, .modal input[type=text], .modal input[type=number], .modal input[type=search], .modal input:not([type]), .modal textarea { width: 100%; min-height: 40px; padding: 6px 10px; border: 1px solid #c9ced6; border-radius: 6px; font: inherit; font-weight: 400; box-sizing: border-box; }
@media (max-width: 560px) { .modal .grid2 { grid-template-columns: 1fr; } }

/* ---------------- 0.4.1: užsakymas iš Excel ---------------- */
.qo { display: grid; gap: 14px; }
.qo-head h1 { margin: 0 0 4px; }
.qo-start { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qo-card { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.qo-card h2 { margin: 0; font-size: 1.05rem; padding-left: 36px; min-height: 26px; display: flex; align-items: center; }
.qo-n { position: absolute; left: 14px; top: 16px; width: 26px; height: 26px; border-radius: 50%; background: var(--asphalt); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .9rem; }
.qo-card .btn { justify-content: center; }
.qo-card textarea { width: 100%; font-family: ui-monospace, Menlo, monospace; font-size: .9rem; }
.qo-drop { flex: 1; min-height: 150px; border: 2px dashed #b8c2d1; border-radius: var(--r); background: #f7f9fc; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 14px; cursor: pointer; color: var(--ink-2); transition: background .15s, border-color .15s; }
.qo-drop:hover, .qo-drop.over, .qo-drop:focus-visible { border-color: var(--accent); background: var(--accent-soft); }
.qo-drop .qo-ic { color: var(--accent); }
.qo-busy { color: var(--muted); }
.qo-file { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 10px 14px; }
.qo-map { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 10px 14px; }
.qo-map summary { cursor: pointer; font-size: .92rem; color: var(--ink-2); }
.qo-map-in { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.qo-map-in label { display: grid; gap: 4px; font-size: .85rem; font-weight: 600; }
.qo-bar { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; background: var(--asphalt); color: #fff; border-radius: var(--r-lg); padding: 12px 14px; }
.qo-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.qo-filters button { min-height: 38px; border-radius: 999px; border: 1px solid #4b5563; background: transparent; color: #e5e7eb; padding: 0 12px; font: inherit; font-size: .88rem; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.qo-filters button b { background: rgba(255,255,255,.14); border-radius: 999px; padding: 0 7px; font-size: .8rem; }
.qo-filters button[aria-pressed=true] { background: #fff; color: var(--ink); border-color: #fff; }
.qo-filters button[aria-pressed=true] b { background: var(--sunk); }
.qo-filters .qo-f-ok b { background: #1f7a3a; color: #fff; } .qo-filters .qo-f-choose b { background: #b45309; color: #fff; } .qo-filters .qo-f-error b { background: #b42318; color: #fff; }
.qo-total { display: grid; justify-items: end; line-height: 1.15; }
.qo-total b { font-size: 1.35rem; } .qo-total small, .qo-total span { color: #c9ced6; font-size: .82rem; }
.qo-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.qo-actions .btn-ghost { color: #fff; border-color: #4b5563; }
.qo-hint { margin: 0; color: var(--made); font-size: .92rem; }
.qo-list { display: grid; gap: 8px; transition: opacity .15s; }
.qo-list.busy { opacity: .55; pointer-events: none; }
.qo-row { display: grid; grid-template-columns: 34px 64px minmax(0, 1fr) 92px 120px 170px 36px; gap: 12px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--line); border-radius: var(--r); padding: 10px 12px; }
.qo-row.qo-ok { border-left-color: #1f9d55; } .qo-row.qo-choose { border-left-color: #d97706; background: #fffaf0; } .qo-row.qo-nf, .qo-row.qo-err { border-left-color: #d92d20; background: #fff6f5; }
.qo-no { color: var(--muted); font-size: .85rem; text-align: right; }
.qo-img { width: 64px; height: 48px; object-fit: cover; border-radius: 6px; background: var(--sunk); }
.qo-name { font-weight: 600; line-height: 1.25; }
.qo-qty input { width: 80px; min-height: 40px; text-align: center; font: inherit; font-weight: 600; border: 1px solid var(--line); border-radius: 6px; }
.qo-price { display: grid; justify-items: end; } .qo-price small { color: var(--muted); font-size: .8rem; }
.qo-st { display: grid; gap: 4px; justify-items: start; font-size: .88rem; }
.qo-chip { font-weight: 700; font-size: .85rem; }
.qo-ok .qo-chip { color: #1f7a3a; } .qo-choose .qo-chip { color: #b45309; } .qo-nf .qo-chip, .qo-err .qo-chip { color: #b42318; }
.qo-choose select.qo-choose { margin-top: 6px; width: 100%; max-width: 420px; min-height: 40px; border: 2px solid #d97706; border-radius: 6px; font: inherit; background: #fff; }
.qo-sug { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.qo-merge { color: var(--accent); }
.qo-x { width: 36px; height: 36px; border: 1px solid var(--line); background: #fff; border-radius: 50%; font-size: 1.2rem; line-height: 1; cursor: pointer; color: var(--muted); }
.qo-x:hover { color: var(--danger); border-color: var(--danger); }
@media (max-width: 1100px) {
  .qo-row { grid-template-columns: 26px 56px minmax(0, 1fr) 84px 36px; }
  .qo-price, .qo-st { grid-column: 3 / -1; justify-items: start; }
  .qo-price { display: flex; gap: 8px; align-items: baseline; }
}
@media (max-width: 760px) {
  .qo-start { grid-template-columns: 1fr; }
  .qo-map-in { grid-template-columns: 1fr 1fr; }
  .qo-bar { grid-template-columns: 1fr; top: 0; }
  .qo-total { justify-items: start; } .qo-actions { justify-content: stretch; } .qo-actions .btn { flex: 1; }
  .qo-row { grid-template-columns: 52px minmax(0, 1fr) 36px; gap: 8px 10px; }
  .qo-no { display: none; }
  .qo-img { width: 52px; height: 40px; }
  .qo-qty { grid-column: 1; grid-row: 2; } .qo-qty input { width: 52px; padding: 0; }
  .qo-price, .qo-st { grid-column: 2 / -1; }
  .qo-x { grid-column: 3; grid-row: 1; }
}

/* ---------------- 0.4.1: sandėlis — visos pozicijos ---------------- */
.s-sum { margin: 8px 0 2px; }
.s-sum-h { color: #dfe4e9; font-size: .92rem; margin-bottom: 8px; }
.s-sum-h b { color: #fff; font-size: 1.05rem; }
.s-sum-g { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.s-sum-i { display: grid; gap: 2px; justify-items: center; padding: 8px 4px; border-radius: 12px; border: 2px solid transparent; background: #fff; color: var(--ink); font: inherit; cursor: pointer; min-height: 62px; }
.s-sum-i b { font-size: 1.35rem; line-height: 1; font-variant-numeric: tabular-nums; }
.s-sum-i span { font-size: .72rem; color: var(--muted); }
.s-sum-i[aria-pressed=true] { border-color: #fff; box-shadow: 0 0 0 2px var(--accent); }
.s-sum-i.lv-ok b { color: #1f9d55; } .s-sum-i.lv-low b { color: #d97706; } .s-sum-i.lv-zero b { color: #d92d20; } .s-sum-i.lv-unknown b { color: #6b7280; } .s-sum-i.lv-res b { color: #2357d6; }
.s-ctl { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin: 4px 0 10px; flex-wrap: wrap; }
.s-seg { display: inline-flex; background: #2a2f36; border-radius: 12px; padding: 3px; }
.s-seg button { border: 0; background: transparent; color: #dfe4e9; min-height: 40px; padding: 0 10px; border-radius: 9px; font: inherit; font-size: .88rem; cursor: pointer; }
.s-seg button[aria-pressed=true] { background: #fff; color: var(--ink); font-weight: 600; }
.s-sort { min-height: 42px; border-radius: 10px; border: 0; padding: 0 10px; font: inherit; font-size: .9rem; max-width: 52%; }
.s-li { border-left: 6px solid #c9ced6; }
.s-li.lv-ok { border-left-color: #1f9d55; } .s-li.lv-low { border-left-color: #f59e0b; } .s-li.lv-zero { border-left-color: #d92d20; } .s-li.lv-unknown { border-left-color: #c9ced6; }
.s-q.lv-ok { color: #1f9d55; } .s-q.lv-low { color: #d97706; } .s-q.lv-zero { color: #d92d20; } .s-q.lv-unknown { color: #6b7280; }
.s-tgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.s-ti { display: flex; flex-direction: column; gap: 4px; text-align: left; background: #fff; color: var(--ink); border: 0; border-radius: 14px; padding: 8px; font: inherit; cursor: pointer; border-top: 6px solid #c9ced6; }
.s-ti.lv-ok { border-top-color: #1f9d55; } .s-ti.lv-low { border-top-color: #f59e0b; } .s-ti.lv-zero { border-top-color: #d92d20; }
.s-ti-ph { position: relative; }
.s-ti-ph img, .s-ti-ph .ph-mini { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: 10px; display: block; }
.s-ti-q { position: absolute; right: 6px; bottom: 6px; min-width: 44px; text-align: center; padding: 4px 8px; border-radius: 10px; background: #fff; font-weight: 800; font-size: 1.3rem; box-shadow: 0 1px 4px rgba(0,0,0,.25); font-variant-numeric: tabular-nums; }
.s-ti.lv-ok .s-ti-q { color: #1f9d55; } .s-ti.lv-low .s-ti-q { color: #d97706; } .s-ti.lv-zero .s-ti-q { color: #d92d20; } .s-ti.lv-unknown .s-ti-q { color: #6b7280; }
.s-ti-n { font-size: .9rem; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.s-ti small { color: var(--muted); font-size: .76rem; }
.s-ti-l { font-size: .74rem; font-weight: 700; color: var(--muted); }
.s-ti.lv-ok .s-ti-l { color: #1f9d55; } .s-ti.lv-low .s-ti-l { color: #d97706; } .s-ti.lv-zero .s-ti-l { color: #d92d20; }
.s-shelves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.s-shelf { display: grid; gap: 2px; text-align: left; background: #fff; color: var(--ink); border: 0; border-radius: 14px; padding: 12px; font: inherit; cursor: pointer; min-height: 88px; }
.s-shelf b { font-size: 1.15rem; } .s-shelf span { font-size: .84rem; color: var(--ink-2); } .s-shelf small { color: #1f9d55; font-weight: 600; }
.s-shelf.empty { opacity: .65; } .s-shelf.empty small { color: var(--muted); }
.s-shelf-h { display: flex; gap: 8px; align-items: center; color: #fff; margin-bottom: 6px; }
.s-shelf-h b { font-size: 1.15rem; flex: 1; }
.s-more { width: 100%; margin-top: 10px; }
.s-min { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid #eceef1; margin-top: 6px; font-size: .92rem; }
@media (min-width: 700px) { .s-tgrid, .s-shelves { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* administravimo likučiai */
.carpe-admin .st-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.carpe-admin .st-kpi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 10px 12px; text-align: left; font: inherit; cursor: pointer; border-top: 4px solid var(--line); }
.carpe-admin .st-kpi b { display: block; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.carpe-admin .st-kpi span { font-size: .82rem; color: var(--muted); }
.carpe-admin .st-kpi[aria-pressed=true] { box-shadow: 0 0 0 2px var(--accent); }
.carpe-admin .st-kpi.lv-ok { border-top-color: #1f9d55; } .carpe-admin .st-kpi.lv-low { border-top-color: #f59e0b; } .carpe-admin .st-kpi.lv-zero { border-top-color: #d92d20; } .carpe-admin .st-kpi.lv-unknown { border-top-color: #9ca3af; } .carpe-admin .st-kpi.lv-res { border-top-color: #2357d6; }
.carpe-admin .st-q { display: inline-block; min-width: 46px; text-align: center; padding: 3px 8px; border-radius: 999px; font-weight: 700; font-variant-numeric: tabular-nums; }
.carpe-admin .st-q.lv-ok { background: #e7f6ed; color: #146c36; } .carpe-admin .st-q.lv-low { background: #fff3df; color: #9a5b00; } .carpe-admin .st-q.lv-zero { background: #fdecea; color: #a11a12; } .carpe-admin .st-q.lv-unknown { background: #f0f1f3; color: #555c66; }
.carpe-admin .st-min { width: 64px; }
@media (max-width: 1100px) { .carpe-admin .st-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------------- 0.4.1: patogumai ---------------- */
.top-credit { display: block; color: #1f7a3a; font-weight: 600; }
.top-credit.warn { color: var(--danger); }
.credit { margin: 8px 0; padding: 8px 10px; border-radius: var(--r-sm); background: #eef7ee; border: 1px solid #b9dcb9; font-size: .92rem; }
.credit.over { background: #fff6f5; border-color: #f3b4ae; color: #9b1c14; }
.cart-tools { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 4px; }
.cart-tools .btn { flex: 1 1 auto; }
.tpls h3 { margin: 0 0 8px; font-size: 1rem; }
.tpls.compact { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line); }
.tpl-list { display: grid; gap: 6px; }
.tpl { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 8px 10px; }
.tpl-b { display: grid; } .tpl-b small { color: var(--muted); }
.quickrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.lastord { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--accent); border-radius: var(--r); padding: 12px 14px; }
.lastord small { display: block; color: var(--muted); font-size: .8rem; }
.lastord b { font-size: 1.05rem; }
@media (max-width: 760px) { .quickrow { grid-template-columns: 1fr; } }
label.qo-drop { display: flex; flex-direction: column; }
.qo-drop > b, .qo-drop > span.small { display: block; max-width: 240px; }
.qo-drop > b { font-size: 1.02rem; color: var(--ink); }

/* 0.4.3: kilimėlių peržiūra (SVG), kol derinio nuotraukos nėra; nesuderinama reikšmė — pritemdyta, bet paspaudžiama */
.matsvg { width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; }
.matsvg svg { width: 100%; height: 100%; display: block; }
.pc-open .matsvg { aspect-ratio: 4 / 3; }
.pr-photo .matsvg.sm { width: 120px; height: 90px; }
@media (max-width: 760px) { .pr-photo .matsvg.sm { width: 96px; height: 72px; } }
.gal-main .matsvg.big svg { height: auto; max-height: 100%; }
.tile .tile-mat { display: block; overflow: hidden; }
.tile .tile-mat svg { width: 100%; height: 100%; }
.tile.tile-x { opacity: .55; border-style: dashed; }
.tile.tile-x:hover, .tile.tile-x:focus-visible { opacity: 1; }
.carpe-admin .op-table select, .carpe-admin .op-table input { min-height: 34px; }

/* 0.4.3: medžiagų plytelės su nuotrauka — nuotrauka viršuje, visas pavadinimas */
.tiles.tiles-pic { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.tiles-pic .tile.tile-img, .tiles-pic .tile { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 6px; padding: 6px; text-align: center; }
.tiles-pic .tile .tile-thumb { flex: none; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.tiles-pic .tile .tile-noimg { display: block; background: repeating-linear-gradient(135deg, #f1f2f4, #f1f2f4 8px, #e9ebee 8px, #e9ebee 16px); }
.tiles-pic .tile .t { font-size: .95rem; white-space: normal; overflow-wrap: anywhere; hyphens: auto; }
.tiles-pic .tile[aria-pressed="true"] .tile-thumb { outline: 3px solid var(--accent, #2453a6); outline-offset: -3px; }
@media (max-width: 520px) { .tiles.tiles-pic { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 0.4.3: nuotraukos peržiūra tame pačiame lange; nuotrauka niekada neapkarpoma */
.gal-zoom { border: 0; padding: 0; margin: 0; background: transparent; width: 100%; height: 100%; cursor: zoom-in; display: grid; place-items: center; }
.gal-main .gal-zoom img { width: 100%; height: 100%; object-fit: contain; }
.gal-thumbs .gal-zoom { width: auto; height: auto; }
.gal-thumbs img { object-fit: contain; background: #fff; }
.lb { position: fixed; inset: 0; z-index: 100000; background: rgba(12, 14, 18, .92); display: grid; place-items: center; }
.lb-stage { position: absolute; inset: 48px 56px; display: grid; place-items: center; }
.lb-img { max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.lb > button { position: absolute; border: 0; background: rgba(255,255,255,.14); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.lb > button:hover, .lb > button:focus-visible { background: rgba(255,255,255,.3); }
.lb-x { top: 10px; right: 10px; }
.lb-prev { left: 6px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 6px; top: 50%; transform: translateY(-50%); }
.lb-n { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #e6e8eb; font-size: .9rem; }
@media (max-width: 640px) { .lb-stage { inset: 56px 8px 40px; } .lb-prev, .lb-next { top: auto; bottom: 4px; transform: none; } }

  background: radial-gradient(ellipse 62% 48% at 100% 0%, rgba(255,255,255,.93) 0%, rgba(255,255,255,.78) 45%, rgba(255,255,255,0) 100%), linear-gradient(0deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 42%); }
.gal-main.gal-comp { aspect-ratio: auto; display: block; place-items: normal; justify-items: stretch; }
.gal-thumbs .gal-tcomp { padding: 0; overflow: hidden; }
.gal-czoom { display: block; width: 100%; cursor: zoom-in; border-radius: var(--r); overflow: hidden; }
.gal-czoom:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.lb-comp .lb-cstage { inset: 40px 24px; }
.lb-comp .lb-look { position: absolute; left: 50%; bottom: -34px; transform: translateX(-50%); display: flex; gap: 8px; align-items: center; width: auto; height: auto; border-radius: 999px; padding: 4px 14px 4px 4px; font-size: .9rem; background: rgba(255,255,255,.16); color: #fff; }
.lb-comp .lb-look img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
.lb-comp .lb-look { position: absolute; }

/* 0.4.4: nuotrauka niekada neapkarpoma — vaizdas užpildo rėmelį absoliučiai (tinklelio elementas nebeišsitempia iki tikrojo pločio) */
.gal-main { position: relative; display: block; }
.gal-main > .gal-zoom, .gal-main > a, .gal-main > img, .gal-main > .ph, .gal-main > .matsvg { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.gal-main > .gal-zoom img, .gal-main > a img, .gal-main > img { width: 100%; height: 100%; object-fit: contain; display: block; }
.gal-main.gal-comp > .gal-czoom { position: static; }
.pc-open, .pr-photo { min-width: 0; overflow: hidden; }
.pc-open img, .pr-photo img { max-width: 100%; }
.tiles-pic .tile .tile-thumb { object-fit: contain; background: #f1f2f4; }
.tile .tile-thumb { object-fit: contain; background: #f1f2f4; }

/* 0.4.4: EVA / tekstilės pagrindinė — tikros nuotraukos: automobilis (visas, neapkarpytas) + carpe.lt derinio / medžiagos nuotrauka */
.evam { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; container-type: inline-size; isolation: isolate; text-align: left; color: #121212;
  background: radial-gradient(ellipse 90% 70% at 70% 100%, #e4e6ea 0%, rgba(228,230,234,0) 70%), linear-gradient(180deg, #f7f8fa 0%, #eceef1 100%); }
.evam-carbox { position: absolute; left: 3%; top: 4%; width: 60%; height: 58%; display: flex; align-items: center; justify-content: center; z-index: 1; }
.evam-car { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 1.2cqw; box-shadow: 0 1cqw 2.6cqw rgba(0,0,0,.22); }
.evam-title { position: absolute; z-index: 3; top: 6%; right: 4%; width: 33%; text-align: right; line-height: 1.04; letter-spacing: -.01em; }
.evam-h { font-size: 18px; font-size: 5.4cqw; font-weight: 400; }
.evam-h b { font-weight: 900; letter-spacing: -.03em; }
.evam-m { font-size: 13px; font-size: 3.7cqw; font-weight: 700; margin-top: .3em; overflow-wrap: anywhere; }
.evam-m em { font-style: normal; font-weight: 800; color: #d62b2b; }
.evam-y { font-size: 10px; font-size: 2.3cqw; color: #4b5058; margin-top: .35em; font-weight: 600; }
.evam-feat { position: absolute; z-index: 3; top: 33%; right: 4%; width: 33%; display: flex; justify-content: flex-end; gap: 1.6cqw; list-style: none; margin: 0; padding: 0; font-size: 1.55cqw; line-height: 1.2; color: #2a2d33; }
.evam-feat li { width: 9.5cqw; text-align: center; }
.evam-feat svg { width: 3.8cqw; height: 3.8cqw; display: block; margin: 0 auto .5cqw; }
.evam-mat { position: absolute; z-index: 2; right: 2%; bottom: 2%; width: 55%; height: 62%; display: flex; align-items: flex-end; justify-content: flex-end; }
.evam-matimg { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 .6cqw 1cqw rgba(0,0,0,.08)); }
.evam-mats { width: 100%; height: 100%; perspective: 70cqw; filter: drop-shadow(0 2.2cqw 2.4cqw rgba(0,0,0,.35)); }
.evam-mats svg { width: 100%; height: 100%; transform: rotateX(38deg) rotateZ(-14deg); transform-origin: 55% 55%; }
/* be automobilio nuotraukos — didesnė kilimėlio nuotrauka, antraštė kairėje */
.evam-nocar .evam-title { left: 5%; right: auto; width: 60%; text-align: left; }
.evam-nocar .evam-feat { left: 5%; right: auto; justify-content: flex-start; top: 32%; width: 50%; }
.evam-nocar .evam-mat { width: 66%; height: 80%; right: 3%; bottom: 3%; }
/* kortelėje — tik antraštė ir nuotraukos; dešinėje viršuje — širdelė, todėl antraštė žemiau jos */
.evam-sm .evam-title { top: 22%; width: 36%; }
.evam-sm .evam-h { font-size: 6.2cqw; }
.evam-sm .evam-m { font-size: 4.6cqw; }
.evam-sm .evam-y { font-size: 3.2cqw; }
.evam-sm.evam-nocar .evam-title { top: 6%; width: 62%; }
.evam-panel { position: absolute; z-index: 4; left: 2%; bottom: 2.5%; width: 41%; background: linear-gradient(180deg, rgba(28,30,34,.95), rgba(12,13,15,.97)); color: #fff; border-radius: 1.2cqw; padding: 1.3cqw 1.6cqw; box-shadow: 0 1cqw 3cqw rgba(0,0,0,.35); }
.evam-pg + .evam-pg { border-top: 1px solid rgba(255,255,255,.14); margin-top: .9cqw; padding-top: .9cqw; }
.evam-pl { font-size: 1.35cqw; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-left: .4cqw solid #d62b2b; padding-left: .7cqw; margin-bottom: .7cqw; }
.evam-sw { display: flex; flex-wrap: wrap; gap: .7cqw .9cqw; }
.evam-sw button { background: none; border: 0; padding: 0; color: #e9ebee; cursor: pointer; width: 4.1cqw; display: flex; flex-direction: column; align-items: center; gap: .35cqw; font: inherit; }
.evam-sw button:disabled { opacity: .35; cursor: not-allowed; }
.evam-dot { width: 3.1cqw; height: 3.1cqw; border-radius: 50%; display: block; overflow: hidden; background-size: cover; background-position: center; box-shadow: inset 0 0 0 .22cqw rgba(255,255,255,.55), 0 .2cqw .5cqw rgba(0,0,0,.4); }
.evam-dot svg { width: 100%; height: 100%; display: block; }
.evam-sw button[aria-pressed="true"] .evam-dot { box-shadow: 0 0 0 .3cqw #fff, 0 0 0 .6cqw #d62b2b; }
.evam-sl { font-size: 1.05cqw; line-height: 1.1; text-align: center; }
.gal-main.gal-comp { aspect-ratio: auto; place-items: normal; justify-items: stretch; }
.gal-czoom { display: block; width: 100%; cursor: zoom-in; border-radius: var(--r); overflow: hidden; }
.gal-czoom:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.gal-thumbs .gal-tcomp { padding: 0; overflow: hidden; }
.gal-tcomp .evam { width: 96px; }
.lb-comp .evam { width: min(100%, calc((100vh - 90px) * 4 / 3)); border-radius: 10px; box-shadow: 0 14px 50px rgba(0,0,0,.5); }
.pr-photo .evam { width: 120px; }
@media (max-width: 760px) { .pr-photo .evam { width: 96px; } }
@container (max-width: 560px) { .evam-panel { display: none; } }
@container (max-width: 420px) { .evam-feat { display: none; } }
@container (max-width: 170px) { .evam-title, .evam-feat { display: none; } .evam-mat { width: 62%; height: 70%; } }
/* 0.4.4 išdėstymas be persidengimų: automobilis kairėje viršuje, antraštė ir savybės dešinėje viršuje, kilimėlis dešinėje apačioje */
.evam-feat { top: 29%; }
.evam-mat { width: 48%; height: 56%; }
.evam-sm .evam-carbox { width: 64%; height: 60%; }
.evam-sm .evam-title { top: auto; bottom: 6%; left: 4.5%; right: auto; width: 44%; text-align: left; }
.evam-sm .evam-mat { width: 52%; height: 60%; }
.evam-sm.evam-nocar .evam-title { top: 6%; bottom: auto; width: 46%; }
.evam-sm.evam-nocar .evam-mat { width: 58%; height: 84%; }
/* derinio nuotrauka — tvarkinga kortelė (carpe.lt nuotraukos su šviesiu fonu), ne permatomas sluoksnis */
.evam-matimg { mix-blend-mode: normal; border-radius: 1.4cqw; box-shadow: 0 1.2cqw 3cqw rgba(0,0,0,.28), 0 0 0 .35cqw #fff; filter: none; background: #fff; }
.evam-sm .evam-matimg { border-radius: 2cqw; box-shadow: 0 1cqw 2.4cqw rgba(0,0,0,.25), 0 0 0 .6cqw #fff; }
/* kortelės „.pc-open img { width/height: 100% }“ neturi ištempti vaizdo dalių */
.evam img.evam-matimg, .evam img.evam-car { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }

/* 0.4.7: kaip savininko pavyzdyje — automobilis didelis per visą plotį (neapkarpytas), fonas — sulieta ta pati nuotrauka,
   antraštė viršuje dešinėje, kilimėlio nuotrauka apačioje dešinėje, pasirinkimų skydelis apačioje kairėje */
.evam-hascar { background: #2a2d33; color: #fff; }
.evam .evam-bg { position: absolute; inset: -6%; width: 112%; height: 112%; object-fit: cover; filter: blur(2.4cqw) brightness(.78) saturate(1.1); z-index: 0; }
.evam-hascar .evam-carbox { left: 0; top: 0; width: 100%; height: 76%; align-items: flex-start; justify-content: center; }
.evam-hascar img.evam-car { width: 100%; height: auto; max-height: 100%; border-radius: 0; box-shadow: none; object-fit: contain; }
.evam-shade { position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(ellipse 58% 42% at 100% 0%, rgba(255,255,255,.88) 0%, rgba(255,255,255,.55) 45%, rgba(255,255,255,0) 100%), linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 38%); }
.evam-hascar .evam-title { top: 4.5%; right: 3.5%; width: 46%; color: #111; }
.evam-hascar .evam-h { font-size: 6.6cqw; }
.evam-hascar .evam-m { font-size: 4.4cqw; }
.evam-hascar .evam-y { color: #333; }
.evam-hascar .evam-feat { top: 27%; right: 3.5%; width: 46%; color: #1c1c1c; }
.evam-hascar .evam-mat { right: 3%; bottom: 3.5%; width: 44%; height: 50%; z-index: 3; }
.evam-hascar .evam-panel { z-index: 4; width: 46%; }
.evam-sm.evam-hascar .evam-title { top: 4%; bottom: auto; left: auto; right: 4%; width: 52%; text-align: right; }
.evam-sm.evam-hascar .evam-h { font-size: 7.4cqw; }
.evam-sm.evam-hascar .evam-m { font-size: 5.4cqw; }
.evam-sm.evam-hascar .evam-carbox { width: 100%; height: 78%; top: 0; }
.evam-sm.evam-hascar .evam-mat { width: 48%; height: 54%; right: 3%; bottom: 4%; }
.evam-sm.evam-hascar .evam-shade { background: radial-gradient(ellipse 70% 40% at 100% 0%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.6) 45%, rgba(255,255,255,0) 100%), linear-gradient(0deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 40%); }
.evam-sm.evam-hascar .evam-title { left: 4%; right: auto; text-align: left; width: 60%; }
.evam-sm.evam-hascar .evam-shade { background: radial-gradient(ellipse 80% 42% at 0% 0%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.6) 45%, rgba(255,255,255,0) 100%), linear-gradient(0deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 40%); }

/* 0.4.7: rašto / spalvos pasirinkimai kaip carpe.lt — apvalūs paveikslėliai ir taškai su varnele */
.attr-sw legend { text-transform: uppercase; letter-spacing: .02em; font-size: .9rem; }
.attr-sw legend .sw-cur { font-weight: 700; margin-left: -4px; }
.swr { display: flex; flex-wrap: wrap; gap: 10px 12px; }
.swb { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 64px; padding: 0; background: none; border: 0; cursor: pointer; color: var(--ink-2); font: inherit; font-size: .75rem; line-height: 1.2; text-align: center; }
.swr-pat .swb { width: 78px; }
.swb-dot { position: relative; display: block; width: 40px; height: 40px; border-radius: 50%; background-size: cover; background-position: center; box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); }
.swr-pat .swb-dot { width: 60px; height: 60px; }
.swb[aria-pressed=true] .swb-dot { outline: 2px solid var(--accent); outline-offset: 3px; }
.swb[aria-pressed=true] .swb-dot::after { content: ""; position: absolute; left: 50%; top: 46%; width: 30%; height: 15%; border: solid #fff; border-width: 0 0 3px 3px; transform: translate(-50%, -50%) rotate(-45deg); filter: drop-shadow(0 0 1px rgba(0,0,0,.8)); }
.swb-light[aria-pressed=true] .swb-dot::after { border-color: #111; filter: none; }
.swb[aria-pressed=true] .swb-l { color: var(--ink); font-weight: 600; }
.swb-x .swb-dot { opacity: .45; }
.swb:disabled { cursor: not-allowed; opacity: .35; }
.swb:focus-visible { outline: none; }
.swb:focus-visible .swb-dot { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 480px) { .swb { width: 56px; } .swr-pat .swb { width: 68px; } .swr-pat .swb-dot { width: 52px; height: 52px; } }

/* 0.4.8: Produktų vizualų generatorius */
.carpe-admin .vis-steps { margin: 0; padding-left: 22px; display: grid; gap: 10px; }
.carpe-admin .vis-steps li { line-height: 1.6; }
.carpe-admin .vis-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-top: 12px; }
.carpe-admin .vis-card { border: 1px solid var(--line); border-radius: var(--r); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.carpe-admin .vis-card.on { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.carpe-admin .vis-pic { display: block; padding: 0; border: 0; background: #eef0f3; aspect-ratio: 4 / 3; width: 100%; cursor: zoom-in; }
.carpe-admin .vis-pic img { width: 100%; height: 100%; object-fit: contain; display: block; }
.carpe-admin .vis-ph { display: grid; place-items: center; height: 100%; padding: 12px; color: var(--ink-2); text-align: center; font-size: .9rem; }
.carpe-admin .vis-ph.big { min-height: 260px; background: #eef0f3; border-radius: var(--r); }
.carpe-admin .vis-body { padding: 10px 12px 12px; display: grid; gap: 4px; }
.carpe-admin .vis-title { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.carpe-admin .vis-title input { margin-top: 3px; }
.carpe-admin .vis-file { word-break: break-all; color: var(--ink-2); }
.carpe-admin .vis-act { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.carpe-admin .vis-bulk { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.carpe-admin .vis-detail { max-width: 980px; }
.carpe-admin .vis-big { width: 100%; height: auto; display: block; border-radius: var(--r); border: 1px solid var(--line); }
.carpe-admin .vis-cands { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.carpe-admin .vis-cand { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 8px; display: grid; gap: 6px; align-content: start; background: #f4faf5; }
.carpe-admin .vis-cand.bad { background: #fff6f6; }
.carpe-admin .vis-cand.cur { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
.carpe-admin .vis-cand img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.carpe-admin .modal:has(.vis-detail) { max-width: min(1040px, 96vw); }

/* 0.5: užsakymo eiga portale */
.ostep { list-style: none; margin: 14px 0; padding: 0; display: flex; gap: 0; counter-reset: s; }
.ostep li { flex: 1; position: relative; display: grid; justify-items: center; text-align: center; gap: 4px; font-size: .85rem; color: var(--ink-2); padding: 0 4px; }
.ostep li::before { content: ""; position: absolute; top: 13px; left: -50%; right: 50%; height: 3px; background: var(--line); z-index: 0; }
.ostep li:first-child::before { display: none; }
.ostep li.done::before { background: #1d7a3a; }
.ostep-dot { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--sunk); border: 2px solid var(--line); color: #fff; font-weight: 700; }
.ostep li.done .ostep-dot { background: #1d7a3a; border-color: #1d7a3a; }
.ostep li.cur .ostep-dot { box-shadow: 0 0 0 4px rgba(29, 122, 58, .2); }
.ostep li.cur .ostep-l { color: var(--ink); font-weight: 700; }
.ostep-at { font-size: .75rem; color: var(--ink-2); }
.otrack { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; background: var(--accent-soft); border: 1px solid #bcd0f7; border-radius: var(--r-sm); padding: 10px 12px; margin: 8px 0 12px; }
.otl { margin: 6px 0 12px; }
@media (max-width: 560px) { .ostep li { font-size: .72rem; } .ostep-at { display: none; } }
.ol-claim { margin-top: 6px; }
.oclaims { margin: 16px 0; display: grid; gap: 8px; }
.oclaims h2 { font-size: 1.1rem; margin: 0; }
.oclaim { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 12px; display: grid; gap: 4px; }
.oclaim .status { margin-left: 8px; }
.claimf { display: grid; gap: 10px; min-width: min(520px, 86vw); }
.claimf label { display: grid; gap: 4px; font-weight: 600; }
.claimf textarea, .claimf select, .claimf input[type=number] { font: inherit; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-sm); }

/* 0.5.1: priedai — atskira, ryški eilutė; kiekio pakopa */
.pcat-wrap { display: grid; gap: 6px; margin: 0 0 4px; }
.pcat-wrap .pcats { margin: 0; }
.pcats-acc { align-items: center; padding: 8px 10px 10px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); border: 1px dashed color-mix(in srgb, var(--accent) 40%, var(--line)); }
.pcats-acc .pcats-lbl { flex: 0 0 auto; font-weight: 700; font-size: .85rem; letter-spacing: .02em; text-transform: uppercase; color: var(--accent); padding: 0 4px; }
.pcats-acc button { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); }
.acc-shelf { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.acc-shelf .pcats-acc { margin-bottom: 12px; }
.tier { margin: 4px 0 6px; font-size: .85rem; font-weight: 600; color: var(--ok); }
.tierhint { margin-top: 4px; font-size: .85rem; font-weight: 600; color: var(--ok); background: var(--ok-soft); border-radius: 8px; padding: 4px 8px; display: inline-block; }
.pb-table td { padding: 4px 6px; vertical-align: middle; }
.pb-table select { min-width: 120px; }
.pb-table tr.pb-own td, .t tr.pb-own td { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.pb-help ul { margin: 6px 0 0 18px; }
.pb-imp { margin-top: 10px; }
/* 0.6.0: priedai (pakojis, padelis) */
.attr-addons .addons { display: flex; flex-wrap: wrap; gap: 8px; }
.attr-addons .addon { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; }
.attr-addons .addon.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.attr-addons .addon b { font-weight: 600; color: var(--muted); }
/* 0.6.0: pardavimų ataskaita */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 12px 0; }
.kpi { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: grid; gap: 2px; }
.kpi small { color: var(--muted); } .kpi b { font-size: 1.25rem; }
.sr-bars { display: flex; align-items: flex-end; gap: 6px; min-height: 150px; overflow-x: auto; }
.sr-bar { display: grid; justify-items: center; gap: 4px; min-width: 32px; }
.sr-fill { width: 24px; background: var(--accent); border-radius: 4px 4px 0 0; }
.sr-bar span { font-size: .75rem; color: var(--muted); }
/* 0.6.0: apmokėjimo QR */
.paybox { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--line); border-radius: 12px; padding: 12px; margin: 12px 0; background: var(--surface); }
.payqr { flex: 0 0 132px; background: #fff; border-radius: 8px; padding: 4px; }
.payqr svg { width: 124px; height: 124px; display: block; }
@media (max-width: 520px) { .paybox { flex-direction: column; } }

/* 0.6.1 revizija telefonu: progresas, eilė be ryšio, peržiūrėti, kas liko */
.s-prog { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin: 8px 0 10px; }
.s-prog-t { display: flex; justify-content: space-between; gap: 6px; font-size: .85rem; }
.s-prog-t span { font-variant-numeric: tabular-nums; color: var(--muted); }
.s-prog-b { height: 8px; border-radius: 4px; background: var(--line); overflow: hidden; margin-top: 3px; }
.s-prog-b i { display: block; height: 100%; background: var(--mode, #6b3fa0); }
.s-queue { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; background: var(--made-soft); color: var(--made); padding: 8px 10px; border-radius: var(--r); font-weight: 600; margin-bottom: 8px; }
.s-attn { background: var(--danger-soft); border-radius: var(--r); padding: 8px 10px; margin-bottom: 8px; color: var(--danger); }
.s-attn-i { display: flex; justify-content: space-between; gap: 8px; width: 100%; text-align: left; background: #fff; border: 1px solid #f0c4bf; border-radius: var(--r-sm); padding: 10px; margin-top: 6px; min-height: 44px; color: inherit; font: inherit; cursor: pointer; }
.s-attn-i span { font-size: .85rem; }
.s-miss { max-height: 40vh; overflow: auto; }
.s-miss-i { display: flex; flex-direction: column; padding: 6px 0; border-bottom: 1px solid var(--line); }
.s-miss-i small { color: var(--muted); }
.s-closebox { border: 1px solid var(--line); border-radius: var(--r); padding: 10px; margin: 10px 0; display: flex; flex-direction: column; gap: 6px; }
.s-closebox .check { display: flex; gap: 8px; align-items: flex-start; font-weight: 600; min-height: 32px; }
.s-closebox .check input { width: 22px; height: 22px; flex: none; }
.s-countacts { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.s-countacts .btn { flex: 1 1 140px; min-height: 44px; }
.s-countt tr.s-tap { cursor: pointer; }
.s-countt tr.s-tap:active td { background: var(--made-soft); }

/* 0.6.2: nuskenavimų eiga, didelis kiekis, sujungimas */
.s-ctabs { margin: 8px 0; }
.s-feed { max-height: 420px; overflow: auto; border: 1px solid var(--line); border-radius: var(--r); }
.s-feed-i { display: grid; grid-template-columns: 52px 1fr auto 40px; gap: 8px; align-items: center; padding: 8px 8px; border-bottom: 1px solid var(--line); min-height: 52px; }
.s-feed-i:first-child { background: var(--ok-soft); }
.s-feed-i.wait { background: var(--made-soft); }
.s-feed-i.warn { background: var(--danger-soft); color: var(--danger); }
.s-feed-i.undone { opacity: .5; text-decoration: line-through; background: none; }
.s-feed-no { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); font-size: .85rem; }
.s-feed-b { display: flex; flex-direction: column; min-width: 0; }
.s-feed-b b { font-size: .92rem; line-height: 1.25; }
.s-feed-b small { color: var(--muted); }
.s-feed-q { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.s-feed-x { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; color: var(--danger); font-size: 1rem; cursor: pointer; }
span.s-feed-x { border: 0; background: none; }
.s-bigcount { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 10px 0 4px; padding: 10px 12px; border-radius: var(--r); background: var(--ok-soft); color: var(--ok); }
.s-bigcount b { font-size: 2.6rem; line-height: 1; font-variant-numeric: tabular-nums; }
.s-bigcount span { font-weight: 600; }
.s-also { margin-top: 4px; font-size: .85rem; color: var(--made); font-weight: 600; }
.s-mergebox { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 10px; }
.s-item-c .big { font-size: 1.05rem; }
.s-item-c .s-thumb { width: 64px; height: 64px; }
.s-item-c:not(:has(img)) { display: block; }
.s-newitem { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 10px; } .s-newitem input { flex: 1 1 200px; min-height: 44px; }
.a-locpick { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; } .a-locpick .check { font-size: 1rem; }

/* 0.6.17: laukia klientai */
.carpe tr.rs-wait td, tr.rs-wait td { background: #fff4e0; }
.carpe-wait-badge { display: inline-block; margin-top: 4px; padding: 3px 8px; border-radius: 4px; background: #f59e0b; color: #fff; font-weight: 600; font-size: 12px; line-height: 1.3; }
tr.carpe-wait-row td, tr.carpe-wait-row th { background: #fff4e0 !important; }
