@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#182922;--muted:#79857f;--green:#1e614a;--mint:#dcefe4;--paper:#fff;--bg:#f6f7f4;--line:#e9ece8;--amber:#a76716;--shadow:0 10px 30px #173b2810}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;color:var(--ink);font-size:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:0 7px 38px}.brand-icon{background:var(--green);color:white;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:800 19px Manrope}.brand strong,.brand small,.side-note b,.side-note small{display:block}.brand strong{font:700 14px Manrope;letter-spacing:-.3px}.brand small{color:var(--muted);font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#708078;text-align:left;padding:12px 13px;border-radius:9px;display:flex;gap:12px;align-items:center;font:600 13px 'DM Sans';cursor:pointer}.nav-item span{font-size:16px;width:18px;text-align:center}.nav-item.active{background:#eaf4ed;color:var(--green)}.side-note{margin-top:auto;background:#f6f8f5;border:1px solid #edf0ec;border-radius:10px;padding:12px;display:flex;gap:10px;align-items:center}.side-note b{font-size:12px}.side-note small{color:var(--muted);font-size:10px;margin-top:3px}.live-dot{width:8px;height:8px;border-radius:50%;background:#55a879;box-shadow:0 0 0 4px #def0e4}.main{padding:28px clamp(20px,4vw,56px) 22px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#8b9891;margin:0 0 5px}.topbar h1{font:700 25px Manrope;margin:0;letter-spacing:-.8px}.primary,.secondary{border:0;border-radius:8px;padding:10px 15px;font:600 12px 'DM Sans';cursor:pointer;transition:.15s}.primary{background:var(--green);color:white}.primary:hover{background:#164c39;transform:translateY(-1px)}.secondary{background:#f0f2ef;color:var(--ink)}.view{display:none}.view.active{display:block}.welcome{background:linear-gradient(110deg,#174e3b,#21694c);border-radius:14px;padding:25px 32px;color:#fff;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.welcome:after{content:'';position:absolute;right:50px;top:-125px;width:280px;height:280px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 35px #ffffff08,0 0 0 72px #ffffff07}.welcome>*{z-index:1}.eyebrow.light{color:#b6d5c2}.welcome h2{font:700 24px/1.25 Manrope;letter-spacing:-.8px;margin:6px 0}.welcome p:last-child{color:#d2e4d9;margin:8px 0 0;font-size:12px}.welcome-mark{font-size:40px;color:#c6e5d1;opacity:.75;padding:0 35px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0 28px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:17px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 3px 14px #12241905}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px}.stat-icon.green{color:#277154;background:#e7f4eb}.stat-icon.blue{color:#477492;background:#e9f2f8}.stat-icon.amber{color:#a7772e;background:#faf1df}.stat-label{display:block;font-size:11px;color:var(--muted);margin:0 0 4px}.stat-card strong{font:700 21px Manrope;letter-spacing:-.5px;display:block}.stat-card small{font-size:10px;color:#a2aaa5;display:block;margin-top:3px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading h2{font:700 16px Manrope;margin:0 0 4px;letter-spacing:-.3px}.section-heading p{color:var(--muted);font-size:11px;margin:0}.text-button{border:0;background:transparent;color:var(--green);font:600 12px 'DM Sans';cursor:pointer}.text-button span{margin-left:4px}.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf9;color:#9aa49e;font-size:9px;letter-spacing:.8px;font-weight:700;padding:13px 16px}td{padding:14px 16px;border-top:1px solid #f0f2ef;font-size:12px;color:#59675f}td:first-child{color:var(--ink);font-weight:600}.money{font-variant-numeric:tabular-nums}.negative{color:#ae6c1a;font-weight:600}.clickable{cursor:pointer}.clickable:hover td{background:#fbfdfb}.empty-state{text-align:center;padding:36px 20px 40px}.empty-state[hidden],.empty-state.standalone[hidden]{display:none}.empty-icon{font-size:22px;color:#65987c;background:#e9f4ec;border-radius:13px;width:44px;height:44px;margin:0 auto 12px;display:grid;place-items:center}.empty-state h3{font:700 14px Manrope;margin:0 0 6px}.empty-state p{color:var(--muted);font-size:12px;margin:0 0 17px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.search{background:white;border:1px solid var(--line);border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:8px;max-width:310px;width:100%;color:#8d9a92}.search input{border:0;outline:0;padding:10px 0;width:100%;font:12px 'DM Sans';background:transparent}.retailer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.retailer-card{background:white;border:1px solid var(--line);border-radius:12px;padding:17px;cursor:pointer;transition:.15s}.retailer-card:hover{border-color:#bfd9c7;box-shadow:var(--shadow);transform:translateY(-2px)}.retailer-card-top{display:flex;justify-content:space-between;align-items:flex-start}.avatar{width:36px;height:36px;border-radius:11px;background:#e9f3ec;color:var(--green);display:grid;place-items:center;font:700 14px Manrope}.retailer-card h3{font:700 14px Manrope;margin:14px 0 4px}.retailer-card .muted{font-size:11px;color:var(--muted);margin:0}.card-stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.card-stats span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.card-stats b{font-size:12px;font-variant-numeric:tabular-nums}.period-cta{margin-top:14px;width:100%;background:#f1f6f2;border:0;border-radius:7px;color:var(--green);padding:8px;font:600 11px 'DM Sans';cursor:pointer}.standalone{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:20px}footer{color:#a0aaa3;font-size:10px;margin-top:24px}.modal-backdrop{position:fixed;inset:0;background:#10201980;z-index:10;display:grid;place-items:center;padding:16px}.modal-backdrop[hidden]{display:none}.modal{width:min(100%,440px);background:white;border-radius:14px;padding:23px;box-shadow:0 20px 70px #0c241936;max-height:90vh;overflow:auto}.detail-modal{width:min(100%,800px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font:700 20px Manrope;letter-spacing:-.5px;margin:0}.icon-button{border:0;background:#f1f3f0;border-radius:8px;font-size:20px;color:#59675f;width:31px;height:31px;cursor:pointer;line-height:1}form{display:grid;gap:14px}label{font-size:11px;color:#5e6b64;font-weight:600;display:grid;gap:6px}.optional{font-size:10px;color:#a3ada6;font-weight:400}input{font:13px 'DM Sans'}form label input{width:100%;border:1px solid #e4e9e4;border-radius:8px;padding:10px 11px;outline:none;color:var(--ink)}form label input:focus{border-color:#7eaf8e;box-shadow:0 0 0 3px #e8f3eb}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.calc-box{display:flex;justify-content:space-between;align-items:center;background:#f5f8f5;border:1px solid #e8eee8;border-radius:8px;padding:12px;font-size:11px;color:var(--muted)}.calc-box strong{font:700 15px Manrope;color:var(--green)}.balance-box{background:#fbf6eb;border-color:#f1e7ce}.balance-box strong{color:#a76716}.detail-sub{font-size:11px;color:var(--muted);margin:5px 0 0}.detail-actions{margin-bottom:14px}.detail-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:900px){.retailer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:200px minmax(0,1fr)}.main{padding:23px 22px}}@media(max-width:650px){.app-shell{display:block;padding-bottom:65px}.sidebar{position:fixed;z-index:5;bottom:0;top:auto;left:0;right:0;min-height:0;height:62px;padding:6px 10px;background:#fff;border-right:0;border-top:1px solid var(--line)}.brand,.side-note{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:0}.nav-item{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:7px 3px;font-size:9px}.nav-item span{font-size:17px}.main{padding:20px 14px}.topbar{margin-bottom:17px}.topbar h1{font-size:22px}.topbar>.primary{padding:9px 10px;font-size:11px}.welcome{padding:21px 19px}.welcome h2{font-size:21px}.welcome-mark{padding:0 8px;font-size:34px}.stats{gap:8px;margin:12px 0 23px}.stat-card{padding:11px 8px;gap:7px;display:block}.stat-icon{width:28px;height:28px;font-size:13px;margin-bottom:8px}.stat-label{font-size:9px}.stat-card strong{font-size:16px}.stat-card small{font-size:9px}.retailer-grid{grid-template-columns:1fr}.toolbar{align-items:center}.search{max-width:220px}.section-heading h2{font-size:15px}th,td{padding:12px 11px}.modal{padding:19px}.welcome:after{right:-100px}.detail-modal{width:100%}}

