:root{--bg: #f4f1eb;--surface: #fff;--text: #1a1612;--muted: #6b635a;--border: #e3dcd1;--brand: #c45c26;--brand-dark: #9a4518;--ok: #2d6a4f;--warn: #b08900;--danger: #9b2226;--info: #1d4e89;--radius: 12px;--shadow: 0 8px 24px rgba(26, 22, 18, .08);font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.75rem}.brand-center{justify-content:center;margin-bottom:1rem}.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}.brand small,.muted{display:block;color:var(--muted);font-size:.85rem}.nav{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.nav a{padding:.45rem .75rem;border-radius:999px;color:var(--text);text-decoration:none}.nav a.active{background:#fdeee4;color:var(--brand-dark);font-weight:600}.user-menu{display:flex;align-items:center;gap:.75rem;margin-left:auto}.main{padding:1.25rem;max-width:1100px;width:100%;margin:0 auto}h1{margin:0 0 .35rem;font-size:1.75rem}h2{margin:0 0 .75rem;font-size:1.15rem}.lede{color:var(--muted);margin:0 0 1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow);margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;margin-bottom:1.25rem}.stat-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);text-decoration:none;color:inherit}.stat-value{font-size:2rem;font-weight:700;line-height:1}.stat-label{color:var(--muted);font-size:.9rem}.stat-warn{border-color:#f0d78c}.stat-danger{border-color:#f1c0c0}.stat-ok{border-color:#b7dfc9}.stat-info{border-color:#b8d4f0}.btn{border:none;border-radius:10px;padding:.6rem 1rem;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{background:#efe8de;color:var(--text)}.btn-ghost{background:transparent;color:var(--muted)}.btn-sm{padding:.35rem .65rem;font-size:.85rem}.btn-row{display:flex;flex-wrap:wrap;gap:.65rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;margin-bottom:.75rem}input,select,textarea{font:inherit;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:#fff}textarea{resize:vertical}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;align-items:end}.alert{padding:.75rem .9rem;border-radius:8px;margin-bottom:1rem}.alert-error{background:#fdecea;color:var(--danger)}.alert-warn{background:#fff8e6;color:#7a5d00}.alert-ok{background:#e8f5ee;color:var(--ok)}.alert-border{border-color:#f0c987}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%)}.page-loading{padding:2rem;text-align:center;color:var(--muted)}.count-list{display:flex;flex-direction:column;gap:1rem}.count-card-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.cash-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem}.cash-label{font-size:.8rem;color:var(--muted)}.cash-value{font-size:1.35rem;font-weight:700}.variance-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.9rem;padding:.65rem 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin-bottom:.75rem}.required{color:var(--danger);font-style:normal}.badge{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:#efe8de;white-space:nowrap}.badge-reconciled{background:#d8f0e3;color:#1b5e3a;font-weight:600}.badge-awaiting-owner{background:#fff3cd;color:#856404;font-weight:600}.badge-in-run{background:#fdeee4;color:var(--brand-dark)}.badge-awaiting-deposit{background:#fff3cd;color:#856404;font-weight:600}.badge-counted{background:#e8eef5;color:var(--info)}.badge-action{background:#fff8e6;color:#7a5d00}.badge-alert{background:#fdecea;color:var(--danger)}.badge-neutral{background:#efe8de;color:var(--muted)}.owner-action-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:linear-gradient(135deg,#fff3cd,#fff);border-color:#f0d78c;margin-bottom:1rem}.owner-action-banner p{margin:.35rem 0 0}.owner-action-cta{font-weight:700;color:#856404;white-space:nowrap}.stat-owner-action{border-color:#f0d78c}.stat-prominent{box-shadow:0 0 0 2px #f0d78c}.stat-owner-action .stat-value{color:#856404}.row-reconciled{background:#f0faf4}.row-awaiting-owner{background:#fffbf0}.row-subtotal-reconciled{background:#e8f5ee!important;border-color:var(--ok)!important}.row-subtotal-awaiting{background:#fff8e6!important;border-color:#f0d78c!important}.period-reconciled{color:var(--ok)}.period-awaiting-owner{color:#856404;font-weight:500}.register-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.form-msg{font-size:.9rem;color:var(--ok)}.select-list{list-style:none;padding:0;margin:0}.select-list li{border-bottom:1px solid var(--border);padding:.55rem 0}.select-list label{flex-direction:row;align-items:center;gap:.75rem;margin:0;flex-wrap:wrap}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.totals-grid>div,.meta-grid>div{display:flex;flex-direction:column;gap:.25rem;padding:.65rem;background:#faf7f2;border-radius:8px}.totals-grid span,.meta-grid span{color:var(--muted);font-size:.85rem}.highlight{background:#fdeee4!important}.deposit-callout{font-size:1.1rem;margin:1rem 0}.deposit-hero{text-align:center;background:linear-gradient(135deg,#fdeee4,#fff)}.deposit-hero strong{display:block;font-size:2.2rem;color:var(--brand-dark);margin:.35rem 0}.deposit-hero-done{background:#e8f5ee;border-color:#b8dcc8}.deposit-hero-done span{color:var(--ok);font-weight:600}.deposit-hero-done .deposit-slip-ready{margin:.75rem 0 0}.row-in-progress{background:#f0faf4}.period-date-hint{margin:.5rem 0 0;font-size:.88rem}.row-subtotal-in-progress{background:#f5fbf7}.register-actions{white-space:nowrap}.register-actions .register-cta{font-weight:600;margin-right:.5rem}.register-action-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.register-open-run p{margin:0 0 .35rem}.register-subtotal-actions .link-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline}.register-subtotal-actions .link-btn:disabled{opacity:.6;cursor:wait}.muted-link{color:var(--muted)}.period-blocked-banner{margin:.75rem 0 0}.deposit-slip-prompt{margin-bottom:1rem}.deposit-slip-ready{margin:.75rem 0 0;padding:.6rem .75rem}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th,.data-table td{padding:.55rem .45rem;border-bottom:1px solid var(--border);text-align:left}.row-variance{background:#fff8e6}.actions-cell{display:flex;gap:.35rem;flex-wrap:wrap}.audit-list{list-style:none;padding:0;margin:0}.audit-list li{padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.form-grid{display:grid;gap:.25rem}.checkbox-inline{flex-direction:row!important;align-items:center;margin-right:1rem}fieldset{border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.register-page .register-window-label{align-self:center;font-size:.9rem;color:var(--muted);white-space:nowrap}.register-page .register-scroll{overflow-x:auto;padding:0}.register-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:900px}.register-table th{position:sticky;top:0;background:#faf7f2;z-index:1;text-align:left;padding:.5rem .4rem;border-bottom:2px solid var(--border);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.register-table td{padding:.35rem .4rem;border-bottom:1px solid var(--border);vertical-align:middle}.register-table td.num{text-align:right;font-variant-numeric:tabular-nums}.col-date{white-space:nowrap;min-width:120px}.col-action{min-width:140px}.cell-input{width:100%;min-width:72px;padding:.3rem .4rem;font-size:.85rem}.cell-note{margin-top:.25rem;font-size:.8rem}.row-empty{opacity:.55}.row-period-start{background:#e8f5ee}.row-period-start td{border-top:2px solid var(--ok)}.row-run-start{background:#fdeee4}.row-subtotal td{background:#f0ebe3;font-size:.85rem;padding:.6rem .4rem;border-top:2px solid var(--brand);border-bottom:2px solid var(--brand)}.marker{font-size:.7rem;margin-right:.35rem;font-weight:700}.marker-new{color:var(--ok)}.marker-run{color:var(--brand-dark)}.period-banner h2{margin:0 0 .5rem;font-size:1rem}.period-banner p{margin:.35rem 0}.period-open{color:var(--brand-dark)}.period-new{color:var(--ok)}.open-period-totals{background:#fdeee4}.cash-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:.75rem}.cash-col-bag .bag-signed-by{margin-top:.65rem;margin-bottom:0}.cash-col-bag .bag-signed-by label{margin-bottom:.5rem;font-size:.82rem}.field-tooltip{position:relative;display:inline-flex;vertical-align:middle;margin-left:.25rem}.field-tooltip-btn{border:none;background:transparent;color:var(--info);cursor:help;padding:0;font-size:.95rem;line-height:1}.field-tooltip-text{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:min(260px,70vw);padding:.55rem .65rem;border-radius:8px;background:#1a1612;color:#fff;font-size:.78rem;font-weight:400;line-height:1.35;z-index:5;box-shadow:var(--shadow)}.field-tooltip:hover .field-tooltip-text,.field-tooltip:focus-within .field-tooltip-text{display:block}.bag-signed-by-compact label{margin-bottom:.35rem;font-size:.75rem}.bag-signed-by-compact select,.bag-signed-by-compact input{font-size:.8rem;padding:.35rem .4rem}.audit-trail-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;padding:.75rem;margin:.75rem 0;border-radius:8px;background:#f7f3ec;border:1px solid var(--border);font-size:.88rem}.audit-trail-panel span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.15rem}.submit-hint{margin:.5rem 0 .75rem;font-size:.88rem}.filters-inline{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.filters-inline label{margin-bottom:0}.audit-table{min-width:960px}@media(max-width:720px){html,body{overflow-x:hidden}.main{padding:1rem max(1rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.topbar{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.cash-trio,.cash-entry-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:stretch}.user-menu{margin-left:0;justify-content:space-between}.period-summary-main{grid-template-columns:1fr 1fr}.workflow-stepper{flex-direction:column;gap:.5rem}.sticky-summary-bar{flex-wrap:wrap}input,select,textarea{font-size:16px;min-height:44px}.btn{min-height:44px;padding-left:1rem;padding-right:1rem}.btn-sm{min-height:40px}.nav a{min-height:44px;display:inline-flex;align-items:center}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}.data-table{min-width:640px}.batch-card-actions .btn{flex:1 1 auto;min-width:120px}}.banking-dashboard{padding-bottom:4rem}.dashboard-header{margin-bottom:1rem}.workflow-stepper{display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.workflow-step{flex:1;min-width:120px;display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-radius:8px;opacity:.45}.workflow-step.active{opacity:1}.workflow-step.current{background:#fdeee4}.workflow-step-num{width:1.6rem;height:1.6rem;border-radius:50%;background:var(--border);display:grid;place-items:center;font-size:.8rem;font-weight:700;flex-shrink:0}.workflow-step.active .workflow-step-num{background:var(--brand);color:#fff}.workflow-step-label{font-size:.85rem;font-weight:500}.workflow-section{margin-bottom:1.25rem}.workflow-section h2{margin-bottom:.5rem}.section-head{margin-bottom:.75rem}.period-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.period-select-grid label{margin-bottom:0}.period-summary-panel{padding-top:1rem;border-top:1px dashed var(--border)}.period-summary-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem;margin-bottom:.75rem}.period-summary-label{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem}.period-next-action{margin:.75rem 0;font-size:.95rem}.period-sync-note{margin:0 0 .75rem;font-size:.88rem}.period-summary-note{display:block;font-size:.78rem;color:var(--muted);font-weight:400;margin-top:.15rem}.wizard-reset{margin-right:auto;color:var(--danger)}.day-checklist{display:flex;flex-direction:column;gap:.65rem}.day-checklist-card{padding:0;overflow:hidden;margin-bottom:0}.day-checklist-card.has-variance{border-color:#f0c987}.day-checklist-head{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.85rem 1rem;border:none;background:transparent;font:inherit;text-align:left;cursor:pointer}.day-checklist-head:disabled{cursor:default}.day-checklist-date{flex:1;min-width:140px}.day-checklist-metrics{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.88rem}.day-checklist-chevron{color:var(--muted);margin-left:auto}.day-checklist-empty{padding:0 1rem .85rem;margin:0}.day-checklist-card.expanded .day-wizard{border-top:1px solid var(--border);padding:1rem}.day-wizard-success{padding:1rem}.wizard-steps{display:flex;gap:.35rem;margin-bottom:1rem}.wizard-step-dot{width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--muted)}.wizard-step-dot.active{border-color:var(--brand);color:var(--brand-dark);background:#fdeee4}.wizard-step-dot.done{border-color:var(--ok);background:#e8f5ee;color:var(--ok)}.wizard-step-title{margin:0 0 .35rem;font-size:1.05rem}.wizard-step-hint{margin:0 0 1rem;color:var(--muted);font-size:.9rem}.wizard-check{flex-direction:row!important;align-items:center;gap:.65rem}.wizard-field label{margin-bottom:.5rem}.wizard-readonly{font-size:1.25rem;font-weight:700;margin-bottom:.85rem;padding:.5rem .65rem;background:#faf7f2;border-radius:8px}.wizard-variance-flag{margin-top:.65rem}.wizard-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;margin-bottom:.85rem}.wizard-review-grid>div{padding:.55rem;background:#faf7f2;border-radius:8px}.wizard-review-grid span{display:block;font-size:.78rem;color:var(--muted)}.wizard-variance{background:#fff8e6!important}.wizard-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--border)}.wizard-actions .btn-primary{margin-left:auto}.banking-summary-section .submission-audit{margin-top:1rem}.banking-summary-section .submission-audit h3{font-size:.95rem;margin-bottom:.5rem}.btn-lg{padding:.75rem 1.25rem;font-size:1rem}.sticky-summary-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.65rem 1rem;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px #1a16120f;z-index:9;font-size:.9rem;font-weight:500}.batch-card{margin-bottom:.85rem}.batch-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.batch-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;margin-bottom:.75rem}.batch-card-meta>div{padding:.5rem;background:#faf7f2;border-radius:8px;font-size:.88rem}.batch-card-meta span{display:block;font-size:.75rem;color:var(--muted)}.batch-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.cancel-run-panel{border-color:#f1c0c0;background:snow}.cancel-run-btn{color:var(--danger)}.table-scroll{overflow-x:auto}.audit-table{font-size:.85rem}.audit-diff{max-width:280px;font-family:ui-monospace,monospace;font-size:.78rem}.audit-old{color:var(--muted)}.audit-new{color:var(--text)}.nowrap{white-space:nowrap}.row-inactive{opacity:.6}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.checkbox-inline{display:inline-flex;align-items:center;gap:.35rem;margin-right:1rem;margin-bottom:.35rem}
