@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;0,700;1,500&display=swap);.modal-overlay{animation:fadeIn .3s ease-in;background:#000000bf;z-index:9999}.modal-container{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:30px;text-align:center}.modal-header h2{font-size:28px;margin:0 0 10px}.modal-header p{font-size:16px;margin:0;opacity:.95}.profile-setup-form{padding:30px}.form-section{margin-bottom:24px}.form-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.required{color:#dc3545;font-weight:700}.form-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input.disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.form-input.error{border-color:#dc3545}.form-input.error:focus{box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;display:block;font-size:13px;font-weight:500;margin-top:6px}.form-footer{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.info-text{background:#f0f7ff;border-left:4px solid #2196f3;border-radius:4px;color:#1565c0;font-size:14px;line-height:1.5;margin-bottom:20px;padding:12px 16px}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-note{background:#f8f9fa;border-radius:0 0 16px 16px;border-top:1px solid #e0e0e0;padding:20px 30px}.modal-note p{color:#666;font-size:13px;line-height:1.5;margin:0;text-align:center}@media (max-width:768px){.modal-container{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:24px}.profile-setup-form{padding:20px}.modal-note{padding:15px 20px}}.modal-container::-webkit-scrollbar{width:8px}.modal-container::-webkit-scrollbar-track{background:#f1f1f1}.modal-container::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.modal-container::-webkit-scrollbar-thumb:hover{background:#764ba2}.logon-container{align-items:center;display:flex;height:100vh;justify-content:center;margin:0 auto;max-width:1120px;width:100%}.logon-container section.form{margin:30px;max-width:350px;width:100%}.logon-container section.form form{margin-top:50px}.logon-container section.form form h1{font-size:32px;margin-bottom:32px}.remember-me-container{align-items:center;display:flex;gap:12px;margin-bottom:16px}.remember-me-container input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin:0;width:20px}.remember-me-container label{cursor:pointer;font-size:16px;line-height:1.5;margin:0;-webkit-user-select:none;user-select:none}.profile-container{margin:40px auto;max-width:100%;padding:0 20px;width:100%}header{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:100%;padding:0;position:relative;width:100%}.header-left{left:calc(50% - 710px);position:absolute}.header-left img{height:120px}.header-left span{font-size:20px}.header-right{position:absolute;right:calc(50% - 710px)}.header-right button{background:#0000;border:1px solid #dcdce6;border-radius:4px;height:44px;transition:all .2s;width:44px}.profile-container h1{color:#1b1782;font-size:32px;margin-bottom:24px;margin-top:10px;text-align:center}.profile-container ul.top-sales{display:flex;gap:15px;justify-content:center;list-style:none;margin:0 0 25px;padding:0;width:100%}.profile-container ul.top-sales li{background:#1b1782;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;font-size:20px;font-weight:700;padding:15px;text-align:center;width:280px}.profile-container>ul:not(.top-sales){display:flex;gap:15px;justify-content:center;list-style:none;margin:0;padding:0;width:100%}.profile-container>ul:not(.top-sales) li{align-items:center;background:#1b1782;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:fit-content;overflow:hidden;padding:24px;position:relative;width:280px}.profile-container ul li strong{font-size:25px;margin:20px 0;text-align:center;width:100%}.profile-container ul li img{border:4px solid #fff;border-radius:50%;height:220px;margin:15px auto;object-fit:cover;width:220px}.styled-table{background:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 0 20px #00000026;font-family:sans-serif;font-size:14px;margin:10px 0;overflow:hidden;width:100%}.styled-table thead tr{background-color:#f10909;color:#fff;text-align:left}.styled-table td,.styled-table th{padding:8px;text-align:left}.styled-table tbody tr{background-color:#fff;border-bottom:1px solid #ddd}.styled-table tbody tr:nth-of-type(2n){background-color:#f8f8f8}.styled-table tbody tr.active-row,.styled-table tbody tr.active-row_Clean{color:#1b1782;font-weight:700}@media screen and (max-width:1500px){.header-left{left:20px}.header-right{right:20px}}@media screen and (max-width:1400px){.profile-container{padding:0 15px}.profile-container ul li img{height:180px;width:180px}}@media screen and (max-width:1024px){.profile-container ul li img{height:160px;width:160px}}@media screen and (max-width:768px){.profile-container{align-items:center;display:flex;flex-direction:column;gap:20px;padding:0 15px}.header-left{gap:10px;left:15px}.header-right{right:15px}.header-left img{height:80px}.header-left span{font-size:14px;white-space:nowrap}.profile-container ul.top-sales{flex-direction:column;gap:10px;max-width:400px;width:100%}.profile-container ul.top-sales li{width:100%}.profile-container>ul:not(.top-sales){align-items:center;flex-direction:column;gap:20px;width:100%}.profile-container>ul:not(.top-sales) li{max-width:400px;width:100%}.profile-container ul li img{height:200px;width:200px}}.app-header{background-color:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;height:70px;justify-content:space-between;padding:0 20px}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:15px}.logo{height:50px;width:auto}.welcome-text{color:#333;font-size:18px;font-weight:500}.header-right{align-items:center;display:flex;gap:10px}.logout-button,.settings-button{background:none;border:none;border-radius:4px;cursor:pointer;padding:8px;transition:background-color .2s ease}.logout-button:hover,.settings-button:hover{background-color:#f5f5f5}.logout-button:focus,.settings-button:focus{outline:2px solid #e02041;outline-offset:2px}.settings-container{padding:20px}.settings-container h1{color:#333;margin-bottom:20px}.data-entry-container{margin:0 auto;max-width:1200px;padding:20px}.data-entry-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.data-entry-header h1{color:#1976d2;font-size:28px;margin-bottom:8px}.data-entry-header p{color:#666;font-size:14px;margin:0}.update-mode-badge{background-color:#fff3cd;border-radius:6px;padding:10px 15px}.data-entry-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-section{border-bottom:1px solid #e0e0e0;padding:24px}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#333;font-size:18px;font-weight:600;margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:0}.form-group.full-width{grid-column:1/-1}.form-group label{align-items:center;color:#444;font-weight:500}.required{color:#dc004e;margin-left:4px}.form-control{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease}.form-control:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.form-control:disabled{background-color:#f5f5f5}textarea.form-control{min-height:100px}.checkbox-group{justify-content:center}.checkbox-group label{align-items:center;cursor:pointer;flex-direction:row;margin-bottom:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-group span{color:#444;font-size:14px}.form-actions{background-color:#f8f9fa;border-radius:0 0 12px 12px;gap:12px;justify-content:flex-end;padding:24px}.btn{border-radius:6px;font-size:14px;transition:all .2s ease}.btn-primary{background-color:#1976d2}.btn-primary:hover:not(:disabled){background-color:#1565c0;box-shadow:0 4px 8px #1976d24d;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268;box-shadow:0 4px 8px #6c757d4d;transform:translateY(-1px)}@media (max-width:768px){.data-entry-container{padding:15px}.data-entry-header h1{font-size:24px}.form-row{grid-template-columns:1fr}.form-section{padding:20px 15px}.form-actions{flex-direction:column;gap:10px}.btn{justify-content:center;width:100%}}.btn:disabled{position:relative}.btn:disabled:after{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";display:inline-block;height:14px;margin-left:8px;width:14px}.hvac-kpi-page{background-color:#f5f7fa;min-height:100vh}.hvac-kpi-container{margin:0 auto;max-width:1400px;padding:20px}.hvac-header{background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;margin-bottom:30px;padding:30px}.hvac-header-content{align-items:center;display:flex;gap:20px;justify-content:space-between}.hvac-header-content>div{flex:1 1;text-align:center}.hvac-header h1{font-size:2.2em;font-weight:600;margin-bottom:10px}.hvac-header p{font-size:1.1em;margin:0;opacity:.95}.hvac-logout-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.hvac-logout-button:hover{background:#ffffff4d;border-color:#fff9;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.hvac-logout-button:active{transform:translateY(0)}.section-title{border-bottom:3px solid #1b2a5c}.form-control:focus,.form-group input:focus{border-color:#1b2a5c;box-shadow:0 0 0 3px #1b2a5c1a}@media (max-width:768px){.hvac-header-content{flex-direction:column;text-align:center}.hvac-header h1{font-size:1.6em}.hvac-header p{font-size:.95em}.hvac-logout-button{max-width:200px;width:100%}.form-grid,.totals-grid{grid-template-columns:1fr}.user-input-group{align-items:stretch;flex-direction:column}.user-input-group input{max-width:100%}.date-selector-card{display:flex;flex-direction:column;gap:10px}.kpi-section{padding:20px}.btn-large{padding:15px;width:100%}}.dashboard-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:20px}.dashboard-container{margin:0 auto;max-width:1600px}.dashboard-header{background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:16px;box-shadow:0 8px 30px #00000026;color:#fff;margin-bottom:30px;padding:40px;position:relative;text-align:center}.dashboard-header h1{font-size:2.5em;font-weight:700;margin-bottom:10px}.dashboard-header p{font-size:1.2em;margin:0;opacity:.95}.user-badge{background:#fff3;border-radius:25px;font-size:14px;font-weight:500;padding:10px 20px;position:absolute;right:30px;top:20px}.tabs-container{box-shadow:0 2px 10px #00000014;margin-bottom:25px}.tab.active{background:linear-gradient(135deg,#1b2a5c,#3b4b8c)}.date-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;justify-content:center;margin-bottom:25px;padding:20px}.date-control-group{align-items:center;display:flex;gap:15px}.date-control-group label{color:#333;font-size:16px;font-weight:600}.date-control-group input{border:2px solid #e9ecef;border-radius:8px;font-size:15px;padding:10px 15px;transition:border-color .3s ease}.date-control-group input:focus{border-color:#1b2a5c;box-shadow:0 0 0 3px #1b2a5c1a;outline:none}.loading-state{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:80px 20px}.summary-section{margin-bottom:30px}.section-heading{align-items:center;color:#333;display:flex;font-size:1.8em;font-weight:700;gap:10px;margin-bottom:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{align-items:center;display:flex;gap:20px;transition:transform .3s ease,box-shadow .3s ease}.stat-card.revenue{border-left:5px solid #28a745}.stat-card.expenses{border-left:5px solid #e31e24}.stat-card.cashflow{border-left:5px solid #1b2a5c}.stat-card.ar{border-left:5px solid #ffc107}.stat-icon{font-size:3em;opacity:.8}.stat-content{flex:1 1}.stat-content h3{color:#666;font-size:.95em;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#333;font-size:2em;font-weight:700}.chart-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px}.chart-container{height:400px;position:relative}.departments-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));margin-bottom:30px}.department-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:30px}.department-stats{background:#f8f9fa;border-radius:10px;margin-bottom:25px;padding:20px}.dept-stat{border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 0}.dept-stat:last-child{border-bottom:none}.dept-stat.highlight{background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:8px;color:#fff;margin:10px -10px -10px;padding:15px 20px}.dept-label{font-size:15px;font-weight:600}.dept-value{font-size:18px;font-weight:700}.chart-container-small{height:300px;position:relative}.comparison-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin:0 auto 30px;max-width:600px;padding:30px}.chart-container-doughnut{align-items:center;display:flex;height:350px;justify-content:center;padding:20px;position:relative}@media (max-width:1200px){.departments-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-header h1{font-size:1.8em}.user-badge{display:inline-block;margin-top:15px;position:static}.stats-grid{grid-template-columns:1fr}.tabs-container{flex-direction:column}.tab{border-bottom:1px solid #e9ecef;border-right:none}.chart-container{height:300px}.chart-container-small{height:250px}}.sales-kpi-page{background-color:#f5f7fa;min-height:100vh}.sales-kpi-container{margin:0 auto;max-width:1400px;padding:20px}.sales-header{background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;margin-bottom:30px;padding:30px}.sales-header-content{align-items:center;display:flex;gap:20px;justify-content:space-between}.sales-header-content>div{flex:1 1;text-align:center}.sales-header h1{font-size:2.2em;font-weight:600;margin-bottom:10px}.sales-header p{font-size:1.1em;margin:0;opacity:.95}.sales-logout-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.sales-logout-button:hover{background:#ffffff4d;border-color:#fff9;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.sales-logout-button:active{transform:translateY(0)}.update-mode-badge{background-color:#fff3;border:1px solid #ffffff4d;color:#fff;font-size:14px;font-weight:500}.user-section-card{border-radius:10px;box-shadow:0 2px 10px #0000000d}.user-section-card h3{color:#1b2a5c;font-size:1.3em;margin-bottom:0}.tabs-container{border-radius:10px;box-shadow:0 2px 10px #0000000d}.tab{padding:15px 20px}.tab.active{background:linear-gradient(135deg,#1b2a5c,#e31e24)}.tab:hover:not(.active){background:#e9ecef}.tab-content{display:block}.stat-card{border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:20px}.stat-card h3{color:#1b2a5c;font-size:1em;margin-bottom:10px}.summary-table td,.summary-table th{padding:12px}.summary-table th{background-color:#f8f9fa;color:#1b2a5c}.user-input-group{align-items:center;display:flex;gap:15px}.user-input-group input{flex:1 1;max-width:400px}.date-selector-card{border-radius:10px}.date-selector-card label{color:#333;font-size:16px;margin-right:15px}.date-selector-card input{border:2px solid #e9ecef;border-radius:8px;font-size:16px;max-width:200px;padding:10px 15px;width:auto}.btn{padding:10px 20px}.btn-secondary:hover{box-shadow:0 4px 10px #6c757d4d}.alert{box-shadow:0 8px 25px #0000004d;font-size:17px;letter-spacing:.3px;max-width:800px;padding:20px 60px 20px 25px;text-align:center}.alert-content{justify-content:center}.alert strong{font-size:24px}.alert-close{font-size:32px;font-weight:700;height:32px;line-height:1;width:32px}.alert-error{border:3px solid #dc3545}.section-title{border-bottom:3px solid #e31e24;color:#1b2a5c;font-size:1.8em;font-weight:600;margin-bottom:25px}.subsection-title{color:#e31e24;font-size:1.3em;margin:25px 0 20px}.form-grid{align-items:start}.form-group{min-width:0;width:100%}.form-group label{align-items:flex-start;display:flex;line-height:1.4;margin-bottom:10px;min-height:42px}.form-control,.form-group input{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.form-control:focus,.form-group input:focus{border-color:#e31e24;box-shadow:0 0 0 3px #e31e241a;outline:none}.totals-section{background:linear-gradient(135deg,#1b2a5c,#e31e24)}.totals-section h3{font-size:1.4em;font-weight:600;margin-bottom:20px}.totals-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.total-card{border:1px solid #fff3}.total-card h4{font-weight:500;margin-bottom:10px;opacity:.95}.total-card .amount{font-size:1.6em;text-shadow:0 2px 4px #0000001a}.company-totals{background:linear-gradient(135deg,#e31e24,#f53b41)}.form-actions{display:flex;justify-content:center;padding:30px 0}.btn-primary{background:linear-gradient(135deg,#1b2a5c,#e31e24)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #e31e2466}.btn-large{padding:15px 40px}.alert{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.sales-header-content{flex-direction:column;text-align:center}.sales-header h1{font-size:1.6em}.sales-header p{font-size:.95em}.sales-logout-button{max-width:200px;width:100%}.form-grid,.totals-grid{grid-template-columns:1fr}.user-input-group{align-items:stretch;flex-direction:column}.user-input-group input{max-width:100%}.date-selector-card{display:flex;flex-direction:column;gap:10px}.date-selector-card input{max-width:100%}.kpi-section{padding:20px}.btn-large{padding:15px;width:100%}.stats-grid{grid-template-columns:1fr}.tabs-container{flex-direction:column}.tab{border-bottom:1px solid #e9ecef;border-right:none}.tab:last-child{border-bottom:none}}.service-kpi-page{background:linear-gradient(135deg,#e63946,#1d3557);min-height:100vh;padding:20px}.service-kpi-container{margin:0 auto;max-width:1400px}.service-header{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:30px}.service-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.service-header h1{color:#1d3557;font-size:2.5em;font-weight:700;margin:0 0 10px}.service-header p{color:#666;font-size:1.1em;margin:0}.service-logout-button{background:linear-gradient(135deg,#e63946,#d62839);border:none;border-radius:8px;box-shadow:0 4px 15px #e639464d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.service-logout-button:hover{box-shadow:0 6px 20px #e6394666;transform:translateY(-2px)}.update-mode-badge{background:#fff3cd;border:1px solid #ffc107;color:#856404;margin-top:15px;padding:10px 20px}.tabs-container{border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.tab{background:#fff;border-right:1px solid #e9ecef;flex:1 1;padding:18px 20px}.tab:last-child{border-right:none}.tab:hover:not(.active){background:#f8f9fa;color:#e63946}.tab-content{animation:fadeIn .3s ease}.selector-card{background:#fff;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;padding:25px}.selector-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-message{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;color:#0056b3;margin-top:20px;padding:20px}.info-message p{font-size:1.05em;margin:0}.date-selector-card{background:#fff;box-shadow:0 4px 15px #0000001a;margin-bottom:25px}.date-selector-card label{display:block;font-size:1.1em;margin-bottom:8px}.kpi-section{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px;padding:30px}.section-title{border-bottom:3px solid #e63946;font-size:2em;margin:0 0 25px;padding-bottom:15px}.subsection-title{color:#457b9d;font-size:1.4em;font-weight:600;margin:25px 0 15px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:25px}.form-control:disabled{background:#f8f9fa}select.form-control{cursor:pointer}.totals-section{background:linear-gradient(135deg,#1d3557,#457b9d);border-radius:12px;color:#fff;margin-top:30px;padding:25px}.totals-section h3{font-size:1.5em;margin:0 0 20px;opacity:.95}.totals-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.total-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:10px;padding:20px;text-align:center;transition:all .3s ease}.total-card:hover{background:#ffffff40;transform:translateY(-3px)}.total-card.highlight-green{background:#28a7454d;border:2px solid #28a74580}.total-card h4{font-size:.95em;font-weight:600;margin:0 0 10px;opacity:.9}.total-card .amount{font-size:1.8em;font-weight:700;margin:0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card:hover{box-shadow:0 8px 25px #00000026}.stat-card h3{color:#1d3557;font-size:1.1em}.stat-card .value{color:#333;font-size:2.2em;margin:0}.summary-table{box-shadow:0 2px 10px #00000014;margin-top:20px}.form-actions{margin-top:30px;text-align:center}.btn{border-radius:10px;font-size:18px;padding:14px 35px}.btn-success{background:linear-gradient(135deg,#28a745,#20c997)}.btn-large{font-size:20px;padding:16px 50px}.add-technician-section{margin-bottom:40px}.add-tech-modal{animation:slideDown .3s ease;background:#f8f9fa;border:2px solid #e63946;border-radius:12px;margin-top:20px;padding:25px}.add-tech-modal h3{color:#1d3557;font-size:1.5em;margin:0 0 20px}@media (max-width:768px){.service-kpi-page{padding:10px}.service-header{padding:20px}.service-header h1{font-size:1.8em}.service-header-content{align-items:stretch;flex-direction:column}.service-logout-button{width:100%}.tabs-container{flex-direction:column}.tab{border-bottom:1px solid #e9ecef;border-right:none}.tab:last-child{border-bottom:none}.form-grid,.selector-grid,.stats-grid,.totals-grid{grid-template-columns:1fr}.summary-table{font-size:.9em}.summary-table td,.summary-table th{padding:10px}.kpi-section{padding:20px}.section-title{font-size:1.5em}.btn-large{font-size:16px;padding:14px 30px;width:100%}.stat-card .value{font-size:1.8em}.total-card .amount{font-size:1.5em}}@media (max-width:480px){.service-header h1{font-size:1.5em}.service-header p{font-size:1em}.section-title{font-size:1.3em}.subsection-title{font-size:1.2em}.summary-table{font-size:.8em}.summary-table td,.summary-table th{padding:8px 5px}}@media print{.service-kpi-page{background:#fff;padding:0}.add-technician-section,.alert,.form-actions,.service-logout-button,.tabs-container{display:none!important}.kpi-section,.service-header{border:1px solid #ddd;box-shadow:none}.kpi-section{page-break-inside:avoid}.summary-table{box-shadow:none}}.technician-management-page{background:linear-gradient(135deg,#e63946,#1d3557);min-height:100vh;padding:20px}.technician-management-container{margin:0 auto;max-width:1400px}.tech-header{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:30px}.tech-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.tech-header h1{color:#1d3557;font-size:2.5em;font-weight:700;margin:0 0 10px}.tech-header p{color:#666;font-size:1.1em;margin:0}.tech-logout-button{background:linear-gradient(135deg,#e63946,#d62839);border:none;border-radius:8px;box-shadow:0 4px 15px #e639464d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.tech-logout-button:hover{box-shadow:0 6px 20px #e6394666;transform:translateY(-2px)}.user-section-card strong{color:#333}.tech-main-section{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:30px}.technicians-table-container{border-radius:10px;box-shadow:0 2px 10px #0000000d;overflow-x:auto}.technicians-table{background:#fff;border-collapse:collapse;width:100%}.technicians-table td,.technicians-table th{border-bottom:1px solid #e9ecef;padding:15px;text-align:left}.technicians-table th{background:linear-gradient(135deg,#1d3557,#457b9d);color:#fff;font-size:.95em;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0;z-index:10}.technicians-table tbody tr{transition:background-color .2s ease}.technicians-table tbody tr:hover{background-color:#f8f9fa}.technicians-table tbody tr:last-child td{border-bottom:none}.empty-message,.loading-message{color:#666;font-size:1.1em;padding:60px 20px;text-align:center}.empty-message p,.loading-message p{margin:0}@media (max-width:768px){.technician-management-page{padding:10px}.tech-header{padding:20px}.tech-header h1{font-size:1.8em}.tech-header-content{align-items:stretch}.header-actions,.tech-header-content{flex-direction:column}.header-actions button{width:100%}.actions-bar{flex-direction:column}.btn-add{width:100%}.tech-main-section{padding:20px}.technicians-table{font-size:.9em}.technicians-table td,.technicians-table th{padding:10px 8px}.action-buttons{flex-direction:column}.btn-action{width:100%}.form-grid{grid-template-columns:1fr}.modal-content{max-width:95%}.modal-body,.modal-header{padding:20px}.modal-footer{flex-direction:column-reverse;padding:15px 20px}.modal-footer .btn{width:100%}}@media (max-width:480px){.tech-header h1{font-size:1.5em}.tech-header p{font-size:1em}.technicians-table{font-size:.8em}.technicians-table td,.technicians-table th{padding:8px 5px}}@media print{.technician-management-page{background:#fff;padding:0}.action-buttons,.alert,.btn-add,.btn-secondary,.tech-logout-button{display:none!important}.tech-header,.tech-main-section{border:1px solid #ddd;box-shadow:none}.technicians-table{box-shadow:none}.modal-overlay{display:none!important}}.tabs-container{background:#fff;border-radius:15px 15px 0 0;box-shadow:0 4px 20px #0000001a;display:flex;gap:10px;margin-bottom:30px;overflow-x:auto;padding:20px 20px 0}.tab{background:#f8f9fa;border:none;border-radius:10px 10px 0 0;color:#666;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:all .3s ease;white-space:nowrap}.tab:hover{background:#e9ecef;color:#e63946}.tab.active{background:linear-gradient(135deg,#e63946,#d62839);box-shadow:0 4px 15px #e639464d;color:#fff}.tab-content{background:#fff;border-radius:0 0 15px 15px;box-shadow:0 4px 20px #0000001a;min-height:400px;padding:30px}.selector-card{grid-gap:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px;padding:20px}.selector-group{display:flex;flex-direction:column;gap:8px}.selector-group label{color:#1d3557;font-weight:600}.date-selector-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;gap:15px;margin-bottom:30px;padding:20px}.date-selector-card label{color:#1d3557;font-weight:600;white-space:nowrap}.kpi-section{background:#f8f9fa;border-left:5px solid #e63946;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:25px;padding:25px}.section-title{align-items:center;color:#1d3557;display:flex;font-size:1.5em;font-weight:700;gap:10px;margin:0 0 20px}.section-header{flex-wrap:wrap;gap:15px}.jobs-section{background:linear-gradient(135deg,#fff8e1,#fff3cd);border-left-color:#ffc107}.jobs-container{display:flex;flex-direction:column;gap:20px}.job-card{background:#fff;border:2px solid #ffc107;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:20px;transition:all .3s ease}.job-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.job-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.job-header h3{color:#1d3557;font-size:1.2em;font-weight:700;margin:0}.btn-remove-job{align-items:center;background:#dc3545;border:none;border-radius:50%;box-shadow:0 2px 8px #dc35454d;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .3s ease;width:32px}.btn-remove-job:hover{background:#c82333;box-shadow:0 4px 12px #dc354566;transform:scale(1.1)}.job-form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.job-variance{background:linear-gradient(135deg,#e9ecef,#f8f9fa);border:1px solid #dee2e6;border-radius:8px;flex-wrap:wrap;justify-content:space-between;margin-top:15px;padding:15px}.job-variance,.variance-item{align-items:center;display:flex;gap:10px}.variance-label{color:#666;font-weight:600}.variance-value{font-size:1.1em;font-weight:700}.variance-warning{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.variance-success,.variance-warning{font-size:.9em;font-weight:600;padding:6px 12px}.variance-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.calculated-section{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left-color:#2196f3}.metrics-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.metric-card{background:#fff;border:2px solid #0000;border-radius:10px;box-shadow:0 4px 15px #0000001a;padding:20px;text-align:center;transition:all .3s ease}.metric-card:hover{border-color:#2196f3;box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.metric-label{color:#666;font-size:.85em;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.metric-value{color:#1d3557;font-size:1.8em;font-weight:700}.submit-section{border-top:3px solid #e9ecef;margin-top:30px;padding-top:30px;text-align:center}.btn-large{box-shadow:0 6px 25px #e639464d;font-size:18px;font-weight:700;padding:18px 50px}.btn-large:hover:not(:disabled){box-shadow:0 8px 30px #e6394666;transform:translateY(-3px)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:25px;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:#e63946;box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.stat-card h3{color:#666;font-size:.9em;font-weight:600;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.stat-card .value{color:#1d3557;font-size:2em;font-weight:700}.summary-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 4px 15px #0000001a;overflow:hidden;width:100%}.summary-table td,.summary-table th{border-bottom:1px solid #e9ecef;padding:15px;text-align:left}.summary-table th{background:linear-gradient(135deg,#1d3557,#457b9d);color:#fff;font-size:.95em;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-table tbody tr{transition:background-color .2s ease}.summary-table tbody tr:hover{background-color:#f8f9fa}.summary-table tbody tr:last-child td{border-bottom:none}@media (max-width:992px){.job-form-grid,.selector-card{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.tabs-container{padding:15px 15px 0}.tab{font-size:14px;padding:12px 20px}.tab-content{padding:20px}.selector-card{padding:15px}.date-selector-card{align-items:stretch;flex-direction:column}.kpi-section{padding:20px}.section-title{font-size:1.3em}.job-card{padding:15px}.job-form-grid{gap:10px}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:15px}.metric-value{font-size:1.5em}.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px}.stat-card .value{font-size:1.5em}.summary-table{font-size:.9em}.summary-table td,.summary-table th{padding:10px 8px}.btn-large{font-size:16px;padding:15px 30px;width:100%}}@media (max-width:480px){.tabs-container{gap:5px;padding:10px 10px 0}.tab{font-size:12px;padding:10px 15px}.tab-content{padding:15px}.section-header{align-items:stretch;flex-direction:column}.section-header .btn{width:100%}.job-header{align-items:flex-start;flex-direction:column;gap:10px}.btn-remove-job{align-self:flex-end}.job-variance{align-items:flex-start;flex-direction:column}.summary-table{font-size:.8em}.summary-table td,.summary-table th{padding:8px 5px}}@media print{.alert,.header-actions,.submit-section,.tabs-container{display:none!important}.tab-content{border:1px solid #ddd;border-radius:0;box-shadow:none}.job-card,.kpi-section{page-break-inside:avoid}.btn-remove-job{display:none}.summary-table{box-shadow:none}}.btn-action:focus,.btn:focus,.form-control:focus,.tab:focus{outline:3px solid #2196f3;outline-offset:2px}@keyframes jobCardIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.job-card{animation:jobCardIn .3s ease}.variance-value[title]{cursor:help}.crew-management-page,.install-kpi-page{background:linear-gradient(135deg,#e63946,#1d3557);min-height:100vh;padding:20px}.crew-management-container,.install-kpi-container{margin:0 auto;max-width:1400px}.crew-header,.install-header{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:30px}.crew-header-content,.install-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.crew-header h1,.install-header h1{color:#1d3557;font-size:2.5em;font-weight:700;margin:0 0 10px}.crew-header p,.install-header p{color:#666;font-size:1.1em;margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:15px}.btn-secondary{border:none;border-radius:8px;box-shadow:0 4px 15px #6c757d4d;cursor:pointer;font-size:16px;font-weight:600;padding:12px 25px;transition:all .3s ease}.btn-secondary:hover{box-shadow:0 6px 20px #6c757d66;transform:translateY(-2px)}.crew-logout-button,.install-logout-button{background:linear-gradient(135deg,#e63946,#d62839);border:none;border-radius:8px;box-shadow:0 4px 15px #e639464d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.crew-logout-button:hover,.install-logout-button:hover{box-shadow:0 6px 20px #e6394666;transform:translateY(-2px)}.user-section-card{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:20px;padding:20px}.user-section-card h3{color:#1d3557;font-size:1.1em;margin:0}.alert{animation:slideDown .3s ease;border-radius:10px;box-shadow:0 4px 15px #0000001a}.alert-success{background:#d4edda}.alert-error{background:#f8d7da}.alert-content{gap:10px}.alert-close{background:none;color:inherit;font-size:24px;height:30px;opacity:.6;transition:opacity .2s;width:30px}.alert-close:hover{opacity:1}.crew-main-section{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:30px}.actions-bar{align-items:flex-start}.search-filter-section{flex:1 1;min-width:300px}.search-box{margin-bottom:15px}.search-input:focus{border-color:#e63946;box-shadow:0 0 0 3px #e639461a}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.filter-btn:hover{border-color:#e63946;color:#e63946}.filter-btn.active{background:linear-gradient(135deg,#e63946,#d62839);border-color:#e63946;color:#fff}.btn{display:inline-block;padding:12px 25px}.btn-primary{background:linear-gradient(135deg,#e63946,#d62839);box-shadow:0 4px 15px #e639464d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #e6394666}.btn-primary:disabled{transform:none}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 15px #dc35454d;color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#28a745,#218838);box-shadow:0 4px 15px #28a7454d}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #28a74566}.btn-sm{font-size:14px;padding:8px 16px}.btn-add{white-space:nowrap}.crews-table-container{border-radius:10px;box-shadow:0 2px 10px #0000000d;overflow-x:auto}.crews-table{background:#fff;border-collapse:collapse;width:100%}.crews-table td,.crews-table th{border-bottom:1px solid #e9ecef;padding:15px;text-align:left}.crews-table th{background:linear-gradient(135deg,#1d3557,#457b9d);color:#fff;font-size:.95em;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0;z-index:10}.crews-table tbody tr{transition:background-color .2s ease}.crews-table tbody tr:hover{background-color:#f8f9fa}.crews-table tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-block;font-size:.85em;letter-spacing:.5px}.status-badge.active{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.inactive{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.action-buttons{flex-wrap:wrap}.btn-action{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.btn-edit{background:#457b9d;color:#fff}.btn-edit:hover{background:#376685;transform:translateY(-1px)}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333;transform:translateY(-1px)}.empty-message,.info-message,.loading-message{color:#666;font-size:1.1em;padding:60px 20px;text-align:center}.empty-message p,.info-message p,.loading-message p{margin:0}.modal-overlay{animation:fadeIn .2s ease;background:#0009;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;border-radius:15px;box-shadow:0 20px 60px #0000004d;width:100%}.modal-content.modal-small{max-width:500px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:2px solid #e9ecef}.modal-header h2{color:#1d3557;font-size:1.8em;font-weight:700}.modal-close{background:none;color:#666;height:40px;width:40px}.modal-close:hover{background:#f8f9fa;color:#e63946}.modal-body{padding:30px}.modal-footer{border-top:2px solid #e9ecef;display:flex;gap:15px;justify-content:flex-end;padding:20px 30px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group-full{grid-column:1/-1}.form-group label{color:#555;font-size:.95em}.form-control{background:#fff}.form-control:focus{border-color:#e63946;box-shadow:0 0 0 3px #e639461a}textarea.form-control{font-family:inherit;resize:vertical}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 0}.checkbox-label input[type=checkbox]{accent-color:#e63946;cursor:pointer;height:20px;width:20px}.checkbox-label span{color:#555;font-weight:600}.delete-warning{color:#333;font-size:1.1em;margin-bottom:15px}.delete-warning strong{color:#e63946}.delete-info{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin:0;padding:15px}.update-mode-badge{background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:8px;box-shadow:0 2px 8px #ffc1074d;color:#333;display:inline-block;font-size:.9em;font-weight:600;margin-top:10px;padding:8px 15px}@media (max-width:768px){.crew-management-page,.install-kpi-page{padding:10px}.crew-header,.install-header{padding:20px}.crew-header h1,.install-header h1{font-size:1.8em}.crew-header-content,.install-header-content{align-items:stretch;flex-direction:column}.header-actions{flex-direction:column}.header-actions button{width:100%}.actions-bar{flex-direction:column}.btn-add{width:100%}.crew-main-section{padding:20px}.crews-table{font-size:.9em}.crews-table td,.crews-table th{padding:10px 8px}.action-buttons{flex-direction:column}.btn-action{width:100%}.form-grid{grid-template-columns:1fr}.modal-content{max-width:95%}.modal-body,.modal-header{padding:20px}.modal-footer{flex-direction:column-reverse;padding:15px 20px}.modal-footer .btn{width:100%}}@media (max-width:480px){.crew-header h1,.install-header h1{font-size:1.5em}.crew-header p,.install-header p{font-size:1em}.crews-table{font-size:.8em}.crews-table td,.crews-table th{padding:8px 5px}}@media print{.crew-management-page,.install-kpi-page{background:#fff;padding:0}.action-buttons,.alert,.btn-add,.btn-secondary,.crew-logout-button,.install-logout-button{display:none!important}.crew-header,.crew-main-section,.install-header{border:1px solid #ddd;box-shadow:none}.crews-table{box-shadow:none}.modal-overlay{display:none!important}}.user-management-page{background-color:#f5f7fa;min-height:100vh;padding:20px}.user-management-container{margin:0 auto;max-width:1600px}.user-management-header{background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;margin-bottom:30px;padding:30px}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between}.user-management-header h1{font-size:2.2em;font-weight:600;margin-bottom:10px}.user-management-header p{font-size:1.1em;margin:0;opacity:.95}.logout-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.logout-button:hover{background:#ffffff4d;border-color:#fff9;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.actions-bar{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.search-box{flex:1 1;min-width:300px}.search-input{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 20px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#1b2a5c;box-shadow:0 0 0 3px #1b2a5c1a;outline:none}.btn{font-size:16px;padding:12px 24px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#1b2a5c,#3b4b8c)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #1b2a5c66}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table th{background-color:#1b2a5c;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #e9ecef;font-size:15px;padding:15px}.users-table tbody tr:hover{background-color:#f8f9fa}.user-name{gap:10px}.avatar,.user-name{align-items:center;display:flex}.avatar{background:linear-gradient(135deg,#1b2a5c,#3b4b8c);border-radius:50%;color:#fff;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.role-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.role-admin{background-color:#e31e24;color:#fff}.role-manager{background-color:#1b2a5c;color:#fff}.role-user{background-color:#28a745;color:#fff}.role-viewer{background-color:#6c757d;color:#fff}.status-badge{border-radius:20px;font-size:12px;padding:6px 12px}.status-active{background-color:#d4edda;color:#155724}.status-pending{background-color:#fff3cd}.action-buttons{display:flex;gap:8px}.btn-icon{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:6px 10px;transition:all .3s ease}.btn-edit:hover{background-color:#e3f2fd}.btn-delete:hover{background-color:#ffebee}.no-data{color:#666}.loading-state{padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#1b2a5c;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#1b2a5c,#e31e24);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h2{font-size:1.6em;font-weight:600;margin:0}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .3s ease;width:36px}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal-content form{padding:30px}.form-grid-modal{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-control{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 15px;transition:all .3s ease}.form-control:focus{border-color:#1b2a5c;box-shadow:0 0 0 3px #1b2a5c1a;outline:none}.form-control:disabled{background-color:#f8f9fa;cursor:not-allowed}.permissions-grid{grid-gap:12px;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:15px}.permission-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:all .3s ease}.permission-checkbox:hover{background-color:#e9ecef}.permission-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.permission-checkbox span{font-size:14px;text-transform:capitalize}.modal-actions{border-top:2px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:20px}.alert{animation:slideDown .4s ease-out;border-radius:12px;box-shadow:0 8px 25px #0003;font-size:16px;font-weight:600;justify-content:space-between;left:50%;max-width:600px;padding:18px 55px 18px 20px;position:fixed;top:20px;transform:translateX(-50%);width:calc(100% - 40px);z-index:9999}.alert,.alert-content{align-items:center;display:flex}.alert-content{flex:1 1}.alert strong{font-size:20px;margin-right:8px}.alert-close{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:28px;height:28px;justify-content:center;padding:0;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:28px}.alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:3px solid #28a745}.alert-success .alert-close{color:#155724}.alert-success .alert-close:hover{background:#1557241a;transform:translateY(-50%) scale(1.1)}.alert-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:3px solid #e31e24}.alert-error .alert-close{color:#721c24}.alert-error .alert-close:hover{background:#721c241a;transform:translateY(-50%) scale(1.1)}.alert-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:2px solid #17a2b8;border-radius:8px;color:#0c5460;font-size:14px;margin-top:20px;padding:15px}@media (max-width:768px){.header-content{flex-direction:column;text-align:center}.user-management-header h1{font-size:1.6em}.actions-bar{align-items:stretch;flex-direction:column}.search-box{min-width:100%}.btn{width:100%}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.form-grid-modal,.permissions-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.pdf-import-fullpage{background:#f5f7fa;min-height:100vh;padding:20px}.pdf-import-container{margin:0 auto;max-width:1400px;padding:20px}.pdf-import-header{margin-bottom:30px;text-align:center}.pdf-import-header h1{color:#1a1a1a;font-size:2.5rem;margin-bottom:10px}.pdf-import-header p{color:#666;font-size:1.1rem}.alert{animation:slideDown .3s ease-out;border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.upload-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.upload-section h2{color:#1a1a1a;font-size:1.5rem;margin-bottom:20px}.file-upload-area{margin-bottom:20px}.file-input{display:none}.file-upload-label{align-items:center;background:#f9f9f9;border:3px dashed #ccc;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:40px;transition:all .3s ease}.file-upload-label:hover{background:#f0f8f0;border-color:#4caf50}.file-icon,.upload-icon{font-size:3rem;margin-bottom:10px}.file-name{color:#1a1a1a;font-size:1.2rem;font-weight:600;margin-bottom:5px}.file-size{color:#666;font-size:.9rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 30px;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;font-size:1.1rem;padding:15px 40px}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #2196f366;transform:translateY(-2px)}.btn-secondary{background:#f0f0f0;border:1px solid #ddd;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-small{font-size:.9rem;padding:8px 16px}.btn-remove{background:#0000;border:none;cursor:pointer;font-size:1.2rem;padding:5px;transition:transform .2s ease}.btn-remove:hover{transform:scale(1.2)}.extracted-data-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#1a1a1a;font-size:1.5rem;margin:0}.section-header p{color:#666;font-size:.95rem;margin:5px 0 0}.data-table-wrapper{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;overflow-x:auto}.data-table{background:#fff;border-collapse:collapse;width:100%}.data-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.data-table th{font-size:.95rem;font-weight:600;padding:15px;text-align:left;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.data-table tbody tr:hover{background:#f9f9f9}.data-table td{padding:12px 15px;vertical-align:middle}.table-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:8px 10px;transition:border-color .3s ease;width:100%}.table-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.table-input[type=number]{text-align:right}.import-actions{display:flex;justify-content:center;padding-top:20px}.extracted-text-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.extracted-text-section details summary{background:#f9f9f9;border-radius:6px;color:#4caf50;cursor:pointer;font-weight:600;padding:10px;transition:background .3s ease}.extracted-text-section details summary:hover{background:#f0f0f0}.extracted-text{word-wrap:break-word;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;margin-top:15px;max-height:400px;overflow-y:auto;padding:20px;white-space:pre-wrap}.import-history-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.history-table-wrapper{margin-top:20px;overflow-x:auto}.history-table{border-collapse:collapse;width:100%}.history-table thead{background:#f5f5f5}.history-table th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px 15px;text-align:left}.history-table tbody tr{border-bottom:1px solid #f0f0f0}.history-table tbody tr:hover{background:#f9f9f9}.history-table td{padding:12px 15px}.status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-pending{background:#fff3cd;color:#856404}.status-processing{background:#cfe2ff;color:#084298}.status-processed{background:#d4edda;color:#155724}.status-partial{background:#fff3cd;color:#856404}.status-failed{background:#f8d7da;color:#721c24}.no-data{color:#999;font-style:italic;padding:40px;text-align:center}.expenses-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.expense-controls{gap:15px;margin-top:15px}.date-filter,.expense-controls{align-items:center;display:flex;flex-wrap:wrap}.date-filter{gap:10px}.date-filter label{color:#333;font-size:14px;font-weight:500}.date-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:all .3s ease}.date-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.expenses-table-wrapper{margin-top:20px;overflow-x:auto}.expenses-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;display:flex;flex-wrap:wrap;font-size:14px;gap:30px;margin-bottom:20px;padding:15px 20px}.expenses-summary strong{color:#fff;font-weight:600;margin-right:8px}.loading-message{color:#666;font-size:16px;padding:40px;text-align:center}.btn-small{font-size:13px;min-width:auto;padding:6px 14px}.classification-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;text-align:center;white-space:nowrap}.classification-badge.install{background:#e3f2fd;color:#1565c0}.classification-badge.service{background:#f3e5f5;color:#6a1b9a}.classification-badge.general{background:#e8f5e9;color:#2e7d32}.classification-badge.personal{background:#fff3e0;color:#e65100}.classification-badge.office{background:#e0f2f1;color:#00695c}.classification-badge.permit{background:#fce4ec;color:#c2185b}.classification-badge.finance{background:#f1f8e9;color:#558b2f}.classification-badge.marketing{background:#ede7f6;color:#4527a0}.classification-badge.material\/install{background:#e1f5fe;color:#01579b}.classification-badge.material\/service{background:#fce4ec;color:#880e4f}.classification-badge.none{background:#f5f5f5;color:#9e9e9e;font-style:italic}.instructions-section{background:#f9f9f9;border-left:4px solid #4caf50;border-radius:8px;margin-bottom:30px;padding:20px 25px}.instructions-section h3{color:#1a1a1a;margin-bottom:15px}.instructions-section ol{margin-bottom:15px;padding-left:20px}.instructions-section ol li{color:#333;line-height:1.6;margin-bottom:10px}.instructions-section .note{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-top:15px;padding:15px}.instructions-section .note strong{color:#4caf50}@media (max-width:768px){.pdf-import-container{padding:15px}.pdf-import-header h1{font-size:2rem}.extracted-data-section,.import-history-section,.upload-section{padding:20px}.data-table-wrapper,.table-input{font-size:.85rem}.table-input{padding:6px 8px}.btn{font-size:.9rem;padding:10px 20px}.section-header{align-items:flex-start;flex-direction:column;gap:10px}}*{box-sizing:border-box;margin:0;outline:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#fafaf5;font:400 14px roboto,sans-serif}button,input,textarea{font:400 18px roboto,sans-serif}button{cursor:pointer}form input{margin-bottom:15px;padding:0 24px}form input,form textarea{border-radius:1px solid #dcdce6;color:#333;height:60px;width:100%}form textarea{line-height:24px;min-height:140px;padding:16px 24px;resize:vertical}.button{background:red;border:0;border-radius:8px;color:#fff;display:inline-block;font-size:18px;font-weight:700;height:60px;line-height:60px;margin-top:16px;text-align:center;text-decoration:none;transition:filter .2s;width:100%}.button:hover{filter:brightness(70%)}.back-link{align-items:center;color:#41414d;display:flex;font-size:18px;font-weight:500;margin-top:40px;text-decoration:none;transition:opacity .2s}.back-link:hover{opacity:.8}.back-link svg{margin-right:8px}
/*# sourceMappingURL=main.94b2c32e.css.map*/