:root{--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#eff6ff;--success:#10b981;--success-hover:#059669;--success-light:#ecfdf5;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fffbeb;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fef2f2;--bg-app:#f8fafc;--bg-card:#fff;--border:#e2e8f0;--border-focus:#93c5fd;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-family:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -4px #0000000d;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:var(--transition);background-color:#fff;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-app);color:var(--text-muted);cursor:not-allowed;opacity:.8}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61f}label{color:var(--text-main);margin-bottom:6px;font-weight:500;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-primary:disabled{cursor:not-allowed;background-color:#93c5fd}.btn-secondary{border-color:var(--border);color:var(--text-muted);background-color:#fff}.btn-secondary:hover{color:var(--text-main);background-color:#f8fafc;border-color:#cbd5e1}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:var(--success-hover)}.badge{text-transform:capitalize;border-radius:9999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}@media print{.sidebar,.topbar,.filters-bar,footer,.table-pagination,button,.btn,.no-print,.sticky-actions-col{display:none!important}.app-container{display:block!important}.main-content{width:100%!important;margin-left:0!important;padding:0!important;display:block!important}.content-body{gap:0!important;padding:0!important;display:block!important}.table-card{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.table-container{overflow:visible!important}.custom-table{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-collapse:collapse!important;color:#000!important;background-color:#fff!important;width:100%!important;font-size:10px!important}.custom-table th,.custom-table td{color:#000!important;word-break:break-word!important;background-color:#fff!important;border:1px solid #cbd5e1!important;padding:6px!important;font-size:10px!important}.custom-table th:last-child,.custom-table td:last-child{display:none!important}.badge{color:#000!important;white-space:nowrap!important;background-color:#f1f5f9!important;border:1px solid #cbd5e1!important;border-radius:4px!important;padding:2px 4px!important;font-size:9px!important}.print-only-header{border-bottom:2px solid #0f172a!important;margin-bottom:24px!important;padding-bottom:8px!important;display:block!important}.print-only-header h1{color:#000!important;text-align:left!important;margin:0!important;font-size:24px!important}.print-only-header .print-meta{color:#475569!important;justify-content:space-between!important;margin-top:4px!important;font-size:12px!important;display:flex!important}}@media screen{.print-only-header{display:none!important}}.sticky-checkbox-col{z-index:50;left:0;background-color:#fff!important;position:sticky!important}th.sticky-checkbox-col{z-index:51;background-color:#f8fafc!important}.custom-table tr:hover td.sticky-checkbox-col{background-color:#f8fafc!important}.sticky-actions-col{z-index:50;left:40px;border-right:2px solid var(--border)!important;position:sticky!important;box-shadow:4px 0 8px -3px #00000014!important}th.sticky-actions-col{z-index:51;border-right:2px solid var(--border)!important;background-color:#f1f5f9!important}td.sticky-actions-col{background-color:#f8fafc!important}.custom-table tr:hover td.sticky-actions-col{background-color:#e2e8f0!important}.app-container{background-color:var(--bg-app);min-height:100vh;display:flex}.sidebar{background-color:var(--bg-card);border-right:1px solid var(--border);z-index:100;width:260px;height:100vh;transition:var(--transition);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;height:70px;padding:0 24px;display:flex}.sidebar-logo{color:var(--primary);align-items:center;display:flex}.brand-text{color:var(--text-main);letter-spacing:-.5px;font-size:18px;font-weight:700}.sidebar-menu{flex-direction:column;flex:1;gap:6px;padding:24px 16px;display:flex;overflow-y:auto}.menu-item{color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:12px;padding:12px 16px;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{color:var(--primary);background-color:var(--primary-light)}.menu-item.active{color:var(--primary);background-color:var(--primary-light);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:20px}.user-profile{align-items:center;gap:12px;margin-bottom:16px;display:flex}.user-avatar{background-color:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex;overflow:hidden}.user-email{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.main-content{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:260px;display:flex}.topbar{background-color:var(--bg-card);border-bottom:1px solid var(--border);z-index:90;justify-content:space-between;align-items:center;height:70px;padding:0 32px;display:flex;position:sticky;top:0}.page-title{color:var(--text-main);font-size:20px;font-weight:700}.topbar-actions{align-items:center;gap:16px;display:flex}.code-display{border-radius:var(--radius-sm);color:var(--text-muted);background-color:#f1f5f9;align-items:center;gap:8px;padding:6px 12px;font-family:monospace;font-weight:600;display:inline-flex}.content-body{flex-direction:column;flex:1;gap:24px;min-width:0;padding:32px;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.metric-card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition);justify-content:space-between;align-items:center;padding:24px;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-details{flex-direction:column;gap:4px;display:flex}.metric-title{color:var(--text-muted);font-size:13px;font-weight:500}.metric-value{color:var(--text-main);font-size:26px;font-weight:700;line-height:1}.metric-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.chart-card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-title{color:var(--text-main);font-size:16px;font-weight:600}.table-card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.table-container{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background-color:#f8fafc;padding:14px 24px;font-size:12px;font-weight:600}.custom-table td{border-bottom:1px solid var(--border);color:var(--text-main);vertical-align:middle;padding:16px 24px}.custom-table tbody tr:last-child td{border-bottom:none}.custom-table tbody tr:hover{background-color:#f8fafc}.table-image{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);cursor:pointer;background-color:#f1f5f9;width:44px;height:44px}.filters-bar{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:16px;padding:20px 24px;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a66;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:600px;margin-top:auto;margin-bottom:auto;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:var(--text-main);font-size:18px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;display:flex}.modal-close:hover{color:var(--text-main)}.modal-body{flex:1;padding:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-full{grid-column:span 2}.auth-container{background-color:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;gap:24px;width:100%;max-width:440px;padding:40px;animation:.4s ease-out fadeIn;display:flex}.auth-header{text-align:center;flex-direction:column;gap:8px;display:flex}.auth-logo{color:var(--primary);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.auth-title{color:var(--text-main);font-size:24px;font-weight:700}.auth-subtitle{color:var(--text-muted)}.auth-footer{text-align:center;color:var(--text-muted);font-size:13px}.auth-link{color:var(--primary);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.dashboard-summary-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.ocr-selection-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.scanner-layout-grid{grid-template-columns:1fr 2fr;align-items:start;gap:24px;display:grid}.image-bill-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.custom-table th,.custom-table td{white-space:nowrap}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0}.modal-overlay{padding:10px!important}.modal-content{max-height:90vh;overflow-y:auto;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;width:100%!important;max-width:100%!important;margin:auto 0 0!important}.filters-bar{grid-template-columns:1fr!important;gap:12px!important;padding:16px!important}.filters-bar>*{width:100%!important}.scanner-layout-grid{grid-template-columns:1fr!important;gap:16px!important}.form-grid{grid-template-columns:1fr!important}.form-full{grid-column:span 1!important}.image-bill-row{grid-template-columns:1fr!important}.content-body{gap:16px!important;padding:16px!important}}@media (width<=480px){.page-title{font-size:16px!important}.topbar{gap:8px!important;padding:0 16px!important}.topbar-actions{gap:8px!important}.code-display{padding:4px 8px!important;font-size:11px!important}.code-display select{font-size:11px!important}.dashboard-summary-grid{grid-template-columns:1fr!important;gap:16px!important}}.page-header{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.page-header-actions{align-items:center;gap:12px;display:flex}.scanner-items-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-header-actions{justify-content:flex-end;width:100%}.page-header-actions>button,.page-header-actions>a,.page-header-actions>div{width:100%!important}.card,.chart-card,.metric-card{padding:16px!important}.scanner-preview-img{max-height:250px!important}.scanner-items-grid{grid-template-columns:1fr!important;gap:12px!important}.scanner-items-grid>div{grid-column:span 1!important}.mobile-toggle-btn,.mobile-close-btn{justify-content:center;align-items:center;min-width:40px;min-height:40px;margin:-8px!important;padding:8px!important;display:inline-flex!important}}@media (width<=600px){.role-badge{display:none!important}}@media (width<=480px){.auth-card{gap:16px!important;padding:24px!important}}.desktop-only-view{display:block}.mobile-only-view{display:none!important}@media (width<=768px){.desktop-only-view{display:none!important}.mobile-only-view{display:block!important}}.responsive-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:10px 0;display:grid}@media (width<=480px){.responsive-card-grid{grid-template-columns:1fr;gap:16px}}.list-card{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-md,8px);transition:transform var(--transition,.2s), box-shadow var(--transition,.2s);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000005}.list-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.list-card-header{border-bottom:1px solid var(--border,#e2e8f0);background-color:var(--bg-app,#f8fafc);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.list-card-title{color:var(--text-main,#1e293b);word-break:break-word;font-size:15px;font-weight:700}.list-card-body{flex-direction:column;flex-grow:1;gap:10px;padding:16px;display:flex}.list-card-row{border-bottom:1px dashed #e2e8f099;justify-content:space-between;align-items:center;gap:16px;padding:4px 0;display:flex}.list-card-row:last-child{border-bottom:none}.list-card-label{color:var(--text-muted,#64748b);flex-shrink:0;font-size:13px;font-weight:500}.list-card-value{color:var(--text-main,#1e293b);text-align:right;word-break:break-word;font-size:13px;font-weight:600}.list-card-actions{background-color:var(--bg-app,#f8fafc);border-top:1px solid var(--border,#e2e8f0);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.list-card-actions button{border-radius:var(--radius-sm,6px)!important;justify-content:center!important;align-items:center!important;gap:0!important;min-width:36px!important;height:36px!important;padding:0!important;display:inline-flex!important}.list-card-actions button span{display:none!important}@media (width<=768px){.filters-collapsed-mobile{display:none!important}}
