:root{--ink:#19324d;--muted:#677991;--edge:#dae2ed;--blue:#205aa5;--bg:#f5f7fa;--good:#197553;--bad:#a92e2e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.45 system-ui,'Segoe UI',sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:white;border-bottom:1px solid var(--edge);padding:12px 19px}.site-title{display:flex;gap:12px;align-items:center}.site-title strong{display:block;font-size:20px;letter-spacing:-.35px}.site-title small{display:block;color:var(--muted)}.logo{background:#1a4679;color:white;border-radius:10px;padding:6px 12px;font-size:24px}.user-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.shop-name{background:#e8f1fe;border:1px solid #c6d8f3;padding:5px 12px;border-radius:6px;font-weight:700}.container{max-width:1920px;margin:auto;padding:16px}.page-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}h1{font-size:26px;margin:0}h2{font-size:19px;margin:0 0 12px}.page-top p{margin:2px 0 0;color:var(--muted)}.day-actions,.toolbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.date-label{display:flex;align-items:center;gap:8px;color:var(--muted)}input[type="date"],input[type="search"],input[type="text"],input[type="password"],.simple-form input{height:40px;border:1px solid #c3d0df;background:white;border-radius:7px;padding:0 10px;color:var(--ink)}input:focus-visible,button:focus-visible{outline:3px solid #86baff;outline-offset:1px}.button{border:1px solid transparent;border-radius:7px;min-height:40px;padding:8px 14px;font-weight:650;white-space:nowrap}.button.primary{background:var(--blue);color:white}.button.outline{border-color:#c4d1e0;background:white;color:#284362}.button.subtle{border:1px solid #dce4ee;background:#f9fafc;color:#385472}.button.large{height:47px;width:100%}.tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--edge);gap:6px;margin:16px 0 10px}.tab{border:1px solid transparent;background:transparent;color:#415a76;font-weight:650;padding:11px 17px;white-space:nowrap;border-radius:6px 6px 0 0}.tab.active{color:#194e8a;background:white;border-color:var(--edge);border-bottom:2px solid var(--blue)}.toolbar{background:white;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 10px;border:1px solid var(--edge);border-radius:8px 8px 0 0}.toolbar p{margin:0}.toolbar input[type=search]{min-width:210px}.save-status{font-size:13px;color:#516b88;background:#e9eff7;padding:7px 10px;border-radius:6px;white-space:nowrap;min-width:110px;text-align:center}.save-status.saving{background:#fff3cd;color:#825400}.save-status.error{background:#fdeaea;color:#9d2727}.save-status.saved{background:#e6f6ec;color:#155c3d}.day-pill{padding:6px 10px;border-radius:6px;background:#edf5ff;color:#205788;font-weight:600}.day-pill.finalized{background:#e7f5ed;color:#18764e}.table-holder{overflow:auto;max-height:65vh;background:white;border:1px solid #d0d9e5;border-top:0;border-radius:0 0 6px 6px}.stock-grid,.data-grid{border-collapse:separate;border-spacing:0;min-width:1300px;width:100%;font-size:14px;text-align:center}.stock-grid th,.stock-grid td,.data-grid th,.data-grid td{border-right:1px solid #c5d0dd;border-bottom:1px solid #c5d0dd;padding:5px 6px;height:41px}.stock-grid thead th,.data-grid thead th{position:sticky;top:0;z-index:2;font-weight:750;background:#e3e9f2}.stock-grid thead tr:nth-child(2) th{top:42px}.stock-grid thead tr:first-child th{height:42px}.stock-grid .sticky-name{min-width:225px;max-width:310px;background:#e2e8ef;position:sticky;left:0;z-index:4}.stock-grid td.brand-cell{min-width:225px;max-width:310px;text-align:left;background:#fff;position:sticky;left:0;z-index:1;line-height:1.25}.brand-cell small{display:block;color:var(--muted)}.head-opening,.subopening{background:#d8f5dc!important}.head-closing,.subclosing{background:#d9eafa!important}.head-sales,.subsales{background:#fff1c8!important}.head-total{background:#f7ddeb!important;min-width:138px}.stock-grid td input[type=number],.data-grid td input[type=number]{width:100%;min-width:62px;max-width:92px;height:33px;padding:5px 3px;text-align:center;background:#fff;border:1px solid #c5cfdb;border-radius:5px;font-weight:500;color:#1f334d}.stock-grid td input:focus{border-color:#1c76bb;background:#f7fcff}.stock-grid td.missing-size-cell input{background:#fafbfd;border-style:dashed}.stock-grid td.missing-size-cell input::placeholder{color:#ccd5de}.stock-grid .empty-cell{background:#fafbfc}.stock-grid .calculated{background:#f8fafc;font-weight:650}.stock-grid .sales-value{font-weight:750;background:#f8fafc}.stock-grid tfoot td,.stock-grid tfoot th{position:sticky;bottom:0;background:#e4ebf4;font-weight:750;z-index:2}.stock-grid tfoot th{position:sticky;left:0;z-index:3}.stock-grid .negative{color:var(--bad)}.summary{background:white;border:1px solid var(--edge);margin-top:10px;border-radius:8px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.summary strong{font-size:20px;color:#174f87}.tip,.muted{color:var(--muted);font-size:13px}.tip{padding:2px 4px}.block{background:white;border:1px solid var(--edge);border-radius:8px;padding:14px;margin-top:16px}.data-grid{min-width:700px;text-align:left}.data-grid th,.data-grid td{padding:9px 12px}.data-grid td input{max-width:140px}.data-grid td input[type=checkbox]{width:21px;height:21px;accent-color:#205aa5}.simple-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.simple-form label,.login-card label{display:flex;flex-direction:column;gap:5px;font-weight:650}.simple-form input{min-width:190px}.shop-list{padding:10px 0;color:#415674}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#eaf1fb,#f5f7fa)}.login-card{background:white;border:1px solid var(--edge);border-radius:14px;padding:30px;box-shadow:0 12px 40px #18335418;width:min(93vw,400px);display:grid;gap:16px}.login-card h1{text-align:center;font-size:25px}.login-card p{text-align:center;margin:-10px 0 8px;color:var(--muted)}.login-card input{width:100%;height:46px}.login-symbol{text-align:center;font-size:40px;color:var(--blue)}.login-error{min-height:20px;color:var(--bad);text-align:center;font-size:14px}.toast{position:fixed;right:19px;bottom:18px;max-width:min(92vw,440px);background:#173e66;color:white;border-radius:9px;z-index:40;padding:14px 18px;box-shadow:0 10px 35px #132e4b40;pointer-events:none}.toast.error{background:#a32c2c}.confirm-backdrop{position:fixed;inset:0;background:#11263e80;z-index:30;display:grid;place-items:center;padding:15px}.confirm-card{background:white;border-radius:12px;padding:25px;width:min(95vw,430px)}.confirm-buttons{display:flex;gap:10px;justify-content:end;margin-top:25px}@media(max-width:750px){.container{padding:8px}.header{padding:9px}.site-title strong{font-size:17px}.user-bar{font-size:12px}.page-top h1{font-size:21px}.toolbar{padding:8px}.stock-grid{min-width:1300px}.tab{padding:10px}.save-status{min-width:auto}}@media print{.header,.tabs,.toolbar,.tip,.day-actions,.block,.toast,.login-screen{display:none!important}.container{padding:0}.table-holder{max-height:none;overflow:visible}.stock-grid{font-size:10px;min-width:0}.stock-grid td input{border:0!important;background:transparent!important}.summary{margin:0}.page-top{margin-bottom:10px}}

/* Bright, clear cost totals throughout the register. */
.stock-grid .head-total,.stock-grid .sales-value,.stock-grid tfoot td:last-child,
#otherSizesBody td:last-child,#historyBody td:nth-child(4),#monthlyReportBody td:nth-child(10){
 background:#ffeb3b!important;color:#1b2635;font-weight:800;
}
#totalSales,#monthlySalesValue{
 background:#ffeb3b;color:#1b2635;border:2px solid #bd8700;border-radius:4px;padding:8px 12px;font-weight:800;
}

