:root{
  --ink:#1b1e1c; --muted:#6d746f; --bg:#f6f3ec; --paper:#fffdf8;
  --brand:#173f35; --brand2:#245f50; --accent:#e0a839; --line:#ded8cc;
  --good:#e3f2e8; --good-ink:#26633e; --warn:#fff2cc; --warn-ink:#855f08;
  --bad:#fde6e4; --bad-ink:#9d3029; --info:#e7f0f5; --info-ink:#24566b;
  --shadow:0 12px 36px rgba(36,45,39,.08); --radius:18px;
}
*{box-sizing:border-box} html{background:var(--bg)} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit} button{cursor:pointer}
.shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.sidebar{background:var(--brand);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 14px}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--accent);color:#33280c;display:grid;place-items:center;font-weight:900;font-size:18px}.brand h1{font-size:17px;margin:0}.brand p{font-size:11px;opacity:.7;margin:3px 0 0;letter-spacing:.08em;text-transform:uppercase}
.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:#d8e5df;text-align:left;padding:11px 12px;border-radius:12px;font-weight:650}.nav button:hover,.nav button.active{background:rgba(255,255,255,.12);color:#fff}.nav .nav-num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(255,255,255,.09);font-size:11px;margin-right:9px}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:14px;font-size:12px;color:#c9d6d0}.sidebar-foot strong{color:#fff}
.main{min-width:0}.topbar{height:76px;padding:14px 28px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.88);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:5}.topbar-left h2{font-size:18px;margin:0}.topbar-left p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-controls{display:flex;gap:10px;align-items:center}.control{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 11px;color:var(--ink);max-width:210px}.mobile-menu{display:none;border:0;background:var(--brand);color:#fff;border-radius:10px;padding:9px 11px}
.content{padding:26px 28px 80px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-head h3{font-size:28px;margin:0 0 6px;letter-spacing:-.03em}.page-head p{margin:0;color:var(--muted);max-width:760px}.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:750;background:var(--info);color:var(--info-ink);white-space:nowrap}
.grid{display:grid;gap:16px}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.metric-label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.metric-value{font-size:27px;font-weight:850;letter-spacing:-.04em;margin-top:9px}.metric-note{font-size:12px;color:var(--muted);margin-top:5px}.metric.good{border-color:#bdd9c7}.metric.bad{border-color:#efc4c0}.metric.warn{border-color:#ead28e}
.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:3px 0 13px}.section-title h4{margin:0;font-size:17px}.section-title p{margin:2px 0 0;color:var(--muted);font-size:12px}
.workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.step{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}.step-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.step-no{width:30px;height:30px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:850}.step h5{margin:10px 0 4px;font-size:15px}.step p{margin:0;color:var(--muted);font-size:12px;min-height:34px}.step-state{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:var(--warn);color:var(--warn-ink)}.step-state.done{background:var(--good);color:var(--good-ink)}.step button{margin-top:12px;width:100%;border:1px solid var(--brand);background:#fff;color:var(--brand);padding:9px;border-radius:10px;font-weight:750}.step button.primary{background:var(--brand);color:#fff}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px}.table th{position:sticky;top:0;background:#f3efe6;color:#555d58;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);z-index:1}.table td{padding:11px 12px;border-bottom:1px solid #eee8de;font-size:13px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.status.tally{background:var(--good);color:var(--good-ink)}.status.missing{background:var(--bad);color:var(--bad-ink)}.status.extra{background:var(--warn);color:var(--warn-ink)}.status.waiting{background:var(--info);color:var(--info-ink)}
.btn{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 13px;font-weight:750;color:var(--ink)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.ghost{background:transparent}.btn.danger{color:var(--bad-ink);border-color:#e7bbb7;background:#fff8f7}.btn.small{padding:7px 9px;font-size:12px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:800;color:#59615c;text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 11px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b9d6cb;border-color:var(--brand2)}.input-yellow{background:#fff9df!important}.money{font-variant-numeric:tabular-nums}
.denom-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.denom{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.denom span{display:block;font-size:11px;font-weight:800;color:var(--muted);margin-bottom:5px}.denom input{width:100%;border:0;border-bottom:1px solid var(--line);padding:4px;background:#fff9df;font-weight:800}.denom input:focus{outline:0;border-bottom-color:var(--brand)}
.notice{padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.45}.notice.info{background:var(--info);color:var(--info-ink)}.notice.warn{background:var(--warn);color:var(--warn-ink)}.notice.bad{background:var(--bad);color:var(--bad-ink)}.notice.good{background:var(--good);color:var(--good-ink)}
.result-panel{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}.result-main{background:var(--brand);color:#fff;border-radius:16px;padding:18px}.result-main .eyebrow{font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}.result-main .big{font-size:31px;font-weight:900;margin-top:7px}.result-box{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.result-box span{display:block;font-size:11px;color:var(--muted);font-weight:750}.result-box strong{display:block;font-size:20px;margin-top:7px}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,20,16,.45);display:grid;place-items:center;padding:16px;z-index:50}.modal{width:min(860px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:16px}.modal-head h3{margin:0}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.modal-close{border:0;background:#eee8de;border-radius:10px;padding:7px 10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.progress{height:9px;background:#ebe6dc;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand2);border-radius:999px}.list{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.list-row .meta{font-size:12px;color:var(--muted);margin-top:3px}.divider{height:1px;background:var(--line);margin:16px 0}.empty{padding:28px;text-align:center;color:var(--muted)}
.toast{position:fixed;right:18px;bottom:18px;background:#132e27;color:#fff;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:90;font-size:13px}.toast.show{opacity:1;transform:translateY(0)}
.mobile-nav{display:none}
@media(max-width:1050px){.shell{grid-template-columns:220px 1fr}.grid.metrics{grid-template-columns:repeat(2,1fr)}.workflow{grid-template-columns:repeat(2,1fr)}.result-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{height:auto;padding:11px 14px}.mobile-menu{display:inline-block}.topbar-left{display:none}.top-controls{width:100%;justify-content:flex-end}.control{min-width:0;max-width:150px;padding:8px}.content{padding:18px 14px 90px}.page-head{display:block}.page-head h3{font-size:23px}.page-head .badge{margin-top:10px}.grid.metrics,.grid.two,.grid.three,.workflow,.form-row,.result-panel{grid-template-columns:1fr}.denom-grid{grid-template-columns:repeat(3,1fr)}.mobile-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:#fff;padding:10px 3px 8px;font-size:10px;color:var(--muted)}.mobile-nav button.active{color:var(--brand);font-weight:850}.mobile-nav .mi{display:block;font-size:18px;margin-bottom:2px}.table{min-width:680px}.modal{padding:16px;border-radius:18px}.metric-value{font-size:24px}}
/* Phase 1 v0.4 — Auth, roles, sync and Team */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f7f1e6,#eef4ef)}
.auth-card{width:min(460px,100%);background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 70px rgba(23,63,53,.13);padding:28px;display:grid;gap:14px}
.auth-card h2{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}.auth-card>p{margin:0;color:var(--muted);line-height:1.5}.auth-brand{color:var(--ink);padding:0 0 8px}.auth-brand p{color:var(--muted)}
.auth-submit{width:100%;margin-top:4px}.auth-link{border:0;background:transparent;color:var(--brand);font-weight:750;padding:7px;text-align:center}.auth-note{font-size:11px;color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:12px}.loading-card{text-align:center;justify-items:center}.spinner{width:34px;height:34px;border:3px solid #d7e2dd;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.side-signout{margin-top:8px;border:0;background:transparent;color:#fff;padding:0;text-decoration:underline;opacity:.8}.side-signout:hover{opacity:1}.sidebar-foot #syncBadge{color:#bfe0d3}.sidebar-foot #syncBadge.syncing{color:#ffe7a3}
.busy{cursor:progress}.busy button{cursor:progress}.branch-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.branch-check{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.branch-check span{display:grid}.branch-check small{color:var(--muted);margin-top:2px}
code{background:#efeae1;border-radius:6px;padding:2px 5px;font-size:.9em}
@media(max-width:760px){.auth-card{padding:22px;border-radius:20px}.branch-checks{grid-template-columns:1fr}}
.cash-holder-row{display:grid;grid-template-columns:1.3fr .8fr 1.4fr auto;gap:9px;align-items:end;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff;margin-bottom:9px}.cash-holder-row .btn{margin-bottom:1px}@media(max-width:760px){.cash-holder-row{grid-template-columns:1fr}.cash-holder-row .btn{width:100%}}


/* Phase 1 v0.5.2 — City/branch team board + drag & drop */
.team-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;flex-wrap:wrap}.city-tabs{display:flex;gap:8px;flex-wrap:wrap}.city-tab{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.city-tab:hover{border-color:#aac8bc;color:var(--brand)}.city-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.team-board-actions{display:flex;gap:7px}.team-drag-guide{margin-bottom:16px}.team-board{display:grid;gap:20px}.team-city-section{display:grid;gap:10px}.team-city-title{display:flex;justify-content:space-between;align-items:end;padding:0 2px}.team-city-title h4{font-size:20px;margin:0}.team-city-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.team-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-branch{background:var(--paper);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 7px 22px rgba(25,53,45,.04);transition:border-color .15s,box-shadow .15s,transform .15s}.team-branch.drag-over{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(69,151,117,.16),0 12px 30px rgba(25,53,45,.1);transform:translateY(-1px)}.team-branch-head{width:100%;border:0;background:#fff;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.team-branch-head:hover{background:#fbfaf7}.team-branch-head>span:first-child{display:grid}.team-branch-head strong{font-size:15px}.team-branch-head small{color:var(--muted);margin-top:2px}.branch-head-right{display:flex;align-items:center;gap:10px}.count-pill,.mini-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e7f2ed;color:var(--brand);font-weight:850;font-size:11px;padding:4px 8px}.chevron{font-size:19px;transition:transform .15s}.team-branch.collapsed .chevron{transform:rotate(-90deg)}.team-branch-body{padding:0 12px 12px;display:grid;gap:8px}.drop-hint{border:1px dashed #bfd4cb;border-radius:10px;color:#6f827b;background:#f6faf8;text-align:center;padding:7px;font-size:10px;font-weight:750;letter-spacing:.02em}.branch-empty{padding:16px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:11px}.team-member{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;transition:opacity .15s,transform .15s,box-shadow .15s}.team-member[draggable="true"]{cursor:grab}.team-member[draggable="true"]:active{cursor:grabbing}.team-member.dragging{opacity:.42;transform:scale(.985)}.team-member.inactive{opacity:.58}.team-member-main{display:flex;align-items:center;gap:9px;min-width:0}.member-avatar{width:34px;height:34px;border-radius:10px;background:#f2c45b;color:#493609;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.member-copy{display:grid;min-width:0}.member-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-copy span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-tags{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.role-pill{font-size:9px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:4px 7px;background:#eef0ee;color:#52605a}.role-pill.manager{background:#e8eff8;color:#315d89}.role-pill.hq_admin{background:#f8ead0;color:#7e5a0c}.team-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-unassigned,.team-admins{margin-bottom:16px}.team-admins .team-member{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:1050px){.team-branch-grid{grid-template-columns:1fr}.team-member-grid{grid-template-columns:1fr}}
@media(max-width:760px){.team-toolbar{align-items:stretch}.city-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.city-tab{white-space:nowrap}.team-board-actions{width:100%}.team-board-actions .btn{flex:1}.team-member{grid-template-columns:minmax(0,1fr) auto}.member-tags{grid-column:1/-1;justify-content:flex-start}.team-member>.btn{grid-column:2;grid-row:1}.drop-hint{display:none}}

/* v0.5.3 commissary priority */
.team-branch.commissary{grid-column:1/-1;border-color:#e2bd5d;background:#fffaf0}
.team-branch.commissary .team-branch-head{background:#fff8e8}
.team-branch.commissary .team-branch-head strong:before{content:"★ ";color:#b17b00}
.branch-check.commissary-check{border-color:#e2bd5d;background:#fffaf0}
@media(max-width:760px){.team-branch.commissary{grid-column:auto}}

/* v0.5.4 — staff today-only workspace */
.staff-top-lock{display:flex;gap:10px;align-items:center}.staff-top-lock>span{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 12px;min-width:150px}.staff-top-lock small{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:800}.staff-top-lock strong{font-size:12px;color:var(--ink)}
.staff-focus-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;align-items:start}.staff-focus-card{min-width:0}.staff-focus-card .section-title{align-items:flex-start}.staff-progress{font-size:11px;font-weight:800;border-radius:999px;background:var(--info);color:var(--info-ink);padding:6px 9px;white-space:nowrap}.staff-open-btn{width:100%;margin-top:14px;padding:12px}.staff-inventory-table{min-width:620px}.staff-product-type{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:2px}.staff-cash-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.staff-cash-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.staff-cash-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.staff-cash-summary strong{font-size:16px}.staff-result-card{margin-top:16px}.modal.modal-wide{width:min(1180px,100%)}.staff-entry-table input,.staff-cash-table input{min-width:105px}.staff-cash-table{min-width:760px}.staff-cash-table tfoot th{background:#eef5ef}.cash-complete-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}.cash-complete-row label{display:flex;gap:8px;align-items:center;font-weight:800;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.staff-cash-entry{grid-template-columns:180px 160px minmax(240px,1fr) auto;align-items:end}.staff-entry-reason{grid-column:auto!important}.staff-mobile-nav{grid-template-columns:1fr!important}
@media(max-width:900px){.staff-focus-grid{grid-template-columns:1fr}.staff-top-lock>span{min-width:0}.staff-cash-entry{grid-template-columns:1fr 1fr}.staff-entry-reason{grid-column:1/-1!important}}
@media(max-width:760px){.staff-top-lock{width:100%;justify-content:flex-end}.staff-top-lock>span:first-child{display:none}.staff-top-lock>span{padding:7px 9px}.staff-focus-grid{grid-template-columns:1fr}.staff-cash-summary{grid-template-columns:1fr 1fr}.staff-cash-entry{grid-template-columns:1fr}.staff-entry-reason{grid-column:auto!important}.staff-mobile-nav{display:grid}}

/* v0.6 — cash position & remittance register */
.cash-position-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.cash-position-grid{margin-top:16px;margin-bottom:16px}.custody-summary,.custody-people{display:grid;grid-template-columns:1fr 1fr;gap:9px}.custody-summary>div,.custody-people>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.custody-summary span,.custody-people span{font-size:11px;color:var(--muted);font-weight:750}.custody-summary strong,.custody-people strong{font-size:14px;white-space:nowrap}.money-negative{color:var(--bad-ink);font-weight:800}.channel-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em}.channel-pill.cash{background:#e9f1ec;color:#315f49}.channel-pill.gcash{background:#e8effb;color:#315f93}.row-actions{display:flex;gap:6px;justify-content:flex-end}.cash-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.cash-party-box{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;display:grid;gap:10px}.cash-party-box h4{margin:0;color:var(--brand);font-size:13px}.confirm-line{display:flex;gap:9px;align-items:flex-start;border:1px solid #d7c583;background:#fff9df;border-radius:12px;padding:12px;font-size:12px;font-weight:750;margin-top:12px}
@media(max-width:1050px){.cash-position-metrics{grid-template-columns:repeat(2,1fr)}.cash-position-grid{grid-template-columns:1fr}.custody-summary,.custody-people{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.cash-position-metrics,.cash-party-grid,.custody-summary,.custody-people{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}

/* v0.7 — staff checklist, product measurements, expense carry-over */
.staff-checklist-card{padding:16px}.staff-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.staff-check-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.staff-check-item.next{border-color:#7fb5a2;box-shadow:0 0 0 2px rgba(36,95,80,.08);background:#fbfffd}.staff-check-item.done{background:#fbfefc}.staff-check-no{width:30px;height:30px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900}.staff-check-copy{display:grid;gap:2px}.staff-check-copy small{font-size:9px;font-weight:900;letter-spacing:.09em;color:var(--muted)}.staff-check-copy strong{font-size:13px}.staff-check-copy span{font-size:11px;color:var(--muted)}.staff-check-item .btn{white-space:nowrap}.branch-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.branch-check-grid .branch-check{min-height:54px}.expense-carryover{color:var(--warn-ink);font-weight:800}
@media(max-width:900px){.staff-checklist{grid-template-columns:1fr}.staff-check-item{grid-template-columns:auto minmax(0,1fr) auto}.staff-check-item .btn{grid-column:2/-1;justify-self:start}.branch-check-grid{grid-template-columns:1fr}}

.staff-check-section-label{margin:14px 0 8px;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.staff-check-section-label.optional-label{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--warn-ink)}.staff-check-optional{background:#fffdf7}.staff-check-no.optional-no{background:#b8860b;font-size:11px}.optional-list{margin-bottom:2px}

/* v0.8 — daily submission, review and approval */
.btn:disabled,.step button:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.55)}
.staff-checklist-head-status,.staff-page-statuses,.daily-review-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.staff-page-statuses{justify-content:flex-end}
.daily-review-summary{justify-content:flex-end}
.staff-check-item .status{white-space:nowrap}
@media(max-width:760px){.staff-page-statuses,.daily-review-summary{justify-content:flex-start}.staff-checklist-head-status{align-items:flex-start;justify-content:flex-end}}

/* v0.8.4 — prominent staff day submission */
.staff-top-actions{display:flex;align-items:flex-end;gap:10px;flex-direction:column}
.staff-top-submit{min-width:190px;min-height:46px;font-size:14px;font-weight:900}
.staff-top-submit.submitted{background:#e6f0f5;border-color:#b8d2df;color:#22566d}
.staff-top-submit.approved{background:#e5f4e9;border-color:#bdddc5;color:#27633b}
@media(max-width:760px){
  .staff-top-actions{align-items:stretch;width:100%}
  .staff-top-submit{width:100%;min-width:0}
}

/* v0.8.6 admin daily review */
.modal-wide{width:min(1080px,94vw);max-height:92vh}
.review-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.review-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.review-step{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff8ea;display:flex;justify-content:space-between;gap:8px}
.review-step.done{background:#edf8ef}
.review-step strong{font-size:12px}
.compact-table td,.compact-table th{padding:8px 10px}
.review-gcash{display:flex;justify-content:space-between;padding:12px 4px 0;font-weight:700}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:800px){.review-step-grid{grid-template-columns:1fr 1fr}.review-top{align-items:flex-start;flex-direction:column}}

/* v0.8.7 HQ pending branch review checklist */
.admin-review-card{margin-top:16px}.admin-review-list{display:grid;gap:9px}.admin-review-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}.admin-review-check{width:30px;height:30px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900}.admin-review-copy{display:grid;gap:2px}.admin-review-copy strong{font-size:13px}.admin-review-copy span{font-size:11px;color:var(--muted)}.admin-review-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:760px){.admin-review-item{grid-template-columns:auto minmax(0,1fr)}.admin-review-item .btn{grid-column:2;justify-self:start}.admin-review-footer{justify-content:flex-start}}

/* v0.8.8 admin review cash totals */
.review-cash-grid{align-items:start}
.review-cash-block{min-width:0}
.review-cash-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;padding:0 2px}
.review-cash-head h4{margin:0}
.review-cash-head strong{font-size:18px;color:var(--brand);white-space:nowrap}
.review-cash-block .compact-table{min-width:0;width:100%}
@media(max-width:760px){.review-cash-head{align-items:flex-start}.review-cash-head strong{font-size:16px}}

/* v0.8.9 — align inventory review headers and values */
.review-inventory-table{table-layout:fixed;min-width:720px}
.review-inventory-table .review-product-col{width:48%}
.review-inventory-table .review-number-col{width:13%}
.review-inventory-table th:first-child,.review-inventory-table td:first-child{text-align:left}
.review-inventory-table th:not(:first-child),.review-inventory-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.review-inventory-table th:not(:first-child){padding-right:16px}
.review-inventory-table td:not(:first-child){padding-right:16px}


/* v0.9 — EOD staff submission audit trail */
.daily-audit-summary{margin:12px 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.audit-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.audit-identity-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;display:grid;gap:4px;min-width:0}
.audit-identity-card.muted{background:#f6f6f3;color:var(--muted)}
.audit-identity-card>span{font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.audit-identity-card>strong{font-size:15px;color:var(--ink)}
.audit-id-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.audit-id-line b{color:var(--brand);font-size:12px}
.audit-id-line span{font-size:10px;font-weight:800;color:var(--muted);border-radius:999px;background:#eef2ef;padding:3px 6px}
.audit-user-id{font-size:9px;color:#66736e;word-break:break-all;background:#f3f5f3;padding:3px 5px;border-radius:6px}
.daily-audit-timeline{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;display:grid;gap:7px}
.daily-audit-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center}
.daily-audit-event strong{font-size:12px}
.audit-table{min-width:1080px}
.audit-table td{vertical-align:top}
@media(max-width:760px){.audit-identity-grid{grid-template-columns:1fr}.daily-audit-event{align-items:start}}


/* v1.0 — HQ management / finance cleanup */
.nav-dropdown{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.nav-dropdown-toggle{width:100%;display:flex;align-items:center;gap:0!important;color:#d8e5df!important}
.nav-dropdown-toggle>span:nth-child(2){flex:1}
.nav-dropdown-toggle .nav-chevron{margin-left:auto;font-size:15px;line-height:1;transition:transform .18s ease;color:rgba(255,255,255,.72)}
.nav-dropdown.open .nav-chevron{transform:rotate(180deg)}
.nav-dropdown.active>.nav-dropdown-toggle,.nav-dropdown-toggle:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.nav-dropdown-items{display:none;padding:5px 0 0 13px;gap:4px}
.nav-dropdown.open .nav-dropdown-items{display:grid}
.nav-dropdown-items button{padding:9px 10px;font-size:13px}
.nav-dropdown-items .nav-num{width:20px;height:20px;font-size:10px}

.nav-group-label{margin:14px 12px 6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.hq-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.dashboard-section-label{margin:16px 2px 8px;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.payment-method-card{margin:16px 0}.payment-method-table th:not(:first-child),.payment-method-table td:not(:first-child){text-align:right}
.month-cash-select{min-width:190px}
.finance-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.cash-hq-card{margin-bottom:16px}.cash-position-city-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.digital-sales-entry{grid-template-columns:repeat(3,minmax(0,1fr))}
.review-payment-lines{display:grid;gap:8px;padding-top:12px}
.review-payment-lines>div{display:flex;justify-content:space-between;gap:16px}
@media(max-width:1050px){.hq-dashboard-metrics{grid-template-columns:repeat(2,1fr)}.cash-position-city-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hq-dashboard-metrics,.cash-position-city-metrics,.digital-sales-entry{grid-template-columns:1fr}.month-cash-select{width:100%}}

/* v1.0.1 HQ dashboard sales scope */
.dashboard-scope-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 12px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.dashboard-scope-bar>div{display:flex;flex-direction:column;gap:2px}.dashboard-scope-bar>div strong{font-size:15px}.dashboard-scope-bar>div span{font-size:12px;color:var(--muted)}
.dashboard-scope-control{display:flex;align-items:center;gap:10px}.dashboard-scope-control>span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dashboard-scope-select{min-width:230px}
@media(max-width:760px){.dashboard-scope-bar{align-items:stretch;flex-direction:column}.dashboard-scope-control{align-items:stretch;flex-direction:column;gap:6px}.dashboard-scope-select{max-width:none;width:100%}}


/* v1.0.3 branch sales breakdown */
.branch-sales-breakdown{display:grid;gap:14px;margin:14px 0 18px}
.branch-sales-card{padding:0;overflow:hidden}
.branch-sales-card .section-title{padding:16px 18px 10px;margin:0}
.branch-sales-table td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:600}
.branch-sales-table tfoot th{font-weight:900;background:var(--soft)}
.branch-sales-table th:not(:first-child),.branch-sales-table td:not(:first-child){text-align:right}


/* v1.0.4 daily tally city filter */
.daily-tally-head-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.daily-tally-city-control{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.daily-tally-city-control .control{min-width:180px}
.daily-tally-page-head .daily-review-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.daily-tally-head-actions{margin-top:12px;align-items:stretch;flex-direction:column}.daily-tally-city-control{align-items:stretch}.daily-tally-city-control .control{width:100%;max-width:none}.daily-tally-page-head .daily-review-summary{justify-content:flex-start}}

/* v1.1.0 — Master Inventory */
.inventory-master-metrics{margin-bottom:16px}
.inventory-master-card{padding:0;overflow:hidden}
.inventory-master-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fbfcfa;align-items:center}
.inventory-master-table{min-width:1180px}
.inventory-master-table td{vertical-align:top}
.inventory-master-table td:last-child{min-width:180px}
.inventory-master-table .meta{margin-top:3px}
.inventory-scope-text{display:block;max-width:220px;font-size:11px;line-height:1.45;color:var(--ink)}
.inventory-master-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.inventory-all-scope{margin:0}
.inventory-access-list{display:grid;gap:8px}
.inventory-access-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}
.inventory-access-row input{margin-top:3px}
.inventory-access-row span{display:grid;gap:2px}
.inventory-access-row strong{font-size:13px}
.inventory-access-row small{font-size:10px;color:var(--muted)}
@media(max-width:900px){.inventory-master-toolbar{grid-template-columns:1fr 1fr}.inventory-search{grid-column:1/-1}.inventory-master-form{grid-template-columns:1fr}}
@media(max-width:620px){.inventory-master-toolbar{grid-template-columns:1fr}.inventory-search{grid-column:auto}}

/* v1.1.1 inventory supplier master + controlled dropdowns */
.field-help{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:var(--muted);font-weight:600}
.supplier-master-table{min-width:980px}
.supplier-master-table td{vertical-align:top}
.inventory-master-table{min-width:1320px}
.inventory-master-form select[readonly],.inventory-master-form input[readonly]{background:#f4f4ef;color:var(--muted)}

/* v1.2.2 sidebar scrolling and dropdown cleanup */
.sidebar{
  height:100vh;
  height:100dvh;
  min-height:100vh;
  min-height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  overflow:hidden;
}

.sidebar > .brand{
  flex:0 0 auto;
}

.sidebar > .nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  align-content:start;
  padding-right:5px;
  margin-right:-5px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}

.sidebar > .nav::-webkit-scrollbar{
  width:7px;
}

.sidebar > .nav::-webkit-scrollbar-track{
  background:transparent;
}

.sidebar > .nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.24);
  border-radius:999px;
}

.sidebar > .nav::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.38);
}

.sidebar > .sidebar-foot{
  position:relative;
  z-index:4;
  flex:0 0 auto;
  margin-top:0;
  padding-top:14px;
  padding-bottom:max(2px,env(safe-area-inset-bottom));
  background:var(--brand);
  box-shadow:0 -12px 22px rgba(18,50,42,.18);
}

.nav-dropdown,
.tbc-pp-nav-group{
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.12);
}

.nav-dropdown-toggle,
.tbc-pp-nav-parent{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:0!important;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#d8e5df!important;
  padding:10px 12px;
  font:inherit;
  font-weight:650;
  text-align:left;
}

.nav-dropdown-toggle > span:nth-child(2),
.tbc-pp-nav-parent > span:nth-child(2){
  flex:1;
  min-width:0;
}

.nav-dropdown .nav-chevron,
.tbc-pp-nav-group .nav-chevron{
  flex:0 0 auto;
  margin-left:auto;
  font-size:15px;
  line-height:1;
  color:rgba(255,255,255,.72);
  transform:rotate(-90deg);
  transition:transform .18s ease;
}

.nav-dropdown.open .nav-chevron,
.tbc-pp-nav-group.open .nav-chevron{
  transform:rotate(0deg);
}

.nav-dropdown.active > .nav-dropdown-toggle,
.nav-dropdown-toggle:hover,
.tbc-pp-nav-parent:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}

.nav-dropdown-items,
.tbc-pp-nav-items{
  display:none;
  gap:4px;
  padding:5px 0 4px 31px;
}

.nav-dropdown.open .nav-dropdown-items,
.tbc-pp-nav-group.open .tbc-pp-nav-items{
  display:grid;
}

.nav-dropdown-items button,
.nav-dropdown-items a,
.tbc-pp-nav-items a{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#d8e5df;
  padding:8px 10px;
  text-align:left;
  text-decoration:none;
  font-size:13px;
  font-weight:650;
  line-height:1.25;
}

.nav-dropdown-items button:hover,
.nav-dropdown-items button.active,
.nav-dropdown-items a:hover,
.tbc-pp-nav-items a:hover{
  background:rgba(255,255,255,.10);
  color:#fff;
}

.nav-dropdown-items .nav-num,
.tbc-pp-nav-items .nav-num{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-right:8px;
  font-size:9px;
}

.nav-group-label{
  margin-top:10px;
}

@media (min-width:761px) and (max-height:760px){
  .sidebar{
    padding-top:15px;
    padding-bottom:12px;
    gap:10px;
  }

  .brand{
    padding-bottom:6px;
  }

  .nav button,
  .nav-dropdown-toggle,
  .tbc-pp-nav-parent{
    min-height:40px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .nav-group-label{
    margin-top:7px;
    padding-top:8px;
  }

  .sidebar-foot{
    padding-top:10px;
  }
}

/* v1.1.2 master inventory form alignment */
.inventory-master-form{
  align-items:start;
  column-gap:16px;
  row-gap:14px;
}
.inventory-master-form > .field{
  align-self:start;
  align-content:start;
  min-width:0;
}
.inventory-master-form > .field > label{
  min-height:14px;
  display:flex;
  align-items:flex-end;
}
.inventory-master-form > .field > input:not([type="checkbox"]),
.inventory-master-form > .field > select{
  height:48px;
  min-height:48px;
  max-height:48px;
  box-sizing:border-box;
  align-self:start;
}
.inventory-master-form > .field > textarea{
  box-sizing:border-box;
  align-self:start;
}
.inventory-master-form .field-help{
  margin-top:0;
  min-height:0;
  line-height:1.35;
}
.inventory-master-form .input-yellow{
  height:48px;
}
@media(max-width:900px){
  .inventory-master-form{row-gap:14px}
}

/* v1.1.3 master inventory table alignment */
.inventory-master-card .table-wrap{overflow-x:auto}
.inventory-master-table{table-layout:fixed;width:100%;min-width:1360px}
.inventory-master-table .inv-col-item{width:14%}
.inventory-master-table .inv-col-type{width:12%}
.inventory-master-table .inv-col-supplier{width:18%}
.inventory-master-table .inv-col-units{width:11%}
.inventory-master-table .inv-col-cost{width:11%}
.inventory-master-table .inv-col-reorder{width:9%}
.inventory-master-table .inv-col-scope{width:13%}
.inventory-master-table .inv-col-status{width:12%}
.inventory-master-table .inv-col-actions{width:150px}
.inventory-master-table th,.inventory-master-table td{box-sizing:border-box;vertical-align:top;overflow-wrap:anywhere}
.inventory-master-table th{line-height:1.2;white-space:normal}
.inventory-master-table th:nth-child(5),.inventory-master-table th:nth-child(6),.inventory-master-table td:nth-child(5),.inventory-master-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}
.inventory-master-table th:nth-child(9),.inventory-master-table td:nth-child(9){text-align:left}
.inventory-master-table td:nth-child(3) strong{display:block;line-height:1.3}
.inventory-master-table .inventory-scope-text{max-width:none;width:100%}
.inventory-master-table td:last-child{min-width:0}
.inventory-master-table td:last-child .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}

/* v1.3 roster duties, restricted fields and least-privilege states */
.staff-roster-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#eef7f2,#fff)}
.staff-roster-card .staff-roster-main{display:flex;gap:12px;align-items:center;min-width:0}
.staff-roster-card .staff-shift-code{min-width:76px;padding:11px 12px;border-radius:13px;background:var(--brand);color:#fff;text-align:center;font-weight:900;font-size:15px}
.staff-roster-card strong{display:block;font-size:16px}.staff-roster-card .meta{margin-top:3px}
.staff-roster-duty{padding:8px 11px;border-radius:999px;background:#e6f4eb;color:#246541;font-weight:850;font-size:11px;white-space:nowrap}
.staff-roster-notice{margin-bottom:14px}
.staff-check-item.delegated{background:#f4f2ed;color:var(--muted);border-style:dashed}
.staff-check-item.delegated .staff-check-no{background:#8b928e}
.delegated-label{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#ece9e2;color:#646a66;font-size:10px;font-weight:850;text-transform:uppercase}
.input-readonly,.control.input-readonly,input.input-readonly{background:#f1f0ec!important;color:#777!important;border-color:#ddd8cf!important;cursor:not-allowed}
.disabled-duty{opacity:.58;cursor:not-allowed}
.restricted-value{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f0ede7;color:#6c706d;font-size:11px;font-weight:800}
.permission-note{padding:11px 13px;border-radius:12px;background:#f3f1eb;color:var(--muted);font-size:12px}
.finance-readonly-note{margin-bottom:12px}
@media(max-width:760px){.staff-roster-card{grid-template-columns:1fr}.staff-roster-duty{justify-self:start}}
