.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:#fff;border-radius:12px;width:95%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 30px #0003;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid #eee}.settings-header h2{margin:0;font-size:1.15rem;color:var(--color-primario)}.settings-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#888;line-height:1}.settings-body{display:flex;flex:1;overflow:hidden}.settings-nav{display:flex;flex-direction:column;width:150px;min-width:150px;border-right:1px solid #eee;padding:.8rem 0;gap:.2rem}.settings-nav-btn{background:none;border:none;text-align:left;padding:.65rem 1.2rem;font-size:.9rem;cursor:pointer;color:#555;border-radius:0;transition:all .15s}.settings-nav-btn:hover{background:#f5f5f5;color:var(--color-primario)}.settings-nav-btn.active{background:#f0f4ff;color:var(--color-primario);font-weight:600;border-right:3px solid var(--color-primario)}.settings-content{flex:1;overflow-y:auto;padding:1.4rem}.settings-section h3{text-align:center;margin:0 0 2rem;font-size:1.2rem;color:#333}.settings-hint{font-size:.85rem;color:#888;margin:-.5rem 0 1rem}.settings-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.settings-field label{font-size:.83rem;font-weight:600;color:#555}.settings-field input{padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.settings-field input:focus{outline:none;border-color:var(--color-primario)}.settings-msg{font-size:.85rem;margin:.3rem 0 .6rem;padding:.5rem .75rem;border-radius:6px}.settings-msg.ok{background:#d5f5e3;color:#1e8449}.settings-msg.error{background:#fdecea;color:#c0392b}.settings-save-btn{margin-top:.5rem;padding:.55rem 1.4rem;background:var(--color-secundario);color:#fff;border:none;border-radius:6px;font-size:.92rem;font-weight:600;cursor:pointer;transition:opacity .15s}.settings-save-btn:hover:not(:disabled){opacity:.88}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-export-btn{background:#27ae60}.settings-divider{border:none;border-top:1px solid #eee;margin:1.5rem 0}.settings-fields-row{display:flex;gap:1rem}.settings-fields-row .settings-field{flex:1}.settings-btn-group{display:flex;gap:.4rem;flex-wrap:wrap}.settings-period-btn{padding:.3rem .75rem;border:1px solid #ccc;border-radius:20px;background:#fff;font-size:.82rem;cursor:pointer;transition:all .15s;color:#444}.settings-period-btn:hover{border-color:var(--color-primario);color:var(--color-primario)}.settings-period-btn.active{background:var(--color-primario);border-color:var(--color-primario);color:#fff;font-weight:600}.contract-section-editor{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;margin-bottom:1.2rem;background:#fafafa}.contract-items-list{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0}.contract-item-row{display:flex;gap:.5rem;align-items:flex-start}.contract-item-row textarea{flex:1;padding:.45rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;resize:vertical;font-family:inherit;line-height:1.4}.contract-item-remove{background:none;border:1px solid #e57373;color:#e57373;border-radius:5px;padding:.3rem .5rem;cursor:pointer;font-size:.8rem;flex-shrink:0}.contract-item-remove:hover{background:#e57373;color:#fff}.contract-item-add{background:none;border:1px dashed var(--color-secundario);color:var(--color-secundario);border-radius:6px;padding:.35rem .8rem;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:.3rem}.contract-item-add:hover{background:var(--color-secundario);color:#fff}@media (max-width: 500px){.settings-nav{width:110px;min-width:110px}.settings-nav-btn{padding:.6rem .8rem;font-size:.82rem}}.navbar{display:flex;align-items:center;justify-content:center;background:linear-gradient(to right,#fafafa,#eaeaea);color:var(--color-primario);padding:.5rem 1rem;border-bottom:6px solid;border-image:linear-gradient(to right,var(--color-secundario),var(--color-complementario)) 1 stretch}.navbar-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto}@media (min-width: 1400px){.navbar-content{max-width:100%;padding:0 2rem}}.navbar-left{display:flex;align-items:center;gap:2.5rem}.nav-logo{width:60px;height:auto;object-fit:contain;border-radius:5px}.user-name{font-size:1.8rem;font-weight:700}.navbar-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.navbar-right-top{display:flex;align-items:center;gap:2rem}.navbar-right-bottom{flex-direction:row;justify-content:flex-end;align-items:center;width:100%;padding:0 1rem;gap:.8rem}.right-buttons{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;margin-top:.5rem;width:100%}.clock-icon{font-size:1rem;color:var(--color-secundario)}.date-line{font-size:1.2rem;font-weight:700;color:var(--color-primario)}.icon-size{font-size:2rem}.btn-dashboard{display:flex;align-items:center;gap:.45rem;padding:.45rem 1rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-dashboard:hover{opacity:.85}.dropdown{position:relative}.dropdown-btn{background:none;border:none;color:var(--color-complementario);cursor:pointer}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;background-color:var(--color-secundario);border:none;border-radius:8px;box-shadow:0 6px 20px #0003;list-style:none;padding:.4rem;margin:0;min-width:280px;z-index:1000;display:flex;flex-direction:column;gap:.3rem}.dropdown-menu li{padding:.7rem 1.1rem;cursor:pointer;display:flex;align-items:center;gap:.9rem;color:#fff;font-weight:700;font-size:1.05rem;border-radius:6px;transition:background-color .15s;letter-spacing:.03em;white-space:nowrap}.dropdown-menu li svg{font-size:1.4rem;flex-shrink:0}.dropdown-menu li:hover{background-color:var(--color-complementario);color:#fff}.settings-btn,.logout-btn{background:none;border:none;color:var(--color-secundario);cursor:pointer}.logout-btn:hover,.settings-btn:hover,.dropdown-btn:hover{text-decoration:underline}@media (min-width: 769px){.navbar-right-bottom{justify-content:flex-end;margin-top:.5rem;gap:1.5rem}}@media (max-width: 768px){.navbar-content{flex-direction:column;align-items:flex-start;gap:1rem}.navbar-left{width:100%;justify-content:space-between}.navbar-right{width:100%;align-items:flex-start;gap:.5rem}.navbar-right-top{display:flex;align-items:center;gap:.5rem;padding:0 1rem}.navbar-right-bottom{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;flex-wrap:wrap;gap:1rem}}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-fondo)}.login-card{background-color:var(--color-fondo-tarjetas);width:650px;min-height:500px;padding:2rem;border-radius:8px;box-shadow:0 0 10px #0000001a;text-align:center}.login-icon{margin-bottom:1rem}.login-icon-img{font-size:8rem;color:var(--color-secundario)}.login-card h2{color:var(--color-primario);margin-bottom:2rem;font-weight:600;font-size:2rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form .form-group{display:flex;flex-direction:column;gap:.3rem;position:relative}.login-form .input-row{display:flex;align-items:center;background-color:var(--color-fondo-tarjetas);border:1px solid #ccc;border-radius:5px;padding:.5rem 1rem;gap:.5rem}.login-form .form-icon{color:var(--color-secundario);font-size:1.6rem}.login-form .form-group input{flex:1;border:none;background-color:transparent;outline:none;color:var(--color-primario);font-size:1rem}.login-form .toggle-password{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-icon);font-size:1.4rem;display:flex;align-items:center;justify-content:center}.login-form .password-field{position:relative}.login-options{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.9rem}.login-options label{color:var(--color-secundario)}.login-options a{color:var(--color-secundario);text-decoration:none}.login-options a:hover{text-decoration:underline}.login-form .form-group input::placeholder{font-size:.85rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width: 1036px){.login-card{width:90%;padding:1.5rem;min-height:auto}.login-card h2{font-size:1.6rem;margin-bottom:1.5rem}.login-icon-img{font-size:6rem}.login-form .form-group input{font-size:.95rem}.login-options{flex-direction:column;gap:.5rem;align-items:flex-start}}@media (max-width: 360px){.login-form .input-row{padding:.4rem .6rem}.login-form .form-group input{font-size:.85rem}.login-form .form-group input::placeholder{color:transparent}.login-form .toggle-password{right:.5rem;font-size:1.2rem}}.dashboard-container{display:flex;flex-direction:column;align-items:center;padding:2rem;margin-top:2rem;background-color:var(--color-fondo);min-height:100vh}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;width:100%;max-width:1200px;margin:0 auto}.dashboard-card{background-color:var(--color-secundario);border:1px solid #ccc;border-radius:8px;box-shadow:0 0 5px #0000004d;cursor:pointer;text-align:center;padding:2rem 1rem;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 5px 10px #00000026}.card-icon{font-size:6rem;color:#f5f5f5}.dashboard-card p{font-size:2rem;color:#f5f5f5}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease-in-out}.modal-content{background-color:var(--color-fondo-tarjetas);color:var(--color-primario);padding:2rem;border-radius:8px;width:480px;max-width:90%;box-shadow:0 8px 20px #0000004d;position:relative;text-align:center;animation:slideDown .3s ease-in-out;border:2px solid transparent}.modal-error{border-color:var(--btn-secondary-bg)}.modal-success{border-color:var(--color-secundario)}.modal-title{font-size:1.6rem;padding:.2rem 1rem;border-radius:6px;margin-bottom:1.2rem;display:inline-block}.title-error{background-color:var(--btn-secondary-bg);color:#fff}.title-success{background-color:var(--color-secundario);color:#fff}.modal-message{font-size:1.1rem;line-height:1.6}.modal-close-button{position:absolute;top:10px;right:10px;background-color:var(--btn-secondary-bg);color:#fff;border:none;border-radius:50%;font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease}.modal-close-button:hover{background-color:var(--color-secundario)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.nuevo-colaborador-container{width:100%;padding:20px}.nuevo-colaborador-container .title-centered{text-align:center;font-size:3rem;margin-top:1rem;margin-bottom:1rem;color:var(--color-complementario)}.nuevo-colaborador-container .step-tabs{display:flex;justify-content:start;margin-bottom:0}.nuevo-colaborador-container .tab:not(:first-child){margin-left:-2px}.nuevo-colaborador-container .tab{padding:.8rem 1.2rem;cursor:pointer;border:1px solid #ccc;border-bottom:none;border-radius:3px 3px 0 0;background-color:#ececec;transition:background-color .3s;margin-bottom:-1px;z-index:2}.nuevo-colaborador-container .tab.active{background-color:var(--color-fondo-tarjetas);border:1px solid #ccc;border-bottom:none;font-weight:600;z-index:3}.nuevo-colaborador-container .step{border:1px solid #ccc;border-radius:0 4px 4px;background-color:var(--color-fondo-tarjetas);padding:20px;min-height:200px;position:relative;z-index:1}.nuevo-colaborador-container .form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;row-gap:1.2rem}.password-field .input-wrapper{display:flex;align-items:center;position:relative;width:100%}.nuevo-colaborador-container .password-field .input-wrapper input{flex:1;padding-right:2.5rem;width:100%}.nuevo-colaborador-container .toggle-password{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-icon);font-size:1.2rem;z-index:2}.photo-capture-row{display:grid;gap:2rem;margin-top:1rem;align-items:start;justify-items:stretch}@media (min-width: 769px){.photo-capture-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.photo-capture-row{grid-template-columns:1fr}}.photo-block{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;box-sizing:border-box}.photo-block label{font-weight:600;margin-bottom:1.5rem;font-size:1rem;text-align:left}@media (max-width: 1036px){.nuevo-colaborador-container .form-grid{grid-template-columns:1fr}}@media (max-width: 768px){.nuevo-colaborador-container .step{padding-bottom:5rem}.nuevo-colaborador-container .step .navigation-buttons{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-fondo-tarjetas);padding:.8rem 1.2rem;margin-top:0;z-index:100;border-top:1px solid #ddd;box-shadow:0 -2px 8px #0000001a}}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:.3rem}.form-group input,.form-group select{font-size:1rem;padding:.6rem;border:1px solid #ccc;border-radius:4px}.fecha-inputs input{width:3.5rem;text-align:center}.fecha-inputs input[name=anioNacimiento]{width:4.5rem}.webcam-container{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-bottom:1rem;margin:0 auto;box-sizing:border-box}.photo-buttons+.photo-status{margin-top:1rem}.webcam-wrapper{width:100%;height:auto;aspect-ratio:4 / 3;display:flex;justify-content:center;align-items:center;position:relative}.webcam-video{width:100%;height:100%;object-fit:cover}.photo-preview{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.webcam-btn-capture{background-color:var(--color-terciario);color:var(--btn-text);border:none;border-radius:4px;padding:.5rem 1rem;font-size:.95rem;cursor:pointer;margin-top:.8rem;width:100%;max-width:300px;text-align:center;transition:all .3s ease}.webcam-btn-capture:hover{background-color:var(--btn-text);color:var(--color-terciario);border:1px solid var(--color-terciario);box-shadow:0 0 8px #0006}.photo-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-top:.5rem;width:100%}.photo-buttons button{width:100%;max-width:300px}@media (max-width: 768px){.webcam-container{padding:0 10px}.webcam-btn-capture{font-size:.85rem;padding:.4rem .8rem}}.bloque-captura-foto{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;min-width:280px;margin-bottom:2rem}.bloque-captura-foto label{font-weight:600;margin-bottom:1rem;font-size:1rem;text-align:center}.foto-marco{width:100%;max-width:300px;min-height:200px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:visible;margin-bottom:1rem}.foto-marco.activo{min-height:450px;background-color:transparent}.foto-marco.inactivo{opacity:.8;background-color:#ececec}.foto-marco img{width:100%;height:100%;object-fit:cover;border-radius:4px}.linea-estado-foto{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.estado-foto-texto{font-size:.9rem;color:var(--color-complementario);text-align:center}.boton-volver-capturar{background:none;border:none;cursor:pointer;color:var(--color-terciario);font-size:1rem;display:flex;align-items:center;gap:.3rem}.boton-volver-capturar:hover{text-decoration:underline}.captura-de-fotos{width:100%;padding:1rem 0}.photo-capture-row{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-top:1rem;width:100%}@media (max-width: 1036px){.photo-capture-row{flex-direction:column;align-items:center}}.navigation-buttons{display:flex;justify-content:space-between;margin-top:2rem}.btn{padding:.6rem 1rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.prev-btn{background-color:#ccc}.next-btn{background-color:var(--color-terciario);color:var(--btn-text)}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}.fecha-inputs{display:flex;gap:.5rem}.dispense-page{max-width:1100px;margin:2rem auto;padding:0 1rem}.dispense-page h1{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.dispense-search{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 5px #0000000d;display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.dispense-search-block{flex:1;min-width:220px}.dispense-search-block label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}.dispense-search-row{display:flex;gap:.5rem}.dispense-search-row input{flex:1;padding:.55rem .8rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.dispense-search-divider{align-self:center;font-weight:600;color:#999;padding-top:1.2rem}.btn-search-sm{padding:.55rem 1rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;white-space:nowrap}.btn-search-sm:disabled{background:#aaa;cursor:not-allowed}.search-error-sm{color:#e74c3c;font-size:.82rem;margin-top:.3rem}.dispense-results-list{list-style:none;margin:.4rem 0 0;padding:0;border:1px solid #ddd;border-radius:6px;background:#fff;max-height:200px;overflow-y:auto}.dispense-results-list li{padding:.6rem .9rem;cursor:pointer;display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #f0f0f0;font-size:.92rem}.dispense-results-list li:last-child{border-bottom:none}.dispense-results-list li:hover{background:#f5f5f5}.result-nif-sm{color:#888;font-size:.82rem}.result-badge-sm{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;margin-left:auto}.result-badge-sm.member{background:#d6eaf8;color:#1a6fa8}.result-badge-sm.collaborator{background:#d5f5e3;color:#1e8449}.dispense-main{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.dispense-member-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:1.2rem;box-shadow:0 2px 6px #00000012;position:sticky;top:1rem}.dispense-member-photo{width:80px;height:80px;border-radius:50%;background:#eee;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;overflow:hidden;font-size:2.5rem;color:#aaa}.dispense-member-photo img{width:100%;height:100%;object-fit:cover}.dispense-member-name{font-size:1rem;font-weight:700;text-align:center;margin-bottom:.3rem}.dispense-member-badge{display:block;text-align:center;font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:4px;margin:0 auto .8rem;width:fit-content}.dispense-member-badge.member{background:#d6eaf8;color:#1a6fa8}.dispense-member-badge.collaborator{background:#d5f5e3;color:#1e8449}.dispense-member-balance{text-align:center;margin-bottom:.8rem}.dispense-balance-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.dispense-balance-amount{font-size:1.7rem;font-weight:700;color:var(--color-primario)}.dispense-member-fields{font-size:.83rem;color:#555;border-top:1px solid #eee;padding-top:.7rem;display:flex;flex-direction:column;gap:.25rem}.dispense-member-fields span{font-weight:600;color:#333}.btn-change-member{width:100%;margin-top:.9rem;padding:.45rem;background:none;border:1px solid #ccc;border-radius:6px;font-size:.83rem;color:#555;cursor:pointer}.btn-change-member:hover{background:#f5f5f5}.dispense-fee-banner{margin-bottom:.8rem;padding:.55rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;line-height:1.4}.dispense-fee-banner.fee-due{background:#fdecea;border:1px solid #e74c3c;color:#c0392b}.dispense-fee-banner.fee-warning{background:#fff8e1;border:1px solid #f39c12;color:#b7700a}.dispense-area{background:#fff;border:1px solid #ddd;border-radius:10px;padding:1.2rem 1.5rem;box-shadow:0 2px 6px #00000012;min-height:400px}.dispense-area-title{font-size:1.05rem;font-weight:700;color:var(--color-primario);margin-bottom:1rem}.dispense-blocked{text-align:center;padding:3rem 1rem;color:#c0392b;font-size:.95rem;font-weight:500}.category-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.category-card-btn{border:1px solid #ddd;border-radius:8px;padding:1.2rem .8rem;text-align:center;cursor:pointer;background:#fafafa;font-weight:600;font-size:.92rem;transition:all .15s}.category-card-btn:hover{border-color:var(--color-primario);background:#eef4fb;color:var(--color-primario)}.dispense-products-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.btn-back-categories{background:none;border:1px solid #ccc;border-radius:6px;padding:.3rem .7rem;font-size:.83rem;cursor:pointer;color:#555}.btn-back-categories:hover{background:#f5f5f5}.dispense-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.9rem}.product-card-dispense{border:1px solid #ddd;border-radius:8px;padding:.9rem;cursor:pointer;transition:all .15s;background:#fafafa}.product-card-dispense:hover:not(.out-of-stock){border-color:var(--color-primario);background:#eef4fb}.product-card-dispense.out-of-stock{opacity:.45;cursor:not-allowed}.product-card-name{font-weight:600;font-size:.9rem;margin-bottom:.35rem}.product-card-stock{font-size:.78rem;color:#888;margin-bottom:.2rem}.product-card-stock.low{color:#e67e22;font-weight:600}.product-card-stock.empty{color:#e74c3c;font-weight:600}.product-card-price{font-size:.85rem;font-weight:700;color:var(--color-primario)}.product-card-sell-type{font-size:.72rem;color:#aaa;margin-top:.15rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.dispense-modal{background:#fff;border-radius:10px;padding:1.8rem;width:100%;max-width:400px;box-shadow:0 8px 30px #00000026}.dispense-modal h3{margin:0 0 1.1rem;font-size:1.1rem;color:var(--color-primario)}.dispense-modal-product-info{background:#f8f9fa;border-radius:6px;padding:.75rem;margin-bottom:1.1rem;font-size:.88rem;display:flex;flex-direction:column;gap:.2rem}.dispense-modal-input-group{margin-bottom:1rem}.dispense-modal-input-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.3rem}.dispense-modal-input-group input{width:100%;padding:.55rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;box-sizing:border-box}.dispense-modal-calc{font-size:.85rem;color:#555;margin-bottom:.9rem;padding:.45rem .7rem;background:#f0f4f8;border-radius:6px}.dispense-modal-error{color:#e74c3c;font-size:.85rem;margin-bottom:.7rem}.dispense-modal-actions{display:flex;gap:.7rem;justify-content:flex-end}.btn-modal-cancel{padding:.45rem 1.1rem;background:none;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:.88rem;color:#555}.btn-modal-cancel:hover{background:#f5f5f5}.btn-modal-confirm{padding:.45rem 1.3rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:600}.btn-modal-confirm:disabled{background:#aaa;cursor:not-allowed}.btn-modal-confirm:not(:disabled):hover{opacity:.9}.confirm-summary{margin-bottom:1.1rem}.confirm-summary-row{display:flex;justify-content:space-between;padding:.38rem 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.confirm-summary-row:last-child{border-bottom:none}.confirm-summary-row .label{color:#666}.confirm-summary-row .value{font-weight:600}.confirm-new-balance{margin-top:.7rem;padding:.55rem .8rem;background:#eef4fb;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.confirm-new-balance .label{color:#555;font-size:.88rem}.confirm-new-balance .value{font-weight:700;font-size:1.1rem;color:var(--color-primario)}@media (max-width: 768px){.dispense-main{grid-template-columns:1fr}.dispense-member-card{position:static}}.filter-tabs{display:flex;flex-wrap:wrap;gap:.8rem}.filter-tab{padding:.5rem 1.2rem;border:1px solid #ccc;border-radius:999px;background:#fff;font-size:.85rem;cursor:pointer;transition:all .15s;color:#444;display:inline-flex;align-items:center;gap:.3rem}.filter-tab:hover{border-color:var(--color-primario);color:var(--color-primario)}.filter-tab.active{background:var(--color-primario);border-color:var(--color-primario);color:#fff;font-weight:600}.filter-tab-count{background:#00000026;border-radius:999px;padding:0 .4rem;font-size:.78rem;font-weight:600}.filter-tab.active .filter-tab-count{background:#ffffff40}.transactions-page{max-width:1100px;margin:2rem auto;padding:0 1rem}.transactions-page h1{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.transactions-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.transactions-filter-row{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.6rem 1rem;box-shadow:0 2px 5px #0000000a}.transactions-filter-label{font-size:.8rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:4.5rem}.transactions-summary{display:flex;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap;justify-content:space-around}.summary-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:.8rem 1.2rem;box-shadow:0 2px 5px #0000000a;display:flex;flex-direction:column;gap:.2rem;min-width:150px}.summary-card .label{font-size:.78rem;color:#888;text-transform:uppercase;letter-spacing:.04em}.summary-card .value{font-size:1.3rem;font-weight:700;color:var(--color-primario)}.summary-card .value.negative{color:#e74c3c}.summary-card .value.neutral{color:#555}.summary-card .value.amount-positive{color:#27ae60}.summary-card .value.amount-negative{color:#e74c3c}.summary-card-expandable{cursor:default;min-width:200px}.summary-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.summary-card-toggle{font-size:.7rem;color:#aaa}.summary-card-expandable:hover{border-color:var(--color-secundario)}.summary-breakdown{margin-top:.8rem;padding-top:.6rem;border-top:1px solid #eee;display:flex;flex-direction:column;gap:.35rem}.breakdown-row{display:flex;justify-content:space-between;font-size:.82rem;color:#555}.breakdown-row span:first-child{color:#777}.breakdown-divider{font-size:.75rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.04em;margin-top:.3rem;padding-top:.4rem;border-top:1px dashed #e0e0e0}.breakdown-internal{opacity:.75;font-style:italic}.amount-neutral{color:#666;font-weight:500}.transactions-table-wrapper{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 5px #0000000a;overflow:hidden}.transactions-table{width:100%;border-collapse:collapse}.transactions-table thead{background:#f5f5f5}.transactions-table th,.transactions-table td{padding:.7rem 1rem;text-align:left;font-size:.88rem;border-bottom:1px solid #f0f0f0}.transactions-table th{font-weight:600;color:#444;white-space:nowrap}.transactions-table tbody tr:hover{background:#fafafa}.transactions-table tbody tr:last-child td{border-bottom:none}.type-badge{display:inline-block;padding:.18rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.type-badge.fee{background:#fdecea;color:#c0392b}.type-badge.recharge{background:#d5f5e3;color:#1e8449}.type-badge.purchase,.type-badge.sale{background:#d6eaf8;color:#1a6fa8}.type-badge.expense,.type-badge.local_expense{background:#fef9e7;color:#b7700a}.type-badge.stock_purchase{background:#f0e6ff;color:#6c3483}.type-badge.key_card_replacement{background:#e8f4fd;color:#1a5276}.amount-negative{color:#e74c3c;font-weight:600}.transactions-empty,.transactions-loading{text-align:center;padding:3rem;color:#888}@media (max-width: 700px){.transactions-filters{flex-direction:column;align-items:flex-start}.transactions-table th:nth-child(4),.transactions-table td:nth-child(4),.transactions-table th:nth-child(5),.transactions-table td:nth-child(5){display:none}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.members-page{max-width:900px;margin:2rem auto;padding:0 1rem}.members-page h1{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.search-section{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 5px #0000000d}.search-section .search-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.search-section .search-group{display:flex;flex-direction:column;gap:.5rem}.search-section .input-icon-wrapper{position:relative}.search-section .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-icon);font-size:1.2rem;pointer-events:none}.search-section .input-icon-wrapper input{width:100%;padding:.6rem .6rem .6rem 3rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;box-sizing:border-box}.search-section .input-icon-wrapper input:focus{outline:none;border-color:var(--color-primario)}.search-section .btn{padding:.6rem 1.2rem;background-color:var(--color-secundario);color:var(--btn-text);border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600}.search-section .btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.search-section .search-grid{grid-template-columns:1fr;gap:1rem}}.search-results-list{list-style:none;margin:.5rem 0 0;padding:0;border:1px solid #ddd;border-radius:6px;overflow:hidden}.search-results-list li{padding:.7rem 1rem;cursor:pointer;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;transition:background .15s}.search-results-list li:last-child{border-bottom:none}.search-results-list li:hover{background-color:#f5f5f5}.result-name{font-weight:600}.result-badge{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:10px;letter-spacing:.03em}.result-badge.member{background-color:#e8f4fd;color:#1a6fa8}.result-badge.collaborator{background-color:#d5f5e3;color:#1e8449}.badge.collaborator{background-color:#27ae60;color:#fff}.result-nif{font-size:.85rem;color:#666}.search-error{color:#c0392b;font-size:.9rem;margin-top:.4rem}.search-info{color:#666;font-size:.9rem;margin-top:.4rem}.member-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;box-shadow:0 2px 5px #00000012}.member-card-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.member-photo{width:160px;height:160px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#eee;display:flex;align-items:center;justify-content:center}.member-photo img{width:100%;height:100%;object-fit:cover}.member-photo svg{width:90px;height:90px;opacity:.4}.member-info{flex:1}.member-info h2{margin:0 0 .4rem;font-size:1.5rem}.member-info .badge{display:inline-block;padding:.2rem .8rem;border-radius:999px;font-size:.8rem;font-weight:700;margin-bottom:.8rem;background-color:var(--color-terciario);color:var(--btn-text)}.member-info .badge.member{background-color:#1a6fa8;color:#fff}.member-info .badge.collaborator{background-color:#27ae60;color:#fff}.member-fields{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem}.member-field{font-size:.95rem}.member-field .label{font-weight:600}.member-balance{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid #eee}.balance-amount{font-size:1.6rem;font-weight:700;color:var(--color-primario)}.balance-label{font-size:.9rem;color:#666}.membership-badge{margin-left:auto;padding:.3rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600}.membership-badge.paid{background-color:#d4edda;color:#155724}.membership-badge.due{background-color:#fde8e8;color:#b91c1c}.membership-badge.exempt{background-color:#fff3cd;color:#856404}.recharge-section{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid #eee;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.recharge-section label{font-weight:600;font-size:.95rem}.recharge-section input[type=number]{width:120px;padding:.5rem .7rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}.recharge-section input[type=number]:focus{outline:none;border-color:var(--color-primario)}.btn-recharge{padding:.5rem 1.3rem;background-color:var(--color-primario);color:var(--btn-text);border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95rem}.btn-recharge:disabled{opacity:.6;cursor:not-allowed}.recharge-success{color:#155724;font-size:.9rem;font-weight:600}.recharge-error{color:#c0392b;font-size:.9rem}.guarantor-section{display:flex;flex-direction:column;align-items:center;margin-bottom:.5rem}.guarantor-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.1rem 1.6rem;display:flex;flex-direction:row;align-items:center;gap:1.2rem;width:fit-content;min-width:320px;max-width:500px;box-shadow:0 1px 4px #0000000f}.guarantor-photo{width:90px;height:90px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#eee;display:flex;align-items:center;justify-content:center}.guarantor-photo img{width:100%;height:100%;object-fit:cover}.guarantor-photo svg{width:52px;height:52px;opacity:.4}.guarantor-info{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.guarantor-label{font-size:.75rem;text-transform:uppercase;color:#999;font-weight:600;margin:0;letter-spacing:.05em}.guarantor-name{font-size:1.05rem;font-weight:700;margin:0}.guarantor-email{font-size:.85rem;color:#666;margin:0}.guarantor-badge{display:inline-block;margin-top:.1rem;padding:.1rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--btn-text)}.guarantor-badge.collaborator{background-color:var(--color-secundario)}.guarantor-badge.member{background-color:var(--color-terciario)}.guarantor-arrow{color:#aaa;font-size:1.4rem;margin:.3rem auto;text-align:center}@media (max-width: 1036px){.guarantor-section{align-items:center}.guarantor-card{width:60%;min-width:unset;max-width:unset;padding:2rem 1rem;justify-content:space-around}.guarantor-photo{width:110px;height:110px}.guarantor-photo svg{width:64px;height:64px}.guarantor-name{font-size:1.2rem}.guarantor-email{font-size:.95rem}.guarantor-label{font-size:.8rem}}.history-button-row{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-history{padding:.5rem 1.4rem;background:transparent;border:1px solid var(--color-primario);color:var(--color-primario);border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.btn-history:hover{background:var(--color-primario);color:var(--btn-text)}.btn-withdrawals{border-color:var(--color-secundario);color:var(--color-secundario)}.btn-withdrawals:hover{background:var(--color-secundario);color:#fff}.btn-edit{border-color:#8e44ad;color:#8e44ad}.btn-edit:hover{background:#8e44ad;color:#fff}.btn-baja{border-color:#c0392b;color:#c0392b}.btn-baja:hover{background:#c0392b;color:#fff}.btn-contract{border-color:var(--color-secundario);color:var(--color-secundario)}.btn-contract:hover{background:var(--color-secundario);color:var(--btn-text)}.modal-baja-warning{margin-top:.5rem;font-size:.88rem;color:#666;background:#fafafa;border-left:3px solid #c0392b;padding:.5rem .75rem;border-radius:0 4px 4px 0}.modal-error{color:#c0392b;font-size:.88rem;margin:.25rem 1.5rem}.btn-delete-confirm{background:#e74c3c;color:#fff;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.92rem;font-weight:600;cursor:pointer}.btn-delete-confirm:hover{background:#c0392b}.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#f0f0f0;color:#444;border:none;border-radius:6px;padding:.5rem 1.2rem;font-size:.92rem;cursor:pointer}.btn-cancel:hover{background:#e0e0e0}.history-badge{display:inline-block;padding:.15rem .55rem;border-radius:10px;font-size:.73rem;font-weight:600;white-space:nowrap}.badge-recharge{background:#d5f5e3;color:#1e8449}.badge-withdrawal{background:#fdecea;color:#c0392b}.badge-fee{background:#fef9e7;color:#b7700a}.badge-keycard{background:#e8f4fd;color:#1a5276}.amount-negative-cell{color:#e74c3c;font-weight:600}.amount-neutral{color:#555}.keycard-pending-banner{background:#fff3cd;border-left:4px solid #f39c12;color:#7d5a00}.modal-keycard-fee-notice{background:#fff3cd;border:1px solid #f39c12;color:#7d5a00;border-radius:6px;padding:.4rem .75rem;font-size:.87rem;margin:.4rem 0}.keycard-charge-toggle{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:#555;cursor:pointer;padding:.5rem 0}.keycard-charge-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.modal-edit-body{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-edit-body .settings-field{display:flex;flex-direction:column;gap:.3rem}.modal-edit-body .settings-field label{font-size:.85rem;font-weight:600;color:var(--color-texto-secundario, #666)}.modal-edit-body .settings-field input{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.modal-edit-body .settings-msg{font-size:.9rem;padding:.5rem .75rem;border-radius:6px}.modal-edit-body .settings-msg.ok{background:#eafaf1;color:#27ae60}.modal-edit-body .settings-msg.error{background:#fdf0f0;color:#e74c3c}.members-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.members-modal-box{background:#fff;border-radius:10px;width:98%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 30px #0003;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:1.1rem}.modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;line-height:1}.modal-close:hover{color:#333}.modal-loading,.modal-empty{padding:2rem;text-align:center;color:#666}.modal-table-wrapper{overflow-y:auto;flex:1}.history-table{width:100%;border-collapse:collapse}.history-table thead{background:#f5f5f5;position:sticky;top:0}.history-table th,.history-table td{padding:.7rem 1.2rem;text-align:left;font-size:.9rem;border-bottom:1px solid #f0f0f0}.history-table th{font-weight:600;color:#444}.history-table tbody tr:hover{background:#fafafa}.amount-cell{font-weight:600;color:var(--color-primario)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border-top:2px solid #eee;background:#fafafa}.modal-footer-label{font-weight:600;font-size:.95rem;color:#444}.modal-footer-balance{font-size:1.2rem;font-weight:700;color:var(--color-primario)}.fee-banner{margin:0 0 1rem;padding:.9rem 1.2rem;border-radius:8px;display:flex;flex-direction:column;gap:.6rem}.fee-banner.fee-due{background:#fdecea;border:1px solid #e74c3c}.fee-banner.fee-warning{background:#fff8e1;border:1px solid #f39c12}.fee-banner-text{font-weight:600;font-size:.95rem}.fee-due .fee-banner-text{color:#c0392b}.fee-warning .fee-banner-text{color:#b7700a}.fee-banner-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.btn-collect-fee{padding:.45rem 1.1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;background:#e74c3c;color:#fff;transition:background .2s}.btn-collect-fee:disabled{background:#aaa;cursor:not-allowed}.btn-collect-fee:not(:disabled):hover{background:#c0392b}.fee-success{color:#27ae60;font-size:.9rem;font-weight:500}.fee-error{color:#e74c3c;font-size:.9rem;font-weight:500}.members-modal-confirm{max-width:420px}.modal-confirm-body{padding:1.4rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;font-size:.97rem;color:#444}.modal-confirm-name{font-size:1.15rem;font-weight:700;color:var(--color-primario)}.modal-confirm-balance{margin-top:.3rem;font-size:.95rem}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem;padding:1rem 1.2rem;border-top:1px solid #eee}.member-list-bar{display:flex;justify-content:flex-end;margin-bottom:1.2rem}.btn-member-list{padding:.5rem 1.4rem;background:var(--color-primario);border:1px solid var(--color-primario);color:#fff;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.btn-member-list:hover{background:var(--color-primario);color:var(--btn-text)}.members-modal-list{max-width:1200px}.members-modal-contract{max-width:800px;width:95vw}.modal-contract-body{padding:1rem 1.2rem;overflow-y:auto;max-height:68vh}.modal-contract-footer{padding:.8rem 1.2rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}.btn-contract-download{padding:.5rem 1.4rem;background:var(--color-secundario);color:var(--btn-text);border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-contract-download:hover{opacity:.85}.member-list-tipo-filter{display:flex;gap:.5rem;padding:.9rem 1.2rem 0}.tipo-filter-btn{padding:.35rem 1rem;border:1px solid #ddd;border-radius:20px;background:transparent;font-size:.85rem;cursor:pointer;color:#555;transition:background .15s,color .15s,border-color .15s}.tipo-filter-btn.active{background:var(--color-primario);border-color:var(--color-primario);color:#fff;font-weight:600}.tipo-badge{display:inline-block;padding:.15rem .55rem;border-radius:10px;font-size:.75rem;font-weight:600}.tipo-badge-member{background:#27ae60;color:#fff}.tipo-badge-collaborator{background:#2980b9;color:#fff}.member-list-filters{padding:.9rem 1.2rem;border-bottom:1px solid #eee}.history-filters{justify-content:space-between;display:flex;flex-wrap:wrap;padding:1.2rem;border-bottom:1px solid #eee;background:#f9f9f9}.history-filter-row{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:.8rem .9rem}.history-filter-label{font-size:.8rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:4rem}.member-list-table td{vertical-align:middle}.member-list-table td:nth-child(3),.member-list-table td:nth-child(5){text-align:center}.member-list-table th:nth-child(3),.member-list-table th:nth-child(5){text-align:center}.member-list-name{font-weight:600}.member-list-nif{color:#666;font-size:.88rem}.member-list-balance{font-weight:600;color:var(--color-primario)}.member-list-row{cursor:pointer;transition:background .15s}.member-list-row:hover{background:#f5f8ff}.fee-state-badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em}.fee-state-ok{background:#d4edda;color:#155724}.fee-state-due{background:#fdecea;color:#c0392b}.fee-state-exempt{background:#fff3cd;color:#856404}@media (max-width: 640px){.member-card-header{flex-direction:column;align-items:center}.member-fields{grid-template-columns:1fr}.member-balance{flex-wrap:wrap}.membership-badge{margin-left:0}}.buscar-persona-container .search-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;margin-bottom:2rem}.buscar-persona-container .search-group{display:flex;flex-direction:column;gap:.5rem}.buscar-persona-container .search-group input{font-size:1rem;padding:.6rem;border:1px solid #ccc;border-radius:4px;width:100%}.buscar-persona-container .input-icon-wrapper{position:relative}.buscar-persona-container .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-icon);font-size:1.2rem;pointer-events:none}.buscar-persona-container .input-icon-wrapper input{padding-left:3rem}@media (max-width: 1036px){.buscar-persona-container .search-grid{grid-template-columns:1fr;gap:1rem}.buscar-persona-container .search-group{width:100%}}.tabla-personas{width:100%;border-collapse:collapse;margin-bottom:1rem}.tabla-personas th,.tabla-personas td{border:1px solid #ccc;padding:.5rem;text-align:left}.tabla-personas th{background-color:#f0f0f0}.fila-persona{cursor:pointer}.fila-persona:hover{background-color:#e0e0e0}.tarjeta-detalle{max-width:600px;margin:5rem auto;background-color:#fff;border:1px solid #ccc;border-radius:6px;padding:1rem;box-shadow:0 2px 5px #0000001a;display:flex;flex-direction:row;align-items:flex-start;gap:1.5rem}.tarjeta-foto{width:220px;height:220px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tarjeta-foto img{width:100%;height:100%;object-fit:cover;border-radius:8px}.tarjeta-no-foto{width:100%;height:100%;background-color:#eee;border-radius:8px;display:flex;align-items:center;justify-content:center}.tarjeta-no-foto svg{width:150px;height:150px;opacity:.5}.tarjeta-info{flex:1;text-align:left;display:flex;flex-direction:column;justify-content:center}.tarjeta-info h3{margin-top:0;margin-bottom:.5rem;font-size:1.5rem}.tarjeta-info p{margin:.4rem 0;line-height:1.3}.tarjeta-info .label{font-weight:600}.tipo-badge{display:inline-block;padding:.2rem .8rem;font-size:.9rem;font-weight:600;border-radius:999px;color:var(--btn-text);margin-bottom:.8rem;max-width:fit-content}.tipo-badge.colaborador{background-color:var(--color-secundario)}.tipo-badge.socio{background-color:var(--color-terciario)}@media (max-width: 1036px){.tarjeta-detalle{flex-direction:column;align-items:center;text-align:center}.tarjeta-info{align-items:center;text-align:center}.tarjeta-foto{width:180px;height:180px}.tarjeta-info h3{font-size:1.4rem}}.nuevo-socio-container{width:100%;margin:0;padding:20px}.nuevo-socio-container .title-centered{text-align:center;font-size:3rem;margin-top:1rem;margin-bottom:1rem;color:var(--color-complementario)}.nuevo-socio-container .step-tabs{display:flex;justify-content:start;gap:0;margin-bottom:0;position:relative}.nuevo-socio-container .tab:not(:first-child){margin-left:-2px}.nuevo-socio-container .tab{padding:.8rem 1.2rem;cursor:pointer;border:1px solid #ccc;border-bottom:none;border-radius:3px 3px 0 0;background-color:#ececec;transition:background-color .3s;margin-bottom:-1px;z-index:2}.nuevo-socio-container .tab.active{background-color:var(--color-fondo-tarjetas);border:1px solid #ccc;border-bottom:none;border-radius:4px 4px 0 0;font-weight:600;margin-bottom:-1px;z-index:3}.nuevo-socio-container .step{border:1px solid #ccc;border-radius:0 4px 4px;background-color:var(--color-fondo-tarjetas);padding:15px;margin-top:0;min-height:200px;position:relative;z-index:1}.nuevo-socio-container .form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;row-gap:1.2rem}.nuevo-socio-container .avalista-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.nuevo-socio-container .avalista-card{border:1px solid #ccc;padding:10px;cursor:pointer;border-radius:4px}.photo-capture-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:1rem;width:100%}.photo-block{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;flex:1 1 auto;min-width:280px;margin-bottom:2rem}.photo-block label{font-weight:600;margin-bottom:2rem;font-size:1rem;text-align:center}@media (min-width: 1036px){.photo-block:first-child{margin-left:5rem}.photo-block:last-child{margin-right:5rem}}.nuevo-socio-container .contrato-container{max-width:800px;margin:2rem auto;text-align:left}.nuevo-socio-container .pdf-wrapper{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:1rem 4rem;margin-top:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;box-sizing:border-box}.nuevo-socio-container .signature-section{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin:2rem 0}.nuevo-socio-container .signature-box{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;text-align:center}.nuevo-socio-container .signature-box p{font-weight:600;margin-bottom:.5rem}.nuevo-socio-container .sigCanvas{border:1px solid #000;width:100%;height:100px;margin-bottom:.8rem;background-color:#fff}@media (max-width: 1036px){.photo-capture-row{flex-direction:column;align-items:center}.photo-block,.photo-frame{max-width:90%}.photo-block:first-child,.photo-block:last-child{margin-left:0;margin-right:0}}@media (max-width: 1036px){.nuevo-socio-container .search-grid{grid-template-columns:1fr;gap:1rem}.nuevo-socio-container .search-group{width:100%}}@media (max-width: 1036px){.avalista-detailed-card{flex-direction:column;align-items:center;text-align:center}.avalista-info{align-items:center;text-align:center}.avalista-foto{width:180px;height:180px}.avalista-info h3{font-size:1.4rem}}@media (max-width: 1036px){.nuevo-socio-container .form-grid{grid-template-columns:1fr}.nuevo-socio-container .fecha-nacimiento{grid-column:auto}.nuevo-socio-container .fecha-inputs{flex-direction:row;justify-content:space-between;gap:.5rem}.nuevo-socio-container .form-group input,.nuevo-socio-container .form-group select,.nuevo-socio-container .form-group.password-field .input-wrapper{width:100%}.nuevo-socio-container .form-group.fecha-nacimiento input{flex:1}.nuevo-socio-container .form-group.fecha-nacimiento input[name=anioNacimiento]{flex:1.2}}@media (max-width: 1036px){.nuevo-socio-container .pdf-wrapper{overflow-x:auto;padding-left:1rem;padding-right:1rem}.nuevo-socio-container .contrato-container{padding:0 1rem}}@media (max-width: 768px){.nuevo-socio-container .step{padding-bottom:5rem}.nuevo-socio-container .step .navigation-buttons{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-fondo-tarjetas);padding:.8rem 1.2rem;margin-top:0;z-index:100;border-top:1px solid #ddd;box-shadow:0 -2px 8px #0000001a}}.pin-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-fondo)}.pin-card{background-color:var(--color-fondo-tarjetas);width:380px;padding:2.5rem 2rem;border-radius:12px;box-shadow:0 0 20px #00000026;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.pin-icon{font-size:5rem;color:var(--color-secundario)}.pin-card h2{color:var(--color-primario);font-size:1.8rem;font-weight:600;margin:0}.pin-subtitle{color:var(--color-secundario);font-size:.95rem;margin:0}.pin-dots{display:flex;gap:1.2rem;margin:.5rem 0}.pin-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-secundario);background-color:transparent;transition:background-color .15s ease}.pin-dot.filled{background-color:var(--color-secundario)}.pin-error{color:#e74c3c;font-size:.9rem;margin:0}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;width:100%;max-width:280px}.pin-key{background-color:var(--color-fondo);border:1px solid #ddd;border-radius:8px;font-size:1.5rem;font-weight:500;color:var(--color-primario);padding:.9rem;cursor:pointer;transition:background-color .15s ease,transform .1s ease;display:flex;align-items:center;justify-content:center}.pin-key:hover:not(:disabled){background-color:var(--color-secundario);color:#fff;border-color:var(--color-secundario)}.pin-key:active:not(:disabled){transform:scale(.95)}.pin-key:disabled{opacity:.5;cursor:not-allowed}.pin-key-zero{grid-column:2}.pin-key-delete{grid-column:3;font-size:1.3rem;color:var(--color-secundario)}@media (max-width: 1036px){.pin-card{width:90%;max-width:380px}}.altas-container{display:flex;flex-direction:column;align-items:center;padding:2rem;margin-top:2rem;min-height:100vh;background-color:var(--color-fondo)}.altas-title{color:var(--color-primario);font-size:2rem;margin-bottom:2rem}.altas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;width:100%;max-width:800px}.altas-card{background-color:var(--color-secundario);border:1px solid #ccc;border-radius:8px;box-shadow:0 0 5px #0000004d;cursor:pointer;text-align:center;padding:2rem 1rem;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;justify-content:center}.altas-card:hover{transform:translateY(-5px);box-shadow:0 5px 10px #00000026}.altas-card-icon{font-size:6rem;color:#f5f5f5}.altas-card p{font-size:2rem;color:#f5f5f5}.bar-page{max-width:1100px;margin:2rem auto;padding:0 1rem}.bar-page h1{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.bar-search{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 5px #0000000d;display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.bar-search-block{flex:1;min-width:220px}.bar-search-block label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}.bar-search-row{display:flex;gap:.5rem}.bar-search-row input{flex:1;padding:.55rem .8rem;border:1px solid #ccc;border-radius:6px;font-size:.95rem}.bar-search-divider{align-self:center;font-weight:600;color:#999;padding-top:1.2rem}.btn-search-bar{padding:.55rem 1rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;white-space:nowrap}.btn-search-bar:disabled{background:#aaa;cursor:not-allowed}.bar-search-error{color:#e74c3c;font-size:.82rem;margin-top:.3rem}.bar-results-list{list-style:none;margin:.4rem 0 0;padding:0;border:1px solid #ddd;border-radius:6px;background:#fff;max-height:200px;overflow-y:auto}.bar-results-list li{padding:.6rem .9rem;cursor:pointer;display:flex;align-items:center;gap:.6rem;border-bottom:1px solid #f0f0f0;font-size:.92rem}.bar-results-list li:last-child{border-bottom:none}.bar-results-list li:hover{background:#f5f5f5}.bar-result-nif{color:#888;font-size:.82rem}.bar-result-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;margin-left:auto}.bar-result-badge.member{background:#d6eaf8;color:#1a6fa8}.bar-result-badge.collaborator{background:#d5f5e3;color:#1e8449}.bar-main{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.bar-member-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:1.2rem;box-shadow:0 2px 6px #00000012;position:sticky;top:1rem}.bar-member-photo{width:80px;height:80px;border-radius:50%;background:#eee;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;overflow:hidden;font-size:2.5rem;color:#aaa}.bar-member-photo img{width:100%;height:100%;object-fit:cover}.bar-member-name{font-size:1rem;font-weight:700;text-align:center;margin-bottom:.3rem}.bar-member-badge{display:block;text-align:center;font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:4px;margin:0 auto .8rem;width:fit-content}.bar-member-badge.member{background:#d6eaf8;color:#1a6fa8}.bar-member-badge.collaborator{background:#d5f5e3;color:#1e8449}.bar-member-balance{text-align:center;margin-bottom:.8rem}.bar-balance-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.bar-balance-amount{font-size:1.7rem;font-weight:700;color:var(--color-primario)}.bar-member-fields{font-size:.83rem;color:#555;border-top:1px solid #eee;padding-top:.7rem;display:flex;flex-direction:column;gap:.25rem}.bar-member-fields span{font-weight:600;color:#333}.btn-change-member-bar{width:100%;margin-top:.9rem;padding:.45rem;background:none;border:1px solid #ccc;border-radius:6px;font-size:.83rem;color:#555;cursor:pointer}.btn-change-member-bar:hover{background:#f5f5f5}.bar-fee-banner{margin-bottom:.8rem;padding:.55rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;line-height:1.4}.bar-fee-banner.fee-due{background:#fdecea;border:1px solid #e74c3c;color:#c0392b}.bar-fee-banner.fee-warning{background:#fff8e1;border:1px solid #f39c12;color:#b7700a}.bar-area{background:#fff;border:1px solid #ddd;border-radius:10px;padding:1.2rem 1.5rem;box-shadow:0 2px 6px #00000012;min-height:400px}.bar-area-title{font-size:1.05rem;font-weight:700;color:var(--color-primario);margin-bottom:1rem}.bar-blocked{text-align:center;padding:3rem 1rem;color:#c0392b;font-size:.95rem;font-weight:500}.bar-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.bar-category-btn{border:1px solid #ddd;border-radius:8px;padding:1.2rem .8rem;text-align:center;cursor:pointer;background:#fafafa;font-weight:600;font-size:.92rem;transition:all .15s}.bar-category-btn:hover{border-color:var(--color-primario);background:#eef4fb;color:var(--color-primario)}.bar-products-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.btn-back-bar{background:none;border:1px solid #ccc;border-radius:6px;padding:.3rem .7rem;font-size:.83rem;cursor:pointer;color:#555}.btn-back-bar:hover{background:#f5f5f5}.bar-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.9rem}.bar-product-card{border:1px solid #ddd;border-radius:8px;padding:.9rem;cursor:pointer;transition:all .15s;background:#fafafa}.bar-product-card:hover:not(.out-of-stock){border-color:var(--color-primario);background:#eef4fb}.bar-product-card.out-of-stock{opacity:.45;cursor:not-allowed}.bar-product-name{font-weight:600;font-size:.9rem;margin-bottom:.35rem}.bar-product-stock{font-size:.78rem;color:#888;margin-bottom:.2rem}.bar-product-stock.low{color:#e67e22;font-weight:600}.bar-product-stock.empty{color:#e74c3c;font-weight:600}.bar-product-price{font-size:.85rem;font-weight:700;color:var(--color-primario)}.bar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.bar-modal{background:#fff;border-radius:10px;padding:1.8rem;width:100%;max-width:380px;box-shadow:0 8px 30px #00000026}.bar-modal h3{margin:0 0 1.1rem;font-size:1.1rem;color:var(--color-primario)}.bar-modal-info{background:#f8f9fa;border-radius:6px;padding:.75rem;margin-bottom:1.1rem;font-size:.88rem;display:flex;flex-direction:column;gap:.2rem}.bar-modal-input-group{margin-bottom:1rem}.bar-modal-input-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.3rem}.bar-modal-input-group input{width:100%;padding:.55rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;box-sizing:border-box}.bar-modal-calc{font-size:.88rem;color:#555;margin-bottom:.9rem;padding:.45rem .7rem;background:#f0f4f8;border-radius:6px}.bar-modal-error{color:#e74c3c;font-size:.85rem;margin-bottom:.7rem}.bar-modal-actions{display:flex;gap:.7rem;justify-content:flex-end}.btn-modal-cancel-bar{padding:.45rem 1.1rem;background:none;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:.88rem;color:#555}.btn-modal-cancel-bar:hover{background:#f5f5f5}.btn-modal-confirm-bar{padding:.45rem 1.3rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:600}.btn-modal-confirm-bar:disabled{background:#aaa;cursor:not-allowed}.btn-modal-confirm-bar:not(:disabled):hover{opacity:.9}.bar-confirm-summary{margin-bottom:1.1rem}.bar-confirm-row{display:flex;justify-content:space-between;padding:.38rem 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.bar-confirm-row:last-child{border-bottom:none}.bar-confirm-row .label{color:#666}.bar-confirm-row .value{font-weight:600}.bar-new-balance{margin-top:.7rem;padding:.55rem .8rem;background:#eef4fb;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.bar-new-balance .label{color:#555;font-size:.88rem}.bar-new-balance .value{font-weight:700;font-size:1.1rem;color:var(--color-primario)}@media (max-width: 768px){.bar-main{grid-template-columns:1fr}.bar-member-card{position:static}}.expenses-page{max-width:1000px;margin:2rem auto;padding:0 1rem}.expenses-page h1{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.expenses-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem}.btn-all-expenses{padding:.5rem 1.2rem;background:none;border:2px solid var(--color-primario);border-radius:6px;color:var(--color-primario);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s}.btn-all-expenses:hover{background:var(--color-primario);color:#fff}.expenses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.expense-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:2rem 1.4rem 1.6rem;text-align:center;transition:all .15s;box-shadow:0 2px 8px #00000012;display:flex;flex-direction:column;align-items:center}.expense-card:hover{border-color:var(--color-primario);box-shadow:0 6px 18px #0000001f;transform:translateY(-3px)}.expense-card-icon{font-size:2.2rem;color:var(--color-primario);margin-bottom:.8rem}.expense-card-name{font-weight:700;font-size:1.2rem;color:#333;margin-bottom:1.2rem}.expense-card-actions{display:flex;flex-direction:column;gap:.6rem;width:100%;align-items:center}.btn-register-expense{padding:.5rem 0;width:80%;background:var(--color-primario);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.btn-register-expense:hover{opacity:.88}.btn-view-history{padding:.5rem 0;width:80%;background:none;border:1px solid #ccc;border-radius:6px;font-size:.9rem;color:#555;cursor:pointer}.btn-view-history:hover{background:#f5f5f5}.expense-card-add{background:#f8f9fa;border:2px dashed #ccc;color:#888}.expense-card-add:hover{border-color:var(--color-primario);color:var(--color-primario);background:#eef4fb}.expense-card-add .expense-card-icon{color:inherit}.expenses-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.expenses-modal{background:#fff;border-radius:10px;padding:1.8rem;width:100%;max-width:420px;box-shadow:0 8px 30px #00000026}.expenses-modal-wide{max-width:700px;max-height:85vh;display:flex;flex-direction:column}.expenses-modal h3{margin:0 0 1.2rem;font-size:1.1rem;color:var(--color-primario)}.expenses-modal-input-group{margin-bottom:1rem}.expenses-modal-input-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.3rem}.expenses-modal-input-group input{width:100%;padding:.55rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;box-sizing:border-box}.expenses-modal-error{color:#e74c3c;font-size:.85rem;margin-bottom:.8rem}.expenses-modal-success-box{text-align:center;gap:1rem}.expenses-success-icon{width:56px;height:56px;border-radius:50%;background-color:#27ae60;color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto}.expenses-modal-success-box h3{color:#27ae60;font-size:1.3rem}.expenses-modal-success-box p{color:var(--color-primario);font-size:1rem}.expenses-modal-success-box .expenses-modal-actions{justify-content:center}.expenses-modal-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:.5rem}.btn-expenses-cancel{padding:.45rem 1.1rem;background:none;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:.88rem;color:#555}.btn-expenses-cancel:hover{background:#f5f5f5}.btn-expenses-confirm{padding:.45rem 1.3rem;background:var(--color-primario);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:600}.btn-expenses-confirm:disabled{background:#aaa;cursor:not-allowed}.btn-expenses-confirm:not(:disabled):hover{opacity:.9}.expenses-filters{display:flex;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}.expenses-filters select{padding:.4rem .7rem;border:1px solid #ccc;border-radius:6px;font-size:.88rem}.expenses-total{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:#eef4fb;border-radius:6px;margin-bottom:1rem;font-size:.92rem}.expenses-total .label{color:#555}.expenses-total .value{font-weight:700;font-size:1.05rem;color:var(--color-primario)}.expenses-table-wrapper{overflow-y:auto;flex:1}.expenses-table{width:100%;border-collapse:collapse}.expenses-table thead{background:#f5f5f5;position:sticky;top:0}.expenses-table th,.expenses-table td{padding:.6rem .9rem;text-align:left;font-size:.88rem;border-bottom:1px solid #f0f0f0}.expenses-table th{font-weight:600;color:#444}.expenses-table tbody tr:hover{background:#fafafa}.expenses-amount-cell{font-weight:600;color:#e74c3c}.expenses-empty{text-align:center;color:#888;padding:2rem}.modal-close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;line-height:1}.modal-close-btn:hover{color:#333}.expenses-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem}.expenses-modal-header h3{margin:0}.categories-container{display:flex;flex-direction:column;align-items:center;padding:2rem;margin-top:2rem;min-height:100vh;background-color:var(--color-fondo)}.categories-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;margin-bottom:2rem;gap:1rem}.categories-loading,.categories-empty{color:var(--color-secundario);font-size:1rem;margin-top:2rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:900px}.category-card{background-color:var(--color-fondo-tarjetas);border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2.2rem 1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,box-shadow .15s;min-height:110px}.category-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #00000021}.category-card-name{font-size:1.35rem;font-weight:700;color:var(--color-primario);text-align:center;line-height:1.3}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box input{border:1px solid #ccc;border-radius:6px;padding:.7rem 1rem;font-size:1rem;color:var(--color-primario);background-color:var(--color-fondo);outline:none;width:100%;box-sizing:border-box}.modal-box input:focus{border-color:var(--color-secundario)}.products-container{display:flex;flex-direction:column;align-items:center;padding:2rem;margin-top:2rem;min-height:100vh;background-color:var(--color-fondo)}.products-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:700px;margin-bottom:2rem;gap:1rem}.products-header-right{display:flex;align-items:center;gap:.6rem}.btn-delete-category{display:flex;align-items:center;gap:.4rem;background-color:#e74c3c;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;white-space:nowrap}.btn-delete-category:hover{background-color:#c0392b}.products-header h1{color:var(--color-primario);font-size:1.8rem;flex:1;text-align:center}.btn-back{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--color-secundario);color:var(--color-secundario);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;white-space:nowrap}.btn-back:hover{background-color:var(--color-secundario);color:#fff}.btn-add{display:flex;align-items:center;gap:.4rem;background-color:var(--color-secundario);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;white-space:nowrap}.btn-add:hover{opacity:.85}.products-loading,.products-empty{color:var(--color-secundario);font-size:1rem;margin-top:2rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:900px;margin-top:3rem}.product-card{background-color:var(--color-fondo-tarjetas);border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #00000021}.product-card-body{flex:1;padding:1rem 1.2rem .8rem;display:flex;flex-direction:column;gap:.6rem}.product-card-name{font-size:1.4rem;font-weight:700;color:var(--color-primario);text-align:center;padding-bottom:.5rem;border-bottom:1px solid #eee;margin-bottom:.1rem}.product-card-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.92rem;color:#555}.product-badge{display:inline-block;background-color:var(--color-secundario);color:#fff;font-size:.72rem;padding:.1rem .5rem;border-radius:10px;width:fit-content}.product-card-delete{width:100%;background:none;border:none;border-top:1px solid #eee;padding:.4rem;cursor:pointer;color:#e74c3c;font-size:.85rem;transition:background-color .15s}.product-card-delete:hover:not(:disabled){background-color:#fdecea}.btn-delete{background:none;border:none;padding:1rem 1.2rem;cursor:pointer;color:#e74c3c;font-size:1rem;transition:background-color .15s;border-left:1px solid #eee}.btn-delete:hover:not(:disabled){background-color:#fdecea}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-box{background-color:var(--color-fondo-tarjetas);border-radius:10px;padding:2rem;width:90%;max-width:420px;display:flex;flex-direction:column;gap:1rem}.modal-box-large{max-width:620px;max-height:90vh;overflow-y:auto}.modal-box h2{color:var(--color-primario);font-size:1.4rem}.modal-box p{color:var(--color-primario);font-size:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field.full{grid-column:1 / -1}.form-field label{font-size:.85rem;color:var(--color-secundario);font-weight:500}.form-field input,.form-field select{border:1px solid #ccc;border-radius:6px;padding:.6rem .8rem;font-size:.95rem;color:var(--color-primario);background-color:var(--color-fondo);outline:none}.form-field input:focus,.form-field select:focus{border-color:var(--color-secundario)}.form-checkbox label{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--color-primario);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-hint{font-size:.85rem;color:var(--color-secundario);background-color:#0000000a;padding:.6rem 1rem;border-radius:6px;margin:0}.modal-error{color:#e74c3c;font-size:.9rem;margin:0}.modal-warning{background:#fff8e1;border:1px solid #f39c12;color:#7d5a00;border-radius:6px;padding:.6rem .9rem;font-size:.9rem;margin:.3rem 0}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem}.btn-cancel{background:none;border:1px solid #ccc;color:var(--color-primario);padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem}.btn-cancel:hover{background-color:#f0f0f0}.btn-confirm{background-color:var(--color-secundario);color:#fff;border:none;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem}.btn-confirm:hover{opacity:.85}.btn-delete-confirm{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem}.btn-delete-confirm:hover{background-color:#c0392b}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:1}.products-header{flex-direction:column;align-items:flex-start}}.stock-movements-page{max-width:1200px;margin:2rem auto;padding:0 1rem}.stock-movements-page .page-title{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primario)}.sm-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.sm-filter-row{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.6rem 1rem;box-shadow:0 2px 5px #0000000a}.sm-filter-label{font-size:.8rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:4.5rem}.sm-summary{display:flex;gap:1rem;margin-bottom:1.2rem}.sm-summary-card{flex:1;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.8rem 1.4rem;box-shadow:0 2px 5px #0000000a;display:flex;flex-direction:column;gap:.2rem}.sm-summary-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.04em}.sm-summary-value{font-size:1.3rem;font-weight:700}.sm-summary-value.neutral{color:#555}.sm-summary-value.positive{color:#27ae60}.sm-summary-value.negative{color:#e74c3c}.sm-table-wrapper{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 5px #0000000a;overflow-x:auto}.sm-table{width:100%;border-collapse:collapse}.sm-table thead{background:#f5f5f5}.sm-table th,.sm-table td{padding:.7rem 1rem;text-align:left;font-size:.87rem;border-bottom:1px solid #f0f0f0}.sm-table th{font-weight:600;color:#444;white-space:nowrap}.sm-table tbody tr:hover{background:#fafafa}.sm-table tbody tr:last-child td{border-bottom:none}.sm-badge{display:inline-block;padding:.18rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.sm-badge.stock_in{background:#d5f5e3;color:#1e8449}.sm-badge.stock_out{background:#d6eaf8;color:#1a6fa8}.sm-badge.adjustment_out{background:#fdecea;color:#c0392b}.amount-positive{color:#27ae60;font-weight:600}.sm-empty,.sm-loading{text-align:center;padding:3rem;color:#888}@media (max-width: 768px){.sm-table th:nth-child(6),.sm-table td:nth-child(6),.sm-table th:nth-child(9),.sm-table td:nth-child(9){display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primario: black;--color-secundario: #63ca6e;--color-terciario:#3e72ad;--color-complementario: #01680c;--color-fondo-tarjetas: #f7f7f7;--color-fondo: radial-gradient(circle at center, #d8fddc, #f7f7f7);--color-icon: #aaa;--btn-text: #f7f7f7;--btn-border-radius: 5px;--fuente-base: "Helvetica Neue", sans-serif;--btn-secondary-bg: red;--btn-secondary-bg-hover:#f7f7f7;--btn-secondary-text: #f7f7f7}body{font-family:var(--fuente-base);background:var(--color-fondo);color:var(--color-primario);line-height:1.6}a{text-decoration:none;color:inherit}.input-error{box-sizing:border-box;border:1px solid orange!important}.error-message,.error{color:orange;font-size:.9rem;display:flex;align-items:center;gap:.3rem}.error-message:before,.error:before{content:"⚠️"}.page-title{font-size:2.4rem;font-weight:700;text-align:center;color:var(--color-primario);margin-bottom:1.5rem}.btn{background-color:var(--color-secundario);color:var(--btn-text);border:none;border-radius:var(--btn-border-radius);padding:.6rem 1.5rem;font-size:1.2rem;cursor:pointer;transition:background-color .3s ease,color .3s ease,border .3s ease}.btn:hover{background-color:var(--btn-text);color:var(--color-secundario);border:1px solid var(--color-secundario);box-shadow:0 0 8px #0006}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:none;border-radius:var(--btn-border-radius);padding:.4rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s ease,color .3s ease,border .3s ease}.btn-secondary:hover{background-color:var(--btn-secondary-text);color:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-bg);box-shadow:0 0 8px #0006}
