.login-page[data-v-fdcf0659]{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card[data-v-fdcf0659]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:32px 28px}.login-brand[data-v-fdcf0659]{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600}.login-title[data-v-fdcf0659]{color:var(--text);margin-bottom:28px;font-size:22px;font-weight:800}.form-group[data-v-fdcf0659]{margin-bottom:16px}.form-label[data-v-fdcf0659]{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:600;display:block}.form-input[data-v-fdcf0659]{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-family:DM Mono,monospace;font-size:14px;transition:border-color .2s}.form-input[data-v-fdcf0659]:focus{border-color:var(--accent)}.login-error[data-v-fdcf0659]{color:var(--danger);margin-bottom:12px;font-family:DM Mono,monospace;font-size:11px}.login-btn[data-v-fdcf0659]{background:var(--accent);width:100%;color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:12px;font-family:Syne,sans-serif;font-size:14px;font-weight:700;transition:opacity .2s}.login-btn[data-v-fdcf0659]:hover{opacity:.9}.login-btn[data-v-fdcf0659]:disabled{opacity:.5;cursor:not-allowed}.header[data-v-a825230b]{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;justify-content:space-between;align-items:flex-start;padding:20px 16px 12px;display:flex;position:sticky;top:0}.company[data-v-a825230b]{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.title[data-v-a825230b]{color:var(--text);font-size:20px;font-weight:800;line-height:1}.header-right[data-v-a825230b]{text-align:right}.date[data-v-a825230b]{color:var(--muted);font-family:DM Mono,monospace;font-size:11px;line-height:1.6}.live-dot[data-v-a825230b]{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:2s ease-in-out infinite pulse;display:inline-block}.logout-btn[data-v-a825230b]{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:3px 8px;font-family:DM Mono,monospace;font-size:10px;transition:all .2s}.logout-btn[data-v-a825230b]:hover{color:var(--text);border-color:var(--muted)}.week-bar-wrap[data-v-cbb29e57]{border-bottom:1px solid var(--border);padding:10px 16px}.week-label[data-v-cbb29e57]{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-family:DM Mono,monospace;font-size:10px;display:flex}.week-bar[data-v-cbb29e57]{background:var(--surface2);border-radius:2px;height:3px;overflow:hidden}.week-bar-fill[data-v-cbb29e57]{background:var(--accent);border-radius:2px;height:100%;transition:width 1s}.edit-target-btn[data-v-67d5dd51]{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0 4px;font-size:12px;transition:color .2s}.edit-target-btn[data-v-67d5dd51]:hover{color:var(--accent)}.modal-overlay[data-v-de00ce07]{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card[data-v-de00ce07]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:320px;padding:24px}.modal-title[data-v-de00ce07]{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.form-group[data-v-de00ce07]{margin-bottom:16px}.form-label[data-v-de00ce07]{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:600;display:block}.form-input[data-v-de00ce07]{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-family:DM Mono,monospace;font-size:14px}.form-input[data-v-de00ce07]:focus{border-color:var(--accent)}.modal-actions[data-v-de00ce07]{gap:8px;display:flex}.save-btn[data-v-de00ce07]{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:Syne,sans-serif;font-size:13px;font-weight:700}.save-btn[data-v-de00ce07]:disabled{opacity:.5;cursor:not-allowed}.cancel-btn[data-v-de00ce07]{background:var(--surface2);color:var(--mid);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 20px;font-family:Syne,sans-serif;font-size:13px;font-weight:600}.dismiss-btn[data-v-c392cc23]{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:all .2s;display:flex}.dismiss-btn[data-v-c392cc23]:hover{color:var(--danger);border-color:var(--danger)}.stock-right-wrap[data-v-529304e4]{flex-shrink:0;align-items:center;gap:8px;display:flex}.dismiss-btn[data-v-529304e4]{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:all .2s;display:flex}.dismiss-btn[data-v-529304e4]:hover{color:var(--danger);border-color:var(--danger)}.expand-btn[data-v-529304e4]{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--muted);cursor:pointer;border-radius:10px;margin-top:8px;padding:10px;font-family:DM Mono,monospace;font-size:11px;transition:all .2s;display:block}.expand-btn[data-v-529304e4]:hover{color:var(--accent);border-color:var(--accent)}.dashboard-page[data-v-7749b638]{padding-bottom:40px}.retry-btn[data-v-7749b638]{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-family:Syne,sans-serif;font-size:13px;font-weight:600}.retry-btn[data-v-7749b638]:hover{border-color:var(--accent)}.admin-link-wrap[data-v-7749b638]{text-align:center;padding:24px 16px 0}.admin-link[data-v-7749b638]{color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-family:DM Mono,monospace;font-size:11px;text-decoration:none;transition:all .2s}.admin-link[data-v-7749b638]:hover{color:var(--accent);border-color:var(--accent)}.admin-page[data-v-818fb6d4]{padding-bottom:40px}.header[data-v-818fb6d4]{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;justify-content:space-between;align-items:flex-start;padding:20px 16px 12px;display:flex;position:sticky;top:0}.company[data-v-818fb6d4]{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.title[data-v-818fb6d4]{color:var(--text);font-size:20px;font-weight:800;line-height:1}.back-link[data-v-818fb6d4]{color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-family:DM Mono,monospace;font-size:11px;text-decoration:none;transition:all .2s}.back-link[data-v-818fb6d4]:hover{color:var(--accent);border-color:var(--accent)}.user-list[data-v-818fb6d4]{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.user-item[data-v-818fb6d4]{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.user-name[data-v-818fb6d4]{color:var(--text);font-size:13px;font-weight:600}.user-meta[data-v-818fb6d4]{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.user-actions[data-v-818fb6d4]{gap:6px;display:flex}.action-btn[data-v-818fb6d4]{background:var(--surface2);border:1px solid var(--border);color:var(--mid);cursor:pointer;border-radius:6px;padding:4px 10px;font-family:DM Mono,monospace;font-size:10px;transition:all .2s}.action-btn[data-v-818fb6d4]:hover{color:var(--text);border-color:var(--muted)}.action-btn.danger[data-v-818fb6d4]:hover{color:var(--danger);border-color:var(--danger)}.user-form[data-v-818fb6d4]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.form-title[data-v-818fb6d4]{color:var(--text);margin-bottom:16px;font-size:14px;font-weight:700}.form-row[data-v-818fb6d4]{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}@media (width<=480px){.form-row[data-v-818fb6d4]{grid-template-columns:1fr}}.form-group[data-v-818fb6d4]{flex-direction:column;display:flex}.form-label[data-v-818fb6d4]{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:600}.form-input[data-v-818fb6d4]{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:8px 12px;font-family:DM Mono,monospace;font-size:13px}.form-input[data-v-818fb6d4]:focus{border-color:var(--accent)}select.form-input[data-v-818fb6d4]{appearance:none;cursor:pointer}.form-error[data-v-818fb6d4]{color:var(--danger);margin-bottom:12px;font-family:DM Mono,monospace;font-size:11px}.form-actions[data-v-818fb6d4]{gap:8px;display:flex}.save-btn[data-v-818fb6d4]{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:Syne,sans-serif;font-size:13px;font-weight:700}.save-btn[data-v-818fb6d4]:disabled{opacity:.5;cursor:not-allowed}.cancel-btn[data-v-818fb6d4]{background:var(--surface2);color:var(--mid);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 20px;font-family:Syne,sans-serif;font-size:13px;font-weight:600}.empty-text[data-v-818fb6d4]{color:var(--muted);padding:12px 0;font-family:DM Mono,monospace;font-size:11px}:root{--bg:#0d0f0f;--surface:#141717;--surface2:#1a1e1e;--border:#252b2b;--accent:#00e5a0;--accent2:#ff6b35;--warn:#ffc145;--danger:#ff4757;--text:#e8efee;--muted:#5a6b69;--mid:#8a9e9b}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Syne,sans-serif}.section{padding:20px 16px 0}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10px;font-weight:700}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.kpi-wide{grid-column:span 2}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--accent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.kpi.accent:before{opacity:1;background:var(--accent)}.kpi.warn:before{opacity:1;background:var(--warn)}.kpi.danger:before{opacity:1;background:var(--danger)}.kpi.orange:before{opacity:1;background:var(--accent2)}.kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:600}.kpi-value{color:var(--text);margin-bottom:6px;font-family:DM Mono,monospace;font-size:26px;font-weight:500;line-height:1}.kpi-value .unit{color:var(--muted);margin-left:2px;font-size:13px}.kpi-sub{color:var(--mid);align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:10px;display:flex}.delta-up{color:var(--accent)}.delta-down{color:var(--danger)}.delta-neutral{color:var(--warn)}.kpi-wide-inner{align-items:center;gap:16px;display:flex}.progress-ring-wrap{flex-shrink:0}.progress-ring-track{fill:none;stroke:var(--surface2);stroke-width:6px}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round;transform-origin:36px 36px;transition:stroke-dashoffset 1.2s;transform:rotate(-90deg)}.ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-pct{color:var(--text);font-family:DM Mono,monospace;font-size:14px;font-weight:500;line-height:1}.ring-sub-text{color:var(--muted);margin-top:2px;font-size:8px}.ring-wrap-relative{width:72px;height:72px;position:relative}.kpi-wide-text .kpi-label{margin-bottom:4px}.kpi-wide-text .kpi-value{margin-bottom:4px;font-size:22px}.kpi-wide-text .target-row{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.kpi-wide-text .target-row span{color:var(--mid)}.mini-bar-row{align-items:center;gap:8px;margin-top:10px;display:flex}.mini-bar-bg{background:var(--surface2);border-radius:2px;flex:1;height:4px;overflow:hidden}.mini-bar-fill{background:var(--accent);border-radius:2px;height:100%}.divider{background:var(--border);height:1px;margin:20px 16px 0}.alert-list{flex-direction:column;gap:6px;display:flex}.alert-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.alert-item.danger{border-left:3px solid var(--danger)}.alert-item.warn{border-left:3px solid var(--warn)}.alert-item.info{border-left:3px solid var(--mid)}.alert-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.alert-text{flex:1}.alert-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:600;line-height:1.3}.alert-sub{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.alert-badge{background:var(--surface2);color:var(--mid);white-space:nowrap;border-radius:6px;padding:3px 8px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.alert-badge.danger{color:var(--danger);background:#ff47571a}.alert-badge.warn{color:var(--warn);background:#ffc1451a}.stock-list{flex-direction:column;gap:6px;display:flex}.stock-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.stock-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.stock-sku{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.stock-right{text-align:right;flex-shrink:0}.stock-zero{color:var(--danger);font-family:DM Mono,monospace;font-size:13px;font-weight:500}.stock-open{color:var(--warn);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.customer-list{flex-direction:column;gap:6px;display:flex}.customer-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.customer-name{color:var(--text);font-size:13px;font-weight:600}.customer-sub{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.customer-right{text-align:right}.customer-value{color:var(--text);font-family:DM Mono,monospace;font-size:13px}.customer-orders{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.customer-item.silent{border-left:3px solid var(--warn);opacity:.8}.receivable-list{flex-direction:column;gap:6px;display:flex}.receivable-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.receivable-item.overdue{border-left:3px solid var(--danger)}.receivable-item.due-soon{border-left:3px solid var(--warn)}.receivable-name{color:var(--text);font-size:13px;font-weight:600}.receivable-sub{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.receivable-amount{text-align:right;font-family:DM Mono,monospace;font-size:14px;font-weight:500}.receivable-amount.overdue{color:var(--danger)}.receivable-amount.due-soon{color:var(--warn)}.receivable-days{color:var(--muted);text-align:right;margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.margin-pct{border-radius:4px;padding:1px 5px;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.margin-pct.good{color:var(--accent);background:#00e5a01a}.margin-pct.warn{color:var(--warn);background:#ffc1451a}.margin-pct.danger{color:var(--danger);background:#ff47571a}.tab-row{gap:6px;margin-bottom:12px;display:flex}.tab-btn{letter-spacing:.08em;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:20px;padding:6px 14px;font-family:Syne,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.tab-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.top10-list{flex-direction:column;gap:5px;display:flex}.top10-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;animation:.3s both fadeUp;display:flex}.top10-rank{color:var(--muted);text-align:center;flex-shrink:0;width:16px;font-family:DM Mono,monospace;font-size:11px}.top10-item:first-child .top10-rank,.top10-item:nth-child(2) .top10-rank,.top10-item:nth-child(3) .top10-rank{color:var(--accent);font-weight:500}.top10-name{flex:1;min-width:0}.top10-product{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.top10-brand{color:var(--muted);margin-top:1px;font-family:DM Mono,monospace;font-size:10px}.top10-right{text-align:right;flex-shrink:0}.top10-value{color:var(--text);font-family:DM Mono,monospace;font-size:12px;font-weight:500}.top10-sub{color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.timestamp{text-align:center;color:var(--muted);padding:20px 16px 0;font-family:DM Mono,monospace;font-size:10px}.kpi,.alert-item,.stock-item,.customer-item,.receivable-item{animation:.4s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.loading-wrap{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--muted);font-family:DM Mono,monospace;font-size:11px}
