/* POS colour roles: orange action, blue selection, green success, red danger.
   Document previews and printed documents keep their independent paper styles. */
:root{--bn-action:#ad4100;--bn-action-hover:#883200;--bn-action-soft:#fff0df;--bn-blue:#174e85;--bn-blue-soft:#edf5ff;--bn-green:#12633b;--bn-green-soft:#eaf8ef;--bn-danger:#ab2530;--bn-focus:#1769aa}
.posapp{background:linear-gradient(135deg,#edf5fc,#f8fbff 60%,#fff7ed)}
.posapp .modulepage,.posapp .manage{border-color:#ccdeed}
.posapp .modulecard{border-color:#cfdfef;background:linear-gradient(120deg,#f1f7ff,#fff)}
.posapp .modulecard h3,.posapp .manage h3{color:var(--bn-blue)}
.posapp .setup{background:#edf5ff;border-color:#cfdfef}
.posapp .cats{background:#edf5ff}
.posapp .basket{background:#fff9f1;border-color:#f1d4b3}
.posapp .total{color:var(--bn-action)}
/* Use existing semantic roles; never recolour destructive actions as primary. */
.posapp button.primary,.posapp a.primary,.posapp button.pay,.posapp #pay,
.posapp #tradePay,.posapp #tradeSavePrices,.posapp [data-issue],
.posapp #catForm>button,.posapp #productForm>button,.posapp #employeeForm>button{
 background:var(--bn-action);border-color:var(--bn-action);color:#fff;font-weight:750}
.posapp button.primary:hover:not(:disabled),.posapp button.pay:hover:not(:disabled),.posapp #tradePay:hover:not(:disabled){background:var(--bn-action-hover)}
.posapp button.danger,.posapp button[data-danger]{background:#fff0f0;color:var(--bn-danger);border-color:#e5a8ae}
.posapp button:disabled{opacity:.48;cursor:not-allowed}
.posapp :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--bn-focus);outline-offset:3px}
.posapp .cats button.active{background:var(--bn-blue);border-color:var(--bn-blue);color:#fff}
.posapp .bn-sale-tools{background:#eef5ff;border:1px solid #cadff2;border-radius:10px;padding:10px 12px}
.posapp .bn-sale-tools summary{color:var(--bn-blue)}
.posapp .bn-sale-tools button{background:#fff;border-color:#bbd1e6;color:var(--bn-blue)}
.posapp .trade-layout{gap:12px}
.posapp .trade-layout>.trade-panel:first-child{background:#f0f6ff;border-color:#c3d9ee}
.posapp .trade-layout>.trade-panel:nth-child(2){background:#fff8ee;border-color:#edcda5}
.posapp .trade-panel h3{color:var(--bn-blue)}
.posapp .trade-product{background:#fff;border:1px solid #d5e2ef;border-left:3px solid #6d9fcf;border-radius:9px;padding:9px;margin:6px 0}
.posapp .trade-product button{background:#e9f2ff;color:#174e85;border-color:#a9c9e9;font-weight:700}
.posapp .trade-total{background:#fff0d9;color:#853600;padding:12px;border:1px solid #edc48d;border-radius:9px}
.posapp .trade-recipient{padding:10px;background:#eef5ff;border:1px solid #cbdef0;border-radius:9px}
.posapp .trade-recipient summary{color:var(--bn-blue);font-weight:700}
.posapp details.trade-panel{background:#eff8f3;border-color:#b9daca}
.posapp details.trade-panel>summary{color:#20593e;font-weight:750;cursor:pointer}
.posapp .trade-panel input,.posapp .trade-panel select,.posapp .trade-panel textarea{background:#fff;color:#18334c;border-color:#bccfe0}
/* Table and connection status colours retain their established meanings. */
@media(prefers-reduced-motion:no-preference){.posapp button{transition:background-color .12s,border-color .12s}}
@media print{.posapp{background:#fff}}

.bn-drink-deposit{width:min(390px,calc(100vw - 48px));border:1px solid #bdd2e7;border-radius:14px;padding:20px;background:#f3f8ff;color:#18334c}.bn-drink-deposit::backdrop{background:#10263d66}.bn-drink-deposit h3{margin:0 0 8px}.bn-drink-deposit label{display:grid;gap:6px;margin:12px 0}.bn-drink-deposit input:not([type=checkbox]),.bn-drink-deposit select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #b4c9dc;border-radius:8px;font:inherit;background:#fff}.bn-drink-deposit .bn-deposit-switch{display:flex;align-items:center;font-weight:700}.bn-drink-deposit button{padding:10px 12px;border:1px solid #b4c9dc;border-radius:8px;background:#fff;color:#18334c;cursor:pointer}.bn-drink-deposit .primary{background:var(--bn-action);color:#fff;border-color:var(--bn-action)}.bn-drink-deposit button:disabled{opacity:.5}.bn-drink-deposit :focus-visible{outline:3px solid var(--bn-focus);outline-offset:2px}.bn-deposit-presets{display:flex;gap:6px}.bn-drink-deposit small{font-size:12px}.bn-drink-deposit [role=status]{color:#ab2530}

/* Product actions must sit above adjacent product cards and remain easy to tap. */
.cash>.goods>div:has(.product-options[open]){z-index:40}
.product-options{z-index:2}.product-options[open]{z-index:40}
.product-options summary{box-sizing:border-box;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;background:#f1f6fc;color:#174e85;border:1px solid #d0deed}
.product-options-menu{min-width:210px}.product-options-menu button{min-height:42px}

.cash>.basket{padding:12px 14px}.cash>.basket>h3{margin:0 0 10px}.cash>.basket .total{margin:10px 0}.cash>.basket .bn-cart-tools{margin-top:4px;padding-top:6px}.bn-cart-hint:empty{display:none}.bn-deposit-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;color:#174e85;font-size:13px;border-bottom:1px solid #dce7f2}.bn-deposit-line b{white-space:nowrap}.bn-retail-options{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-height:85vh;overflow:auto;border:1px solid #c3d8ed;border-radius:14px;background:#f5f9ff;color:#18334c;padding:18px}.bn-retail-options::backdrop{background:#10263d66}.bn-retail-options>h3{margin:0 0 10px}.bn-retail-options button{padding:9px 12px;border:1px solid #bccfe0;border-radius:8px;background:#fff;color:#174e85;cursor:pointer}

.bn-deposit-line [data-deposit-count]{font-size:12px;white-space:nowrap}.bn-tender-summary[data-balance=due] [data-change]{color:#ad4100}.bn-tender-summary[data-balance=change] [data-change]{color:#12633b}

.artikelmanage{scroll-margin-top:110px}
