*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:420px}.login-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{margin:0 0 8px;font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo p{margin:0;color:#6b7280;font-size:1rem}.login-form{margin-bottom:24px}.login-error{padding:12px;background:#fee2e2;border-left:4px solid #ef4444;border-radius:6px;color:#991b1b;margin-bottom:20px;font-size:.9rem}.login-field{margin-bottom:20px}.login-field label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.9rem}.login-field input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s;box-sizing:border-box}.login-field input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;padding-top:20px;border-top:2px solid #f3f4f6}.login-footer p{margin:0;color:#9ca3af;font-size:.85rem}.layout{min-height:100vh;background:#f9fafb}.layout-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.layout-header-left{display:flex;align-items:center;gap:20px}.layout-logo{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.layout-merchant{padding:6px 16px;background:#f3f4f6;border-radius:8px;font-weight:600;color:#374151;font-size:.9rem}.layout-header-right{display:flex;align-items:center;gap:20px}.layout-user{color:#6b7280;font-size:.9rem;font-weight:500}.layout-logout{padding:8px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.layout-logout:hover{border-color:#ef4444;color:#ef4444}.layout-main{padding:24px;max-width:1400px;margin:0 auto}@media(max-width:768px){.layout-header{flex-direction:column;gap:16px}.layout-header-left,.layout-header-right{width:100%;justify-content:space-between}}.metric-card{background:#fff;border-radius:12px;padding:24px;border:2px solid #e5e7eb;display:flex;gap:16px;transition:all .2s}.metric-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f61a}.metric-icon{font-size:2.5rem;line-height:1}.metric-content{flex:1}.metric-title{font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:8px}.metric-value{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:4px}.metric-change{font-size:.85rem;font-weight:600}.metric-change.positive{color:#10b981}.metric-change.negative{color:#ef4444}.dashboard{padding-bottom:40px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-header h1{margin:0;color:#1f2937}.dashboard-period{display:flex;gap:8px}.period-btn{padding:8px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;font-weight:600;cursor:pointer;transition:all .2s}.period-btn:hover{border-color:#3b82f6;color:#3b82f6}.period-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dashboard-loading,.dashboard-error{text-align:center;padding:60px 20px;color:#6b7280;font-size:1.1rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.dashboard-card{background:#fff;border-radius:12px;padding:24px;border:2px solid #e5e7eb;margin-bottom:20px}.dashboard-card h2{margin:0 0 8px;color:#1f2937;font-size:1.2rem}.card-subtitle{margin:0 0 20px;color:#9ca3af;font-size:.85rem}.chart-footer{margin-top:16px;padding-top:16px;border-top:2px solid #f3f4f6;text-align:center;font-size:.9rem;color:#6b7280;font-weight:600}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.pipeline-bars{display:flex;flex-direction:column;gap:16px}.pipeline-bar{display:flex;flex-direction:column;gap:8px}.pipeline-label{display:flex;justify-content:space-between;font-size:.9rem}.pipeline-label span{color:#6b7280;font-weight:500}.pipeline-label strong{color:#1f2937}.pipeline-progress{height:24px;background:#f3f4f6;border-radius:6px;overflow:hidden}.pipeline-fill{height:100%;transition:width .3s}.pipeline-not-received{background:#9ca3af}.pipeline-received{background:#3b82f6}.pipeline-in-progress{background:#f59e0b}.pipeline-completed{background:#10b981}.disposition-list{display:flex;flex-direction:column;gap:16px}.disposition-item{display:flex;flex-direction:column;gap:6px}.disposition-header{display:flex;justify-content:space-between;font-size:.9rem}.disposition-header span{color:#6b7280;font-weight:500}.disposition-header strong{color:#1f2937}.disposition-bar{height:16px;background:#f3f4f6;border-radius:4px;overflow:hidden}.disposition-fill{height:100%;transition:width .3s}.disposition-count{font-size:.8rem;color:#9ca3af}.issues-list{display:flex;flex-direction:column;gap:12px}.issue-item{display:flex;align-items:center;gap:16px;padding:12px;background:#f9fafb;border-radius:8px}.issue-rank{width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.issue-name{flex:1;color:#1f2937;font-weight:500}.issue-count{color:#6b7280;font-weight:600}.no-data{text-align:center;color:#9ca3af;padding:40px 20px}.returns-table-container{overflow-x:auto}.returns-table{width:100%;border-collapse:collapse}.returns-table thead{background:#f9fafb}.returns-table th{padding:12px;text-align:left;font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.returns-table td{padding:12px;border-top:1px solid #f3f4f6;color:#1f2937;font-size:.9rem}.returns-table tbody tr:hover{background:#f9fafb}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-not_received{background:#f3f4f6;color:#6b7280}.status-received{background:#dbeafe;color:#1e40af}.status-in_progress{background:#fef3c7;color:#92400e}.status-completed{background:#d1fae5;color:#065f46}.status-problem_solve{background:#fee2e2;color:#991b1b}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.metrics-grid,.charts-grid{grid-template-columns:1fr}.returns-table{min-width:800px}}
