:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--accent-color: #8b5cf6;--secondary-color: #f3f4f6;--text-color: #111827;--light-text: #4b5563;--border-color: #e5e7eb;--card-bg:rgb(255, 255, 255);--sidebar-bg: #f3f4f6;--sidebar-text: #111827;--light-gray: #f9fafb;--dark-bg: #1f2937;--dark-card: #374151;--dark-text: #f9fafb;--status-completed: #10b981;--status-in-progress: #f59e0b;--status-pending: #ef4444;--bg-color: #f9fafb;--preview-bg: #ffffff;--preview-text: #111827;--card-shadow: 0 4px 6px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .1);--transition-speed: .2s}body.dark-mode{--card-bg: #1e2130;--text-color: #f9fafb;--light-text: #d1d5db;--secondary-color:rgba(26, 26, 27, .14);--border-color: rgba(19, 18, 18, .637);--sidebar-bg: #111827;--sidebar-text: #f9fafb;--bg-color: #111827;--preview-bg: #1e2130;--preview-text: #f9fafb;--card-shadow: 0 4px 6px rgba(0, 0, 0, .2), 0 1px 3px rgba(0, 0, 0, .15)}*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,sans-serif}body{background-color:var(--bg-color);color:var(--text-color);line-height:1.6;transition:background-color .3s,color .3s}.container{max-width:1200px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.logo{font-size:24px;font-weight:700;color:var(--primary-color);dissplay:flex;align-items:center;margin-bottom:0;transition:color var(--transition-speed) ease}.logo img{max-height:40px;margin-right:10px}.logo:hover{filter:none;color:var(--accent-color)}.logo.react:hover{filter:none}.user-actions{display:flex;gap:10px}.btn{background-color:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:24px;cursor:pointer;font-size:14px;transition:all var(--transition-speed);box-shadow:0 2px 4px #0000001a}.btn:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.btn-secondary{background-color:var(--secondary-color);color:var(--text-color);border-radius:24px}.btn-secondary:hover{background-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-icon{background:none;border:none;font-size:18px;cursor:pointer;color:var(--accent-color);transition:all var(--transition-speed)}.btn-icon:hover{transform:scale(1.1)}.grid{display:grid;grid-template-columns:1fr;gap:25px}@media (min-width: 768px){.grid{grid-template-columns:1fr 1fr;gap:30px}}.card{background-color:var(--card-bg);border-radius:18px;box-shadow:var(--card-shadow);padding:25px;margin-bottom:25px;transition:box-shadow var(--transition-speed),transform var(--transition-speed)}.card:hover{box-shadow:0 10px 15px #00000012;transform:translateY(-2px)}.card-title{font-size:18px;margin-bottom:15px;color:var(--primary-color);display:flex;align-items:center;gap:8px}.form-group{margin-bottom:18px}label{display:block;margin-bottom:8px;font-weight:700}input,textarea,select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:10px;font-size:16px;background-color:var(--card-bg);color:var(--text-color)}textarea{resize:vertical;min-height:100px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #e07fa91a}table{width:100%;border-collapse:collapse;margin-bottom:15px}table th{background-color:var(--secondary-color);color:var(--text-color);font-weight:700;padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.service-items-table .main-service-row{background-color:#f5f5f5}.service-items-table .sub-service-row{background-color:#fff}.service-items-table .add-sub-service-row{background-color:#f9f9f9}.service-items-table .main-service-name{background-color:transparent}body.dark-mode .service-items-table .main-service-row{background-color:var(--secondary-color);color:var(--text-color)}body.dark-mode .service-items-table .sub-service-row{background-color:var(--card-bg);color:var(--text-color)}body.dark-mode .service-items-table .add-sub-service-row{background-color:var(--secondary-color);color:var(--text-color)}body.dark-mode .service-items-table .main-service-name{background-color:transparent;color:var(--text-color)}body.dark-mode .service-items-table input,body.dark-mode .service-items-table textarea{background-color:var(--card-bg);color:var(--text-color);border-color:var(--border-color)}body.dark-mode tr.main-service-row td{background-color:var(--secondary-color)!important;color:var(--text-color)}body.dark-mode tr.sub-service-row td{background-color:var(--card-bg)!important;color:var(--text-color)}body.dark-mode .add-sub-service-row td{background-color:var(--secondary-color)!important;color:var(--text-color)}.item-row td{border-bottom:none;vertical-align:top}.nested-row td{padding-left:20px;font-size:.9em;color:var(--text-color);border-bottom:1px dashed var(--border-color)}.invoice-items-table{margin-bottom:20px;overflow-x:auto}.invoice-items-table input,.invoice-items-table textarea{min-height:auto;padding:8px}.invoice-items-table .item-description{min-height:60px}.text-right{text-align:right}.actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.invoice-preview{background:var(--preview-bg);position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;overflow:auto;padding:40px;color:var(--preview-text)}.preview-container{max-width:800px;margin:0 auto;background:var(--preview-bg);padding:40px;border-radius:18px;box-shadow:var(--card-shadow)}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;border-bottom:1px solid var(--border-color);padding-bottom:20px}.preview-logo{max-width:180px;max-height:90px;object-fit:contain}.preview-title{text-align:center;font-size:28px;margin-bottom:20px;color:var(--primary-color);font-weight:700}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}.preview-details h3{color:var(--primary-color);margin-bottom:12px;font-size:18px;font-weight:700}.preview-details p{margin-bottom:8px;line-height:1.5;color:var(--preview-text)}.preview-items{margin:30px 0}.preview-items h3{color:var(--primary-color);margin-bottom:15px;font-size:18px;font-weight:700}.preview-items table{width:100%;border-collapse:collapse;margin-bottom:15px}.preview-items table th{background-color:var(--card-bg);color:var(--preview-text);font-weight:700;padding:12px;text-align:left;border-bottom:2px solid var(--border-color)}.preview-items table tr td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--preview-text);background-color:var(--preview-bg)}.preview-items table tr.nested-row td{padding-left:20px;font-size:1em;color:var(--preview-text);border-bottom:1px solid var(--border-color);background-color:var(--preview-bg)}body.dark-mode .service-table th,body.dark-mode .service-table td{background-color:var(--dark-card);color:var(--dark-text);border-bottom-color:var(--border-color)}.service-table tr.indented td{background-color:var(--card-bg);padding-left:20px}body.dark-mode .service-table tr.indented td{background-color:var(--dark-card);color:var (--dark-text);border-bottom-color:var(--border-color)}body.dark-mode .main-service-row td{background-color:var(--dark-card)!important;color:var(--dark-text)}body.dark-mode .main-service-row input{background-color:var(--secondary-color)!important;color:var(--dark-text)}body.dark-mode tr.sub-service-row td{background-color:var(--dark-card)!important;color:var(--dark-text)}body.dark-mode .add-sub-service-row td{background-color:var(--secondary-color)!important;color:var(--dark-text)}body.dark-mode .preview-items table tr td,body.dark-mode .preview-items table tr.nested-row td{background-color:var(--dark-card);color:var(--dark-text)}body.dark-mode .invoice-preview{background:var(--dark-bg)}body.dark-mode .preview-container{background:var(--dark-card);color:var(--dark-text)}body.dark-mode .preview-header{border-bottom-color:var(--border-color)}body.dark-mode .preview-items h3,body.dark-mode .preview-details h3,body.dark-mode .preview-totals td,body.dark-mode .preview-notes h3{color:var(--light-text)}body.dark-mode .preview-notes p{color:var(--dark-text)}@media print{.a4-preview-container{width:100%;height:100%;box-shadow:none;padding:0}.actions{display:none}}.a4-preview-container{width:210mm;min-height:297mm;padding:20mm;background-color:#fff;margin:0 auto;box-shadow:0 0 10px #0000001a;position:relative;font-family:Arial,sans-serif;box-sizing:border-box;color:#333}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.company-info{display:flex;flex-direction:column}.preview-logo{max-width:120px;height:auto;object-fit:contain}.company-name-header h1{font-size:24px;color:var(--primary-color);margin-top:10px}.invoice-title h2{font-size:28px;color:var(--primary-color);border:2px solid var(--primary-color);padding:10px 20px;border-radius:5px}.details-section{display:flex;justify-content:space-between;margin-bottom:30px}.bill-to-section{margin-bottom:20px}.bill-to-section h3{color:var(--primary-color);margin-bottom:10px;font-size:16px}.customer-info{display:flex;flex-wrap:wrap}.info-row{margin-bottom:5px}.full-width{width:100%}.half-width{width:50%}.invoice-summary{margin-bottom:20px}.rate-info{display:flex;gap:30px}.service-table{margin-bottom:20px}.service-table table{width:100%;border-collapse:collapse}.service-table th{background-color:var(--secondary-color);padding:10px;text-align:left;font-weight:700}.service-table td{padding:10px;border-bottom:1px solid var(--border-color);background-color:var(--card-bg)}.service-table .indented{padding-left:20px}.totals-section{margin-top:20px;margin-left:auto;width:50%}.totals-section table{width:100%}.totals-section td{padding:8px 0}.grand-total{font-weight:700;color:var(--primary-color);border-top:2px solid var(--border-color);font-size:16px}.bank-details{margin-top:30px;margin-bottom:20px;border-top:1px solid var(--border-color);padding-top:20px}.bank-details h3{color:var(--primary-color);margin-bottom:10px;font-size:16px}.account-info{display:flex;flex-wrap:wrap}.invoice-footer{margin-top:40px;text-align:center;font-style:italic;color:var(--light-text)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.shake{animation:shake .5s}.auth-status{display:inline-flex;align-items:center;margin-right:10px;font-size:14px}.auth-status .status-dot{width:8px;height:8px;border-radius:50%;background-color:#4caf50;margin-right:6px}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.not-found h1{font-size:6rem;color:var(--primary-color);margin-bottom:1rem}.not-found p{font-size:1.5rem;margin-bottom:2rem}.not-found .btn{font-size:1rem}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.read-the-docs{color:#888}.notification-display{position:fixed;bottom:20px;right:20px;z-index:10000;max-width:80%}.notification-content{padding:15px 20px;border-radius:5px;box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:space-between;animation:slide-in .3s ease-out;color:#fff}.notification-content.error{background-color:var(--status-pending)}.notification-content.success{background-color:var(--status-completed)}.notification-content.warning{background-color:var(--status-in-progress)}.notification-content.info{background-color:var(--primary-color)}.notification-message{margin-right:20px}.notification-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-display{position:fixed;bottom:20px;right:20px;z-index:10000;max-width:80%}.error-content{background-color:var(--status-pending);color:#fff;padding:15px 20px;border-radius:5px;box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:space-between;animation:slide-in .3s ease-out}.error-message{margin-right:20px}.error-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.debug-container,.diagnostic-container,.demo-container{max-width:800px;margin:0 auto;padding:20px}.debug-title,.diagnostic-title,.demo-title{color:var(--primary-color);margin-bottom:20px;text-align:center}.card-nav{display:flex;gap:10px;margin-bottom:20px}.test-section{margin-bottom:20px}.test-section h3{margin-bottom:10px;color:var(--primary-color)}.success{color:#4caf50}.error{color:#f44336}.test-result{margin-bottom:5px}pre{background-color:var(--light-gray);padding:15px;border-radius:5px;overflow:auto;max-height:200px;font-family:monospace;margin-top:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.modal-content{background-color:var(--card-bg);border-radius:18px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:scaleIn .2s ease-out;z-index:2100}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--primary-color)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-color)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--border-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.dashboard-container{display:grid;grid-template-areas:"sidebar topbar" "sidebar main";grid-template-columns:250px 1fr;grid-template-rows:auto 1fr;height:100vh;overflow:hidden;background-color:var(--bg-color)}body.dark-mode .dashboard-container{background-color:var(--dark-bg)}.dashboard-sidebar{grid-area:sidebar;background-color:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;height:100%;overflow-y:auto;box-shadow:var(--card-shadow);border-radius:18px}.dashboard-main{grid-area:main;padding:20px 25px;overflow-y:auto;background-color:var(--bg-color);transition:background-color var(--transition-speed);border-radius:0 18px 18px 0}.dashboard-topbar{grid-area:topbar;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);height:80px;padding:0 25px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.company-logo-container{height:80px;padding:0 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-color);box-sizing:border-box}.main-company-logo{width:32px;height:32px;border-radius:4px}.company-list{flex:1;padding:10px;overflow-y:auto}.company-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:40px;cursor:pointer;transition:all var(--transition-speed);color:var(--sidebar-text);opacity:.8}.company-item:hover{background-color:#7a71711a;opacity:1}.company-item.active{background-color:var(--primary-color);opacity:1}.company-icon{width:24px;height:24px;border-radius:4px;object-fit:contain}.company-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:15px;border-top:1px solid var(--border-color)}.btn-logout{width:100%;padding:10px;background-color:#e53e3e;border:1px solid var(--border-color);color:#fff;border-radius:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-speed)}.btn-logout:hover{background-color:#c53030}body:not(.dark-mode) .btn-logout{background-color:#ffe86e}body.dark-mode .btn-logout{background-color:#a07c07;border-color:#a07c07;color:#fff}body.dark-mode .btn-logout:hover{background-color:#947612;border-color:#faf8f8}.btn-create.secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.btn-create.secondary:hover{background-color:#3b82f614;transform:translateY(-1px)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-controls{display:flex;gap:15px;align-items:center}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--light-text);pointer-events:none}.search-container input{padding:10px 10px 10px 35px;border:1px solid var(--border-color);border-radius:40px;background-color:var(--card-bg);color:var(--text-color);width:250px;transition:all var(--transition-speed)}.search-container input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.btn-create{background-color:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:24px;cursor:pointer;transition:all var(--transition-speed);display:flex;align-items:center;gap:5px}.btn-create:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.invoice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%}.dashboard-empty-state{grid-column:1 / -1;justify-self:center;margin:48px auto;max-width:600px}.invoice-card{background-color:var(--card-bg);border-radius:18px;padding:20px;box-shadow:var(--card-shadow);cursor:pointer;transition:all var(--transition-speed)}.invoice-card:hover{transform:translateY(-3px);box-shadow:0 10px 15px #0000001a}.invoice-card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.invoice-company-logo{width:40px;height:40px;border-radius:5px;object-fit:contain}.invoice-info{display:flex;flex-direction:column}.invoice-number{font-weight:700;color:var(--text-color)}.invoice-company{color:var(--light-text);font-size:.9em}.invoice-card-details{display:grid;grid-template-columns:1.4fr .6fr;gap:15px}.invoice-amount{grid-column:1 / -1;display:flex;align-items:baseline;gap:5px}.amount{font-size:1.5em;font-weight:700;color:var(--primary-color)}.currency{color:var(--light-text);font-size:.9em}.invoice-date,.invoice-status{display:flex;align-items:center;gap:5px}.label{color:var(--light-text);font-size:.9em}.value{color:var(--text-color);font-weight:500}.status{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.status.paid{background-color:#10b98126!important;color:#10b981!important}.status.pending{background-color:#f59e0b26!important;color:#d97706!important}.status.draft{background-color:#3b82f626!important;color:#3b82f6!important}.status.cancelled{background-color:#ef444426!important;color:#ef4444!important}.status.overdue{background-color:#ef444426!important;color:#b91c1c!important}.invoice-assignee-row{margin-top:15px;padding-top:12px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:10px}.assignee-label{font-size:.85rem;color:var(--light-text);font-weight:500}.assignee-select-container{position:relative;flex:1;max-width:150px}.assignee-select{width:100%;padding:6px 28px 6px 10px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-color);font-size:.85rem;font-weight:500;outline:none;cursor:pointer;transition:all var(--transition-speed);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}body.dark-mode .assignee-select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1d5db' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}.assignee-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.assignee-select:disabled{background-color:var(--secondary-color);cursor:not-allowed;opacity:.7}.no-invoices-message{grid-column:1 / -1;text-align:center;padding:50px;background-color:var(--card-bg);border-radius:18px;box-shadow:var(--card-shadow);color:var(--text-color)}.auth-status{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--status-completed)}.btn-clear-filter{margin-top:10px;background-color:var(--secondary-color);color:var(--text-color);border:none;padding:8px 16px;border-radius:15px;cursor:pointer;transition:all var(--transition-speed)}.btn-clear-filter:hover{background-color:var(--border-color)}.theme-switch-wrapper{display:flex;align-items:center;justify-content:center;margin-right:10px}.theme-switch{position:relative;display:inline-block;width:60px;height:30px}.theme-switch input{opacity:0;width:0;height:0}.theme-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e2e8f0;border-radius:30px;transition:.4s;display:flex;align-items:center;justify-content:space-between;padding:5px}.theme-switch .slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;border-radius:50%;transition:.4s;z-index:2;box-shadow:0 2px 5px #0003}.theme-switch .sun-icon,.theme-switch .moon-icon{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-color);z-index:1;transition:.4s}.theme-switch .sun-icon{color:#f59e0b}.theme-switch .moon-icon{color:#6366f1}input:checked+.slider{background-color:#1e293b}input:checked+.slider:before{transform:translate(30px)}input:not(:checked)+.slider .sun-icon{opacity:1}input:not(:checked)+.slider .moon-icon{opacity:.5}input:checked+.slider .sun-icon{opacity:.5}input:checked+.slider .moon-icon{opacity:1}.theme-switch:hover .slider:before{box-shadow:0 0 8px var(--primary-color)}body,.card,.dashboard-sidebar,.dashboard-topbar,input,select,textarea,button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.bin-container{padding:20px 0}.bin-header{display:flex;flex-direction:column;margin-bottom:20px}.bin-header h1{color:var(--primary-color);margin-bottom:10px}.bin-header p{color:var(--light-text);margin-bottom:20px}.empty-bin{background-color:var(--card-bg);border-radius:18px;padding:40px 20px;text-align:center;box-shadow:var(--card-shadow)}.empty-bin-icon{font-size:48px;margin-bottom:20px}.empty-bin h2{font-size:24px;color:var(--primary-color);margin-bottom:15px}.empty-bin p{color:var(--light-text);margin-bottom:25px}.bin-table{width:100%;border-collapse:collapse;margin-bottom:20px;background-color:var(--card-bg);border-radius:18px;box-shadow:var(--card-shadow);overflow:hidden}.bin-table th{background-color:var(--secondary-color);color:var(--text-color);text-align:left;padding:15px;font-weight:700}.bin-table td{padding:15px;border-bottom:1px solid var(--border-color)}.bin-action-btn{padding:8px 10px;font-size:13px;border-radius:24px}.btn-danger{background-color:#e53e3e;color:#fff}.btn-danger:hover{background-color:#c53030}.loading-state{text-align:center;padding:40px;color:var(--light-text)}.bin-badge{display:inline-flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:50%;height:20px;width:20px;font-size:12px;margin-left:8px}@keyframes shake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-5deg)}20%,40%,60%,80%{transform:rotate(5deg)}}.bin-icon{margin-right:6px;font-size:16px;animation:shake 1s ease both;animation-play-state:paused}.bin-link:hover .bin-icon{animation-play-state:running}.a4-preview-container{width:210mm;min-height:297mm;padding:20mm;background-color:#fff!important;margin:0 auto;box-shadow:0 0 10px #0000001a;position:relative;font-family:Arial,sans-serif;box-sizing:border-box;color:#333!important}.a4-preview-container *,.a4-preview-container .invoice-number p,.a4-preview-container .invoice-details p,.a4-preview-container .company-details p,.a4-preview-container .bill-to-section p,.a4-preview-container .invoice-footer p{color:#333!important}.a4-preview-container table th{background-color:#f3f4f6!important;color:#333!important;border-bottom:1px solid #e5e7eb!important}.a4-preview-container table td{background-color:#fff!important;color:#333!important;border-bottom:1px solid #e5e7eb!important}.a4-preview-container .main-service-row td,.a4-preview-container tr.main-service-row td{background-color:#f5f5f5!important;color:#333!important;border-bottom:1px solid #e5e7eb!important}.a4-preview-container .sub-service-row td,.a4-preview-container tr.sub-service-row td{background-color:#fff!important;color:#333!important;border-bottom:1px solid #e5e7eb!important}.a4-preview-container .service-description{color:#333!important}.a4-preview-container .amount-row td{background-color:#fff!important;color:#333!important}.a4-preview-container table tr td *{color:#333!important}body.dark-mode .a4-preview-container{background-color:#fff!important;color:#333!important}body.dark-mode .a4-preview-container .main-service-row,body.dark-mode .a4-preview-container .main-service-row td,body.dark-mode .a4-preview-container tr.main-service-row td{background-color:#f5f5f5!important;color:#333!important;border-color:#e5e7eb!important}body.dark-mode .a4-preview-container .sub-service-row,body.dark-mode .a4-preview-container .sub-service-row td,body.dark-mode .a4-preview-container tr.sub-service-row td{background-color:#fff!important;color:#333!important;border-color:#e5e7eb!important}body.dark-mode .a4-preview-container p,body.dark-mode .a4-preview-container h1,body.dark-mode .a4-preview-container h2,body.dark-mode .a4-preview-container h3,body.dark-mode .a4-preview-container td,body.dark-mode .a4-preview-container th,body.dark-mode .a4-preview-container strong,body.dark-mode .a4-preview-container .invoice-footer{color:#333!important}body.dark-mode .a4-preview-container th{background-color:#f3f4f6!important;color:#333!important}body.dark-mode .a4-preview-container td p,body.dark-mode .a4-preview-container .invoice-footer{color:#333!important}.dashboard-sidebar h2,.dashboard-sidebar h3,.dashboard-sidebar .sidebar-section-title{color:var(--light-text)}.dashboard-sidebar .sidebar-faded,.dashboard-sidebar .sidebar-disabled,.dashboard-sidebar .sidebar-placeholder{color:#b0b3b8}.dashboard-sidebar svg,.dashboard-sidebar .sidebar-icon{color:var(--light-text)}.company-item.active{background-color:var(--primary-color);color:#fff}.company-item:hover{color:var(--text-color)}.btn-logout{color:var(--sidebar-text)}body:not(.dark-mode) .dashboard-sidebar,body:not(.dark-mode) .dashboard-sidebar *{color:var(--sidebar-text)!important}body:not(.dark-mode) .dashboard-sidebar .company-item.active{color:#fff!important}body:not(.dark-mode) .dashboard-sidebar .company-item.active .company-name{color:#fff!important}body:not(.dark-mode) .dashboard-sidebar .company-item.active .sidebar-icon,body:not(.dark-mode) .dashboard-sidebar .company-item.active svg{color:#fff!important;fill:#fff!important}body:not(.dark-mode) .no-invoices-message .btn{color:#fff!important}@media (max-width: 900px){.dashboard-container{display:block;height:auto;min-height:100vh;overflow:visible}.dashboard-sidebar{position:fixed;top:0;left:0;width:80vw;max-width:320px;height:100vh;z-index:1200;background:var(--sidebar-bg);box-shadow:2px 0 16px #00000026;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;display:flex;flex-direction:column;padding-bottom:0;border-radius:0 18px 18px 0}.dashboard-sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:1100;animation:fadeIn .2s}.sidebar-toggle-btn{position:fixed;top:18px;left:18px;z-index:1300;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:8px 10px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px}.sidebar-close-btn{display:block;background:none;border:none;color:var(--primary-color);font-size:2rem;position:absolute;top:18px;right:18px;z-index:1400;cursor:pointer;background-color:transparent}.dashboard-topbar{padding-left:60px;min-height:60px}.dashboard-main{padding:16px 8px 32px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}.dashboard-controls{flex-wrap:wrap;gap:10px}.invoice-list{grid-template-columns:1fr;gap:14px}}@media (max-width: 600px){.dashboard-sidebar{width:95vw;max-width:100vw;border-radius:0 0 18px 18px}.dashboard-main{padding:8px 2px 24px}.dashboard-header h2{font-size:1.1rem}.company-logo-container{padding:12px 10px}.company-name{font-size:13px!important}.company-item{padding:8px 6px;font-size:13px}.sidebar-toggle-btn{top:10px;left:10px;font-size:20px;padding:6px 8px}.sidebar-close-btn{top:10px;right:10px;font-size:1.7rem}}@media (min-width: 901px){.sidebar-toggle-btn,.sidebar-close-btn,.sidebar-overlay{display:none!important}.dashboard-sidebar{position:relative;transform:none!important;width:250px;max-width:100%;height:100vh;z-index:1;box-shadow:var(--card-shadow);padding-bottom:0}}.sidebar-overlay{pointer-events:auto}@media (max-width: 700px){.invoice-form{padding:8px 2vw 24px!important;max-width:100vw;box-sizing:border-box}.invoice-form .form-section{padding:12px 0 18px;margin-bottom:18px;border-radius:8px;box-shadow:none}.invoice-form .section-title{font-size:1.1rem;margin-bottom:10px;padding-left:2px}.invoice-form .form-row{flex-direction:column!important;gap:0;margin-bottom:0}.invoice-form .form-group,.invoice-form .form-group.full-width{width:100%!important;min-width:0;margin-bottom:14px;padding-right:0}.invoice-form input,.invoice-form select,.invoice-form textarea{width:100%!important;font-size:1rem;padding:10px 12px;margin-bottom:0}.invoice-form label{font-size:.98rem;margin-bottom:4px}.invoice-form .radio-group{flex-direction:row;gap:12px;margin-bottom:8px}.invoice-form .totals table,.invoice-form .totals-section table{font-size:.98rem}.invoice-form .form-actions{flex-direction:column!important;gap:10px!important;align-items:stretch!important;margin-top:18px!important}.invoice-form .btn,.invoice-form button{width:100%;font-size:1rem;padding:12px 0;margin-bottom:0}.invoice-form .authorization-warning{font-size:.98rem;padding:8px 6px}}.dashboard-sidebar .company-list{scrollbar-width:thin;scrollbar-color:#c2c9d5 var(--sidebar-bg)}.dashboard-sidebar .company-list::-webkit-scrollbar-thumb{background:#c2c9d5}.dashboard-sidebar .company-list:hover::-webkit-scrollbar-thumb{background:#c2c9d5}body.dark-mode .dashboard-sidebar .company-list::-webkit-scrollbar-thumb{background:#c2c9d5}body.dark-mode .dashboard-sidebar .company-list:hover::-webkit-scrollbar-thumb{background:#c2c9d5}.modern-invoice-form{background:var(--card-bg);border-radius:18px;box-shadow:0 6px 32px #3b82f614;padding:32px 28px;font-family:Poppins,Inter,Arial,sans-serif;border:1px solid var(--border-color);max-width:820px;margin:32px auto}.invoice-card-section{margin-bottom:32px;background:var(--secondary-color);border-radius:14px;box-shadow:0 2px 12px #3b82f60a;padding:24px 20px;border:1px solid var(--border-color);transition:box-shadow .2s,background .2s}.invoice-card-section:focus-within,.invoice-card-section:hover{box-shadow:0 4px 24px #3b82f61a}body.dark-mode .invoice-card-section{background:var(--secondary-color)}.modern-invoice-form .section-title{font-size:22px;color:var(--primary-color);font-weight:700;letter-spacing:1px;margin-bottom:18px;border-left:4px solid var(--primary-color);padding-left:12px;background:none}.modern-invoice-form input,.modern-invoice-form select,.modern-invoice-form textarea{border-radius:8px;border:1.5px solid var(--border-color);background:var(--card-bg);font-size:1.05rem;transition:border-color .2s,box-shadow .2s;box-shadow:none}.modern-invoice-form input:focus,.modern-invoice-form select:focus,.modern-invoice-form textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.modern-invoice-form .form-group label{font-weight:600;color:var(--light-text);margin-bottom:6px;font-size:1rem}.modern-invoice-form .form-row{display:flex;gap:18px;margin-bottom:0;flex-wrap:wrap}.modern-invoice-form .form-group.full-width{width:100%}.modern-invoice-form .form-actions{background:none;border:none;box-shadow:none;margin-top:24px;gap:16px}.modern-invoice-form .btn{border-radius:24px;font-size:1rem;font-weight:600;padding:10px 24px;box-shadow:0 2px 8px #3b82f612;transition:background .2s,box-shadow .2s,transform .1s}.modern-invoice-form .btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 16px #3b82f621;transform:translateY(-2px)}.modern-invoice-form .btn-secondary{background:var(--secondary-color);color:var(--primary-color);border:1.5px solid var(--primary-color)}.modern-invoice-form .btn-danger{background:#ef4444;color:#fff;border:none}.modern-invoice-form .totals table{font-size:1.08rem;margin-top:10px}.modern-invoice-form .grand-total td{font-weight:700;color:var(--primary-color);font-size:1.12rem}.modern-invoice-form .authorization-warning{border-radius:8px;font-weight:500;margin-bottom:20px}.form-actions{position:relative}.form-actions .main-actions{flex:1 1 auto;min-width:0}.form-actions .delete-action{margin-left:auto;display:flex;align-items:center}@media (max-width: 700px){.form-actions{flex-direction:column!important;align-items:stretch!important}.form-actions .main-actions{width:100%;flex-direction:column!important;gap:10px!important}.form-actions .delete-action{margin-left:0!important;margin-top:18px;border-top:1px solid var(--border-color);padding-top:16px;justify-content:flex-start}}.company-item.action-item.manage-clients,.company-item.action-item.manage-clients .company-icon,.company-item.action-item.manage-clients .company-name,.company-item.action-item.add-descriptions,.company-item.action-item.add-descriptions .company-icon,.company-item.action-item.add-descriptions .company-name,.company-item.action-item.recently-deleted,.company-item.action-item.recently-deleted .company-icon,.company-item.action-item.recently-deleted .company-name{color:#000!important}body.dark-mode .company-item.action-item.manage-clients,body.dark-mode .company-item.action-item.manage-clients .company-icon,body.dark-mode .company-item.action-item.manage-clients .company-name,body.dark-mode .company-item.action-item.add-descriptions,body.dark-mode .company-item.action-item.add-descriptions .company-icon,body.dark-mode .company-item.action-item.add-descriptions .company-name,body.dark-mode .company-item.action-item.recently-deleted,body.dark-mode .company-item.action-item.recently-deleted .company-icon,body.dark-mode .company-item.action-item.recently-deleted .company-name{color:#fff!important}body.dark-mode .dashboard-sidebar,body.dark-mode .company-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) rgba(0,0,0,.1)}body.dark-mode .dashboard-sidebar::-webkit-scrollbar,body.dark-mode .company-list::-webkit-scrollbar{width:6px;height:6px}body.dark-mode .dashboard-sidebar::-webkit-scrollbar-track,body.dark-mode .company-list::-webkit-scrollbar-track{background:rgba(0,0,0,.15);border-radius:3px}body.dark-mode .dashboard-sidebar::-webkit-scrollbar-thumb,body.dark-mode .company-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}body.dark-mode .dashboard-sidebar::-webkit-scrollbar-thumb:hover,body.dark-mode .company-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.modern-header-title{color:#fff!important}.modern-header-text{color:#e0f2fe!important}.modern-grand-total-text{color:#fff!important}.login-page-light-mode{--text-color: #333;--background-color: #f9fafb;--input-background: #f3f4f6;--card-background: rgba(255, 255, 255, .97);--heading-color: #111827;--subtitle-color: #6b7280;--label-color: #4b5563;--link-color: #6b7280;--primary-color: #fde047;--primary-hover: #facc15;--accent-color: #e9c10e;--error-color: #ef4444;--success-color: #10b981;--button-text: #000;--border-color: #cccccc;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition-fast: .2s ease;--transition-normal: .3s ease;color:var(--text-color);background-color:var(--background-color);width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;transition:opacity var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);opacity:0}.login-page-light-mode.dark-mode{--text-color: #F9FAFB;--background-color: #0B0F19;--input-background: #2A2F45;--card-background: #1A1D2A;--heading-color: #FFFFFF;--subtitle-color: #A0AEC0;--label-color: #CBD5E0;--link-color: #9F7AEA;--primary-color: #D69E2E;--primary-hover: #ECC94B;--accent-color: #f1dd69;--error-color: #F56565;--success-color: #48BB78;--button-text: #1A202C;--border-color: #4A5568;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -1px rgba(0, 0, 0, .28);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .35), 0 4px 6px -2px rgba(0, 0, 0, .28)}.login-page-light-mode.dark-mode .login-container{background:url(https://pplx-res.cloudinary.com/image/upload/v1746761438/gpt4o_images/jzm1w8mmsr34v4dn7nni.png) no-repeat center center fixed;background-size:cover;transition:background-color var(--transition-normal)}.login-page-light-mode.dark-mode .brand-logo{background-color:var(--input-background)}.login-page-light-mode.dark-mode .brand-name{color:var(--heading-color)}.login-page-light-mode.dark-mode .dot-black{background-color:#000}.login-page-light-mode.dark-mode .dot-gray{background-color:var(--subtitle-color)}.login-page-light-mode.dark-mode .dot-yellow{background-color:var(--primary-color)}.login-page-light-mode.dark-mode .form-input::placeholder{color:#718096;opacity:.7}.login-page-light-mode.dark-mode .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d69e2e4d}.login-page-light-mode.dark-mode .login-footer{color:var(--subtitle-color);text-shadow:none}.login-page-light-mode.dark-mode .overlay-title{color:var(--heading-color)}.login-page-light-mode.dark-mode .overlay-text{color:var(--subtitle-color)}.login-theme-switch .theme-switch .sun-icon,.login-theme-switch .theme-switch .moon-icon{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-color);z-index:1;transition:.4s}.login-theme-switch .theme-switch .sun-icon{color:#f59e0b;margin-left:5px}.login-theme-switch .theme-switch .moon-icon{color:#6366f1;margin-right:5px}.login-theme-switch input:checked+.slider{background-color:#1e293b}.login-theme-switch input:checked+.slider:before{transform:translate(30px)}.login-theme-switch input:not(:checked)+.slider .sun-icon{opacity:1}.login-theme-switch input:not(:checked)+.slider .moon-icon{opacity:.5}.login-theme-switch input:checked+.slider .sun-icon{opacity:.5}.login-theme-switch input:checked+.slider .moon-icon{opacity:1}.login-theme-switch .theme-switch:hover .slider:before{box-shadow:0 0 8px var(--primary-color)}.login-theme-switch .sun-icon{color:#f59e0b;margin-left:5px}.login-theme-switch .moon-icon{color:#6366f1;margin-right:5px}.login-page-light-mode.dark-mode .login-theme-switch .sun-icon{opacity:.5}.login-page-light-mode.dark-mode .login-theme-switch .moon-icon{opacity:1}.login-page-light-mode.dark-mode .remember-me label{color:var(--label-color)}@media (max-width: 767px){.login-page-light-mode.dark-mode .login-card{background:var(--card-background)}}.login-page-light-mode.fade-in{opacity:1}@keyframes formChange{0%{opacity:.8;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-change{animation:formChange .5s ease forwards}.error-message{background-color:#ef44441a;border-left:4px solid var(--error-color);color:var(--error-color);padding:12px 16px;margin-bottom:20px;border-radius:4px;font-size:.9rem;display:flex;align-items:center}.error-message:before{content:"⚠️";margin-right:8px;font-size:1rem}.password-input-wrapper{position:relative;width:100%}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--label-color);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;opacity:.7;transition:opacity var(--transition-fast)}.password-toggle-btn:hover{opacity:1}@keyframes highlight{0%{background-color:#f3f4f6}50%{background-color:#fde0474d}to{background-color:#f3f4f6}}.highlight-input{animation:highlight .8s ease}.remember-forgot{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.remember-me{display:flex;align-items:center}.remember-me input[type=checkbox]{width:16px;height:16px;margin-right:8px;accent-color:var(--primary-color);cursor:pointer}.remember-me label{font-size:.875rem;color:var(--label-color);cursor:pointer}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem 1rem;background:url(https://v3.fal.media/files/panda/sO6WFMolI-FrU0SJEi9bR.png) no-repeat center center fixed;background-size:cover;transition:background-color var(--transition-normal)}.login-card{background-color:var(--card-background);border-radius:1rem;box-shadow:var(--shadow-lg);display:flex;overflow:hidden;width:100%;max-width:1000px;min-height:620px;position:relative;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.login-card:hover{box-shadow:0 20px 30px -10px #00000026;transform:translateY(-5px)}.login-content{width:100%;padding:2rem;display:flex;flex-direction:column}.brand{display:flex;align-items:center;margin-bottom:2rem}.brand-logo{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#f3f4f6}.brand-dots{display:flex;gap:4px}.dot{width:10px;height:10px;border-radius:50%;transition:transform var(--transition-fast)}.brand:hover .dot{transform:scale(1.1)}.dot-black{background-color:#000}.dot-gray{background-color:#d1d5db}.dot-yellow{background-color:var(--primary-color)}.brand-name{margin-left:12px;font-weight:600;font-size:1.1rem;color:var(--heading-color)}.login-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--heading-color);letter-spacing:-.025em}.login-subtitle{color:var(--subtitle-color);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.login-form{display:flex;flex-direction:column;flex-grow:1}.form-group{margin-bottom:1.25rem;position:relative}.form-label{display:flex;align-items:center;font-weight:500;margin-bottom:.4rem;color:var(--label-color);font-size:.9rem}.input-icon{margin-right:.5rem;color:var(--accent-color);font-size:1rem}.form-input{width:100%;padding:.7rem 1rem;background-color:var(--input-background);border:1px solid var(--border-color);border-radius:.5rem;font-size:.95rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);color:var(--text-color)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #fde04733}.form-input::placeholder{color:#9ca3af;opacity:.7}.form-input:hover{border-color:#d1d5db}.forgot-link{font-size:.875rem;color:var(--accent-color);text-decoration:none;transition:color var(--transition-fast)}.forgot-link:hover{color:#0284c7;text-decoration:underline}.form-actions{margin-top:.5rem;flex-grow:1;display:flex;flex-direction:column}.login-button{width:100%;background-color:var(--primary-color);color:var(--button-text);border:none;border-radius:.5rem;padding:.8rem 1rem;font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;overflow:hidden;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.login-button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.button-text{position:relative;z-index:2}.button-icon{margin-left:.5rem;font-size:1.2rem;position:relative;z-index:2;transition:transform var(--transition-fast)}.login-button:hover .button-icon{transform:translate(3px)}.spinner{position:absolute;width:20px;height:20px;border:2px solid transparent;border-top-color:var(--button-text);border-radius:50%;opacity:0;transition:opacity var(--transition-fast);animation:spin .8s linear infinite;z-index:1}.spinner.active{opacity:1}.mode-toggle{text-align:center;margin-top:.5rem;color:var(--subtitle-color);font-size:.875rem}.toggle-link{color:var(--accent-color);margin-left:.3rem;text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.toggle-link:hover{color:#0284c7;text-decoration:underline}.login-image{display:none;position:relative;overflow:hidden;flex:1}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end}.overlay-title{color:#201f1f;font-size:1.8rem;font-weight:700;margin-bottom:1rem;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif}.overlay-text{color:#141414e6;font-size:1rem;line-height:1.6;max-width:90%}.illustration{width:100%;height:100%;object-fit:cover;transition:transform 10s ease;transform-origin:center}.login-image:hover .illustration{transform:scale(1.05)}.login-footer{text-align:center;color:#fff;font-size:.8rem;padding:1.5rem 0;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (min-width: 768px){.login-content{width:55%;padding:2rem 2.5rem}.login-image{display:block;width:45%}}@media (min-width: 1024px){.login-card{max-width:1050px}.login-content{width:50%;padding:3rem}.login-image{width:50%}.overlay-title{font-size:2rem}.overlay-text{font-size:1.1rem}}@media (max-width: 767px){.login-card{min-height:auto}.login-title{font-size:1.8rem}.login-subtitle{font-size:.95rem}.login-card{background:linear-gradient(135deg,#ffffff 0%,#f9fafb 100%)}}@media (min-width: 768px) and (max-width: 1023px){.login-card{max-width:90%}.login-content{padding:2rem}}@media (max-width: 480px){.login-container{padding:1rem}.login-card{box-shadow:var(--shadow-md)}.login-content{padding:2rem 1.5rem}.login-footer{padding:1rem 0}}.login-theme-switch{position:absolute;top:20px;right:20px;z-index:10}.login-theme-switch .theme-switch{position:relative;display:inline-block;width:60px;height:30px}.login-theme-switch .theme-switch input{opacity:0;width:0;height:0}.login-theme-switch .theme-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e2e8f0;border-radius:30px;transition:.4s;display:flex;align-items:center;justify-content:space-between;padding:5px}.login-theme-switch .theme-switch .slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;border-radius:50%;transition:.4s;z-index:2;box-shadow:0 2px 5px #0003}.login-page-light-mode.dark-mode .login-theme-switch .theme-switch .slider{background-color:#1e293b}.login-theme-switch .sun-icon,.login-theme-switch .moon-icon{font-size:16px;display:flex;align-items:center;justify-content:center;height:100%;z-index:1;transition:opacity .3s ease}.profile-container{max-width:1200px;margin:0 auto;padding:2rem;color:var(--text-color)}.profile-back-btn{display:inline-flex;align-items:center;color:var(--light-text);text-decoration:none;margin-bottom:2rem;transition:color .2s;font-size:.9rem}.profile-back-btn:hover{color:var(--primary-color)}.profile-back-btn svg{margin-right:.5rem}.profile-header{display:flex;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.profile-avatar-container{position:relative;width:100px;height:100px;border-radius:50%;margin-right:1.5rem;cursor:pointer;overflow:hidden}.profile-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid var(--border-color)}.avatar-upload-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:50%;opacity:0;transition:opacity .2s ease}.avatar-upload-overlay.visible{opacity:1}.avatar-upload-overlay svg{margin-bottom:5px}.avatar-upload-overlay span{font-size:.8rem;text-align:center}.profile-name{margin:0 0 .5rem;font-size:1.8rem;color:var(--text-color)}.profile-email{margin:0;color:var(--light-text);font-size:1rem}.profile-content{max-width:800px;margin:0 auto}.profile-section{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:var(--card-shadow);margin-bottom:2rem}.profile-section h3{margin-top:0;margin-bottom:1.5rem;font-weight:600;color:var(--text-color);font-size:1.3rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--light-text)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .2s;background-color:var(--card-bg);color:var(--text-color)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3498db1a}.profile-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:var(--primary-color);color:#fff}.btn:disabled{background-color:var(--light-text);cursor:not-allowed}.btn-secondary{background-color:var(--secondary-color);color:var(--text-color);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover{background-color:var(--border-color)}.btn-add{display:flex;align-items:center;padding:.5rem 1rem;background-color:transparent;border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);font-size:.9rem;cursor:pointer;transition:all .2s}.btn-add:hover{background-color:var(--primary-color);color:#fff}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background-color:var(--secondary-color);color:var(--light-text);margin-left:.5rem;cursor:pointer;transition:all .2s}.btn-icon:hover{background-color:var(--border-color)}.btn-icon.danger{color:var(--status-pending)}.btn-icon.danger:hover{background-color:#e74c3c1a}.success-message{background-color:#10b9811a;color:var(--status-completed);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.danger-zone{margin-top:2rem;border:1px solid rgba(231,76,60,.3);border-radius:8px}.danger-zone h3{color:var(--status-pending)}.danger-zone p{color:var(--light-text);margin-bottom:1rem}.btn-danger{background-color:#e74c3c1a;color:var(--status-pending);border:1px solid var(--status-pending);padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center}.btn-danger:hover{background-color:var(--status-pending);color:#fff}.btn-danger:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.profile-header{flex-direction:column;text-align:center}.profile-avatar-container{margin-right:0;margin-bottom:1rem}.form-row{flex-direction:column;gap:0}.profile-actions{flex-direction:column}.btn,.btn-secondary{width:100%;margin-top:.5rem}}@keyframes pulse{0%{opacity:.6}to{opacity:1}}body.dark-mode .profile-avatar-skeleton,body.dark-mode .profile-name-skeleton,body.dark-mode .profile-email-skeleton{background:#3a4252!important}.profile-theme-toggle{position:fixed;top:20px;right:20px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s ease;z-index:1000}.profile-theme-toggle:hover{background:var(--primary-hover);transform:scale(1.05)}.company-container{max-width:1200px;margin:0 auto;padding:2rem;color:var(--text-color);position:relative}.company-back-btn{display:inline-flex;align-items:center;color:var(--text-color);text-decoration:none;margin-bottom:2rem;transition:color .2s;font-size:.9rem}.company-back-btn:hover{color:var(--primary-color)}.company-back-btn svg{margin-right:.5rem}.company-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.company-header h1{margin:0 0 .5rem;font-size:1.8rem;color:var(--text-color)}.company-header p{margin:0;color:var(--light-text)}.company-section{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:2rem}.companies-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.company-card{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 6px var(--shadow-color);border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.company-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px var(--shadow-color)}.company-card-header{display:flex;align-items:center;margin-bottom:1rem}.company-logo{width:60px;height:60px;object-fit:contain;margin-right:1rem;border-radius:6px;background-color:var(--card-bg-light);padding:5px}.company-info h4{margin:0 0 .25rem;font-weight:600;color:var(--text-color)}.company-gstin{margin:0;color:var(--light-text);font-size:.85rem}.company-address{margin-bottom:1rem;color:var(--text-color);font-size:.9rem}.company-address p{margin:0;line-height:1.4}.company-actions{display:flex;justify-content:flex-end;gap:.5rem}.no-companies{grid-column:1 / -1;text-align:center;padding:2rem;background-color:var(--card-bg);border-radius:8px;border:1px dashed var(--border-color)}.no-companies p{margin-bottom:1rem;color:var(--light-text)}.btn{display:inline-flex;align-items:center;background-color:var(--primary-color);color:var(--button-text);border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.95rem;cursor:pointer;transition:background-color .2s}.btn:hover{background-color:var(--primary-color-dark)}.btn-secondary{background-color:var(--secondary-btn-bg);color:var(--secondary-btn-text)}.btn-secondary:hover{background-color:var(--secondary-btn-hover)}.btn-toggle-theme{position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--text-color);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;transition:background-color .2s}.company-form{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:2rem}.company-form h3{margin-top:0;margin-bottom:1.5rem;font-weight:600;color:var(--text-color);font-size:1.3rem}.logo-upload-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.company-logo-preview{width:120px;height:120px;object-fit:contain;border-radius:8px;margin-bottom:1rem;background-color:var(--card-bg-light);padding:10px;border:1px solid var(--border-color)}.btn-upload{display:inline-flex;align-items:center;background-color:var(--secondary-btn-bg);color:var(--secondary-btn-text);border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s;margin-bottom:.5rem}.btn-upload:hover{background-color:var(--secondary-btn-hover)}.btn-upload svg{margin-right:.5rem}.logo-upload-section small{color:var(--light-text);font-size:.8rem}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .2s;background-color:var(--input-bg);color:var(--text-color)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px var(--primary-color-light)}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.company-bank-details{background-color:var(--card-bg-light);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.company-bank-details h4{margin-top:0;margin-bottom:1.5rem;font-weight:600;color:var(--text-color);font-size:1.1rem}.company-form-actions{display:flex;justify-content:flex-end;gap:1rem}.success-message{background-color:var(--success-bg);color:var(--success-text);padding:1rem;border-radius:4px;margin-top:1.5rem;text-align:center;animation:fadeOut 3s forwards;animation-delay:2s}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.client-container{max-width:1200px;margin:0 auto;padding:2rem;color:var(--text-color);position:relative}.client-back-btn{display:inline-flex;align-items:center;color:var(--text-color);text-decoration:none;margin-bottom:2rem;transition:color .2s;font-size:.9rem}.client-back-btn:hover{color:var(--primary-color)}.client-back-btn svg{margin-right:.5rem}.client-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.client-header h1{margin:0 0 .5rem;font-size:1.8rem;color:var(--text-color)}.client-header p{margin:0;color:var(--light-text)}.client-section{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;font-weight:600;color:var(--text-color);font-size:1.3rem}.btn-add{display:inline-flex;align-items:center;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s,transform .1s}.btn-add:hover{background-color:var(--primary-hover)}.btn-add:active{transform:scale(.98)}.btn-add svg{margin-right:.5rem}.clients-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.client-card{background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:0 2px 6px var(--shadow-color);border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.client-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px var(--shadow-color)}.client-card-header{margin-bottom:1rem}.client-info h4{margin:0 0 .25rem;font-weight:600;color:var(--text-color)}.client-gstin{margin:0;color:var(--light-text);font-size:.85rem}.client-details{margin-bottom:1rem;color:var(--text-color);font-size:.9rem}.client-details p{margin:.5rem 0;line-height:1.4}.client-actions{display:flex;justify-content:flex-end;gap:.5rem}.btn-icon{background:none;border:none;color:var(--primary-color);padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s,color .2s}.btn-icon:hover{background-color:var(--primary-color-light)}.btn-icon.danger{color:var(--error-color)}.btn-icon.danger:hover{background-color:var(--error-color-light)}.no-clients{grid-column:1 / -1;text-align:center;padding:2rem;background-color:var(--card-bg);border-radius:8px;border:1px dashed var(--border-color)}.no-clients p{margin-bottom:1rem;color:var(--light-text)}.btn{display:inline-flex;align-items:center;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s,transform .1s;text-align:center;justify-content:center}.btn:hover{background-color:var(--primary-hover)}.btn:active{transform:scale(.98)}.btn svg{margin-right:.5rem}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color);transition:background-color .2s,color .2s}.btn-secondary:hover{background-color:#3b82f61a;color:var(--primary-color)}.btn-toggle-theme{position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--text-color);font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-toggle-theme:hover{background-color:var(--primary-color-light)}.client-form{background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:2rem}.client-form h3{margin-top:0;margin-bottom:1.5rem;font-weight:600;color:var(--text-color);font-size:1.3rem}.form-group{margin-bottom:1rem;width:100%}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--input-bg);color:var(--text-color);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{margin-bottom:0;flex:1}.client-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.success-message{background-color:var(--success-color-light);color:var(--success-color);padding:1rem;border-radius:4px;text-align:center;margin-top:1rem}@media (max-width: 768px){.client-container{padding:1rem}.form-row{flex-direction:column;gap:1rem}.client-form-actions{flex-direction:column-reverse}.client-form-actions button{width:100%}}.bin-page{max-width:1200px;margin:0 auto;padding:20px}.bin-content{margin-top:20px}.bin-description{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background-color:var(--bg-accent);border-radius:8px}.bin-info{flex:1}.bin-info p{margin:5px 0;display:flex;align-items:center;gap:8px}.bin-actions{display:flex;gap:10px}.bin-table{width:100%;border-collapse:collapse;margin-top:20px;box-shadow:0 4px 8px #0000001a;border-radius:8px;overflow:hidden}.bin-table th,.bin-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.bin-table th{background-color:var(--header-bg);color:var(--header-text);font-weight:600}.bin-table tr:last-child td{border-bottom:none}.bin-table tr:hover{background-color:var(--hover-bg)}.bin-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:.85rem}.empty-bin{text-align:center;padding:50px 20px;background-color:var(--bg-accent);border-radius:8px;margin-top:20px}.empty-bin-icon{margin-bottom:20px;color:var(--text-muted)}.empty-bin h2{margin-bottom:10px;font-size:1.5rem}.empty-bin p{margin-bottom:20px;color:var(--text-muted)}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;text-align:center}.spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--primary-color);width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.bin-description{flex-direction:column;align-items:flex-start}.bin-actions{margin-top:15px}.bin-table{display:block;overflow-x:auto}.bin-action-btn{padding:5px 8px;font-size:.8rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
