:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#242424}.navbar{width:100%;position:fixed;top:0;left:0;z-index:1000}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.navbar{background:linear-gradient(90deg,#4a90e2,#9013fe);padding:1rem 2rem;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;align-items:center}.navbar-container{display:flex;align-items:center;justify-content:space-between;width:100%}.navbar-logo a{font-size:1.8rem;font-weight:700;color:#fff;text-decoration:none}.navbar-links{display:flex;gap:1.5rem;margin-right:auto}.navbar-links a{text-decoration:none;color:#fff;font-size:1rem;transition:color .3s ease}.navbar-links a:hover{color:#ffe600}.navbar-links li{list-style:none}.navbar-toggle{display:none;background:none;border:none;font-size:1.8rem;color:#fff;cursor:pointer;z-index:1100}.logout-text{margin-right:2rem;font-size:1rem;color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem;border-radius:5px;transition:background-color .3s ease,color .3s ease}.logout-text:hover{background-color:#ff4d4d;color:#fff}@media (max-width: 768px){.navbar-toggle{display:block}.navbar-links{position:fixed;top:0;right:0;height:100vh;width:70%;background-color:#333;flex-direction:column;justify-content:center;align-items:center;transform:translate(100%);transition:transform .3s ease-in-out;z-index:1000}.navbar-links.active{transform:translate(0)}.navbar-links a{font-size:1.5rem;color:#fff}}.inicio-container{text-align:center;padding:2rem;box-shadow:0 4px 12px #0000001a;background-color:#fff;border-radius:15px}.inicio-container h1{font-size:2.5em;color:#333}.inicio-container p{font-size:1.2em;color:#555}.guide-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.guide-modal{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.guide-header{background:linear-gradient(90deg,#4a90e2,#9013fe);color:#fff;padding:1.5rem 2rem;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.guide-header h2{margin:0;font-size:1.8rem;font-weight:700}.guide-close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.guide-close-btn:hover{background:#ffffff4d}.guide-content{padding:2rem}.guide-section{display:flex;align-items:flex-start;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.guide-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.guide-section:last-child{margin-bottom:0}.guide-icon{background:linear-gradient(135deg,#4a90e2,#9013fe);color:#fff;width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-right:1.5rem;flex-shrink:0}.guide-section h3{margin:0 0 .5rem;color:#333;font-size:1.4rem;font-weight:700}.guide-section p{margin:0;color:#666;font-size:1rem;line-height:1.6}.guide-footer{padding:1.5rem 2rem;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;gap:1rem;background:#f8f9fa;border-radius:0 0 20px 20px}.guide-hide-btn,.guide-ok-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.guide-hide-btn{background:#e0e0e0;color:#666}.guide-hide-btn:hover{background:#d0d0d0;color:#333}.guide-ok-btn{background:linear-gradient(90deg,#4a90e2,#9013fe);color:#fff;flex:1}.guide-ok-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}@media (max-width: 768px){.guide-modal{width:95%;max-height:85vh}.guide-header{padding:1rem 1.5rem}.guide-header h2{font-size:1.4rem}.guide-content{padding:1.5rem}.guide-section{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.guide-icon{margin-right:0;margin-bottom:1rem}.guide-footer{flex-direction:column;padding:1rem 1.5rem}.guide-ok-btn{width:100%}}.login-background{min-height:100vh;width:100%;background:linear-gradient(135deg,#0c159c,#6c63ff);display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0}.login-container{position:relative;width:100%;max-width:500px;padding:40px;background-color:#ffffff1a;border-radius:15px;box-shadow:0 4px 12px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-container form{background-color:transparent;border-radius:15px;padding:40px;box-shadow:0 4px 12px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-container form label{display:block;margin-bottom:8px;color:#fff;font-weight:700}.login-container form input{display:block;width:100%;padding:12px;margin-bottom:20px;border:1px solid rgba(255,255,255,.5);background-color:#fff3;border-radius:8px;color:#fff;font-size:14px}.login-container form input::placeholder{color:#ffffffb3}.login-container form button{width:100%;padding:12px;background-color:#6c63ff;color:#fff;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.login-container form button:hover{background-color:#524c9d}.login-container form .warning{color:#ff4d4d;font-size:14px;text-align:center}.login-container .shape{position:absolute;background-color:#fff;height:200px;width:200px;border-radius:50%;opacity:.1}.login-container .shape:nth-child(1){top:-50px;left:-50px}.login-container .shape:nth-child(2){bottom:-50px;right:-50px}@media (max-width: 768px){.login-container{max-width:400px;padding:20px}.login-container form{padding:25px}.login-container form button{font-size:14px}.login-container .shape{height:150px;width:150px}}.loading-spinner{margin:20px auto;width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;z-index:1000}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:999}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gestion-container{display:flex;flex-direction:column;align-items:center;margin-top:2rem;box-shadow:0 4px 12px #0000001a;background-color:#fff;border-radius:15px;padding:20px}.gestion-container h2{font-size:1.5em;margin-bottom:1rem;color:#000}.gestion-buttons{display:flex;gap:1rem;margin:10px}.gestion-buttons button{background-color:#007bff;color:#fff;border:none;padding:12px 25px;border-radius:10px;cursor:pointer;font-size:1em;transition:background-color .3s ease,transform .2s ease}.gestion-buttons button:hover{background-color:#0056b3;transform:translateY(-2px)}.volumenes-container{display:flex;flex-direction:column;align-items:center;margin-top:2rem;box-shadow:0 4px 12px #0000001a;background-color:#fff;border-radius:15px;padding:20px}.volumenes-title{font-size:20px;font-weight:700;margin-bottom:20px;color:#333}.volumenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%}.volumenes-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s ease}.volumenes-card:hover{box-shadow:0 4px 8px #00000026}.volumenes-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-bottom:10px;border-bottom:2px solid #eee}.volumenes-nombre{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.toggle-icon{font-size:12px;color:#666;transition:transform .3s ease}.toggle-icon.expanded{transform:rotate(180deg)}.valores-container{margin-top:15px;animation:slideDown .3s ease-out}.valor-item{background-color:#e6e6e6;border-radius:6px;padding:12px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:flex-start}.valor-content{flex:1}.valor-content p{margin:5px 0;font-size:14px;color:#0a0a0a}.valor-content strong{color:#2c3e50}.valor-actions{display:flex;gap:8px;margin-left:12px}.valor-action-button{width:28px;height:28px;border:none;border-radius:4px;background-color:#2196f3;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.valor-action-button:hover{background-color:#1976d2}.valor-action-button.delete{background-color:#f44336}.valor-action-button.delete:hover{background-color:#d32f2f}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading{text-align:center;padding:20px;font-size:18px;color:#666}.error{text-align:center;padding:20px;color:#e74c3c;font-size:18px;background-color:#fde8e8;border-radius:8px;margin:20px}.volumenes-header-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.create-button{padding:.5rem 1rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.create-button:hover{background-color:#45a049}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 2px 10px #0000001a}.modal-content h2{margin-top:0;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#666}.form-group input,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group textarea{min-height:100px;resize:vertical}.modal-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.submit-button,.cancel-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.submit-button{background-color:#4caf50;color:#fff}.submit-button:hover{background-color:#45a049}.cancel-button{background-color:#f44336;color:#fff}.cancel-button:hover{background-color:#da190b}.volumenes-card-header{display:flex;justify-content:space-between;align-items:center;width:100%}.add-valor-button{padding:.4rem .8rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s;margin-left:1rem}.add-valor-button:hover{background-color:#1976d2}.volumen-info{background-color:#f5f5f5;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.volumen-info p{margin:0;color:#333}.volumen-info strong{color:#1976d2}.form-select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#353535;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .7rem center;background-size:1em}.form-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.form-select option{padding:.5rem}.estimaciones-container{display:flex;flex-direction:column;align-items:center;margin-top:2rem;background-color:#fff;border-radius:15px;box-shadow:0 4px 12px #00000014;padding:32px 24px;width:100%}.gastos-contratistas-container .dropdown-label{margin-top:20px;font-size:14px;color:#555}.gastos-contratistas-container .dropdown-select{margin-top:10px;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;background-color:#fff;color:#333;width:100%}.gastos-contratistas-container .dropdown-select:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff80}h2{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:1.5rem}.form-section{width:100%;background:#f5f5f5;border-radius:10px;margin-bottom:2rem;padding:24px 18px;box-shadow:0 2px 6px #0000000a}.form-section h3{color:#1976d2;font-size:1.2rem;margin-bottom:1rem}.form-row{display:flex;flex-wrap:wrap;gap:24px}.form-group{display:flex;flex-direction:column;margin-bottom:1rem;min-width:220px;flex:1}.form-group label{margin-bottom:.5rem;color:#555;font-weight:500}.form-group input,.form-group select{padding:.5rem .7rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background:#fff;color:#222;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#2196f3;outline:none}.obra-info{background:#e6e6e6;border-radius:6px;padding:14px 18px;margin-top:1rem;color:#333}.obra-presupuesto-highlight{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(90deg,#ffefc1,#ffd280);color:#4a3b0a;border:1px solid #ffca61;border-radius:10px;padding:14px 18px;margin-top:10px;box-shadow:0 4px 10px #0000000f}.obra-presupuesto-highlight span{font-weight:600;letter-spacing:.3px}.obra-presupuesto-highlight strong{font-size:1.4rem;color:#6b4d00}.detalles-table th,.detalles-table td{padding:12px 10px;text-align:left;color:#222}.detalles-table .total-label{font-weight:700;text-align:right;background:#f5f5f5}.detalles-table .total-amount{font-weight:700;color:#1976d2;background:#f5f5f5}.btn-add,.btn-primary,.btn-secondary,.btn-remove{padding:.5rem 1.1rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;margin-top:10px}.btn-add{background:#2196f3;color:#fff;margin-left:18px}.btn-add:hover{background:#1976d2}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#388e3c}.btn-primary:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#bdbdbd}.btn-remove{background:#f44336;color:#fff;font-size:.95rem;padding:.4rem .9rem}.btn-remove:hover{background:#d32f2f}.action-buttons{display:flex;gap:16px;justify-content:flex-end;margin-top:2rem;width:100%}@media (max-width: 800px){.form-row{flex-direction:column;gap:10px}.estimaciones-container{padding:18px 6px}.form-section{padding:14px 6px}}.total-estimacion-container{margin:20px 0;padding:15px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a}.total-info{margin-bottom:15px;display:flex;flex-direction:column;gap:8px}.total-info h4{color:#2c3e50;font-size:1.2em;margin:0;display:flex;align-items:center;gap:10px}.total-info h4:last-child{color:#666;font-size:1.1em}.porcentaje-container{display:flex;flex-direction:column;gap:10px}.porcentaje-label{display:flex;align-items:center;gap:10px;font-weight:500;color:#2c3e50}.porcentaje-input{width:100px;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1em}.resultado-descuento{margin-top:10px;display:flex;flex-direction:column;gap:8px}.resultado-descuento h4{color:#1976d2;font-size:1.2em;margin:0}.resultado-descuento h4:first-child{color:#e74c3c}.presupuesto-form{margin-top:20px;padding:20px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a}.presupuesto-form h3{color:#1976d2;margin-bottom:15px}.presupuesto-form .form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.presupuesto-form .form-group{flex:1;min-width:200px}.presupuesto-form input[type=text],.presupuesto-form input[type=number],.presupuesto-form select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.presupuesto-form .total-section{margin-top:20px;padding:15px;background-color:#e9f5ff;border-radius:6px}.presupuesto-form .total-section h4{margin:0;color:#1976d2;font-size:1.2em}datalist{position:absolute;background-color:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto}datalist option{padding:8px 12px;cursor:pointer}datalist option:hover{background-color:#f0f0f0}.unidad-field{display:flex;align-items:center}.unidad-field input[readonly]{background-color:#f5f5f5;color:#666;cursor:not-allowed}.unidad-field select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.textoxd{color:#000;font-size:14px;margin-top:10px;margin-bottom:20px}.info-message{color:#666;font-size:.9em;margin-top:5px;font-style:italic}span{margin-left:10px;color:#1976d2;font-size:.9em}.warning-message{color:#d32f2f;font-size:.9em;margin-top:5px;font-weight:500}.summary-section{margin-top:20px;padding:15px;background-color:#fff8e1;border-radius:8px;border-left:4px solid #ffa000}.summary-item{display:flex;justify-content:space-between;margin-bottom:8px}.summary-total{font-weight:700;border-top:1px solid #ddd;padding-top:8px;margin-top:8px}.summary-exceeded{color:#d32f2f;font-weight:700}.performance-comparison{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.comparison-card{flex:1;min-width:200px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.comparison-card:hover{transform:translateY(-2px)}.comparison-card h4{margin:0 0 15px;color:#495057;font-size:1rem;font-weight:600}.comparison-card .amount{font-size:1.8rem;font-weight:700;color:#2c3e50;margin-bottom:10px}.comparison-card .description{font-size:.9rem;color:#6c757d;line-height:1.4}.comparison-card.profit{border-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.comparison-card.profit .amount{color:#155724}.comparison-card.loss{border-color:#dc3545;background:linear-gradient(135deg,#f8d7da,#f5c6cb)}.comparison-card.loss .amount{color:#721c24}.performance-summary{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-top:20px}.performance-summary h4{margin:0 0 15px;color:#495057;font-size:1.1rem;font-weight:600}.performance-summary .detalles-table{margin:0}.performance-summary .detalles-table tbody tr{border-bottom:1px solid #e9ecef}.performance-summary .detalles-table tbody tr:last-child{border-bottom:none}.profit-row{background-color:#d4edda!important}.loss-row{background-color:#f8d7da!important}.profit{color:#155724!important;font-weight:700}.loss{color:#721c24!important;font-weight:700}@media (max-width: 768px){.performance-comparison{flex-direction:column}.comparison-card{min-width:auto}.comparison-card .amount{font-size:1.5rem}}.detalles-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0000000a}.table-container{width:100%;overflow-x:auto;border-radius:8px;box-shadow:0 2px 6px #0000000a;margin-top:1rem}.table-container .detalles-table{min-width:800px;white-space:nowrap}.table-container .detalles-table th,.table-container .detalles-table td{padding:8px 6px;white-space:nowrap;min-width:80px}.table-container .detalles-table th:first-child,.table-container .detalles-table td:first-child{min-width:150px;white-space:normal}.estimaciones-container,.form-section{max-width:100%;overflow-x:hidden}.detalles-table th,.detalles-table td{padding:12px 10px;text-align:left;color:#222;border-bottom:1px solid #e0e0e0}.detalles-table thead{background:#1976d2;color:#fff}.detalles-table tr td[colspan]{background:#ffe082;font-weight:700;color:#333;text-transform:uppercase}.detalles-table tbody tr:nth-child(2n){background:#f8f8f8}.form-section label{color:#111!important;font-weight:600}.excel-button{padding:15px 30px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;box-shadow:0 4px 8px #4caf504d;transition:all .3s ease;margin:20px 0}.excel-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 12px #4caf5066;transform:translateY(-2px)}.excel-button:active{transform:translateY(0);box-shadow:0 2px 4px #4caf504d}.excel-button:disabled{background:linear-gradient(135deg,#ccc,#bbb);cursor:not-allowed;box-shadow:none;transform:none}.excel-button:disabled:hover{background:linear-gradient(135deg,#ccc,#bbb);box-shadow:none;transform:none}.excel-description{margin-top:10px;color:#666;font-size:14px;font-style:italic}.form-section select{width:100%;max-width:500px;padding:12px 40px 12px 16px;font-size:15px;font-weight:500;color:#333;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px}.form-section select:hover{border-color:#1976d2;box-shadow:0 4px 8px #1976d226;transform:translateY(-1px)}.form-section select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a,0 4px 8px #1976d226;transform:translateY(-1px)}.form-section select:active{transform:translateY(0)}.form-section select option{padding:12px 16px;font-size:15px;color:#333;background-color:#fff}.form-section select option:hover{background-color:#f5f5f5}.form-section select option:checked{background-color:#1976d2;color:#fff}.form-section select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e0e0e0;opacity:.7}.form-section select:disabled:hover{transform:none;box-shadow:0 2px 4px #0000000d}.estimaciones-wrapper{display:flex;gap:20px;align-items:flex-start;position:relative;max-width:1400px;margin:0 auto;padding:0 20px}.estimaciones-main-content{flex:1;min-width:0}.contextual-guide-sidebar{position:sticky;top:20px;width:320px;flex-shrink:0;z-index:100;animation:slideInRight .3s ease-out;max-height:calc(100vh - 40px);overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.contextual-guide-content{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196F3;border-radius:10px;box-shadow:0 4px 12px #2196f333;padding:0;overflow:hidden;height:100%}.contextual-guide-header{background:linear-gradient(90deg,#2196f3,#1976d2);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.contextual-guide-title{display:flex;align-items:center;gap:12px}.contextual-guide-title i{font-size:1.5rem}.contextual-guide-title h3{margin:0;font-size:1.2rem;font-weight:600}.contextual-guide-close{background:#fff3;border:none;color:#fff;font-size:1.2rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.contextual-guide-close:hover{background:#ffffff4d}.contextual-guide-body{padding:1.5rem;background:#fff}.contextual-guide-message{font-size:1rem;color:#333;line-height:1.6;margin:0 0 1rem;font-weight:500}.contextual-guide-steps{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.contextual-guide-steps h4{margin:0 0 .75rem;color:#1976d2;font-size:1rem;font-weight:600}.contextual-guide-steps ol{margin:0;padding-left:1.5rem;color:#555}.contextual-guide-steps li{margin-bottom:.5rem;line-height:1.5}.contextual-guide-steps li:last-child{margin-bottom:0}.contextual-guide-show-btn-floating{position:fixed;bottom:30px;right:30px;z-index:99;background:linear-gradient(90deg,#2196f3,#1976d2);color:#fff;border:none;border-radius:30px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #2196f366;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.contextual-guide-show-btn-floating i{font-size:1.3rem}.contextual-guide-show-btn-floating span{font-size:.95rem}.contextual-guide-show-btn-floating:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2196f380}@media (max-width: 1024px){.estimaciones-wrapper{flex-direction:column;padding:0 10px}.contextual-guide-sidebar{position:relative;top:0;width:100%;max-height:none;margin-bottom:20px}.contextual-guide-show-btn-floating{bottom:20px;right:20px;padding:.6rem 1.2rem;font-size:.9rem}.contextual-guide-show-btn-floating i{font-size:1.1rem}.contextual-guide-show-btn-floating span{font-size:.85rem}}@media (max-width: 768px){.contextual-guide-header{padding:.75rem 1rem}.contextual-guide-title h3{font-size:1rem}.contextual-guide-body{padding:1rem}.contextual-guide-message{font-size:.9rem}}#root{max-width:1280px;margin:0 auto;padding:3rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}body{margin:0;font-family:Arial,sans-serif;transition:background-color .3s,color .3s;display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#424242}.App{text-align:center;max-width:1200px;margin:50px auto 20px;padding:20px;border-radius:15px;transition:background-color .3s ease,color .3s ease}.light-mode{background-color:#fff;color:#212529}.dark-mode{background-color:#212529;color:#f8f9fa}h1{font-size:2.8em;margin-bottom:20px;font-weight:700}.download-button,.obra-button{background-color:#007bff;color:#fff;border:none;padding:12px 25px;margin:10px;border-radius:10px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;font-size:1em}.download-button:hover,.obra-button:hover{background-color:#0056b3;transform:translateY(-2px);margin:10px}.react-calendar .highlight{background-color:#90ee90;color:#fff;border-radius:20%;margin:2px}.calendar-container{margin:20px auto;max-width:800px;padding:30px}.react-calendar{width:100%;border-radius:10px;background-color:#525355;padding:10px;color:#f5f5f5}.react-calendar__month-view__days__day--weekend{color:#eb4995!important}.react-calendar__tile--highlight{background-color:#65b879!important;color:#fff!important}.react-calendar__navigation button:disabled{background-color:#3f3f3f60}.react-calendar__tile--now{background-color:#f82aba36!important}.react-calendar__tile:disabled{background-color:#3f3f3f60;color:#ababab;border-radius:0}.asistencia-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.9em;box-shadow:0 2px 10px #0000001a}.tabla-presupuestos th{color:#fff}.asistencia-table th,.asistencia-table td{padding:12px 15px;border:1px solid #dee2e6;text-align:left}.asistencia-table th{background-color:#007bff;color:#fff}.dark-mode .asistencia-table th{background-color:#495057}.dark-mode .asistencia-table td{background-color:#343a40;color:#f8f9fa}.obra-list{margin:40px 0}.obra-item{margin-bottom:40px;border-radius:10px;padding:20px;background-color:#fff;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,background-color .3s ease}.obra-item:hover{transform:translateY(-5px)}.dark-mode .obra-item{background-color:#343a40;color:#f8f9fa}.dark-mode .obra-item:hover{background-color:#495057}.btn-agregar-horas-extra{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;cursor:pointer}.btn-agregar-horas-extra:hover{background-color:#45a049}.celda-blanca-negra{background-color:#fff;color:#000}.asistencia-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.9em;box-shadow:0 2px 10px #0000001a;min-width:800px}
