:root{--ink: #2D1B69;--ink2: #4A3880;--v: #6B5CE7;--v2: #4A3EC0;--v3: #8678D6;--v4: #A98BE0;--text-secondary: #615A82;--text-tertiary: #9A9088;--text-quiet: #7A7068;--text-disabled: #B8B3CE;--surface: #EEEDF8;--surface-alt: #FAFAFF;--surface-2: #F4F3FA;--dock: #EDE9FB;--border: #E8E4DC;--danger: #C0392B;--danger-surface: #FBE3E0;--gold: #E8930A;--success-ink: #2E6B45;--success-bg: #EEF8EE;--gold-ink: #8A5A1E;--gold-bg: #FFF8ED;--gold-solid: #E8930A;--warn-ink: #8A6208;--warn-bg: #FFF3E0;--surface-3: #EAE8F5;--violet-tint: #EDE8FF;--border-lavender: #E4E0F4;--pastel-blue: #E8F4FF;--pastel-green: #E8F7EE;--pastel-lavender: #F0E8FF;--pastel-cream: #F7F3EC;--pastel-rose: #FFF0E8;--pastel-pink: #FFE8F0;--brand-whatsapp: #25D366;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-2xs: 6px;--radius-control: 8px;--radius-xs: 10px;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 20px;--radius-full: 999px;--radius-sheet: 26px;--font-display: "Inter", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--lh-tight: 1.2;--lh-base: 1.45;--lh-relaxed: 1.6;--shadow-1: 0 1px 8px rgba(45, 27, 105, .06);--shadow-2: 0 6px 22px rgba(45, 27, 105, .09);--shadow-3: 0 8px 22px rgba(45, 27, 105, .34);--shadow-4: 0 -8px 32px rgba(45, 27, 105, .25);--shadow-5: 0 10px 30px rgba(45, 27, 105, .4);--shadow-sm: 0 1px 8px rgba(45, 27, 105, .06);--shadow-md: 0 6px 22px rgba(45, 27, 105, .09);--shadow-lg: 0 8px 22px rgba(45, 27, 105, .34);--floating-clearance: 110px}*,*:before,*:after{box-sizing:border-box}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;-webkit-user-select:none;user-select:none}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);background:var(--surface);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0 0 var(--space-4)}h1{font-size:var(--font-size-xl);color:var(--ink)}:focus-visible{outline:2px solid var(--v);outline-offset:2px}.auth-page{max-width:420px;margin:0 auto;padding:var(--space-6) var(--space-4)}.auth-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-6)}.form-field{margin-bottom:13px}.tarea-fecha-hora-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.tarea-fecha-hora-row>.form-field{min-width:0}.form-field label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--ink);margin-bottom:var(--space-1)}.required-mark{display:inline-block;color:var(--v);margin-inline-start:var(--space-1)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field input[type=number]{display:block;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md)}.form-field input:focus-visible{outline:2px solid var(--v);outline-offset:2px}.form-field input[aria-invalid=true]{border-color:var(--danger)}.field-error,.form-error{font-size:var(--font-size-xs);color:var(--danger);margin:var(--space-1) 0 0}.form-error-banner{padding:var(--space-3);background:var(--danger-surface);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--font-size-sm);margin-bottom:13px}.auth-submit-btn,.form-button{display:block;width:100%;min-height:44px;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:600;color:#fff;background:var(--v);border:none;border-radius:var(--radius-md);cursor:pointer;margin-top:var(--space-4)}.auth-submit-btn:focus-visible,.form-button:focus-visible{outline:2px solid var(--v);outline-offset:2px}.auth-submit-btn:disabled,.form-button:disabled{opacity:.5;cursor:not-allowed}.auth-submit-btn:not(:disabled):hover,.form-button:not(:disabled):hover{background:var(--v2)}.auth-links{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);text-align:center}.auth-links a{color:var(--v);font-size:var(--font-size-sm);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.auth-links a:hover{text-decoration:underline}.auth-link-btn{background:none;border:none;color:var(--v);font-family:var(--font-body);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;padding:var(--space-2) var(--space-3)}.auth-link-btn:hover{text-decoration:underline}.auth-link-btn:disabled{opacity:.5;cursor:not-allowed}.auth-link-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.auth-description{color:var(--ink2);font-size:var(--font-size-base);margin-bottom:var(--space-4)}.verify-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--ink);margin-bottom:var(--space-4);border-radius:var(--radius-full)}.verify-back:focus-visible{outline:2px solid var(--v);outline-offset:2px}.otp-group{border:0;min-width:0;padding:0;margin:var(--space-6) 0}.otp-label{color:var(--ink);font-size:var(--font-size-sm);font-weight:500;margin:0;text-align:center}.otp-container{display:flex;gap:var(--space-2);justify-content:center;margin:var(--space-2) 0 0}.otp-input{width:44px;height:52px;text-align:center;font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s ease}.otp-input:focus-visible{outline:2px solid var(--v);outline-offset:2px;border-color:var(--v)}.otp-input:not(:placeholder-shown){border-color:var(--v3)}.form-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:#166534;font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.consent-container{max-height:150px;overflow-y:auto;padding:var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.consent-container:focus-visible{outline:2px solid var(--v);outline-offset:2px}.consent-text{font-size:var(--font-size-xs);line-height:1.5;color:var(--ink);white-space:pre-line;margin:0}.consent-checkbox-wrapper{display:flex;align-items:center;gap:var(--space-2);min-height:44px}.form-checkbox{width:20px;height:20px;min-width:20px;accent-color:var(--v);cursor:pointer}.form-checkbox:focus-visible{outline:2px solid var(--v);outline-offset:2px}.consent-label{font-size:var(--font-size-sm);font-weight:500;color:var(--ink);cursor:pointer}.home-page{max-width:420px;margin:0 auto;padding:var(--space-8) var(--space-4);text-align:center}.signout-btn{min-height:44px;padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:500;color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;margin-top:var(--space-4)}.signout-btn:hover{background:var(--surface-2)}.signout-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacios-page{max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.espacios-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.espacios-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin:0}.espacios-loading{display:flex;align-items:center;gap:var(--space-3);justify-content:center;padding:var(--space-8) 0;color:var(--ink2);font-size:var(--font-size-sm)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--v);border-radius:50%;animation:spin .6s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.espacios-error{text-align:center;padding:var(--space-6) 0;color:var(--danger);font-size:var(--font-size-sm)}.espacios-empty{text-align:center;padding:var(--space-8) var(--space-4)}.espacios-empty-msg{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--ink);margin:0 0 var(--space-2)}.espacios-empty-hint{font-size:var(--font-size-sm);color:var(--ink2);margin:0 0 var(--space-6)}.espacios-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.espacio-card{border-radius:var(--radius-lg);overflow:hidden}.espacio-card-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.espacio-card-btn:hover{box-shadow:var(--shadow-md)}.espacio-card-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacio-card-icono{font-size:var(--font-size-xl);flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.espacio-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.espacio-card-nombre{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.espacio-card-tipo{font-size:var(--font-size-xs);color:var(--ink2)}.espacios-crear-btn{display:block;width:100%;min-height:44px;padding:var(--space-3) var(--space-4);margin-top:var(--space-6);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:600;color:var(--v);background:var(--surface);border:2px dashed var(--v3);border-radius:var(--radius-md);cursor:pointer}.espacios-crear-btn:hover{background:var(--surface-2)}.espacios-crear-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacio-form-page{max-width:420px;margin:0 auto;padding:var(--space-6) var(--space-4)}.espacio-form-page h1{margin-bottom:var(--space-6)}.espacio-tipo-fieldset{border:none;padding:0;margin:0}.espacio-tipo-fieldset legend{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--ink);margin-bottom:var(--space-2)}.espacio-tipo-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}label.espacio-tipo-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;min-height:44px;text-align:center;transition:border-color .15s}.espacio-tipo-option:has(input:checked){border-color:var(--v);background:var(--surface-2)}.espacio-tipo-option input[type=radio]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.espacio-tipo-option:focus-within{outline:2px solid var(--v);outline-offset:2px}.espacio-tipo-label{font-size:var(--font-size-base);font-weight:600;color:var(--ink)}.espacio-tipo-desc{font-size:var(--font-size-xs);color:var(--ink2)}.espacio-icono-fieldset{border:none;padding:0;margin:0;margin-bottom:var(--space-3)}.espacio-icono-fieldset legend{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--ink);margin-bottom:var(--space-2)}.espacio-icono-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:var(--space-2)}.espacio-icono-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:var(--space-2);font-size:1.5rem;background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.espacio-icono-btn:hover{background:var(--surface-2)}.espacio-icono-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacio-icono-btn--selected{border-color:var(--v);background:var(--surface-2);box-shadow:var(--shadow-sm)}.espacio-form-actions{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.espacio-form-cancel-btn{display:block;width:100%;min-height:44px;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:500;color:var(--ink);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.espacio-form-cancel-btn:hover{background:var(--surface-alt)}.espacio-form-cancel-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacio-form-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.espacio-form-section-title{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 var(--space-3)}.espacio-form-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.espacio-form-section-header .espacio-form-section-title{margin-bottom:0}.espacio-form-section-description{margin:var(--space-2) 0 var(--space-3);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--lh-base)}.espacio-integrante{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--ink)}.espacio-integrante-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1rem;background:var(--surface-alt);border-radius:var(--radius-full)}.espacio-integrante-info{display:flex;flex-direction:column;gap:2px}.espacio-integrante-name{font-weight:500;color:var(--ink)}.espacio-integrante-role{font-size:var(--font-size-xs);color:var(--text-tertiary)}.espacio-form-modulos{display:flex;flex-direction:column;gap:var(--space-3)}.placeholder-modulo-name{font-weight:500}.espacio-detail-page{max-width:600px;margin:0 auto}.espacio-tabs{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--dock);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-5) calc(-1 * var(--space-4));border-bottom:1px solid var(--border)}.espacio-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;min-height:44px;min-width:44px;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:500;transition:color .15s ease,border-color .15s ease}.espacio-tab--active{color:var(--v);border-bottom-color:var(--v)}.espacio-tab:focus-visible{outline:2px solid var(--v);outline-offset:2px}.espacio-tab-icon{font-size:var(--font-size-lg)}.espacio-tab-label{font-size:var(--font-size-xs)}.espacio-info{margin-bottom:var(--space-6);padding:0 var(--space-4)}.espacio-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.espacio-icono{font-size:var(--font-size-2xl);flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--radius-lg)}.espacio-header h1{margin:0}.espacio-tipo-badge{display:inline-block;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:500;color:var(--v);background:var(--surface-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-top:var(--space-1)}.admin-controls{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;border:none;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{color:#fff;background:var(--v)}.btn-primary:not(:disabled):hover{background:var(--v2)}.btn-secondary{color:var(--ink);background:var(--surface-alt);border:1px solid var(--border)}.btn-secondary:not(:disabled):hover{background:var(--surface-2)}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:not(:disabled):hover{opacity:.9}.btn-ghost{background:transparent;color:var(--v);border:none}.btn-ghost:not(:disabled):hover{background:var(--surface-2)}.btn-share{background:var(--brand-whatsapp);color:#fff}.btn-share:not(:disabled):hover{opacity:.9}.btn-sm{min-height:36px;font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.btn-md{min-height:44px;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4)}.btn-lg{min-height:52px;font-size:var(--font-size-base);padding:var(--space-3) var(--space-5)}.btn-block{width:100%}.card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .15s ease,border-color .15s ease}.card--interactive{cursor:pointer;min-height:44px}.card--interactive:hover{box-shadow:var(--shadow-2)}.card--interactive:focus-visible{outline:2px solid var(--v);outline-offset:2px}.card--selectable.card--selected{border-color:var(--v);background:var(--surface-2)}.card--compact{padding:var(--space-2) var(--space-3)}.personas-section{border-top:1px solid var(--border);padding-top:var(--space-5)}.personas-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.personas-header h2{margin:0;font-size:var(--font-size-lg)}.personas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.persona-item{display:flex;flex-direction:column;gap:2px;min-height:44px;padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;color:var(--ink);transition:box-shadow .15s}.persona-item:hover{box-shadow:var(--shadow-md)}.persona-item:focus-visible{outline:2px solid var(--v);outline-offset:2px}.persona-nombre{font-weight:600;font-size:var(--font-size-base);margin-right:var(--space-2)}.persona-meta{font-size:var(--font-size-xs);color:var(--ink2)}.empty-state{text-align:center;padding:var(--space-6) 0;color:var(--ink2);font-size:var(--font-size-sm)}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-6);color:var(--v);font-size:var(--font-size-sm);font-weight:500;text-decoration:none}.back-link:hover{text-decoration:underline}.back-link:focus-visible{outline:2px solid var(--v);outline-offset:2px}.persona-detail-page{max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.persona-info{margin-bottom:var(--space-6)}.persona-fields{margin:var(--space-5) 0 0;padding:0}.persona-fields .field-group{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.persona-fields .field-group:last-child{border-bottom:none}.persona-fields dt{font-size:var(--font-size-xs);font-weight:500;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em}.persona-fields dd{margin:0;font-size:var(--font-size-base);font-weight:500;color:var(--ink)}.persona-form-page{max-width:420px;margin:0 auto;padding:var(--space-6) var(--space-4)}.persona-form-page h1{margin-bottom:var(--space-6)}.medical-warning{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--v3);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--font-size-sm);color:var(--ink);line-height:1.4}.medical-warning-icon{flex-shrink:0;font-size:var(--font-size-lg)}.form-field select{display:block;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232D1B69' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.form-field select:focus-visible{outline:2px solid var(--v);outline-offset:2px}.form-field select[aria-invalid=true]{border-color:var(--danger)}.form-field input[type=date],.form-field input[type=tel]{display:block;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md)}.form-field input[type=date]:focus-visible,.form-field input[type=tel]:focus-visible{outline:2px solid var(--v);outline-offset:2px}.form-field input[type=date][aria-invalid=true],.form-field input[type=tel][aria-invalid=true]{border-color:var(--danger)}.form-field input[type=time]{display:block;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md)}.form-field input[type=time]:focus-visible{outline:2px solid var(--v);outline-offset:2px}.form-field input[type=time][aria-invalid=true]{border-color:var(--danger)}.member-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.member-chip{position:relative;isolation:isolate;display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:var(--v2);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease,border-color .15s ease}.member-chip:hover{background:transparent}.member-chip:focus-visible{outline:2px solid var(--v);outline-offset:2px}.tarea-export-section{margin-top:var(--space-4);margin-bottom:var(--space-4)}.tarea-export-section .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.recover-page{max-width:420px;margin:0 auto;padding:var(--space-6) var(--space-4)}.recover-page h1{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-6)}.recover-step-info{font-size:var(--font-size-sm);color:var(--ink2);margin-bottom:var(--space-5);line-height:1.5}.recover-step-info strong{font-weight:700;color:var(--ink)}.recover-success{padding:var(--space-3);background:var(--surface-2);border:1px solid var(--v3);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-size-sm);margin-bottom:13px}.recover-error{padding:var(--space-3);background:var(--danger-surface);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--font-size-sm);margin-bottom:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#2d1b6980}.modal-content{width:100%;max-width:360px;padding:var(--space-8) var(--space-6);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center}.modal-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin:0 0 var(--space-5)}.modal-text{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--ink);line-height:1.5;margin:0 0 var(--space-4)}.modal-text:last-of-type{margin-bottom:var(--space-6)}.modal-cta{min-width:160px}.invitacion-landing{max-width:420px;margin:0 auto;padding:var(--space-8) var(--space-4)}.invitacion-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0;color:var(--ink2);font-size:var(--font-size-sm)}.invitacion-error{text-align:center;padding:var(--space-6) 0}.invitacion-error h1{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-3)}.invitacion-error p{font-size:var(--font-size-sm);color:var(--ink2);line-height:1.5;margin:0 0 var(--space-6)}.invitacion-content h1{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-5)}.invitacion-preview-card{padding:var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.invitacion-space-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--ink);margin:0 0 var(--space-2)}.invitacion-role{font-size:var(--font-size-sm);color:var(--ink2);margin:0}.invitacion-role strong{font-weight:700;color:var(--ink)}.invitacion-actions{display:flex;flex-direction:column;gap:var(--space-3)}.invitacion-action-btn{width:100%}.invitacion-success{text-align:center;padding:var(--space-6) 0}.invitacion-success h1{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--ink);margin-bottom:var(--space-3)}.invitacion-success-msg{font-size:var(--font-size-base);color:var(--ink2);margin:0 0 var(--space-6);line-height:1.5}.invitacion-success-msg strong{font-weight:700;color:var(--ink)}.gestion-invitaciones-page{max-width:600px;margin:0 auto;padding:var(--space-6) var(--space-4)}.gestion-invitaciones-header{margin-bottom:var(--space-6)}.gestion-invitaciones-header h1{margin:0}.crear-invitacion-form{margin-bottom:var(--space-5)}.crear-invitacion-btn{width:100%;margin-top:var(--space-4)}.enlace-generado{margin:var(--space-5) 0;padding:var(--space-4);background:var(--surface-2);border:1px solid var(--v3);border-radius:var(--radius-lg)}.enlace-generado h3{font-size:var(--font-size-base);font-weight:700;margin:0 0 var(--space-2)}.enlace-info{font-size:var(--font-size-sm);color:var(--ink2);margin:0 0 var(--space-3)}.enlace-display{margin-bottom:var(--space-3);overflow:hidden}.enlace-url{display:block;font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);word-break:break-all}.enlace-actions{display:flex;gap:var(--space-3)}.enlace-copied{font-size:var(--font-size-sm);color:var(--v);font-weight:500;margin:var(--space-2) 0 0}.invitaciones-list-section{border-top:1px solid var(--border);padding-top:var(--space-5);margin-top:var(--space-6)}.invitaciones-list-section h2{font-size:var(--font-size-lg);margin:0 0 var(--space-4)}.invitaciones-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.invitacion-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md)}.invitacion-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.invitacion-rol{font-weight:600;font-size:var(--font-size-sm);color:var(--ink);text-transform:capitalize}.invitacion-status{display:inline-block;font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm)}.invitacion-status--pendiente{color:var(--v);background:var(--surface-2)}.invitacion-status--aceptada{color:#059669;background:#ecfdf5}.invitacion-status--revocada{color:var(--danger);background:var(--danger-surface)}.invitacion-status--expirada{color:var(--ink2);background:var(--surface-alt)}.invitacion-fecha{font-size:var(--font-size-xs);color:var(--ink2)}.invitacion-revocar-btn{flex-shrink:0;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d1b6980;z-index:1000;animation:fadeIn .2s ease}@keyframes slideUpCentered{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.bottom-sheet-content{position:fixed;bottom:0;left:50%;right:auto;width:calc(100vw - (2 * var(--space-4)));max-width:600px;max-height:82dvh;margin:0;transform:translate(-50%);background:var(--surface-alt);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-4);padding:var(--space-4);padding-top:var(--space-3);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:1001;overflow-x:hidden;overflow-y:auto;animation:slideUpCentered .2s ease}.bottom-sheet-content:focus{outline:none}.bottom-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:0 auto var(--space-3)}.bottom-sheet-close{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-full);font-size:var(--font-size-lg);cursor:pointer}.bottom-sheet-close:hover{background:var(--surface-2)}.bottom-sheet-close:focus-visible{outline:2px solid var(--v);outline-offset:2px}.bottom-sheet-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--ink);margin:0 0 var(--space-4);padding-right:44px}.sheet-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-4);line-height:var(--lh-base)}.presupuesto-personal-suggestions{margin:var(--space-4) 0 0}.presupuesto-personal-suggestions__label{margin:0 0 var(--space-2);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:600}.presupuesto-personal-suggestions__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.presupuesto-personal-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.progress-bar-wrapper{width:100%}.progress-bar-label{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-2)}.progress-bar{display:flex;gap:var(--space-1);width:100%}.progress-bar-segment{flex:1;height:4px;border-radius:var(--radius-full);background:var(--border);transition:background .2s ease}.progress-bar-segment--active{background:var(--v)}.navbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--dock);box-shadow:var(--shadow-1);min-height:56px}.navbar-logo-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.navbar-logo-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px;border-radius:var(--radius-control)}.navbar-logo{height:28px;width:auto}.navbar-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--ink);border-radius:var(--radius-full)}.navbar-back:focus-visible{outline:2px solid var(--v);outline-offset:2px}.navbar-title{flex:1;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--ink);margin:0}.navbar-actions{margin-left:auto;display:flex;gap:var(--space-2)}.navbar-actions:has(>.dashboard-avatar-menu-root){position:relative}.navbar-zoom{display:flex;align-items:center;background:#6b5ce71a;border-radius:var(--radius-full);padding:2px}.navbar-zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease,color .15s ease}.navbar-zoom-btn[data-zlevel="100"]{font-size:var(--font-size-sm)}.navbar-zoom-btn[data-zlevel="115"]{font-size:var(--font-size-base)}.navbar-zoom-btn[data-zlevel="130"]{font-size:var(--font-size-lg)}.navbar-zoom-btn--active{background:var(--v);color:#fff}.navbar-zoom-btn:focus-visible{outline:2px solid var(--v);outline-offset:2px}.navbar-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--v);color:#fff;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;border:none;cursor:pointer;transition:opacity .15s ease}.navbar-avatar:hover{opacity:.8}.navbar-avatar:focus-visible{outline:2px solid var(--v);outline-offset:2px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--dock);box-shadow:var(--shadow-4);border-radius:var(--radius-full);z-index:900;margin:0px var(--space-8) var(--space-3) var(--space-8)}.bottom-bar-item{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);border:2px solid transparent;background:var(--surface-alt);font-size:1.25rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.bottom-bar-item:focus-visible{outline:2px solid var(--v);outline-offset:2px}.bottom-bar-item--active{border-color:var(--v);box-shadow:var(--shadow-1)}.bottom-bar-add{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);border:2px dashed var(--v3);background:transparent;font-size:1.25rem;color:var(--v);cursor:pointer;transition:background .15s ease}.bottom-bar-add:hover{background:var(--surface-2)}.bottom-bar-add:focus-visible{outline:2px solid var(--v);outline-offset:2px}.bottom-bar-home{padding:0}.bottom-bar-home-img{width:24px;height:24px;object-fit:contain}.bottom-bar-settings{font-size:1.1rem;color:var(--text-secondary)}.onboarding-page{padding-top:var(--space-8)}.onboarding-space-selection{border:0;padding:0;margin:var(--space-5) 0;min-width:0}.onboarding-space-selection-label{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;color:var(--ink);padding:0}.onboarding-space-selection-hint{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-5) 0}.onboarding-grid .card{text-align:center;padding:var(--space-4) var(--space-3)}.onboarding-card-icono{font-size:var(--font-size-2xl);display:block;margin-bottom:var(--space-2)}.onboarding-card-label{display:block;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:600;color:var(--ink)}.onboarding-card-subtitle{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1)}.onboarding-confirm-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0}.onboarding-confirm-list .card{display:flex;align-items:center;gap:var(--space-3)}.onboarding-confirm-icono{font-size:var(--font-size-xl);flex-shrink:0}.onboarding-confirm-nombre{font-weight:600;color:var(--ink)}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-shell-main{flex:1;max-width:430px;width:100%;margin:0 auto;padding:var(--space-4);padding-bottom:var(--floating-clearance)}@media (min-width: 700px){.app-shell-main{max-width:600px}}.dashboard-page{margin:calc(-1 * var(--space-4));margin-bottom:0}.dashboard-hero{background:var(--ink);color:#fff;padding:var(--space-5) var(--space-4);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.dashboard-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.dashboard-hero-logo-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.dashboard-hero-logo-btn:focus-visible{outline:2px solid var(--v4);outline-offset:2px;border-radius:var(--radius-control)}.dashboard-hero-logo{height:24px;width:auto}.dashboard-hero-controls{display:flex;align-items:center;gap:var(--space-3)}.dashboard-zoom{display:flex;align-items:center;background:#ffffff26;border-radius:var(--radius-full);padding:2px}.dashboard-zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#fff9;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease,color .15s ease}.dashboard-zoom-btn[data-zoom="100"]{font-size:var(--font-size-sm)}.dashboard-zoom-btn[data-zoom="115"]{font-size:var(--font-size-base)}.dashboard-zoom-btn[data-zoom="130"]{font-size:var(--font-size-lg)}.dashboard-zoom-btn--active{background:var(--v);color:#fff}.dashboard-zoom-btn:focus-visible{outline:2px solid var(--v4);outline-offset:2px}.dashboard-hero-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--v);color:#fff;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;border:none;cursor:pointer;transition:opacity .15s ease}.dashboard-hero-avatar:hover{opacity:.8}.dashboard-hero-avatar:focus-visible{outline:2px solid var(--v4);outline-offset:2px}.dashboard-hero-date{font-size:var(--font-size-xs);color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2)}.dashboard-hero-saludo{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:#fff;margin:0 0 var(--space-1)}.dashboard-hero-sub{font-size:var(--font-size-sm);color:#fffc;margin:0 0 var(--space-4)}.dashboard-hero-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dashboard-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;color:#fff}.dashboard-content{padding:var(--space-5) var(--space-4)}.dashboard-seccion{margin-bottom:var(--space-5)}.dashboard-seccion h2{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 var(--space-3)}.dashboard-espacios-list{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-espacio-card{display:flex;align-items:center;gap:var(--space-3)}.dashboard-espacio-icono{font-size:var(--font-size-xl);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--radius-full);flex-shrink:0}.dashboard-espacio-info{display:flex;flex-direction:column;gap:2px}.dashboard-espacio-nombre{font-weight:600;color:var(--ink)}.dashboard-espacio-tipo{font-size:var(--font-size-xs);color:var(--text-secondary)}.placeholder-modulo{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.placeholder-badge{font-size:var(--font-size-xs);font-weight:500;color:var(--v);background:var(--surface-2);padding:2px var(--space-2);border-radius:var(--radius-sm)}.persona-filter{margin-bottom:var(--space-3)}.persona-filter__list{display:flex;gap:var(--space-2);list-style:none;margin:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.persona-filter__list::-webkit-scrollbar{display:none}.persona-filter__chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:var(--ink2);background:var(--surface-2);border:1.5px solid transparent;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.persona-filter__chip:focus-visible{outline:2px solid var(--v);outline-offset:2px}.persona-filter__chip--active{background:var(--v);color:var(--surface-alt);border-color:var(--v)}.agenda-list{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.agenda-list__error{color:var(--danger);font-size:var(--font-size-sm)}.agenda-list__empty{color:var(--text-secondary);font-size:var(--font-size-base);text-align:center;padding:var(--space-8) var(--space-4)}.agenda-list__group{display:flex;flex-direction:column;gap:var(--space-2)}.agenda-list__date-heading{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin:0 0 var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.agenda-list__date-heading--muted{color:var(--text-secondary)}.agenda-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.agenda-list__group--cancelled{opacity:.7}.tarea-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--surface-alt);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);transition:background .15s ease}.tarea-item--overdue{border-left:3px solid var(--danger)}.tarea-item--completed{opacity:.65}.tarea-item--cancelled{background:var(--surface-2);box-shadow:none;opacity:.6;text-decoration:line-through;padding:var(--space-2) var(--space-3)}.tarea-item__check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;margin:0;background:none;border:none;cursor:pointer;color:var(--v);border-radius:var(--radius-full);flex-shrink:0}.tarea-item__check:focus-visible{outline:2px solid var(--v);outline-offset:2px}.tarea-item__check:disabled{opacity:.4;cursor:not-allowed}.tarea-item__check .material-symbols-outlined{font-size:24px}.tarea-item__body{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0;padding-top:var(--space-2)}.tarea-item__content{display:flex;align-items:baseline;gap:var(--space-2)}.tarea-item__responsable{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--lh-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tarea-item__hora{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:600;color:var(--v);white-space:nowrap}.tarea-item__titulo{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tarea-item--completed .tarea-item__titulo{text-decoration:line-through;color:var(--text-secondary)}.tarea-item__tags{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.tarea-tag{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.tarea-tag__icon{font-size:12px}.tarea-tag--tipo{background:var(--pastel-lavender);color:var(--ink2)}.tarea-tag--repeat{background:var(--pastel-blue);color:var(--ink2)}.tarea-tag--recordatorio{background:var(--pastel-cream);color:var(--text-quiet)}.tarea-badge{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.tarea-badge__icon{font-size:12px}.tarea-badge--conflict-hard{background:var(--warn-bg);color:var(--warn-ink)}.tarea-badge--conflict-soft{background:var(--pastel-rose);color:var(--text-quiet)}.tarea-badge--overdue{background:var(--danger-surface);color:var(--danger)}.agenda-dashboard-list{display:flex;flex-direction:column;gap:var(--space-4)}.agenda-espacio-card{display:flex;flex-direction:column;gap:var(--space-3)}.agenda-espacio-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px}.agenda-espacio-nombre{font-family:var(--font-display);font-weight:600;font-size:var(--font-size-base);color:var(--ink)}.agenda-espacio-badges{display:flex;align-items:center;gap:var(--space-2)}.agenda-badge{font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.agenda-badge--pendientes{color:var(--v);background:var(--surface-2)}.agenda-badge--vencidas{color:var(--danger);background:var(--danger-surface)}.agenda-proximas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.agenda-tarea-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px}.agenda-tarea-left{display:flex;align-items:center;gap:var(--space-2);min-width:0}.agenda-tarea-vencida-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--danger);flex-shrink:0}.agenda-tarea-titulo{font-size:var(--font-size-sm);font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-tarea-fecha{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.agenda-tarea-hora{color:var(--text-tertiary)}label.module-toggle{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:var(--space-2) 0;cursor:pointer}.module-toggle-info{display:flex;align-items:center;gap:var(--space-2)}.module-toggle-icon{font-size:18px;color:var(--v)}.module-toggle-label{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:var(--ink)}.module-toggle-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:24px;border-radius:12px;background:var(--text-tertiary);position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.module-toggle-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface);transition:transform .2s ease}.module-toggle-switch:checked{background:var(--v)}.module-toggle-switch:checked:before{transform:translate(20px)}.module-toggle-switch:focus-visible{outline:2px solid var(--v);outline-offset:2px}.onboarding-modules{margin-top:var(--space-4);margin-bottom:var(--space-4)}.onboarding-modules-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-3)}.onboarding-modules-list{background:var(--surface-alt);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.agenda-tab-placeholder{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--space-8) var(--space-4)}.fab{position:fixed;bottom:calc(var(--space-6, 24px) + 72px);right:var(--space-4, 16px);width:56px;height:56px;border-radius:50%;background:var(--v, #6B5CE7);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #2d1b694d;cursor:pointer;z-index:100;transition:transform .15s ease,box-shadow .15s ease}.fab:active{transform:scale(.92)}.fab:focus-visible{outline:2px solid var(--v, #6B5CE7);outline-offset:2px}.fab .material-symbols-outlined{font-size:28px}.module-tiles-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3, 12px)}.module-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--space-4, 16px) var(--space-3, 12px);border-radius:var(--radius-lg, 16px);border:2px solid var(--border, rgba(45, 27, 105, .12));background:var(--surface, #fff);cursor:pointer;min-height:88px;transition:background .15s ease,border-color .15s ease,transform .1s ease}.module-tile:active{transform:scale(.96)}.module-tile:focus-visible{outline:2px solid var(--v, #6B5CE7);outline-offset:2px}.module-tile--active{background:var(--ink, #2D1B69);border-color:var(--ink, #2D1B69);color:#fff}.module-tile--active .module-tile-icon{color:#fff}.module-tile--active .module-tile-label{color:#fff;font-weight:700}.module-tile--disabled{opacity:.5;cursor:not-allowed}.module-tile--disabled:active{transform:none}.module-tile-icon{font-size:28px;color:var(--ink, #2D1B69)}.module-tile-label{font-family:var(--font-body, "DM Sans", sans-serif);font-size:var(--text-sm, 13px);font-weight:600;color:var(--ink, #2D1B69)}.module-tiles-hint{margin-top:var(--space-3, 12px);font-family:var(--font-body, "DM Sans", sans-serif);font-size:var(--text-xs, 11px);color:var(--text-muted, #6b7280);text-align:center}.agenda-summary-card{display:flex;flex-direction:column;gap:var(--space-4)}.agenda-summary-card__section{display:flex;flex-direction:column;gap:var(--space-2)}.agenda-summary-card__label{margin:0;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink)}.agenda-summary-card__label--with-icon{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase}.agenda-summary-card__label-icon{flex:0 0 auto;font-size:var(--font-size-base);color:var(--v)}.agenda-summary-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.agenda-summary-task{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);border-radius:var(--radius-2xs)}.agenda-summary-task:last-child{border-bottom:0}.agenda-summary-task__body[role=button]{cursor:pointer}.agenda-summary-task__body:focus-visible{outline:2px solid var(--v);outline-offset:2px}.agenda-summary-task--completed{opacity:.65}.agenda-summary-task__check{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:calc(-1 * var(--space-2)) 0;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--v);cursor:pointer}.agenda-summary-task__check:focus-visible{outline:2px solid var(--v);outline-offset:2px}.agenda-summary-task__check:disabled{color:var(--text-disabled);cursor:not-allowed}.agenda-summary-task__check .material-symbols-outlined{font-size:var(--font-size-xl)}.agenda-summary-task__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0;flex:1}.agenda-summary-task__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:500;color:var(--ink)}.agenda-summary-task__responsable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-summary-task--completed .agenda-summary-task__title{color:var(--text-secondary);text-decoration:line-through}.agenda-summary-task__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-xs)}.agenda-summary-task__status{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.agenda-summary-task__status--pending{background:var(--surface-2);color:var(--v)}.agenda-summary-task__status--completed{background:var(--success-bg);color:var(--success-ink)}.dashboard-pill-icon{font-size:var(--font-size-sm)}.placeholder-modulo-icon{font-size:var(--font-size-lg)}.tarea-item__body[role=button]{min-height:44px;justify-content:center;cursor:pointer}.espacio-personas-manager{display:flex;flex-direction:column;gap:var(--space-3)}.espacio-personas-manager .espacio-form-section-title{margin-bottom:0}.espacio-personas-hint{margin:calc(-1 * var(--space-1)) 0 0;color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--lh-base)}.espacio-personas-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.espacio-persona-row{display:flex;align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-2) var(--space-3);background:var(--surface-alt);border:1px solid var(--border-soft, var(--border));border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.espacio-persona-row-main{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.espacio-persona-row-main:disabled{cursor:default}.espacio-persona-row-main:focus-visible{outline:2px solid var(--v);outline-offset:2px;border-radius:var(--radius-control)}.espacio-persona-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--radius-full);background:var(--violet-tint);color:var(--v2);font-size:var(--font-size-xl)}.espacio-persona-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.espacio-persona-name{overflow:hidden;color:var(--ink);font-size:var(--font-size-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.espacio-persona-meta{color:var(--text-secondary);font-size:var(--font-size-xs)}.espacio-personas-empty,.espacio-personas-error{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.espacio-personas-error{color:var(--danger)}.espacio-persona-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border-lavender);border-radius:var(--radius-md)}.espacio-persona-editor .medical-warning{margin:0}.espacio-persona-editor-title{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700}.espacio-persona-editor-actions{display:flex;align-items:center;gap:var(--space-2)}.espacio-persona-editor-actions .btn{flex:1}.espacio-persona-remove{min-width:44px;min-height:44px}.auth-submit-btn,.form-button,.signout-btn,.espacios-crear-btn,.espacio-form-cancel-btn,.btn,.persona-filter__chip,.espacio-icono-btn{position:relative;isolation:isolate;background:transparent}.auth-submit-btn,.form-button,.signout-btn,.espacios-crear-btn,.espacio-form-cancel-btn,.btn,.espacio-icono-btn{border-color:transparent}.auth-submit-btn:before,.form-button:before,.signout-btn:before,.espacios-crear-btn:before,.espacio-form-cancel-btn:before,.btn:before,.persona-filter__chip:before,.member-chip:before,.espacio-icono-btn:before{content:"";position:absolute;inset:var(--space-1) 0;z-index:-1;pointer-events:none;border-radius:inherit;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.auth-submit-btn:before,.form-button:before,.btn-primary:before{background:var(--v)}.auth-submit-btn:not(:disabled):hover,.form-button:not(:disabled):hover,.btn-primary:not(:disabled):hover{background:transparent}.auth-submit-btn:not(:disabled):hover:before,.form-button:not(:disabled):hover:before,.btn-primary:not(:disabled):hover:before{background:var(--v2)}.btn-secondary:before,.signout-btn:before,.espacio-form-cancel-btn:before{background:var(--surface-alt);border:1px solid var(--border)}.btn-secondary:not(:disabled):hover,.signout-btn:hover,.espacio-form-cancel-btn:hover{background:transparent}.btn-secondary:not(:disabled):hover:before,.signout-btn:hover:before,.espacio-form-cancel-btn:hover:before{background:var(--surface-2)}.btn-danger:before{background:var(--danger)}.btn-danger:not(:disabled):hover{opacity:1;background:transparent}.btn-danger:not(:disabled):hover:before{opacity:.9}.btn-ghost:not(:disabled):hover,.btn-ghost-surface-action:not(:disabled):hover{background:transparent}.btn-ghost:not(:disabled):hover:before,.btn-ghost-surface-action:not(:disabled):hover:before{background:var(--surface-2)}.btn-share:before{background:var(--brand-whatsapp)}.btn-share:not(:disabled):hover{opacity:1;background:transparent}.btn-share:not(:disabled):hover:before{opacity:.9}.btn-sm,.btn-lg{min-height:44px;padding-top:var(--space-2);padding-bottom:var(--space-2)}.auth-submit-btn,.form-button,.signout-btn,.espacios-crear-btn,.espacio-form-cancel-btn{padding-top:var(--space-2);padding-bottom:var(--space-2)}.espacios-crear-btn:before{background:var(--surface);border:2px dashed var(--v3)}.espacios-crear-btn:hover{background:transparent}.espacios-crear-btn:hover:before{background:var(--surface-2)}.persona-filter__chip:before{background:var(--surface-2);border:1.5px solid transparent}.persona-filter__chip:hover{background:transparent}.persona-filter__chip:hover:before{background:var(--surface-3)}.persona-filter__chip--active{background:transparent;border-color:transparent}.persona-filter__chip--active:before{background:var(--v);border-color:var(--v)}.member-chip:before{background:var(--violet-tint);border:1px solid var(--border-lavender)}.member-chip:hover:before{background:var(--surface-3);border-color:var(--v3)}.espacio-icono-btn:before{background:var(--surface-alt);border:2px solid var(--border)}.espacio-icono-btn:hover{background:transparent}.espacio-icono-btn:hover:before{background:var(--surface-2)}.espacio-icono-btn--selected{background:transparent;border-color:transparent;box-shadow:none}.espacio-icono-btn--selected:before{background:var(--surface-2);border-color:var(--v);box-shadow:var(--shadow-sm)}.espacio-tipo-badge,.dashboard-pill,.placeholder-badge,.invitacion-status,.tarea-tag,.tarea-badge,.agenda-badge,.agenda-summary-task__status{padding-top:0;padding-bottom:0}.agenda-summary-task__status{min-height:0}.auth-page--modern{width:100%;max-width:none;min-height:100dvh;display:flex;justify-content:center;padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.auth-shell{display:flex;flex-direction:column;width:100%;max-width:430px;margin:auto 0}.auth-brand{display:flex;align-items:center;justify-content:center;min-height:var(--space-8);margin-bottom:var(--space-5)}.auth-brand-logo{display:block;width:auto;height:var(--space-8);max-width:100%;object-fit:contain}.auth-card{width:100%;padding:var(--space-5) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.auth-heading{margin-bottom:var(--space-5)}.auth-card .auth-title{margin:0;font-size:var(--font-size-2xl);line-height:var(--lh-tight)}.auth-card .auth-description{margin:var(--space-2) 0 0;line-height:var(--lh-base)}.auth-card .form-field label{display:block}.auth-card .form-field input[type=email],.auth-card .form-field input[type=password]{background:var(--surface-2)}.auth-card .form-error-banner{margin-bottom:var(--space-4)}.auth-card .consent-container{background:var(--surface)}.auth-card form>.btn-block{margin-top:var(--space-2)}.auth-card .auth-links{gap:var(--space-1);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border)}.auth-card .auth-links a{border-radius:var(--radius-control);transition:background .15s ease,color .15s ease}.auth-card .auth-links a:hover{background:var(--surface-2);text-decoration:none}@media (min-width: 700px){.auth-page--modern{background:var(--surface-3);padding:var(--space-8) var(--space-6)}.auth-shell{max-width:600px}.auth-card{max-width:420px;margin:0 auto;padding:var(--space-6)}}.dashboard-hero-controls:has(>.dashboard-avatar-menu-root){position:relative}.dashboard-avatar-menu-root{position:relative;flex:0 0 auto}.dashboard-avatar-menu-root--navbar .dashboard-avatar-status{color:var(--text-secondary)}.dashboard-avatar-menu-root .dashboard-hero-avatar:focus-visible,.dashboard-avatar-logout:focus-visible,.dashboard-logout-retry:focus-visible,.dashboard-logout-dismiss:focus-visible{outline:2px solid var(--v);outline-offset:2px}.dashboard-avatar-status{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:2;color:var(--surface-alt);font-family:var(--font-body);font-size:var(--font-size-xs);white-space:nowrap}.dashboard-avatar-popup{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:max-content;max-width:calc(100vw - (2 * var(--space-4)));padding:var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.dashboard-avatar-popup[hidden]{display:none}.dashboard-avatar-identity{max-width:calc(100vw - (4 * var(--space-4)));margin:0;padding:var(--space-1) var(--space-2);overflow-wrap:anywhere;color:var(--ink);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;line-height:var(--lh-base)}.dashboard-avatar-logout{display:flex;align-items:center;width:100%;padding:var(--space-2) var(--space-3);color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;text-align:left;cursor:pointer}.dashboard-avatar-logout:hover:not(:disabled),.dashboard-logout-retry:hover,.dashboard-logout-dismiss:hover{background:var(--surface-3)}.dashboard-avatar-logout:disabled{color:var(--text-disabled);cursor:not-allowed}.dashboard-logout-error{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:max-content;max-width:calc(100vw - (2 * var(--space-4)));padding:var(--space-3);color:var(--danger);background:var(--danger-surface);border:1px solid var(--danger);border-radius:var(--radius-md);box-shadow:var(--shadow-1);font-family:var(--font-body);font-size:var(--font-size-sm)}.dashboard-logout-error p{max-width:calc(100vw - (4 * var(--space-4)));margin:0;line-height:var(--lh-base)}.dashboard-logout-retry,.dashboard-logout-dismiss{display:flex;align-items:center;width:100%;padding:var(--space-2) var(--space-3);color:var(--danger);background:transparent;border:1px solid transparent;border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;text-align:left;cursor:pointer}.dashboard-logout-retry:disabled,.dashboard-logout-dismiss:disabled{color:var(--text-disabled);cursor:not-allowed}.finanzas-tab-content{padding:var(--space-4)}.mis-gastos{display:flex;flex-direction:column;gap:var(--space-3)}.mis-gastos__empty{color:var(--text-secondary);font-size:var(--font-size-base);text-align:center;padding:var(--space-8) var(--space-4)}.mis-gastos__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.mis-gastos__item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--surface-alt);border-radius:var(--radius-sm);box-shadow:var(--shadow-1)}.mis-gastos__item--anulado{background:var(--surface-2);box-shadow:none;text-decoration:line-through}.mis-gastos__item--anulado .mis-gastos__monto,.mis-gastos__item--anulado .mis-gastos__fecha,.mis-gastos__item--anulado .mis-gastos__categoria,.mis-gastos__item--anulado .mis-gastos__badge,.mis-gastos__item--anulado .mis-gastos__descripcion{color:var(--text-secondary)}.mis-gastos__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mis-gastos__monto{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700;color:var(--ink)}.mis-gastos__fecha{font-size:var(--font-size-xs);color:var(--text-secondary)}.mis-gastos__meta-row{align-items:center;justify-content:flex-start;flex-wrap:wrap}.mis-gastos__categoria{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--pastel-lavender);color:var(--ink2);font-size:var(--font-size-xs)}.mis-gastos__badge{font-size:var(--font-size-xs);color:var(--text-secondary)}.mis-gastos__anular{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;height:44px;padding:var(--space-2);color:var(--danger);background:transparent;border-color:transparent;border-radius:var(--radius-control)}.mis-gastos__anular:focus-visible{outline:2px solid var(--v);outline-offset:2px}.mis-gastos__descripcion{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.finanzas{display:flex;flex-direction:column;gap:var(--space-5)}.finanzas-hint{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary)}.finanzas-section-heading{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700;color:var(--ink);margin:0 0 var(--space-3)}.finanzas-bolsa-card{display:flex;flex-direction:column;gap:0;overflow:hidden;background:var(--ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.finanzas-bolsa-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);color:var(--surface-alt)}.finanzas-bolsa-card__title-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-width:0}.finanzas-bolsa-card__title{margin:0;color:var(--surface-alt);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700;line-height:var(--lh-tight)}.finanzas-bolsa-card__currency{padding:var(--space-1) var(--space-2);color:var(--surface-alt);background:var(--v2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700}.finanzas-bolsa-card__config-btn{flex-shrink:0;color:var(--surface-alt)}.finanzas-bolsa-card__config-btn:not(:disabled):hover{color:var(--ink)}.finanzas-bolsa-card__saldo-row{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-4) var(--space-5)}.finanzas-bolsa-card__saldo-label{color:var(--v4);font-size:var(--font-size-sm)}.finanzas-bolsa-card__saldo{color:var(--surface-alt);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:800;line-height:var(--lh-tight)}.finanzas-bolsa-card__saldo--deficit{color:var(--danger)}.finanzas-bolsa-card__deficit-badge{align-self:flex-start;margin:var(--space-1) 0 0;padding:var(--space-1) var(--space-3);color:var(--danger);background:var(--danger-surface);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700}.finanzas-bolsa-card__panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface-alt)}.finanzas-bolsa-card__semaforo-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.finanzas-semaforo{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:600}.finanzas-semaforo__dot{width:var(--space-2);height:var(--space-2);flex:0 0 var(--space-2);border-radius:var(--radius-full);background:var(--text-secondary)}.finanzas-semaforo--verde{color:var(--success-ink)}.finanzas-semaforo--verde .finanzas-semaforo__dot{background:var(--success-ink)}.finanzas-semaforo--amarillo{color:var(--warn-ink)}.finanzas-semaforo--amarillo .finanzas-semaforo__dot{background:var(--warn-ink)}.finanzas-semaforo--rojo{color:var(--danger)}.finanzas-semaforo--rojo .finanzas-semaforo__dot{background:var(--danger)}.finanzas-semaforo--sin_presupuesto{color:var(--text-secondary)}.finanzas-bolsa-card__presupuesto{color:var(--text-secondary);font-size:var(--font-size-sm)}.finanzas-bolsa-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:0;padding-top:var(--space-3);border-top:1px solid var(--border-lavender)}.finanzas-bolsa-card__meta-item{display:flex;flex-direction:column;gap:var(--space-1)}.finanzas-bolsa-card__meta-item dt{color:var(--text-secondary);font-size:var(--font-size-xs)}.finanzas-bolsa-card__meta-item dd{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:600}.finanzas-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.finanzas-totales__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.finanzas-totales__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-alt);border-radius:var(--radius-md)}.finanzas-totales__nombre{font-size:var(--font-size-sm);color:var(--ink)}.finanzas-totales__monto{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink)}.finanzas-movimientos__empty{color:var(--text-secondary);font-size:var(--font-size-base);text-align:center;padding:var(--space-4) 0}.finanzas-movimientos__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.finanzas-movimiento{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--surface-alt);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.finanzas-movimiento--anulado{background:var(--surface-2);box-shadow:none}.finanzas-movimiento--anulado .finanzas-movimiento__tipo,.finanzas-movimiento--anulado .finanzas-movimiento__fecha,.finanzas-movimiento--anulado .finanzas-movimiento__badge,.finanzas-movimiento--anulado .finanzas-movimiento__descripcion,.finanzas-movimiento--anulado .finanzas-movimiento__motivo{color:var(--text-secondary)}.finanzas-movimiento__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.finanzas-movimiento__meta-row{align-items:center;justify-content:flex-start;flex-wrap:wrap}.finanzas-movimiento__responsable,.mis-gastos__responsable{display:inline-flex;align-items:center;max-width:100%;padding:var(--space-1) var(--space-2);overflow:hidden;color:var(--ink2);background:var(--violet-tint);border-radius:var(--radius-full);font-size:var(--font-size-xs);line-height:var(--lh-base);text-overflow:ellipsis;white-space:nowrap}.finanzas-movimiento__tipo{font-size:var(--font-size-sm);color:var(--ink)}.finanzas-movimiento__monto{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700;color:var(--ink)}.finanzas-movimiento--gasto .finanzas-movimiento__monto{color:var(--danger)}.finanzas-movimiento--aporte .finanzas-movimiento__monto{color:var(--success-ink)}.finanzas-movimiento--anulado .finanzas-movimiento__monto{color:var(--text-secondary);text-decoration:line-through}.finanzas-movimiento__fecha,.finanzas-movimiento__badge{font-size:var(--font-size-xs);color:var(--text-secondary)}.finanzas-movimiento__anular{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;height:44px;padding:var(--space-2);color:var(--danger);background:transparent;border-color:transparent;border-radius:var(--radius-control)}.finanzas-movimiento__anular:before,.mis-gastos__anular:before{inset:var(--space-2);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-control)}.finanzas-movimiento__anular:hover:before,.mis-gastos__anular:hover:before{background:var(--surface-2)}.finanzas-movimiento__anular:focus-visible{outline:2px solid var(--v);outline-offset:2px}.finanzas-movimiento__descripcion,.finanzas-movimiento__motivo{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.finanzas-deficit-confirm{padding:var(--space-3);background:var(--danger-surface);border:1px solid var(--danger);border-radius:var(--radius-md);margin-bottom:13px}.finanzas-deficit-confirm__msg{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--danger)}.finanzas-deficit-confirm__actions{display:flex;gap:var(--space-2)}.finanzas-checkbox-label{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--font-size-sm);color:var(--ink);cursor:pointer}.finanzas-checkbox-label input[type=checkbox]:focus-visible{outline:2px solid var(--v);outline-offset:2px}.mi-aporte{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface-alt);border-radius:var(--radius-xl);box-shadow:var(--shadow-2)}.mi-aporte__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mi-aporte__heading{margin:0;font-family:var(--font-display);font-size:var(--font-size-base);font-weight:700;color:var(--ink)}.mi-aporte__subheading{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink)}.mi-aporte__semaforo{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.mi-aporte__semaforo-dot{width:var(--space-2);height:var(--space-2);flex:0 0 var(--space-2);border-radius:var(--radius-full);background:var(--text-secondary)}.mi-aporte__semaforo--verde{color:var(--success-ink)}.mi-aporte__semaforo--verde .mi-aporte__semaforo-dot{background:var(--success-ink)}.mi-aporte__semaforo--amarillo{color:var(--warn-ink)}.mi-aporte__semaforo--amarillo .mi-aporte__semaforo-dot{background:var(--warn-ink)}.mi-aporte__semaforo--rojo{color:var(--danger)}.mi-aporte__semaforo--rojo .mi-aporte__semaforo-dot{background:var(--danger)}.mi-aporte__semaforo--sin_presupuesto{color:var(--text-secondary)}.mi-aporte__empty,.mi-aporte__summary{display:flex;flex-direction:column;gap:var(--space-2)}.mi-aporte__empty-msg{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.mi-aporte__totals{display:flex;gap:var(--space-6);margin:0}.mi-aporte__total-item{display:flex;flex-direction:column;gap:var(--space-1)}.mi-aporte__total-label{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.mi-aporte__total{margin:0;font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:800;color:var(--ink)}.mi-aporte__presupuesto{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.mi-aporte__desglose-list,.mi-aporte__otras-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.mi-aporte__desglose-item,.mi-aporte__otras-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm)}.mi-aporte__desglose-nombre,.mi-aporte__otras-moneda{font-size:var(--font-size-sm);color:var(--ink)}.mi-aporte__desglose-monto,.mi-aporte__otras-monto{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink)}.mi-aporte__hint{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.mi-aporte__budget-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--surface-2);border-radius:var(--radius-lg)}.mi-aporte__budget-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mi-aporte__budget-label{margin:0;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase}.mi-aporte__adjust{flex:0 0 auto}.mi-aporte__budget-values{display:flex;align-items:baseline;gap:var(--space-2)}.mi-aporte__budget-amount{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;margin:0}.mi-aporte__budget-caption,.mi-aporte__budget-separator{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--text-secondary)}.mi-aporte__budget-amount strong{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:800;color:var(--ink)}.mi-aporte__budget-separator{flex:0 0 auto}.mi-aporte__budget-progress{display:block;width:100%;height:var(--space-2);overflow:hidden;background:var(--border);border-radius:var(--radius-full)}.mi-aporte__budget-progress-value{display:block;height:100%;background:var(--v);border-radius:var(--radius-full)}.mi-aporte__budget-details{display:flex;justify-content:space-between;gap:var(--space-3)}.mi-aporte__budget-detail{display:flex;flex-direction:column;gap:var(--space-1);margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.mi-aporte__budget-detail strong{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:700;color:var(--ink)}.categoria-gasto-fieldset{min-width:0;padding:0;border:0}.categoria-gasto-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.categoria-gasto-tile{width:100%;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2);color:var(--ink);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center}.categoria-gasto-tile:hover{background:var(--surface-2)}.categoria-gasto-tile--selected,.categoria-gasto-tile--selected:hover{color:var(--surface-alt);background:var(--ink);border-color:var(--ink)}.categoria-gasto-tile__label{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;line-height:var(--lh-base)}.finanzas-movimiento-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.finanzas-movimiento-tabs__tab{width:100%}.finanzas-movimiento-tabs__tab--active,.finanzas-movimiento-tabs__tab--active:hover{color:var(--surface-alt);background:var(--ink);border-color:var(--ink)}.finanzas-movimiento-tabs__tab--active:focus-visible{outline:2px solid var(--v);outline-offset:2px}.categoria-gasto-tile:before,.finanzas-movimiento-tabs__tab:before{display:none}.categoria-gasto-tile,.finanzas-movimiento-tabs__tab{background:var(--surface-alt);border:1px solid var(--border)}.categoria-gasto-tile:not(:disabled):hover,.finanzas-movimiento-tabs__tab:not(:disabled):hover{background:var(--surface-2);border-color:var(--border)}.categoria-gasto-tile--selected,.categoria-gasto-tile--selected:not(:disabled):hover,.finanzas-movimiento-tabs__tab--active,.finanzas-movimiento-tabs__tab--active:not(:disabled):hover{color:var(--surface-alt);background:var(--ink);border-color:var(--ink)}.finanzas-movimiento>.finanzas-movimiento__row,.mis-gastos__item>.mis-gastos__row{align-items:center}.finanzas-movimiento__interactive,.mis-gastos__interactive{flex:1;width:auto;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);padding:0;color:inherit;background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.finanzas-movimiento__interactive:focus-visible,.mis-gastos__interactive:focus-visible{outline:2px solid var(--v);outline-offset:2px;border-radius:var(--radius-control)}.finanzas-movimiento__tipo,.mis-gastos__monto{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.finanzas-movimiento__tipo .material-symbols-outlined,.mis-gastos__monto .material-symbols-outlined{flex:0 0 auto;color:var(--v)}.finanzas-movimiento-detalle{display:flex;flex-direction:column;gap:var(--space-4)}.finanzas-movimiento-detalle__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-md);color:var(--v)}.finanzas-movimiento-detalle__type,.finanzas-movimiento-detalle__subtitle{margin:0}.finanzas-movimiento-detalle__type{color:var(--ink);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700}.finanzas-movimiento-detalle__subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.finanzas-movimiento-detalle__list{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.finanzas-movimiento-detalle__field{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.finanzas-movimiento-detalle__field dt{flex:0 0 auto;color:var(--text-secondary);font-size:var(--font-size-xs)}.finanzas-movimiento-detalle__field dd{min-width:0;margin:0;color:var(--ink);font-size:var(--font-size-sm);overflow-wrap:anywhere;text-align:right}
