@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Inter,"Segoe UI",Arial,sans-serif;color:#182b3c;background:#f4f7fa;font-synthesis:none;font-size:14px;--navy:#102a43;--blue:#176b87;--teal:#18a889;--muted:#7b8996;--line:#e6edf2;--paper:#fff;--shadow:0 8px 28px rgba(16,42,67,.055)}
*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#102a43;color:#fff;display:flex;flex-direction:column;padding:24px 15px 18px;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 34px;text-decoration:none;color:#fff}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#23c5a2,#1581a3);display:grid;place-items:center;font-size:23px;font-weight:800;color:#fff}.brand b{display:block;font-size:15px;letter-spacing:-.3px}.brand small{display:block;margin-top:3px;color:#a8bdcc;font-size:11px}.side-label{padding:0 11px 12px;color:#7390a5;font-size:10px;letter-spacing:1.3px;font-weight:800}.nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#b9cad6;text-align:left;padding:12px 11px;border-radius:9px;font:inherit;font-size:13px;cursor:pointer}.nav-item:hover{background:#1b3c55;color:#fff}.nav-item.active{color:white;background:#1e5369;box-shadow:inset 3px 0 #38d2ae}.nav-icon{width:18px;text-align:center;font-size:17px;color:#79b8be}.nav-count{margin-left:auto;background:#31556b;color:#d5e4eb;border-radius:10px;padding:2px 7px;font-size:10px}.nav-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#e6a54a;display:none}.sidebar-bottom{margin-top:auto;padding:15px 11px 0;border-top:1px solid #294359}.sync-indicator{display:flex;align-items:center;gap:8px;color:#d6e6ec;font-size:11px}.sync-indicator span{width:7px;height:7px;border-radius:50%;background:#4cd2a7}.sidebar-bottom p{color:#91a8b8;font-size:10px;line-height:1.6;margin:9px 0 18px}.sidebar-version{color:#6f899c;font-size:10px}.main{margin-left:248px;max-width:1800px;padding:0 42px 26px}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumbs{display:flex;gap:11px;align-items:center;color:#98a5af;font-size:12px}.breadcrumbs b{color:#c3ccd3}.breadcrumbs strong{color:#33485a;font-weight:600}.top-actions{display:flex;align-items:center;gap:18px}.today{font-size:11px;color:#8a98a5}.icon-button,.mobile-menu{border:0;background:transparent;color:#506575;font-size:22px;cursor:pointer}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#d9f0ec;color:#197b76;font-weight:800}.mobile-menu{display:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:31px 0 25px}.eyebrow{color:#72909f;font-size:9px;letter-spacing:1.45px;font-weight:800;margin:0 0 8px}.page-heading h1{font-size:27px;letter-spacing:-1px;line-height:1.2;margin:0;color:#172f43}.subtitle{margin:8px 0 0;color:#82909b;font-size:12px}.heading-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 14px;font:600 12px Manrope,Arial,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap;transition:.15s}.btn-primary{background:#176b87;color:white;box-shadow:0 4px 9px #176b8720}.btn-primary:hover{background:#10586e;transform:translateY(-1px)}.btn-secondary{background:white;border-color:#dbe5eb;color:#415767}.btn-secondary:hover{border-color:#9cb4c1;background:#f9fbfc}.btn-small{padding:6px 9px;font-size:10px}.btn-danger{background:#fff7f6;border-color:#f0d7d4;color:#b75348}.btn:disabled{opacity:.5;cursor:not-allowed}.notice{border:1px solid #b9e9d9;background:#edfbf5;color:#187354;border-radius:9px;padding:11px 14px;margin:0 0 16px;font-size:12px}.notice.error{border-color:#f2ceca;background:#fff5f3;color:#a93f36}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:17px}.stat-card,.panel,.table-panel,.empty-state{background:var(--paper);border:1px solid #e9eff3;border-radius:12px;box-shadow:var(--shadow)}.stat-card{padding:17px 18px;min-height:114px;position:relative;overflow:hidden}.stat-label{font-size:11px;color:#87949e;display:flex;align-items:center;gap:8px}.stat-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#207f86;background:#e7f5f2;font-size:15px}.stat-value{font-size:25px;font-weight:800;letter-spacing:-1px;margin:10px 0 2px;color:#19364a}.stat-foot{font-size:10px;color:#97a3ac}.stat-accent{position:absolute;right:15px;top:14px;width:5px;height:23px;border-radius:5px;background:#2cc4a3}.section-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:15px}.panel{padding:17px 18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.panel-title{font-size:13px;font-weight:800;color:#294254}.panel-subtitle{font-size:10px;color:#97a3ac;margin-top:4px}.text-link{border:0;background:transparent;color:#16718b;font:600 10px Manrope,Arial;cursor:pointer}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.quick-action{border:1px solid var(--line);border-radius:9px;background:#fbfdfe;padding:13px;text-align:left;cursor:pointer}.quick-action:hover{border-color:#b4d7d8;background:#f7fcfb}.quick-action .qa-icon{font-size:17px;color:#168578}.quick-action b{display:block;font-size:11px;margin:8px 0 4px}.quick-action small{font-size:9px;color:#8b99a3;line-height:1.4}.table-panel{overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}.search{position:relative;max-width:340px;flex:1}.search input{width:100%;border:1px solid #e2eaf0;border-radius:8px;padding:9px 11px 9px 33px;font:12px Manrope,Arial;outline:none;background:#fbfcfd}.search input:focus{border-color:#64a9b0;background:white}.search span{position:absolute;left:11px;top:8px;color:#95a3ac}.toolbar-right{display:flex;gap:8px;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#fbfcfd;color:#8795a0;font-size:9px;font-weight:700;letter-spacing:.25px;text-align:left;padding:11px 13px;border-bottom:1px solid var(--line)}td{padding:11px 13px;border-bottom:1px solid #edf1f4;font-size:11px;color:#42596a}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}.product-name{font-weight:700;color:#274257}.product-code{font-size:9px;color:#9aa7b0;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:700}.badge.ok{background:#eaf8f2;color:#298261}.badge.low{background:#fff4e5;color:#a66c1a}.badge.wait{background:#fff1ef;color:#a64d43}.badge.neutral{background:#eff3f6;color:#627685}.money{font-variant-numeric:tabular-nums}.inventory-bar{height:4px;width:65px;border-radius:4px;background:#edf1f4;display:inline-block;margin-left:6px;vertical-align:middle}.inventory-bar i{height:100%;display:block;border-radius:4px;background:#2db797}.empty-state{padding:42px 22px;text-align:center;color:#8997a0}.empty-icon{font-size:25px;color:#75aaa6;margin-bottom:9px}.empty-state b{display:block;color:#345066;font-size:13px}.empty-state p{font-size:11px;line-height:1.6;max-width:420px;margin:8px auto 16px}.order-card{border-top:1px solid #edf1f4;padding:12px 0}.order-card:first-of-type{border-top:0}.order-row{display:flex;justify-content:space-between;gap:10px}.order-id{font-weight:800;font-size:11px;color:#2a4659}.order-details{font-size:10px;color:#82909b;margin-top:5px}.order-actions{display:flex;gap:7px;margin-top:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e3a343;margin-right:5px}.status-dot.green{background:#37b68e}.status-dot.red{background:#dd796f}.status-dot.gray{background:#a3afb8}.receipt-meta{color:#84939e;font-size:10px;line-height:1.7}.compat-list{max-width:230px;white-space:normal;font-size:10px;color:#687d8d;line-height:1.5}.tag{display:inline-block;background:#eef5f6;color:#47747c;border-radius:5px;padding:3px 6px;margin:2px}.toolbar-note{font-size:10px;color:#95a1a9}.footer{display:flex;justify-content:space-between;color:#a2adb5;font-size:9px;margin-top:26px;padding:0 3px}.pagination-note{padding:12px 14px;color:#91a0a9;font-size:10px;border-top:1px solid var(--line)}
.modal-backdrop{position:fixed;inset:0;z-index:10;background:#0e2339a8;display:grid;place-items:center;padding:20px;overflow:auto}.modal{width:min(700px,100%);max-height:min(90vh,900px);overflow:auto;background:#fff;border-radius:13px;box-shadow:0 25px 80px #081d2a55}.modal-header{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:17px;margin:0;color:#18364b}.modal-close{border:0;background:transparent;font-size:23px;color:#87949d;cursor:pointer}.modal-body{padding:19px 21px}.modal-footer{padding:14px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-field{display:grid;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{font-size:10px;font-weight:700;color:#647888}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dfe8ed;border-radius:7px;background:white;padding:9px 10px;font:12px Manrope,Arial;color:#243e52;outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#54a5a9;box-shadow:0 0 0 3px #2db7971a}.form-field textarea{min-height:70px;resize:vertical}.field-help{font-size:9px;color:#96a1a9;line-height:1.5}.form-section-title{grid-column:1/-1;font-size:10px;font-weight:800;color:#33827e;padding-top:3px;border-top:1px solid #eef2f4}.line-editor{grid-column:1/-1;border:1px solid #e6edf1;border-radius:8px;overflow:hidden}.line-editor-head,.line-editor-row{display:grid;grid-template-columns:minmax(160px,2.2fr) minmax(76px,.8fr) minmax(95px,1fr) 29px;gap:7px;align-items:center;padding:8px}.line-editor-head{background:#f7f9fb;color:#87949e;font-size:9px;font-weight:700}.line-editor-row{border-top:1px solid #eef2f4}.line-editor-row select,.line-editor-row input{min-width:0;width:100%;height:33px;border:1px solid #e1e9ee;border-radius:6px;padding:5px 7px;font:10px Manrope,Arial}.remove-line{border:0;background:transparent;color:#b5736a;font-size:17px;cursor:pointer}.line-editor-add{margin:8px}.modal-hint{font-size:10px;color:#7f8f99;line-height:1.55;background:#f5f9fa;padding:10px 12px;border-radius:7px}.loading{padding:36px;text-align:center;color:#8b98a2}.mobile-bottom{display:none}
@media(max-width:1050px){.main{padding:0 25px 24px}.sidebar{width:220px}.main{margin-left:220px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.brand{padding-bottom:28px}}
@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:8px 0 30px #0b253433}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:0 14px 24px}.topbar{height:57px}.mobile-menu{display:block;font-size:17px}.breadcrumbs{margin-right:auto;margin-left:12px}.today{display:none}.top-actions{gap:10px}.page-heading{padding:25px 0 18px;align-items:flex-start;flex-direction:column}.page-heading h1{font-size:23px}.heading-actions{width:100%}.heading-actions .btn{flex:1}.stats-grid{gap:9px}.stat-card{padding:13px;min-height:102px}.stat-value{font-size:21px}.stat-label{font-size:9px}.stat-foot{font-size:9px}.panel{padding:14px}.quick-actions{grid-template-columns:1fr}.quick-action{display:grid;grid-template-columns:23px 1fr;column-gap:9px;padding:10px}.quick-action .qa-icon{grid-row:span 2}.quick-action b{margin:0}.quick-action small{margin-top:3px}.table-toolbar{align-items:stretch;flex-direction:column}.toolbar-right{justify-content:flex-end}.hide-mobile{display:none}.table-wrap{overflow:visible}table,thead,tbody,tr,td{display:block}thead{display:none}tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:11px 12px;border-bottom:1px solid #edf1f4}tbody td{border:0;padding:0;white-space:normal}tbody td:nth-child(n+3){font-size:10px}tbody td:last-child{grid-column:1/-1}.compat-list{max-width:none}.form-grid{grid-template-columns:1fr}.form-field.full,.form-section-title,.line-editor{grid-column:1}.line-editor-head{display:none}.line-editor-row{grid-template-columns:1fr 65px 88px 25px}.line-editor-row select{grid-column:1/-1}.modal-backdrop{padding:8px}.modal{max-height:96vh}.modal-body{padding:15px}.footer{font-size:8px}.mobile-bottom{position:fixed;z-index:4;left:0;right:0;bottom:0;background:white;border-top:1px solid var(--line);padding:8px 5px;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -5px 20px #0e2a3b0b}.mobile-bottom button{border:0;background:white;color:#81909a;display:grid;justify-items:center;gap:3px;font:9px Manrope,Arial}.mobile-bottom button.active{color:#16748a;font-weight:800}.footer{margin-bottom:45px}}
 .finance-breakdown{display:grid;gap:9px;margin:14px 0}.finance-breakdown>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#647888;padding:7px 0;border-bottom:1px solid #eef2f4}.finance-breakdown b{color:#294254;white-space:nowrap}.finance-breakdown .finance-total{font-weight:800;color:#1b675d;border-bottom:0;border-top:1px solid #dce9e7;padding-top:12px}.section-grid+.table-panel{margin-top:15px}
@media(max-width:650px){.mobile-bottom{grid-template-columns:repeat(7,minmax(48px,1fr));overflow-x:auto}.finance-breakdown>div{font-size:10px}}
 .task-board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;overflow-x:auto;align-items:start;padding-bottom:8px}.task-column{border:1px solid #e5edf1;border-radius:11px;background:#f7fafb;padding:10px;min-height:180px}.task-column-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;color:#355264;padding:2px 2px 10px}.task-column-head b{background:#e8eff2;border-radius:12px;padding:3px 7px;font-size:9px;color:#68808e}.task-card{background:#fff;border:1px solid #e8eef1;border-radius:8px;padding:10px;margin-bottom:8px;box-shadow:0 2px 6px #17394a08}.task-card>b{font-size:11px;color:#294254}.task-note{font-size:10px;line-height:1.5;color:#657b89;white-space:pre-wrap}.task-status-label{display:grid;gap:5px;margin-top:10px;font-size:9px;font-weight:700;color:#82919b}.task-status-label select{border:1px solid #dfe8ed;border-radius:6px;padding:6px;background:#fff;color:#395468;font:10px Manrope,Arial}.task-empty{font-size:10px;color:#a2adb5;text-align:center;padding:22px 5px}
 .brand{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:2px 8px 24px}.brand-logo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#fff}.brand small{text-align:center;margin-top:8px;color:#a8bdcc;font-size:11px}
 .brand{flex-direction:row;align-items:center;gap:11px;padding:2px 10px 34px}.brand-logo{width:52px;height:52px;flex:0 0 52px;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#fff}.brand-copy{display:block;min-width:0}.brand b{display:block;font-size:15px;letter-spacing:-.3px}.brand small{text-align:left;margin-top:4px;color:#a8bdcc;font-size:10px}
 .purchase-list{display:grid;gap:12px}.purchase-card{background:#fff;border:1px solid #e5edf1;border-radius:11px;padding:14px 16px;box-shadow:var(--shadow)}.purchase-supplier{font-size:13px;font-weight:800;color:#2b4b5e;margin-top:8px}.purchase-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;font-size:10px;color:#82909b}.purchase-meta b{color:#38576b}.purchase-card .order-actions{flex-wrap:wrap}
@media(max-width:650px){.mobile-bottom{grid-template-columns:repeat(10,minmax(50px,1fr));overflow-x:auto}.purchase-card{padding:12px}}
/* OEM catalog import panel */
.oem-admin-panel{max-width:950px}.oem-json-field{margin-top:17px}.oem-json-field textarea{min-height:240px;font-family:Consolas,monospace;font-size:11px;line-height:1.5}.oem-admin-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.oem-import-status{min-height:20px;margin-top:10px;color:#197758;font-size:11px;line-height:1.6}.oem-import-status.error{color:#aa493d}.oem-json-example{margin-top:13px;border-top:1px solid #edf1f4;padding-top:12px;color:#576e7c;font-size:10px}.oem-json-example summary{cursor:pointer;font-weight:700}.oem-json-example pre{max-height:360px;overflow:auto;background:#f7f9fa;border-radius:7px;padding:12px;font-size:9px;line-height:1.5;color:#536b79}.oem-json-example p{font-size:9px;line-height:1.7;color:#84929b}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#e5f2f0 0,transparent 40%),#f3f6f7}.auth-gate[hidden],#appShell[hidden],.nav-item[hidden]{display:none!important}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #e6edf0;border-radius:18px;padding:34px;box-shadow:0 18px 60px #17354b12}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;color:#17354b;text-decoration:none}.auth-brand img{width:48px;height:48px;border-radius:9px;object-fit:cover}.auth-brand b,.auth-brand small{display:block}.auth-brand b{font-size:14px;letter-spacing:.2px}.auth-brand small{margin-top:4px;color:#83929c;font-size:10px}.auth-card h1{margin:0;color:#172f43;font-size:25px;letter-spacing:-.6px}.auth-intro{margin:9px 0 22px;color:#788995;font-size:12px;line-height:1.6}.auth-form{display:grid;gap:14px}.auth-form .form-field span{font-size:10px;font-weight:700;color:#647888}.auth-form .form-field input{width:100%;border:1px solid #dfe8ed;border-radius:8px;background:white;padding:11px 12px;font:13px Manrope,Arial;color:#243e52;outline:none}.auth-form .form-field input:focus{border-color:#54a5a9;box-shadow:0 0 0 3px #2db7971a}.auth-submit{width:100%;justify-content:center;margin-top:3px;min-height:42px}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-error{margin:0;padding:10px 12px;border-radius:7px;background:#fff1ef;color:#a64d43;font-size:11px;line-height:1.5}.auth-foot{margin:20px 0 0;color:#9aa6ad;font-size:9px;text-align:center;line-height:1.5}
.nav{flex:1;min-height:0;overflow-y:auto;align-content:start}
 .form-field[hidden]{display:none!important}
 .line-editor-discount .line-editor-head,.line-editor-discount .line-editor-row{grid-template-columns:minmax(150px,2fr) minmax(65px,.7fr) minmax(85px,.9fr) minmax(72px,.7fr) 29px}
@media(max-width:650px){.line-editor-discount .line-editor-row{grid-template-columns:minmax(0,1fr) 58px 76px 62px 24px}}
.receipt-import-preview{padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc;display:grid;gap:9px}.receipt-import-summary{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:#36546a}.receipt-import-list{max-height:190px;overflow:auto;display:grid;gap:5px}.receipt-import-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(140px,1.3fr);gap:10px;padding:7px 8px;border-bottom:1px solid var(--line);font-size:11px;align-items:center}.receipt-import-row span:first-child{font-weight:700;overflow-wrap:anywhere}.receipt-import-row span:last-child{color:#647888}.receipt-import-preview .field-help{margin-top:3px}@media(max-width:650px){.receipt-import-row{grid-template-columns:1fr auto}.receipt-import-row span:last-child{grid-column:1/-1}}
.receipt-create-product{grid-column:1/-1;justify-self:start}.receipt-new-product{grid-column:1/-1;width:100%;border:1px solid #e3ecee;background:#f8fbfb;border-radius:7px;padding:10px}.receipt-new-product-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:end}.receipt-new-product-fields label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#647888}.receipt-new-product-fields input{width:100%;height:33px;border:1px solid #dfe8ed;border-radius:6px;padding:5px 7px;font:11px Manrope,Arial}.receipt-new-product-fields .field-help{grid-column:1/-1}.receipt-new-product-fields button{justify-self:start}@media(max-width:650px){.receipt-new-product-fields{grid-template-columns:1fr}}
.line-product-picker{display:grid;gap:4px;min-width:0}.line-editor-row .line-product-search{height:29px;background:#fbfcfd}
@media(max-width:650px){.line-editor-row .line-product-picker{grid-column:1/-1}}
