:root{--bg:#f4f5f7;--surface:#fff;--primary:#1e3a5f;--primary-light:#2d5a8e;--accent:#0ea5e9;--accent-hover:#0284c7;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--row-hover:#f8fafc;--row-edit:#eff6ff;--group-bg:#f1f5f9;--font:"Noto Sans KR",sans-serif;--mono:"JetBrains Mono",monospace;--nav-h:52px;--radius:6px}*{box-sizing:border-box;margin:0;padding:0}body{background:#f4f5f7;background:var(--bg);color:#1e293b;color:var(--text);font-size:14px;line-height:1.5}body,button,input,select{font-family:Noto Sans KR,sans-serif;font-family:var(--font)}button,input,select{font-size:13px}.login-page{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:48px 40px;width:380px}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#1e3a5f;color:var(--primary);font-size:22px;font-weight:700;margin-bottom:4px}.login-header p{color:#64748b;color:var(--text-secondary);font-size:14px}.login-form{gap:16px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:500}.form-group input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.form-group input:focus{border-color:#0ea5e9;border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a}.login-error{background:#fef2f2;border-radius:6px;border-radius:var(--radius);color:#ef4444;color:var(--danger);font-size:13px;padding:8px 12px;text-align:center}.login-btn{background:#1e3a5f;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:background .2s}.login-btn:hover{background:#2d5a8e;background:var(--primary-light)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.navbar{background:#1e3a5f;background:var(--primary);height:52px;height:var(--nav-h);justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:24px}.navbar-brand{color:#fff;font-size:15px;font-weight:700;letter-spacing:-.02em}.navbar-menu{background:none;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:14px;font-weight:500;padding:4px 12px;transition:all .2s}.navbar-menu:hover{background:#ffffff1a;color:#fff}.navbar-menu.active{background:#ffffff26;border-bottom:2px solid #0ea5e9;border-bottom:2px solid var(--accent);color:#fff}.navbar-right{align-items:center;display:flex;gap:16px}.navbar-user{color:#ffffffbf;font-size:13px}.navbar-logout{background:#ffffff1a;border:1px solid #fff3;border-radius:4px;color:#ffffffd9;cursor:pointer;font-size:12px;padding:5px 14px;transition:all .2s}.navbar-logout:hover{background:#fff3;color:#fff}.erp-main{max-width:100%;padding:20px}.dashboard-page{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1280px;padding:20px 24px}.dash-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between}.dash-header h1{font-size:24px;font-weight:800;letter-spacing:0}.dash-header p{color:#64748b;color:var(--text-secondary);font-size:13px;margin-top:4px}.dash-refresh{background:#1e3a5f;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius);color:#fff;cursor:pointer;font-weight:700;padding:8px 16px}.dash-refresh:disabled{cursor:default;opacity:.55}.dash-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr)}.dash-main-column,.dash-side-column{display:flex;flex-direction:column;gap:16px}.dash-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);padding:20px}.dash-card-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.dash-card-kicker{color:#64748b;color:var(--text-secondary);display:block;font-size:12px;font-weight:700;margin-bottom:3px}.dash-card h2{font-size:18px;font-weight:800;letter-spacing:0}.dash-change,.dash-issue-count{background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--text-secondary);flex:0 0 auto;font-size:12px;font-weight:800;padding:5px 9px}.dash-change.up{background:#dcfce7;color:#15803d}.dash-change.down,.dash-issue-count.warn{background:#fee2e2;color:#b91c1c}.dash-main-value{font-size:34px;font-weight:900;letter-spacing:0}.dash-subline{color:#64748b;color:var(--text-secondary);font-size:13px;margin-top:4px}.dash-platform-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.dash-platform-summary span{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);font-size:13px;font-weight:800;padding:7px 10px}.dash-platforms{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-top:18px}.dash-platform-row{grid-gap:8px 12px;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:grid;gap:8px 12px;grid-template-columns:1fr auto;padding:13px 0}.dash-platform-row span{font-weight:700}.dash-platform-row strong{align-items:center;display:inline-flex;font-size:16px;gap:7px}.dash-platform-row small{background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:11px;font-weight:800;padding:3px 7px}.dash-top-empty,.dash-top-product{grid-column:1/-1}.dash-top-product{grid-gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);display:grid;gap:10px;grid-template-columns:54px 1fr;padding:9px}.dash-top-image,.dash-top-product{align-items:center;border-radius:6px;border-radius:var(--radius)}.dash-top-image{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);display:flex;height:54px;justify-content:center;overflow:hidden;width:54px}.dash-top-image img{height:100%;object-fit:cover;width:100%}.dash-top-empty,.dash-top-image span{color:#94a3b8;color:var(--text-muted);font-size:12px}.dash-top-info{min-width:0}.dash-top-info>span{color:#64748b;color:var(--text-secondary);display:block;font-size:11px;font-weight:800;margin-bottom:2px}.dash-top-info strong{display:block;font-size:13px;line-height:1.35;word-break:keep-all}.dash-top-info div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dash-top-info em{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:11px;font-style:normal;font-weight:800;padding:3px 7px}.dash-top-empty{background:#f8fafc;border:1px dashed #cbd5e1;border:1px dashed var(--border-strong);border-radius:6px;border-radius:var(--radius);padding:10px}.dash-calendar-actions{display:flex;flex:0 0 auto;gap:6px}.dash-calendar-actions button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:800;padding:5px 9px}.dash-calendar-actions button:hover{border-color:#0ea5e9;border-color:var(--accent);color:#1e3a5f;color:var(--primary)}.dash-calendar-grid,.dash-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dash-calendar-weekdays{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:800;margin-bottom:6px;text-align:center}.dash-calendar-weekdays span{padding:5px 0}.dash-calendar-grid{gap:4px}.dash-calendar-cell{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:7px;cursor:pointer;min-height:48px;overflow:hidden;padding:6px;position:relative;text-align:left}.dash-calendar-cell.empty{background:#f8fafc;border-style:dashed;cursor:default}.dash-calendar-cell:not(.empty):hover{background:#f8fafc;border-color:#0ea5e9;border-color:var(--accent)}.dash-calendar-cell.selected{border-color:#1e3a5f;border-color:var(--primary);box-shadow:inset 0 0 0 1px #1e3a5f;box-shadow:inset 0 0 0 1px var(--primary)}.dash-calendar-cell.today strong{background:#1e3a5f;background:var(--primary);color:#fff}.dash-calendar-cell strong{align-items:center;border-radius:50%;display:inline-flex;font-size:12px;height:21px;justify-content:center;width:21px}.dash-calendar-dot{background:#2563eb;border-radius:50%;bottom:7px;height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.dash-schedule-selected{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.dash-schedule-selected-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.dash-schedule-selected-head strong{font-size:14px}.dash-schedule-selected-head div{align-items:center;display:flex;flex:0 0 auto;gap:6px}.dash-schedule-selected-head span{background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:11px;font-weight:800;padding:3px 8px}.dash-schedule-selected-head button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#1e3a5f;color:var(--primary);cursor:pointer;font-size:12px;font-weight:800;padding:5px 9px}.dash-schedule-selected-head button:hover{background:#f8fafc;border-color:#0ea5e9;border-color:var(--accent)}.dash-schedule-form{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto;margin-bottom:14px}.dash-schedule-form input,.dash-schedule-form textarea{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);font-size:13px;min-width:0;outline:none;padding:9px 10px}.dash-schedule-form textarea{grid-column:1/-1;line-height:1.45;min-height:64px;resize:vertical}.dash-schedule-form input:focus,.dash-schedule-form textarea:focus{border-color:#0ea5e9;border-color:var(--accent)}.dash-schedule-form button{background:#1e3a5f;background:var(--primary);border:0;border-radius:6px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:800;padding:9px 15px}.dash-schedule-form button:disabled{cursor:default;opacity:.55}.dash-schedule-list{display:flex;flex-direction:column;gap:8px}.dash-schedule-item{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:11px 12px}.dash-schedule-item div{min-width:0}.dash-schedule-item strong{display:block;font-size:13px;line-height:1.35}.dash-schedule-item p{color:#64748b;color:var(--text-secondary);font-size:12px;line-height:1.45;margin-top:4px;white-space:pre-wrap}.dash-schedule-item span{background:#e0f2fe;border-radius:999px;color:#0369a1;display:inline-block;font-size:11px;font-weight:800;margin-top:6px;padding:2px 7px}.dash-schedule-item button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:700;padding:5px 9px}.dash-schedule-item button:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.dash-empty{border:1px dashed #cbd5e1;border:1px dashed var(--border-strong);border-radius:6px;border-radius:var(--radius);color:#64748b;color:var(--text-secondary);padding:36px 12px;text-align:center}.dash-scan-tool{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 14px;padding:9px 10px}.dash-scan-tool div{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-width:0}.dash-scan-tool strong{font-size:12px;font-weight:900}.dash-scan-tool span{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:700}.dash-bookmarklet,.dash-scan-tool button{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#475569;cursor:pointer;flex:0 0 auto;font-size:11px;font-weight:900;min-height:26px;padding:4px 8px;text-decoration:none}.dash-bookmarklet:hover,.dash-scan-tool button:hover{background:#e2e8f0}.dash-todo-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);padding:12px 0}.dash-todo-section:first-of-type{border-top:0;padding-top:0}.dash-todo-title{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:9px}.dash-todo-title strong{font-size:13px;font-weight:900}.dash-todo-title span{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:800}.dash-target-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dash-target-link{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;border-radius:var(--radius);color:#1e293b;color:var(--text);display:flex;flex-direction:column;gap:2px;min-width:0;padding:9px 10px;text-decoration:none}.dash-target-link strong{color:#9a3412;font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:12px}.dash-target-link span{color:#64748b;color:var(--text-secondary);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-target-link:hover{background:#ffedd5;border-color:#fdba74}.dash-todo-done{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;border-radius:var(--radius);color:#15803d;font-size:12px;font-weight:800;padding:10px}.dash-settle-todos{display:flex;flex-wrap:wrap;gap:8px}.dash-settle-todo{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#1e293b;color:var(--text);cursor:pointer;display:inline-flex;gap:8px;padding:8px 10px}.dash-settle-todo span,.dash-settle-todo strong{font-size:12px;font-weight:900}.dash-settle-todo.done{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;cursor:default}.dash-settle-todo.todo{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.dash-settle-todo.todo:hover{background:#fee2e2}.dash-issue-groups{display:flex;flex-direction:column;gap:10px}.dash-issue-group{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);overflow:hidden}.dash-issue-summary{align-items:center;background:#f8fafc;cursor:pointer;display:flex;font-size:13px;gap:12px;list-style:none;padding:12px 14px}.dash-issue-group.external{background:#fff1f2;border-color:#fecdd3}.dash-issue-group.external .dash-issue-summary{background:#ffe4e6}.dash-issue-group.external .dash-issue-summary:before{border-left-color:#be123c}.dash-issue-group.split{background:#fffbeb;border-color:#fde68a}.dash-issue-group.split .dash-issue-summary{background:#fef3c7}.dash-issue-group.split .dash-issue-summary:before{border-left-color:#b45309}.dash-issue-summary::-webkit-details-marker{display:none}.dash-issue-summary:before{border-bottom:4px solid #0000;border-left:6px solid #64748b;border-left:6px solid var(--text-secondary);border-top:4px solid #0000;content:"";flex:0 0 auto;height:0;transition:transform .15s ease;width:0}.dash-issue-group[open] .dash-issue-summary:before{transform:rotate(90deg)}.dash-issue-summary strong{flex:1 1 auto;min-width:0}.dash-issue-summary span{color:#64748b;color:var(--text-secondary);flex:0 0 auto;font-weight:800;text-align:right}.dash-summary-link{align-items:center;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;color:#475569;display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;gap:4px;padding:3px 6px;text-decoration:none}.dash-summary-link span{align-items:center;background:#94a3b8;border-radius:50%;color:#fff;display:inline-flex;font-size:9px;height:12px;justify-content:center;line-height:1;width:12px}.dash-summary-link:hover{background:#cbd5e1}.dash-issue-group .dash-table-wrap{border:0;border-radius:0;border-top:1px solid #e2e8f0;border-top:1px solid var(--border)}.dash-table-wrap{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);overflow-x:auto}.dash-table{border-collapse:collapse;min-width:760px;width:100%}.dash-table td,.dash-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);font-size:12px;padding:9px 10px;text-align:left;vertical-align:top}.dash-table th{background:#f1f5f9;background:var(--group-bg);color:#64748b;color:var(--text-secondary);font-weight:800}.dash-table td:first-child,.dash-table td:nth-child(2){font-family:JetBrains Mono,monospace;font-family:var(--mono);white-space:nowrap}.dash-table td em{color:#94a3b8;color:var(--text-muted);display:block;font-style:normal;margin-top:2px}.dash-link{color:#1e3a5f;color:var(--primary);font-weight:800;text-decoration:none;white-space:nowrap}.dash-link:hover{text-decoration:underline}.dash-issue-complete{background:#16a34a;border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:4px 10px}.dash-issue-complete:hover{background:#15803d}.dash-issue-manual{color:#94a3b8;color:var(--text-muted);font-size:12px}@media (max-width:980px){.dash-grid{grid-template-columns:1fr}.dash-header{align-items:flex-start;flex-direction:column}.dash-schedule-form{grid-template-columns:1fr}.dash-schedule-form textarea{grid-column:auto}}.filter-bar{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.filter-group input,.filter-group select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:160px;outline:none;padding:7px 10px}.filter-group input:focus,.filter-group select:focus{border-color:#0ea5e9;border-color:var(--accent)}.filter-btn{background:#1e3a5f;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:7px 20px;transition:background .2s}.filter-btn:hover{background:#2d5a8e;background:var(--primary-light)}.filter-btn.secondary{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);color:#64748b;color:var(--text-secondary)}.filter-btn.secondary:hover{background:#f4f5f7;background:var(--bg)}.filter-btn.excel{background:#16a34a;border:none;color:#fff}.filter-btn.excel:hover{background:#15803d}.filter-btn.excel:disabled{cursor:not-allowed;opacity:.5}.filter-info{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:12px;gap:12px;margin-top:10px}.save-msg{background:#f0fdf4;border-radius:4px;color:#22c55e;color:var(--success);font-weight:500;padding:3px 10px}.grid-container{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);overflow-x:auto}.grid-empty,.grid-loading{color:#94a3b8;color:var(--text-muted);font-size:14px;padding:60px 20px;text-align:center}.data-grid{border-collapse:collapse;font-size:13px;width:100%}.data-grid thead{background:#1e3a5f;background:var(--primary);color:#fff}.data-grid th{font-size:12px;font-weight:500;letter-spacing:.03em;padding:10px 12px;text-align:left;white-space:nowrap}.data-grid td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:8px 12px;white-space:nowrap}.data-grid tbody tr:hover{background:#f8fafc;background:var(--row-hover)}.data-grid tbody tr.editing{background:#eff6ff;background:var(--row-edit)}.group-header{cursor:pointer;-webkit-user-select:none;user-select:none}.group-header:hover td{background:#e8ecf1}.group-header td{background:#f1f5f9;background:var(--group-bg);border-bottom:2px solid #cbd5e1;border-bottom:2px solid var(--border-strong);font-weight:600;padding:10px 12px}.group-arrow{color:#64748b;color:var(--text-secondary);display:inline-block;font-size:10px;margin-right:8px;transition:transform .2s}.group-arrow.collapsed{transform:rotate(-90deg)}.group-label{color:#1e3a5f;color:var(--primary);font-size:13px;margin-right:8px}.group-count{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:400}.mono{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:12px}.right{text-align:right}.col-category{width:80px}.col-sku{width:120px}.col-barcode{width:140px}.col-option{width:130px}.col-platform{width:90px}.col-name{min-width:250px}.col-qty{width:70px}.col-cost{width:110px}.col-sale{width:120px}.col-date{width:110px}.col-actions{white-space:nowrap;width:100px}.data-grid td input{background:#fff;border:1px solid #0ea5e9;border:1px solid var(--accent);border-radius:3px;font-size:12px;outline:none;padding:4px 6px;width:100%}.data-grid td input[type=number]{text-align:right}.data-grid td input[type=date]{min-width:120px}.btn-edit{background:none;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:3px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:3px 10px;transition:all .2s}.btn-edit:hover{border-color:#0ea5e9;border-color:var(--accent);color:#0ea5e9;color:var(--accent)}.btn-save{background:#0ea5e9;background:var(--accent);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;margin-right:4px;padding:3px 10px}.btn-save:hover{background:#0284c7;background:var(--accent-hover)}.btn-cancel{background:none;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:3px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:11px;padding:3px 10px}.btn-cancel:hover{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}@media (max-width:768px){.filter-row{flex-direction:column}.filter-group input,.filter-group select{min-width:100%}.erp-main{padding:12px}}.settlement-page{margin:0 auto;max-width:1100px}.settle-control{align-items:flex-end;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 20px}.settle-selectors{display:flex;gap:16px}.settle-field{display:flex;flex-direction:column;gap:4px}.settle-field label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.settle-field input,.settle-field select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:14px;min-width:170px;outline:none;padding:8px 12px}.settle-field input:focus,.settle-field select:focus{border-color:#0ea5e9;border-color:var(--accent)}.settle-actions{align-items:center;display:flex;gap:12px}.btn-settle-save{background:#0ea5e9;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 32px;transition:background .2s}.btn-settle-save:hover{background:#0284c7;background:var(--accent-hover)}.settle-notice{border-radius:6px;border-radius:var(--radius);font-size:13px;margin-bottom:16px;padding:10px 16px}.settle-notice.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.settle-notice.warn{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.settle-hero{background:linear-gradient(135deg,#1e3a5f,#0f172a);background:linear-gradient(135deg,var(--primary) 0,#0f172a 100%);border-radius:12px;color:#fff;margin-bottom:16px;padding:32px 36px}.hero-label{font-size:14px;font-weight:500;letter-spacing:.05em;margin-bottom:8px;opacity:.7}.btn-copy-settle{background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-left:10px;padding:3px 12px;transition:background .15s;vertical-align:middle}.btn-copy-settle:hover{background:#ffffff47}.hero-value{font-size:44px;font-weight:700;letter-spacing:-.02em}.hero-input-wrap{align-items:center;display:flex;gap:8px}.hero-won{font-size:32px;font-weight:600;opacity:.8}.hero-input{background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;color:#fff;font-size:38px;font-weight:700;outline:none;padding:4px 16px;width:100%}.hero-input:focus{background:#ffffff26;border-color:#0ea5e9;border-color:var(--accent)}.settle-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.summary-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;padding:24px 28px}.summary-card.positive{border-left:4px solid #22c55e;border-left:4px solid var(--success)}.summary-card.negative{border-left:4px solid #ef4444;border-left:4px solid var(--danger)}.summary-card.neutral{border-left:4px solid #94a3b8;border-left:4px solid var(--text-muted)}.summary-label{color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:8px}.summary-value{color:#1e293b;color:var(--text);font-size:30px;font-weight:700}.summary-card.positive .summary-value{color:#22c55e;color:var(--success)}.summary-card.negative .summary-value{color:#ef4444;color:var(--danger)}.profit-margin{background:#0ea5e91f;border-radius:20px;color:#0ea5e9;color:var(--accent);display:inline-block;font-size:13px;font-weight:600;margin-left:10px;padding:3px 10px;vertical-align:middle}.summary-card.negative .profit-margin{background:#ef44441f;color:#ef4444;color:var(--danger)}.summary-formula{color:#94a3b8;color:var(--text-muted);font-size:11px;margin-top:6px}.summary-input-wrap{align-items:center;display:flex;font-size:24px;font-weight:700;gap:6px}.summary-input-wrap span{color:#64748b;color:var(--text-secondary)}.summary-input-wrap input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;flex:1 1;font-size:24px;font-weight:700;outline:none;padding:4px 12px}.summary-input-wrap input:focus{border-color:#0ea5e9;border-color:var(--accent)}.cost-excel-actions{display:flex;gap:8px;margin-top:14px}.btn-excel{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:9px 12px;transition:all .15s ease;white-space:nowrap}.btn-excel svg{flex-shrink:0}.btn-excel-upload{background:#178f3c;border:1px solid #178f3c;box-shadow:0 1px 2px #178f3c33;color:#fff}.btn-excel-upload:hover{background:#14662d;border-color:#14662d;box-shadow:0 2px 6px #178f3c4d;transform:translateY(-1px)}.btn-excel-upload svg{filter:brightness(0) invert(1)}.btn-excel-download{background:#fff;background:var(--surface);border:1px solid #bbe4c6;color:#14662d}.btn-excel-download:hover{background:#f0faf2;border-color:#178f3c;transform:translateY(-1px)}.settle-detail{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;padding:24px 28px}.settle-detail h3{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#1e3a5f;color:var(--primary);font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:10px}.account-grid{grid-gap:12px 24px;display:grid;gap:12px 24px;grid-template-columns:1fr 1fr}.account-row{background:#f4f5f7;background:var(--bg);border-radius:6px;justify-content:space-between;padding:10px 14px}.account-label,.account-row{align-items:center;display:flex}.account-label{font-size:13px;font-weight:500;gap:8px}.account-tag{border-radius:3px;font-size:10px;font-weight:600;padding:2px 6px}.account-tag.expense{background:#fef2f2;color:#ef4444;color:var(--danger)}.account-tag.income{background:#f0fdf4;color:#22c55e;color:var(--success)}.account-value{font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:14px;font-weight:600}.account-input-wrap{align-items:center;display:flex;gap:4px}.account-input-wrap span{color:#94a3b8;color:var(--text-muted);font-size:13px}.account-input-wrap input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:5px 10px;text-align:right;width:140px}.account-input-wrap input:focus{border-color:#0ea5e9;border-color:var(--accent)}.account-row.calculated{background:#f0f9ff;border:1px dashed #bae6fd}.auto-badge{background:#0ea5e9;background:var(--accent);border-radius:3px;color:#fff;font-size:9px;font-weight:700;margin-left:6px;padding:2px 6px}@media (max-width:768px){.settle-control{align-items:stretch;flex-direction:column;gap:12px}.account-grid,.settle-summary{grid-template-columns:1fr}.hero-value{font-size:32px}}.settle-chart{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:24px 28px}.settle-chart h3{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#1e3a5f;color:var(--primary);font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:10px}.pie-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:32px}.pie-chart-area{flex-shrink:0}.pie-center-label{fill:#94a3b8;fill:var(--text-muted);font-size:12px;font-weight:500}.pie-center-value{fill:#1e293b;fill:var(--text);font-size:20px;font-weight:700}.pie-empty{color:#94a3b8;color:var(--text-muted);font-size:13px;padding:20px 0}.pie-legend{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:280px}.pie-legend-row{align-items:center;border-radius:5px;display:flex;font-size:13px;gap:10px;padding:5px 8px}.pie-legend-row:hover{background:#f4f5f7;background:var(--bg)}.pie-dot{border-radius:3px;flex-shrink:0;height:12px;width:12px}.pie-legend-label{flex:1 1;font-weight:500}.pie-legend-pct{color:#1e293b;color:var(--text);font-weight:700;min-width:52px;text-align:right}.pie-legend-val{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:12px;min-width:110px;text-align:right}@media (max-width:768px){.pie-wrap{justify-content:center}.pie-legend{min-width:100%}}.navbar-role{background:#ffffff26;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-left:6px;padding:2px 8px}.navbar-action{background:#ffffff1a;border:1px solid #fff3;border-radius:4px;color:#ffffffe6;cursor:pointer;font-size:12px;padding:5px 14px;transition:all .2s}.navbar-action:hover{background:#fff3;color:#fff}.readonly-dash{color:#94a3b8;color:var(--text-muted)}.modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-box{background:#fff;background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:100%;padding:28px 32px;width:420px}.modal-wide{width:720px}.modal-extra-wide{max-height:calc(100vh - 40px);overflow-y:auto;width:min(1120px,calc(100vw - 40px))}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-title{color:#1e3a5f;color:var(--primary);font-size:17px;font-weight:700}.modal-header .modal-title{margin:0}.modal-box>.modal-title{margin-bottom:8px}.modal-x{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:24px;line-height:1}.modal-x:hover{color:#ef4444;color:var(--danger)}.modal-desc{color:#64748b;color:var(--text-secondary);font-size:13px;margin-bottom:16px}.modal-form{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.modal-error{background:#fef2f2;border-radius:6px;color:#ef4444;color:var(--danger);font-size:13px;padding:8px 12px;text-align:center}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.btn-modal-confirm{background:#0ea5e9;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 24px}.btn-modal-confirm:hover{background:#0284c7;background:var(--accent-hover)}.btn-modal-confirm:disabled{cursor:not-allowed;opacity:.5}.btn-modal-cancel{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:9px 24px}.btn-modal-cancel:hover{background:#f4f5f7;background:var(--bg)}.account-toolbar{align-items:center;display:flex;gap:12px;margin-bottom:14px}.account-create-form{align-items:flex-end;background:#f4f5f7;background:var(--bg);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px}.account-create-form .form-group{flex:1 1;gap:4px;min-width:120px}.account-create-form label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:500}.account-create-form input,.account-create-form select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:7px 10px}.account-table{border-collapse:collapse;font-size:13px;width:100%}.account-table thead{background:#1e3a5f;background:var(--primary);color:#fff}.account-table th{font-size:12px;font-weight:500;padding:9px 12px;text-align:left}.account-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:8px 12px}.account-table tbody tr:hover{background:#f8fafc;background:var(--row-hover)}.account-table select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:12px;outline:none;padding:4px 8px}.pw-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px}.pw-badge.warn{background:#fffbeb;color:#b45309}.pw-badge.ok{background:#f0fdf4;color:#22c55e;color:var(--success)}.btn-reset-pw{background:none;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 10px}.btn-reset-pw:hover{border-color:#f59e0b;border-color:var(--warning);color:#f59e0b;color:var(--warning)}.account-actions{display:flex;gap:6px}.btn-delete-user{background:none;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 10px}.btn-delete-user:hover{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.btn-delete-user:disabled{cursor:not-allowed;opacity:.4}.btn-delete-user:disabled:hover{border-color:#e2e8f0;border-color:var(--border);color:#64748b;color:var(--text-secondary)}.inbound-add-form{align-items:flex-end;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px 20px}.inbound-add-form .form-field{display:flex;flex-direction:column;gap:4px}.inbound-add-form .form-field label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:500}.inbound-add-form .form-field input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:130px;outline:none;padding:7px 10px}.inbound-add-form .form-field input:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-add-form .form-field select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:100px;outline:none;padding:7px 10px}.inbound-add-form .form-field select:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-id-display{color:#94a3b8;color:var(--text-muted);display:inline-block;font-size:12px;padding:5px 8px;white-space:nowrap}.inbound-cost-preview{color:#0ea5e9;color:var(--accent);font-size:13px;font-weight:600}.inbound-cost-empty{color:#94a3b8;color:var(--text-muted);font-size:13px}.inbound-add-multi{align-items:stretch;flex-direction:column;gap:12px}.inbound-add-top{display:flex;gap:16px}.inbound-add-table{border-collapse:collapse;font-size:13px;width:100%}.inbound-add-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:600;padding:6px 10px;text-align:left;white-space:nowrap}.inbound-add-table td{padding:4px 6px;vertical-align:middle}.inbound-add-table td:last-child{width:32px}.inbound-add-input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:6px 8px}.inbound-add-input:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-add-name{min-width:200px;width:100%}.inbound-add-qty{width:70px}.inbound-add-select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:6px 8px;width:80px}.inbound-add-select:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-add-cost{white-space:nowrap}.inbound-add-actions{align-items:center;display:flex;gap:8px}.inbound-row-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;line-height:1;width:28px}.inbound-row-add{border-color:#0ea5e9;border-color:var(--accent);border-radius:6px;color:#0ea5e9;color:var(--accent);font-size:12px;padding:6px 14px;width:auto}.inbound-row-remove{color:#ef4444}.inbound-row-remove:disabled{cursor:default;opacity:.3}.inbound-html-label{color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px}.inbound-html-label input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:8px 10px;width:180px}.inbound-html-label input:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-html-textarea{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;min-height:260px;outline:none;padding:10px 12px;resize:vertical;width:100%}.inbound-html-textarea:focus{border-color:#0ea5e9;border-color:var(--accent)}.inbound-pdf-preview{background:#f4f5f7;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.inbound-pdf-preview-title{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:700;margin-bottom:6px}.inbound-pdf-preview pre{color:#94a3b8;color:var(--text-muted);font-size:12px;margin:0;max-height:160px;overflow:auto;white-space:pre-wrap}.inbound-doc-step{display:flex;flex-direction:column;gap:14px}.inbound-doc-info{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.inbound-doc-info-item{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;padding:9px 10px}.inbound-doc-info-item span{color:#94a3b8;color:var(--text-muted);display:block;font-size:11px;margin-bottom:4px}.inbound-doc-info-item strong{color:#1e293b;color:var(--text);display:block;font-size:13px;overflow-wrap:anywhere}.inbound-pallet-grid-wrap{overflow-x:auto}.inbound-pallet-grid{border-collapse:collapse;font-size:12px;width:100%}.inbound-pallet-grid td,.inbound-pallet-grid th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:6px;text-align:left}.inbound-pallet-grid th{background:#f4f5f7;background:var(--bg);color:#64748b;color:var(--text-secondary);font-weight:700}.inbound-pallet-grid input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:5px;font-size:12px;min-width:82px;padding:6px 8px;width:100%}.inbound-pallet-grid td:nth-child(2) input{min-width:260px}.inbound-pallet-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.inbound-pallet-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.inbound-pallet-card-head{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:9px 11px}.inbound-pallet-card-head label{align-items:center;color:#94a3b8;color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:700;gap:6px}.inbound-pallet-card-head input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:5px;font-size:12px;padding:4px 6px;width:58px}.inbound-pallet-card-list{display:flex;flex-direction:column}.inbound-pallet-card-row{grid-gap:8px;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:grid;font-size:12px;gap:8px;grid-template-columns:72px 1fr auto;padding:8px 11px}.inbound-pallet-card-row:last-child{border-bottom:none}.inbound-total{align-items:baseline;background:#1e3a5f;background:var(--primary);border-radius:6px;border-radius:var(--radius);color:#fff;display:flex;gap:12px;margin-bottom:12px;padding:14px 22px}.inbound-total-label{font-size:13px;font-weight:500;opacity:.8}.inbound-total-value{font-size:24px;font-weight:700;letter-spacing:-.01em}.inbound-total-sub{font-size:12px;margin-left:auto;opacity:.6}.inventory-page{padding:20px 24px}.inv-loading,.inventory-page{display:flex;flex-direction:column;gap:16px}.inv-loading{align-items:center;color:#64748b;color:var(--text-secondary);justify-content:center;padding:80px 20px}.inv-spinner{animation:inv-spin .9s linear infinite;border:4px solid #e2e8f0;border-top-color:#0ea5e9;border:4px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:48px;width:48px}@keyframes inv-spin{to{transform:rotate(1turn)}}.inv-loading-msg{color:#1e293b;color:var(--text);font-size:16px;font-weight:600}.inv-loading-sub{color:#94a3b8;color:var(--text-muted);font-size:13px}.inv-header-bar{align-items:center;display:flex;justify-content:space-between}.inv-updated{color:#94a3b8;color:var(--text-muted);font-size:12px}.inv-err-msg{color:#ef4444;color:var(--danger);font-size:13px;margin-left:10px}.inv-refresh-btn{background:#1e3a5f;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background .15s}.inv-refresh-btn:hover{background:#2d5a8e;background:var(--primary-light)}.inv-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.inv-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);padding:18px 20px}.inv-card-warn{border-left:4px solid #f59e0b;border-left:4px solid var(--warning)}.inv-card-danger{border-left:4px solid #ef4444;border-left:4px solid var(--danger)}.inv-card-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.inv-card-label{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:6px}.inv-card-head .inv-card-label{margin-bottom:0}.inv-card-value{font-size:22px;font-weight:700;letter-spacing:-.02em}.inv-card-sub{color:#94a3b8;color:var(--text-muted);font-size:11px;margin-top:4px}.inv-cost-download{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;height:24px;padding:0 8px}.inv-cost-download:hover:not(:disabled){background:#ecfdf5;border-color:#86efac;color:#166534}.inv-cost-download:disabled{cursor:wait;opacity:.65}.inv-grid .inv-col-cat{width:70px}.inv-grid .inv-col-sku{width:120px}.inv-grid .inv-col-opt{width:110px}.inv-grid .inv-col-name{min-width:160px}.inv-grid .inv-col-num{width:90px}.inv-grid .inv-col-money{width:110px}.cell-stock{color:#22c55e;color:var(--success);font-weight:600}.cell-na,.cell-zero{color:#94a3b8;color:var(--text-muted)}.cell-na{font-style:italic}.cell-shortage{color:#ef4444;color:var(--danger);font-weight:700}.row-no-stock{background:#fff5f5}.row-shortage{background:#fffbeb}.inv-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.inv-th-sort:hover{background:#ffffff1f}.sort-icon{font-size:10px;margin-left:2px;opacity:.35}.sort-icon.active{opacity:1}.inv-th-group{border-bottom:1px solid #ffffff40;letter-spacing:.05em;text-align:center}.name-cell{align-items:center;display:flex;gap:6px;min-width:0}.name-cell>span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profit-btn{background:#94a3b8;border:none;border-radius:3px;color:#fff;cursor:pointer;flex-shrink:0;font-size:11px;padding:1px 6px;white-space:nowrap}.profit-btn:hover{background:#64748b}.profit-popup-fixed{background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 32px #0000002e;max-width:340px;min-width:290px;padding:14px 16px;position:fixed;z-index:9999}.profit-popup-inner{gap:4px}.profit-popup-inner,.pt-section{display:flex;flex-direction:column}.pt-section{gap:3px}.pt-platform{color:#1e3a5f;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.03em;margin-bottom:4px}.pt-divider{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin:8px 0}.pt-row{align-items:center;display:flex;font-size:12px;gap:6px;line-height:1.6}.pt-sign{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px;min-width:22px}.pt-plus{color:#16a34a}.pt-minus{color:#ef4444}.pt-eq{color:#1e3a5f;color:var(--primary);font-weight:700}.pt-field{color:#64748b;color:var(--text-secondary);flex:1 1}.pt-val{font-weight:500;white-space:nowrap}.pt-rate{color:#94a3b8;color:var(--text-muted);font-size:10px}.pt-result{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);margin-top:2px;padding-top:4px}.pt-result .pt-field,.pt-result .pt-val{font-weight:700}.pt-positive{color:#16a34a}.pt-negative{color:#ef4444;color:var(--danger)}.inline-input{border:1px solid #0ea5e9;border:1px solid var(--accent);border-radius:3px;box-sizing:border-box;font-size:12px;outline:none;padding:3px 6px;width:100%}.inline-input:focus{border-color:#1e3a5f;border-color:var(--primary);box-shadow:0 0 0 2px #0ea5e926}.name-input{min-width:120px}.edit-fee-row td{background:#f8fafc;padding:8px 12px!important}.fee-edit-bar{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.fee-edit-label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap}.fee-edit-bar label{color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;font-size:11px;gap:2px}.fee-edit-bar label input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:3px;font-size:12px;outline:none;padding:3px 6px;width:100px}.fee-edit-bar label input:focus{border-color:#0ea5e9;border-color:var(--accent)}.reg-form{flex-direction:column;margin:16px 0}.reg-form,.reg-row{display:flex;gap:12px}.reg-row{flex-wrap:wrap}.reg-field{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.reg-label{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:500}.reg-req{color:#ef4444;color:var(--danger);margin-left:2px}.reg-field input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;font-size:13px;outline:none;padding:7px 10px}.reg-field input:focus{border-color:#0ea5e9;border-color:var(--accent)}.reg-divider{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;padding-top:10px}.sim-modal{gap:0;width:min(940px,95vw)!important}.sim-body,.sim-modal{display:flex;flex-direction:column}.sim-body{gap:16px;padding:4px 0}.sim-select-row{align-items:center;display:flex;gap:12px}.sim-select-row label{color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap}.sim-select{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;flex:1 1;font-size:14px;outline:none;padding:8px 12px}.sim-select:focus{border-color:#0ea5e9;border-color:var(--accent)}.sim-content{align-items:flex-start;display:flex;gap:20px}.sim-inputs{background:#f4f5f7;background:var(--bg);border-radius:8px;display:flex;flex:0 0 220px;flex-direction:column;gap:10px;padding:14px;width:220px}.sim-results{display:flex;flex:1 1;flex-direction:column;gap:10px}.sim-platforms{display:flex;flex:1 1;gap:0}.sim-section-title{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;padding-bottom:6px;text-transform:uppercase}.sim-divider{flex-shrink:0;margin:0 16px;width:1px}.sim-divider,.sim-hr{background:#e2e8f0;background:var(--border)}.sim-hr{height:1px;margin:4px 0}.sim-platform-block{background:#f4f5f7;background:var(--bg);border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:0;padding:14px}.sim-platform-title{border-bottom:2px solid #0ea5e9;border-bottom:2px solid var(--accent);color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:8px;padding-bottom:10px}.sim-field{display:flex;flex-direction:column;gap:3px}.sim-label{color:#64748b;color:var(--text-secondary);font-size:11px;font-weight:500}.sim-input-wrap{align-items:center;display:flex;gap:6px}.sim-input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:5px;flex:1 1;font-size:13px;min-width:0;outline:none;padding:6px 10px;text-align:right}.sim-input:focus{border-color:#0ea5e9;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f61f}.sim-unit{color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-size:11px;white-space:nowrap}.sim-row{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;gap:8px;justify-content:space-between;padding:5px 0}.sim-row:last-child{border-bottom:none}.sim-row-result{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;display:flex;gap:8px;justify-content:space-between;margin-top:4px;padding:8px 10px}.sim-sign{color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-size:11px;width:20px}.sim-plus{color:#0ea5e9;color:var(--accent)}.sim-minus{color:#ef4444;color:var(--danger)}.sim-row-label{color:#64748b;color:var(--text-secondary);flex:1 1;font-size:12px}.sim-row-val{color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap}.sim-pos{color:#2e7d32}.sim-neg,.sim-pos{font-size:15px;font-weight:800}.sim-neg{color:#ef4444;color:var(--danger)}.sim-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex:1 1;font-size:13px;justify-content:center;padding:40px 20px;text-align:center}.settle-confirm-msg{color:var(--text-primary);font-size:15px;line-height:1.7;margin:8px 0 24px}.settle-confirm-btns{display:flex;gap:10px;justify-content:flex-end}.btn-settle-cancel{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:9px 24px;transition:background .2s}.btn-settle-cancel:hover{background:#f4f5f7;background:var(--bg)}.btn-settle-cancel:disabled{background:#f4f5f7;background:var(--bg)}.btn-settle-cancel:disabled,.btn-settle-save:disabled{color:#94a3b8;color:var(--text-muted);cursor:not-allowed}.btn-settle-save:disabled{background:#e2e8f0;background:var(--border)}.swiz-modal{width:min(620px,95vw)!important}.swiz-stepbar{align-items:flex-start;display:flex;gap:0;margin:0 -4px;padding:16px 0 24px}.swiz-step{flex:1 1;flex-direction:column;gap:6px;position:relative}.swiz-circle,.swiz-step{align-items:center;display:flex}.swiz-circle{background:#e2e8f0;background:var(--border);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:50%;color:#94a3b8;color:var(--text-muted);font-size:14px;font-weight:700;height:36px;justify-content:center;transition:all .3s;width:36px}.swiz-step.active .swiz-circle{background:#0ea5e9;background:var(--accent);border-color:#0ea5e9;border-color:var(--accent);box-shadow:0 0 0 4px #3b82f626;color:#fff}.swiz-step.done .swiz-circle{background:#22c55e;border-color:#22c55e;color:#fff}.swiz-step-label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.4;text-align:center}.swiz-step.active .swiz-step-label{color:#0ea5e9;color:var(--accent);font-weight:700}.swiz-step.done .swiz-step-label{color:#22c55e}.swiz-step-label span{color:inherit;font-size:12px}.swiz-line{background:#e2e8f0;background:var(--border);flex:1 1;height:2px;margin-top:18px;transition:background .3s}.swiz-line.done{background:#22c55e}.swiz-body{display:flex;flex-direction:column;gap:20px}.swiz-section-title{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:700;padding-bottom:10px}.swiz-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.swiz-loading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:24px 0}.swiz-spinner{animation:swiz-spin .9s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0ea5e9;border:3px solid var(--border);border-top-color:var(--accent);height:40px;width:40px}@keyframes swiz-spin{to{transform:rotate(1turn)}}.swiz-loading-text{color:#64748b;color:var(--text-secondary);font-size:14px}.swiz-count{color:#0ea5e9;color:var(--accent);font-weight:600}.swiz-result{flex-direction:column;gap:12px;padding:20px 0}.swiz-result,.swiz-result-icon{align-items:center;display:flex}.swiz-result-icon{background:#22c55e;border-radius:50%;color:#fff;font-size:24px;font-weight:700;height:52px;justify-content:center;width:52px}.swiz-result-text{color:var(--text-primary);font-size:15px}.swiz-error{flex-direction:column;gap:10px;padding:20px 0}.swiz-error,.swiz-error-icon{align-items:center;display:flex}.swiz-error-icon{background:#ef4444;background:var(--danger);border-radius:50%;color:#fff;font-size:22px;font-weight:700;height:48px;justify-content:center;width:48px}.swiz-error-detail{color:#94a3b8;color:var(--text-muted);font-size:12px;max-width:400px;text-align:center}.swiz-error-compact{padding:6px 0}.swiz-placeholder{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:12px;padding:32px 0}.swiz-placeholder-icon{font-size:36px}.swiz-upload-area{border:2px dashed #e2e8f0;border:2px dashed var(--border);border-radius:10px;cursor:pointer;margin:8px 0 16px;padding:32px 24px;text-align:center;transition:border-color .15s,background .15s}.swiz-upload-area:hover{background:#3b82f60a;background:rgba(var(--primary-rgb,59,130,246),.04);border-color:#1e3a5f;border-color:var(--primary)}.swiz-upload-prompt{color:#94a3b8;color:var(--text-muted);flex-direction:column}.swiz-upload-filename,.swiz-upload-prompt{align-items:center;display:flex;font-size:14px;gap:8px}.swiz-upload-filename{color:var(--text-primary);font-weight:500}.swiz-upload-icon{font-size:28px}.swiz-summary-cards{display:flex;gap:10px;margin:12px 0}.swiz-net-sales{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.swiz-net-cost,.swiz-net-sales{border-radius:12px;color:#fff;flex:1 1;padding:16px 18px;text-align:center}.swiz-net-cost{background:linear-gradient(135deg,#b45309,#d97706)}.swiz-net-label{font-size:12px;margin-bottom:4px;opacity:.85}.swiz-net-value{font-size:22px;font-weight:700;letter-spacing:0}.swiz-stats{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;font-size:13px;margin:8px 0 16px;overflow:hidden}.swiz-stat-row{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:9px 16px}.swiz-stat-row:last-child{border-bottom:none}.swiz-stat-row.refund span:last-child{color:#ef4444;font-weight:500}.swiz-stat-row.add span:last-child{color:#22c55e;font-weight:500}.swiz-download-note{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13px;padding:10px 12px;text-align:center}@media (max-width:520px){.swiz-summary-cards{flex-direction:column}.swiz-actions{flex-wrap:wrap}}.hero-wizard-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#2563eb;display:inline-block;font-size:11px;font-weight:500;margin-left:12px;padding:2px 10px;vertical-align:middle}
/*# sourceMappingURL=main.e6684b9a.css.map*/