.pos-shell{padding:25px!important}.pos-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.pos-heading h2{font-size:30px;margin:4px 0 7px;letter-spacing:-1px}.pos-heading p{margin:0;font-size:13px}.pos-eyebrow{font-size:9px;font-weight:750;letter-spacing:1.5px;color:#6254df}.pos-context{display:flex;align-items:end;justify-content:space-between;gap:20px;border-block:1px solid #e7eaf1;padding:15px 0;margin:22px 0}.pos-context>div:first-child{width:330px;max-width:75%}.pos-context label{margin:0 0 7px}.pos-date{display:grid;text-align:right;font-size:11px;color:#738097}.pos-date strong{color:#252441}.pos-workspace{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px}.pos-left{min-width:0}.pos-scan-box{background:#f7f5ff;border:1px solid #e1dcfb;border-radius:13px;padding:18px}.pos-scan-box label{margin:0 0 8px;color:#6254df}.pos-scan-row{display:flex;gap:9px}.pos-scan-row input{font-size:17px;font-weight:600;min-width:0}.pos-scan-row button{white-space:nowrap;font-size:12px}.pos-scan-box small{display:block;color:#738097;font-size:10px;margin-top:9px}.pos-product{padding:20px 0 0}.pos-empty{border:1px dashed #e1deef;border-radius:12px;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#738097;padding:25px;text-align:center}.pos-empty>span{color:#a29adb;font-size:34px}.pos-empty h3{color:#48516b;font-size:16px;margin:10px 0 5px}.pos-empty p{font-size:12px;margin:0}.pos-product-title{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #e7eaf1}.pos-product-title h3{font-size:20px;letter-spacing:-.5px;margin:3px 0;overflow-wrap:anywhere}.pos-product-title small{font-size:8px;letter-spacing:1px;color:#738097}.pos-product-title>strong{margin-left:auto;white-space:nowrap;font-size:19px;color:#6254df}.pos-product-icon{width:42px;height:42px;background:#eeebff;color:#6254df;border-radius:10px;display:grid;place-items:center;font-size:25px;flex-shrink:0}.pos-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 13px;margin:20px 0}.pos-specs dt{color:#738097;font-size:10px;margin-bottom:5px}.pos-specs dd{margin:0;font-size:12px;font-weight:650;overflow-wrap:anywhere}.pos-card-details{font-size:11px;color:#738097;border-top:1px solid #e7eaf1;padding-top:12px}.pos-card-details summary{cursor:pointer}.pos-card-details p{font-size:10px}.pos-line-editor{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;align-items:end;background:#f7f8fc;border-radius:12px;padding:15px;margin-top:18px}.pos-line-editor label{font-size:10px;margin:0 0 8px}.pos-line-editor strong{font-size:16px;display:block;padding-bottom:12px;white-space:nowrap}.pos-line-editor button{grid-column:1/-1;padding:10px;font-size:12px}.pos-weight-help{font-size:10px;color:#738097}.pos-summary{background:#faf9ff;border:1px solid #e6e2fa;border-radius:14px;padding:20px;align-self:start;position:sticky;top:110px}.pos-summary h3{font-size:14px;margin:12px 0 0}.pos-total{font-size:32px;font-weight:750;letter-spacing:-1px;color:#6254df;overflow-wrap:anywhere}.pos-summary dl{font-size:11px;margin:18px 0;padding:15px 0;border-block:1px solid #e7eaf1}.pos-summary dl div{display:flex;justify-content:space-between;gap:10px;margin:9px 0}.pos-summary dt{color:#738097}.pos-summary dd{margin:0;font-weight:650}.pos-summary button{width:100%;font-size:11px;margin-bottom:10px;padding:11px 8px}.pos-notice{font-size:10px;color:#738097;line-height:1.7;margin-bottom:0}.pos-message{font-size:13px;padding:12px 0;overflow-wrap:anywhere}.pos-message:empty{display:none}.pos-cart-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px;border-top:1px solid #e7eaf1;padding-top:14px}.pos-cart-heading h3{font-size:16px;margin:0}.pos-cart-heading span{font-size:10px}.pos-table-scroll{overflow:auto}.pos-table-scroll th{white-space:nowrap;font-size:9px}.pos-table-scroll td{font-size:11px;white-space:nowrap}.pos-table-scroll td small{display:block;color:#738097;font-size:9px;margin-top:4px}.pos-cart-empty{text-align:center;border:1px dashed #e1deef;border-radius:12px;padding:30px;color:#738097;font-size:12px}.pos-added{display:flex;align-items:center;gap:14px;padding:25px 0}.pos-added>span{width:45px;height:45px;display:grid;place-items:center;background:#eaf8f1;color:#16875c;border-radius:50%;font-size:22px}.pos-added h3{font-size:17px;margin:0 0 5px}.pos-added p{font-size:12px;color:#738097;margin:0}@media(min-width:1100px){body:has(.pos-shell) #app{grid-template-columns:205px minmax(0,1fr)}body:has(.pos-shell) #app main{padding:28px 2%}}@media(max-width:1100px){.pos-workspace{grid-template-columns:1fr}.pos-summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.pos-summary .pos-eyebrow,.pos-summary .pos-notice{grid-column:1/-1}.pos-summary dl{grid-column:2;grid-row:2/4;margin:0}.pos-summary h3{margin:0}.pos-total{grid-column:1}.pos-summary button{margin:3px 0}.pos-specs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.pos-shell{padding:16px!important}.pos-heading{display:block}.pos-heading .pill{margin-top:12px}.pos-scan-row{display:block}.pos-scan-row button{width:100%;margin-top:9px}.pos-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-product-title{flex-wrap:wrap}.pos-product-title>strong{font-size:16px}.pos-cart-heading{display:block}.pos-cart-heading span{display:block;margin-top:7px}.pos-line-editor{grid-template-columns:1fr 1fr}.pos-line-editor>div:nth-child(3){grid-column:1/-1}.pos-line-editor strong{padding-bottom:0}.pos-total{font-size:27px}.pos-scan-box{padding:14px}.pos-context>div:first-child{max-width:68%}}

.pos-gift{border-top:1px solid #e7eaf1;margin:15px 0;padding-top:12px}.pos-gift h4{margin:0 0 10px}.pos-gift input{width:100%;margin-bottom:8px}.pos-gift label{font-size:11px}.pos-gift p{font-size:11px;overflow-wrap:anywhere}.pos-gift button{font-size:11px;width:100%;margin-bottom:9px}

.pos-repair-search{padding:18px;border:1px solid #dedaf9;background:#f8f7ff;border-radius:14px;margin-bottom:18px}.pos-repair-search h3{margin:0 0 13px}.pos-repair-search small{display:block;margin-top:8px;color:#738097;font-size:11px}.pos-repair-preview{margin-top:15px;padding-top:12px;border-top:1px solid #e7eaf1}.pos-repair-preview p{font-size:12px}.pos-repair-preview .repair-overview{gap:7px}.pos-repair-preview .repair-overview span{font-size:11px;padding:8px}.pos-repair-options{margin:15px 0}.pos-repair-options select{width:100%}.pos-repair-options .goods-keep{line-height:1.5}#posRepairRows small{display:block;color:#738097;font-size:11px;margin-top:5px}#posRepairRows{margin-top:22px}

.pos-message[data-scan-result] {
  border-inline-start: 4px solid currentColor;
  padding-inline-start: .6rem;
}
.pos-message[data-scan-result="added"]::before { content: "✓ "; }
.pos-message[data-scan-result="error"]::before { content: "× "; }
.pos-message[data-scan-result="stock"]::before { content: "⚠ "; }

/* ---------- POS v2: scan first, cart under scan, sticky summary ---------- */
.pos-v2 { padding: 18px !important; }
.pos-v2 .pos-topbar { display: flex; align-items: end; gap: 16px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid #e7eaf1; }
.pos-v2 .pos-topbar-store { flex: 0 1 320px; min-width: 0; }
.pos-v2 .pos-topbar-store label { margin: 0 0 5px; font-size: 11px; }
.pos-v2 .pos-topbar .pos-date { margin-left: auto; }
.pos-v2 .pos-help { position: relative; }
.pos-v2 .pos-help summary { list-style: none; cursor: pointer; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #dfe3ed; display: grid; place-items: center; font-weight: 700; color: #6254df; }
.pos-v2 .pos-help summary::-webkit-details-marker { display: none; }
.pos-v2 .pos-help p { position: absolute; right: 0; top: 36px; z-index: 5; width: min(360px, 80vw); background: #fff; border: 1px solid #e7eaf1; border-radius: 12px; padding: 12px; box-shadow: 0 12px 30px rgba(20, 20, 50, .12); font-size: 12px; }
.pos-v2 .pos-workspace { grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.pos-v2 .pos-scan-box { padding: 12px; }
.pos-v2 .pos-scan-row input { font-size: 20px; padding: 14px 16px; }
.pos-v2 .pos-scan-row button { padding-inline: 16px; }
.pos-v2 .pos-scan-tools { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.pos-v2 .pos-scan-tools label { margin: 0; font-size: 11px; color: #48516b; display: flex; gap: 6px; align-items: center; }
.pos-v2 .pos-scan-tools small { margin: 0; }
.pos-v2 .pos-product { padding-top: 10px; }
.pos-v2 .pos-product:empty { display: none; }
.pos-v2 .pos-message { margin: 10px 0; min-height: 1.4em; }
.pos-v2 #posCartTable table td, .pos-v2 #posCartTable table th { padding: 10px 8px; }
.pos-v2 tr.pos-last { background: #f4f2ff; }
.pos-v2 .pos-qty { display: inline-flex; align-items: center; gap: 6px; }
.pos-v2 .pos-qty button { width: 32px; height: 32px; padding: 0; border-radius: 8px; font-size: 18px; line-height: 1; }
.pos-v2 .pos-qty span { min-width: 22px; text-align: center; font-weight: 700; }
.pos-v2 .pos-discount-btn { font-size: 11px; padding: 6px 8px; white-space: nowrap; }
.pos-v2 .pos-fold { margin-top: 14px; border: 1px solid #e7eaf1; border-radius: 12px; padding: 10px 12px; }
.pos-v2 .pos-fold > summary { cursor: pointer; font-weight: 650; color: #48516b; }
.pos-v2 .pos-fold .pos-repair-search, .pos-v2 .pos-fold .pos-gift { border: 0; margin: 10px 0 0; padding: 0; background: transparent; }
.pos-v2 .pos-summary { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 10px; }
.pos-v2 .pos-total-box { background: linear-gradient(145deg, #f7f5ff, #efedff); border: 1px solid #e1dcfb; border-radius: 14px; padding: 14px; }
.pos-v2 .pos-total { font-size: 38px; font-weight: 800; letter-spacing: -1px; margin: 4px 0; }
.pos-v2 .pos-discount-line { color: #16875c; font-weight: 650; font-size: 13px; }
.pos-v2 .pos-total-box dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 10px 0 0; }
.pos-v2 .pos-total-box dl div { display: block; }
.pos-v2 .pos-total-box dt { font-size: 10px; color: #738097; }
.pos-v2 .pos-total-box dd { margin: 0; font-weight: 700; font-size: 13px; }
.pos-v2 .pos-pay-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pos-v2 .pos-pay { min-height: 58px; font-size: 16px; font-weight: 750; }
.pos-v2 .pos-side-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pos-v2 .pos-summary > button, .pos-v2 .pos-side-actions button { width: 100%; }
@media (max-width: 1100px) {
  .pos-v2 .pos-workspace { grid-template-columns: minmax(0, 1fr); }
  .pos-v2 .pos-summary { position: sticky; bottom: 0; top: auto; background: #fff; padding: 10px 0 0; border-top: 1px solid #e7eaf1; }
}
@media (pointer: coarse) { .pos-v2 button { min-height: 44px; } .pos-v2 .pos-qty button { width: 44px; height: 44px; } }

/* Repricing page and price choice */
.rp-top{align-items:end}.rp-scan input{font-size:18px;padding:12px 14px}
.rp-auto{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:600}.rp-auto input{width:auto;margin:0}
.rp-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line,#e7eaf1);border-radius:12px;background:#f7f8fc;margin-bottom:10px}
.rp-card span{color:var(--muted,#667085);font-size:13px}
.rp-options{border:1px solid var(--line,#e7eaf1);border-radius:12px;padding:8px 12px;margin:10px 0}
.rp-option{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;flex-wrap:wrap}.rp-option input{width:auto;margin:0}
.rp-option small,.price-choice-btn small{color:var(--muted,#667085)}
.rp-preview{font-size:16px;font-weight:700;color:#4f46e5;min-height:1.4em}
.rp-queue{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:#fff7e6;border-radius:10px}
.rp-undone td{color:var(--muted,#98a2b3);text-decoration:line-through}.rp-undone td:last-child{text-decoration:none}
.price-choice{display:grid;gap:10px;margin-top:10px}
.price-choice-btn{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;text-align:left;padding:14px 16px;border-radius:12px;min-height:64px}
.price-choice-btn strong{font-size:22px;grid-row:span 2}.price-choice-btn span{font-weight:600}
.pos-repriced{display:block;color:#b45309;font-size:11px;font-weight:700}
#rpLog tfoot th{text-align:left}

/* Reports: seller results, discounts, shifts; shift close */
.mgr-results td small{display:block;color:var(--muted,#667085);font-size:11px}
.mgr-target{display:flex;gap:6px;align-items:center;margin:0}.mgr-target input{width:110px;margin:0}.mgr-target button{padding:6px 10px}
.mgr-progress{width:120px;height:8px;border-radius:99px;background:#eceef5;overflow:hidden}.mgr-progress span{display:block;height:100%;background:#16a34a}
.mgr-total{font-size:15px}.mgr-neg{color:#dc2626}.mgr-pos{color:#16a34a}
.pos-shift-btn{width:100%;margin-top:8px}
.shift-table{width:100%;border-collapse:collapse;margin:10px 0}.shift-table th,.shift-table td{padding:6px 8px;border-bottom:1px solid var(--line,#e7eaf1);text-align:left}
.shift-table td{text-align:right}.shift-expected th,.shift-expected td{font-size:16px;background:#f7f8fc}
.shift-diff{font-size:16px;font-weight:700;min-height:1.3em}

/* Workflow: notices, checklist, offline queue, customer, fiscal note */
.home-notices{display:flex;flex-wrap:wrap;gap:8px}.home-notices button{background:#fff7e6;border-color:#f5c26b}
.home-steps{list-style:none;padding:0;margin:0;display:grid;gap:6px}.home-steps li.done{color:#16a34a}
.link-button{background:none;border:0;padding:0;color:#4f46e5;text-decoration:underline;cursor:pointer;font:inherit}
.pos-offline{margin-top:8px;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f5c26b}.pos-offline ul{margin:6px 0 0;padding-left:18px}
.pos-customer{display:grid;gap:6px}.pos-customer small{color:var(--muted,#667085)}
.pos-fiscal-note{margin:6px 0 0;padding:8px 12px;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:13px}
.vat-scheme-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#e7eaf1)}.vat-scheme-form select{width:auto}

/* First-login guide */
#guideDialog{max-width:560px}
.guide-progress{color:var(--muted,#667085);font-size:12px;margin:0}
.guide-plan{font-size:15px}
.guide-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}
