:root{--main-red: rgb(202, 32, 66);--dark-red: rgb(118, 35, 47);--gray: rgb(90, 90, 90);--navy: rgb(12, 35, 64);--white: #fff;--blue: rgb(56, 96, 178);--blue-dark: rgb(43, 75, 142);--border: rgb(208, 208, 208);--row-tint: rgb(244, 235, 237);--cell-blank: rgb(238, 204, 204);--cell-filled: rgb(187, 221, 140);--hover: rgb(248, 224, 229);--ink: #222;--text: var(--gray);font-family:Open Sans,Lato,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:#fff}.header{background:linear-gradient(90deg,var(--dark-red),var(--main-red));color:#fff;display:flex;align-items:center;gap:16px;padding:10px 20px}.header h1{font-size:18px;font-weight:600;margin:0}.header .signed-in{font-size:12px;opacity:.9;margin-left:auto}.page{padding:16px;max-width:1500px;margin:0 auto}.toolbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:12px 14px;background:var(--row-tint);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f}.field{display:flex;flex-direction:column;gap:4px}.field.cust-filter{gap:6px}.toolbar-actions{margin-left:auto;display:flex;gap:10px;align-items:flex-end}.app-version{align-self:center;font-size:11px;font-weight:700;color:var(--gray);white-space:nowrap}.promo-legend .legend-items{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:3px}.promo-key{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text);white-space:nowrap}.promo-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.25)}.totals{flex-basis:100%;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--main-red)}table.totals-grid{width:100%}table.totals-grid th,table.totals-grid td{padding:3px 6px}table.totals-grid td{color:var(--ink)}table.totals-grid .total-col{min-width:66px;font-weight:700}table.totals-grid tbody .total-col{background:var(--row-tint);color:var(--main-red)}table.totals-grid thead .total-col{background:var(--dark-red)}table.totals-grid .uncounted{color:#adadad;background:#f0f0f0;text-decoration:line-through}.totals-scope-wrap{align-self:flex-end;display:inline-flex;align-items:center;gap:8px}.totals-scope-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray)}.totals-scope{display:inline-flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.totals-scope button{font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border:none;border-radius:0;background:#fff;color:var(--gray);cursor:pointer}.totals-scope button+button{border-left:1px solid var(--border)}.totals-scope button:hover:not(.active){background:var(--row-tint)}.totals-scope button.active{background:var(--main-red);color:#fff}label{font-size:12px;font-weight:700;color:var(--gray)}select,input[type=text],textarea{padding:7px 8px;border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:13px;background:#fff;color:var(--ink)}select{min-width:200px}select:disabled{opacity:.5}textarea{width:100%;resize:vertical}button{font-family:inherit;font-size:13px;font-weight:600;border-radius:5px;padding:8px 16px;cursor:pointer;border:1px solid var(--main-red)}button.primary{background:var(--main-red);border-color:var(--main-red);color:#fff}button.primary:hover:not(:disabled){background:var(--dark-red);border-color:var(--dark-red)}button.secondary{background:#fff;color:var(--main-red)}button.secondary:hover:not(:disabled){background:var(--main-red);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}button.danger-btn{background:#970000;border-color:#970000;color:#fff}button.link{background:none;border:none;color:var(--blue);padding:2px 6px;font-size:12px;text-decoration:underline}button.link.danger{color:#970000}.loc-card{border:1px solid var(--border);border-radius:6px;margin-bottom:14px;overflow:hidden}.loc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--row-tint);padding:8px 12px}.loc-name{font-weight:600;color:var(--main-red);font-size:13px}.loc-code{font-weight:400;color:var(--gray)}.loc-actions{display:flex;gap:4px;white-space:nowrap}.grid-scroll{overflow-x:auto}table.fc-grid{border-collapse:collapse;width:100%;font-size:12px;table-layout:fixed}table.fc-grid col.col-label{width:104px}table.fc-grid col.col-total{width:72px}table.fc-grid th,table.fc-grid td{border:1px solid var(--border);padding:0;text-align:center}table.fc-grid tbody .total-col{background:var(--row-tint);color:var(--main-red);font-weight:700;padding:3px 6px}table.fc-grid thead .total-col{background:var(--dark-red);color:#fff}table.fc-grid thead th{background:var(--main-red);color:#fff;font-weight:600;padding:3px 4px}table.fc-grid th.rowlabel{background:var(--dark-red);color:#fff;font-weight:600;padding:3px 8px;text-align:right;white-space:nowrap}tr.hist td.ro{background:#f4f4f4;color:#333;padding:3px 6px;min-width:56px}tr.hist:nth-child(2) td.ro{background:#fbfbfb}table.fc-grid tr.fc-divider td{border:0;background:#fff;padding:0;height:5px;line-height:0;font-size:0}tr.editrow input.cell{width:100%;border:none;padding:4px 2px;text-align:center;font-size:12px;font-family:inherit;color:var(--ink)}tr.editrow input.cell.blank,tr.editrow input.cell.filled{background:var(--cell-blank)}tr.editrow.stretch input.cell{background:#fdeef1}tr.editrow input.cell:disabled{background:#e3e3e3;color:#777}tr.editrow input.cell:focus{outline:2px solid var(--blue)}.loc-notes{padding:8px 12px}.loc-notes label{display:block;margin-bottom:4px}.loc-notes .ver{font-weight:400;color:var(--gray)}.error{color:#970000;font-weight:600;font-size:13px;margin:8px 0}.status-msg{color:var(--blue-dark);font-weight:600;font-size:13px;margin:8px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c234059;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border-radius:8px;padding:20px;width:420px;max-width:92vw;border-top:5px solid var(--main-red)}.modal h2{color:var(--main-red);font-size:16px;margin:0 0 14px}.loc-form .field{margin-bottom:10px}.loc-form .field input{width:100%}.loc-form .row2{display:flex;gap:10px}.loc-form .row2 .field{flex:1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.login{max-width:420px;margin:80px auto;text-align:center}.login h1{color:var(--main-red)}.login p{margin:12px 0 20px}
