:root{--primary: #2563eb;--primary-dark: #1d4ed8;--sidebar-bg: #1e3a5f;--sidebar-hover: #2d4a6f;--bg-main: #f5f7fa;--bg-white: #ffffff;--border: #e5e7eb;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--success: #10b981;--warning: #f59e0b;--danger: #ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-main);color:var(--text-primary);font-size:14px;line-height:1.5}.app-container{display:flex;min-height:100vh}.mobile-header{display:none;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--sidebar-bg);color:#fff;position:fixed;top:0;left:0;right:0;height:56px;z-index:100}.menu-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:8px}.mobile-logo{font-size:16px;font-weight:600}.mobile-header-spacer{width:40px}.sidebar{width:220px;background:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:1000}.sidebar-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.sidebar-logo{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.sidebar-close{display:none;background:none;border:none;color:#ffffffb3;font-size:20px;cursor:pointer}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:12px 20px;gap:12px;color:#fffc;cursor:pointer;font-size:14px;border-left:3px solid transparent;transition:all .2s}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-hover);color:#fff;border-left-color:#fff}.nav-item .icon{font-size:18px}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding:12px 0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.sidebar-overlay.show{display:block}.main-content{flex:1;margin-left:220px;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--bg-white);border-bottom:1px solid var(--border)}.page-title{font-size:20px;font-weight:600}.product-count{font-size:14px;font-weight:400;color:var(--text-secondary)}.main-content.login-page{margin-left:0;width:100%}.page-actions{display:flex;gap:8px}.page-body{padding:24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;background:var(--bg-white);color:var(--text-primary)}.btn:hover{background:var(--bg-main)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg-white)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 24px;font-size:15px}.search-bar{display:flex;gap:8px;padding:16px 24px;background:var(--bg-white);border-bottom:1px solid var(--border)}.search-input-wrapper{display:flex;align-items:center;background:var(--bg-main);border-radius:6px;padding:0 12px;flex:1;max-width:400px}.search-icon{color:var(--text-light);margin-right:8px}.search-input{border:none;background:transparent;padding:10px 0;flex:1;font-size:14px;outline:none}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:8px;overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:16px;font-weight:600}.card-body{padding:20px}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.table th{background:var(--bg-main);font-weight:500;color:var(--text-secondary);font-size:13px}.table tr:hover td{background:#fafafa}.selected-row td{background:#2563eb0d!important}.product-cell{display:flex;align-items:center;gap:12px}.product-image{width:40px;height:40px;border-radius:6px;background:var(--bg-main);display:flex;align-items:center;justify-content:center;font-size:20px;object-fit:cover}.product-name{font-weight:500}.product-id{font-size:11px;color:var(--text-light);margin-top:2px}.jan-code{font-family:monospace;font-size:12px;background:var(--bg-main);padding:2px 8px;border-radius:4px}.stock-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.stock-badge.in-stock{background:#d1fae5;color:#065f46}.stock-badge.out-of-stock{background:#fee2e2;color:#991b1b}.pending-badge{margin-left:8px;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:4px;font-size:11px}.sync-status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px}.sync-status.synced{background:#d1fae5;color:#065f46}.sync-status.pending{background:#fef3c7;color:#92400e}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px}.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.error{background:#fee2e2;color:#991b1b}.type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;background:var(--bg-main)}.action-btns{display:flex;gap:4px}.action-btn{padding:6px 8px;border:none;background:transparent;cursor:pointer;border-radius:4px;font-size:14px}.action-btn:hover{background:var(--bg-main)}.action-btn.delete:hover{background:#fee2e2}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border)}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-controls{display:flex;gap:4px}.page-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-white);border-radius:6px;cursor:pointer;font-size:14px}.page-btn:hover{background:var(--bg-main)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state .icon{font-size:48px;margin-bottom:16px}.empty-state .title{font-size:16px;font-weight:500;margin-bottom:8px}.numbered-form{display:flex;flex-direction:column}.form-row{display:flex;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--border)}.form-number{width:32px;height:32px;background:var(--bg-main);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);font-size:14px;margin-right:20px;margin-top:4px}.form-field{flex:1}.form-field-label{display:block;font-weight:500;margin-bottom:8px}.form-field-label .required{color:var(--danger);margin-left:4px}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.form-input:focus{outline:none;border-color:var(--primary)}.input-with-unit{display:flex;align-items:center;gap:8px}.input-unit{color:var(--text-secondary)}.form-actions{display:flex;gap:12px;padding-top:24px}.form-hint{margin-top:16px;padding:12px 16px;background:#fef3c7;border-radius:8px;font-size:13px;color:#92400e}.upload-zone{border:2px dashed var(--border);border-radius:12px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .2s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary);background:#2563eb0d}.upload-zone.uploading{opacity:.7;pointer-events:none}.upload-zone .icon{font-size:48px;margin-bottom:16px}.upload-zone .text{font-size:16px;font-weight:500;margin-bottom:8px}.upload-zone .hint{font-size:13px;color:var(--text-secondary)}.upload-result{margin-top:24px;padding:20px;background:var(--bg-main);border-radius:8px}.upload-result h3{font-size:16px;margin-bottom:16px}.result-stats{display:flex;gap:16px;margin-bottom:20px}.result-stats .stat{padding:12px 20px;background:var(--bg-white);border-radius:8px;text-align:center}.result-stats .stat .label{font-size:12px;color:var(--text-secondary);display:block}.result-stats .stat .value{font-size:24px;font-weight:600}.result-stats .stat.success .value{color:var(--success)}.result-stats .stat.error .value{color:var(--danger)}.result-summary{margin-top:16px}.result-summary h4{font-size:14px;margin-bottom:12px}.summary-table{width:100%}.summary-table th,.summary-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.result-errors{margin-top:16px}.result-errors h4{font-size:14px;margin-bottom:8px;color:var(--danger)}.result-errors ul{padding-left:20px;font-size:13px}.preview-summary{margin:0 24px 24px;padding:20px;background:var(--bg-white);border:1px solid var(--border);border-radius:8px}.preview-summary h3{font-size:16px;margin-bottom:16px}.preview-stats{display:flex;gap:24px;margin-bottom:16px}.preview-stats .stat{text-align:center}.preview-stats .label{font-size:12px;color:var(--text-secondary);display:block}.preview-stats .value{font-size:28px;font-weight:600;color:var(--primary)}.preview-list{display:flex;flex-direction:column;gap:8px}.preview-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-main);border-radius:6px}.preview-item .name{flex:1}.preview-item .jan{font-family:monospace;font-size:12px;color:var(--text-secondary)}.preview-item .count{font-weight:600;color:var(--success)}.preview-more{padding:8px 12px;color:var(--text-secondary);font-size:13px}.log-details summary{cursor:pointer;color:var(--primary);font-size:13px}.log-details pre{margin-top:8px;padding:12px;background:var(--bg-main);border-radius:4px;font-size:12px;overflow-x:auto;max-width:300px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--text-primary);color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2000;animation:slideUp .3s ease}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.info{background:var(--primary)}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.confirm-modal{background:var(--bg-white);border-radius:12px;min-width:400px;max-width:500px;box-shadow:0 20px 60px #0000004d}.confirm-modal-header{padding:24px 24px 0}.confirm-modal-title{font-size:18px;font-weight:600}.confirm-modal-body{padding:16px 24px 24px}.confirm-modal-body p{color:var(--text-secondary);line-height:1.6}.confirm-modal-footer{padding:16px 24px;background:var(--bg-main);border-radius:0 0 12px 12px;display:flex;justify-content:flex-end;gap:12px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sidebar-bg),#2d4a6f)}.login-card{background:var(--bg-white);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:48px;margin-bottom:16px}.login-header h1{font-size:24px;font-weight:600;margin-bottom:8px}.login-header p{color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:20px}.login-field label{display:block;font-weight:500;margin-bottom:8px}.login-field input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px}.login-field input:focus{outline:none;border-color:var(--primary)}.login-btn{padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer}.login-btn:hover{background:var(--primary-dark)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px}@media (max-width: 768px){.mobile-header{display:flex}.sidebar{left:-280px;width:280px;transition:left .3s}.sidebar.open{left:0}.sidebar-close{display:block}.main-content{margin-left:0;padding-top:56px}.page-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.page-actions{flex-wrap:wrap}.page-actions .btn{flex:1;min-width:120px;justify-content:center}.page-body{padding:16px}.search-bar{flex-direction:column;padding:12px 16px}.search-input-wrapper{max-width:none;width:100%}.card{border-radius:0}.table thead{display:none}.table tbody{display:flex;flex-direction:column;gap:12px;padding:12px 16px}.table tr{display:flex;flex-direction:column;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;padding:12px}.table td{display:flex;align-items:center;padding:6px 0;border:none}.table td:before{content:attr(data-label);font-weight:500;color:var(--text-secondary);font-size:12px;min-width:80px}.table td[data-label=""]:before{display:none}.pagination{flex-direction:column;gap:12px}.preview-summary{margin:0 16px 16px}.preview-stats{gap:16px}.preview-stats .value{font-size:24px}.confirm-modal{min-width:auto;width:100%}.login-card{padding:24px;margin:16px}}@media (max-width: 480px){.page-actions .btn{font-size:12px;padding:8px 10px}.preview-item{flex-wrap:wrap}.preview-item .jan{width:100%;margin-top:4px}}
