*,*:before,*:after{box-sizing:border-box}:root{--pink-500: #ff005c;--blue-500: #00aaff;--gradient-primary: linear-gradient(90deg, #ff005c 0%, #00aaff 100%);--gradient-sidebar-active: linear-gradient( 90deg, rgba(254, 53, 123, .14) 0%, rgba(0, 170, 255, .12) 100% );--neutral-950: #222222;--neutral-800: #e6e6e6;--neutral-600: #979797;--neutral-400: #dedede;--neutral-200: #f5f5f5;--elevation-0: #121212;--elevation-1: #1e1e1e;--elevation-2: #222222;--elevation-3: #262626;--elevation-5: #2c2c2c;--sidebar-width: 260px;--b4a-sidebar-width: var(--sidebar-width);--topbar-height: 56px;--accent-pink: var(--pink-500);--primary-400: var(--blue-500);--b4a-gray-500: var(--neutral-600);--status-pending: #ffc61a;--status-active: #00aaff;--status-success: #00d35d;--status-error: #fa4a47;--status-waiting: #8b5cf6;--success-500: #00d35d;--success-bg: rgba(0, 211, 93, .12);--warning-500: #ffc61a;--warning-bg: rgba(255, 198, 26, .12);--error-500: #fa4a47;--error-bg: rgba(250, 74, 71, .12);--card-bg: var(--elevation-1);--card-border: rgba(255, 255, 255, .08);--table-header-bg: var(--elevation-3);--table-row-hover: rgba(255, 255, 255, .04);--border-faint: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .08);--notice-bg: var(--elevation-2);--expanded-row-bg: var(--elevation-2);--radius-sm: 8px;--radius-md: 12px}html,body{margin:0;min-height:100%;background:var(--elevation-0);color:var(--neutral-200);font-family:Urbanist,Open Sans,system-ui,sans-serif;font-size:14px;line-height:1.5;color-scheme:dark;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.font-ui{font-family:Urbanist,sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none}input,select,button{font:inherit}input,select{background:var(--elevation-5);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--neutral-200);padding:10px 15px;width:100%}input::placeholder{color:var(--neutral-600)}input:focus,select:focus{outline:2px solid var(--blue-500);outline-offset:0}button{cursor:pointer}.commerce-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px;margin-bottom:24px}.commerce-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--card-border);background:var(--elevation-2);font-weight:600;font-size:13px;color:var(--neutral-200)}.commerce-btn:disabled{opacity:.5;cursor:not-allowed}.commerce-btn-primary{background:var(--gradient-primary);color:#fff;border-color:transparent}.commerce-table-wrap{overflow-x:auto;margin:0 -4px}.commerce-table-sticky th.sticky-col,.commerce-table-sticky td.sticky-col{position:sticky;z-index:2;background:var(--card-bg)}.commerce-table-sticky thead th.sticky-col{background:var(--table-header-bg);z-index:3}.commerce-table-sticky .sticky-col-0{left:0;min-width:44px}.commerce-table-sticky .sticky-col-1{left:44px;min-width:90px}.commerce-table-sticky .sticky-col-2{left:134px;min-width:100px}.commerce-table-sticky .sticky-col-3{left:234px;min-width:180px}.commerce-table-sticky .sticky-col-4{left:414px;min-width:100px;box-shadow:4px 0 8px #00000026}.product-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 20px;font-size:13px}.product-detail-grid dt{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--neutral-600)}.product-detail-grid dd{margin:4px 0 0;color:var(--neutral-200)}.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:start}.kanban-column{background:var(--elevation-2);border:1px solid var(--card-border);border-radius:10px;padding:12px;min-height:120px}.kanban-column h3{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--neutral-600)}.kanban-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:12px}.sparkline-wrap{margin-top:10px;height:28px}.sparkline-wrap svg{display:block;width:100%;height:28px}.bulk-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;background:var(--elevation-2);border:1px solid var(--card-border);border-radius:8px;font-size:13px}.alert-row-p1 td:first-child{border-left:3px solid var(--error-500)}.alert-row-p2 td:first-child{border-left:3px solid #ff6b35}.alert-row-p3 td:first-child{border-left:3px solid var(--warning-500)}.alert-row-p4 td:first-child{border-left:3px solid var(--neutral-600)}.commerce-table{width:100%;border-collapse:collapse;font-size:13px}.commerce-table th,.commerce-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--card-border);white-space:nowrap}.commerce-table th{background:var(--table-header-bg);font-size:12px;font-weight:700;color:var(--neutral-600);cursor:pointer;-webkit-user-select:none;user-select:none}.commerce-table tbody tr:hover{background:var(--table-row-hover)}.commerce-table tbody tr.expanded,.commerce-table td.expanded-row{background:var(--expanded-row-bg)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.badge-ok{background:var(--success-bg);color:var(--success-500)}.badge-low{background:var(--warning-bg);color:var(--warning-500)}.badge-critical{background:var(--error-bg);color:var(--error-500)}.badge-curve{background:#00aaff1f;color:var(--blue-500)}.badge-validity{font-weight:600}.mono{font-family:ui-monospace,monospace;font-size:12px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:flex-end}.filter-field label{display:block;font-size:12px;font-weight:600;color:var(--neutral-600);margin-bottom:6px}.filter-field input,.filter-field select{padding:8px 12px;border-radius:8px;border:1px solid var(--card-border);font-size:13px;min-width:160px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:18px 20px;border-top:3px solid var(--neutral-600)}.summary-card .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-600);margin-bottom:8px}.summary-card .value{font-size:28px;font-weight:700;line-height:1.1}.error-banner{color:var(--error-500);background:var(--error-bg);padding:14px 16px;border-radius:8px;margin-bottom:16px;font-size:13px}.notice-banner{margin:0 0 16px;padding:10px 14px;border-radius:8px;background:var(--warning-bg);border:1px solid rgba(255,198,26,.25);color:var(--warning-500);font-size:13px}.data-source-notice{font-size:12px;color:var(--neutral-600);margin:0 0 16px;padding:8px 12px;background:var(--notice-bg);border-radius:var(--radius-sm);border:1px solid var(--card-border)}.topbar,.b4a-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;min-width:0}.b4a-topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}.b4a-topbar-title,.topbar h1{margin:0;font-size:24px;font-weight:700;color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b4a-topbar-trailing{display:flex;align-items:center;gap:15px;flex-shrink:0}.b4a-topbar-user-email,.topbar .user{color:var(--neutral-600);font-size:13px}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;margin-bottom:16px;padding:8px 12px 0;gap:6px}.sidebar-brand img{display:block;height:28px;width:auto}.sidebar-brand .subtitle{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-600)}.b4a-sidebar .bottom,.sidebar .bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-subtle)}.b4a-shell{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;background:var(--elevation-0)}.b4a-sidebar{position:fixed;left:0;top:0;width:var(--b4a-sidebar-width);height:100vh;background:var(--elevation-1);padding:24px 12px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,.06);z-index:40;transition:transform .2s ease}.b4a-sidebar--closed{transform:translate(-100%);box-shadow:none;pointer-events:none}.b4a-sidebar--open{transform:translate(0);pointer-events:auto}.b4a-sidebar-backdrop{display:none}.b4a-sidebar-toggle{display:none;align-items:center;gap:8px;width:100%;margin:0 0 14px;padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;color:var(--neutral-600);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.02em}.b4a-sidebar-toggle:hover{background:var(--elevation-2);color:#fff}.b4a-sidebar-toggle-icon{font-size:16px;line-height:1}.b4a-sidebar-rail{position:fixed;left:10px;top:18px;z-index:35;display:none;align-items:center;justify-content:center;width:19px;height:24px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#1e1e1eeb;color:var(--neutral-600);cursor:pointer;box-shadow:0 8px 24px #0000003d;transition:background .15s ease,color .15s ease}.b4a-sidebar-rail:hover{background:var(--elevation-3);color:#fff}.b4a-sidebar-rail span{font-size:14px;line-height:1}.b4a-main{margin-left:var(--b4a-sidebar-width);padding:30px;min-width:0;max-width:calc(100vw - var(--b4a-sidebar-width));overflow-x:hidden;transition:margin-left .2s ease,max-width .2s ease}.b4a-main--sidebar-closed{margin-left:0;max-width:100vw}.b4a-content{min-width:0}.replenishment-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;width:100%;min-width:0;margin-bottom:24px}@media(max-width:768px){.b4a-sidebar{transform:translate(-100%);box-shadow:none}.b4a-sidebar--open{transform:translate(0);box-shadow:8px 0 32px #00000073}.b4a-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:30;border:none;padding:0;margin:0;background:#0000008c;cursor:pointer}.b4a-main{margin-left:0;max-width:100vw;padding:68px 16px 16px}.b4a-sidebar-rail,.b4a-sidebar-toggle{display:flex}.b4a-topbar-user-email{display:none}.b4a-topbar-title,.topbar h1{font-size:18px}.replenishment-kpi-grid{gap:12px}}.proportion-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--elevation-3);margin-bottom:8px}.proportion-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--neutral-600)}@keyframes kpi-spin{to{transform:rotate(360deg)}}.kpi-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.12);border-top-color:var(--primary-400);animation:kpi-spin .8s linear infinite}
