
:root{--red:#c8102e;--red2:#9f0d27;--pink:#fff1f3;--bg:#f6f7f9;--line:#e4e7ec;--ink:#1d2939;--muted:#667085}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.topbar{height:70px;background:white;border-bottom:4px solid var(--red);display:flex;justify-content:space-between;align-items:center;padding:10px 20px;position:sticky;top:0;z-index:10}
.logo{font-size:26px;font-weight:900;color:var(--red)}.sublogo{font-size:11px;color:var(--muted);font-weight:700}.userbar{display:flex;gap:10px;align-items:center}
.app{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 70px)}.sidebar{background:var(--red);padding:14px}.sidebar a{display:block;color:#fff;text-decoration:none;padding:12px;border-radius:8px;font-weight:700;margin:3px 0}.sidebar a.active,.sidebar a:hover{background:#fff;color:var(--red)}
.main{padding:22px;max-width:2500px;width:100%;margin:auto}.hero{background:linear-gradient(135deg,var(--red),var(--red2));color:white;padding:22px;border-radius:14px;margin-bottom:16px}
h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.title-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.metric{border-top:4px solid var(--red)}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:28px;color:var(--red)}
.branch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.branch-card{border:1px solid var(--line);border-left:5px solid var(--red);padding:14px;border-radius:10px}.person-line{display:flex;justify-content:space-between;border-top:1px solid #eef1f4;padding:7px 0}
.btn,button{border:0;border-radius:8px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:var(--red);color:#fff}.secondary{background:#eef2f6;color:#344054}.danger{background:#fee4e2;color:#b42318}
input,select,textarea{border:1px solid #cfd8e3;border-radius:8px;padding:8px 9px;background:#fff;font:inherit}.full{width:100%}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:center;vertical-align:top}th{background:var(--red);color:#fff;font-size:12px}.table-scroll input[type=number]{width:80px;text-align:right}.table-scroll select{width:130px}
.shift-cell{vertical-align:top;min-width:180px}.shift-cell select,.shift-cell input{width:100%;margin-bottom:5px;min-width:115px}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:4px}.shifts{display:flex;flex-direction:column;gap:8px}.shift-block{position:relative;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.shift-block>*:last-child{margin-bottom:0}.btn-remove-shift{position:absolute;top:2px;right:4px;width:auto;min-width:0;margin:0;padding:0 5px;background:transparent;border:0;color:var(--red);font-size:18px;line-height:1;cursor:pointer}.btn-add-shift{margin-top:8px;font-size:12px;padding:5px 9px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.form-grid label,.stack label{display:grid;gap:5px}.stack{display:grid;gap:12px}.control-row{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr .8fr 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);align-items:center}
.flash{padding:12px;border-radius:8px;margin-bottom:14px}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee4e2;color:#b42318}.notice{background:var(--pink);border-left:5px solid var(--red);padding:12px;border-radius:8px;margin-bottom:14px}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff,var(--pink))}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-top:6px solid var(--red);border-radius:15px;padding:25px}.login-card form{display:grid;gap:12px}.login-card label{display:grid;gap:6px}.demo{background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:8px;margin-top:15px;font-size:13px}.login-help{margin-top:14px;font-size:13px}.login-help summary{cursor:pointer;color:var(--red);font-weight:600}.login-help p{margin:8px 0 0}
.schedule-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:10px;padding:14px;margin-bottom:10px}.status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.work{background:#dcfce7;color:#166534}.off{background:#f2f4f7;color:#475467}.leave{background:#fef3c7;color:#92400e}.reject{background:#fee4e2;color:#b42318}.void{background:#f2f4f7;color:#98a2b3;text-decoration:line-through}.record-actions{display:flex;flex-wrap:wrap;gap:6px}.record-actions form{display:inline;margin:0}.record-actions button{font-size:12px;padding:5px 9px}.voided-row td{opacity:.6}
footer{text-align:center;padding:15px;color:var(--muted);font-size:12px}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;gap:4px}.sidebar a{white-space:nowrap}.main{padding:12px}.metrics{grid-template-columns:repeat(2,1fr)}.branch-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.control-row{grid-template-columns:1fr 1fr}.userbar span{display:none}}

.employee-editor{border-top:1px solid var(--line);padding:16px 0}.employee-editor:first-of-type{border-top:0}.employee-actions{display:flex;justify-content:flex-end;margin-top:10px}.employee-editor .status{display:inline-block;padding:8px 12px}
.inline-account-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) auto;gap:7px;min-width:520px}.inline-account-form input{width:100%}

