*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6}.app-container{display:flex;min-height:100vh}.content-container{flex:1 1;padding:20px;transition:margin-left .3s}.app-container .content-container{margin-left:250px}.loading{font-size:20px;height:100vh}@media (max-width:768px){.app-container .content-container{margin-left:0}}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.home-container{margin:0 auto;max-width:1200px;padding:20px}.home-container h1{border-bottom:2px solid #ddd;color:#333;margin-bottom:30px;padding-bottom:10px}.billable-projects-section,.invoices-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:40px;padding:20px}.billable-projects-section h2,.invoices-section h2{color:#333;margin-bottom:20px}th{cursor:pointer;-webkit-user-select:none;user-select:none}th:hover{background-color:#eaeaea}th:last-child{cursor:default}.btn{background-color:#6c757d;color:#fff;text-align:center;transition:opacity .2s}.btn:hover{opacity:.9}.btn-unpaid{background-color:#dc3545}.btn-filter{background-color:#6c757d}.table-container{border-collapse:initial;border-spacing:0}.btn{display:inline-block;font-size:13px;padding:6px 10px}.btn-view{background-color:#4caf50;color:#fff}.btn-delete,.btn-unpaid{background-color:#dc3545;color:#fff}.btn-create{background-color:#ff9800;color:#fff}.btn-print{background-color:#17a2b8;color:#fff}.btn-paid{background-color:#28a745;color:#fff}.btn:hover{opacity:.85}.btn-pagination:disabled{opacity:.5}.btn:hover:not(:disabled){opacity:.8}.status.sent{background-color:#e7f0ff;color:#2b6cb0}.btn-info{background-color:#2b6cb0}.btn-secondary{background-color:#718096}.loading{height:300px}.error,.loading-overlay{padding:20px}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:20px}.pagination-container{flex-wrap:wrap;gap:10px}@media (max-width:992px){.filter-row{flex-direction:column}.pagination-container{align-items:flex-start;flex-direction:column}.pagination-controls{margin:10px 0}}@media (max-width:768px){.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}td,th{white-space:nowrap}.actions,td,th{padding:8px 10px}}.filters-container{background-color:#f9f9f9;border:1px solid #eaeaea;border-radius:6px}.filters-form{display:flex;flex-direction:column;gap:15px}.filter-row{display:flex;flex-wrap:wrap;gap:15px}.filter-group{gap:5px;min-width:200px}.filter-group input,.filter-group select{padding:8px 10px}.filter-buttons{display:flex;gap:10px;margin-top:10px}.pagination-container{border-top:1px solid #eee;margin-top:15px}.pagination-controls{align-items:center}.pagination-current{font-size:14px;margin:0 10px}.btn-pagination{align-items:center;background-color:#f0f0f0;display:flex;height:36px;justify-content:center;min-width:36px;padding:0}.pagination-size{align-items:center;display:flex;font-size:14px;gap:8px}.pagination-size select{border:1px solid #ddd;border-radius:4px;padding:5px 8px}.search-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:20px}.search-input-container{margin:0 auto 10px}.search-input{background:#fff;border-radius:25px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.search-input:focus{box-shadow:0 2px 8px #007bff33}.search-input::placeholder{color:#6c757d;font-style:italic}.search-clear-btn{border-radius:50%;color:#6c757d;padding:4px;transition:all .2s ease}.search-clear-btn:hover{background:#f8f9fa;color:#dc3545}.search-info{color:#6c757d;font-style:italic;text-align:center}.login-container{align-items:center;background-color:#f5f5f5;display:flex;height:100vh;justify-content:center}.login-form-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:30px;width:100%}.login-form-wrapper h2{color:#333;margin-bottom:24px;text-align:center}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:12px 16px;transition:border-color .2s}.form-group input:focus{border-color:#4285f4;outline:none}.login-button{background-color:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .2s}.login-button:hover{background-color:#357ae8}.error-message{color:#d32f2f;margin-bottom:16px;text-align:center}.sidebar{background-color:#333;color:#fff;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:all .3s ease;width:240px;z-index:1000}.sidebar.collapsed{width:60px}.sidebar-header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;padding:20px 15px}.sidebar-header h3{font-size:18px;font-weight:600;overflow:hidden;white-space:nowrap}.toggle-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:transform .3s ease;width:24px}.toggle-button:hover{transform:scale(1.1)}.sidebar-menu ul{list-style:none;padding:0}.sidebar-menu li{margin:0}.sidebar-menu li a{align-items:center;color:#ddd;display:flex;padding:15px;text-decoration:none;transition:background-color .2s,color .2s;white-space:nowrap}.sidebar-menu li a:hover{background-color:#444;color:#fff}.sidebar-menu .icon{align-items:center;display:flex;font-size:18px;justify-content:center;min-width:24px}.sidebar-menu .label{margin-left:10px}.sidebar.collapsed+.content-container{margin-left:60px}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{transform:translateX(-100%)}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background-color:#f8f8f8;border-bottom:1px solid #e0e0e0;border-top-left-radius:8px;border-top-right-radius:8px;display:flex;justify-content:space-between;padding:15px 20px}.modal-header h2{color:#333;font-size:20px;margin:0}.modal-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0}.modal-close-btn:hover{color:#333}.modal-body{padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.modal-content{max-height:85vh;width:90%}}.modal-body form{display:flex;flex-direction:column;gap:15px}.modal-body .form-group{display:flex;flex-direction:column;gap:5px}.modal-body label{font-weight:600}.modal-body input,.modal-body select,.modal-body textarea{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px}.modal-body textarea{min-height:100px;resize:vertical}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.modal-footer{background-color:#f8f8f8;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #e0e0e0;padding:15px 20px}.modal-footer button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.btn-save{background-color:#4caf50}.btn-save:hover{background-color:#3e8e41}.project-search-container{position:relative;width:100%}.search-input{font-size:14px;height:38px;padding:8px 12px}.search-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.search-loading{animation:pulse 1.5s infinite;color:#4caf50}.clear-search{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;padding:2px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px}.clear-search:hover{background-color:#f5f5f5;color:#666}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{background-color:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;box-shadow:0 6px 16px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.results-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:12px;font-weight:500;padding:8px 12px}.search-result-item{border-bottom:1px solid #f0f0f0;padding:10px 12px;transition:background-color .2s ease}.search-result-item:hover{background-color:#f8f9fa}.result-name{color:#333;font-weight:500;margin-bottom:2px}.result-id{color:#6c757d;font-size:11px}.no-results{padding:20px 12px}.empty-message,.loading-message{align-items:center;display:flex;font-size:14px;gap:8px;justify-content:center}.empty-icon,.loading-spinner{font-size:16px}.selected-project{align-items:center;background-color:#f1f8e9;border:1px solid #4caf50;border-radius:6px;display:flex;justify-content:space-between;min-height:38px;padding:10px 12px}.project-info{flex:1 1;overflow:hidden}.project-name{color:#2e7d32;display:block;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-id{color:#4caf50;display:block;font-size:11px;opacity:.8}.clear-project{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;margin-left:8px;padding:4px;transition:all .2s ease;width:24px}.clear-project:hover{background-color:#f443361a;color:#f44336}.tasks-container{margin:0 auto;max-width:1200px;padding:20px}.tasks-container h1{border-bottom:2px solid #ddd;color:#333;margin-bottom:30px;padding-bottom:10px}.summary-stats{grid-template-columns:repeat(4,1fr)}.filters-container{background:#fff;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.filter-group{flex:1 1;min-width:150px}.filter-group label{color:#666}.filter-group input,.filter-group select{border:1px solid #ddd;height:38px}.filter-actions{align-items:flex-end;gap:10px;margin-left:auto}.date-filter-group{flex:2 1;min-width:300px}.date-preset-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.btn-preset{background-color:#fff;border:1px solid #ddd;color:#333;font-size:12px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.btn-preset:hover{background-color:#f5f5f5;border-color:#4caf50}.btn-preset.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.btn-preset.active:hover{background-color:#3e8e41}.custom-date-range{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:flex;gap:15px;margin-top:10px;padding:10px}.date-input-group{display:flex;flex:1 1;flex-direction:column}.date-input-group label{color:#666;font-size:12px;font-weight:500;margin-bottom:4px}.date-input-group input[type=date]{border:1px solid #ddd;border-radius:4px;font-size:13px;height:32px;padding:6px 8px}.date-range-display{background-color:#e8f5e8;border-left:3px solid #4caf50;border-radius:4px;margin-top:8px;padding:6px 10px}.date-range-display small{color:#2e7d32;font-size:12px;font-weight:500}.btn{height:38px;transition:background-color .3s}.btn-primary{background-color:#4caf50}.btn-secondary{background-color:#f5f5f5;color:#333}.btn-primary:hover{background-color:#3e8e41}.btn-secondary:hover{background-color:#e0e0e0}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}table{border-collapse:collapse;border-spacing:0;width:100%}th{background-color:#f8f8f8;font-weight:600;text-align:left}td,th{border-bottom:1px solid #ddd;padding:12px 15px}tr:hover{background-color:#f5f5f5}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{gap:5px}.btn-edit{background-color:#2196f3}.btn-delete{background-color:#f44336}.btn-delete:hover,.btn-edit:hover{opacity:.8}.status{border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.status.paid{background-color:#4caf50;color:#fff}.status.unpaid{background-color:#f44336;color:#fff}tr.completed{background-color:#4caf500d}tr.in-progress{background-color:#f443360d}.pagination{gap:15px;justify-content:center;margin-top:20px}.btn-pagination{background-color:#f5f5f5;color:#333}.btn-pagination:disabled{background-color:#e0e0e0;color:#999;cursor:not-allowed}.page-info{color:#666;font-size:14px}.error,.loading{font-size:18px;height:300px}.no-data{padding:30px 0}.input-with-icon{position:relative}.clickable-input,.input-with-icon{cursor:pointer;width:100%}.input-with-icon input[type=date]::-webkit-calendar-picker-indicator,.input-with-icon input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}@media (max-width:992px){.summary-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.filter-group{flex:100% 1}.date-filter-group{min-width:auto}.filter-actions{flex:100% 1;justify-content:space-between;margin-left:0}.date-preset-buttons{justify-content:center}.btn-preset{flex:1 1;font-size:10px;min-width:60px;padding:4px 6px}.custom-date-range{flex-direction:column;gap:10px}.date-input-group{align-items:center;flex-direction:row;gap:8px}.date-input-group label{margin-bottom:0;min-width:50px}.actions{flex-direction:column}.btn{width:100%}td,th{font-size:14px;padding:8px 10px}.description-cell{max-width:150px}}@media (max-width:576px){.summary-stats{grid-template-columns:1fr}}.resumen-container{margin:0 auto;max-width:1400px;padding:20px}.resumen-container h1{border-bottom:2px solid #ddd;color:#333;margin-bottom:30px;padding-bottom:10px}.date-selection{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.date-inputs{display:flex;gap:20px;margin-bottom:20px}.date-group{display:flex;flex:1 1;flex-direction:column}.date-group label{color:#666;font-weight:600;margin-bottom:5px}.date-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;height:38px;padding:8px 12px}.preset-buttons{display:flex;flex-wrap:wrap;gap:10px}.btn-preset{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.btn-preset:hover{background-color:#1976d2}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.stat-box{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px;text-align:center}.stat-box h3{color:#666;font-size:16px;font-weight:600;margin-bottom:10px}.stat-box p{color:#333;font-size:24px;font-weight:700;margin:0}.matrix-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.matrix-container h2{color:#333;font-size:20px;margin-bottom:20px}.matrix-table-container{max-width:100%;overflow-x:auto}.matrix-table{border-collapse:collapse;width:100%}.matrix-table td,.matrix-table th{border:1px solid #ddd;font-size:14px;padding:8px;text-align:center}.matrix-table th{background-color:#f5f5f5;color:#333;font-weight:600}.project-header,.project-name{text-align:left}.project-name{background-color:#fafafa;font-weight:500}.employee-header{text-align:center;vertical-align:middle}.hours-cell{background-color:#fff;font-family:Courier New,monospace;font-weight:500}.hours-cell:hover{background-color:#f0f8ff}.total-cell,.total-header{color:#1976d2}.total-cell,.total-header,.totals-row{background-color:#e3f2fd;font-weight:600}.totals-row td{background-color:#e3f2fd;color:#1976d2}.total-label,.totals-row .total-header{font-weight:600;text-align:left}.totals-row .total-header{background-color:#f5f5f5;color:#333}.grand-total-cell{background-color:#1976d2;color:#fff;font-size:16px;font-weight:700}.loading{font-size:18px;padding:40px;text-align:center}.error{background-color:#ffebee;color:#f44336}.error,.no-data{border-radius:8px;font-size:18px;margin:20px;padding:40px;text-align:center}.no-data{background-color:#f5f5f5;color:#666}@media (max-width:992px){.summary-stats{grid-template-columns:repeat(2,1fr)}.date-inputs{flex-direction:column}}@media (max-width:768px){.summary-stats{grid-template-columns:1fr}.preset-buttons{justify-content:center}.matrix-table td,.matrix-table th{font-size:12px;padding:8px 4px}}@media (max-width:576px){.matrix-container,.resumen-container{padding:10px}.matrix-table td,.matrix-table th{font-size:11px;padding:6px 2px}}.pagination-container{border-top:1px solid #e9ecef;padding:15px 0}.pagination-info{font-weight:500}.pagination{gap:4px}.pagination,.pagination-btn{align-items:center;display:flex}.pagination-btn{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:500;height:36px;justify-content:center;min-width:40px;padding:8px 12px;transition:all .2s}.pagination-btn:hover:not(.disabled):not(.ellipsis){background-color:#f8f9fa;border-color:#007bff;color:#007bff}.pagination-btn.active{background-color:#007bff;border-color:#007bff;color:#fff}.pagination-btn.active:hover{background-color:#0056b3;border-color:#0056b3}.pagination-btn.disabled{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:.6}.pagination-btn.ellipsis{cursor:default;font-weight:400}.pagination-btn.ellipsis,.pagination-btn.ellipsis:hover{background-color:initial;border-color:#0000;color:#6c757d}@media (max-width:768px){.pagination-container{align-items:center;flex-direction:column;gap:10px}.pagination-info{font-size:13px;text-align:center}.pagination-btn{font-size:13px;height:32px;min-width:36px;padding:6px 10px}}@media (max-width:480px){.pagination{gap:2px}.pagination-btn{font-size:12px;height:28px;min-width:32px;padding:4px 8px}.pagination-info{font-size:12px}}.pagination-container.compact{margin-top:15px;padding:10px 0}.pagination-container.compact .pagination-btn{font-size:12px;height:28px;min-width:32px;padding:6px 8px}.pagination-container.compact .pagination-info{font-size:12px}.admin-panel{margin:0 auto;max-width:1200px;padding:20px}.admin-panel h1{color:#333;font-size:24px;margin-bottom:30px}.admin-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;margin-bottom:40px;overflow:hidden}.section-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:15px 20px}.section-header h2{font-size:18px}.data-table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e9ecef;padding:12px 15px;text-align:left}.data-table th{color:#495057;font-weight:600}.data-table tbody tr:hover,.data-table th{background-color:#f8f9fa}.empty-table{color:#6c757d;padding:30px;text-align:center}.actions-cell{display:flex;gap:10px;justify-content:flex-start}.btn-primary{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.btn-primary:hover{background-color:#0069d9}.btn-edit{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.btn-edit:hover{background-color:#5a6268}.btn-delete{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.btn-delete:hover{background-color:#c82333}.form-group label{color:#495057}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;padding:10px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40;outline:0}.checkbox-group{align-items:center;display:flex}.checkbox-label{display:flex}.checkbox-label input{margin-right:8px;width:auto}.modal-footer{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:15px}.btn-cancel{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.btn-cancel:hover{background-color:#5a6268}.btn-save{background-color:#007bff;border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.btn-save:hover{background-color:#0069d9}.error-message{color:#dc3545}.search-box{border-bottom:1px solid #e9ecef;padding:15px 20px;position:relative}.search-box input{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:10px;width:100%}.search-box input:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40;outline:0}.search-loading{color:#6c757d;right:30px}@media screen and (max-width:768px){.section-header{align-items:flex-start;gap:10px}.actions-cell,.section-header{flex-direction:column}.btn-delete,.btn-edit,.btn-primary{width:100%}}.badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:700;margin-left:8px;padding:2px 8px;text-transform:uppercase}.badge-default{background-color:#6c757d;color:#fff}.badge-active{background-color:#28a745;color:#fff}.badge-inactive{background-color:#dc3545;color:#fff}.btn-activate{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-right:5px;padding:4px 8px}.btn-activate:hover{background-color:#218838}.prompt-template-form{max-width:800px}.prompt-template-form .form-help{color:#666;display:block;font-size:12px;margin-top:5px}.prompt-template-form .form-help code{background-color:#f8f9fa;border-radius:3px;font-family:Courier New,monospace;padding:2px 4px}.prompt-template-form .checkbox-group{align-items:flex-start;flex-direction:column}.prompt-template-form .checkbox-label{margin-bottom:5px}.prompt-template-form .checkbox-text{font-weight:400}.form-actions{border-top:1px solid #e9ecef}.invoice-preview{background-color:#fff;border:1px solid #ddd;box-shadow:0 2px 5px #0000001a;display:block;font-size:13px;line-height:1.4;min-height:700px;padding:20px;position:relative}.invoice-header{display:flex;justify-content:space-between;margin-bottom:20px}.invoice-info{text-align:right}.invoice-info p{margin:5px 0}.invoice-content{margin-bottom:20px}.invoice-description{margin:15px 0}.invoice-description p{line-height:1.4;margin:0;padding:3px 0}.invoice-items{margin-bottom:20px}.invoice-items table{border-collapse:collapse;margin-bottom:20px;width:100%}.invoice-items td,.invoice-items th{border:1px solid #ddd;padding:8px;text-align:left}.invoice-items th{background-color:#f5f5f5;font-weight:600}.invoice-items .description-col{width:70%}.invoice-items .amount-col{width:30%}.invoice-items .amount{text-align:right}.invoice-footer{margin-top:10px}.invoice-totals{margin-bottom:20px;margin-left:auto;max-width:300px;width:100%}.invoice-totals .total-row{border-bottom:1px dotted #ccc;display:flex;justify-content:space-between;padding:6px 10px}.invoice-totals .grand-total{border-bottom:2px solid #000;border-top:1px solid #000;font-size:14px;font-weight:700;margin-top:5px;padding:8px 10px}@media print{.invoice-preview{border:none;box-shadow:none;margin:0 auto;min-height:297mm;padding:0;width:210mm}.invoice-footer{align-items:flex-end;bottom:20mm;display:flex;flex-direction:column;left:0;margin:0 auto;position:absolute;right:0}.invoice-content{margin-bottom:100mm}}.client-search-container{position:relative;width:100%}.search-input-container{width:100%}.search-input{border:1px solid #ddd;border-radius:4px;padding:10px 15px;transition:border-color .3s}.search-input:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3}.search-loading{color:#666;font-size:14px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 8px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:10}.search-result-item{border-bottom:1px solid #eee;cursor:pointer;padding:10px 15px;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f5f5f5}.result-title{font-weight:700;margin-bottom:2px}.result-subtitle{color:#666;font-size:14px}.no-results{font-style:italic;padding:15px}.selected-client{align-items:center;background-color:#f0f7ff;border:1px solid #cce5ff;border-radius:4px;display:flex;justify-content:space-between;padding:12px 15px}.selected-client-info{flex-grow:1}.selected-client-name{font-size:16px;font-weight:700;margin-bottom:5px}.selected-client-details{color:#444;font-size:14px}.clear-selection-btn{background-color:initial;border:1px solid #06c;border-radius:4px;color:#06c;cursor:pointer;font-size:14px;margin-left:10px;padding:5px 10px;transition:all .2s}.clear-selection-btn:hover{background-color:#06c;color:#fff}.invoice-page{max-width:100%;overflow-x:hidden;padding:20px}.invoice-container{display:flex;flex-direction:column;gap:20px}.invoice-form-container{background-color:#fff;overflow-y:auto}.invoice-form-container,.invoice-preview-container{border-radius:8px;box-shadow:0 2px 10px #0000001a;flex:1 1;padding:20px;width:100%}.invoice-preview-container{background-color:#f9f9f9}@media (min-width:1200px){.invoice-container{flex-direction:row}.invoice-form-container{max-height:calc(100vh - 100px);max-width:60%}.invoice-preview-container{max-height:calc(100vh - 100px);max-width:40%;overflow-y:auto;position:sticky;top:20px}}.client-details{background-color:#f5f5f5;border-radius:4px;display:flex;gap:20px;margin-top:15px;padding:10px}.client-details .form-group{margin-bottom:0}.client-details label{color:#333;font-weight:600;margin-bottom:3px}.client-details p{margin:0}.invoice-table{border-collapse:collapse;font-size:14px;width:100%}.invoice-table td,.invoice-table th{border:1px solid #ddd;padding:10px;text-align:left}.invoice-table th{background-color:#f5f5f5;font-weight:600}.invoice-table .total-row{background-color:#f0f0f0;font-weight:600}.invoice-table .total-row td:first-child{text-align:right}.editable-table input{border:1px solid #ccc;border-radius:3px;padding:6px 8px;width:100%}.actions{display:flex;justify-content:flex-end;margin-top:10px}.btn{padding:6px 12px;transition:background-color .2s}.btn-add{background-color:#4caf50;color:#fff}.btn-add:hover{background-color:#45a049}.btn-remove{background-color:#f44336;color:#fff}.btn-remove:hover{background-color:#d32f2f}.description-box{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;padding:10px}.description-box ul{margin:0;padding-left:20px}.description-box li{margin-bottom:5px}.btn-cancel:hover{background-color:#e0e0e0}.btn-save{background-color:#2196f3}.btn-save:hover{background-color:#0b7dda}.btn-save:disabled{background-color:#b0bec5;cursor:not-allowed}.info-message{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#0d47a1;font-size:14px;margin-bottom:15px;padding:8px 12px}.success-message{background-color:#e8f5e9;border-left-color:#4caf50;color:#2e7d32}.error-message{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828;margin-bottom:15px;padding:10px}.input-with-icon{align-items:center;display:inline-flex;margin:0;width:auto}.input-with-icon .clickable-input{box-sizing:border-box;display:inline-block;margin:0;min-width:150px;width:auto!important}.invoice-print-page{align-items:center;font-family:Arial,sans-serif;margin:0 auto;max-width:800px;padding:20px}.invoice-container{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;margin-top:20px;padding:20px}.invoice-preview{border:none;box-shadow:none;padding:0}@media print{@page{size:A4;margin:7.5mm}.no-print{display:none!important}.invoice-print-page{height:100%;margin:0;max-width:100%;padding:0}.invoice-container{border:none;box-shadow:none;height:100%;padding:0}body{background-color:#fff;margin:0}body,html{height:100%}.invoice-preview{box-shadow:none;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-height:295mm;max-width:210mm;min-height:auto;position:relative;width:100%}.invoice-content{flex:1 1;position:relative}.invoice-header{margin-bottom:1mm}.client-info-table{margin-bottom:0}hr{margin:2.5mm 0}.invoice-items{margin-top:0}.invoice-totals{bottom:40mm;margin-top:0;position:absolute;right:0}.payment-info{bottom:20mm;left:0;position:absolute;width:100%}.invoice-items table{margin-bottom:40mm}.client-info-table,.invoice-header,.invoice-items,.invoice-totals,.payment-info{page-break-inside:avoid}}.invoice-report{background-color:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.report-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:30px;text-align:center}.report-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:10px}.report-description{color:#6c757d;font-size:1.1rem;line-height:1.6;margin:0}.report-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:25px}.report-filters h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.quarter-presets{background-color:#f8f9fa;border-left:4px solid #28a745;border-radius:6px;margin-bottom:25px;padding:20px}.quarter-presets h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:15px}.quarter-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.quarter-buttons .btn-quarter{background-color:#28a745!important;border:none!important;border-radius:5px!important;color:#fff!important;cursor:pointer!important;display:block!important;font-size:.9rem!important;font-weight:600!important;min-width:auto!important;opacity:1!important;padding:10px 16px!important;text-align:center!important;transition:all .3s ease!important;width:100%!important}.quarter-buttons .btn-quarter:hover{background-color:#218838!important;box-shadow:0 3px 6px #28a7454d!important;opacity:1!important;transform:translateY(-1px)!important}.quarter-buttons .btn-year{background-color:#17a2b8!important;grid-column:span 2}.quarter-buttons .btn-year:hover{background-color:#138496!important;box-shadow:0 3px 6px #17a2b84d!important}.current-selection{margin-top:15px;text-align:center}.selection-indicator{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:20px;color:#1976d2;display:inline-block;font-size:.9rem;font-weight:500;padding:8px 16px}.filters-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:25px}.filter-group{gap:8px}.filter-group label{color:#495057;font-size:.95rem;font-weight:600}.filter-group input[type=date]{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:12px;transition:border-color .3s ease}.filter-group input[type=date]:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.date-display{color:#6c757d;font-size:.9rem;font-style:italic}.filter-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-end}.filter-actions .btn{align-items:center!important;border:none!important;border-radius:6px!important;cursor:pointer!important;display:inline-flex!important;font-size:1rem!important;font-weight:600!important;gap:8px!important;min-width:auto!important;opacity:1!important;padding:12px 24px!important;text-decoration:none!important;transition:all .3s ease!important}.filter-actions .btn:disabled{cursor:not-allowed!important;opacity:.6!important}.filter-actions .btn-primary{background-color:#007bff!important;color:#fff!important}.filter-actions .btn-primary:hover:not(:disabled){background-color:#0056b3!important;box-shadow:0 4px 8px #007bff4d!important;opacity:1!important;transform:translateY(-1px)!important}.filter-actions .btn-secondary{background-color:#6c757d!important;color:#fff!important}.filter-actions .btn-secondary:hover{background-color:#545b62!important;opacity:1!important;transform:translateY(-1px)!important}.report-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:25px}.report-info h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.info-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;padding:20px}.info-item strong{color:#2c3e50;display:block;font-size:1.1rem;margin-bottom:10px}.info-item ul{margin:0;padding-left:20px}.info-item li{color:#495057;line-height:1.5;margin-bottom:5px}.report-preview{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.report-preview h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.report-preview p{color:#6c757d;font-size:1.05rem;line-height:1.6;margin-bottom:20px}.sample-table{border:1px solid #e9ecef;border-radius:6px;overflow-x:auto}.sample-table table{border-collapse:collapse;font-size:.9rem;width:100%}.sample-table th{background-color:#366092;border-bottom:2px solid #2c4a6b;color:#fff;font-weight:600;padding:12px 8px;text-align:center}.sample-table td{border-bottom:1px solid #e9ecef;padding:10px 8px;text-align:center}.sample-row{background-color:#f8f9fa}.sample-row td{color:#6c757d;font-style:italic}@media (max-width:768px){.invoice-report{padding:15px}.report-header{padding:20px}.report-header h1{font-size:1.8rem}.filters-container{grid-template-columns:1fr}.filter-actions{justify-content:center}.info-grid{grid-template-columns:1fr}.quarter-buttons{grid-template-columns:repeat(2,1fr)}.sample-table{font-size:.8rem}.sample-table td,.sample-table th{padding:8px 4px}}@media (max-width:480px){.filter-actions .btn{font-size:.9rem!important;justify-content:center!important;padding:10px 16px!important;width:100%!important}.filter-actions{flex-direction:column}.quarter-buttons{grid-template-columns:1fr}.quarter-buttons .btn-quarter{font-size:.95rem!important;padding:12px 16px!important}.quarter-buttons .btn-year{grid-column:span 1}}.client-selection-modal{padding:20px}.modal-description{margin-bottom:20px}.modal-description p{color:#666;font-size:14px;line-height:1.5;margin:0}.client-search-section,.description-section{margin-bottom:20px}.client-search-section label,.description-section label{color:#333;display:block;font-weight:500;margin-bottom:8px}.description-section textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:14px;min-height:80px;padding:8px 12px;resize:vertical;width:100%}.description-section textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.error-message{border-radius:4px;font-size:14px;padding:10px 15px}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding-top:20px}.btn{min-width:80px}@media (max-width:480px){.client-selection-modal{padding:15px}.modal-actions{flex-direction:column}.btn{width:100%}}.template-search-container{margin-bottom:20px;position:relative}.search-input-container{align-items:center;display:flex}.template-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 60px 10px 15px;transition:border-color .2s,box-shadow .2s;width:100%}.template-search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.search-actions{align-items:center;display:flex;gap:4px;position:absolute;right:8px}.category-filter-btn,.clear-search-btn{background:none;border:none;border-radius:3px;color:#666;cursor:pointer;font-size:12px;padding:4px 6px;transition:background-color .2s,color .2s}.category-filter-btn:hover,.clear-search-btn:hover{background-color:#f0f0f0;color:#333}.category-filter-btn{font-size:14px}.category-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 2px 8px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.category-dropdown-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#666;font-size:12px;font-weight:600;padding:8px 12px}.category-options{padding:4px 0}.category-option{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:8px 12px;text-align:left;transition:background-color .2s;width:100%}.category-option:hover{background-color:#f8f9fa}.category-option.selected{background-color:#007bff;color:#fff}.category-option.selected:hover{background-color:#0056b3}.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.filter-tag{background-color:#e3f2fd;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px}.filter-tag,.filter-tag button{align-items:center;color:#1976d2}.filter-tag button{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:10px;height:14px;justify-content:center;margin-left:2px;padding:0;transition:background-color .2s;width:14px}.filter-tag button:hover{background-color:#1976d21a}@media (max-width:768px){.template-search-input{font-size:13px;padding:8px 50px 8px 12px}.search-actions{right:6px}.category-filter-btn,.clear-search-btn{font-size:11px;padding:3px 4px}.category-filter-btn{font-size:12px}.active-filters{margin-top:6px}.filter-tag{font-size:11px;padding:3px 6px}}@media (max-width:480px){.template-search-input{font-size:12px;padding:6px 45px 6px 10px}.category-dropdown{max-height:150px}.category-option{font-size:13px;padding:6px 10px}}.quote-list-container{margin:0 auto;max-width:1200px;padding:20px}.quote-list-header{align-items:center;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.quote-list-header h1{color:#333;margin:0}.header-actions{display:flex;gap:10px}.quote-templates-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:40px;padding:20px}.quote-templates-section h2{color:#333;font-size:1.4rem;margin-bottom:10px}.section-description{color:#666;font-style:italic;margin-bottom:20px}.templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:20px}.template-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;transition:box-shadow .2s}.template-card:hover{box-shadow:0 4px 12px #00000026}.template-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.template-header h3{color:#333;flex:1 1;font-size:1.1rem;margin:0}.template-category{background:#007bff;border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;margin-left:10px;padding:2px 8px}.template-description{color:#666;font-size:.9rem;font-style:italic;margin:10px 0}.template-details{margin:15px 0}.template-items{margin-bottom:10px}.template-items ul{margin:5px 0 0;padding-left:20px}.template-items li{color:#555;font-size:.85rem;margin:2px 0}.template-total{background:#e3f2fd;font-size:.9rem;padding:8px;text-align:center}.template-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.templates-actions{border-top:1px solid #e9ecef;padding-top:20px;text-align:center}.no-templates-found{padding:40px 20px;text-align:center}.no-results,.no-templates{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 0;padding:30px}.no-results p,.no-templates p{color:#666;font-size:16px;margin:0 0 15px}.no-templates p{margin-bottom:0}.quotes-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#333;font-size:1.4rem;margin:0}.section-actions{display:flex;gap:10px}.search-container{margin-bottom:20px}.search-input-container{max-width:600px;position:relative}.search-input{border:2px solid #ddd;border-radius:8px;font-size:16px;padding:12px 40px 12px 16px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#007bff;outline:none}.search-clear-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.search-clear-btn:hover{color:#666}.search-info{color:#666;font-size:14px;margin-top:8px}.filters-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:15px}.filters-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#555;font-size:14px;font-weight:500;margin-bottom:5px}.filter-group input,.filter-group select{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px}.table-container{margin-bottom:20px}.quotes-table{border-collapse:collapse;font-size:14px;width:100%}.quotes-table td,.quotes-table th{border-bottom:1px solid #ddd;padding:12px 8px;text-align:left}.quotes-table th{background-color:#f8f9fa;color:#333;font-weight:600;position:sticky;top:0;z-index:10}.quotes-table th.sortable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.quotes-table th.sortable:hover{background-color:#e9ecef}.quotes-table th.sorted-asc:after{color:#007bff;content:" ↑"}.quotes-table th.sorted-desc:after{color:#007bff;content:" ↓"}.quotes-table tbody tr:hover{background-color:#f8f9fa}.quote-number-link{color:#007bff;font-weight:500;text-decoration:none}.quote-number-link:hover{text-decoration:underline}.amount{font-weight:500;text-align:right}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-draft{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.status-sent{background-color:#cce5ff;border:1px solid #99d6ff;color:#0056b3}.status-accepted{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-rejected{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-converted{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-unknown{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.actions-cell{text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.pagination-container{align-items:center;border-top:1px solid #ddd;display:flex;justify-content:space-between;margin-top:20px;padding-top:20px}.pagination-info{color:#666;font-size:14px}.pagination-controls{display:flex;gap:5px}.loading-overlay{align-items:center;color:#666;display:flex;font-size:16px;height:200px;justify-content:center}.no-results{color:#666;padding:40px 20px;text-align:center}.no-results p{font-size:16px;margin:0}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#1e7e34}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#117a8b}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}@media (max-width:768px){.quote-list-container{padding:15px}.quote-list-header{align-items:flex-start;flex-direction:column;gap:15px}.filters-grid,.templates-grid{grid-template-columns:1fr}.pagination-container{align-items:center;flex-direction:column;gap:15px}.action-buttons{flex-direction:column}}.quote-preview{background-color:#fff;border:1px solid #ddd;box-shadow:0 2px 5px #0000001a;display:block;font-size:13px;line-height:1.4;min-height:700px;padding:20px;position:relative}.quote-header{display:flex;justify-content:space-between;margin-bottom:20px}.company-info h2{color:#333;font-size:18px;margin:0 0 10px}.company-info p{font-size:11px;margin:2px 0}.quote-info{text-align:right}.quote-info p{margin:5px 0}hr{border:none;border-top:1px solid #ddd;margin:15px 0}.client-info-table{margin-bottom:15px}.client-info-table table{border-collapse:collapse;width:100%}.client-info-table td{border:none;padding:4px 8px;vertical-align:top}.client-info-table .address-label,.client-info-table .cif-label,.client-info-table .client-label{font-weight:600;width:15%}.client-info-table .client-data{width:40%}.client-info-table .cif-label{width:10%}.client-info-table .cif-data{width:35%}.client-info-table .address-data{padding-top:4px}.quote-content{margin-bottom:20px}.quote-description{margin:15px 0}.quote-description p{line-height:1.4;margin:0;padding:3px 0}.quote-items{margin-bottom:20px}.quote-items table{border-collapse:collapse;margin-bottom:20px;width:100%}.quote-items td,.quote-items th{border:1px solid #ddd;padding:8px;text-align:left}.quote-items th{background-color:#f5f5f5;font-weight:600}.quote-items .description-col{width:70%}.quote-items .amount-col{width:30%}.quote-items .amount{text-align:right}.quote-footer{margin-top:10px}.quote-totals{margin-bottom:20px;margin-left:auto;max-width:300px;width:100%}.quote-totals .total-row{border-bottom:1px dotted #ccc;display:flex;justify-content:space-between;padding:6px 10px}.quote-totals .grand-total{border-bottom:2px solid #000;border-top:1px solid #000;font-size:14px;font-weight:700;margin-top:5px;padding:8px 10px}.payment-info{font-size:11px;margin-top:10px}.payment-info .payment-row{display:flex;gap:10px;margin-bottom:5px}.payment-info .payment-row span:first-child{font-weight:600;min-width:100px}.bank-account-info{margin-top:5px}@media print{.quote-preview{border:none;box-shadow:none;margin:0 auto;min-height:297mm;padding:0;width:210mm}.quote-footer{align-items:flex-end;bottom:20mm;display:flex;flex-direction:column;left:0;margin:0 auto;position:absolute;right:0}.quote-content{margin-bottom:100mm}}.quote-page{max-width:100%;overflow-x:hidden;padding:20px}.quote-container{display:flex;flex-direction:column;gap:20px}.quote-form-container{background-color:#fff;overflow-y:auto}.quote-form-container,.quote-preview-container{border-radius:8px;box-shadow:0 2px 10px #0000001a;flex:1 1;padding:20px;width:100%}.quote-preview-container{background-color:#f9f9f9}@media (min-width:1200px){.quote-container{flex-direction:row}.quote-form-container{max-height:calc(100vh - 100px);max-width:60%}.quote-preview-container{max-height:calc(100vh - 100px);max-width:40%;overflow-y:auto;position:sticky;top:20px}}.form-group textarea{min-height:100px}.client-details,.project-details{background-color:#f5f5f5;border-radius:4px;display:flex;flex-wrap:wrap;gap:20px;margin-top:15px;padding:10px}.client-details .form-group,.project-details .form-group{margin-bottom:0;min-width:200px}.client-details label,.project-details label{color:#333;font-weight:600;margin-bottom:3px}.client-details p,.project-details p{margin:0}.project-items{margin-top:15px}.items-section{margin-bottom:20px}.items-section h4{color:#333;font-size:1rem;margin-bottom:10px}.table-container{margin-bottom:15px;overflow-x:auto}.items-table{border-collapse:collapse;font-size:14px;width:100%}.items-table .amount{font-weight:500;text-align:right}.manual-item-form{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:15px}.manual-items-list{margin-top:15px}.manual-items-list h4{color:#333;font-size:1rem;margin-bottom:10px}.totals-section{border-bottom:none}.totals{margin-left:auto;width:300px}.total-row{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:8px 0}.grand-total{border-bottom:2px solid #333;color:#333;font-size:16px;font-weight:700;margin-top:5px}.form-actions{margin-top:20px}@media (max-width:768px){.quote-page{padding:15px}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:15px}.client-details,.project-details{flex-direction:column;gap:10px}.totals{width:100%}.form-actions{flex-direction:column}}.quote-print-page{align-items:center;font-family:Arial,sans-serif;margin:0 auto;max-width:800px;padding:20px}.controls{display:flex;justify-content:space-between;margin-bottom:50px}.back-btn,.print-btn{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 15px}.back-btn{background-color:#6c757d;color:#fff}.print-btn{background-color:#007bff;color:#fff}.quote-container{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;margin-top:20px;padding:20px}.error,.loading{align-items:center;color:#666;display:flex;font-size:16px;height:200px;justify-content:center}.error{color:#dc3545}.quote-preview{border:none;box-shadow:none;padding:0}@media print{@page{size:A4;margin:7.5mm}.no-print{display:none!important}.quote-print-page{height:100%;margin:0;max-width:100%;padding:0}.quote-container{border:none;box-shadow:none;height:100%;padding:0}body{background-color:#fff;margin:0}body,html{height:100%}.quote-preview{box-shadow:none;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-height:295mm;max-width:210mm;min-height:auto;position:relative;width:100%}.quote-content{flex:1 1;position:relative}.quote-header{margin-bottom:1mm}.client-info-table{margin-bottom:0}hr{margin:2.5mm 0}.quote-items{margin-top:0}.quote-totals{bottom:40mm;margin-top:0;position:absolute;right:0}.payment-info{bottom:20mm;left:0;position:absolute;width:100%}.quote-items table{margin-bottom:40mm}.client-info-table,.payment-info,.quote-header,.quote-items,.quote-totals{page-break-inside:avoid}}.template-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:1000px;padding:20px}.form-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:15px}.form-header h1{color:#333;font-size:1.8rem;margin:0 0 15px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;color:#721c24;font-weight:500;margin-bottom:20px;padding:15px}.form-section{border-bottom:1px solid #e0e0e0;margin-bottom:25px;padding-bottom:15px}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#333;font-size:1.2rem;margin-bottom:15px}.form-section h4{color:#333;font-size:1rem;margin-bottom:10px}.form-group,.form-row{margin-bottom:15px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1;margin-bottom:0}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:5px}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.checkbox-label input[type=checkbox]{margin:0;width:auto!important}.form-group input,.form-group select,.form-group textarea{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.add-item-form{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:15px}.items-list{margin-top:20px}.items-table{margin-bottom:15px;overflow-x:auto}.items-table table{border-collapse:collapse;font-size:14px;width:100%}.items-table td,.items-table th{border:1px solid #ddd;padding:10px;text-align:left}.items-table th{color:#333;font-weight:600}.items-table tbody tr:hover,.items-table th{background-color:#f8f9fa}.item-actions{display:flex;gap:5px;justify-content:center}.template-total{background-color:#e3f2fd;border-radius:4px;color:#1976d2;font-size:1.1rem;padding:15px;text-align:right}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-cancel{background-color:#f5f5f5;border:1px solid #ccc;color:#333}.btn-cancel:hover{background-color:#e9ecef}.btn-save{background-color:#28a745;color:#fff}.btn-save:hover{background-color:#1e7e34}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{font-size:12px;padding:4px 8px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:disabled:hover{background-color:inherit}.loading{align-items:center;color:#666;display:flex;font-size:16px;height:200px;justify-content:center}@media (max-width:768px){.template-form-container{margin:15px;padding:15px}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:15px}.form-actions,.item-actions{flex-direction:column}.item-actions{gap:2px}.items-table{font-size:12px}.items-table td,.items-table th{padding:6px 4px}}@media (max-width:480px){.template-form-container{margin:10px;padding:10px}.form-header h1{font-size:1.4rem}.add-item-form{padding:10px}}
/*# sourceMappingURL=main.6d7f38a1.css.map*/