/* Monthly report summary stays readable on narrow shop screens. */
.report-summary { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; margin:16px 0; }
.report-summary span, .report-summary strong { padding:8px 0; }
#reportsPage .toolbar label { display:flex; align-items:center; gap:8px; }
#reportsPage .toolbar input[type="month"] { min-height:38px; }

/* Plain register guidance and persistent save feedback. */
.register-help{padding:10px 12px;margin:0 0 10px;background:#fff;border:1px solid var(--edge);font-size:15px;color:#263f58}
.save-notice{position:fixed;left:16px;right:16px;bottom:12px;z-index:35;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:2px solid #a92e2e;background:#fff3f1;color:#8b2020}
.container{padding-bottom:130px}
body:has(#saveNotice:not(.hidden)) .toast{bottom:130px}
.save-notice span{flex:1;min-width:200px}
[aria-invalid="true"]{border:2px solid #a92e2e!important;background:#fff1ee!important}
.case-help{display:block;font-size:13px;color:#526779;margin-top:3px}
.data-grid .negative{color:#a92e2e;font-weight:700}
.print-only{display:none}
@media print{
 @page{size:A4 landscape;margin:8mm}
 body{color:#000;background:#fff}
 .container{padding-bottom:0}
 .print-only{display:block;font-weight:700;margin:0 0 10px}
 .save-notice,.register-help,.confirm-backdrop,.confirm-buttons,.button{display:none!important}
 #otherSizesPanel{display:block!important;margin:10px 0;padding:0;border:0}
 #otherSizesPanel.hidden{display:none!important}
 .stock-grid,.data-grid{min-width:0;width:100%;font-size:9px}
 .stock-grid .sticky-name,.stock-grid td.brand-cell{min-width:105px;max-width:150px;position:static}
 .stock-grid th,.stock-grid td,.data-grid th,.data-grid td{padding:2px 3px;height:auto}
 .stock-grid td input[type=number],.data-grid td input[type=number]{min-width:0;max-width:none;width:100%;height:auto;padding:0;font-size:9px;color:#000;opacity:1}
 .stock-grid thead th,.stock-grid tfoot td,.stock-grid tfoot th,.data-grid thead th{position:static}
 .stock-grid thead{display:table-header-group}
 tr{break-inside:avoid}
}

/* Compact opening + received inputs in the same register cell. */
.opening-pair{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}
.stock-grid td .opening-pair input[type=number]{width:54px;min-width:44px;max-width:62px}
.stock-grid .head-brand-bottles,.stock-grid .brand-bottles{background:#ffeb3b!important;color:#1b2635;font-weight:800;min-width:90px}
.other-size-row .brand-cell small{font-weight:700;color:#19324d}
.stock-grid .other-size-input{background:#f8fafc}
.shop-grid{min-width:600px}.shop-list{padding:0;margin-top:12px;border-top:1px solid var(--edge)}
.simple-form .check-label{min-height:40px;flex-direction:row;align-items:center;gap:7px}
.simple-form .check-label input{min-width:0;width:20px;height:20px}
#editShopError{flex-basis:100%;text-align:left}
@media print{.stock-grid td .opening-pair input[type=number]{width:30px;min-width:0;max-width:35px}.stock-grid .brand-bottles{min-width:0}}

.other-sizes-grid tfoot th,.other-sizes-grid tfoot td{background:#e4ebf4;font-weight:800}.other-sizes-grid tfoot td:last-child,.other-sizes-grid th:last-child{background:#ffeb3b!important;color:#1b2635}.empty-cell span{color:#65758a}.stock-grid tbody td,.stock-grid tfoot td{vertical-align:middle}

.stock-grid td.missing-size-cell input{background:#fff;border-style:solid}

.register-section-title{margin:18px 0 8px;padding:8px 12px;background:#edf2f8;border:1px solid var(--edge);border-radius:6px;font-size:17px;font-weight:750;color:#24496f}.beer-stock-grid{min-width:1120px}
