:root{--green:#17765b;--ink:#243b37;--muted:#7c8b88;--border:#e4eae7;--bg:#f7f9f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;font-size:13px;color:#34453f}button,a,input,select,textarea{transition:background .15s,border-color .15s}a{text-decoration:none;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40}.brand{display:flex;gap:11px;align-items:center;padding:27px 25px 25px;font-size:25px;font-weight:700;letter-spacing:-1px;color:#173f32}.brand-mark{background:var(--green);color:white;width:37px;height:37px;border-radius:10px;font-size:31px;text-align:center;line-height:32px}.brand-mark span{color:#bae2a5}.brand-caption{display:block;font-size:8px;letter-spacing:2.1px;font-weight:600;color:#7c8b88;margin-top:-1px}.workspace{margin:0 15px 21px;padding:10px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:center;gap:9px;font-size:11px}.workspace-icon{display:grid;place-items:center;background:#eef3ed;color:#52754b;border:1px solid #e0e9dc;border-radius:5px;width:29px;height:30px;font-weight:700}.workspace strong{font-weight:600}.workspace small{display:block;color:#8b9791;font-size:10px;margin-top:2px}.sidebar nav{overflow-y:auto;padding:0 14px 16px;flex:1;scrollbar-width:thin}.nav-item{display:flex;align-items:center;gap:11px;border-radius:6px;padding:8px 12px;color:#6f7f78;font-size:12px;margin:2px 0}.nav-item:hover{background:#f4f7f5}.nav-item.active{background:#eaf4ef;color:#147451;font-weight:600}.nav-item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.nav-dot{height:5px;width:5px;margin:0 5px;background:#a4b4aa;border-radius:2px}.active .nav-dot{background:#228666}.nav-group{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#a0aaa5;margin:21px 12px 8px;font-weight:600}.sidebar-bottom{padding:18px 22px;border-top:1px solid var(--border);display:flex;gap:7px;align-items:center;font-size:10px;color:#839087}.live-dot{width:6px;height:6px;background:#66a488;border-radius:50%}.main-shell{margin-left:230px}.topbar{height:72px;padding:0 35px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:11px}.avatar{width:29px;height:29px;border-radius:50%;background:#eeeade;color:#7d7248;display:grid;place-items:center;font-size:11px;font-weight:600}.owner-badge{font-size:9px;border:1px solid var(--border);padding:3px 8px;border-radius:4px;color:#7c8982}.text-button{font-size:11px;color:#7b8881}.text-button:hover{color:var(--green)}.page-content{max-width:1600px;padding:32px 35px 15px;margin:auto}.eyebrow{text-transform:uppercase;color:var(--green);letter-spacing:1.7px;font-size:9px;font-weight:700;margin-bottom:9px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.page-heading h1{font-size:26px;letter-spacing:-.8px;font-weight:600;color:#243f35;line-height:1.3;margin:0 0 6px}.subtitle{font-size:12px;color:#86928c}.btn{border:1px solid #dce5df;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-size:11px;font-weight:600;background:#fff;white-space:nowrap}.btn:hover{background:#f0f5f1}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:#105e47}.btn-danger{background:#b94040;color:white;border-color:#b94040}.btn-small{padding:6px 10px;font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:26px}.stat-card{background:white;border:1px solid var(--border);border-radius:9px;padding:20px;position:relative}.stat-label{color:#87948d;font-size:11px}.stat-value{font-size:26px;letter-spacing:-.8px;font-weight:600;color:#294d3d;margin:14px 0 10px}.stat-foot{font-size:10px;color:#9aa69e;display:flex;align-items:center;gap:5px}.stat-icon{position:absolute;right:17px;top:17px;background:#f3f7f4;color:#68977c;width:27px;height:27px;display:grid;place-items:center;border-radius:6px}.panel{background:white;border:1px solid var(--border);border-radius:9px;overflow:hidden}.panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef1ef;gap:10px}.panel-title{font-size:13px;font-weight:600;color:#344e40}.panel-subtitle{font-size:10px;color:#96a298;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px}.dashboard-stack{display:flex;flex-direction:column;gap:22px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf9;color:#92a093;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.65px;padding:13px 20px;border-bottom:1px solid var(--border)}td{padding:16px 20px;border-bottom:1px solid #f0f3f0;font-size:11px;color:#738579}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}td:first-child{color:#385944;font-weight:500}.sort-link{display:flex;gap:10px;align-items:center}.sort-arrow{color:#b1beb4;font-size:11px}.sort-link.active{color:#1d7d56}.cell-text{max-width:240px;overflow:hidden;text-overflow:ellipsis;display:block}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:4px;font-size:9px;font-weight:500;background:#eaf5ed;color:#4c8861}.badge.warn{background:#fff4e1;color:#b08840}.badge.neutral{background:#f0f2f1;color:#819086}.table-actions{display:flex;gap:12px;font-size:10px}.table-actions a{color:#64846e}.table-actions a:hover{color:#116c48;text-decoration:underline}.table-actions .delete-link{color:#b98e8e}.toolbar{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.search-form{display:flex;align-items:center;gap:8px;max-width:450px;width:100%}.search-form input{max-width:320px;padding:8px 12px;font-size:11px}.record-count{font-size:10px;color:#98a69b}.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 20px;border-top:1px solid var(--border);font-size:10px;color:#96a398}.pagination-links{display:flex;gap:6px;align-items:center}.page-number{padding:5px 9px;background:#eef5ee;color:#608467;border-radius:4px}.empty{padding:50px 24px;text-align:center;color:#9ba69e}.empty-icon{margin:0 auto 13px;width:43px;height:43px;border:1px solid #e3ece5;background:#f6f9f5;border-radius:10px;display:grid;place-items:center;color:#8da992;font-size:21px}.empty h3{font-size:13px;font-weight:600;color:#5e7964;margin-bottom:6px}.empty p{font-size:11px;max-width:310px;margin:auto;line-height:1.7}.quick-link{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid #f0f3ef;font-size:11px;color:#617d66}.quick-link:hover{background:#f6faf5}.quick-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#f1f7ef;color:#65946d;font-size:18px}.quick-link:last-child{border:0}.quiet-card{padding:22px;background:#edf4e9;border:1px solid #e2ebdd;border-radius:9px;color:#63805b;font-size:11px;line-height:1.8}.quiet-card strong{display:block;font-size:12px;color:#446140;margin-bottom:6px}.page-footer{display:flex;justify-content:space-between;color:#a5afa6;font-size:9px;padding:27px 0 10px;margin-top:22px}.form-panel{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field label{display:block;font-size:11px;font-weight:600;color:#687f6c;margin-bottom:7px}.required{color:#be7b63}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;background:#fff;border:1px solid #dfe7df;border-radius:5px;padding:9px 11px;color:#46634c;font:inherit;font-size:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#88ac8e;box-shadow:0 0 0 3px #edf5ed}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}input[type=file]{font-size:11px!important}.help-text{font-size:10px;color:#94a08f;margin-top:6px;line-height:1.6}.errorlist{list-style:none;padding:0;margin:6px 0;color:#b35353;font-size:11px}.errorlist.nonfield{background:#fff1ef;padding:12px;border-radius:5px}.form-actions{border-top:1px solid var(--border);padding:17px 24px;display:flex;justify-content:flex-end;gap:9px;background:#fcfdfb}.form-section-title{font-size:12px;font-weight:600;color:#46664b;margin-bottom:20px}.line-table th,.line-table td{padding:12px}.line-table select{min-width:180px}.line-table input[type=number]{min-width:85px}.line-total{font-weight:600}.hint-bar{padding:12px 20px;background:#f5f8f2;color:#849777;font-size:10px;line-height:1.7}.alert{border:1px solid #cfe5d2;background:#edf7ed;border-radius:6px;padding:12px 16px;margin-bottom:16px;color:#537b54;font-size:12px}.alert.error{background:#fff2ef;border-color:#efdad3;color:#a86859}.invoice{padding:35px}.invoice-header{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--border);padding-bottom:27px;margin-bottom:27px}.invoice h2{font-size:24px;font-weight:600;color:#2b5541}.invoice-meta{font-size:11px;color:#8d9e8c;line-height:1.9}.totals{max-width:310px;margin:20px 0 0 auto}.total-row{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;color:#7a8e76}.total-row.strong{border-top:1px solid var(--border);margin-top:6px;padding-top:15px;font-weight:600;color:#345c3e;font-size:15px}.permission-table th,.permission-table td{text-align:center}.permission-table th:first-child,.permission-table td:first-child{text-align:left}.permission-table td{padding:11px 18px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#e8f1e7,transparent 65%)}.login-card{width:100%;max-width:400px;background:white;border:1px solid var(--border);border-radius:12px;padding:30px;box-shadow:0 15px 60px #4964490a}.login-card .brand{padding:0 0 28px}.login-card h1{font-size:23px;font-weight:600;color:#35563d;letter-spacing:-.5px}.login-card .field{margin-top:20px}.login-card .btn{width:100%;margin-top:24px;padding:11px}.login-note{text-align:center;font-size:10px;color:#9aa791;margin-top:24px}.mobile-menu{display:none}.icon-button{padding:5px 7px;border-radius:4px;border:1px solid var(--border)}dialog{border:1px solid var(--border);border-radius:10px;padding:25px;width:calc(100% - 32px);max-width:400px;box-shadow:0 20px 100px #182d3633}dialog::backdrop{background:#14271a55}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.sidebar-shade{position:fixed;inset:0;background:#15362466;z-index:39}.inline-label{display:flex;justify-content:space-between;align-items:center}.inline-label button{color:var(--green);font-size:10px;margin-bottom:7px}.product-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;margin-right:8px;display:inline-block}.danger-panel{max-width:550px;margin:40px auto;padding:30px}.danger-panel h1{font-size:20px;font-weight:600;margin-bottom:12px}.danger-panel p{font-size:12px;line-height:1.8;color:#8c978a}.check-label{display:flex;gap:8px;align-items:center;font-size:11px}.document-note{white-space:pre-wrap;font-size:12px;color:#829078;line-height:1.8}
@media(min-width:1600px){.page-content{padding-top:40px}.stat-card{padding:25px}.stat-value{font-size:30px}}@media(max-width:1150px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-stack{display:grid;grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{padding:25px}.topbar{padding:0 25px}.quiet-card{display:none}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.mobile-menu{display:block}.topbar{height:60px;padding:0 16px}.user-name,.owner-badge{display:none}.page-content{padding:23px 16px 12px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading .btn{padding:8px 11px}.stats-grid{gap:11px;margin-bottom:20px}.stat-card{padding:15px}.stat-icon{display:none}.stat-value{font-size:23px}.stat-foot{font-size:9px}.stat-label{font-size:10px}.dashboard-stack{display:flex}.form-grid{grid-template-columns:1fr}.form-panel{padding:20px}.toolbar{padding:14px;flex-wrap:wrap}.record-count{display:none}.invoice{padding:20px}.invoice-header{flex-wrap:wrap}.page-footer{font-size:8px}th,td{padding-left:15px;padding-right:15px}.panel-head{padding:17px}.form-actions{padding:15px 20px}.pagination{padding:13px}.search-form input{min-width:0}.document-actions{flex-wrap:wrap}}
@media print{body{background:white}.sidebar,.topbar,.page-heading,.page-footer,.print\:hidden,.messages{display:none!important}.main-shell{margin:0}.page-content{padding:0;max-width:none}.panel{border:0}.invoice{padding:0}.table-wrap{overflow:visible}td,th{white-space:normal}.document-payments{margin-top:25px}}
/* Keep form controls consistent when the CDN injects its preflight styles. */
body select,body textarea{padding:9px 11px;font-family:inherit;font-size:12px;line-height:1.5}body select{min-height:38px}

.nav-module{margin:8px 0}.module-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:6px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:#526c60}.module-heading::-webkit-details-marker{display:none}.module-heading:hover{background:#f4f7f5}.module-heading.active{color:var(--green)}.module-heading:focus-visible{outline:2px solid var(--green);outline-offset:2px}.module-chevron{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .15s}.nav-module[open]>.module-heading .module-chevron{transform:rotate(90deg)}.module-items{margin:3px 0 9px 12px;border-left:1px solid var(--border);padding-left:5px}.module-items .nav-item{font-size:11px;padding:8px 9px}

.sale-details-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.sale-details-row>.field{min-width:0}.sale-details-row input,.sale-details-row select{height:38px;min-width:0}
.sale-discount-control{position:relative}.sale-discount-control input[type=number]{padding-right:88px}
.sale-discount-chips{position:absolute;right:5px;top:5px;display:flex;gap:3px}
.sale-discount-chips label{position:relative;margin:0;cursor:pointer}
.sale-discount-chips input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.sale-discount-chips span{display:block;padding:4px 8px;border-radius:4px;background:#f0f3f1;color:#7c8b88;font-size:10px;line-height:20px}
.sale-discount-chips input:checked+span{background:var(--green);color:white}
.sale-discount-chips input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.line-table .line-row[hidden]{display:none!important}
.line-delete-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #efd9d9;border-radius:6px;background:#fff;color:#b94040}
.line-delete-button:hover{background:#fff0f0}.line-delete-button:focus-visible{outline:2px solid #b94040;outline-offset:2px}
.line-table .line-delete-cell::before{display:none}
