*{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}:root{--primary:var(--brand-600);--primary-dark:var(--brand-700);--bg:var(--gray-50);--card-bg:var(--white);--text:var(--gray-800);--text-secondary:var(--gray-500);--border-radius:12px;--shadow:0 2px 8px #0000001a;--shadow-lg:0 4px 16px #00000026}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}.app-mobile{background:var(--bg);-webkit-overflow-scrolling:touch;max-width:430px;min-height:100dvh;margin:0 auto;padding:0 .75rem;position:relative;overflow-y:auto;box-shadow:0 0 30px #00000026}@media (min-width:768px){.app-mobile{max-width:768px;padding:0 1.15rem}.main{padding:1.15rem 1.3rem}}@media (min-width:1024px){.app-mobile{max-width:960px;padding:0 2rem}.main{padding:1.3rem 2rem}}@media (max-width:360px){.app-mobile{padding:0 .5rem}}.privilegios-container{padding:0}.privilegios-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.privilegios-title h3{margin:0;font-size:1rem;font-weight:600}.privilegios-title span{color:var(--text-secondary);font-size:.75rem}.privilegios-list{flex-direction:column;gap:.5rem;display:flex}.privilegios-month{border:1px solid var(--border);border-radius:8px;overflow:hidden}.privilegios-month h4{cursor:pointer;justify-content:space-between;align-items:center;margin:0;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:flex}@media (max-width:767px){.privilegios-header{flex-direction:column;align-items:stretch}.privilegios-header>div:last-child{flex-direction:column;gap:.5rem;display:flex}.privilegios-header>div:last-child>button,.privilegios-header>div:last-child>.btn{justify-content:center;width:100%}.privilegios-month h4{padding:.5rem .75rem;font-size:.85rem}.privilegio-card{padding:.75rem}.privilegio-card-row{flex-direction:column;gap:.5rem}.privilegio-card-row>div:last-child{flex-direction:row;gap:.25rem;display:flex}.privilegio-card-row>div:last-child>button{flex:1;padding:.3rem .4rem;font-size:.7rem}}.app-mobile>*{z-index:1;position:relative}.card,.modal,.lista .card{-webkit-backdrop-filter:blur(20px);background:#ffffffbf;border:1px solid #ffffff80;border-top-color:#ffffffb3;border-radius:16px;box-shadow:0 8px 32px #7c3aed26,0 2px 8px #0000001a,inset 0 1px #fff9}.header{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border-bottom:1px solid #7c3aed26;box-shadow:0 4px 20px #7c3aed14}@media (max-width:430px){.modal-overlay{align-items:center;padding:1rem}.modal{border-radius:20px;width:calc(100% - 2rem);max-width:400px;max-height:90vh;animation:.3s modalSlideIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.hermana-modal-header{margin-bottom:1rem}.hermana-modal-header h2{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.hermana-modal-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem;display:block}.hermana-modal-form{flex-direction:column;gap:.85rem;display:flex}.hermana-field{flex-direction:column;gap:.3rem;display:flex}.hermana-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:600}.hermana-modal-form input,.hermana-modal-form select{border:2px solid var(--border);background:var(--surface-muted);box-sizing:border-box;border-radius:12px;width:100%;padding:.85rem;font-size:.95rem;transition:all .2s}.hermana-modal-form input:focus,.hermana-modal-form select:focus{border-color:var(--primary);background:var(--white);outline:none;box-shadow:0 0 0 3px #b67d6226}.hermana-modal-form .birthday-inputs{gap:.5rem;display:flex}.hermana-modal-form .birthday-inputs input,.hermana-modal-form .birthday-inputs select{text-align:center;flex:1;height:3rem}.hermana-modal-form .switch-field{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.hermana-modal-form .switch-label{color:var(--text);font-size:.9rem;font-weight:500}.hermana-modal-form .form-buttons{gap:.6rem;margin-top:.5rem;display:flex}.hermana-modal-form .btn{padding:.85rem;font-size:.9rem}.phone-input-wrapper{flex-direction:row;align-items:stretch;gap:.5rem;display:flex;position:relative}.phone-country-dropdown{flex:none;position:relative}.phone-country-button{border:2px solid var(--border);background:var(--surface-muted);width:auto;min-width:110px;color:var(--text);cursor:pointer;box-sizing:border-box;text-align:left;white-space:nowrap;border-radius:12px;justify-content:space-between;align-items:center;padding:.85rem;font-size:.9rem;transition:all .2s;display:flex}.phone-country-button:focus{border-color:var(--primary);background:var(--white);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.phone-country-button:after{content:"▼";color:var(--text-secondary);margin-left:.5rem;font-size:.7rem}.phone-country-menu{border:2px solid var(--border);z-index:50;background:#fff;border-radius:12px;min-width:220px;max-height:220px;padding:.35rem;position:absolute;top:calc(100% + 4px);left:0;right:auto;overflow-y:auto;box-shadow:0 8px 24px #00000026}.phone-country-option{width:100%;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:.65rem .75rem;font-size:.9rem;transition:background .15s}.phone-country-option:hover{background:var(--surface-muted)}.phone-country-option.selected{background:var(--primary-light);color:var(--primary);font-weight:600}.phone-input{border:2px solid var(--border);background:var(--surface-muted);box-sizing:border-box;border-radius:12px;flex:auto;width:auto;min-width:0;padding:.85rem;font-size:.95rem;transition:all .2s}.phone-input:focus{border-color:var(--primary);background:var(--white);outline:none;box-shadow:0 0 0 3px #7c3aed1a}.phone-valid{border-color:var(--success)!important}.phone-invalid{border-color:var(--danger)!important}.phone-status{pointer-events:none;font-size:.9rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.hermana-modal-form .input-date{width:100%;padding-left:.45rem;padding-right:.45rem}.header{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;text-align:center;z-index:100;padding:1.15rem;position:sticky;top:0;box-shadow:0 4px 12px #00000026}.header h1{font-size:1.1rem;font-weight:600}.header p{opacity:.9;margin-top:.25rem;font-size:.85rem;font-weight:500}.header-gradient{color:#fff;text-align:center;z-index:100;background:linear-gradient(160deg,#b67d62 0%,#9c6b55 100%);border-bottom:2px solid #b67d6240;border-radius:20px 20px 0 0;padding:.65rem;position:sticky;top:0}.header-gradient h1{font-size:1rem;font-weight:600}.header-gradient p{opacity:.9;margin-top:.15rem;font-size:.8rem;font-weight:500}.main{padding:1.15rem 1.15rem 5rem}.top-actions{flex-direction:column;gap:.75rem;margin-bottom:1.15rem;display:flex}.header-buttons{justify-content:flex-end;gap:.75rem;display:flex}.btn-icon{cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000001a}.btn-icon:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.btn-icon:active{transform:scale(.95)}.btn-add-main{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#b67d62,#9c6b55);border:none;border-radius:10px;width:auto;max-width:220px;padding:.65rem .9rem;font-size:.85rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #b67d6266}.group-toggle{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;display:inline-flex;overflow:hidden;box-shadow:0 1px 3px #0000000f}.toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.35rem .7rem;font-size:.75rem;font-weight:600;transition:all .2s}.toggle-btn:hover{background:var(--surface-muted)}.toggle-btn.active{color:#fff;background:linear-gradient(135deg,#b67d62,#9c6b55);box-shadow:0 2px 6px #b67d6259}.add-form{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;margin-bottom:1rem;padding:1.3rem;box-shadow:0 4px 16px #0000001a}.add-form h2{margin-bottom:1.15rem;font-size:1.1rem;font-weight:600}.add-form input{border:2px solid var(--border);border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;transition:all .2s}.add-form input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b67d6226}.form-buttons{gap:.75rem;margin-top:1.3rem;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #0000001a}.btn-primary{color:#fff;background:linear-gradient(135deg,#b67d62,#9c6b55)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #b67d6266}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:#3e2b26;background:#f6e8e0;border:1px solid #ede0d9}.btn-secondary:hover{background:#ede0d9}.lista{flex-direction:column;gap:1rem;display:flex}.card{background:var(--card-bg);border:2px solid #0000;border-left-width:5px;border-radius:14px;margin:0 .2rem;padding:.9rem;transition:all .2s;box-shadow:0 2px 10px #0000000f}.card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0000001a}.card.confirmed{border-left-color:var(--success)!important}.card-main{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.card-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.name{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.25}.phone{color:#b67d62;font-size:.8rem;text-decoration:none}.card-badges{flex-wrap:wrap;gap:.35rem;margin-top:.15rem;display:flex}.badge{color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .45rem;font-size:.7rem;line-height:1.2}.birthday-input{cursor:pointer;align-items:center;gap:.2rem;display:inline-flex;position:relative}.birthday-input input{opacity:0;cursor:pointer;width:24px;height:24px;position:absolute}.birthday-text{color:var(--gray-500);margin-left:2px;font-size:.7rem}.card-actions-right{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.card-actions-right .btn-icon{background:var(--gray-100);border:1px solid var(--border);border-radius:10px;width:34px;height:34px;font-size:.9rem;transition:all .2s}.card-actions-right .btn-icon:hover{background:var(--border);transform:scale(1.05)}.btn-edit{cursor:pointer;background:linear-gradient(135deg,#ede0d9,#d9a08a);border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #00000014}.btn-edit:hover{background:linear-gradient(135deg,#d9a08a,#b67d62);transform:scale(1.05);box-shadow:0 4px 10px #0000001f}.btn-edit:active{transform:scale(.95)}.btn-confirm{cursor:pointer;background:linear-gradient(135deg, var(--warning-light), var(--warning-50));border:none;border-radius:12px;width:48px;height:48px;font-size:1.3rem;transition:all .2s;box-shadow:0 2px 8px #0000001a}.btn-confirm:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.btn-confirm.confirmed{background:linear-gradient(135deg, var(--success-light), var(--success-100))}.status-indicator{cursor:default;font-size:1.3rem;transition:all .2s}.status-indicator.confirmed{color:var(--success);transform:scale(1.1)}.card-actions{border-top:2px solid var(--gray-100);justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.piezas{align-items:center;gap:.75rem;display:flex}.piezas span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.pieza-buttons{gap:.5rem;display:flex}.pieza-btn{border:2px solid var(--border);cursor:pointer;width:48px;height:48px;color:var(--text-secondary);background:#fff;border-radius:12px;min-width:48px;min-height:48px;font-size:1.1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000000d}.pieza-btn:hover{border-color:var(--primary);transform:scale(1.05)}.pieza-btn.active{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #7c3aed66}.costo-badge{background:linear-gradient(135deg, var(--success), var(--success-dark));color:#fff;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:700;box-shadow:0 2px 8px #10b98166}.btn-delete-small{cursor:pointer;opacity:.5;background:0 0;border:none;padding:.5rem;font-size:1.15rem;transition:all .2s}.btn-delete-small:hover{opacity:1;transform:scale(1.1)}.loading,.empty{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.85rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:100%;max-width:400px;max-height:85vh;padding:2rem;animation:.3s modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@media (max-width:430px){.modal-overlay{padding:0;padding-bottom:env(safe-area-inset-bottom,1rem);align-items:flex-end}.modal{border-radius:20px 20px 0 0;max-height:90vh;animation:.3s modalSlideUp}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{text-align:center;color:var(--text);margin-bottom:1.3rem;font-size:1.15rem}.modal input{border:2px solid var(--border);border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;transition:all .2s}.modal input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b67d6226}.modal .form-field{margin-bottom:1rem}.modal .form-field label{color:var(--gray-700);margin-bottom:.5rem;font-weight:600;display:block}.modal .form-field .input-with-check{position:relative}.modal .form-field .input-with-check input{margin-bottom:0}.modal .form-field .check-icon{font-size:1.1rem;font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.modal .form-field .check-valid{color:var(--success-dark)}.modal .form-field .check-invalid{color:var(--danger-dark)}.modal .form-field .field-error{color:var(--danger-dark);margin-top:.25rem;font-size:.75rem;display:block}.modal .form-error{color:var(--danger-dark);background:var(--danger-light);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.modal .form-buttons{gap:.75rem;margin-top:1.3rem;display:flex}.settings-item{margin-bottom:1rem}.settings-item label{margin-bottom:.5rem;font-weight:500;display:block}.settings-info{background:var(--gray-100);border-radius:8px;margin-bottom:1rem;padding:1rem}.settings-info p{margin-bottom:.5rem;font-size:.9rem}.settings-info strong{color:var(--primary)}.birthday-edit{margin-bottom:1rem}.birthday-edit label{margin-bottom:.5rem;font-weight:500;display:block}.birthday-inputs{gap:.5rem;display:flex}.birthday-inputs input{border:2px solid var(--border);text-align:center;box-sizing:border-box;border-radius:12px;flex:1;height:3.2rem;padding:1rem;font-size:1rem;transition:all .2s}.birthday-inputs input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b67d6226}.month-select{border:2px solid var(--border);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%238E746C' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right .75rem center/1.5em 1.5em no-repeat;border-radius:12px;flex:1;height:3.2rem;padding:1rem 2.5rem 1rem 1rem;font-size:1rem;transition:all .2s}.month-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b67d6226}.version{text-align:center;color:var(--text-secondary);opacity:.6;padding:.75rem;font-size:.7rem}.pdf-preview-overlay{z-index:99999;background:#000000e6;justify-content:center;align-items:center;padding:.5rem;display:flex;position:fixed;inset:0}.app-mobile{padding-top:env(safe-area-inset-top,.75rem);padding-bottom:env(safe-area-inset-bottom,.75rem)}.header-gradient,.header{padding-top:calc(.65rem + env(safe-area-inset-top,0px))}.bottom-nav{-webkit-backdrop-filter:blur(20px);padding:.4rem .5rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom,0px));z-index:200;background:#fffffff2;border-top:1px solid #b67d6233;justify-content:space-around;align-items:center;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-width:56px;max-width:90px;padding:.3rem .5rem;transition:all .2s;display:flex}.bottom-nav-item:active{background:var(--primary-light);transform:scale(.95)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-icon{font-size:1.4rem;line-height:1}.bottom-nav-label{font-size:.65rem;font-weight:600}@media (min-width:768px){.bottom-nav{display:none}}@media (max-width:767px){.main{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.app-mobile>:last-child{margin-bottom:calc(4rem + env(safe-area-inset-bottom,0px))}}@media (prefers-color-scheme:dark){:root{--bg:#1a1614;--surface:#241f1c;--surface-elevated:#2d2724;--surface-muted:#2a2522;--surface-subtle:#3a332f;--text:#f5f0eb;--text-secondary:#c4b5a8;--text-muted:#9a8e84;--border:#3a332f;--card-bg:var(--surface);--border-strong:#4a433e;--primary:#d9a08a;--primary-dark:#b67d62;--primary-light:#3a2a22;--primary-text:#f5f0eb;--success:#7fb08e;--success-dark:#5f9072;--success-light:#1e2e26;--danger:#e88a8a;--danger-dark:#d06a6a;--danger-light:#2a1a1a;--warning:#eac07a;--warning-dark:#cfa05a;--warning-light:#2a2218;--info:#8ab4c4;--info-dark:#6d96a6;--info-light:#1a242a}.card,.modal,.lista .card{background:#241f1cd9;border:1px solid #ffffff14}.header-gradient,.header{background:linear-gradient(160deg,#b67d62 0%,#7a5a4a 100%)}.bottom-nav{background:#1c1816f2;border-top-color:#d9a08a33}.app-mobile{background:var(--bg)}}.pdf-preview-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:800px;height:86vh;display:flex;overflow:hidden}@media (max-width:767px){.pdf-preview-modal{border-radius:12px;max-width:100%;height:92vh}.pdf-preview-header{gap:.3rem;padding:.5rem}.pdf-preview-header h2{font-size:.8rem}.pdf-preview-actions .btn{padding:.4rem .5rem;font-size:.75rem}}@media (max-width:430px){.pdf-preview-modal{border-radius:8px;height:95vh}.pdf-preview-content{flex:1;overflow:hidden}}.pdf-preview-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem .75rem;display:flex}.pdf-preview-header h2{margin:0;font-size:.9rem}.pdf-preview-actions{gap:.5rem;display:flex}.pdf-preview-actions .btn{box-shadow:none;border-radius:10px;padding:.45rem .7rem;font-size:.8rem}.pdf-preview-actions .btn-primary{box-shadow:0 2px 6px #b67d624d}.pdf-preview-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 3px 8px #b67d6266}.pdf-preview-content{flex:1;overflow:hidden}.pdf-preview-content>div{height:100%}.summary-card{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:16px;margin-bottom:1rem;padding:1.15rem}.summary-title{text-align:center;margin-bottom:1rem;font-size:1rem;font-weight:600}.summary-stats{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.summary-item{text-align:center;background:#ffffff26;border-radius:12px;flex-direction:column;padding:.75rem;display:flex}.summary-item.confirmed{background:#10b9814d}.summary-item.pending{background:#f59e0b4d}.summary-item.piezas{background:#6366f14d}.summary-item.total{background:#ec48994d}.summary-value{font-size:1.3rem;font-weight:700}.summary-label{opacity:.9;margin-top:.25rem;font-size:.75rem}.switch-field{justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.55rem 0;display:flex}.switch-label{color:var(--text);font-size:.85rem;font-weight:500}.switch{cursor:pointer;border-radius:13px;flex-shrink:0;width:46px;height:26px;transition:background-color .2s;position:relative}.switch-on{background-color:var(--success)}.switch-off{background-color:var(--border)}.switch-handle{background-color:#fff;border-radius:11px;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch-on .switch-handle{transform:translate(20px)}.back-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.menu-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.menu-card{color:#fff;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:100px;padding:1rem .75rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 15px #fbbf2459}.menu-card:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-2px);box-shadow:0 6px 18px #fbbf2473}.menu-card:active{transform:scale(.98)}.menu-card-primary-alt{background:linear-gradient(135deg,#b67d62,#9c6b55);box-shadow:0 4px 15px #b67d6259}.menu-card-primary-alt:hover{background:linear-gradient(135deg,#9c6b55,#7a5a4a);transform:translateY(-2px);box-shadow:0 6px 18px #b67d6273}.menu-card-warning{background:linear-gradient(135deg,#eac07a,#cfa05a);box-shadow:0 4px 15px #eac07a59}.menu-card-warning:hover{background:linear-gradient(135deg,#cfa05a,#b08a45);transform:translateY(-2px);box-shadow:0 6px 18px #eac07a73}.menu-card-success{background:linear-gradient(135deg,#7fb08e,#5f9072);box-shadow:0 4px 15px #7fb08e59}.menu-card-success:hover{background:linear-gradient(135deg,#5f9072,#4a785e);transform:translateY(-2px);box-shadow:0 6px 18px #7fb08e73}.menu-card-info{background:linear-gradient(135deg,#8ab4c4,#6d96a6);box-shadow:0 4px 15px #8ab4c459}.menu-card-info:hover{background:linear-gradient(135deg,#6d96a6,#5a7f8f);transform:translateY(-2px);box-shadow:0 6px 18px #8ab4c473}.menu-card-disabled:hover{transform:none}.menu-icon{margin-bottom:.15rem;font-size:2rem}.menu-title{text-align:center;font-size:.85rem;font-weight:700;line-height:1.2}.menu-subtitle{opacity:.7;text-align:center;font-size:.7rem}.menu-validity{color:#ffffffb3;text-align:center;margin-top:4px;font-size:.7rem}.menu-admin-section{display:contents}.menu-admin-last{grid-column:1/-1;justify-self:center;width:100%;max-width:400px}.menu-admin-divider{background:linear-gradient(90deg, transparent, var(--border-strong), transparent);grid-column:1/-1;height:1px;margin:.25rem 0}.card.inactive{opacity:.6;background:var(--gray-100)}.card.active{border-left:4px solid var(--success)}.calendario-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.calendario-tab{border:2px solid var(--border);cursor:pointer;min-width:100px;color:var(--text-secondary);background:#fff;border-radius:8px;flex:1;padding:.75rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s}.calendario-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.calendario-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.year-selector{align-items:center;gap:.5rem;display:flex}.year-selector label{font-weight:500}.year-selector select{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.5rem;font-size:1rem}.calendario-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendario-table{border-collapse:collapse;background:var(--card-bg);border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 4px #0000000d}.calendario-table th,.calendario-table td{text-align:left;border-bottom:1px solid var(--gray-100);white-space:nowrap;padding:.5rem}.calendario-table th{background:var(--primary);color:#fff;font-size:.75rem;font-weight:600}.calendario-table td{font-size:.75rem}.calendario-table tr:last-child td{border-bottom:none}.tipo-reunion-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.tipo-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:6px;padding:.35rem .5rem;font-size:.75rem;transition:all .2s}.tipo-btn.active.casa{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.tipo-btn.active.iglesia{background:var(--info);border-color:var(--info);color:#fff}.tipo-btn.active.sin-reunion{background:var(--card-bg);border-color:var(--danger);color:var(--danger)}.empty-state{text-align:center;background:var(--card-bg);border-radius:12px;padding:3rem 1rem}.empty-icon{margin-bottom:1rem;font-size:3rem;display:block}.empty-state h3{color:var(--text);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary)}.calendario-table tbody tr{background:var(--card-bg);border-radius:8px;margin-bottom:4px;transition:all .2s;border:1px solid var(--border)!important;border-left:6px solid #0000!important}@media (max-width:767px){.calendario-table-container{-webkit-overflow-scrolling:touch;margin:0 -.5rem;padding:0 .5rem;overflow-x:auto}.calendario-table{min-width:380px;font-size:.7rem}.calendario-table th,.calendario-table td{padding:.4rem .3rem;font-size:.7rem}.calendario-table td:first-child{width:75px;min-width:75px;max-width:75px}.tipo-reunion-buttons{flex-direction:column;align-items:center;gap:2px}.tipo-btn{width:100%;max-width:100px;min-height:36px;padding:.4rem .3rem;font-size:.65rem}}.calendario-table input[type=checkbox]{cursor:pointer;width:22px;min-width:22px;height:22px}.calendario-table tbody tr:hover{box-shadow:0 4px 12px #0000001a}.calendario-table tbody tr td{border:none!important}.calendario-table tbody tr td:first-child{border-radius:8px 0 0 8px}.calendario-table tbody tr td:first-child>div:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendario-table tbody tr td:last-child{border-radius:0 8px 8px 0}.calendario-table tbody tr:nth-child(12n+1){border-left-color:var(--brand-600)!important}.calendario-table tbody tr:nth-child(12n+2){border-left-color:var(--info)!important}.calendario-table tbody tr:nth-child(12n+3){border-left-color:var(--success-dark)!important}.calendario-table tbody tr:nth-child(12n+4){border-left-color:var(--danger-dark)!important}.calendario-table tbody tr:nth-child(12n+5){border-left-color:var(--warning-dark)!important}.calendario-table tbody tr:nth-child(12n+6){border-left-color:var(--indigo-600)!important}.calendario-table tbody tr:nth-child(12n+7){border-left-color:var(--pink-600)!important}.calendario-table tbody tr:nth-child(12n+8){border-left-color:var(--teal-600)!important}.calendario-table tbody tr:nth-child(12n+9){border-left-color:var(--danger)!important}.calendario-table tbody tr:nth-child(12n+10){border-left-color:var(--indigo-500)!important}.calendario-table tbody tr:nth-child(12n+11){border-left-color:var(--brand-500)!important}.calendario-table tbody tr:nth-child(12n+12){border-left-color:var(--teal-400)!important}.permisos-container{padding:1rem}.permisos-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.permisos-header h3{color:var(--text);flex:1;font-size:1rem}.permisos-header .btn{padding:.5rem .75rem;font-size:.85rem}.permisos-list{flex-direction:column;gap:.75rem;display:flex}.permiso-item{background:var(--card-bg);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.permiso-fecha{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;display:flex}.permiso-count{gap:.5rem;display:flex}.badge{border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.badge-red{background:var(--danger-light);color:var(--danger-dark)}.badge-green{background:var(--success-light);color:var(--success-dark)}.permiso-personas{flex-direction:column;gap:.25rem;display:flex}.permiso-persona{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.9rem;display:flex}.permiso-obs{color:var(--text-secondary);font-size:.75rem;font-style:italic}.btn-delete{cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:auto;font-size:.9rem;transition:opacity .2s}.btn-delete:hover{opacity:1}.text-green{color:var(--success-dark)}.text-red{color:var(--danger-dark)}.form-group label{color:var(--text);margin-bottom:.5rem;font-weight:500;display:block}.form-group select,.form-group input{border:1px solid var(--border);border-radius:8px;width:100%;padding:.75rem;font-size:1rem}.loading{text-align:center;color:var(--text-secondary);padding:2rem}.text-muted{color:var(--text-secondary);font-size:.9rem;font-weight:500}.header-actions{align-items:stretch;gap:.5rem;display:flex}.header-actions>*{flex:1;min-width:0}.btn-add-main{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#b67d62,#9c6b55);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;width:100%;max-width:none;padding:.65rem .9rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #b67d6266}.btn-add-main:hover{transform:translateY(-2px);box-shadow:0 6px 16px #b67d6280}.btn-add-main:active{transform:scale(.98)}.btn-report{background:linear-gradient(135deg, var(--success-dark), var(--success-dark));color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.15rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #05966966}.btn-report:hover{background:linear-gradient(135deg, var(--success-dark), var(--success-text));transform:translateY(-2px);box-shadow:0 4px 12px #05966980}.btn-report:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-report-content{justify-content:center;align-items:center;gap:.4rem;width:100%;display:flex}.modal-large{border-radius:20px;max-width:90%;max-height:90vh;overflow:auto}.pdf-preview-container{border:2px solid var(--border);border-radius:12px;margin:1rem 0;overflow:hidden;box-shadow:0 2px 8px #0000001a}.header-actions .group-toggle{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;flex:none;display:inline-flex;overflow:hidden;box-shadow:0 1px 3px #0000000f}.tabs-header{background:#fffbf8;border-radius:12px;gap:.25rem;margin-bottom:.5rem;padding:.5rem .25rem;display:flex;box-shadow:0 2px 4px #0000000d}.tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;flex:1;padding:.5rem .25rem;font-size:.85rem;font-weight:500;transition:all .2s}.tab:hover{background:var(--gray-100)}.tab-active{color:#fff;background:#b67d62;font-weight:600}.tab-active:hover{background:#9c6b55}.tab-settings{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-left:auto;padding:0;font-size:1.1rem;display:flex}.info-box{background:var(--warning-light);border:1px solid var(--warning-200);color:var(--warning-text);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.steps-indicator{background:linear-gradient(135deg, var(--gray-50), var(--white));border:1px solid var(--border);border-radius:16px;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex;box-shadow:0 4px 12px #00000014}.step{opacity:.4;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .3s;display:flex}.step-active{opacity:1;background:#7c3aed14}.step-number{background:var(--border);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 2px 4px #0000001a}.step-active .step-number{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #7c3aed66}.step-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.step-active .step-label{color:var(--primary);font-weight:600}.step-line{background:linear-gradient(90deg, var(--border), var(--gray-300));border-radius:2px;width:40px;height:3px}.form-step{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:1rem;padding:1.3rem;box-shadow:0 4px 16px #0000001a}.form-group{margin-bottom:.6rem}.form-group label{color:var(--text);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{border:1.5px solid var(--border);background:var(--gray-25);border-radius:10px;width:100%;padding:.65rem .85rem;font-size:.85rem;transition:all .2s}.form-group input[type=date]{padding-left:.45rem;padding-right:.45rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.chip{border:2px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:25px;padding:.75rem 1.15rem;font-size:.85rem;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #0000000d}.chip:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.chip-selected{border-color:var(--primary);background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;font-weight:600;box-shadow:0 4px 12px #7c3aed66}.chip-selected:hover{background:linear-gradient(135deg, var(--primary-dark), var(--brand-800));transform:translateY(-1px)}.complementos-header{background:linear-gradient(135deg, var(--gray-50), var(--white));border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding:1rem;display:flex}.complementos-header h3{color:var(--text);font-size:1.1rem;font-weight:600}.complementos-list{flex-direction:column;gap:1rem;margin-bottom:1.15rem;display:flex}.complemento-card{background:linear-gradient(135deg, var(--white), var(--gray-50));border:2px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;padding:1.15rem;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000f}.complemento-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.complemento-info{flex-direction:column;flex:1;gap:.35rem;display:flex}.complemento-nombre{color:var(--text);font-size:1rem;font-weight:700}.complemento-modalidad{color:var(--text-secondary);font-size:.9rem;font-weight:500}.complemento-monto{color:var(--success);background:#10b9811a;border-radius:6px;padding:.25rem .5rem;font-size:1rem;font-weight:700;display:inline-block}.complemento-unidades{color:var(--text-secondary);font-size:.85rem;font-weight:500}.menu-title{color:var(--text);text-align:center;margin-bottom:1.3rem;font-size:1.3rem;font-weight:700}.description{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem;line-height:1.4}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.categoria-chips,.modalidad-chips,.estado-chips,.complemento-chips,.tipo-complemento-chips{flex-wrap:wrap;gap:.75rem;padding:.5rem 0;display:flex}.eventos-list{flex-direction:column;display:flex}.eventos-list .top-actions{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.eventos-list .top-actions h1{color:var(--text);font-size:1.15rem;font-weight:600}.form-card{border:1px solid var(--border);background:#fff;border-radius:20px;margin-bottom:1.3rem;overflow:hidden;box-shadow:0 8px 24px #0000001f}.card-header{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;align-items:center;gap:.75rem;padding:.75rem 1.15rem;display:flex}.card-icon{font-size:1.3rem}.card-header h3{margin:0;font-size:1.1rem;font-weight:600}.card-body{padding:.75rem 1.15rem}.card-description{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.form-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}@media (max-width:400px){.form-row{grid-template-columns:1fr}}.btn-lg{padding:.85rem 1.3rem;font-size:1rem}.complementos-checklist{flex-direction:column;gap:.5rem;max-height:60vh;padding-right:.5rem;display:flex;overflow-y:auto}.complementos-checklist::-webkit-scrollbar{width:6px}.complementos-checklist::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.complementos-checklist::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.complementos-checklist::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.complemento-checklist-item{background:var(--gray-50);border:1.5px solid var(--border);border-radius:12px;padding:.75rem;transition:all .2s}.complemento-checklist-item:hover{border-color:var(--gray-300);background:var(--gray-100)}.complemento-checklist-item.selected{border-color:var(--primary);background:var(--brand-50);box-shadow:0 2px 8px #7c3aed26}.complemento-checklist-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.checkbox-container{cursor:pointer;flex:1;align-items:center;gap:.75rem;display:flex}.checkbox-container input[type=checkbox]{display:none}.checkmark{border:2px solid var(--gray-300);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.checkbox-container input[type=checkbox]:checked+.checkmark{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-color:var(--primary)}.checkbox-container input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:.9rem;font-weight:700}.complemento-name{color:var(--text);font-size:.85rem;font-weight:600}.complemento-categoria{color:var(--text-secondary);background:var(--border);border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:500}.complemento-config{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.config-row{align-items:center;gap:.75rem;display:flex}.config-row label{color:var(--text-secondary);min-width:80px;font-size:.85rem;font-weight:500}.modalidad-chips-small{flex-wrap:wrap;flex:1;gap:.5rem;display:flex}.chip-small{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:15px;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.chip-small:hover{border-color:var(--primary);background:var(--primary-light)}.chip-small.chip-selected{border-color:var(--primary);background:var(--primary);color:#fff}.input-small{border:1px solid var(--border);border-radius:8px;flex:1;max-width:120px;padding:.5rem .75rem;font-size:.9rem}.input-small:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #7c3aed1a}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem}.empty-state .empty-icon{margin-bottom:.75rem;font-size:2.5rem}.empty-state p{margin-bottom:.25rem}.empty-hint{color:var(--gray-400);font-size:.85rem}@media (max-width:430px){.hermana-modal-form .Listbox.Options,[class*=Listbox] [class*=Options]{maxHeight:240px;fontSize:.9rem}.hermana-modal-form .Listbox.Option,[class*=Listbox] [class*=Option]{minHeight:44px;padding:.7rem .6rem}.complementos-checklist{gap:.4rem}.complemento-checklist-item{padding:.6rem}.complemento-name{fontSize:.85rem}.complemento-categoria{fontSize:.65rem;padding:.2rem .4rem}.complemento-config{padding:.6rem}.config-row label{fontSize:.75rem}.input-small{fontSize:.9rem;padding:.6rem}.chip-small{fontSize:.7rem;padding:.4rem .5rem}}.app-mobile input[type=text],.app-mobile input[type=email],.app-mobile input[type=tel],.app-mobile input[type=number],.app-mobile input[type=password],.app-mobile input[type=search],.app-mobile input[type=url],.app-mobile input[type=date],.app-mobile input[type=time],.app-mobile input[type=datetime-local],.app-mobile select,.app-mobile textarea{min-height:44px;font-size:16px!important}.app-mobile button,.app-mobile .btn,.app-mobile .btn-icon,.app-mobile .btn-primary,.app-mobile .btn-secondary,.app-mobile .btn-edit,.app-mobile .btn-confirm,.app-mobile .btn-delete,.app-mobile .btn-delete-small,.app-mobile .pieza-btn,.app-mobile .toggle-btn,.app-mobile .tab,.app-mobile .calendario-tab,.app-mobile .tipo-btn,.app-mobile .phone-country-button{touch-action:manipulation;min-width:44px;min-height:44px}.app-mobile .btn-icon{min-width:44px;min-height:44px}@media (max-width:430px){.menu-grid{grid-template-columns:1fr;gap:.5rem}.menu-card{min-height:88px;padding:.85rem .6rem}.menu-icon{font-size:1.75rem}.menu-title{font-size:.8rem}.menu-subtitle{font-size:.65rem}}@media (max-width:360px){.app-mobile{padding:0 .5rem}.main{padding:1rem .5rem}.card{padding:.7rem}.btn{padding:.85rem .5rem;font-size:.9rem}.form-buttons .btn{padding:.85rem}}@media (min-width:768px) and (max-width:1023px){.app-mobile{max-width:768px;padding:0 1.15rem}.menu-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.app-mobile{max-width:960px;padding:0 2rem}.menu-grid{grid-template-columns:repeat(4,1fr)}}
.calendar-mobile-cards{flex-direction:column;gap:.75rem;padding:.05rem;display:flex}.cal-card{background:var(--card-bg);border:1px solid var(--border);border-left-width:6px;border-radius:12px;padding:.5rem;box-shadow:0 2px 4px #0000000d}.cal-card-date{color:var(--primary);margin-bottom:.25rem;font-size:.9rem;font-weight:600}.cal-card-event{color:var(--frater-accent);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.cal-card-buttons{flex-direction:row;justify-content:space-around;gap:.25rem;margin-bottom:.5rem;display:flex}.cal-card-buttons .tipo-btn{text-align:center;flex:1;width:auto;max-width:none;min-height:36px;padding:.4rem .3rem;font-size:.65rem}.cal-card-toggle{border-top:1px solid var(--border);width:100%;color:var(--text-secondary);flex-direction:row;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding-top:.5rem;font-size:.75rem;display:flex}.cal-card-toggle input[type=checkbox]{opacity:0;width:0;height:0}.cal-card-toggle .toggle-label{align-items:center;gap:.35rem;display:flex}
