body{font-family:Poppins,sans-serif;margin:0;padding:0;background-color:#f3f6fa;color:#333}header{background-color:#006b2d;color:#fff;padding:1rem;text-align:center;font-size:1.5rem;box-shadow:0 4px 8px rgba(0,0,0,.1)}nav{background-color:#fff;display:flex;justify-content:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.1)}nav a{color:#555;text-decoration:none;padding:.5rem 1.5rem;border-radius:25px;transition:background .3s,color .3s}nav a.active{background-color:#006b2d;color:#fff}.container{padding:2rem;max-width:1000px;margin:0 auto}.oportunity-list{display:flex;flex-direction:column;gap:1rem}.oportunity-item{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s;cursor:pointer}.oportunity-item.disabled{background:#f0f0f0;cursor:default}.oportunity-item:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.15)}.oportunity-item.disabled:hover{transform:none;box-shadow:0 4px 6px rgba(0,0,0,.1)}.oportunity-item h3{margin:0 0 .5rem;color:#006b2d}.oportunity-item p{margin:.2rem 0;color:#555}.oportunity-item .status{font-weight:700;color:#fff;background-color:#006b2d;padding:.3rem .8rem;border-radius:25px;display:inline-block;margin-top:1rem;font-size:.9rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s}.modal.active{visibility:visible;opacity:1}.modal-info p{margin:.2rem 0}.modal-content{background:#fff;border-radius:20px;max-width:90%;max-height:80%;overflow:hidden;width:600px;box-shadow:0 10px 20px rgba(0,0,0,.2);display:flex;flex-direction:column}.modal-content.desktop-view{width:90%;max-width:1200px}.desktop-columns{display:flex;height:600px;max-height:calc(70vh - 100px)}.column{flex:1 1;display:flex;flex-direction:column}.states-column{border-right:1px solid #e0e0e0;flex:0.4 1}.form-column{flex:0.6 1}.column-header{padding:12px;background:#f3f6fa;font-weight:600;text-align:center;border-bottom:1px solid #e0e0e0}.column-content{overflow-y:auto;padding:15px;height:100%}.modal-header{background:#006b2d;color:#fff;padding:1rem;font-size:1.2rem;font-weight:700;text-align:center;border-top-left-radius:20px;border-top-right-radius:20px}.modal-body{padding:1.5rem;overflow-y:auto;flex:1 1}.state-history{margin-top:1.5rem}.state{background:#f9f9f9;padding:1rem;border-radius:10px;margin-bottom:1rem;box-shadow:0 2px 5px rgba(0,0,0,.1)}.state h4{margin:0 0 .5rem}.state-date{font-size:.8rem;color:#555}.add-state{text-align:center;margin-top:1rem;margin-bottom:1rem}.add-state label{display:block;margin-bottom:.5rem;font-weight:700;color:#333;margin-top:2rem}.add-state input,.add-state select{padding:.5rem;border-radius:25px;border:1px solid #ddd;outline:none;margin-bottom:1rem;width:100%;max-width:300px}.add-state button{background:#006b2d;color:#fff;border:none;padding:.5rem 1rem;border-radius:25px;cursor:pointer;transition:background .3s;margin:.5rem}.add-state button:hover{background:#004d1f}.add-state .dynamic-params{display:flex;flex-direction:column;align-items:center}.user-role{display:inline-block;background-color:#006b2d;color:#fff;font-size:.8rem;padding:.2rem .5rem;border-radius:5px;margin-bottom:.3rem}.role-colaborador{background-color:#4caf50}.role-instalador{background-color:#f39c12}.role-epcista{background-color:#3498db}.role-proyectista{background-color:#e74c3c}.role-director{background-color:#9b59b6}.comment{position:relative;background:#fff;padding:.8rem .8rem 1rem;border-radius:10px;margin:.5rem 0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.comment-date{font-size:.8rem;color:#555;position:absolute;bottom:.1rem;right:.5rem}.comment p{margin:.2rem 0;font-size:.9rem;flex:1 1}.comment button{background:#006b2d;color:#fff;border:none;padding:.3rem .7rem;border-radius:5px;font-size:.9rem;cursor:pointer}.add-comment{margin-top:1rem}.add-comment input,.add-comment textarea{width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.8rem;border-radius:10px;border:1px solid #ddd;outline:none;resize:none}.add-comment button{background:#006b2d;color:#fff;border:none;padding:.5rem 1rem;border-radius:25px;cursor:pointer;transition:background .3s}.add-comment button:hover{background:#3b7bc1}.modal-footer{padding:1rem;background:#f3f6fa;text-align:right}.close-btn{background:#ff6b6b;color:#fff;border:none;padding:.5rem 1rem;border-radius:25px;cursor:pointer;transition:background .3s}.close-btn:hover{background:#e63946}.generic-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}@media (max-width:600px){.generic-filters{flex-direction:column;gap:1rem;align-items:stretch}}.generic-filters input,.generic-filters select{padding:.5rem;border-radius:25px;border:1px solid #ddd;outline:none}.generic-filters input{width:20rem;box-sizing:border-box}.new-oportunity{background:#006b2d;color:#fff;border:none;padding:.5rem 1rem;border-radius:25px;cursor:pointer;transition:background .3s;margin-top:1rem;margin-bottom:2rem}.view-toggle-menu{display:flex;justify-content:center;margin:10px 0}.view-toggle-menu button{background:none;border:none;padding:10px 20px;cursor:pointer;font-size:16px}.view-toggle-menu button.active{font-weight:700;border-bottom:2px solid #000}.view-toggle-menu button:not(.active):hover{color:#0070f3}.warnings{border:1px solid orange;background-color:#fff5e6;padding:0;border-radius:5px;margin-bottom:1rem}.warning{font-size:14px;color:orange;display:flex;align-items:center;margin:.5rem}.warning-icon{margin-right:.5rem;font-size:1.2rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.view-toggle{display:flex;align-items:center;justify-content:flex-end;margin-bottom:1rem;margin-top:2rem}.view-toggle-switch{display:inline-flex;background-color:#eaeaea;border-radius:24px;border:1px solid #ddd;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-left:10px}.view-toggle-option{padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:.8rem;color:#555;display:flex;align-items:center;gap:5px;transition:all .2s ease}.view-toggle-option svg{width:16px;height:16px}.view-toggle-option.active{background-color:#fff;color:#333;font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.1)}.view-toggle-label{font-size:.9rem;color:#666;margin-right:8px}@media (max-width:1023px){.modal-content{width:600px;max-width:90%}.desktop-columns{flex-direction:column;height:auto}.column{width:100%}.states-column{border-right:none;border-bottom:1px solid #e0e0e0}}