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}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{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.login-card h2{color:#333;font-size:28px;margin:0 0 30px;text-align:center}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn{font-size:16px;padding:14px;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.alert-info{background-color:#e7f3ff;border:1px solid #b8daff;color:#004085}.login-footer{margin-top:24px;text-align:center}.login-footer p{color:#666;font-size:14px}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;margin-left:5px;padding:0;text-decoration:underline}.link-button:hover:not(:disabled){color:#764ba2}.link-button:disabled{cursor:not-allowed;opacity:.6}.user-menu{position:relative}.user-menu-button{align-items:center;background:#fff;border:2px solid #ffffff4d;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;height:42px;min-height:42px;padding:5px 12px;transition:all .3s}.user-menu-button:hover{background:#f5f5f5;border-color:#667eea}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-email{color:#333;font-size:14px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#666;font-size:10px;margin-left:5px}.dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.dropdown-menu{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 10px 30px #0000001a;min-width:250px;position:absolute;right:0;top:calc(100% + 5px);z-index:1000}.dropdown-header{padding:15px}.user-info{display:flex;flex-direction:column;gap:4px}.user-info strong{color:#333;font-size:14px}.user-info small{color:#666;font-size:12px}.dropdown-divider{background:#eee;margin:0}.dropdown-item{padding:12px 15px;transition:background .2s}.dropdown-item:hover{background:#f5f5f5}.dropdown-item:last-child{border-radius:0 0 8px 8px}.project-selector{margin:0 auto;max-width:1200px;padding:20px}.project-selector.loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.project-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.project-selector-header h2{color:#2c3e50;font-size:28px;margin:0}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.project-card{background:#fff;border:2px solid #e1e8ed;border-radius:12px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.project-card:hover{border-color:#667eea;box-shadow:0 5px 15px #667eea1a;transform:translateY(-2px)}.project-card.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.project-title-area{flex:1 1}.project-header h3{color:inherit;font-size:18px;font-weight:600;margin:0 0 8px}.project-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{border-radius:12px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.badge.shared{background:#e3f2fd;color:#1976d2}.badge.owner{background:#fff3e0;color:#f57c00}.badge.collaborator{background:#f3e5f5;color:#7b1fa2}.project-card.active .badge.collaborator,.project-card.active .badge.owner,.project-card.active .badge.shared{background:#fff3;color:#ffffffe6}.delete-btn{align-items:center;background:none;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.delete-btn:hover{background:#dc3545;color:#fff}.project-card.active .delete-btn{color:#fffc}.project-card.active .delete-btn:hover{background:#dc3545cc;color:#fff}.client-name{color:#666;font-size:14px;margin:5px 0 15px}.project-card.active .client-name{color:#ffffffe6}.project-meta{color:#999;display:flex;flex-direction:column;font-size:12px;gap:5px}.project-card.active .project-meta{color:#fffc}.version{color:#667eea!important;font-weight:600}.project-card.active .version{color:#ffffffe6!important}.modified-by{font-style:italic}.active-indicator{background:#fff3;border-radius:20px;font-size:12px;font-weight:600;margin-top:15px;padding:8px 12px;text-align:center}.no-projects{color:#666;grid-column:1/-1;padding:60px 20px;text-align:center}.no-projects p{font-size:18px;margin:0}.create-project-form{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-overlay{background:#00000080;bottom:0;left:0;position:absolute;right:0;top:0}.form-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:30px;position:relative;width:100%;z-index:1001}.form-modal h3{color:#2c3e50;font-size:24px;margin:0 0 25px}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.form-actions button{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s}.form-actions button[type=button]{background:#fff;color:#666}.form-actions button[type=button]:hover{background:#f5f5f5}.btn{display:inline-block;font-size:14px;font-weight:600;padding:12px 20px;text-decoration:none;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 10px 20px #667eea66;transform:translateY(-2px)}.alert{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}@media (max-width:768px){.project-selector{padding:15px}.project-selector-header{align-items:stretch;flex-direction:column;gap:15px}.projects-grid{grid-template-columns:1fr}.form-modal{margin:20px;width:calc(100% - 40px)}}.checkbox-group{margin-bottom:25px!important}.checkbox-label{align-items:center!important;cursor:pointer!important;display:flex!important;font-size:14px!important;margin-bottom:0!important}.checkbox-label input[type=checkbox]{margin-right:10px!important;transform:scale(1.2);width:auto!important}.checkmark{margin-left:5px}.project-dropdown{display:inline-block;position:relative}.project-dropdown-button{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;gap:12px;height:42px;min-height:42px;min-width:200px;padding:5px 12px;transition:all .3s ease}.project-dropdown-button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.project-dropdown-button:disabled{cursor:not-allowed;opacity:.6}.current-project-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.project-icon{flex-shrink:0;font-size:16px}.project-details{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.project-name{font-size:14px;font-weight:500;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.project-badges-header{display:flex;flex-wrap:wrap;gap:4px}.badge-small{font-size:10px;opacity:.8}.dropdown-arrow{flex-shrink:0;font-size:12px;opacity:.7}.project-dropdown-menu{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 10px 30px #00000026;left:0;max-height:400px;min-width:320px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.dropdown-header{background:#f8f9fa;border-bottom:1px solid #f0f0f0;border-radius:12px 12px 0 0;color:#333;font-size:14px;font-weight:600;padding:12px 16px}.dropdown-section{padding:8px 0}.section-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.dropdown-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.active{background:#e3f2fd;color:#1976d2;font-weight:500}.dropdown-item.active:hover{background:#bbdefb}.new-project-item{color:#667eea;font-weight:500}.new-project-item:hover{background:#f0f4ff;color:#5a67d8}.view-all-item{color:#666}.view-all-item:hover{background:#f8f9fa;color:#333}.item-icon{flex-shrink:0;font-size:16px}.project-item-content{flex:1 1;min-width:0}.project-item-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.project-item-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-badges{display:flex;flex-shrink:0;gap:3px}.project-item-meta{color:#666;display:flex;font-size:11px;gap:8px}.project-item-meta .modified-by{font-style:italic;opacity:.8}.dropdown-divider{background:#f0f0f0;height:1px;margin:4px 0}.badge-small.shared{color:#1976d2}.badge-small.owner{color:#f57c00}.badge-small.collaborator{color:#7b1fa2}.dropdown-item.active .badge-small{opacity:.7}.project-dropdown-menu::-webkit-scrollbar{width:6px}.project-dropdown-menu::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}.project-dropdown-menu::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:6px}.project-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.project-dropdown-button{min-width:150px}.project-dropdown-menu{left:auto;min-width:280px;right:0}.project-item-name,.project-name{font-size:13px}}.modal-backdrop{animation:fadeIn .2s ease;background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:800px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#999;cursor:pointer;display:flex;font-size:2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:36px}.modal-close:hover{background-color:#f5f5f5;color:#333}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.change-metadata{margin-bottom:32px}.change-metadata h3{color:#34495e;font-size:1.1rem;font-weight:600;margin-bottom:16px}.metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-item label{color:#7f8c8d;font-size:.85rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.metadata-item span{color:#2c3e50;font-size:.95rem}.action-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:500;padding:4px 12px;width:fit-content}.action-badge.action-created{background-color:#e8f5e9;color:#2e7d32}.action-badge.action-updated{background-color:#e3f2fd;color:#1565c0}.action-badge.action-imported{background-color:#f3e5f5;color:#6a1b9a}.action-badge.action-exported{background-color:#fff3e0;color:#ef6c00}.action-badge.action-shared{background-color:#e0f2f1;color:#00695c}.action-badge.action-unshared{background-color:#fce4ec;color:#c2185b}.change-content{margin-bottom:24px}.change-content h3{color:#34495e;font-size:1.1rem;font-weight:600;margin-bottom:16px}.quotation-summary{background-color:#f8f9fa}.summary-grid{grid-gap:16px;gap:16px;margin-bottom:20px}.summary-item{flex-direction:column;gap:4px}.summary-item label{color:#7f8c8d;font-size:.85rem;font-weight:500}.summary-item span{color:#2c3e50;font-size:.95rem;font-weight:500}.properties-section,.shared-config-section{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:20px}.properties-section h4,.shared-config-section h4{color:#34495e;font-size:1rem;font-weight:600;margin-bottom:12px}.properties-list{grid-gap:12px;display:grid;gap:12px}.property-item{border:1px solid #e0e0e0;padding:12px}.property-header{margin-bottom:8px}.property-name{color:#2c3e50;font-weight:600}.active-badge{background-color:#e8f5e9;border-radius:12px;color:#2e7d32;font-size:.75rem;font-weight:500;padding:2px 8px}.property-details{color:#7f8c8d;font-size:.9rem}.detail-row{display:flex;gap:16px;margin-bottom:8px}.positions-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.position-chip{background-color:#ecf0f1;border-radius:4px;color:#34495e;font-size:.85rem;padding:4px 8px}.no-data{background-color:#f8f9fa;border-radius:8px;color:#7f8c8d;padding:40px 20px;text-align:center}.modal-note{background-color:#fff9c4;border-left:4px solid #fbc02d;border-radius:4px;margin-top:20px;padding:12px 16px}.modal-note p{color:#5d4037;font-size:.9rem;margin:0}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn{padding:8px 20px}.btn-secondary{background-color:#ecf0f1;color:#34495e}.btn-secondary:hover{background-color:#d5dbdd}@media (max-width:768px){.modal-container{max-height:90vh;width:95%}.metadata-grid,.summary-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;gap:8px}}.restore-modal-container{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.restore-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px;position:sticky;top:0;z-index:1}.restore-modal-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.restore-modal-body{flex:1 1;overflow-y:auto;padding:24px}.restore-warning{background:linear-gradient(135deg,#fff4e6,#ffe0b2);border:1px solid #ffcc80;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.warning-icon{flex-shrink:0;font-size:2rem}.warning-content h3{color:#e65100;font-size:1.1rem;margin:0 0 8px}.warning-content p{color:#bf360c;font-size:.95rem;margin:0}.version-comparison{align-items:center;background:#f8f9fa;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px}.version-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex:1 1;padding:16px;text-align:center}.version-card.current{border-color:#4caf50}.version-card.target{border-color:#2196f3}.version-label{color:#7f8c8d;font-size:.85rem;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.version-number{color:#2c3e50;font-size:1.25rem;font-weight:600;margin-bottom:8px}.version-status{background:#e8f5e9;border-radius:12px;color:#2e7d32;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 12px}.version-meta{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:8px}.action-icon{font-size:1rem}.action-text{color:#34495e;font-size:.9rem;text-transform:capitalize}.version-timestamp{color:#7f8c8d;font-size:.85rem;margin-bottom:4px}.version-user{color:#7f8c8d;font-size:.85rem;margin-bottom:8px}.version-description{background:#f8f9fa;border-radius:4px;color:#34495e;font-size:.9rem;font-style:italic;margin-top:8px;padding:8px}.restore-arrow{align-items:center;color:#2196f3;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.restore-arrow span:first-child{font-size:1.5rem;font-weight:700}.restore-text{font-size:.85rem;font-weight:500;text-transform:uppercase}.restore-notes{background:#f8f9fa;border-radius:8px;padding:16px}.restore-notes h4{color:#34495e;font-size:1rem;font-weight:600;margin:0 0 12px}.restore-notes ul{list-style:none;margin:0;padding-left:20px}.restore-notes li{color:#5a6c7d;font-size:.9rem;line-height:1.5;margin-bottom:8px;padding-left:20px;position:relative}.restore-notes li:before{color:#4caf50;content:"✓";font-weight:700;left:0;position:absolute}.restore-modal-footer{background:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;bottom:0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px;position:sticky;z-index:1}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#ecf0f1;color:#34495e}.btn-cancel:hover:not(:disabled){background:#d5dbdd}.btn-restore{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-restore:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@media (max-width:768px){.restore-modal-container{margin:10px;max-height:calc(100vh - 20px);max-width:100%;width:95%}.restore-modal-header h2{font-size:1.2rem}.restore-modal-body{padding:16px}.version-comparison{flex-direction:column;padding:12px}.restore-arrow{margin:10px 0;transform:rotate(90deg)}.version-card{padding:12px;width:100%}.version-number{font-size:1.1rem}.restore-warning{flex-direction:column;text-align:center}.warning-icon{font-size:1.5rem}.restore-notes{padding:12px}.restore-notes h4{font-size:.95rem}.restore-notes li{font-size:.85rem;padding-left:16px}.btn{font-size:.9rem;padding:8px 16px}}.project-changelog{margin:0 auto;max-width:800px;padding:20px}.changelog-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:60px 20px}.changelog-empty{color:#666;padding:60px 20px;text-align:center}.changelog-empty h3{color:#333;margin-bottom:10px}.changelog-header{align-items:flex-start;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.changelog-title h3{color:#2c3e50;font-size:24px;margin:0 0 5px}.changelog-title p{color:#666;font-size:14px;margin:0}.changelog-stats{align-items:center;display:flex;gap:20px}.stat{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#495057;font-size:13px;padding:8px 12px}.stat strong{color:#667eea;font-weight:600}.version-comparison{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;margin-bottom:20px;padding:15px}.comparison-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.comparison-header h4{color:#1976d2;font-size:16px;margin:0}.clear-selection{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.clear-selection:hover{background:#1565c0}.selected-versions{display:flex;gap:10px}.selected-version{background:#1976d2;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px}.changelog-legend{align-items:center;background:#f8f9fa;border-radius:8px;color:#666;display:flex;font-size:13px;justify-content:space-between;margin-bottom:20px;padding:10px 15px}.legend-item{gap:8px}.legend-actions{display:flex;gap:15px}.legend-action{font-size:12px;font-weight:500}.changelog-timeline{position:relative}.changelog-timeline:before{background:#e1e8ed;bottom:0;content:"";left:24px;position:absolute;top:0;width:2px;z-index:1}.changelog-entry{background:#fff;border:2px solid #f1f3f4;border-radius:12px;display:flex;gap:15px;margin-bottom:20px;padding:15px;position:relative;transition:all .3s ease}.changelog-entry:hover{border-color:#e1e8ed;box-shadow:0 2px 8px #0000001a}.changelog-entry.selected{background:#f8f9ff;border-color:#667eea;box-shadow:0 4px 12px #667eea26}.changelog-entry.latest{background:#f1f8e9;border-color:#4caf50}.changelog-entry.latest:before{background:#4caf50;border:3px solid #fff;border-radius:50%;content:"";height:12px;left:-7px;position:absolute;top:20px;width:12px;z-index:2}.entry-selector{flex-shrink:0;padding-top:3px}.entry-selector input[type=checkbox]{cursor:pointer;height:16px;width:16px}.entry-content{flex:1 1;min-width:0}.entry-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.entry-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.action-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.action-created{background:#e8f5e8;color:#2e7d32}.action-updated{background:#fff3e0;color:#ef6c00}.action-imported{background:#e3f2fd;color:#1976d2}.action-exported{background:#f3e5f5;color:#7b1fa2}.action-shared{background:#e8f5e8;color:#388e3c}.action-unshared{background:#ffebee;color:#d32f2f}.latest-badge{background:#4caf50;color:#fff;font-weight:600;text-transform:uppercase}.latest-badge,.version-badge{border-radius:8px;font-size:10px;padding:2px 6px}.version-badge{background:#e1e8ed;color:#495057;font-weight:500}.entry-timestamp{flex-shrink:0;text-align:right}.time-ago{color:#666;cursor:help;font-size:12px}.entry-details{margin-bottom:12px}.entry-user{align-items:center;display:flex;gap:8px;margin-bottom:8px}.user-name{color:#495057;font-weight:600}.user-name.current-user{color:#667eea}.user-email{background:#f8f9fa;border-radius:4px;color:#6c757d;font-size:12px;padding:2px 6px}.entry-description{color:#495057;font-size:14px;line-height:1.4;margin-bottom:8px}.entry-diff{color:#6c757d;font-size:12px;font-style:italic}.diff-indicator{background:#f8f9fa;border-radius:4px;padding:2px 6px}.entry-actions{display:flex;gap:8px}.action-btn{background:#fff;border:1px solid #e1e8ed;border-radius:6px;color:#666;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.action-btn:hover:not(:disabled){background:#f8f9fa;border-color:#667eea;color:#667eea}.action-btn:disabled{cursor:not-allowed;opacity:.5}.restore-btn:not(:disabled){background:linear-gradient(135deg,#4caf50,#45a049);border:none;color:#fff}.restore-btn:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.view-details-btn:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.view-details-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b4299);box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.changelog-footer{border-top:1px solid #e1e8ed;color:#666;font-size:14px;margin-top:20px;padding:20px;text-align:center}@media (max-width:768px){.project-changelog{padding:15px}.changelog-header{align-items:stretch;flex-direction:column;gap:15px}.changelog-stats{justify-content:center}.changelog-legend{align-items:stretch;flex-direction:column;gap:10px}.legend-actions{justify-content:center}.entry-header{flex-direction:column;gap:8px}.entry-user{align-items:flex-start;flex-direction:column;gap:4px}.entry-actions{flex-wrap:wrap}.comparison-header{align-items:stretch;flex-direction:column;gap:10px}}.input-mode-selector{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.input-mode-selector h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.project-info-section,.year-config-section{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.year-config-section h3{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem}.year-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.year-input,.year-type-select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.year-input:focus,.year-type-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}@media (max-width:768px){.year-inputs{grid-template-columns:1fr}}.input-group{margin-bottom:1rem}.input-group label{color:#2c3e50;display:block;margin-bottom:.5rem}.project-input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.project-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.mode-description{color:#666;font-size:1rem;margin-bottom:1.5rem}.mode-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.mode-option{align-items:flex-start;background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:1rem;transition:all .3s ease}.mode-option:hover{background:#f8f9fa;border-color:#3498db}.mode-option.selected{background:#e3f2fd;border-color:#3498db}.mode-option input[type=radio]{cursor:pointer;margin-right:1rem;margin-top:.25rem;transform:scale(1.2)}.mode-content h3{color:#2c3e50;font-size:1.1rem;margin:0 0 .5rem}.mode-content p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.selected-mode-info{background:#e8f5e8;border:1px solid #4caf50;border-radius:6px;margin-top:1rem;padding:1rem}.selected-mode-info h4{color:#2e7d32;font-size:1rem;margin:0 0 .5rem}.mode-details p{color:#2e7d32;font-size:.9rem;line-height:1.4;margin:0}@media (min-width:768px){.mode-options{flex-direction:row}.mode-option{align-items:center;flex:1 1}}.tax-configuration{max-width:600px}.tax-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.tax-configuration h4{color:#2c3e50;font-size:1.1rem;margin-bottom:0}.apply-defaults-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:background-color .2s}.apply-defaults-btn:hover{background-color:#218838}.tax-description{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:1.5rem}.tax-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.tax-input-group{display:flex;flex-direction:column;gap:.5rem}.tax-label{align-items:center;color:#495057;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.tax-icon{font-size:1rem}.tax-input-group input,.tax-input-group select{border:1px solid #dee2e6;border-radius:4px;font-size:1rem;padding:.75rem}.tax-input-group input.error,.tax-input-group select.error{border-color:#dc3545}.tax-input-group input:focus,.tax-input-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.tax-input-group input[type=number]{text-align:right}.tax-input-group input:disabled{background-color:#e9ecef;cursor:not-allowed}.city-select{background-color:#fff;cursor:pointer}.rate-hint{color:#6c757d;font-size:.75rem;font-style:italic}.tax-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.tax-summary h5{color:#2c3e50;font-size:1rem;margin-bottom:1rem}.tax-summary-items{display:flex;flex-direction:column;gap:.75rem}.tax-summary-item{align-items:center;background:#fff;border-radius:4px;display:flex;font-size:.9rem;justify-content:space-between;padding:.5rem}.tax-summary-item.total{background:#e3f2fd;border:1px solid #3498db;color:#2c3e50;font-weight:600}.tax-summary-item span:first-child{color:#495057}.tax-summary-item span:last-child{color:#2c3e50;font-weight:500}.tax-summary-item.total span{color:#1976d2}@media (max-width:768px){.tax-inputs{grid-template-columns:1fr}.tax-summary-item{font-size:.85rem;padding:.75rem .5rem}}.position-row{transition:all .2s ease}.position-row.has-errors{background:#fff5f5!important}.title-cell{position:relative}.title-input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.title-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.title-input.error{border-color:#dc3545}.rate-cell{position:relative}.rate-input-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{left:.5rem}.rate-input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem;min-width:100px;padding:.5rem .5rem .5rem 1.25rem;text-align:right;width:100%}.rate-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.rate-input.error{border-color:#dc3545}.hours-cell{position:relative;text-align:center}.hours-input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.85rem;max-width:70px;padding:.4rem;text-align:center;width:100%}.hours-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.hours-input.error{border-color:#dc3545}.holiday-hours-cell{background:linear-gradient(135deg,#fff5e1,#ffedd5);border-left:3px solid #ff9800;border-right:3px solid #ff9800;position:relative;text-align:center}.holiday-hours-input{background:#fff;border:2px solid #ff9800;border-radius:4px;box-shadow:0 2px 4px #ff980026;color:#e65100;font-size:.85rem;font-weight:600;max-width:70px;padding:.4rem;text-align:center;width:100%}.holiday-hours-input::placeholder{color:#ffab91}.holiday-hours-input:focus{background:#fffbf5;border-color:#e65100;box-shadow:0 0 0 3px #ff980040;outline:none}.holiday-hours-input.error{background:#fff5f5;border-color:#dc3545}.total-cost-cell,.total-hours-cell{font-weight:600;text-align:center}.total-value{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:.85rem;padding:.4rem .8rem}.actions-cell{position:relative}.actions-container{align-items:center;display:flex;gap:.5rem;justify-content:center}.quick-fill-dropdown{position:relative}.quick-fill-btn{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .6rem;transition:all .2s ease}.quick-fill-btn:hover{background:#138496}.quick-fill-menu{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;left:50%;min-width:120px;opacity:0;position:absolute;top:100%;transform:translateX(-50%);transition:all .2s ease;visibility:hidden;z-index:1000}.quick-fill-dropdown:hover .quick-fill-menu{opacity:1;visibility:visible}.quick-fill-option{background:#fff;border:none;cursor:pointer;display:block;font-size:.8rem;padding:.5rem .75rem;text-align:left;transition:background-color .2s ease;width:100%}.quick-fill-option:hover{background:#f8f9fa}.quick-fill-option.clear{border-top:1px solid #dee2e6;color:#dc3545}.quick-fill-option.clear:hover{background:#fff5f5}.remove-position-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .6rem;transition:all .2s ease}.remove-position-btn:hover{background:#c82333;transform:scale(1.05)}.error-text{background:#fff;border:1px solid #dc3545;border-radius:0 0 4px 4px;font-size:.7rem;left:0;overflow:hidden;padding:.2rem .4rem;position:absolute;right:0;text-overflow:ellipsis;top:100%;white-space:nowrap;z-index:10}@media (max-width:1200px){.hours-input{font-size:.8rem;max-width:45px;padding:.3rem}.total-value{font-size:.8rem;padding:.3rem .6rem}.quick-fill-btn,.remove-position-btn{font-size:.75rem;padding:.3rem .5rem}}@media (max-width:768px){.rate-input,.title-input{font-size:.8rem;padding:.4rem}.hours-input{font-size:.75rem;max-width:40px;padding:.25rem}.currency-symbol{font-size:.8rem;left:.4rem}.rate-input{padding-left:1rem}.actions-container{flex-direction:column;gap:.25rem}.quick-fill-btn,.remove-position-btn{font-size:.7rem;padding:.25rem .4rem}.total-value{font-size:.75rem;padding:.25rem .4rem}.error-text{font-size:.65rem;padding:.1rem .3rem}}.rate-confirmation-row{background:#0000!important}.rate-confirmation-dialog{animation:slideDown .2s ease-out;background:#fff;border:2px solid #3498db;border-radius:8px;box-shadow:0 4px 12px #00000026;margin:.5rem 0;padding:1rem;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.confirmation-content{position:relative;text-align:center}.close-confirmation{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;line-height:1;position:absolute;right:-.5rem;top:-.5rem;transition:all .2s ease;width:30px}.close-confirmation:hover{background:#c82333;transform:scale(1.1)}.confirmation-message{color:#2c3e50;font-size:.95rem;font-weight:500;margin:0 0 1rem}.rate-options{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.rate-option{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;min-width:140px;padding:.75rem 1.5rem;transition:all .2s ease}.rate-option:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.rate-option.calculated{border-color:#27ae60}.rate-option.calculated:hover{background:#f0f9f4;border-color:#27ae60}.rate-option.manual{border-color:#3498db}.rate-option.manual:hover{background:#f0f8ff;border-color:#3498db}.rate-label{color:#6c757d;font-size:.85rem;font-weight:500;margin-bottom:.25rem}.rate-value{color:#2c3e50;font-size:1.1rem;font-weight:600}.position-list{width:100%}.position-header h3{color:#2c3e50;font-size:1.2rem;margin-bottom:.5rem}.position-description{color:#6c757d;font-size:.9rem;margin-bottom:1.5rem}.empty-positions{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:3rem 1rem;text-align:center}.empty-positions p{color:#6c757d;font-size:1rem;margin-bottom:1.5rem}.add-position-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.add-position-btn.primary{font-size:1rem;padding:1rem 2rem}.add-position-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.position-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.table-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 1.5rem}.table-info{color:#6c757d;font-size:.9rem;font-weight:500}.position-table-wrapper{max-width:100%;overflow-x:auto}.position-table{border-collapse:collapse;font-size:.9rem;width:100%}.position-table th{background:#2c3e50;color:#fff;font-size:.85rem;font-weight:600;padding:1rem .75rem;text-align:left;white-space:nowrap}.position-table td{border-bottom:1px solid #dee2e6;padding:.75rem;vertical-align:middle}.position-table tbody tr:hover{background:#f8f9fa}.title-col{min-width:180px;width:20%}.holiday-rate-col,.rate-col{min-width:100px;width:10%}.margin-col{min-width:80px;width:8%}.day-col{min-width:60px;width:7%}.holiday-hours-col{background:linear-gradient(135deg,#ff9800,#ff6d00)!important;color:#fff!important;font-weight:700!important;min-width:70px;position:relative;text-shadow:0 1px 2px #0003;width:7%}.holiday-hours-col:after{content:"🎉";font-size:.75rem;left:.25rem;position:absolute;top:50%;transform:translateY(-50%)}.total-hours-col{min-width:80px;width:8%}.total-cost-col{min-width:100px;width:10%}.actions-col{min-width:120px;width:12%}.totals-row{background:#e3f2fd!important;border-top:2px solid #3498db}.totals-row td{border-bottom:none;color:#2c3e50;font-weight:600}.totals-label{color:#1976d2!important}.daily-total,.total-cost,.total-hours{color:#1976d2;text-align:center}.holiday-hours-total{background:#ff980026;color:#e65100;font-weight:700;text-align:center}@media (max-width:1200px){.position-table{font-size:.8rem}.position-table td,.position-table th{padding:.5rem .4rem}.day-col{min-width:50px}}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column;gap:1rem}.add-position-btn{width:100%}.position-table-wrapper{border-radius:0;margin:0 -1rem}.position-table{font-size:.75rem}.position-table td,.position-table th{padding:.4rem .25rem}}.property-item{background:#fff;border:1px solid #dee2e6;border-left:4px solid #3498db;border-radius:8px;overflow:hidden;transition:all .3s ease}.property-item:hover{box-shadow:0 4px 12px #0000001a}.property-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 1.5rem}.property-title-section{align-items:center;display:flex;flex:1 1;gap:1rem}.property-indicator{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;width:32px}.property-title-input{flex:1 1;max-width:300px}.property-title-input input{border:1px solid #dee2e6;border-radius:4px;font-size:1rem;font-weight:500;padding:.5rem;width:100%}.property-title-input input.error{border-color:#dc3545}.property-title-input input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.property-controls{display:flex;gap:.5rem}.remove-btn,.toggle-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:all .2s ease}.toggle-btn{background:#e9ecef;color:#495057;min-width:32px}.toggle-btn:hover{background:#dee2e6}.remove-btn{min-width:32px}.property-details{background:#fff}.property-tabs{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex}.tab-btn{flex:1 1;justify-content:center;padding:1rem}.tab-btn:hover{background:#e9ecef}.tab-btn.active{background:#fff;border-bottom:2px solid #3498db;font-weight:500}.tab-icon{font-size:1rem}.tab-content{padding:1.5rem}.basic-info-tab{display:flex;flex-direction:column;gap:1rem}.info-section h4{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem}.property-stats{grid-gap:1rem;background:#f8f9fa;border-radius:6px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:1rem;padding:1rem}.stat-item{align-items:center;justify-content:space-between}.positions-placeholder{color:#6c757d;padding:2rem;text-align:center}.positions-placeholder h4{color:#495057;margin-bottom:1rem}@media (max-width:768px){.property-header{align-items:stretch;flex-direction:column;gap:1rem}.property-title-section{justify-content:flex-start}.property-controls{justify-content:flex-end}.property-tabs{flex-direction:column}.tab-btn{justify-content:flex-start;padding:.75rem 1rem}.property-stats{grid-template-columns:1fr}}.property-list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.property-list-header h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.property-description{color:#666;font-size:.95rem;font-style:italic;margin-bottom:1.5rem}.empty-state{margin-bottom:2rem}.empty-state p{margin:.5rem 0}.properties-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.add-property-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:1.5rem;text-align:center}.add-property-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-property-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.add-icon{font-size:1.2rem;font-weight:700}.add-property-hint{color:#6c757d;font-size:.85rem;margin:.75rem 0 0}.max-properties-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;padding:1rem;text-align:center}.max-properties-notice p{font-weight:500;margin:0}@media (max-width:768px){.property-list{padding:1rem}.add-property-btn{justify-content:center;width:100%}}.shared-configuration{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.shared-config-header{margin-bottom:2rem;text-align:center}.shared-config-header h2{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem}.shared-config-header p{color:#666;font-size:1rem;margin:0}.shared-config-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.tab-button:hover{background:#3498db0d;color:#3498db}.tab-button.active{background:#3498db1a;border-bottom-color:#3498db;color:#3498db}.shared-config-content{min-height:300px}.positions-section,.taxes-section{animation:fadeIn .3s ease}.positions-section h3,.taxes-section h3{color:#2c3e50;font-size:1.3rem;margin-bottom:.5rem}.section-description{background:#f8f9fa;border-left:4px solid #3498db;border-radius:4px;color:#666;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.health-benefits-configuration{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.benefits-header h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.benefits-description{color:#6c757d;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.benefits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:2rem}.benefit-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;border-top:4px solid #3498db;padding:1.5rem;transition:all .3s ease}.benefit-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.benefit-card-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.benefit-icon{align-items:center;border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.benefit-info h3{color:#2c3e50;font-size:1.1rem;margin:0 0 .25rem}.benefit-info p{color:#6c757d;font-size:.85rem;line-height:1.4;margin:0}.benefit-inputs{gap:1rem;margin-bottom:1.5rem}.benefit-inputs,.input-group{display:flex;flex-direction:column}.input-group{gap:.5rem}.input-group label{color:#495057;font-size:.9rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{color:#6c757d;font-weight:500;left:.75rem;position:absolute;z-index:1}.input-group input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.input-wrapper input{padding-left:2rem;text-align:right}.input-group input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.input-group input.error{border-color:#dc3545}.error-text{color:#dc3545;font-size:.8rem;margin-top:.25rem}.benefit-summary{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.summary-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:.5rem 0}.summary-row:not(:last-child){border-bottom:1px solid #f1f3f4}.summary-row.total{border-top:2px solid #3498db;color:#2c3e50;font-weight:600;margin-top:.5rem;padding-top:.75rem}.amount,.count,.total-amount{color:#2c3e50;font-weight:500}.total-amount{color:#3498db;font-size:1rem}.benefits-overview{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.benefits-overview h3{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem}.overview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.overview-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1rem;text-align:center}.overview-item.total{background:#e3f2fd;border-color:#3498db}.overview-label{color:#6c757d;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.overview-value{color:#2c3e50;font-size:1.1rem;font-weight:600}.overview-item.total .overview-label,.overview-item.total .overview-value{color:#1976d2}.benefits-stats{border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:2rem;padding-top:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6c757d;font-size:.85rem;font-weight:500}.stat-value{color:#2c3e50;font-size:1rem;font-weight:600}.no-benefits-notice{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.no-benefits-notice p{margin:0}@media (max-width:768px){.health-benefits-configuration{padding:1rem}.benefits-grid{gap:1rem;grid-template-columns:1fr}.benefit-card{padding:1rem}.benefit-card-header{align-items:center;flex-direction:column;gap:.75rem;text-align:center}.overview-grid{gap:.75rem;grid-template-columns:1fr}.benefits-stats{flex-direction:column;gap:1rem}}.additional-costs-list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.costs-header h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.costs-description{color:#6c757d;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.costs-tabs{border-bottom:2px solid #dee2e6;display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto}.tab-btn{align-items:center;background:#0000;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;position:relative;transition:all .3s ease;white-space:nowrap}.tab-btn:hover{background:#f8f9fa;color:#495057}.tab-btn.active{background:#e3f2fd;color:#3498db}.tab-btn.active:after{background:#3498db;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-icon{font-size:1.1rem}.tab-count{background:#3498db;border-radius:12px;color:#fff;font-size:.75rem;min-width:20px;padding:.2rem .5rem;text-align:center}.tab-btn.active .tab-count{background:#1976d2}.tab-content{min-height:300px}.costs-tab{width:100%}.tab-header h3{color:#2c3e50;font-size:1.2rem;margin-bottom:.5rem}.tab-header p{color:#6c757d;font-size:.9rem;margin-bottom:1.5rem}.empty-state{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:3rem 1rem;text-align:center}.empty-state p{color:#6c757d;font-size:1rem;margin-bottom:1.5rem}.add-cost-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.add-cost-btn.primary{font-size:1rem;padding:1rem 2rem}.add-cost-btn:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.remove-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .2s ease}.remove-btn:hover{background:#c82333}.costs-table{width:100%}.costs-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;overflow:hidden;width:100%}.costs-table th{background:#2c3e50;color:#fff;font-size:.9rem;font-weight:600;padding:1rem;text-align:left}.costs-table td{border-bottom:1px solid #dee2e6;padding:.75rem 1rem;vertical-align:middle}.costs-table tbody tr:hover{background:#f8f9fa}.costs-table input{border:1px solid #dee2e6;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.costs-table input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.costs-table input.error{border-color:#dc3545}.amount-input{align-items:center;display:flex;position:relative}.currency{color:#6c757d;font-weight:500;left:.5rem;position:absolute;z-index:1}.amount-input input{padding-left:1.5rem;text-align:right}.total-amount{background:#e3f2fd;border-radius:4px;color:#2c3e50;display:inline-block;font-weight:600;padding:.5rem}.vehicle-cards{display:flex;flex-direction:column;gap:1.5rem}.vehicle-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.vehicle-card-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.vehicle-card-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.vehicle-form{display:flex;flex-direction:column;gap:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#495057;font-size:.9rem;font-weight:500}.form-group input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-group input.error{border-color:#dc3545}.vehicle-total{background:#e3f2fd;border-radius:6px;color:#1976d2;font-size:1.1rem;margin-top:1rem;padding:1rem;text-align:right}.costs-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:2rem;padding:1.5rem}.costs-summary h3{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem}.summary-grid{display:flex;flex-direction:column;gap:.75rem}.summary-item{align-items:center;background:#fff;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem}.summary-item.total{background:#e3f2fd;border:2px solid #3498db;color:#1976d2;font-size:1rem;font-weight:600}.error-message{background:#ffebee;border:1px solid #f8bbd9;border-radius:4px;color:#d32f2f;font-size:.9rem;margin-top:1rem;padding:.75rem}@media (max-width:768px){.additional-costs-list{padding:1rem}.costs-tabs{flex-wrap:wrap;gap:.5rem}.tab-btn{font-size:.8rem;padding:.75rem 1rem}.costs-table{overflow-x:auto}.costs-table table{min-width:600px}.form-row{grid-template-columns:1fr}.vehicle-card-header{align-items:stretch;flex-direction:column;gap:1rem}.summary-grid{gap:.5rem}.summary-item{font-size:.85rem;padding:.5rem}}@media (max-width:480px){.costs-tabs{flex-direction:column}.tab-btn{border-radius:6px;justify-content:center;margin-bottom:.5rem;padding:1rem}.tab-btn.active:after{display:none}.costs-table table{font-size:.8rem}.costs-table td,.costs-table th{padding:.5rem}}.export-button-container{align-items:center;display:flex;flex-direction:column;gap:15px;margin-top:20px}.export-button{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:10px;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s ease}.export-button:hover:not(.disabled):not(.exporting){background:linear-gradient(135deg,#218838,#1ca085);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.export-button:active:not(.disabled):not(.exporting){box-shadow:0 2px 4px #28a7454d;transform:translateY(0)}.export-button.disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6}.export-button.exporting{background:linear-gradient(135deg,#17a2b8,#138496);cursor:wait}.export-button.exporting:before{animation:loading-shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.export-icon,.export-spinner{display:inline-block;font-size:1.2rem}.export-spinner{animation:spin 1s linear infinite}.export-status{align-items:center;animation:slideIn .3s ease-out;display:flex;font-size:.95rem;gap:8px;max-width:400px;padding:12px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.export-status.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.export-status.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-icon{font-size:1.1rem}.export-hint{color:#6c757d;font-size:.9rem;font-style:italic;margin:0;max-width:300px;text-align:center}@media (max-width:768px){.export-button{font-size:1rem;padding:12px 24px}.export-status{font-size:.9rem;max-width:320px;padding:10px 14px}.export-hint{font-size:.85rem;max-width:280px}}@media (max-width:480px){.export-button{font-size:.95rem;max-width:250px;padding:10px 20px;width:100%}.export-status{font-size:.85rem;max-width:100%;padding:8px 12px}}.import-export-section{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#333;font-size:18px;margin:0}.toggle-advanced{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.toggle-advanced:hover{background:#e9ecef;color:#333}.export-options{display:flex;flex-direction:column;gap:20px}.option-group h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 8px}.option-group p{color:#6c757d;font-size:13px;line-height:1.4;margin:0 0 16px}.section-divider{background:#e9ecef;height:1px;margin:8px 0}.data-operations{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.data-export-btn,.data-import-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.data-export-btn:hover{background:#f8f9fa;border-color:#adb5bd}.data-import-btn:hover:not(:disabled){background:#e3f2fd;border-color:#1976d2;color:#1976d2}.data-import-btn:disabled{cursor:not-allowed;opacity:.6}.btn-icon{font-size:14px}.data-operations-note{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;padding:12px}.data-operations-note small{font-size:12px;line-height:1.5}.import-status{align-items:center;border:1px solid;border-radius:8px;display:flex;font-size:14px;gap:10px;margin-top:16px;padding:12px 16px}.import-status.success{background:#d4edda;border-color:#c3e6cb;color:#155724}.import-status.error{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.status-icon{font-size:16px}@media (max-width:768px){.section-header{align-items:flex-start;gap:12px}.data-operations,.section-header{flex-direction:column}.data-export-btn,.data-import-btn{justify-content:center;padding:12px 16px}}.quotation-summary{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:1200px;padding:20px}.summary-header{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:20px}.header-top{justify-content:space-between;margin-bottom:15px}.header-top,.summary-header h2{align-items:center;display:flex}.summary-header h2{color:#2c3e50;font-size:2rem;gap:10px;margin:0}.view-toggle{background:#f8f9fa;border-radius:6px;display:flex;gap:2px;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.toggle-btn.active{background:#3498db;box-shadow:0 2px 4px #3498db4d;color:#fff}.toggle-btn:hover:not(.active){background:#e9ecef;color:#495057}.holiday-rate,.margin{color:#6c757d;font-size:.8rem;margin-top:2px}.holiday-rate{color:#28a745}.margin{color:#fd7e14}.summary-meta{display:flex;flex-wrap:wrap;gap:30px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.meta-value{color:#2c3e50;font-size:1.1rem;font-weight:600}.summary-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:40px;padding:25px}.summary-section h3{align-items:center;display:flex;font-size:1.5rem;gap:8px;margin:0 0 20px}.property-summary{background:#fff;border-left:4px solid #3498db;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-bottom:20px;padding:20px}.property-summary:last-child{margin-bottom:0}.property-summary h4{color:#2c3e50;font-size:1.3rem;margin:0 0 20px}.positions-breakdown{margin-bottom:25px}.positions-breakdown h5{color:#34495e;font-size:1.1rem;margin:0 0 15px}.positions-table{border-collapse:collapse;margin-bottom:15px;width:100%}.positions-table td,.positions-table th{border-bottom:1px solid #dee2e6;padding:10px;text-align:left}.positions-table th{background-color:#f8f9fa;color:#495057;font-size:.9rem;font-weight:600}.positions-table td{color:#495057}.positions-table .total-row{background-color:#e9ecef;font-weight:600}.taxes-breakdown{margin-bottom:20px}.taxes-breakdown h5{color:#34495e;font-size:1.1rem;margin:0 0 15px}.tax-items{display:flex;flex-direction:column;gap:8px}.tax-item{align-items:center;background:#f8f9fa;border-radius:4px;color:#495057;display:flex;justify-content:space-between;padding:8px 12px}.tax-item.total-tax{background:#e9ecef;font-weight:600;margin-top:8px}.property-total{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;font-size:1.1rem;justify-content:space-between;padding:15px}.additional-costs-breakdown,.benefits-breakdown{display:flex;flex-direction:column;gap:15px}.benefit-item,.cost-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;display:flex;justify-content:space-between;padding:10px 15px}.additional-costs-total,.benefit-total,.cost-subtotal{align-items:center;background:#e9ecef;border-radius:6px;color:#495057;display:flex;font-weight:600;justify-content:space-between;margin-top:8px;padding:12px 15px}.cost-category{margin-bottom:20px}.cost-category h5{color:#34495e;font-size:1rem;margin:0 0 10px}.grand-total-section{background:#fff3cd;border:2px solid #ffeeba;border-radius:8px;margin-bottom:30px;padding:25px}.grand-total-section h3{align-items:center;color:#856404;display:flex;font-size:1.5rem;gap:8px;margin:0 0 20px}.totals-breakdown{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.total-item{background:#fffc;border-radius:6px;color:#856404;font-size:1rem;padding:10px 15px}.grand-total{align-items:center;background:#f8d7da;border:2px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;font-size:1.4rem;font-weight:700;justify-content:space-between;padding:20px}.export-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:25px;text-align:center}.export-section h3{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.export-section p{color:#6c757d;font-size:1rem;margin:0 0 20px}@media (max-width:768px){.quotation-summary{margin:10px;padding:15px}.summary-header h2{font-size:1.6rem}.summary-meta{gap:20px}.summary-section{padding:20px}.property-summary{padding:15px}.positions-table{font-size:.9rem}.positions-table td,.positions-table th{padding:8px 6px}.benefit-item,.cost-item,.tax-item,.total-item{font-size:.9rem;padding:8px 12px}.grand-total{font-size:1.2rem;padding:15px}.export-btn{font-size:1rem;padding:10px 20px}}@media (max-width:480px){.positions-table,.positions-table tbody,.positions-table td,.positions-table th,.positions-table thead,.positions-table tr{display:block}.positions-table thead tr{left:-9999px;position:absolute;top:-9999px}.positions-table tr{border:1px solid #ccc;border-radius:6px;margin-bottom:10px;padding:10px}.positions-table td{border:none;border-bottom:1px solid #eee;padding-left:50%!important;position:relative}.positions-table td:before{content:attr(data-label) ": ";font-weight:600;left:6px;padding-right:10px;position:absolute;white-space:nowrap;width:45%}}@media print{.quotation-summary{border:1px solid #ddd;box-shadow:none}.export-section{display:none}.summary-section{break-inside:avoid;page-break-inside:avoid}}.calendar-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:20px}.calendar-header h3{color:#2c3e50;font-size:1.2em;margin:0 0 20px}.calendar-content{display:flex;flex-direction:column;gap:30px}.calendar-info{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1fr 1fr}.calendar-months{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.calendar-month{border:1px solid #ddd;border-radius:6px;overflow:hidden}.month-header{background:#3498db;color:#fff;font-size:.9em;font-weight:700;padding:8px;text-align:center}.calendar-grid{grid-gap:1px;background:#ddd;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);padding:1px}.calendar-day{align-items:center;aspect-ratio:1;cursor:pointer;display:flex;font-size:.8em;justify-content:center;transition:opacity .2s}.calendar-day:hover{opacity:.8}.calendar-day.empty{background:#0000;cursor:default}.calendar-day.weekday{background:#fff;color:#333}.calendar-day.weekend{background:#ffa07a;color:#333}.calendar-day.holiday{background:#90ee90;color:#333;font-weight:700}.distribution-section h4{color:#2c3e50;font-size:1.1em;margin:0 0 15px}.distribution-table{border:1px solid #ddd;border-radius:6px;max-width:500px;overflow:hidden}.distribution-header,.distribution-row{border-bottom:1px solid #ddd;display:grid;grid-template-columns:120px 80px 80px 80px}.distribution-header{background:#f8f9fa;font-weight:700}.distribution-header>div,.distribution-row>div{border-right:1px solid #ddd;padding:8px 12px;text-align:center}.distribution-header>div:last-child,.distribution-row>div:last-child{border-right:none}.month-col{text-align:left!important}.distribution-row:hover{background:#f8f9fa}.total-row{background:#e9ecef;border-top:2px solid #3498db}.holidays-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.holidays-header{align-items:center;border-bottom:2px solid #28a745;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:8px}.holidays-header h4{color:#2c3e50;font-size:1.1em;margin:0}.customize-holidays-btn{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;padding:6px 12px;transition:background .2s}.customize-holidays-btn:hover{background:#2980b9}.holidays-grid{display:flex;flex-direction:column;gap:12px}.holiday-item{align-items:center;background:#f8f9fa;border-left:4px solid #28a745;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:all .2s ease}.holiday-item:hover{background:#e9ecef;transform:translateX(2px)}.holiday-content{flex:1 1}.remove-holiday-btn{background:none;border:none;cursor:pointer;font-size:.8em;opacity:.6;padding:4px;transition:opacity .2s}.remove-holiday-btn:hover{opacity:1}.add-holiday-section{border:2px dashed #28a745;border-radius:6px;margin:20px 0;padding:15px;text-align:center}.add-holiday-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:10px 20px;transition:background .2s}.add-holiday-btn:hover{background:#218838}.holidays-source{background:#e8f4fd;border-left:4px solid #3498db;border-radius:6px;margin:20px 0;padding:15px}.holidays-source h5{color:#2c3e50;font-size:1em;margin:0 0 10px}.holidays-source p{color:#34495e;font-size:.9em;line-height:1.4;margin:8px 0}.holidays-source a{color:#3498db;text-decoration:none}.holidays-source a:hover{text-decoration:underline}.holiday-types{margin-top:12px}.holiday-type{background:#fff;border-radius:4px;color:#2c3e50;font-size:.85em;margin:8px 0;padding:8px 12px}.holiday-name{color:#2c3e50;font-size:.95em;font-weight:700;margin-bottom:4px}.holiday-date{color:#6c757d;font-size:.85em}.holidays-note{background:#e8f5e8;border-left:4px solid #28a745;border-radius:6px;margin-top:20px;padding:15px}.holidays-note p{color:#155724;font-size:.9em;line-height:1.4;margin:0}.weekdays-col{background:#ffffff80}.weekends-col{background:#ffa07a4d}.holidays-col{background:#90ee904d}@media (max-width:768px){.calendar-months{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.distribution-table{font-size:.9em}.distribution-header,.distribution-row{grid-template-columns:100px 60px 60px 60px}.distribution-header>div,.distribution-row>div{padding:6px 8px}.calendar-info{gap:20px;grid-template-columns:1fr}.holidays-list{padding:15px}.holiday-item{padding:10px}.holidays-note{padding:12px}}.security-hours-report{background:#fff;font-family:Arial,sans-serif;margin:0 auto;max-width:100%;padding:20px}.report-placeholder{color:#666;padding:60px 20px;text-align:center}.report-placeholder h3{color:#2c3e50;margin-bottom:10px}.report-header{align-items:center;border-bottom:2px solid #ccc;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.company-logo{flex:0 0 auto}.logo-placeholder{background:#5fb3d4;border-radius:50px;color:#fff;font-size:14px;font-weight:700;min-width:150px;padding:10px 20px;text-align:center}.report-title{flex:1 1;margin:0 20px;text-align:center}.report-title h1{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.report-date{color:#666;font-size:14px;margin-top:10px}.report-actions{flex:0 0 auto}.print-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.print-btn:hover{background:#218838;transform:translateY(-1px)}.report-table-container{box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow-x:auto}.security-hours-table{background:#fff;border-collapse:collapse;font-size:12px;min-width:1200px;width:100%}.security-hours-table th{background:#5fb3d4;border:1px solid #4a9bc1;color:#fff;font-size:11px;font-weight:700;padding:12px 8px;text-align:center}.position-header{min-width:120px;vertical-align:middle}.month-header,.monthly-header,.position-header{background:#5fb3d4!important}.month-header{min-width:50px}.bill-rate-header,.hours-type-header,.total-header,.total-hours-header{background:#5fb3d4!important;min-width:80px;vertical-align:middle}.security-hours-table td{border:1px solid #ddd;padding:8px;text-align:center;vertical-align:middle}.position-name{background:#f8f9fa;font-weight:700;padding-left:12px;text-align:left;vertical-align:middle}.position-name-sub{background:#f0f8ff;color:#666;font-style:italic;padding-left:20px;text-align:left}.hours-type-cell{background:#f8f9fa;color:#666;font-size:11px;font-style:italic}.position-row{background:#fff}.holiday-row{background:#f0f8ff}.regular-hours{background:#fff}.holiday-hours{background:#f0f8ff;font-style:italic}.hours-cell{font-weight:500}.rate-cell,.total-cell,.total-hours-cell{background:#f8f9fa;font-weight:700}.rate-cell,.total-cell{color:#2c5530}.total-cell{background:#e8f5e8}.totals-row{background:#5fb3d4;color:#fff;font-weight:700}.totals-row td{border-color:#4a9bc1;padding:12px 8px}.totals-label{padding-left:12px;text-align:left}.grand-total-amount,.grand-total-hours,.month-total{font-weight:700}.grand-total-amount{background:#4a9bc1;color:#fff}.cost-summary-section{border-top:2px solid #5fb3d4;margin-top:30px;padding:20px 0}.cost-summary-section h3{color:#2c3e50;font-size:18px;margin-bottom:20px;text-align:center}.cost-summary-table-container{box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow-x:auto}.cost-summary-table{background:#fff;border-collapse:collapse;font-size:12px;min-width:1200px;width:100%}.cost-summary-table th{background:#5fb3d4;border:1px solid #4a9bc1;color:#fff;font-size:11px;font-weight:700;padding:12px 8px;text-align:center}.cost-summary-table td{border:1px solid #ddd;padding:8px;text-align:center;vertical-align:middle}.position-name-cost{background:#f8f9fa;font-weight:700;padding-left:12px;text-align:left}.cost-cell{background:#fff;color:#2c5530;font-weight:500}.annual-total-cell{background:#e8f5e8;color:#2c5530;font-weight:700}.cost-totals-row{background:#5fb3d4;color:#fff;font-weight:700}.cost-totals-row td{border-color:#4a9bc1;padding:12px 8px}.cost-totals-label{padding-left:12px;text-align:left}.cost-grand-total,.cost-month-total{font-weight:700}.cost-grand-total{background:#4a9bc1}.final-totals-section{background:#f8f9fa;border-left:4px solid #5fb3d4;border-radius:8px;margin-top:20px;padding:20px}.totals-breakdown{margin:0 auto;max-width:500px}.total-line{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.total-line:last-child{border-bottom:none}.grand-total-line{border-top:2px solid #2c3e50;font-size:1.1em;font-weight:700;margin-top:10px;padding-top:15px}.total-label{color:#2c3e50;font-weight:500}.total-amount{color:#2c5530;font-weight:700}.grand-total-line .total-amount,.grand-total-line .total-label{color:#2c3e50;font-size:1.2em}.year-info-header{background:#4a9bc1!important;color:#fff!important;font-size:10px!important;font-style:italic;padding:6px 8px!important}.weekly-hours-simple{background:#f8f9fa;border-left:4px solid #5fb3d4;border-radius:8px;margin:0 auto;max-width:400px;padding:20px}.position-hours-row{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.position-hours-row:last-child{border-bottom:none}.total-hours-row{border-top:2px solid #5fb3d4;display:flex;font-size:1.05em;justify-content:space-between;margin-top:10px;padding:12px 0 0}.position-hours-row .position-name{color:#2c3e50;flex:1 1;font-weight:500}.hours-per-week{color:#2c5530;font-weight:500;text-align:right}.report-summary{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.summary-section h3{color:#2c3e50;font-size:18px;margin-bottom:20px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.position-summary{background:#f8f9fa;border-left:4px solid #5fb3d4;border-radius:6px;padding:15px}.total-summary{background:#e8f5e8;border-left:4px solid #2c5530;border-radius:6px;font-weight:700;padding:15px}.position-title{color:#2c3e50;font-weight:700;margin-bottom:5px}.position-hours{color:#666;font-size:14px}.position-cost{color:#2c5530;font-size:14px;font-weight:500}.position-margin{color:#666;font-size:12px;font-style:italic;margin-top:3px}.total-summary .position-hours,.total-summary .position-title{color:#2c5530}@media print{.security-hours-report{box-shadow:none;margin:0;max-width:none;padding:0}.report-table-container{box-shadow:none;overflow-x:visible}.security-hours-table{font-size:9px;min-width:auto;width:100%}.security-hours-table td,.security-hours-table th{font-size:8px;padding:4px 2px}.report-header{border-bottom:1px solid #000;margin-bottom:20px}.logo-placeholder{background:#000!important}.logo-placeholder,.security-hours-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.security-hours-table th{background:#e0e0e0!important;color:#000!important}.print-btn{display:none}}.monthly-charges-section{background:#fff;border-radius:10px;box-shadow:0 3px 10px #0000001a;margin:40px 0;padding:25px}.monthly-charges-section h3{border-bottom:2px solid #1976d2;color:#1976d2;font-size:1.3rem;margin-bottom:20px;padding-bottom:10px}.monthly-charges-table-container{margin:0 -10px;overflow-x:auto}.monthly-charges-table{background:#fff;border-collapse:collapse;min-width:500px;width:100%}.monthly-charges-table th{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.monthly-charges-table th:nth-child(2),.monthly-charges-table th:nth-child(3){text-align:right}.monthly-charges-table td{border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:10px 12px}.monthly-charges-table td:nth-child(2),.monthly-charges-table td:nth-child(3){font-family:Courier New,monospace;text-align:right}.monthly-charges-table tbody tr:hover{background:#f5f9ff}.monthly-charges-table tbody tr td:first-child{font-weight:500}.monthly-charges-table tfoot tr{background:#e3f2fd;border-top:2px solid #1976d2}.monthly-charges-table tfoot td{color:#1565c0;font-size:1.1rem;font-weight:700;padding:15px 12px}@media (max-width:768px){.report-header{flex-direction:column;gap:15px;text-align:center}.report-title{margin:0}.report-date{margin-top:10px;position:static}.security-hours-table{font-size:10px}.security-hours-table td,.security-hours-table th{padding:6px 4px}.summary-grid{grid-template-columns:1fr}}.excel-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin-left:10px;padding:10px 20px;transition:all .3s ease}.excel-btn:hover{background:#0056b3;transform:translateY(-1px)}.excel-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.export-status-small{word-wrap:break-word;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.8em;font-weight:500;margin-right:10px;max-width:300px;padding:6px 12px}.report-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@media print{.excel-btn,.export-status-small{display:none}}.formula-audit{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.audit-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.audit-header h2{font-size:1.8em;margin:0 0 10px}.audit-header p{font-size:1.1em;margin:0;opacity:.9}.audit-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:60px 20px;text-align:center}.audit-placeholder h3{color:#6c757d;margin-bottom:10px}.audit-placeholder p{color:#6c757d;margin:0}.audit-selectors{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:20px;margin-bottom:30px;padding:20px}.selector-group{display:flex;flex-direction:column;gap:8px}.selector-group label{color:#495057;font-size:.9em;font-weight:600}.selector-group select{background:#fff;border:1px solid #ced4da;border-radius:6px;font-size:.95em;min-width:200px;padding:8px 12px}.calculation-sections{display:flex;flex-direction:column;gap:30px}.calculation-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:25px}.calculation-section h3{border-bottom:2px solid #e9ecef;color:#495057;font-size:1.3em;margin:0 0 20px;padding-bottom:10px}.formula-table{overflow-x:auto}.formula-table table{border-collapse:collapse;font-size:.95em;width:100%}.formula-table td,.formula-table th{border-bottom:1px solid #e9ecef;padding:12px 15px;text-align:left}.formula-table th{color:#495057;font-weight:600}.formula-table th,.formula-table tr:hover{background:#f8f9fa}.formula-steps{display:flex;flex-direction:column;gap:15px}.formula-step{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:15px}.formula-label{font-weight:600}.formula-excel,.formula-label{color:#495057;margin-bottom:8px}.formula-excel{background:#e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;padding:8px 12px}.formula-calculation{color:#28a745;font-size:.95em;font-weight:500}.holiday-list{background:#f8f9fa;border-left:4px solid #ffc107;border-radius:8px;padding:20px}.holiday-list ul{margin:10px 0;padding-left:20px}.holiday-list li{margin-bottom:5px}.holiday-list em{color:#6c757d;font-size:.9em}.excel-info{background:#e7f3ff;border-left:4px solid #007bff;border-radius:8px;padding:20px}.excel-mapping{margin-top:15px;overflow-x:auto}.excel-mapping table{border-collapse:collapse;font-size:.9em;width:100%}.excel-mapping td,.excel-mapping th{border-bottom:1px solid #dee2e6;padding:10px 12px;text-align:left}.excel-mapping th{background:#f8f9fa;font-weight:600}.excel-mapping td:nth-child(2){background:#f8f9fa;font-family:Courier New,monospace}.audit-actions{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;gap:15px;margin-top:40px;padding:30px}.export-status{word-wrap:break-word;border-radius:6px;font-weight:500;max-width:500px;padding:10px 20px;text-align:center}.export-status:contains("✅"){background:#d4edda;border:1px solid #c3e6cb;color:#155724}.export-status:contains("❌"){background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.export-status:contains("⏳"){background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.export-actions-row{display:flex;gap:15px;justify-content:center}.export-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;min-width:200px;padding:12px 24px;transition:all .3s ease}.export-btn.primary{background:#007bff;color:#fff}.export-btn.primary:hover{background:#0056b3;transform:translateY(-2px)}.export-btn.secondary{background:#6c757d;color:#fff}.export-btn.secondary:hover{background:#545b62;transform:translateY(-2px)}@media (max-width:768px){.audit-header,.formula-audit{padding:15px}.audit-header h2{font-size:1.5em}.audit-selectors{flex-direction:column;gap:15px}.selector-group select{min-width:100%}.calculation-section{padding:20px}.calculation-section h3{font-size:1.2em}.formula-step{padding:12px}.audit-actions{align-items:center;flex-direction:column}.export-btn{max-width:300px;width:100%}.excel-mapping,.formula-table{font-size:.85em}}*{box-sizing:border-box}body{background-color:#f8f9fa;color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.app{display:flex;flex-direction:column;min-height:100vh}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;gap:15px}.header-buttons,.header-center{justify-content:center}.header-buttons{flex-wrap:wrap}}.app-header{background:linear-gradient(135deg,#3498db,#2c3e50);box-shadow:0 2px 8px #0000001a;color:#fff;padding:1.5rem 2rem;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto;max-width:1400px}.auto-saving{animation:pulse 1.5s ease-in-out infinite alternate;color:#667eea;font-size:14px}@keyframes pulse{0%{opacity:.6}to{opacity:1}}.header-left{flex:1 1;min-width:0}.header-center{align-items:center;display:flex;flex:0 0 auto;gap:15px}.header-buttons{flex:0 0 auto;gap:10px}.app-header h1{font-size:2rem;font-weight:600;margin:0 0 .5rem}.app-header p{font-size:1rem;margin:0;opacity:.9}.header-buttons{gap:.75rem}.header-btn,.header-buttons{align-items:center;display:flex}.header-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;gap:.5rem;height:42px;justify-content:center;min-height:42px;padding:.6rem 1rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.header-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.header-btn.active{background:#ffffff40;border:2px solid #fff6}.changelog-btn{background:#667eea1a;border:2px solid #667eea4d}.changelog-btn:hover{background:#667eea33;border-color:#667eea66}.changelog-btn.active{background:#667eea4d;border:2px solid #667eea80}.export-config-btn:hover{background:#4caf504d;border-color:#4caf5080}.import-config-btn:hover{background:#2196f34d;border-color:#2196f380}.clear-form-btn:hover{background:#f443364d;border-color:#f4433680}@media (max-width:768px){.header-buttons{gap:.5rem}.header-btn{font-size:.8rem;padding:.4rem .8rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-content>div:first-child{flex:none}}.app-container{display:grid;flex:1 1;grid-template-columns:280px 1fr;margin:0 auto;max-width:1400px;width:100%}.sidebar{background:#fff;border-right:1px solid #dee2e6;box-shadow:2px 0 8px #0000000d;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto;padding:2rem 1.5rem;position:sticky;top:0}.nav-section h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.nav-links{list-style:none;margin:0 0 2rem;padding:0}.nav-item{margin-bottom:.5rem;position:relative}.nav-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:all .3s ease;width:100%}.nav-btn:hover:not(.disabled){background:#e3f2fd;color:#1976d2}.nav-item.active .nav-btn{background:#3498db;color:#fff;font-weight:500}.nav-title{flex:1 1}.nav-status{font-size:.8rem;margin-left:auto}.required-indicator{bottom:-.25rem;color:#dc3545;font-size:.7rem;font-weight:500;position:absolute;right:.5rem}.nav-item.status-complete .nav-btn{border-left:3px solid #28a745}.nav-item.status-incomplete .nav-btn{border-left:3px solid #dc3545}.nav-item.status-optional .nav-btn{border-left:3px solid #ffc107}.nav-item.status-disabled .nav-btn{border-left:3px solid #6c757d}.nav-btn.disabled{cursor:not-allowed;opacity:.5}.progress-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin:2rem 0;padding:1rem}.progress-section h4{color:#495057;font-size:.95rem;margin:0 0 1rem}.progress-bar-container{background-color:#e9ecef;border-radius:10px;height:20px;margin-bottom:.75rem;overflow:hidden;position:relative}.progress-bar{background:linear-gradient(90deg,#28a745,#20c997);border-radius:10px;height:100%;position:relative;transition:width .5s ease}.progress-label{color:#495057;font-size:.75rem;font-weight:600;left:50%;position:absolute;text-shadow:1px 1px 1px #fffc;top:50%;transform:translate(-50%,-50%)}.progress-legend{display:flex;font-size:.8rem;gap:1rem}.legend-item{align-items:center;display:flex;gap:.25rem}.legend-color{border-radius:2px;height:12px;width:12px}.legend-color.required{background-color:#dc3545}.legend-color.optional{background-color:#ffc107}.nav-icon{font-size:1.1rem}.quotation-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem}.quotation-info h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem}.info-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;font-size:.85rem;justify-content:space-between;padding:.5rem 0}.info-item:last-child{border-bottom:none;color:#1976d2;font-weight:600}.content{background:#f8f9fa;min-height:calc(100vh - 120px);padding:2rem}.section{margin:0 auto;max-width:1000px}.summary-placeholder{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.summary-placeholder h2{color:#2c3e50;margin-bottom:1rem}.summary-placeholder p{color:#6c757d;margin-bottom:2rem}.basic-totals{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:0 auto;max-width:400px;padding:1.5rem;text-align:left}.basic-totals h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem}.total-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem 0}.total-item:last-child{border-bottom:none}.total-item.grand-total{border-top:2px solid #3498db;color:#1976d2;font-size:1rem;font-weight:600;margin-top:.5rem;padding-top:1rem}.validation-status{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:2rem;padding:1rem}.validation-status h4{color:#495057;font-size:.95rem;margin:0 0 .75rem}.validation-success{align-items:center;color:#155724;display:flex;font-size:.9rem;gap:.5rem}.validation-errors{color:#721c24;font-size:.9rem}.validation-errors .status-icon{margin-right:.5rem}.error-details{margin-top:.5rem}.error-details summary{color:#6c757d;cursor:pointer;font-size:.85rem;margin-bottom:.5rem}.error-details summary:hover{color:#495057}.error-list{font-size:.8rem;margin:.5rem 0 0;max-height:120px;overflow-y:auto;padding-left:1rem}.error-item{line-height:1.3;margin-bottom:.25rem}.error-item strong{color:#dc3545}.status-icon{display:inline-block;font-size:1rem}@media (max-width:1200px){.app-container{grid-template-columns:260px 1fr}}@media (max-width:1024px){.app-container{grid-template-columns:240px 1fr}.sidebar{padding:1.5rem 1rem}.content{padding:1.5rem}.progress-section{margin:1.5rem 0;padding:.75rem}.validation-status{margin-top:1.5rem;padding:.75rem}}@media (max-width:768px){.app,.app-container{position:relative}.app-container{grid-template-columns:1fr}.sidebar{background:#fff;border-right:1px solid #e0e0e0;box-shadow:4px 0 20px #0003;height:100vh;left:-280px;overflow-y:auto;position:fixed;top:0;transition:left .3s ease;width:280px;z-index:9998}.sidebar.open{left:0}.sidebar-overlay{background:#0009;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:9997}.sidebar-overlay.active{opacity:1;visibility:visible}.content{padding:4rem 1rem 1rem}.app-header{padding:1rem 1rem 1rem 4rem;text-align:left}.app-header h1{font-size:1.5rem}.app-header p{font-size:.9rem}.nav-btn{font-size:1rem;padding:1rem}.progress-section{margin:1rem 0}.validation-status{margin-top:1rem}}@media (max-width:480px){.content{padding:4rem .75rem 1rem}.app-header{padding:.75rem .75rem .75rem 3.5rem}.app-header h1{font-size:1.3rem}.mobile-nav-toggle{font-size:1.1rem;left:.75rem;padding:.4rem;top:.75rem}.sidebar{left:-100vw;width:100vw}.sidebar.open{left:0}}.mobile-nav-toggle{align-items:center;background:#3498db;border:none;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:none;font-size:1.4rem;justify-content:center;left:1rem;min-height:44px;min-width:44px;padding:.75rem;position:fixed;top:1rem;transition:all .3s ease;z-index:9999}.mobile-nav-toggle:hover{background:#2980b9;transform:scale(1.05)}.mobile-nav-toggle:active{transform:scale(.95)}@media (max-width:768px){.mobile-nav-toggle{display:flex!important}}@media (min-width:769px){.mobile-nav-toggle{display:none!important}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.sidebar::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#a8a8a8}