:root { --bg:#f6f7f9; --surface:#fff; --head:#202b28; --text:#43534c; --muted:#748079; --line:#e6ebe7; --brand:#147c63; --brand-dark:#0c644f; --brand-soft:#e9f5ee; --erp-grid:#edf1ed; --erp-side:#202e29; --erp-soft:#fafbf9; }
html,body { font-size:13px; }
body { background-image:linear-gradient(180deg,#f1f5f2 0,transparent 240px); }
h1,h2,h3,button,a,input,select { letter-spacing:0; }
.app { grid-template-columns:224px minmax(0,1fr); }
.app-anon { grid-template-columns:1fr; }
.sidebar { background:var(--erp-side); color:#aebdb5; border:0; scrollbar-color:#485b50 transparent; }
.logo { color:#f5f8f5; min-height:88px; padding:22px 22px; font-size:21px; }
.logo small { color:#8fa59a; font-size:8px; margin-top:4px; }
.logo-mark { background:#d9ed98; color:#203627; border-radius:8px; width:35px;height:38px; }
.workspace-label { background:#293a31; border-color:#3a4c41; color:#edf2ee; padding:12px 10px; margin:8px 15px 14px; font-size:10px;align-items:flex-start; }
.workspace-label .workspace-dot { margin-top:4px;background:#b0ce70; }
.workspace-label small { display:block; color:#92aa9d; font-size:9px;margin-top:3px; }
.side-nav { padding:0 13px 20px; }
.nav-group { color:#84988a; padding:20px 12px 9px; font-size:9px; }
.side-nav a { color:#b9c9bf; padding:12px; gap:12px;margin:3px 0;font-size:11px; }
.side-nav a.active { color:white; background:#3d5846; font-weight:500; }
.side-nav a:hover { color:white;background:#304337; }
.side-nav a.active::after { content:"";width:5px;height:5px;border-radius:50%;background:#c8e791;margin-left:auto; }
.side-nav svg { width:17px;height:17px; }
.sidebar-footer { border-color:#3a4c41;padding:16px; }
.sidebar-footer strong { color:#e8efe9; }
.sidebar-footer small,.sidebar-footer > a { color:#97ad9e; }
.sidebar-footer .avatar { background:#617458;color:#fff; }
.erp-sidebar-note { display:flex;align-items:center;gap:10px;padding:18px 24px;color:#a5b9ac;border-top:1px solid #384b3e;font-size:10px; }
.erp-sidebar-note small { display:block;font-size:8px;color:#7f9b88;margin-top:3px; }
.topbar { min-height:56px;padding:8px 24px;box-shadow:none;background:var(--surface); }
.breadcrumb { font-size:11px; }
.top-actions { gap:12px; }
.erp-local-label { display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted); }
.avatar { background:#ecf1e4;color:#536b35; }
.page-shell { padding:28px 30px 34px;max-width:1840px; }
.app-footer { font-size:9px;padding:16px 30px;background:var(--surface); }
.erp-page-header { display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 22px; }
.erp-page-header h1 { font-size:26px;font-weight:600;margin:5px 0 6px;line-height:1.3; }
.erp-kicker { font-size:9px;font-weight:500;color:#7f8e82;text-transform:uppercase;margin:0; }
.erp-subtle { color:var(--muted);font-size:10px;line-height:1.7;margin:0; }
.erp-separator { padding:0 7px;color:#bdc8be; }
.erp-heading-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.erp-heading-actions > a:not(.btn),.erp-heading-actions > button { display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);padding:9px 12px;color:var(--text);border-radius:5px;min-height:38px;font-size:11px; }
button,.btn { font-size:11px;padding:9px 13px;min-height:36px; }
.btn-primary { box-shadow:0 2px 2px #0c644f12; }
main form.erp-scope-bar { background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:0 0 20px;padding:12px 14px;display:flex;align-items:center;gap:10px; }
.erp-inline-field { flex-direction:row;align-items:center;gap:9px;min-width:0; }
.erp-inline-field > svg { width:16px;height:16px;color:#7a8b7d; }
.erp-inline-field select,.erp-inline-field input { height:34px;max-width:250px;border:0!important;background:transparent!important;padding:3px!important;box-shadow:none!important;font-size:11px; }
.erp-inline-field + .erp-inline-field { border-left:1px solid var(--line);padding-left:15px; }
.erp-scope-meta { display:flex;align-items:center;gap:7px;margin-left:auto;font-size:10px;color:var(--muted); }
.erp-kpi-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px; }
.erp-kpi { min-width:0;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 2px 3px #253b2803;display:flex;flex-direction:column;gap:12px; }
.erp-kpi-top { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.erp-label { color:var(--muted);font-size:10px;line-height:1.6;font-weight:400; }
.erp-value { display:block;color:var(--head);font-size:25px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere; }
.erp-icon { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;flex-shrink:0; }
.erp-icon svg { width:17px;height:17px; }
.mint,.erp-icon.mint { color:#21836a;background:#edf7f0; }
.blue,.erp-icon.blue { color:#5e7da6;background:#eff3fa; }
.amber,.erp-icon.amber { color:#aa8021;background:#faf4e5; }
.rose,.erp-icon.rose { color:#b96b61;background:#fbeeea; }
.erp-icon.neutral { color:#798b80;background:#f1f4f0; }
.erp-kpi-note { display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:8px;margin-top:2px; }
.erp-status { display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:4px;font-size:9px;color:#687d71;background:#f0f4f0;white-space:normal; }
.erp-status.success { background:#eaf5e9;color:#488447; }
.erp-status.warning { background:#fcf4e3;color:#a07a28; }
.erp-status.critical { background:#fcf0eb;color:#b46954; }
.erp-status.warehouse { background:#f0edf6;color:#816a9c; }
.erp-status[role=alert] { display:flex;padding:14px;margin:14px 0;font-size:12px; }
.erp-dot { display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0; }
.erp-dot.mint { color:#2b8d6d;background:currentColor; }
.erp-dot.amber { color:#b59447;background:currentColor; }
.erp-dashboard-grid { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:20px;margin-bottom:20px; }
.erp-panel { background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:20px;min-width:0;margin:0 0 20px;box-shadow:0 2px 3px #253b2803; }
.erp-dashboard-grid > .erp-panel { margin:0; }
.erp-panel-header { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px; }
.erp-panel-header h2,.erp-panel-header h3 { font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.5; }
.erp-panel-header > a { display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap; }
.erp-panel-header > svg { color:var(--muted);width:16px;height:16px; }
.erp-panel-header a svg { width:13px;height:13px; }
.erp-chart-summary { display:flex;align-items:baseline;gap:9px;margin:0 0 12px; }
.erp-chart-summary strong { font-size:23px;color:var(--head);font-weight:600; }
.erp-chart { position:relative;min-width:0;width:100%;height:215px; }
.erp-chart canvas { display:block;width:100%!important;height:100%!important; }
.erp-bar-chart { height:216px; }
.erp-line-chart { height:205px; }
.erp-data-details { font-size:9px;color:var(--muted);margin-top:10px; }
.erp-data-details summary { cursor:pointer; }
.erp-alert-row { display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--head);min-width:0; }
.erp-alert-row > div { flex:1;min-width:0; }
.erp-alert-row strong { display:block;font-size:11px;font-weight:500; }
.erp-alert-row small { display:block;font-size:8px;color:var(--muted);margin-top:3px; }
.erp-alert-row b { font-size:13px;font-weight:500;font-variant-numeric:tabular-nums; }
.erp-alert-row > svg { width:12px;height:12px;color:#9ba89e; }
.erp-alert-row .erp-icon { width:30px;height:30px; }
.erp-panel-link { display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;margin-top:16px; }
.erp-panel-link svg { width:12px;height:12px; }
.erp-capability-row { display:flex;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0 0;margin-top:15px;color:var(--muted);font-size:9px; }
.erp-capability-row b { margin-left:5px;font-weight:400; }
.erp-product-row { display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:15px 0;min-width:0; }
.erp-product-row:last-child { padding-bottom:0; }
.erp-product-image { width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;background:#f0f3ee;border-radius:6px;color:#9aaa97; }
.erp-product-image img { width:100%;height:100%;object-fit:contain; }
.erp-product-name { min-width:0;flex:1; }
.erp-product-name strong { display:block;font-size:10px;font-weight:500;color:var(--head);overflow-wrap:anywhere; }
.erp-product-name small,.erp-product-units small { display:block;color:var(--muted);font-size:8px;margin-top:3px; }
.erp-product-units { text-align:right;flex-shrink:0; }
.erp-product-units strong { color:var(--head);font-size:14px;font-weight:500; }
.erp-empty { min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:11px;text-align:center;padding:20px; }
.erp-empty strong { font-weight:500;color:var(--head); }
.erp-empty > svg { width:30px;height:30px;margin-bottom:5px; }
.erp-network-scroll,.erp-heatmap { width:100%;overflow-x:auto; }
.erp-table { font-size:10px; }
.erp-table th { font-size:9px;font-weight:500;background:var(--erp-soft);color:var(--muted);padding:12px; }
.erp-table td { padding:15px 12px;font-size:10px;color:var(--text); }
.erp-location-name { display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:500; }
.erp-location-name small { display:block;color:var(--muted);font-size:8px;font-weight:400;margin-top:3px; }
.erp-location-marker { width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--erp-soft);font-size:9px; }
.erp-number { font-weight:600;color:var(--head)!important; }
.erp-unavailable-band { display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 0;color:var(--muted);font-size:9px; }
.erp-unavailable-band > svg { width:16px;height:16px; }
.erp-unavailable-band strong { font-weight:400;margin-left:5px; }
.erp-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0; }
.erp-grid > .erp-panel { margin:0; }
.erp-split { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.erp-tabs { display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);margin:0 0 20px;overflow-x:auto; }
.erp-tabs a { padding:12px 17px;font-size:11px;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent; }
.erp-tabs a[aria-current=page],.erp-tabs a:hover { color:var(--brand);border-bottom-color:var(--brand); }
main form.erp-toolbar,.erp-toolbar { display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:transparent;border:0;padding:0;margin:0; }
.erp-toolbar > div:not(.validation-summary-errors) { flex:1 1 135px;min-width:0; }
main form.erp-toolbar select[multiple] { min-width:140px;height:120px; }
main form.erp-toolbar > .validation-summary-errors { flex-basis:100%; }
@media print { .erp-panel:has(form.erp-toolbar), .erp-data-details { display:none; } .erp-network-scroll { overflow:visible; } .erp-table { font-size:8px; } }
.erp-toolbar > button { align-self:end; }
.erp-toolbar > a { font-size:11px;padding:9px 2px; }
.erp-toolbar label { margin-bottom:6px; }
.erp-toolbar input,.erp-toolbar select { font-size:11px; }
.erp-workflow-list { padding:0;margin:0 0 16px;list-style:none; }
.erp-workflow-list li { border-bottom:1px solid var(--line); }
.erp-workflow-list a { display:block;padding:12px 0;font-size:11px; }
.erp-mini-metric { padding:14px 0;border-top:1px solid var(--line); }
.erp-heatmap td[data-stock=available] { background:#e4f1e7;color:#2e7650;text-align:center; }
.erp-heatmap td[data-stock=low] { background:#fff0ce;color:#967320;text-align:center; }
.erp-heatmap td[data-stock=out] { background:#fce7e4;color:#a05c50;text-align:center; }
.erp-finance-metrics { margin-bottom:24px; }
.erp-report-categories { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px; }
.erp-report-categories button { background:var(--surface);color:var(--muted);border-color:var(--line);border-radius:5px;min-height:32px;font-size:10px; }
.erp-report-categories button[aria-pressed=true] { background:var(--brand);color:white;border-color:var(--brand); }
.erp-report-tile { display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line); }
.erp-report-tile > div { flex:1;min-width:0; }
.erp-report-tile strong { font-size:11px;display:block;color:var(--head);font-weight:500; }
.erp-report-tile small { font-size:9px;color:var(--muted); }
[data-theme=dark] { color-scheme:dark;--bg:#161d19;--surface:#202b24;--head:#e8f0e9;--text:#c2d0c6;--muted:#a0b2a4;--line:#39473d;--brand:#80c39c;--brand-dark:#a2dab7;--brand-soft:#294935;--erp-grid:#344238;--erp-soft:#26342b; }
[data-theme=dark] body { background-image:none; }
[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea { background:var(--surface);color:var(--text);border-color:var(--line); }
[data-theme=dark] .card,[data-theme=dark] .btn-secondary,[data-theme=dark] th,[data-theme=dark] fieldset { background:var(--surface);color:var(--text); }
[data-theme=dark] tbody tr:nth-child(even),[data-theme=dark] tbody tr:hover { background:#26382c; }
[data-theme=dark] .erp-kpi,[data-theme=dark] .erp-panel { box-shadow:none; }
[data-theme=dark] .erp-status { background:#304133;color:#c7d8c8; }
[data-theme=dark] .erp-status.warning { background:#4d4228;color:#e3c88a; }
[data-theme=dark] .erp-status.critical { background:#4b322c;color:#e5b3a7; }
[data-theme=dark] .erp-status.success { background:#294630;color:#a5d7ad; }
[data-theme=dark] .erp-icon { background:#2d4133;color:#b4d5b2; }
[data-theme=dark] .erp-product-image { background:#304032; }
@media(min-width:1500px) { .erp-dashboard-grid { grid-template-columns:minmax(0,1.7fr) minmax(350px,1fr); } .erp-chart { height:230px; } }
@media(max-width:1250px) { .erp-kpi { padding:16px; } .erp-value { font-size:22px; } .erp-kpi-note { font-size:8px; } .erp-dashboard-grid { grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:16px; } .erp-panel { padding:17px; } .erp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .erp-local-label { display:none; } .page-shell { padding:24px; } }
@media(max-width:1050px) { .app { grid-template-columns:195px minmax(0,1fr); } .logo { padding:22px 16px;font-size:19px; } .workspace-label { font-size:9px;margin:6px 10px 10px; } .erp-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .erp-dashboard-grid { grid-template-columns:1fr; } .erp-scope-meta { flex-basis:100%;margin-left:0;padding-top:6px; } .erp-heading-actions { gap:6px; } }
@media(max-width:900px) { .app { grid-template-columns:1fr; } .sidebar { width:235px; } .page-shell { padding:22px 18px; } .topbar { padding:10px 18px; } .erp-scope-meta { flex-basis:auto;margin-left:auto;padding:0; } .erp-page-header h1 { font-size:24px; } .erp-sidebar-note { display:none; } }
@media(max-width:600px) { .erp-kpi-grid { gap:10px; } .erp-kpi { padding:14px;gap:10px; } .erp-value { font-size:21px; } .erp-kpi-top { align-items:start; } .erp-kpi-top .erp-icon { width:26px;height:26px; } .erp-label { font-size:9px; } .erp-kpi-note { flex-direction:column;align-items:start;gap:5px; } .erp-scope-meta { display:none; } .erp-inline-field { flex:1 1 100%; } .erp-inline-field + .erp-inline-field { padding:7px 0 0;border:0;border-top:1px solid var(--line); } .erp-page-header h1 { font-size:23px; } .erp-heading-actions .btn { font-size:10px; } .erp-dashboard-grid { gap:14px; } .erp-panel-header { gap:8px; } .erp-panel-header h2 { font-size:12px; } .erp-panel-header .erp-subtle { font-size:9px; } .erp-capability-row { gap:8px;font-size:8px; } .erp-split,.erp-grid { grid-template-columns:1fr; } .erp-unavailable-band { gap:14px; } .erp-alert-row { padding:13px 0; } .erp-product-name strong { font-size:10px; } .erp-product-name small { font-size:8px; } .erp-toolbar > div:not(.validation-summary-errors) { flex-basis:100%; } main form.erp-scope-bar { margin-bottom:14px; } }
@media(prefers-reduced-motion:no-preference) { .erp-kpi,.erp-panel { animation:retail-reveal .3s ease-out both; } .erp-kpi:nth-child(2){animation-delay:30ms}.erp-kpi:nth-child(3){animation-delay:60ms}.erp-kpi:nth-child(4){animation-delay:90ms} @keyframes retail-reveal { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} } }
@media print { .erp-heading-actions,.erp-scope-bar,.erp-report-categories { display:none!important; } .erp-dashboard-grid { display:block; } .erp-panel { break-inside:avoid; } }