@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500;600&display=swap);:root{--forest:#1c2b1e;--forest-mid:#2e4a30;--forest-light:#3d6142;--gold:#c49a3c;--gold-light:#e8c466;--gold-muted:#f0d9a0;--cream:#faf6ee;--cream-deep:#f2ebd9;--ink:#1a1a1a;--ink-mid:#4a4a4a;--ink-light:#8a8a8a;--border:#ddd4c0;--border-light:#ede7d8;--white:#fff;--paid-bg:#e8f5eb;--paid:#2e6b3a;--part-bg:#fff3dc;--part:#8b5e0a;--unpaid-bg:#fdeaea;--unpaid:#b03030;--sidebar-w:232px;--radius:10px;--shadow:0 1px 4px #1c2b1e14}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:15px}body{background:#faf6ee;background:var(--cream);color:#1a1a1a;color:var(--ink);font-family:Inter,sans-serif}.app,body{min-height:100vh}.app,.sidebar{display:flex}.sidebar{background:#1c2b1e;background:var(--forest);flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:232px;width:var(--sidebar-w);z-index:100}.sb-logo{border-bottom:1px solid #ffffff14;padding:22px 18px 16px}.sb-logo h1{color:#e8c466;color:var(--gold-light);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.sb-logo span{color:#faf6ee61;display:block;font-size:9px;letter-spacing:.15em;margin-top:2px;text-transform:uppercase}.sb-nav{flex:1 1;padding:12px 0}.sb-sec{color:#faf6ee4d;font-size:9px;font-weight:600;letter-spacing:.12em;padding:10px 18px 3px;text-transform:uppercase}.nav-item{align-items:center;color:#faf6eeb3;cursor:pointer;display:flex;font-size:13px;gap:9px;padding:9px 18px;text-decoration:none;transition:all .15s}.nav-item:hover{background:#ffffff0f;color:#faf6ee;color:var(--cream)}.nav-item.active{background:#c49a3c26;border-right:2px solid #c49a3c;border-right:2px solid var(--gold);color:#e8c466;color:var(--gold-light)}.sb-footer{border-top:1px solid #ffffff14;padding:14px 18px}.sb-user strong{color:#faf6ee;color:var(--cream);display:block;font-size:13px;font-weight:500}.sb-user em{color:#f0d9a0;color:var(--gold-muted);display:block;font-size:9px;font-style:normal;letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.main{display:flex;flex:1 1;flex-direction:column;margin-left:232px;margin-left:var(--sidebar-w);min-height:100vh}.topbar{align-items:center;background:#fff;background:var(--white);border-bottom:1px solid #ede7d8;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:14px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar-title{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:500}.page{flex:1 1;padding:28px 32px}.card{background:#fff;background:var(--white);border:1px solid #ede7d8;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #1c2b1e14;box-shadow:var(--shadow);margin-bottom:20px}.card-hdr{align-items:center;border-bottom:1px solid #ede7d8;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:16px 20px 14px}.card-title{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:500}.metrics{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));margin-bottom:24px}.tile{background:#fff;background:var(--white);border:1px solid #ede7d8;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #1c2b1e14;box-shadow:var(--shadow);overflow:hidden;padding:16px 18px;position:relative}.tile:before{background:linear-gradient(90deg,#c49a3c,#e8c466);background:linear-gradient(90deg,var(--gold),var(--gold-light));content:"";height:3px;left:0;position:absolute;right:0;top:0}.tile-lbl{color:#8a8a8a;color:var(--ink-light);font-size:9px;font-weight:600;letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}.tile-val{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:1.75rem;font-weight:600;line-height:1.1}.tile-val.pos{color:#2e6b3a;color:var(--paid)}.tile-val.warn{color:#8b5e0a;color:var(--part)}.tile-val.neg{color:#b03030;color:var(--unpaid)}.tile-sub{color:#8a8a8a;color:var(--ink-light);font-size:10px;margin-top:4px}.tbl-wrap{background:#fff;background:var(--white);border:1px solid #ede7d8;border:1px solid var(--border-light);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #1c2b1e14;box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;font-size:13px;width:100%}thead th{background:#faf6ee;background:var(--cream);border-bottom:1px solid #ddd4c0;border-bottom:1px solid var(--border);color:#4a4a4a;color:var(--ink-mid);font-size:10px;font-weight:600;letter-spacing:.08em;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}thead tr[style*=background] th{background:inherit;color:#f2efe7}tbody td{border-bottom:1px solid #ede7d8;border-bottom:1px solid var(--border-light);padding:11px 14px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#faf6ee;background:var(--cream)}.amt{font-family:Cormorant Garamond,serif;font-size:14px;font-weight:500;text-align:right}.amt,.badge{white-space:nowrap}.badge{border-radius:20px;display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.b-paid{background:#e8f5eb;background:var(--paid-bg);color:#2e6b3a;color:var(--paid)}.b-part{background:#fff3dc;background:var(--part-bg);color:#8b5e0a;color:var(--part)}.b-unpaid{background:#fdeaea;background:var(--unpaid-bg);color:#b03030;color:var(--unpaid)}.b-grey{background:#f0f0f0;color:#555}.b-blue{background:#edf4ff;color:#1e4fad}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:9px 16px;transition:all .15s}.btn-primary{background:#1c2b1e;background:var(--forest);color:#faf6ee;color:var(--cream)}.btn-primary:hover{background:#3d6142;background:var(--forest-light)}.btn-gold{background:#c49a3c;background:var(--gold);color:#1c2b1e;color:var(--forest)}.btn-gold:hover{background:#e8c466;background:var(--gold-light)}.btn-outline{background:#0000;border:1px solid #ddd4c0;border:1px solid var(--border);color:#4a4a4a;color:var(--ink-mid)}.btn-outline:hover{border-color:#1c2b1e;border-color:var(--forest);color:#1c2b1e;color:var(--forest)}.btn-ghost{background:#0000;color:#4a4a4a;color:var(--ink-mid)}.btn-ghost:hover{background:#faf6ee;background:var(--cream);color:#1c2b1e;color:var(--forest)}.btn-danger{background:#b03030;background:var(--unpaid);color:#fff}.btn-sm{font-size:12px;padding:5px 11px}.btn:disabled{cursor:not-allowed;opacity:.5}.form-group{margin-bottom:14px}.form-label{color:#4a4a4a;color:var(--ink-mid);display:block;font-size:11px;font-weight:500;margin-bottom:5px}.form-control{background:#fff;background:var(--white);border:1px solid #ddd4c0;border:1px solid var(--border);border-radius:8px;color:#1a1a1a;color:var(--ink);font-family:Inter,sans-serif;font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-control:focus{border-color:#3d6142;border-color:var(--forest-light);box-shadow:0 0 0 3px #2e4a301a}.form-hint{color:#8a8a8a;color:var(--ink-light);font-size:11px;margin-top:4px}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c2b1e8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:200}.modal{border-radius:12px;box-shadow:0 14px 44px #0003;max-height:92vh;max-width:600px;overflow-y:auto;width:100%}.modal,.modal-hdr{background:#fff;background:var(--white)}.modal-hdr{align-items:center;border-bottom:1px solid #ede7d8;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:18px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-title{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500}.modal-body{padding:22px}.modal-ftr{background:#fff;background:var(--white);border-top:1px solid #ede7d8;border-top:1px solid var(--border-light);bottom:0;justify-content:flex-end;padding:14px 22px;position:-webkit-sticky;position:sticky}.alert,.modal-ftr{display:flex;gap:10px}.alert{align-items:flex-start;border-radius:8px;font-size:13px;margin-bottom:16px;padding:12px 16px}.alert-warn{background:#fff3dc;background:var(--part-bg);border:1px solid #f0c860;color:#8b5e0a;color:var(--part)}.alert-error{background:#fdeaea;background:var(--unpaid-bg);color:#b03030;color:var(--unpaid)}.alert-info{background:#edf4ff;color:#1e4fad}.alert-success{background:#e8f5eb;background:var(--paid-bg);color:#2e6b3a;color:var(--paid)}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.gap-sm{gap:8px}.gap-md{gap:14px}.hidden{display:none!important}.text-muted{color:#8a8a8a;color:var(--ink-light)}.text-sm{font-size:12px}.text-xs{font-size:10px}.mb-md{margin-bottom:14px}.mb-lg{margin-bottom:24px}.mt-md{margin-top:14px}.divider{background:#ede7d8;background:var(--border-light);height:1px;margin:16px 0}.empty-state{color:#8a8a8a;color:var(--ink-light);padding:52px 24px;text-align:center}.empty-state h3{color:#4a4a4a;color:var(--ink-mid);font-family:Cormorant Garamond,serif;font-size:1.2rem;margin-bottom:8px}.page-hdr{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.page-title{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:1.4rem}.spinner{animation:spin .7s linear infinite;border:3px solid #ddd4c0;border-top-color:#1c2b1e;border:3px solid var(--border);border-radius:50%;border-top-color:var(--forest);height:32px;margin:48px auto;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.search-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.search-bar input,.search-bar select{background:#fff;background:var(--white);border:1px solid #ddd4c0;border:1px solid var(--border);border-radius:8px;color:#1a1a1a;color:var(--ink);font-family:Inter,sans-serif;font-size:13px;outline:none;padding:8px 12px}.search-bar input{flex:1 1;min-width:200px}.low-stock-row td{background:#fffbf0!important}.login-page{align-items:center;background:#1c2b1e;background:var(--forest);background-image:radial-gradient(ellipse at 20% 80%,#c49a3c1f 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#c49a3c14 0,#0000 50%);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;background:var(--white);border-radius:14px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.login-logo{margin-bottom:28px;text-align:center}.login-logo h1{color:#1c2b1e;color:var(--forest);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600}.login-logo p{color:#8a8a8a;color:var(--ink-light);font-size:10px;letter-spacing:.14em;margin-top:4px;text-transform:uppercase}@media print{.btn,.search-bar,.sidebar,.topbar{display:none!important}.main{margin-left:0}.page{padding:0}}@media (max-width:768px){:root{--sidebar-w:0px}.sidebar{transform:translateX(-100%);transition:transform .25s ease;width:260px;z-index:500}.sidebar.open{transform:translateX(0)}.sidebar-overlay{background:#00000073;display:none;inset:0;position:fixed;z-index:499}.sidebar-overlay.open{display:block}.main{margin-left:0!important}.topbar{padding:12px 16px}.topbar-title{font-size:1.1rem}.page{padding:16px}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;margin-right:12px;padding:4px}.hamburger span{background:#1c2b1e;background:var(--forest);border-radius:2px;display:block;height:2px;transition:all .2s;width:22px}.metrics{gap:10px!important;grid-template-columns:repeat(2,1fr)!important}.tile-val{font-size:1.35rem!important}.form-row{grid-template-columns:1fr!important}.tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:600px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:95vh;max-width:100%!important;width:100%}.search-bar{flex-wrap:wrap}.search-bar input{min-width:100%}.flex-between,.page-hdr{flex-wrap:wrap;gap:10px}[style*="repeat(auto-fill,minmax(320px"]{grid-template-columns:1fr!important}.modal-body{padding:16px}.modal-hdr{padding:14px 16px}.modal-ftr{flex-wrap:wrap;gap:8px;padding:12px 16px}.modal-ftr .btn{flex:1 1;justify-content:center}.flex-center.gap-sm{flex-wrap:wrap;gap:4px}.btn-sm{font-size:11px;padding:4px 8px}.hide-mobile{display:none!important}.period-filter{flex-wrap:wrap}.tile-sub{font-size:9px}[style*="minmax(280px"]{grid-template-columns:1fr!important}}@media (max-width:480px){.metrics{grid-template-columns:1fr!important}.tile-val{font-size:1.2rem!important}}@media (min-width:769px){.hamburger{display:none}.sidebar-overlay{display:none!important}}
/*# sourceMappingURL=main.f4d9ad5d.css.map*/