:root{--canvas:#eeece8;--bg:#fff;--surface:#fff;--surface-2:#f6f2ee;--sidebar:#fff;--sidebar-hover:#f6f2ee;--sidebar-text:#241c14;--sidebar-text-dim:#8a8078;--sidebar-active:#fdece1;--sidebar-border:#efe9e3;--primary:#f2652a;--primary-soft:#fdece1;--primary-foreground:#fff;--primary-dark:#d1541e;--accent:#241c14;--accent-foreground:#fff;--accent-dark:#100c08;--text:#241c14;--text-muted:#8a8078;--ink:#241c14;--ink-muted:#8a8078;--border:#efe9e3;--ring:#f2652a59;--danger:#dc2626;--danger-bg:#fef2f2;--success:#15803d;--success-bg:#e9f9ee;--warning-bg:#fdf3e7;--font-ui:"Manrope", system-ui, -apple-system, sans-serif;--font-display:"Manrope", system-ui, -apple-system, sans-serif;--radius:1.1rem;--shadow:0 1px 2px 0 #0000000a;--shadow-md:0 10px 24px -8px #241c141f, 0 2px 6px -2px #241c140f;--shadow-lg:0 30px 60px -20px #241c1440, 0 8px 20px -8px #241c141a;--panel-gap:14px;box-sizing:border-box}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#15130f;--bg:#1c1a16;--surface:#1c1a16;--surface-2:#262320;--sidebar:#1c1a16;--sidebar-hover:#262320;--sidebar-active:#3a2416;--sidebar-border:#2e2b26;--sidebar-text:#f2ede7;--sidebar-text-dim:#a89c8f;--text:#f2ede7;--text-muted:#a89c8f;--ink:#f2ede7;--ink-muted:#a89c8f;--border:#2e2b26;--danger-bg:#3a1f1f;--success-bg:#17301f;--warning-bg:#362a12}}:root[data-theme=dark]{--canvas:#15130f;--bg:#1c1a16;--surface:#1c1a16;--surface-2:#262320;--sidebar:#1c1a16;--sidebar-hover:#262320;--sidebar-active:#3a2416;--sidebar-border:#2e2b26;--sidebar-text:#f2ede7;--sidebar-text-dim:#a89c8f;--text:#f2ede7;--text-muted:#a89c8f;--ink:#f2ede7;--ink-muted:#a89c8f;--border:#2e2b26;--danger-bg:#3a1f1f;--success-bg:#17301f;--warning-bg:#362a12}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}.app-root{background:var(--canvas);min-height:100%;color:var(--text);font-family:var(--font-ui);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-size:14px;line-height:1.5}.app-root a{color:inherit}.app-root button{cursor:pointer;font-family:inherit}.app-root input,.app-root select,.app-root textarea{font-family:inherit;font-size:14px}.app-shell{align-items:flex-start;gap:var(--panel-gap);min-height:calc(100vh - 2 * var(--panel-gap));padding:var(--panel-gap);padding-top:calc(var(--panel-gap) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--panel-gap) + env(safe-area-inset-bottom,0px));display:flex}.sidebar{background:var(--sidebar);width:240px;color:var(--sidebar-text);top:var(--panel-gap);height:calc(100vh - 2 * var(--panel-gap));border:1px solid var(--sidebar-border);border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;flex-shrink:0;padding:16px 14px;display:flex;position:sticky;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 6px 16px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary), #ff9457);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:7px;display:flex;overflow:hidden}.brand-mark svg{width:100%;height:100%;stroke:var(--primary-foreground)!important}.brand-mark img{object-fit:contain;background:#fff;border-radius:5px;width:100%;height:100%}.brand-mark.has-logo{background:#fff;padding:0}.brand-name{color:var(--sidebar-text);letter-spacing:-.01em;font-size:15px;font-weight:800}.brand-sub{color:var(--text-muted);margin-top:-1px;font-size:11px}.nav-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:12px 10px 6px;font-size:10.5px;font-weight:700}.nav-group:first-of-type .nav-group-label{padding-top:2px}.nav-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:calc(var(--radius) - 6px);color:var(--sidebar-text-dim);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.nav-item svg{flex-shrink:0;width:16px;height:16px}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav-item.active{background:var(--sidebar-active);color:var(--primary-dark);box-shadow:var(--shadow);font-weight:700}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 6px 6px 0;width:4px;position:absolute;top:8px;bottom:8px;left:-14px}.nav-badge{color:var(--text-muted);background:var(--surface-2);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.nav-item.active .nav-badge{color:var(--primary-dark);background:#fff}.sidebar-footer{border-top:1px solid var(--sidebar-border);margin-top:auto;padding-top:12px}.main{background:var(--surface);border:1px solid var(--sidebar-border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-md);flex-direction:column;flex:1;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);top:var(--panel-gap);z-index:5;border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex;position:sticky}.topbar h1{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}.topbar .sub{color:var(--text-muted);margin-top:1px;font-size:12.5px}.topbar-bell{border:1px solid var(--border);border-radius:999px;width:36px;height:36px;padding:0;position:relative}.topbar-bell svg{width:17px;height:17px}.topbar-bell .dot{background:var(--primary);border-radius:999px;width:7px;height:7px;position:absolute;top:7px;right:8px}.topbar-date{font-size:13px;font-weight:600}.content{width:100%;max-width:1180px;margin:0 auto;padding:24px 28px 60px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.btn{border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn svg{width:15px;height:15px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{opacity:.9;background:var(--primary)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.btn-accent:hover{opacity:.9;background:var(--accent)}.btn-danger{background:var(--surface);border-color:var(--border);color:var(--danger)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-danger.solid{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000;padding:0 8px}.btn-ghost:hover{background:var(--surface-2)}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-xs{padding:4px 9px}.btn[disabled]{opacity:.5;pointer-events:none}.btn.wa{color:#25d366}.btn.wa.sent{color:var(--success)}.input,.select{border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--surface);height:36px;color:var(--text);width:100%;box-shadow:var(--shadow);padding:0 11px;font-size:13.5px}textarea.input{resize:vertical;height:auto;padding:8px 11px}.input:focus,.select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text);font-size:12.5px;font-weight:500}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.field-grid.cols-4{grid-template-columns:repeat(4,1fr)}.field-grid.dash{grid-template-columns:1.3fr 1fr;align-items:start}.field-grid.reports{grid-template-columns:1.2fr 1fr;align-items:start}.field-grid.start{align-items:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card.subtle{background:var(--surface-2)}.card.dashed{background:var(--surface-2);border-style:dashed}.section-title{letter-spacing:-.01em;margin:0 0 14px;font-size:14px;font-weight:600}.section-title.inline{align-items:center;gap:6px;margin:0;display:flex}.section-title.inline svg{width:15px;height:15px}.muted{color:var(--text-muted)}.text-sm{font-size:12.5px}.text-xs{font-size:12px}.bold{font-weight:700}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.list-label{margin-bottom:6px;font-size:12.5px;font-weight:700}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.stat-grid.cols-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stat-card>.row.between{flex-wrap:nowrap}.stat-card .label{color:var(--text-muted);font-size:12.5px;font-weight:500}.stat-card .value{letter-spacing:-.02em;margin-top:8px;font-size:26px;font-weight:800}.stat-card .value.warn{color:var(--accent-dark)}.stat-card .value.danger{color:var(--danger)}.stat-card .foot{gap:6px;margin-top:8px}.stat-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon svg{width:17px;height:17px}.stat-icon.danger{background:var(--danger-bg);color:var(--danger)}.stat-icon.warn{background:var(--warning-bg);color:var(--accent-dark)}.trend-pill{border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.trend-pill.up{background:var(--success-bg);color:var(--success)}.trend-pill.down{background:var(--danger-bg);color:var(--danger)}.app-root table{border-collapse:collapse;width:100%}.app-root th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:9px 10px;font-size:12px;font-weight:500}.app-root td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 10px;font-size:13.5px}.app-root tbody tr{transition:background .1s}.app-root tbody tr:hover{background:var(--surface-2)}.app-root tr:last-child td{border-bottom:none}.app-root tr.low-stock td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.app-root tr.overdue td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table-wrap{overflow-x:auto}.table-wrap.scroll-y{max-height:280px;overflow-y:auto}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;display:flex}.cell-name{font-weight:700}.cell-link{cursor:pointer;font-weight:700}.pill{border-radius:calc(var(--radius) - 4px);background:var(--surface-2);color:var(--text-muted);border:1px solid #0000;align-items:center;gap:3px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.pill.danger{background:var(--danger-bg);color:var(--danger)}.pill.success{background:var(--success-bg);color:var(--success)}.pill.warn{background:var(--warning-bg);color:var(--accent-dark)}.pill svg{width:10px;height:10px}.empty-state{text-align:center;color:var(--text-muted);padding:50px 20px}.empty-state svg{opacity:.4;width:36px;height:36px;margin-bottom:10px}.overlay{z-index:100;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;max-height:88vh;box-shadow:var(--shadow-md);overflow-y:auto}.modal.wide{max-width:780px}.modal-head{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.modal-body{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.modal-body p{margin:0}.modal-foot{border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 22px;display:flex;position:sticky;bottom:0}.divider-top{border-top:1px solid var(--border);padding-top:14px}.search-wrap{position:relative}.suggest-list{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-md);z-index:20;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.suggest-item{border-bottom:1px solid var(--border);cursor:pointer;padding:9px 12px;font-size:13.5px}.suggest-item:last-child{border-bottom:none}.suggest-item:hover{background:var(--surface-2)}.suggest-item .name{font-weight:600}.suggest-item .meta{color:var(--text-muted);font-size:12px}.suggest-item.add-new{color:var(--primary);align-items:center;gap:6px;font-weight:700;display:flex}.suggest-item.add-new svg{width:12px;height:12px}.suggest-item.quick-add{cursor:default;align-items:center;gap:8px;display:flex}.suggest-item.quick-add:hover{background:var(--surface)}.suggest-item.quick-add .input{width:96px;padding:6px 8px}.suggest-item.quick-add .btn{flex:1}.suggest-item.quick-add .btn svg{width:12px;height:12px}.invoice-items-table th,.invoice-items-table td{padding:8px;font-size:13px}.invoice-items-table input{height:32px;padding:0 8px;font-size:13px}.totals-box{flex-direction:column;gap:6px;width:260px;margin-left:auto;display:flex}.totals-row{justify-content:space-between;font-size:13.5px;display:flex}.totals-row.grand{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-size:16px;font-weight:700}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-right:16px;padding:9px 4px;font-size:13.5px;font-weight:500}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.rx-grid{grid-template-columns:90px repeat(4,1fr);align-items:end;gap:8px;display:grid}.rx-grid .rx-label{color:var(--text-muted);align-items:center;padding-bottom:9px;font-size:12.5px;font-weight:500;display:flex}.rx-grid .rx-head{font-size:11px}.status-box{background:var(--surface-2);border-radius:8px;padding:10px 12px}.status-box.matched{background:var(--success-bg);padding:9px 12px}.checkbox-row{cursor:pointer;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.link-btn{align-self:flex-start;margin-top:6px;padding:4px 2px}.bar-track{background:var(--surface-2);border-radius:6px;height:8px;overflow:hidden}.bar-fill{background:var(--primary);height:100%}.top-item{margin-bottom:10px}.top-item .row{margin-bottom:4px;font-size:13px}.settings-card{max-width:520px}.settings-card .field+.field,.settings-card .field+.field-grid,.settings-card .field-grid+.field-grid{margin-top:12px}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:6px;max-width:120px;height:48px}.message-preview{white-space:pre-wrap;margin:0}.reminder-note{max-width:480px;margin:0;font-size:12.5px}.toast{color:#fff;z-index:200;background:var(--danger);border-radius:10px;padding:11px 20px;font-size:13.5px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.toast.success{background:var(--success)}#printArea{display:none}@media print{body>:not(#printArea){display:none!important}#printArea{font-family:var(--font-ui);color:#000;padding:20px;display:block!important}#printArea .p-shop{margin-bottom:2px;font-size:20px;font-weight:700}#printArea table{border-collapse:collapse;width:100%;margin-top:12px}#printArea th,#printArea td{text-align:left;border:1px solid #999;padding:6px 8px;font-size:12px}#printArea .p-totals{width:260px;margin-top:12px;margin-left:auto}#printArea .p-row{justify-content:space-between;padding:2px 0;font-size:13px;display:flex}#printArea .p-grand{border-top:1px solid #333;margin-top:4px;padding-top:4px;font-size:15px;font-weight:700}#printArea .p-logo{height:52px;margin-bottom:8px}}@media (width<=900px){.stat-grid,.stat-grid.cols-3,.field-grid,.field-grid.cols-3,.field-grid.cols-4,.field-grid.dash,.field-grid.reports{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:18px 14px 50px}.topbar{padding:12px 14px}}@media (width<=640px){.app-shell{flex-direction:column;padding:8px}.sidebar{border-bottom:1px solid var(--sidebar-border);flex-direction:row;align-items:center;width:100%;height:auto;padding:8px 10px;position:static;overflow-x:auto}.brand{padding:4px 10px 4px 2px}.brand>div{display:none}.nav-groups{flex-direction:row;display:flex}.nav-group{flex-direction:row;align-items:center;display:flex}.nav-group-label{display:none}.nav-list{flex-direction:row}.nav-item span.label,.nav-item.active:before,.sidebar-footer{display:none}.main{width:100%}.topbar{flex-wrap:wrap}.stat-grid,.stat-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid,.field-grid.cols-3,.field-grid.cols-4,.field-grid.dash,.field-grid.reports{grid-template-columns:minmax(0,1fr)}.rx-grid{grid-template-columns:60px repeat(4,minmax(0,1fr))}.totals-box{width:100%}}.auth-root{background:radial-gradient(900px 500px at 50% -160px, #f2652a1f, transparent 70%), var(--canvas);min-height:100%;color:var(--text);font-family:var(--font-ui);justify-content:center;align-items:center;padding:24px 16px;font-size:14px;line-height:1.5;display:flex}.auth-root button{cursor:pointer;font-family:inherit}.auth-root input{font-family:inherit}.auth-card{background:var(--surface);border:1px solid var(--sidebar-border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:32px 30px 28px}.auth-brand{align-items:center;gap:10px;margin-bottom:26px;display:flex}.auth-brand .brand-mark{border-radius:11px;width:36px;height:36px}.auth-card h1{letter-spacing:-.015em;margin:0 0 6px;font-size:21px;font-weight:800}.auth-card .lead{color:var(--text-muted);margin:0 0 22px;font-size:13.5px}.auth-card .lead strong{color:var(--text);font-weight:700}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .input{height:44px;padding:0 14px;font-size:15px}.auth-form .btn{width:100%;height:44px;font-size:14.5px;font-weight:700}.auth-error{color:var(--danger);margin:-4px 0 0;font-size:12.5px}.auth-foot{color:var(--text-muted);text-align:center;margin-top:20px;font-size:12.5px}.auth-foot .link-btn,.auth-link{color:var(--primary-dark);font-weight:700;font-size:inherit;background:0 0;border:none;margin:0;padding:0}.auth-link:hover,.auth-foot .link-btn:hover{text-decoration:underline}.auth-link[disabled]{color:var(--text-muted);cursor:default;font-weight:500;text-decoration:none}.auth-back{color:var(--text-muted);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:18px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex}.auth-back svg{width:14px;height:14px}.auth-back:hover{color:var(--text)}.otp-row{justify-content:space-between;gap:8px;display:flex}.otp-box{text-align:center;letter-spacing:0;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--surface);min-width:0;height:52px;color:var(--text);box-shadow:var(--shadow);caret-color:var(--primary);flex:1;font-size:22px;font-weight:700}.otp-box:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.otp-box.filled{border-color:var(--primary)}.auth-legal{text-align:center;color:var(--text-muted);margin-top:26px;font-size:11.5px}.signout-label{flex-direction:column;min-width:0;line-height:1.2;display:flex}.signout-label small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:500;overflow:hidden}
