body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo-container{margin-bottom:30px;text-align:center}.logo{height:60px;object-fit:contain;width:120px}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.login-header h2{color:#718096;font-size:18px;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.input-group{position:relative}.form-input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-size:16px;padding:16px;transition:all .3s ease}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{cursor:not-allowed;opacity:.6}.form-input::placeholder{color:#a0aec0}.form-input-error{background:#fed7d7;border-color:#e53e3e!important}.form-input-error:focus{border-color:#e53e3e!important;box-shadow:0 0 0 3px #e53e3e1a!important}.field-error-message{align-items:center;color:#e53e3e;display:flex;font-size:12px;margin-left:4px;margin-top:4px}.field-error-message:before{content:"⚠";font-size:10px;margin-right:4px}.error-message{animation:shake .5s ease-in-out;background:#fed7d7;border-radius:8px;color:#e53e3e;font-size:14px;padding:12px;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover:before{left:100%}@media (max-width:480px){.login-card{margin:10px;padding:30px 20px}.login-header h1{font-size:24px}.form-input,.login-button{font-size:14px;padding:14px}}.invoice-actions{display:flex;flex-direction:column;gap:8px;min-width:180px}.action-group{flex-wrap:wrap;gap:4px}.action-btn,.action-group{align-items:center;display:flex}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;height:32px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.action-btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.action-btn.pdf{background:#e53e3e;color:#fff}.action-btn.pdf:hover{background:#c53030}.action-btn.edit{background:#3182ce;color:#fff}.action-btn.edit:hover{background:#2c5aa0}.action-btn.delete{background:#e53e3e;color:#fff}.action-btn.delete:hover{background:#c53030}.action-btn.divide{background:#805ad5;color:#fff}.action-btn.divide:hover{background:#6b46c1}.action-btn.split{background:#f56500;color:#fff}.action-btn.split:hover{background:#dd6b20}.action-btn.check{background:#38a169;color:#fff}.action-btn.check:hover{background:#2f855a}.action-btn.return{background:#ed8936;color:#fff}.action-btn.return:hover{background:#dd6b20}.action-btn.view{background:#3182ce;color:#fff}.action-btn.view:hover{background:#2c5aa0}.action-btn.pay{background:#38a169;color:#fff}.action-btn.pay:hover{background:#2f855a}.action-btn.info{background:#805ad5;color:#fff}.action-btn.info:hover{background:#6b46c1}.action-group.admin,.action-group.supervision{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:8px}.action-group.admin{flex-wrap:wrap}.action-btn:before{background:#2d3748;border-radius:4px;color:#fff;content:attr(title);font-size:12px;padding:4px 8px;white-space:nowrap}.action-btn:after,.action-btn:before{bottom:100%;left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:all .2s ease;visibility:hidden;z-index:100}.action-btn:after{border:4px solid #0000;border-top-color:#2d3748;content:""}.action-btn:hover:after,.action-btn:hover:before{bottom:calc(100% + 8px);opacity:1;visibility:visible}.action-btn:hover:after{bottom:calc(100% + 4px)}@media (max-width:768px){.invoice-actions{min-width:150px}.action-btn{font-size:12px;height:28px;width:28px}.action-btn.return{padding:0}}@media (max-width:600px){.invoice-actions{min-width:120px}.action-group{gap:2px}.action-btn{font-size:11px;height:24px;width:24px}.action-btn.return{padding:0}.action-btn:after,.action-btn:before{display:none}}.modal-backdrop{background:#00000080}.modal-content.info-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-height:90%;max-width:400px;overflow:auto;width:90%}.modal-header{padding:1rem 1.5rem}.modal-header h5{color:#2d3748;font-size:1.1rem;font-weight:600}.modal-close{border-radius:4px;font-size:1.5rem;transition:background-color .2s}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:1.5rem}.info-item{align-items:center;background:#f7fafc;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.info-item:last-child{margin-bottom:0}.info-item strong{color:#2d3748;font-weight:600}.info-item span{color:#4a5568;font-weight:500;max-width:60%;text-align:right}.modal-footer{border-top:1px solid #e2e8f0;padding:1rem 1.5rem}.btn{border-radius:6px;padding:.5rem 1rem;transition:all .2s}.btn.btn-secondary{background:#e2e8f0;color:#4a5568}.btn.btn-secondary:hover{background:#cbd5e0}.invoice-table-container{background:#f8fafc;flex:1 1;padding:24px}.table-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:24px;padding:24px}.table-header h2{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 20px}.table-controls{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.filter-controls{gap:16px;justify-content:space-between}.filter-group{display:flex;gap:20px}.filter-group label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:8px}.filter-group input[type=radio]{accent-color:#3182ce;margin:0}.search-controls{align-items:center;display:flex}.search-input{border-radius:8px}.date-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.date-controls span{color:#4a5568;font-size:14px;font-weight:500}.date-input{padding:8px 12px}.refresh-btn{align-items:center;background:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.refresh-btn:hover{background:#2c5aa0}.bulk-actions{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:16px}.bulk-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.bulk-btn.viewed{background:#3182ce;color:#fff}.bulk-btn.viewed:hover{background:#2c5aa0}.bulk-btn.paid{background:#38a169;color:#fff}.bulk-btn.paid:hover{background:#2f855a}.bulk-btn.attached{background:#4a5568;color:#fff}.bulk-btn.attached:hover{background:#2d3748}.legend{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.invoice-table{border-collapse:collapse;font-size:14px;width:100%}.invoice-table thead{background:#f7fafc}.invoice-table th{border-bottom:1px solid #e2e8f0;color:#2d3748;font-weight:600;padding:16px 12px;text-align:left}.invoice-table td{border-bottom:1px solid #f1f5f9;padding:12px;vertical-align:middle}.invoice-table tbody tr:hover{background:#f8fafc}.invoice-table tbody tr.invalid-services{background:#fed7d7}.invoice-table tbody tr.invalid-services:hover{background:#feb2b2}.status-badge.default{background:#e2e8f0;color:#4a5568}.status-badge.viewed{background:#3182ce;color:#fff}.status-badge.attached{background:#4a5568;color:#fff}.status-badge.invalid{background:#e53e3e;color:#fff}.status-badges{align-items:center;display:flex;gap:4px}.status-badges .status-badge.attached{min-width:auto;padding:4px 6px}.invalid-project{background:#e53e3e;border-radius:4px;color:#fff;font-weight:600;padding:4px 8px}.city-cell,.os-cell,.pms-cell,.title-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{color:#718096;padding:60px 20px;text-align:center}.empty-state i{color:#cbd5e0;font-size:48px;margin-bottom:16px}.empty-state h3{font-size:20px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:16px;margin:0}.loading-state{padding:80px 20px}@media (max-width:1200px){.table-controls{align-items:stretch;flex-direction:column}.filter-controls{align-items:flex-start;flex-direction:column}.date-controls{flex-wrap:wrap}.search-input{max-width:300px;width:100%}}@media (max-width:768px){.invoice-table-container,.table-header{padding:16px}.table-header h2{font-size:20px}.filter-group{flex-direction:column;gap:12px}.date-controls{align-items:flex-start;flex-direction:column}.date-input{width:100%}.bulk-actions,.legend{flex-direction:column}.legend{align-items:flex-start}.invoice-table{font-size:12px}.invoice-table td,.invoice-table th{padding:8px 6px}.city-cell,.os-cell,.pms-cell,.title-cell{max-width:100px}}@media (max-width:600px){.invoice-table-container{padding:12px}.table-wrapper{overflow-x:auto}.invoice-table{min-width:800px}}.sidebar{background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:all .3s ease;width:250px;z-index:1000}.sidebar.closed{transform:translateX(-100%)}.sidebar-header{border-bottom:1px solid #fff3;padding:20px;text-align:center}.sidebar-logo{display:block;height:20px;margin-bottom:8px;margin-left:auto;margin-right:auto;object-fit:contain;width:40px}.sidebar.closed .sidebar-logo{height:15px;width:30px}.sidebar-header h3{font-size:18px;font-weight:600;margin:0;transition:opacity .3s ease}.sidebar.closed .sidebar-header h3{font-size:12px;opacity:0}.sidebar-content{flex:1 1;overflow-y:auto;padding:20px 0}.sidebar.closed .sidebar-content{padding:10px 0}.sidebar-section{margin-bottom:30px}.sidebar.closed .sidebar-section{margin-bottom:20px}.section-title{margin:0 0 12px 20px;transition:opacity .3s ease}.section-title,.section-title-collapsible{color:#fffc;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.section-title-collapsible{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;text-align:left;transition:all .3s ease;width:100%}.section-title-collapsible:hover{background:#ffffff1a;color:#fff}.section-title-collapsible i{font-size:12px;transition:transform .3s ease}.sidebar.closed .section-title{height:0;margin:0;opacity:0;overflow:hidden}.sidebar.closed .section-title-collapsible{height:0;opacity:0;overflow:hidden;padding:0}.reports-list,.teams-list{list-style:none;margin:0;padding:0}.reports-list li,.teams-list li{margin-bottom:4px}.report-button,.team-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 20px;text-align:left;transition:all .3s ease;width:100%}.sidebar.closed .report-button,.sidebar.closed .team-button{justify-content:center;padding:12px 18px}.report-button:hover,.team-button:hover{background:#ffffff1a;padding-left:24px}.sidebar.closed .report-button:hover,.sidebar.closed .team-button:hover{padding-left:18px}.teams-list li.active .team-button{background:#ffffff26;border-left:4px solid #fff;padding-left:16px}.sidebar.closed .teams-list li.active .team-button{border-left:4px solid #fff;padding-left:14px}.notification-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:11px;font-weight:600;min-width:18px;opacity:1;padding:2px 6px;text-align:center;transition:opacity .3s ease}.sidebar.closed .notification-badge{opacity:0;position:absolute}.new-invoice-button{align-items:center;background:#ffffff26;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin:0 20px;padding:14px 20px;transition:all .3s ease;width:calc(100% - 40px)}.sidebar.closed .new-invoice-button{margin:0 10px;padding:12px;width:calc(100% - 20px)}.sidebar.closed .new-invoice-button span{display:none}.new-invoice-button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.new-invoice-button i{font-size:16px}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#ffffff1a}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar.closed .new-invoice-button span,.sidebar.closed .report-button span,.sidebar.closed .team-button span:not(.notification-badge){opacity:0;overflow:hidden;white-space:nowrap;width:0}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%);width:250px}}@media (max-width:768px){.sidebar{width:280px}.sidebar-header{padding:16px}.new-invoice-button,.report-button,.team-button{font-size:16px;padding:16px 20px}}.admin-list{list-style:none;margin:0;padding:0}.admin-button{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:flex-start;padding:12px 20px;text-align:left;transition:all .3s ease;width:100%}.admin-button:hover{background:#ffffff1a;padding-left:24px}.admin-button i{margin-right:8px;text-align:center;width:16px}.sidebar.closed .admin-list{display:none}.sidebar.closed .admin-button{justify-content:center;padding:12px 18px}.sidebar.closed .admin-button:hover{padding-left:18px}.sidebar.closed .admin-button span{opacity:0;overflow:hidden;white-space:nowrap;width:0}.sidebar-footer{background:#0000001a;border-top:1px solid #fff3;flex-shrink:0;padding:16px 20px}.version-info{align-items:center;display:flex;flex-direction:column;text-align:center}.version-label{color:#fff9;font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.version-number{color:#ffffffe6;font-size:13px;font-weight:600}.sidebar.closed .sidebar-footer{height:0;opacity:0;overflow:hidden;padding:0}.home-page{background:#f8fafc;display:flex;min-height:100vh}.home-content{display:flex;flex:1 1;flex-direction:column;margin-left:250px;transition:margin-left .3s ease}.home-content.sidebar-closed{margin-left:0}.home-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:16px 24px;z-index:10}.sidebar-toggle-btn{align-items:center;background:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:background-color .2s}.sidebar-toggle-btn:hover{background:#2c5aa0}.sidebar-toggle-btn i{font-size:16px}.user-info{align-items:center;display:flex;gap:12px}.user-email{color:#4a5568;font-size:14px;font-weight:500}.admin-badge{background:#48bb78;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.logout-btn{background:none;border:none;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.logout-btn:hover{color:#e53e3e;transform:translateY(-1px)}.welcome-section{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px}.welcome-content{max-width:600px;text-align:center}.welcome-content h1{color:#2d3748;font-size:36px;font-weight:700;margin-bottom:16px}.welcome-content p{color:#718096;font-size:18px;line-height:1.6;margin-bottom:40px}.welcome-stats{display:flex;gap:24px;justify-content:center}.stat-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;min-width:120px;padding:24px}.stat-card h3{color:#3182ce;font-size:32px;font-weight:700;margin:0 0 8px}.stat-card p{color:#718096;font-size:14px;margin:0}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border-top-color:#3182ce}.loading-state p{color:#718096;font-size:16px;margin:0}@media (max-width:1024px){.home-content,.home-content.sidebar-closed{margin-left:0}.welcome-content h1{font-size:28px}.welcome-content p{font-size:16px}.welcome-stats{align-items:center;flex-direction:column}}@media (max-width:768px){.home-header{padding:12px 16px}.sidebar-toggle-btn span{display:none}.user-info{align-items:flex-end;flex-direction:column;gap:8px}.logout-btn{font-size:12px;padding:6px 12px}.welcome-section{padding:20px}.welcome-content h1{font-size:24px}.welcome-content p{font-size:14px}}.pdf-viewer-container{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.info-table-1 td,.info-table-2 td,.left-align{text-align:left!important}.pdf-actions{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pdf-btn{align-items:center;border-radius:6px;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.pdf-btn:disabled{cursor:not-allowed;opacity:.6}.pdf-btn.download{background:#3182ce;color:#fff}.pdf-btn.download:hover:not(:disabled){background:#2c5aa0}.pdf-btn.print{background:#38a169;color:#fff}.pdf-btn.print:hover{background:#2f855a}.pdf-btn.close{background:#e53e3e;color:#fff}.pdf-btn.close:hover{background:#c53030}.pdf-error{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.pdf-error h2{color:#2d3748;font-size:24px;margin-bottom:12px}.pdf-error p{font-size:16px}.pdf-content{background:#fff;box-shadow:0 4px 6px #0000001a;color:#000;flex:1 1;font-family:Arial,sans-serif;margin:20px auto;max-width:210mm;padding:20mm}.pdf-header{margin-bottom:20px}.header-table{border-collapse:collapse;width:100%}.logo-cell{padding:8px;text-align:center;vertical-align:middle}.company-name{font-size:16px;font-weight:700;padding:4px 8px}.header-table td{font-size:12px;padding:4px 8px}.pdf-title{margin:30px 0}.title-table{border-collapse:collapse;width:100%}.title-table th{background:#f8f9fa;border:1px solid #000;font-size:14px;font-weight:700;padding:12px;text-align:center}.pdf-info{margin:20px 0}.info-table-1,.info-table-2{border:1px solid #000;margin-bottom:10px}.info-table-1 td,.info-table-2 td{border:1px solid #000;font-size:12px;padding:6px 8px}.label-cell{width:15%}.value-cell{background:#fff}.pdf-services{margin:20px 0}.services-table{border:1px solid #000;border-collapse:collapse;width:100%}.services-table td,.services-table th{border:1px solid #000;font-size:11px;padding:8px 6px;text-align:left}.services-table th{background:#f8f9fa;font-weight:700;text-align:center}.services-table td:nth-child(3),.services-table td:nth-child(4),.services-table td:nth-child(6),.services-table td:nth-child(7){text-align:right}.services-table tfoot td{background:#f8f9fa;font-weight:700}.total-label{text-align:center!important}.total-value{text-align:right!important}.pdf-observation{margin:20px 0}.obs-table{border:1px solid #000;border-collapse:collapse;width:100%}.obs-table th{background:#f8f9fa;border:1px solid #000;font-weight:700;padding:8px;text-align:left}.obs-content{border:1px solid #000;min-height:80px;padding:12px;vertical-align:top}.pdf-photos{margin-top:40px}.photo-title-table{border-collapse:collapse;margin-bottom:20px;width:100%}.photo-title-table th{background:#f8f9fa;border:1px solid #000;font-weight:700;padding:12px;text-align:center}.photos-grid{display:flex;flex-direction:column;gap:20px}.photo-item{page-break-inside:avoid}.photo-table{border:1px solid #000;border-collapse:collapse;width:100%}.photo-table td{border:1px solid #000;padding:8px;vertical-align:top}.photo-image{text-align:center;width:300px}.photo-image img{border:1px solid #ddd;height:auto;max-width:100%}.photo-label{background:#f8f9fa;font-weight:700;width:200px}.photo-obs,.photo-pg{word-wrap:break-word;max-width:200px;min-height:60px}.pdf-materials{margin:20px 0}.materials-title-table{border-collapse:collapse;margin-bottom:20px;width:100%}.materials-title-table th{background:#f8f9fa;border:1px solid #000;font-weight:700;padding:12px;text-align:center}.materials-table{border:1px solid #000;border-collapse:collapse;width:100%}.materials-table td,.materials-table th{border:1px solid #000;font-size:12px;padding:8px;text-align:left}.materials-table th{background:#f8f9fa;font-weight:700;text-align:center}.page-break{margin:20px 0}@media print{.pdf-viewer-container{background:#fff}.no-print{display:none!important}.pdf-content{box-shadow:none;margin:0;max-width:none;padding:15mm}.page-break{height:0;margin:0;page-break-before:always}.photo-item,.services-table{page-break-inside:avoid}}@media (max-width:768px){.pdf-content{font-size:12px;margin:10px;padding:15mm 10mm}.pdf-actions{flex-direction:column;gap:8px}.pdf-btn{justify-content:center;width:100%}.info-table-1,.info-table-2,.services-table{font-size:10px}.services-table td,.services-table th{padding:4px 2px}.photo-image{width:100%}.photo-image img{max-width:250px;width:100%}}.pdf-page{background:#f5f5f5;height:100vh;margin:0;overflow:auto;padding:0;width:100vw}.pdf-page-loading{align-items:center;background:#f5f5f5;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.pdf-page-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3182ce;height:40px;margin-bottom:16px;width:40px}.pdf-page-loading p{color:#718096;font-size:16px;margin:0}body.pdf-page-body{font-family:Arial,sans-serif;margin:0;padding:0}@media print{*{color-adjust:exact!important;-webkit-print-color-adjust:exact!important}body{margin:0;padding:0}.pdf-page{background:#fff;height:auto;overflow:visible;width:auto}}.edit-page-container{background:#f5f5f5;min-height:100vh;padding:0}.edit-page-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#007bff}.edit-error{border-radius:8px;margin:20px;padding:40px;text-align:center}.edit-error,.edit-navbar{background:#fff;box-shadow:0 2px 4px #0000001a}.edit-navbar{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.edit-navbar h4{color:#333;margin:0}.edit-nav-info{color:#666;font-size:14px}.edit-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 24px;overflow:hidden}.edit-card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.edit-card-header h4{color:#333;margin:0}.edit-card-body{padding:20px}.header-form{width:100%}.info-table-1,.info-table-2{border-collapse:collapse;margin-bottom:20px;width:100%}.info-table-1 td,.info-table-2 td{border:1px solid #e0e0e0;padding:8px;vertical-align:middle}.label-cell{background:#f8f9fa;font-weight:700;text-align:left;white-space:nowrap;width:120px}.input-cell{background:#fff}.form-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.form-textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{font-size:12px;padding:4px 8px}.materials-table,.photos-table,.services-table{border-collapse:collapse;margin-top:16px;width:100%}.materials-table td,.materials-table th,.photos-table td,.photos-table th,.services-table td,.services-table th{border:1px solid #e0e0e0;padding:12px 8px;text-align:left}.materials-table th,.photos-table th,.services-table th{background-color:#f8f9fa;color:#333;font-weight:700}.materials-table tbody tr:nth-child(2n),.photos-table tbody tr:nth-child(2n),.services-table tbody tr:nth-child(2n){background-color:#f9f9f9}.materials-table tbody tr:hover,.photos-table tbody tr:hover,.services-table tbody tr:hover{background-color:#e8f4f8}.total-label{font-weight:700;text-align:center}.total-value{color:#007bff;font-weight:700;text-align:right}.text-center{color:#666;font-style:italic;text-align:center}.ml-2{margin-left:8px}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;width:90%}.modal-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 20px}.modal-header h5{color:#333;margin:0}.modal-close{align-items:center;color:#666;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#333}.modal-body{padding:20px}.modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;margin-bottom:4px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px}.form-row .form-group{margin-bottom:0}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.total-preview{color:#007bff;font-size:16px;font-weight:700}.service-modal{max-width:700px}.radio-option{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px;margin-bottom:0}.radio-option input[type=radio]{margin:0}.radio-option span{color:#333;font-size:14px}.loading-services{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-style:italic;padding:12px;text-align:center}.form-input[readOnly],.form-textarea[readOnly]{background-color:#f8f9fa;color:#666;cursor:not-allowed}.quantity-input{background-color:#fff!important;border:2px solid #007bff!important;color:#333!important;cursor:text!important}.quantity-input:focus{border-color:#0056b3!important;box-shadow:0 0 0 .2rem #007bff40!important}@media (max-width:768px){.edit-card{margin:10px}.edit-navbar{flex-direction:column;gap:8px;text-align:center}.edit-card-header{flex-direction:column;gap:12px}.materials-table,.photos-table,.services-table{font-size:12px}.materials-table td,.materials-table th,.photos-table td,.photos-table th,.services-table td,.services-table th{padding:6px 4px}.modal-content{margin:20px;width:95%}.form-row{gap:12px;grid-template-columns:1fr}}.new-invoice-container{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.new-invoice-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px}.new-invoice-header h1{color:#2d3748;font-size:28px;font-weight:700;margin:0}.invoice-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.form-section{border-bottom:1px solid #e2e8f0;padding:24px}.form-section:last-child{border-bottom:none}.form-section h3{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{margin:0}.add-btn{align-items:center;background:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.add-btn:hover{background:#2c5aa0}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#4a5568;font-size:14px;font-weight:500;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:12px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.form-textarea{min-height:80px;resize:vertical}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-group label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:8px}.radio-group input[type=radio]{accent-color:#3182ce;margin:0}.items-list{display:flex;flex-direction:column;gap:12px}.item-card{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.item-info{flex:1 1}.item-info strong{color:#2d3748;font-weight:600}.item-details{color:#718096;font-size:12px;margin-top:4px}.remove-btn{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px;transition:background-color .2s}.remove-btn:hover{background:#c53030}.totals-section{background:#f7fafc;border-top:1px solid #e2e8f0;padding:24px}.total-item{color:#2d3748;font-size:16px;margin-bottom:8px}.total-item:last-child{color:#3182ce;font-size:18px;margin-bottom:0}.form-actions{padding:24px}.form-actions,.submit-btn{display:flex;justify-content:center}.submit-btn{align-items:center;background:#38a169;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;gap:12px;min-width:200px;padding:16px 32px;transition:background-color .2s}.submit-btn:hover:not(:disabled){background:#2f855a}.submit-btn:disabled{background:#a0aec0;cursor:not-allowed}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#718096;cursor:pointer;font-size:18px;padding:4px}.modal-close:hover{color:#4a5568}.modal-body{padding:24px}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-actions{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:20px 24px}.modal-submit{background:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.modal-submit:hover:not(:disabled){background:#2c5aa0}.modal-submit:disabled{background:#a0aec0;cursor:not-allowed}@media (max-width:768px){.new-invoice-container{padding:16px}.new-invoice-header{align-items:stretch;flex-direction:column;gap:16px;padding:16px}.new-invoice-header h1{font-size:24px;text-align:center}.form-section{padding:16px}.form-grid{gap:16px;grid-template-columns:1fr}.item-card,.section-header{align-items:stretch;flex-direction:column;gap:12px}.form-actions,.totals-section{padding:16px}.submit-btn{width:100%}.modal-overlay{padding:10px}.modal-content{max-height:90vh}}@media (max-width:480px){.radio-group{flex-direction:column;gap:12px}.close-btn{font-size:12px;padding:10px 16px}}.searchable-dropdown{position:relative}.dropdown-options{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 2px 4px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-option{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:8px 12px}.dropdown-option:hover{background-color:#f8f9fa}.dropdown-option:last-child{border-bottom:none}.dropdown-option.disabled{color:#999;cursor:not-allowed;font-style:italic}.dropdown-option.disabled:hover{background-color:initial}.general-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.report-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000001a;padding:20px 24px}.header-content{max-width:1400px}.header-content h1{color:#2d3748}.close-btn{background:#e53e3e;border:none;font-weight:500;padding:12px 20px;transition:background-color .2s}.close-btn:hover{background:#c53030}.report-content{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;width:100%}.filters-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px}.filter-group,.filters-section{margin-bottom:24px}.filter-group:last-child{margin-bottom:0}.filter-group h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 12px}.teams-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.teams-header h3{margin:0}.team-controls{display:flex;gap:8px;margin-left:24px}.control-btn{background:#3182ce;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background-color .2s}.control-btn:hover{background:#2c5aa0}.teams-grid{align-items:flex-start;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important}.team-checkbox{display:inline-flex!important;flex-shrink:0;margin:0;transition:all .2s;white-space:nowrap;width:auto}.team-checkbox:hover{background:#f7fafc;border-color:#3182ce}.team-checkbox input[type=checkbox]{accent-color:#3182ce}.date-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.date-input{border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s}.date-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-input{border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:10px 16px;transition:border-color .2s;width:250px}.search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.status-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 12px;transition:border-color .2s}.status-select:focus{border-color:#3182ce;outline:none}.action-buttons{flex-wrap:wrap;gap:12px}.load-btn{align-items:center;background:#38a169;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .2s}.load-btn:hover:not(:disabled){background:#2f855a}.load-btn:disabled{background:#a0aec0;cursor:not-allowed}.export-btn{align-items:center;background:#3182ce;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .2s}.export-btn:hover{background:#2c5aa0}.summary-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:24px;padding:24px}.summary-section h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 20px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;text-align:center}.card-value{color:#3182ce;font-size:24px;font-weight:700;margin-bottom:8px}.card-label{color:#718096;font-size:14px;font-weight:500}.results-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px}.results-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.table-wrapper{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.report-table{border-collapse:collapse;font-size:14px;width:100%}.report-table thead{background:#f7fafc}.report-table th{border-bottom:1px solid #e2e8f0;color:#2d3748;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.report-table td{border-bottom:1px solid #f1f5f9;padding:12px;vertical-align:middle}.report-table tbody tr:hover{background:#f8fafc}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;min-width:60px;padding:4px 8px;text-align:center}.status-badge.paid{background:#38a169;color:#fff}.status-badge.checked{background:#3182ce;color:#fff}.status-badge.pending{background:#ed8936;color:#fff}.empty-results{color:#718096;padding:40px;text-align:center}.empty-results i{color:#cbd5e0;font-size:48px;margin-bottom:16px}.empty-results p{font-size:16px;margin:0}.no-data{padding:80px 20px}.no-data i{font-size:64px;margin-bottom:24px}.no-data h3{font-weight:600}.no-data p{line-height:1.6}@media (max-width:1024px){.report-content{padding:16px}.header-content{flex-direction:column;gap:16px;text-align:center}.teams-grid{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px}.summary-cards{gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.header-content h1{font-size:24px}.filters-section,.results-section,.summary-section{padding:16px}.filter-controls{align-items:stretch;flex-direction:column}.search-input{width:100%}.date-inputs{align-items:stretch}.action-buttons,.date-inputs{flex-direction:column}.teams-grid{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:6px}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.card-value{font-size:20px}.report-table{font-size:12px}.report-table td,.report-table th{padding:8px}.text-cell{max-width:100px}}@media (max-width:600px){.report-content{padding:12px}.close-btn{font-size:12px;padding:10px 16px}.table-wrapper{overflow-x:auto}.report-table{min-width:800px}}.bycode-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.code-cell{color:#2d3748;font-size:13px}.text-cell{max-width:200px}.unit-cell{font-weight:500;min-width:60px}.no-data i.fa-code{color:#805ad5}@media (max-width:1024px){.text-cell{max-width:150px}.search-input{width:300px}}@media (max-width:768px){.code-cell{font-size:12px;min-width:100px}.text-cell{max-width:120px}.number-cell,.value-cell{font-size:12px;min-width:70px}.unit-cell{font-size:12px;min-width:50px}.search-input{width:100%}.sortable-header i{display:none}}@media (max-width:600px){.code-cell,.report-table{font-size:11px}.text-cell{max-width:100px}.number-cell,.value-cell{min-width:60px}}.byteam-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.expand-cell{padding:8px!important;text-align:center;width:40px}.expand-btn{align-items:center;background:none;border:none;border-radius:4px;color:#4a5568;cursor:pointer;display:flex;justify-content:center;padding:4px 8px;transition:all .2s}.expand-btn:hover{background:#e2e8f0;color:#2d3748}.expand-btn i{font-size:12px}.team-cell{min-width:200px}.number-cell{color:#2d3748;font-weight:600;text-align:right}.detail-row{background:#f8fafc!important;border-left:4px solid #3182ce}.detail-row:hover{background:#e6f3ff!important}.detail-cell{border-bottom:1px solid #f1f5f9!important;color:#4a5568;font-size:13px;padding-left:16px!important}.invoice-detail{display:flex;flex-direction:column;gap:2px}.invoice-id{color:#2d3748;font-size:12px;font-weight:600}.invoice-title{color:#718096;font-size:11px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-cards .summary-card:first-child .card-value{color:#805ad5}.summary-cards .summary-card:nth-child(2) .card-value{color:#3182ce}.summary-cards .summary-card:nth-child(3) .card-value{color:#38a169}.summary-cards .summary-card:nth-child(4) .card-value{color:#ed8936}.search-input{width:300px}.no-data i.fa-users{color:#805ad5}@media (max-width:1024px){.team-cell{min-width:150px}.search-input{width:250px}.invoice-detail{gap:1px}.invoice-title{max-width:200px}}@media (max-width:768px){.expand-cell{padding:4px!important;width:30px}.expand-btn{padding:2px 4px}.team-cell{font-size:14px;min-width:120px}.number-cell,.value-cell{font-size:12px;min-width:70px}.detail-cell{font-size:12px;padding-left:12px!important}.invoice-title{max-width:150px}.search-input{width:100%}.sortable-header i{display:none}}@media (max-width:600px){.report-table{font-size:11px}.expand-cell{width:25px}.team-cell{font-size:12px}.invoice-detail{flex-direction:row;gap:4px}.invoice-title{max-width:100px}.number-cell,.value-cell{font-size:11px;min-width:60px}}.detail-row{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.report-table tbody tr.detail-row{transition:all .2s ease}.report-table tbody tr.detail-row:hover{box-shadow:0 2px 8px #3182ce26;transform:translateX(2px)}.coelba-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.coelba-report-container .report-content{padding:12px!important}.results-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.selection-controls{display:flex;gap:8px}.coelba-table{font-size:13px}.coelba-table th{font-size:12px;font-weight:600;padding:10px 8px;white-space:nowrap}.coelba-table td{border-bottom:1px solid #f1f5f9;padding:8px 6px;vertical-align:middle}.planilha-cell{color:#2d3748;font-size:12px;min-width:100px}.code-cell,.planilha-cell{font-family:Courier New,monospace;font-weight:600}.code-cell{color:#3182ce;font-size:11px;min-width:120px}.pedido-cell{color:#718096;font-size:12px;min-width:50px;text-align:center}.service-cell{color:#2d3748;max-width:200px}.contract-cell,.service-cell{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-cell{color:#4a5568;max-width:180px}.unit-cell{color:#2d3748;font-size:11px;font-weight:600;min-width:50px;text-align:center}.qty-cell{font-weight:600;min-width:60px}.price-cell,.qty-cell{color:#2d3748;font-family:Courier New,monospace;font-size:11px;text-align:right}.price-cell{min-width:80px}.factor-cell{color:#ed8936;font-weight:600;min-width:70px}.factor-cell,.total-cell{font-family:Courier New,monospace;font-size:11px;text-align:right}.total-cell{color:#38a169;font-weight:700;min-width:90px}.si-cell{color:#4a5568;font-size:10px;max-width:150px}.city-cell,.si-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-cell{color:#2d3748;font-size:11px;font-weight:500;max-width:120px}.select-cell{min-width:80px;text-align:center;width:80px}.service-checkbox{accent-color:#3182ce;cursor:pointer;transform:scale(1.1)}.summary-cards .summary-card:nth-child(2) .card-value{color:#805ad5}.summary-cards .summary-card:nth-child(4) .card-value{color:#38a169}.summary-cards .summary-card:nth-child(5) .card-value{color:#e53e3e}.summary-cards .summary-card:nth-child(6) .card-value{color:#d69e2e}.coelba-table tbody tr:hover{background:#e6f3ff!important;box-shadow:0 2px 4px #0000001a}.coelba-table tbody tr:hover .service-checkbox{transform:scale(1.2)}.search-input{width:450px}.no-data i.fa-bolt{color:#ed8936}.sortable-header i{font-size:10px;margin-left:6px}@media (max-width:1400px){.service-cell{max-width:160px}.contract-cell{max-width:140px}.si-cell{max-width:120px}.city-cell{max-width:100px}}@media (max-width:1200px){.coelba-table{font-size:12px}.coelba-table th{font-size:11px;padding:8px 6px}.coelba-table td{padding:6px 4px}.service-cell{max-width:130px}.contract-cell{max-width:110px}.si-cell{max-width:100px}.search-input{width:350px}}@media (max-width:1024px){.results-header{align-items:stretch;flex-direction:column}.selection-controls{justify-content:center}.contract-cell,.service-cell{max-width:100px}.city-cell,.si-cell{max-width:80px}.search-input{width:300px}}@media (max-width:768px){.coelba-table{font-size:10px;min-width:1200px}.coelba-table th{font-size:9px;padding:6px 3px}.coelba-table td{font-size:9px;padding:4px 3px}.code-cell,.planilha-cell{font-size:9px}.contract-cell,.service-cell{max-width:80px}.city-cell,.si-cell{max-width:60px}.search-input{width:100%}.sortable-header i{display:none}.service-checkbox{transform:scale(1.3)}}@media (max-width:600px){.table-wrapper{overflow-x:auto}.coelba-table{min-width:1100px}.selection-controls{flex-direction:column;gap:8px}.control-btn{width:100%}}.service-checkbox:disabled{cursor:not-allowed;opacity:.5}.update-pedidos-btn{align-items:center;background:#38a169;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .2s}.update-pedidos-btn:hover:not(:disabled){background:#2f855a}.update-pedidos-btn:disabled{background:#a0aec0;cursor:not-allowed;opacity:.6}.coelba-table tfoot tr{background:#f7fafc!important;font-weight:600}.coelba-table tfoot td{border-top:2px solid #2d3748;padding:10px 8px}@media print{.coelba-report-container{background:#fff}.filters-section,.report-header,.summary-section{display:none}.results-section{margin:0;padding:0}.coelba-table{font-size:8px}.coelba-table td,.coelba-table th{border:1px solid #000;padding:2px}.select-cell{display:none}}.paid-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.paid-report-container .report-content{padding:12px!important}.sortable-header{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:#e2e8f0}.sortable-header i{font-size:12px;margin-left:8px;opacity:.7}.id-cell{font-family:Courier New,monospace;font-weight:600;min-width:100px}.id-cell,.text-cell{color:#2d3748;font-size:13px}.text-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:#4a5568;font-size:13px;font-weight:500;min-width:90px}.value-cell{min-width:100px}.paid-value-cell{color:#38a169;font-size:13px;font-weight:700;min-width:120px;text-align:right}.action-cell{min-width:60px;text-align:center;width:60px}.pdf-btn{background:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .2s}.pdf-btn:hover{background:#c53030}.pdf-btn i{font-size:12px}.report-table tfoot td{padding:10px 8px}.search-input{max-width:100%;width:400px}.no-data i.fa-money-bill-wave{color:#38a169}@media (max-width:1024px){.text-cell{max-width:120px}.search-input{width:300px}}@media (max-width:768px){.id-cell{font-size:12px;min-width:80px}.text-cell{font-size:12px;max-width:100px}.paid-value-cell,.value-cell{font-size:12px;min-width:80px}.date-cell{font-size:12px;min-width:70px}.pdf-btn{font-size:12px;padding:4px 6px}.search-input{width:100%}.sortable-header i{display:none}}@media (max-width:600px){.report-table{font-size:11px;min-width:800px}.report-table td,.report-table th{padding:6px 4px}.text-cell{max-width:80px}.paid-value-cell,.value-cell{min-width:70px}.action-cell{min-width:50px;width:50px}.pdf-btn{padding:3px 5px}}@media print{.paid-report-container{background:#fff}.filters-section,.report-header,.summary-section{display:none}.results-section{margin:0;padding:0}.report-table{font-size:8px}.report-table td,.report-table th{border:1px solid #000;padding:2px}.action-cell{display:none}}.filters-section,.results-section,.summary-section{padding:16px!important}.summary-card{padding:12px!important}.daily-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.daily-report-container .report-content{padding:12px!important}.goal-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px}.goal-input-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.goal-input-group label{color:#2d3748;font-size:14px;font-weight:600}.goal-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.goal-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.goal-input:hover{border-color:#cbd5e0}.goal-description{background:#f7fafc;border-left:4px solid #3182ce;border-radius:6px;color:#4a5568;font-size:14px;margin-bottom:12px;padding:10px}.summary-cards .summary-card:first-child .card-value{color:#3182ce}.summary-cards .summary-card:nth-child(2) .card-value{color:#38a169}.summary-cards .summary-card:nth-child(3) .card-value{color:#ed8936}.summary-cards .summary-card:nth-child(4) .card-value{color:#2d3748}.summary-cards .summary-card:nth-child(5) .card-value{color:#38a169}.summary-cards .summary-card:nth-child(6) .card-value{color:#e53e3e}.summary-cards .summary-card:nth-child(7) .card-value{color:#805ad5}.ranking-cell{color:#2d3748;font-size:14px;font-weight:700;min-width:80px;text-align:center}.team-cell{font-size:14px}.team-cell,.value-cell{color:#2d3748;font-weight:600;min-width:120px}.value-cell{font-size:13px;text-align:right}.number-cell{color:#4a5568;font-size:13px;font-weight:500;min-width:80px;text-align:center}.status-cell{min-width:140px;text-align:center}.badge{border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 10px;text-transform:uppercase}.badge-success{background:#38a169;color:#fff}.badge-primary{background:#3182ce;color:#fff}.badge-danger{background:#e53e3e;color:#fff}.report-table thead th{background:#2d3748;color:#fff;font-size:13px;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:10}.report-table tbody tr:nth-child(2n){background:#f8fafc}.report-table tbody tr:nth-child(odd){background:#fff}.report-table tbody tr:hover{background:#e6f3ff!important;box-shadow:0 2px 4px #0000001a}.report-table tbody td{border-bottom:1px solid #e2e8f0;font-size:13px;padding:10px 8px}.report-table tfoot tr{background:#f7fafc!important;font-weight:600}.report-table tfoot td{border-top:2px solid #2d3748;font-size:14px;padding:12px 8px}.chart-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:24px}.chart-container{height:500px;position:relative;width:100%}.no-data i.fa-chart-bar{color:#3182ce}.even-row{background:#f8fafc}.odd-row{background:#fff}.even-row:hover,.odd-row:hover{background:#e6f3ff!important}@media (max-width:1024px){.team-cell,.value-cell{min-width:100px}}@media (max-width:768px){.chart-container{height:350px}.goal-inputs{gap:15px}.goal-input-group{min-width:150px}.ranking-cell{font-size:12px;min-width:60px}.team-cell{font-size:12px;min-width:80px}.value-cell{font-size:12px;min-width:90px}.number-cell{font-size:12px;min-width:60px}.status-cell{min-width:100px}.badge{font-size:10px;padding:4px 6px}}@media (max-width:600px){.chart-container{height:300px}.chart-section{padding:16px}.goal-inputs{flex-direction:column;gap:12px}.goal-input-group{min-width:100%}.report-table{font-size:11px;min-width:900px}.report-table td,.report-table th{padding:6px 4px}.team-cell{min-width:70px}.value-cell{min-width:80px}.number-cell{min-width:50px}.status-cell{min-width:80px}.badge{font-size:9px;padding:3px 5px}}@media print{.daily-report-container{background:#fff}.chart-section,.filters-section,.report-header,.summary-section{display:none}.results-section{margin:0;padding:0}.report-table{font-size:8px}.report-table td,.report-table th{border:1px solid #000;padding:2px}.badge{font-size:6px;padding:1px 3px}}.charts-section,.filters-section,.legend-section{padding:16px!important}.monthly-report-container{background:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.monthly-report-container .report-content{padding:12px!important}.config-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px}.config-input-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.config-input-group label{color:#2d3748;font-size:14px;font-weight:600}.config-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.config-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.config-input:hover{border-color:#cbd5e0}.legend-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px}.legend-section p{color:#4a5568;display:flex;flex-wrap:wrap;font-size:14px;gap:30px;margin:0}.legend-item{align-items:center;display:flex;gap:8px}.legend-color{border-radius:4px;display:inline-block;height:16px;width:16px}.legend-color.above-goal{background:#38a169cc}.legend-color.below-goal{background:#e53e3ecc}.charts-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.team-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:40px;padding:24px}.team-chart-card:last-child{margin-bottom:0}.team-chart-header{margin-bottom:20px;text-align:center}.team-chart-header h4{align-items:center;color:#2d3748;display:flex;font-size:18px;font-weight:600;gap:10px;justify-content:center;margin:0 0 8px}.team-chart-header h4:before{background:#4a5568;border-radius:4px;content:"";display:inline-block;height:20px;width:20px}.team-stats{color:#4a5568;font-size:14px}.team-chart-container{height:300px;position:relative;width:100%}.page-break{page-break-before:always}.no-data i.fa-chart-line{color:#3182ce}@media (max-width:768px){.config-inputs{gap:15px}.config-input-group{min-width:150px}.legend-section p{gap:20px}.team-chart-container{height:250px}.team-chart-card{margin-bottom:30px;padding:16px}}@media (max-width:600px){.config-inputs{flex-direction:column;gap:12px}.config-input-group{min-width:100%}.legend-section p{flex-direction:column;gap:12px}.team-chart-container{height:200px}.team-chart-card{margin-bottom:20px;padding:12px}.team-chart-header h4{font-size:16px}}@media print{.monthly-report-container{background:#fff}.filters-section,.report-header{display:none}.charts-section,.legend-section{background:#0000;box-shadow:none;margin:0;padding:0}.team-chart-card{border:1px solid #000;margin-bottom:20px;padding:10px;page-break-inside:avoid}.team-chart-container{height:200px}.page-break{page-break-before:always}}.admin-page-container{background:#f7fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:0}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.header-content h1{font-size:28px;font-weight:700;margin:0}.close-btn{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.close-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.admin-content{margin:0 auto;max-width:1200px;padding:40px 20px}.admin-section{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.admin-section h2{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 8px}.admin-section p{margin:0 0 30px}.admin-section p,.loading{color:#718096;font-size:16px}.loading{align-items:center;display:flex;gap:12px;justify-content:center;padding:60px}.supervisors-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.supervisors-table{background:#fff;border-collapse:collapse;width:100%}.supervisors-table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.supervisors-table td{border-bottom:1px solid #e2e8f0;padding:20px 16px;vertical-align:top}.supervisors-table tr:hover{background:#f7fafc}.name-cell strong{color:#2d3748;font-size:16px}.email-cell{color:#718096;font-size:14px}.teams-cell{max-width:400px}.teams-editor{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:16px}.teams-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:16px}.team-checkbox{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .2s ease}.team-checkbox:hover{background:#edf2f7;border-color:#cbd5e0}.team-checkbox input[type=checkbox]{cursor:pointer;margin:0}.team-checkbox input[type=checkbox]:checked+.team-name{color:#3182ce;font-weight:600}.team-name{color:#4a5568;font-size:12px;font-weight:500}.teams-summary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:13px;padding:12px}.teams-summary strong{color:#2d3748}.teams-display{min-height:20px}.team-badges{display:flex;flex-wrap:wrap;gap:6px}.team-badge{background:#e6fffa;border:1px solid #b2f5ea;border-radius:12px;color:#234e52;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.no-teams{color:#a0aec0;font-size:14px;font-style:italic}.actions-cell{white-space:nowrap}.action-buttons{display:flex;gap:8px}.cancel-btn,.edit-btn,.save-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .2s ease}.edit-btn{background:#3182ce;color:#fff}.edit-btn:hover{background:#2c5aa0;transform:translateY(-1px)}.save-btn{background:#38a169;color:#fff}.save-btn:hover:not(:disabled){background:#2f855a;transform:translateY(-1px)}.save-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.cancel-btn{background:#e2e8f0;color:#4a5568}.cancel-btn:hover{background:#cbd5e0;transform:translateY(-1px)}.no-data{color:#718096;padding:60px;text-align:center}.no-data i{color:#cbd5e0;font-size:48px;margin-bottom:16px}.no-data h3{color:#4a5568;font-size:20px;margin:0 0 8px}.no-data p{font-size:16px;margin:0}.access-denied{align-items:center;color:#4a5568;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.access-denied h1{color:#e53e3e;font-size:32px;margin:0 0 16px}.access-denied p{font-size:18px;margin:0}@media (max-width:1024px){.admin-content,.admin-section{padding:20px}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width:768px){.header-content{padding:0 16px}.header-content h1{font-size:24px}.admin-content,.admin-section{padding:16px}.supervisors-table td,.supervisors-table th{font-size:13px;padding:12px 8px}.teams-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.team-checkbox{font-size:12px;padding:6px 8px}.action-buttons{flex-direction:column;gap:4px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading-container{align-items:center;background:#f7fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.loading-container p{color:#718096;font-size:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.71719e5e.css.map*/