.entry-card{margin-top:0}.entry-table{min-width:860px}.entry-table th{padding:12px 13px}.entry-table td{padding:11px 13px;vertical-align:middle}.retailer-name{border:0;background:transparent;padding:0;color:var(--ink);font:700 12px Manrope;cursor:pointer}.retailer-name:hover{color:var(--green)}.row-hint{display:block;color:#a0aaa3;font-size:9px;margin-top:5px}.cell-input{font:12px 'DM Sans';border:1px solid #e5eae5;background:#fff;border-radius:6px;padding:8px 7px;color:var(--ink);outline:none}.cell-input:focus{border-color:#7eaf8e;box-shadow:0 0 0 2px #e8f3eb}.date-input{width:138px}.amount-input{width:100px;text-align:right;font-variant-numeric:tabular-nums}.entry-table .net-cell{font-weight:600;color:#456b57}.balance-cell{font-weight:600}.shortage-date{display:block;font:10px 'DM Sans';font-weight:400;color:#a76716;margin-top:3px}.save-row{border:0;background:#e9f3ec;color:var(--green);border-radius:6px;padding:7px 10px;font:600 10px 'DM Sans';cursor:pointer}.save-row:hover{background:#dcefe4}
.shortage-summary-card{margin-bottom:25px}.history-heading{margin-top:4px}.shortage-summary-card td{font-variant-numeric:tabular-nums}.shortage-summary-card td:first-child{font-weight:600}

.daily-gross{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 15px;margin:-5px 0 14px}.daily-gross span{display:block;font-size:11px;font-weight:600;color:var(--ink)}.daily-gross small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.daily-gross strong{font:700 19px Manrope;color:var(--green);font-variant-numeric:tabular-nums}

.entry-help{font-size:12px;color:var(--muted);margin:0}.retailer-select{width:180px}
@media(max-width:650px){.entry-help{font-size:10px}.retailer-select{width:150px}}

.login-gate{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.login-gate[hidden]{display:none}.login-card{width:min(100%,400px);background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:var(--shadow)}.login-card .brand-icon{margin-bottom:18px}.login-card h1{font:700 24px Manrope;margin:5px 0 8px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 20px}.login-card form{display:grid;gap:14px}.login-card input{border:1px solid #e4e9e4;border-radius:8px;padding:10px 11px;width:100%}.login-error{min-height:16px;color:#ae3d34;font-size:11px;margin:0}.setup-error{max-width:560px;margin:12vh auto;padding:22px;border:1px solid #efd9a9;background:#fff7e3;color:#6f511b;border-radius:12px;font:14px/1.6 'DM Sans'}.top-actions{display:flex;align-items:center;gap:8px}.signed-in-email{font-size:11px;color:var(--muted);margin-right:5px}@media(max-width:650px){.top-actions{gap:5px}.signed-in-email{display:none}.top-actions .secondary,.top-actions .primary{padding:8px 9px;font-size:10px}}