.account-status-actions{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}

.cash-branch .control-row{grid-template-columns:minmax(90px,.75fr) repeat(3,minmax(120px,.75fr)) repeat(2,minmax(150px,1.15fr)) minmax(120px,.75fr) minmax(150px,1.15fr);align-items:end}.control-field{display:grid;gap:4px;min-width:0}.control-field span{font-size:11px;color:var(--muted);font-weight:700}.control-field input,.control-field select{width:100%;min-width:0}.cash-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin:12px 0}.cash-summary>div{background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:10px}.cash-summary span{display:block;color:var(--muted);font-size:12px}.cash-summary strong{display:block;margin-top:3px;font-size:20px;color:var(--red)}
@media(max-width:1400px){.cash-branch .control-row{grid-template-columns:1fr 1fr}.cash-branch .control-row>strong{grid-column:1/-1}}
@media(max-width:900px){.cash-summary{grid-template-columns:1fr}}
.text-short{color:#b42318}.text-over{color:#b54708}
.cash-checkpoint{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px}.cash-checkpoint-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.cash-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cash-inputs label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:700}.cash-inputs input,.cash-inputs select{width:100%}.cash-expected-line{margin:10px 0;font-weight:700}.cash-expected-line strong{color:var(--red)}.cash-count-result{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.cash-count-result>div{background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:10px}.cash-count-result span{display:block;color:var(--muted);font-size:12px}.cash-count-result strong{display:block;margin-top:3px;font-size:18px}.cash-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:10px}.cash-actions form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:0}.cash-actions label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:700}.cash-breakdown{margin:8px 0}.cash-breakdown ul{margin:6px 0 0;padding-left:18px}
.denom-heading{margin:12px 0 6px;font-size:13px;color:var(--muted)}.denom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.denom-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.denom-label{font-weight:800}.denom-row input{width:100%;text-align:right}.denom-subtotal{min-width:90px;text-align:right;color:var(--muted);font-weight:700}.denom-total{margin:12px 0;font-size:18px;font-weight:800}.denom-total strong{color:var(--red)}
@media(max-width:900px){.cash-inputs{grid-template-columns:1fr 1fr}.cash-count-result{grid-template-columns:1fr}.denom-grid{grid-template-columns:1fr}}
.title-actions{display:flex;gap:10px;align-items:center}.cash-assign-form,.cash-movement-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}.cash-assign-form label,.cash-movement-form label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:700}.cash-ledger{border:1px dashed var(--line);border-radius:9px;padding:10px;margin:10px 0}.cash-ledger-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:6px}.ledger-table{width:100%;border-collapse:collapse}.ledger-table th,.ledger-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line);font-size:14px}.ledger-table form{margin:0}
.report-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px}.report-filters label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:700}.report-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.report-two{grid-template-columns:1fr}}
.ack-form{display:flex;gap:6px;align-items:center;margin:0}.ack-form input[name=note]{min-width:120px}.reviewed-alert{opacity:.6}.reviewed-alert td{background:#f8fafc}
.audit-json{font-size:12px;color:var(--muted);max-width:260px}.carry-form{margin:0 0 10px}
.today-shift{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.today-shift:last-child{border-bottom:0}.today-shift .btn{margin-left:auto}
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day{border:1px solid var(--line);border-radius:9px;padding:8px;min-height:84px}.week-today{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset}.week-day-name{font-weight:800;font-size:13px;display:flex;justify-content:space-between;margin-bottom:6px}.week-shift{margin-top:4px;font-size:11px}
.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.inventory-stock-count{border:1px dashed var(--line);border-radius:9px;padding:10px;margin-bottom:12px}.needs-reason td{background:#fff7ed}
.receipt-page{max-width:360px;margin:0 auto}.receipt{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;font-family:ui-monospace,Menlo,Consolas,monospace}.receipt-head{text-align:center;margin-bottom:10px}.receipt-reprint{color:var(--red);font-weight:800;margin-top:6px}.receipt-meta{font-size:12px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:8px 0;margin:8px 0}.receipt-items{width:100%;font-size:13px}.receipt-items td{padding:3px 0;vertical-align:top}.receipt-totals{width:100%;font-size:13px;margin-top:8px}.receipt-totals td{padding:2px 0}.receipt-grand td{font-weight:800;font-size:16px;border-top:1px solid var(--line);padding-top:6px}.ra{text-align:right}.receipt-foot{text-align:center;margin-top:12px;font-size:12px;color:var(--muted)}.receipt-actions{max-width:360px;margin:14px auto;display:flex;flex-direction:column;gap:10px}
.row-resolved{opacity:.55}.alert-review{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin:0}.alert-review input[name=note]{font-size:12px}
.shift-report .receipt-meta{display:flex;justify-content:space-between;gap:12px;border:0;padding:2px 0;margin:0;font-size:13px}.shift-report .receipt-meta.grand{font-weight:800;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.shift-report .receipt-sub{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--muted);margin:12px 0 4px;border-top:1px dashed var(--line);padding-top:8px}.shift-report .status{font-family:inherit}
@media print{.topbar,.sidebar,footer,.no-print{display:none!important}.app{display:block}.main{padding:0}.receipt{border:0}}
.pos-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}@media(max-width:900px){.pos-layout{grid-template-columns:1fr}}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.pos-product{margin:0}.pos-product button{width:100%;display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font:inherit;text-align:left}.pos-product button:hover{border-color:var(--red)}.pos-product span{color:var(--red);font-weight:800}
.pos-cart-table{width:100%;border-collapse:collapse}.pos-cart-table td{padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:middle}.pos-qty{margin:0}.pos-qty input{width:60px}.pos-total{font-size:20px;font-weight:800;margin:12px 0}.pos-total strong{color:var(--red)}.pos-pay{margin:10px 0}.pos-pay-row{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.pos-pay-row label{display:flex;gap:6px;align-items:center}button.full,.btn.full{width:100%}
.pos-price{margin:2px 0 0;display:inline-flex;gap:2px;align-items:center;font-size:13px}.pos-price input{width:74px}.pos-totals{margin:12px 0;border-top:1px solid var(--line);padding-top:8px}.pos-total-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0}.pos-total-row.grand{font-size:20px;font-weight:800;border-top:1px solid var(--line);padding-top:6px}.pos-total-row.grand strong{color:var(--red)}.pos-discount{margin:0}.pos-discount label{display:flex;gap:6px;align-items:center;color:var(--muted)}.pos-discount input{width:100px}.pos-auth{background:#fff7f7;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.pos-auth p{margin:0 0 2px}
.inv-subnav{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;border-bottom:2px solid var(--line);padding-bottom:8px}.inv-subnav a{padding:6px 12px;border-radius:8px;font-weight:700;font-size:13px;color:var(--muted);text-decoration:none}.inv-subnav a:hover{background:#f2f4f7}.inv-subnav a.active{background:var(--red);color:#fff}
.branch-staff{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.staff-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.staff-chip{display:inline-flex;align-items:center;gap:4px;background:#f2f4f7;border-radius:999px;padding:4px 10px;font-size:13px}.staff-chip form{display:inline;margin:0}.staff-chip .btn-remove-shift{position:static;font-size:16px}.staff-chip.off{opacity:.5}
@media(max-width:900px){.week-strip{grid-template-columns:repeat(2,1fr)}}

.inventory-manager{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.inventory-manager h3{margin-bottom:8px}.inventory-item-list{display:grid;gap:8px;margin-top:10px}.inventory-item-line{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:9px}.inventory-item-line form{margin:0}.inventory-history{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.inventory-history table{min-width:750px}.readonly-row{background:#f8fafc;color:var(--muted)}
@media(max-width:700px){.inventory-item-line{align-items:flex-start;flex-direction:column}}