:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-50:#ecfdf5;--success-100:#d1fae5;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--info-50:#f0f9ff;--info-500:#0ea5e9;--sidebar-bg:#0f172a;--sidebar-hover:#1e293b;--sidebar-active:#1e3a8a;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-width:260px;--header-height:64px;--content-bg:#f1f5f9;--card-bg:#fff;--mobile-nav-height:64px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-xs:.75rem;--font-sm:.8125rem;--font-base:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--border-color:#e2e8f0;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000d;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-sidebar:40;--z-header:30;--z-overlay:50;--z-modal:60;--z-toast:70;--z-mobile-nav:35}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-base);color:var(--gray-800);background:var(--content-bg);line-height:1.6;overflow-x:hidden}a{color:var(--primary-600);text-decoration:none}a:hover{color:var(--primary-700)}img{max-width:100%;height:auto}input,select,textarea,button{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{color:var(--gray-900);font-weight:600;line-height:1.3}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl)}h3{font-size:var(--font-xl)}h4{font-size:var(--font-lg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.app-layout{min-height:100vh;display:flex}.app-main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);flex-direction:column;flex:1;display:flex}.app-content{padding:var(--space-6);margin-top:var(--header-height);flex:1;width:100%;max-width:1400px;margin-left:auto;margin-right:auto}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);z-index:var(--z-sidebar);transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{padding:var(--space-5) var(--space-5);align-items:center;gap:var(--space-3);min-height:var(--header-height);border-bottom:1px solid #ffffff0f;display:flex}.sidebar-brand img{border-radius:var(--radius-md);object-fit:contain;width:36px;height:36px}.sidebar-brand h1{font-size:var(--font-lg);color:var(--sidebar-text-active);letter-spacing:-.02em;font-weight:700}.sidebar-nav{padding:var(--space-3) var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex}.sidebar-section-label{font-size:var(--font-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-3) var(--space-2);font-weight:600}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.nav-item.active{background:var(--primary-600);color:var(--sidebar-text-active);box-shadow:0 2px 8px #3b82f64d}.nav-item svg{flex-shrink:0;width:20px;height:20px}.header{height:var(--header-height);background:var(--card-bg);border-bottom:1px solid var(--border-color);padding:0 var(--space-6);top:0;right:0;left:var(--sidebar-width);z-index:var(--z-header);transition:left var(--transition-base);justify-content:space-between;align-items:center;display:flex;position:fixed}.header-left{align-items:center;gap:var(--space-3);display:flex}.header-title{font-size:var(--font-lg);font-weight:600}.header-right{align-items:center;gap:var(--space-4);display:flex}.header-menu-btn{color:var(--gray-600);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;display:none}.header-menu-btn:hover{background:var(--gray-100)}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--gray-100);cursor:pointer;transition:background var(--transition-fast);border:none;display:flex}.user-menu-trigger:hover{background:var(--gray-200)}.user-avatar{border-radius:var(--radius-full);background:var(--primary-500);color:#fff;width:32px;height:32px;font-weight:600;font-size:var(--font-sm);justify-content:center;align-items:center;display:flex}.user-menu-dropdown{background:var(--card-bg);border-radius:var(--radius-lg);width:220px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);padding:var(--space-2);z-index:var(--z-modal);animation:slideDown var(--transition-fast) ease-out;position:absolute;top:calc(100% + 8px);right:0}.user-menu-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--gray-700);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.user-menu-item:hover{background:var(--gray-100)}.user-menu-item.danger{color:var(--danger-600)}.user-menu-item.danger:hover{background:var(--danger-50)}.card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-xs);overflow:hidden}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-title{font-size:var(--font-md);font-weight:600}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-color);box-shadow:var(--shadow-xs);align-items:flex-start;gap:var(--space-4);transition:transform var(--transition-fast), box-shadow var(--transition-fast);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.blue{background:var(--primary-100);color:var(--primary-600)}.stat-icon.green{background:var(--success-100);color:var(--success-600)}.stat-icon.amber{background:var(--warning-100);color:var(--warning-600)}.stat-icon.red{background:var(--danger-100);color:var(--danger-600)}.stat-icon.info{background:var(--info-50);color:var(--info-500)}.stat-info{flex:1;min-width:0}.stat-label{font-size:var(--font-sm);color:var(--gray-500);margin-bottom:var(--space-1);font-weight:500}.stat-value{font-size:var(--font-2xl);color:var(--gray-900);font-weight:700;line-height:1.2}.stat-change{font-size:var(--font-xs);margin-top:var(--space-1);font-weight:500}.stat-change.positive{color:var(--success-600)}.stat-change.negative{color:var(--danger-600)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;line-height:1.5;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-primary:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700)}.btn-secondary{background:var(--card-bg);color:var(--gray-700);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.btn-success{background:var(--success-600);color:#fff;border-color:var(--success-600)}.btn-success:hover:not(:disabled){background:var(--success-700)}.btn-danger{background:var(--danger-600);color:#fff;border-color:var(--danger-600)}.btn-danger:hover:not(:disabled){background:var(--danger-700)}.btn-ghost{color:var(--gray-600);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-md)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md)}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--font-sm);color:var(--gray-700);margin-bottom:var(--space-1);font-weight:500;display:block}.form-label .required{color:var(--danger-500);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--gray-800);background:var(--card-bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;line-height:1.5}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.form-input.error,.form-select.error{border-color:var(--danger-500)}.form-input:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:var(--font-xs);color:var(--danger-600);margin-top:var(--space-1)}.form-hint{font-size:var(--font-xs);color:var(--gray-500);margin-top:var(--space-1)}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-check{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.form-dense .form-row{gap:var(--space-3);margin-bottom:var(--space-3)}.form-dense .form-group{margin-bottom:var(--space-3)}.form-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-600);cursor:pointer}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--border-color);white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-sm);color:var(--gray-700);border-bottom:1px solid var(--border-color);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--gray-50)}.table-actions{align-items:center;gap:var(--space-1);display:flex}.table-select{font-size:var(--font-xs);border-radius:var(--radius-full);border:1px solid var(--border-color);background-color:var(--gray-50);color:var(--gray-700);cursor:pointer;appearance:none;transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding:4px 28px 4px 12px;font-weight:500}.table-select:focus{border-color:var(--primary-400);box-shadow:0 0 0 2px var(--primary-100);outline:none}.table-select:disabled{opacity:.8;cursor:default;background-color:#0000;background-image:none;border-color:#0000;padding-right:12px}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-xs);white-space:nowrap;align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-blue{background:var(--primary-100);color:var(--primary-700)}.badge-green{background:var(--success-100);color:var(--success-700)}.badge-amber{background:var(--warning-100);color:var(--warning-600)}.badge-red{background:var(--danger-100);color:var(--danger-700)}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-info{background:var(--info-50);color:var(--info-500)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--transition-fast) ease-out;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:90vh;animation:slideUp var(--transition-slow) ease-out;flex-direction:column;display:flex;overflow:hidden}.modal-lg{max-width:720px}.modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-lg)}.modal-body{padding:var(--space-6);flex:1;overflow-y:auto}.modal-body.dense{padding:var(--space-4) var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);justify-content:flex-end;gap:var(--space-3);display:flex}.search-bar{max-width:400px;position:relative}.search-bar svg{left:var(--space-3);color:var(--gray-400);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;transform:translateY(-50%)}.search-bar input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-10);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--card-bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.search-bar input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--font-2xl)}.page-header-actions{align-items:center;gap:var(--space-3);display:flex}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filter-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--card-bg);font-size:var(--font-xs);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.filter-chip:hover{border-color:var(--primary-300);color:var(--primary-600)}.filter-chip.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--gray-500)}.empty-state svg{width:64px;height:64px;color:var(--gray-300);margin-bottom:var(--space-4)}.empty-state h3{color:var(--gray-700);margin-bottom:var(--space-2)}.empty-state p{color:var(--gray-500);margin-bottom:var(--space-4);max-width:400px;margin-left:auto;margin-right:auto}.loading-spinner{padding:var(--space-12);justify-content:center;align-items:center;display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:20px;height:20px}.toast-container{top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideDown var(--transition-slow) ease-out;min-width:300px;max-width:450px;display:flex}.toast.success{border-left:4px solid var(--success-500)}.toast.error{border-left:4px solid var(--danger-500)}.toast.warning{border-left:4px solid var(--warning-500)}.toast.info{border-left:4px solid var(--primary-500)}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.login-page{background:linear-gradient(135deg, var(--gray-900) 0%, var(--primary-900) 50%, var(--gray-900) 100%);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:420px;box-shadow:var(--shadow-xl)}.login-card .logo-section{text-align:center;margin-bottom:var(--space-8)}.login-card .logo-section img{width:64px;height:64px;margin-bottom:var(--space-3);border-radius:var(--radius-lg)}.login-card .logo-section h1{font-size:var(--font-2xl);margin-bottom:var(--space-1)}.login-card .logo-section p{color:var(--gray-500);font-size:var(--font-sm)}.login-card .btn{width:100%;margin-top:var(--space-2)}.tabs{border-bottom:2px solid var(--border-color);margin-bottom:var(--space-4);gap:var(--space-1);display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-4);font-size:var(--font-sm);color:var(--gray-500);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-weight:500}.tab:hover{color:var(--gray-700)}.tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.photo-upload{border:2px dashed var(--border-color);border-radius:var(--radius-lg);cursor:pointer;width:120px;height:120px;transition:border-color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-upload:hover{border-color:var(--primary-400)}.photo-upload img{object-fit:cover;width:100%;height:100%}.photo-upload .placeholder{align-items:center;gap:var(--space-1);color:var(--gray-400);font-size:var(--font-xs);flex-direction:column;display:flex}.photo-upload input{display:none}.photo-upload .remove-photo{background:var(--danger-600);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.confirm-actions{gap:var(--space-3);margin-top:var(--space-4);justify-content:flex-end;display:flex}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.toolbar-right{align-items:center;gap:var(--space-2);display:flex}.mobile-nav{height:var(--mobile-nav-height);background:var(--card-bg);border-top:1px solid var(--border-color);z-index:var(--z-mobile-nav);padding:0 var(--space-2);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-inner{justify-content:space-around;align-items:center;height:100%;display:flex}.mobile-nav-item{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--gray-500);transition:color var(--transition-fast);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.mobile-nav-item svg{width:22px;height:22px}.mobile-nav-item.active{color:var(--primary-600)}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 1);background:#00000080;display:none;position:fixed;inset:0}.bill-page-wrapper{background:var(--gray-50);min-height:100vh;padding-bottom:30px}.bill-preview-container{background:#f1f5f9;max-width:820px;margin:0 auto;padding:40px 20px}.bill-preview{color:#1e293b;box-sizing:border-box;background:#fff;border-radius:4px;flex-direction:column;width:210mm;min-height:297mm;margin:20px auto;padding:15mm 18mm;font-family:Inter,sans-serif;display:flex;position:relative;box-shadow:0 10px 40px #0000001a}.bill-top-badge{text-align:center;color:#fff;letter-spacing:3px;text-transform:uppercase;background:#1e3a8a;border:1px solid #1e3a8a;border-radius:4px;width:fit-content;margin:0 auto 25px;padding:6px 30px;font-size:13px;font-weight:800;display:block}.bill-header-grid{border-bottom:2px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:30px;padding-bottom:25px;display:flex}.bill-shop-identity{flex:1}.bill-logo-container{align-items:center;gap:18px;margin-bottom:15px;display:flex}.bill-logo-container img{object-fit:contain;width:auto;max-width:110px;height:80px}.bill-brand-name h2,.bill-brand-name h3{color:#1e3a8a;text-transform:uppercase;letter-spacing:-.5px;margin:0;font-size:24px;font-weight:800;line-height:1.1}.bill-brand-name p{color:#64748b;margin:4px 0 0;font-size:13px;font-weight:600}.bill-shop-details{color:#475569;font-size:12px;line-height:1.6}.bill-shop-details p{margin:1px 0}.bill-meta-box{flex-direction:column;gap:12px;min-width:220px;padding-top:10px;display:flex}.bill-meta-row{border-bottom:1px dashed #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:8px;font-size:13px;display:flex}.bill-meta-row:last-child{border-bottom:none}.bill-meta-row strong{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.bill-meta-row span{color:#1e3a8a;font-size:14px;font-weight:800}.bill-parties-grid{grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px;display:grid}.bill-party-box{background:#fcfdfe;border:1px solid #f1f5f9;border-left:5px solid #1e3a8a;border-radius:10px;min-height:120px;padding:15px 18px}.bill-party-box h4{text-transform:uppercase;letter-spacing:1px;color:#1e3a8a;margin:0 0 10px;font-size:12px;font-weight:800}.bill-party-box .name{color:#0f172a;margin-bottom:6px;font-size:17px;font-weight:800}.bill-party-box .address{color:#475569;margin-bottom:8px;font-size:13px;line-height:1.5}.bill-party-box .phone{color:#1e293b;font-size:13px;font-weight:600}.bill-table{border-collapse:collapse;border:1px solid #e2e8f0;width:100%;margin-bottom:25px}.bill-table th{text-align:left;text-transform:uppercase;color:#fff;letter-spacing:.8px;background:#1e3a8a;padding:14px 12px;font-size:12px}.bill-table td{border-bottom:1px solid #f1f5f9;padding:12px;font-size:14px}.bill-table tr:last-child td{border-bottom:none}.bill-table .sno{text-align:center;color:#94a3b8;width:40px}.bill-table .hsn{text-align:center;width:100px}.bill-table .qty{text-align:center;width:60px;font-weight:600}.bill-table .rate{text-align:right;width:120px}.bill-table .amount{text-align:right;border-left:1px solid #f1f5f9;width:140px;font-weight:800}.bill-summary-grid{grid-template-columns:1fr 320px;gap:30px;margin-bottom:30px;display:grid}.bill-amount-words{color:#64748b;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;padding:18px;font-size:13px;line-height:1.6}.bill-amount-words strong{color:#1e3a8a;text-transform:capitalize}.bill-totals-box{flex-direction:column;gap:10px;display:flex}.bill-total-row{justify-content:space-between;font-size:15px;display:flex}.bill-total-row span:last-child{font-weight:700}.bill-total-row.grand-total{color:#1e3a8a;border-top:3px solid #1e3a8a;margin-top:8px;padding:15px 0 0;font-size:20px;font-weight:800}.bill-bottom-flex{border-top:1.5px solid #1e3a8a;grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;margin-top:auto;padding-top:30px;display:grid}.bill-bank-details h5{text-transform:uppercase;color:#1e3a8a;margin:0 0 10px;font-size:12px;font-weight:800}.bill-bank-details p{color:#1e293b;margin:4px 0;font-size:13px}.bill-qr-section{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.bill-qr-code{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100px;height:100px;padding:8px}.bill-qr-label{color:#1e3a8a;letter-spacing:.5px;font-size:11px;font-weight:800}.bill-signature-section{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.bill-signature-section img{object-fit:contain;width:auto;max-width:180px;height:65px;margin-bottom:8px}.bill-sign-label{color:#1e3a8a;border-top:2px solid #1e3a8a;padding-top:6px;font-size:13px;font-weight:700;display:inline-block}.bill-terms{color:#64748b;border-top:1px solid #f1f5f9;margin-top:30px;padding-top:20px;font-size:11px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-stat-col{border-right:1px solid var(--gray-100)}@media (width<=768px){.dashboard-stat-col{border-right:none;border-bottom:1px solid var(--gray-100)}}.spinning{animation:.8s linear infinite spin}@media (width<=1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{display:block}.app-main{margin-left:0}.header{left:0}.header-menu-btn{display:flex}.app-content{padding:var(--space-4);padding-bottom:calc(var(--mobile-nav-height) + var(--space-6))}.mobile-nav{display:block}.page-header{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column}.page-header h1{font-size:var(--font-xl)}.page-header-actions{gap:var(--space-2);width:100%;display:flex}.page-header-actions .btn{flex:1;justify-content:center}.grid-2,.grid-3{gap:var(--space-4);grid-template-columns:1fr!important}.form-row{grid-template-columns:1fr!important}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.responsive-table tr{margin-bottom:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);display:block;overflow:hidden}.responsive-table th{display:none}.responsive-table td{border-bottom:1px solid var(--gray-100);padding:var(--space-3) var(--space-4);text-align:right;justify-content:space-between;align-items:center;display:flex}.responsive-table td:last-child{border-bottom:none}.responsive-table td:before{content:attr(data-label);text-align:left;color:var(--gray-500);font-weight:600;font-size:var(--font-xs);text-transform:uppercase}.table-actions{justify-content:flex-end}.toolbar{align-items:stretch;gap:var(--space-3);flex-direction:column}.toolbar-left{flex-direction:column;width:100%}.search-bar{width:100%;max-width:100%}.login-card{padding:var(--space-6);width:90%}.modal{margin:var(--space-4);width:calc(100% - 32px);max-height:calc(100vh - 32px)}.stat-card{padding:var(--space-3) var(--space-4)}.stat-icon{width:36px;height:36px}.stat-icon svg{width:18px;height:18px}.stat-value{font-size:var(--font-lg)}.card-footer{padding:var(--space-4);align-items:stretch!important}.card-footer>div{width:100%!important}.bill-preview-container{padding:var(--space-2);justify-content:flex-start;overflow-x:auto}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.data-table{font-size:var(--font-xs)}.data-table th,.data-table td,.btn{padding:var(--space-2) var(--space-3)}.modal-body{padding:var(--space-4)}.modal-body.dense{padding:var(--space-3) var(--space-4)}.form-dense .form-row{gap:var(--space-2);margin-bottom:var(--space-2)}.form-dense .form-group{margin-bottom:var(--space-2)}}@media print{.sidebar,.header,.mobile-nav,.no-print,.btn,.page-header{display:none!important}.app-main{margin-left:0!important}.app-content{margin-top:0!important;padding:0!important}.card{box-shadow:none!important;border:none!important}.bill-page-wrapper{background:#fff!important;padding:0!important}.bill-preview-container{background:#fff!important;max-width:none!important;padding:0!important}.bill-preview{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;height:297mm;box-shadow:none!important;margin:0!important;padding:0!important}body{background:#fff!important}}
