:root{--color-bg: #0B0E14;--color-surface: #141923;--color-surface-elevated: #1C2230;--color-surface-hover: #232A3A;--color-border: rgba(255, 255, 255, .08);--color-overlay: rgba(7, 9, 14, .72);--color-text: #F2F4F8;--color-text-muted: #9AA3B5;--color-text-subtle: #69728A;--color-text-inverse: #0B0E14;--color-primary: #6D7BF5;--color-primary-soft: #4F5BD5;--color-primary-bg: rgba(109, 123, 245, .13);--color-primary-wash: rgba(109, 123, 245, .07);--color-pro: #D6B25E;--color-pro-hi: #FBE39A;--color-pro-bg: rgba(214, 178, 94, .14);--color-admin: #6D7BF5;--color-admin-dark: #4F5BD5;--color-admin-bg: rgba(109, 123, 245, .14);--color-resident: #38BDF8;--color-resident-bg: rgba(56, 189, 248, .14);--color-guard: #34D399;--color-guard-bg: rgba(52, 211, 153, .14);--color-success: #34D399;--color-success-bg: rgba(52, 211, 153, .14);--color-error: #EF4444;--color-error-dark: #DC2626;--color-error-bg: rgba(239, 68, 68, .13);--color-warning: #FBBF24;--color-warning-bg: rgba(251, 191, 36, .14);--color-info: #818CF8;--color-info-bg: rgba(129, 140, 248, .14);--alpha-white-04: rgba(255, 255, 255, .04);--alpha-white-06: rgba(255, 255, 255, .06);--alpha-white-08: rgba(255, 255, 255, .08);--alpha-white-10: rgba(255, 255, 255, .1);--alpha-white-12: rgba(255, 255, 255, .12);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-elevated: 0 8px 28px rgba(0, 0, 0, .45);--font-3xs: .6rem;--font-2xs: .7rem;--font-xs: .75rem;--font-sm: .8rem;--font-base: .85rem;--font-md: .9rem;--font-lg: .95rem;--font-xl: 1rem;--font-2xl: 1.1rem;--font-3xl: 1.25rem;--font-4xl: 1.5rem;--font-5xl: 2rem;--font-6xl: 2.5rem;--font-7xl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--z-header: 10;--z-modal: 9999;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);background-image:radial-gradient(ellipse at 50% 0%,rgba(109,123,245,.05) 0%,transparent 60%);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;gap:var(--space-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-admin);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));background:radial-gradient(ellipse at top,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(109,123,245,.05) 0%,transparent 50%),var(--color-bg)}.auth-card{width:100%;max-width:400px;background:none;border:none;padding:0}.auth-header{text-align:center;margin-bottom:var(--space-2xl)}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0 auto var(--space-lg);border-radius:var(--radius-xl);background:var(--color-primary-bg);color:var(--color-primary)}.auth-logo .inquora-mark{color:var(--color-text)}.auth-header h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-xs)}.auth-header p{color:var(--color-text-muted);font-size:.95rem}.auth-form .btn-primary{width:100%;padding:15px;font-size:1rem;font-weight:600;margin-top:var(--space-sm)}.lang-switcher--auth{position:fixed;top:calc(env(safe-area-inset-top) + var(--space-sm));right:var(--space-lg);z-index:5;margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.form-group input{padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:1rem;transition:border-color var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-admin);box-shadow:0 0 0 3px #6d7bf51a}.form-group input::placeholder{color:var(--color-text-subtle)}.code-input{font-variant-numeric:tabular-nums;font-size:1.25rem!important;text-align:center;letter-spacing:2px;text-transform:uppercase}.btn-primary{padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--color-admin),var(--color-admin-dark));border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 12px #6d7bf54d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-sm) var(--space-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:active{background:#ffffff14;color:var(--color-text);border-color:#ffffff26}.btn-link{background:none;border:none;color:var(--color-admin);cursor:pointer;font-size:.9rem}.btn-link:active{text-decoration:underline}.btn-link-small{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.8rem}.btn-link-small:active{color:var(--color-text)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:1.1rem}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:var(--space-xs);opacity:.7;transition:opacity var(--transition-fast)}.btn-icon:active{opacity:1}.error-message{padding:var(--space-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:.9rem;text-align:center}.success-message{padding:var(--space-md);background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);color:var(--color-success);font-size:.9rem;text-align:center}.auth-footer{margin-top:var(--space-lg);text-align:center}.password-field{position:relative}.password-field input{width:100%;padding:var(--space-md);padding-right:3rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:1rem;transition:border-color var(--transition-fast)}.password-field input:focus{outline:none;border-color:var(--color-admin);box-shadow:0 0 0 3px #6d7bf51a}.password-field input::placeholder{color:var(--color-text-subtle)}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-subtle);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color var(--transition-fast)}.password-toggle:active{color:var(--color-text)}.password-hints{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-top:2px}.password-hint{font-size:.72rem;color:var(--color-text-subtle);transition:color var(--transition-fast)}.password-hint.valid{color:var(--color-success)}.password-hint.error{color:var(--color-error)}.terms-checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:.85rem;color:var(--color-text-muted);cursor:pointer;line-height:1.5}.terms-checkbox input[type=checkbox]{margin-top:4px;accent-color:var(--color-admin);width:16px;height:16px;flex-shrink:0;cursor:pointer}.terms-checkbox a{color:var(--color-admin);text-decoration:none}.terms-checkbox a:active{text-decoration:underline}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:-4px}.btn-forgot{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;padding:0}.btn-forgot:active{color:var(--color-admin);text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{font-size:.8rem;color:var(--color-text-subtle);white-space:nowrap}.social-buttons{display:flex;gap:var(--space-md)}.btn-social{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.btn-social:active:not(:disabled){border-color:var(--color-text-subtle);background:var(--color-border)}.btn-social:disabled{opacity:.45;cursor:not-allowed}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));z-index:var(--z-modal);animation:authFadeIn .2s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;animation:authSlideUp .3s ease}@keyframes authSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal__icon{font-size:3.5rem;margin-bottom:var(--space-md)}.auth-modal h2{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-md);color:var(--color-success)}.auth-modal p{color:var(--color-text-muted);font-size:.9rem;line-height:1.6;margin-bottom:var(--space-xl)}.auth-modal p strong{color:var(--color-text)}.onboarding-options{display:flex;flex-direction:column;gap:var(--space-md)}.onboarding-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast);font-family:inherit;color:var(--color-text);width:100%}.onboarding-card:active{border-color:var(--color-admin);background:#6d7bf50d;transform:scale(.97);box-shadow:0 4px 16px #0003}.onboarding-card__icon{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.onboarding-card__text{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.onboarding-card__text strong{font-size:1rem;font-weight:600}.onboarding-card__text span{font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.onboarding-card__arrow{font-size:1.2rem;color:var(--color-text-subtle);flex-shrink:0;transition:transform var(--transition-fast)}.onboarding-card:active .onboarding-card__arrow{transform:translate(3px);color:var(--color-admin)}.user-info-mini{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);font-size:.85rem;color:var(--color-text-muted)}.code-preview{padding:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:.9rem}.code-preview p{margin-bottom:var(--space-xs)}.validating{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.dashboard{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:#16161fd1;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 12px #0000004d;position:sticky;top:0;z-index:var(--z-header)}.header-left{display:flex;align-items:center;gap:var(--space-md)}.header-left h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#a0a0c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:var(--space-md)}.user-name{color:var(--color-text-muted);font-size:.85rem;font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:6px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast)}.btn-icon:active{background:#ffffff0f;color:var(--color-text)}.dashboard-tabs{display:flex;gap:var(--space-xs);padding:var(--space-md) var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.tab{padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.tab:active{background:var(--color-surface-elevated);color:var(--color-text)}.tab.active{background:var(--color-admin-bg);color:var(--color-admin)}.dashboard-content{flex:1;padding:var(--space-xl) var(--space-xl) var(--space-2xl);max-width:1200px;margin:0 auto;width:100%}.card{background:linear-gradient(180deg,rgba(26,26,36,.8) 0%,var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-lg);box-shadow:0 1px 2px #00000040,0 4px 8px #00000026,0 8px 24px #0000001a,0 0 1px #ffffff0d inset}.card h2{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);letter-spacing:-.01em}.welcome-bar{display:flex;align-items:center;gap:var(--space-sm);padding:0;background:none;border:none;margin:var(--space-xs) 0 2px}.welcome-bar__icon{display:flex;color:var(--color-primary)}.welcome-bar__text{font-size:1.6rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.generate-card{text-align:center}.generate-card p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.role-selector{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.role-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);min-width:0}.role-btn:active{border-color:var(--color-text-subtle)}.role-btn.selected.resident{border-color:var(--color-resident);background:var(--color-resident-bg)}.role-btn.selected.guard{border-color:var(--color-guard);background:var(--color-guard-bg)}.role-btn.selected.admin{border-color:var(--color-admin);background:var(--color-admin-bg)}.generated-code{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-surface-elevated);border-radius:var(--radius-md)}.code-display{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:var(--space-sm);margin:var(--space-md) 0}.code-display code{font-variant-numeric:tabular-nums;font-size:clamp(.95rem,5.2vw,1.5rem);color:var(--color-admin);letter-spacing:1px;white-space:nowrap}.code-hint{font-size:.85rem;color:var(--color-text-muted)}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-size:var(--font-2xs);font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.06em;background:var(--color-surface-elevated);padding-top:10px;padding-bottom:10px}.data-table td{font-size:.88rem;color:var(--color-text)}.data-table tbody tr:last-child td{border-bottom:none}.fee-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.fee-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.fee-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.fee-card__apt{display:inline-flex;align-items:center;gap:6px;font-size:1rem;font-weight:700;color:var(--color-text)}.fee-card__status{display:inline-flex;align-items:center;gap:var(--space-sm)}.fee-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-md)}.fee-card__cell{display:flex;flex-direction:column;gap:1px;min-width:0}.fee-card__label{font-size:var(--font-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle)}.fee-card__value{font-size:.92rem;font-weight:600;color:var(--color-text)}.fee-card__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.fee-card__actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px}.fee-cards__total{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-muted)}.screen-head{padding:var(--space-md) 0 var(--space-lg)}.screen-head__label{font-size:var(--font-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-subtle);margin-bottom:6px}.screen-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.screen-head__title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text);margin:0}.screen-head__desc{margin:var(--space-sm) 0 0;font-size:.92rem;line-height:1.45;color:var(--color-text-muted)}.screen-head__action{width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:var(--color-primary);color:#fff;cursor:pointer}.screen-head__action:active{background:var(--color-primary-soft)}.flat-list{display:flex;flex-direction:column}.flat-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:14px 0;text-align:left;font-family:inherit;background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer}.flat-row:last-child{border-bottom:none}.flat-row:active{opacity:.55}.flat-row__icon{width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-muted)}.flat-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.flat-row__title{font-size:1.02rem;font-weight:600;color:var(--color-text)}.flat-row__sub{font-size:.82rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flat-row__trailing{display:inline-flex;align-items:center;gap:var(--space-sm);flex-shrink:0;color:var(--color-text-subtle)}.flat-row__tag{font-size:var(--font-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle)}.flat-row--static{cursor:default}.flat-row--static:active{opacity:1}.flat-row__del{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;color:var(--color-text-subtle)}.flat-row__del:active{background:var(--color-error-bg);color:var(--color-error)}.data-table code{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--color-text-muted)}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-xl)}.status{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}.status.active{background:var(--color-success);color:var(--color-text-inverse)}.status.used{background:var(--color-text-subtle);color:var(--color-surface)}.badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-admin{background:var(--color-admin-bg);color:var(--color-admin)}.badge-resident{background:var(--color-resident-bg);color:var(--color-resident)}.badge-guard{background:var(--color-guard-bg);color:var(--color-guard)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.info-item{display:flex;flex-direction:column;gap:var(--space-xs)}.info-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.service-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-surface-elevated);border-radius:var(--radius-md);text-align:center;transition:all var(--transition-fast)}.service-item:not(.disabled):active{transform:scale(.97);box-shadow:0 4px 12px #0003}.service-item.disabled{opacity:.5}.service-icon{font-size:2rem}.service-name{font-weight:500}.service-status{font-size:.75rem;color:var(--color-text-subtle)}@media (max-width: 768px){.dashboard-header{padding-left:var(--space-lg);padding-right:var(--space-lg);gap:var(--space-sm)}.header-right{gap:var(--space-sm)}.user-name{display:none}.dashboard-tabs{overflow-x:auto;justify-content:flex-start}.role-selector{flex-wrap:wrap}}.expenses-container,.expenses-header{display:flex;flex-direction:column;gap:var(--space-lg)}.expenses-title h2{font-size:1.5rem;font-weight:600;margin:0}.expenses-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:var(--space-xs)}.expenses-controls{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:flex-end;justify-content:space-between}.month-selector{display:flex;flex-direction:column;gap:var(--space-xs)}.month-selector label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.month-input{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:inherit;cursor:pointer;transition:border-color var(--transition-fast)}.month-input:active,.month-input:focus{border-color:var(--color-admin);outline:none}.expenses-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center}.actions-group{display:flex;gap:var(--space-sm);align-items:center}.actions-group--state{padding-left:var(--space-md);border-left:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid transparent;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.btn-primary{background:linear-gradient(135deg,var(--color-admin),var(--color-admin-dark));color:var(--color-text-inverse);border-color:transparent}.btn.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 12px #6d7bf54d}.btn.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text);border-color:var(--color-border)}.btn.btn-secondary:active:not(:disabled){background:var(--color-border);border-color:var(--color-text-subtle)}.btn.btn-warning{background:linear-gradient(135deg,#ffaa00f2,#ff7800eb);color:#111;border-color:#ffaa0040}.btn.btn-warning:active:not(:disabled){filter:brightness(1.05);transform:scale(.97)}.btn.btn-outline-danger{background:transparent;color:var(--color-error);border-color:#ef444466}.btn.btn-outline-danger:active:not(:disabled){background:#ef44441a;border-color:var(--color-error)}.btn.btn-danger-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent;font-size:.8rem;padding:var(--space-xs) var(--space-sm)}.btn.btn-danger-ghost:active:not(:disabled){color:var(--color-error);background:#ef444414}.btn.btn-danger{background:linear-gradient(135deg,var(--color-error),var(--color-error-dark));color:#fff;border-color:transparent}.btn.btn-danger:active:not(:disabled){filter:brightness(1.1);transform:scale(.97)}.btn.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.btn.btn-ghost:active:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text)}@media (max-width: 900px){.expenses-actions{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.actions-group{justify-content:center}.actions-group--state{padding-left:0;padding-top:var(--space-sm);border-left:none;border-top:1px solid var(--color-border)}}@media (max-width: 500px){.actions-group{flex-direction:column;width:100%}.actions-group .btn{width:100%}}.expenses-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.expenses-table,.charges-table{width:100%;border-collapse:collapse}.expenses-table th,.expenses-table td,.charges-table th,.charges-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border)}.expenses-table th,.charges-table th{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--color-surface)}.text-right{text-align:right!important}.text-center{text-align:center!important}.table-input,.table-select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit;transition:all var(--transition-fast)}.table-input:active:not(:disabled),.table-select:active:not(:disabled){border-color:var(--color-text-subtle)}.table-input:focus,.table-select:focus{border-color:var(--color-admin);outline:none;box-shadow:0 0 0 2px #6d7bf51a}.table-input:disabled,.table-select:disabled{opacity:.7;cursor:not-allowed}.input-readonly{background:var(--color-surface);border-color:transparent}.input-money{width:120px;text-align:right;font-variant-numeric:tabular-nums}.badge-fixed{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.apartment-number{font-weight:600;font-size:1rem;color:var(--color-text)}.amount{font-variant-numeric:tabular-nums;font-weight:600;font-size:1rem;color:var(--color-admin)}.status-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#8888a026;color:var(--color-text-muted)}.status-declared{background:#3b82f626;color:var(--color-resident)}.status-approved{background:#10b98126;color:var(--color-success)}.status-rejected{background:var(--color-error-bg);color:var(--color-error)}.status-partial,.badge--partial{background:#f59e0b26;color:#f59e0b}.fee-t__missing,.fee-card2__fig--missing{display:block;font-size:.72rem;color:#f59e0b;font-weight:600}.fee-card2__fig--missing{display:inline}.fee-kpi__value--partial{color:#f59e0b}.resident-partial-note{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28);color:#f59e0b;font-size:.82rem;font-weight:600;text-align:center}.action-buttons{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.btn-approve,.btn-reject{padding:var(--space-xs) var(--space-md);border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-approve{background:var(--color-success);color:var(--color-text-inverse)}.btn-approve:active:not(:disabled){background:#0d9668;transform:scale(.97)}.btn-reject{background:var(--color-error);color:#fff}.btn-reject:active:not(:disabled){background:var(--color-error-dark);transform:scale(.97)}.btn-approve:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-delete{padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all var(--transition-fast)}.btn-delete:active:not(:disabled){background:#ef44441a;border-color:var(--color-error)}.btn-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-subtle);cursor:pointer;transition:all var(--transition-fast)}.btn-delete-icon:active:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.btn-delete-icon:disabled{opacity:.4;cursor:not-allowed}.no-action{color:var(--color-text-subtle);font-size:1.2rem}.empty-row{text-align:center;padding:var(--space-xl)!important;color:var(--color-text-muted)}.expenses-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;color:var(--color-text-muted)}.expenses-empty-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}@media (max-width: 768px){.expenses-controls{flex-direction:column;align-items:stretch}.expenses-actions{justify-content:stretch}.expenses-actions button{flex:1}.expenses-table th,.expenses-table td,.charges-table th,.charges-table td{padding:var(--space-sm)}.input-money{width:100px}.action-buttons{flex-direction:column}.btn-approve,.btn-reject{width:100%}}.resident-dashboard{background:linear-gradient(180deg,var(--color-bg) 0%,#0d0d14 100%);min-height:100vh;min-height:100dvh}.resident-welcome{background:linear-gradient(135deg,var(--color-resident-bg) 0%,rgba(59,130,246,.05) 100%);border:1px solid rgba(59,130,246,.2);position:relative;overflow:hidden}.resident-welcome:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);pointer-events:none}.welcome-content{display:flex;align-items:center;gap:var(--space-lg);position:relative;z-index:1}.welcome-icon{font-size:3rem;flex-shrink:0}.welcome-text h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--space-xs);color:var(--color-text)}.welcome-text p{color:var(--color-text-muted);font-size:.95rem;margin:0}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.06)}.card-header h2{font-size:1.1rem;font-weight:700;margin:0;letter-spacing:-.01em}.resident-info-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:0 2px;font-size:.82rem;color:var(--color-text-muted);background:none;border:none;margin:0 0 var(--space-xl)}.resident-info-bar__item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.resident-info-bar__sep{opacity:.3;font-weight:700}.resident-info-bar__apt{font-weight:700;color:var(--color-resident)}.expenses-card{background:var(--color-surface)}.expenses-wrapper{margin:0 calc(var(--space-xl) * -1);margin-bottom:calc(var(--space-xl) * -1)}.services-card{background:var(--color-surface)}.coming-soon-tag{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md)}.service-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;transition:all var(--transition-fast);cursor:pointer}.service-item:not(.disabled):active{transform:scale(.97);border-color:var(--color-resident);box-shadow:0 8px 24px #3b82f626}.service-item.disabled{opacity:.5;cursor:not-allowed}.service-icon{font-size:2rem;margin-bottom:var(--space-xs)}.service-name{font-weight:600;font-size:.9rem;color:var(--color-text)}.service-status{font-size:.7rem;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.welcome-content{flex-direction:column;text-align:center}.welcome-icon{font-size:2.5rem}.resident-info{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr)}.card-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}.resident-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}@media (max-width: 1024px){.resident-two-columns{grid-template-columns:1fr}}.building-status-card{display:flex;flex-direction:column}.bstatus{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0}.bstatus-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;min-height:200px}.bstatus-loading{color:var(--color-text-muted);gap:var(--space-md)}.bstatus-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-resident);border-radius:50%;animation:spin .8s linear infinite}.bstatus-error{background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-error);gap:var(--space-sm)}.bstatus-error-icon{font-size:1.5rem}.bstatus-error-text{font-size:.9rem}.bstatus-empty{color:var(--color-text-muted);gap:var(--space-sm)}.bstatus-empty-icon{font-size:2.5rem;opacity:.4}.bstatus-empty p{margin:0;font-size:.95rem}.bstatus-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.bstatus-kpi{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md) var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;min-height:80px;transition:border-color var(--transition-fast)}.bstatus-kpi:active{border-color:var(--color-text-subtle)}.bstatus-kpi__value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.bstatus-kpi__label{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-xs)}.bstatus-kpi--ok .bstatus-kpi__value{color:var(--color-success)}.bstatus-kpi--ok{border-color:#10b9814d;background:#10b9810d}.bstatus-kpi--pending .bstatus-kpi__value{color:var(--color-warning)}.bstatus-kpi--pending{border-color:#6d7bf54d;background:#6d7bf50d}.bstatus-kpi--debt .bstatus-kpi__value{color:var(--color-error);font-size:1.1rem}.bstatus-kpi--debt{border-color:#ef44444d;background:#ef44440d}.bstatus-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.bstatus-table{width:100%;border-collapse:collapse;font-size:.875rem}.bstatus-th{padding:var(--space-sm) var(--space-md);text-align:left;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--color-surface);border-bottom:1px solid var(--color-border);white-space:nowrap}.bstatus-th--right{text-align:right}.bstatus-row:active{background:#ffffff05}.bstatus-row:not(:last-child) .bstatus-td{border-bottom:1px solid var(--color-border)}.bstatus-row--me{background:#3b82f614!important;position:relative}.bstatus-row--me:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-resident)}.bstatus-td{padding:var(--space-sm) var(--space-md);vertical-align:middle}.bstatus-td--right{text-align:right}.bstatus-td--dpto{display:flex;align-items:center;gap:var(--space-sm)}.bstatus-td--money{white-space:nowrap}.bstatus-dpto-number{font-weight:600;font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--color-text)}.bstatus-badge-me{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;background:var(--color-resident);color:#fff;font-size:.6rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.bstatus-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.bstatus-badge--ok{background:#10b98126;color:var(--color-success)}.bstatus-badge--pending{background:#8888a026;color:var(--color-text-muted)}.bstatus-badge--debt{background:var(--color-error-bg);color:var(--color-error)}.bstatus-currency{font-size:.75rem;color:var(--color-text-muted);margin-right:2px}.bstatus-amount{font-variant-numeric:tabular-nums;font-weight:500;color:var(--color-text)}.bstatus-amount--debt{color:var(--color-error);font-weight:600}.bstatus-no-debt{color:var(--color-text-subtle);font-size:1rem}.bstatus-footer{display:flex;align-items:center;gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.bstatus-footer__icon{font-size:.85rem}.bstatus-footer__text{font-size:.75rem;color:var(--color-text-subtle)}@media (max-width: 600px){.bstatus-kpis{grid-template-columns:1fr;gap:var(--space-xs)}.bstatus-kpi{flex-direction:row;justify-content:space-between;padding:var(--space-sm) var(--space-md);min-height:auto}.bstatus-kpi__value{font-size:1.1rem}.bstatus-kpi__label{margin-top:0}.bstatus-kpi--debt .bstatus-kpi__value{font-size:1rem}.bstatus-th,.bstatus-td{padding:var(--space-xs) var(--space-sm);font-size:.8rem}.bstatus-th{font-size:.65rem}.bstatus-dpto-number{font-size:.85rem}.bstatus-badge{padding:3px 6px;font-size:.6rem}.bstatus-badge-me{font-size:.55rem;padding:2px 4px}}.apt-field{display:flex;flex-direction:column;gap:var(--space-xs)}.apt-field__row{display:flex;gap:var(--space-sm);align-items:center}.apt-field__input{width:80px;padding:var(--space-sm) var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-variant-numeric:tabular-nums;text-align:center;font-weight:600;letter-spacing:1px;transition:all var(--transition-fast)}.apt-field__input:focus{outline:none;border-color:var(--color-admin)}.apt-field__input::placeholder{color:var(--color-text-subtle);font-family:var(--font-sans),sans-serif;font-weight:400;font-size:.7rem;letter-spacing:0}.apt-field__input--assigned{background:linear-gradient(135deg,#10b98133,#10b9811a);border:2px solid var(--color-success);color:var(--color-success);font-weight:700;font-size:1rem}.apt-field__input--assigned:disabled{opacity:1;cursor:default}.apt-field__btn{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-width:70px}.apt-field__btn--save{background:linear-gradient(135deg,var(--color-admin),var(--color-admin-dark));border:none;color:var(--color-text-inverse)}.apt-field__btn--save:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 8px #6d7bf54d}.apt-field__btn--save:disabled{opacity:.6;cursor:not-allowed}.apt-field__btn--edit{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text)}.apt-field__btn--edit:active{background:var(--color-border)}.apt-field__error{font-size:.7rem;color:var(--color-error);max-width:180px;line-height:1.3}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.users-table th{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.users-table td{font-size:.85rem}.users-table .col-actions{text-align:right;min-width:180px}.users-table .user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}.user-actions .btn{padding:6px 10px;font-size:.7rem;white-space:nowrap;border-radius:var(--radius-sm)}.user-actions .btn-danger{background:var(--color-error-bg);border:1px solid rgba(239,68,68,.4);color:var(--color-error)}.user-actions .btn-danger:active{background:#ef444440}@media (max-width: 1100px){.users-table .col-hide-md{display:none}}@media (max-width: 768px){.users-table .col-hide-sm{display:none}.user-actions{flex-direction:column;gap:4px}}.expenses-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-lg)}.expenses-summary__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.expenses-summary__icon{font-size:1.25rem}.expenses-summary__title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.expenses-summary__content{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.expenses-summary__label{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.expenses-summary__value{display:flex;align-items:baseline;gap:var(--space-xs)}.expenses-summary__currency{font-size:1rem;color:var(--color-text-muted);font-weight:500}.expenses-summary__amount{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;color:var(--color-admin);line-height:1}@media (max-width: 600px){.expenses-summary{padding:var(--space-md)}.expenses-summary__content{flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md)}.expenses-summary__value{width:100%;justify-content:flex-end}.expenses-summary__amount{font-size:1.5rem}}.coeff-distribution{margin-top:var(--space-lg)}.coeff-distribution__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.coeff-distribution__search{flex:1;min-width:180px;max-width:300px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.coeff-distribution__search:focus{outline:none;border-color:var(--color-admin);box-shadow:0 0 0 2px #2563eb1a}.coeff-distribution__total{font-size:.875rem;font-weight:600;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.coeff-distribution__total--ok{background:#22c55e1a;color:var(--color-success, #16a34a)}.coeff-distribution__total--warn{background:#6d7bf51a;color:var(--color-warning, var(--color-admin-dark))}.coeff-bar{width:100%;max-width:120px;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden;margin-left:auto}.coeff-bar__fill{height:100%;background:var(--color-admin);border-radius:4px;transition:width .2s ease}.coeff-distribution__pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.coeff-distribution__page-info{font-size:.85rem;color:var(--color-text-muted)}@media (max-width: 600px){.coeff-distribution__toolbar{flex-direction:column;align-items:stretch}.coeff-distribution__search{max-width:none}.coeff-bar{max-width:80px}}.reopen-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:18px;z-index:var(--z-modal)}.reopen-modal{width:min(520px,100%);border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#121218f5;box-shadow:0 18px 60px #0000008c;overflow:hidden}.reopen-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.reopen-modal__title{font-size:15px;font-weight:800;letter-spacing:.2px}.reopen-modal__close{border:0;background:transparent;color:#ffffffbf;font-size:16px;cursor:pointer;padding:6px 8px;border-radius:10px}.reopen-modal__close:active{background:#ffffff0f;color:#ffffffeb}.reopen-modal__body{padding:14px 16px 6px}.reopen-modal__warning{border:1px solid rgba(255,77,79,.25);background:#ff4d4f14;border-radius:14px;padding:12px;color:#ffffffeb;font-size:13px;line-height:1.35}.reopen-modal__ack{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none}.reopen-modal__ack input{margin-top:3px}.reopen-modal__ack span{font-size:13px;font-weight:700;color:#ffffffe0}.reopen-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px 14px;border-top:1px solid rgba(255,255,255,.08)}.btn.btn-warning{background:linear-gradient(135deg,#ffaa00f2,#ff7800eb);border:1px solid rgba(255,170,0,.25);color:#111;font-weight:800}.btn.btn-warning:active{filter:brightness(1.05)}.btn.btn-warning:disabled{opacity:.55;cursor:not-allowed;filter:none}.generated-code{margin-top:var(--space-xl);padding:var(--space-lg);background:linear-gradient(135deg,#10b98114,#3b82f614);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-lg);text-align:center;animation:fadeInUp .3s ease-out}.generated-code>p:first-child{font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-md);font-weight:500}.code-display{display:inline-flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface-elevated);border:2px solid var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.code-display code{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;letter-spacing:3px;color:var(--color-success);text-transform:uppercase;-webkit-user-select:all;user-select:all}.code-display .btn-icon{font-size:1.5rem;padding:var(--space-sm);background:#10b9811a;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.code-display .btn-icon:active{background:#10b98133;transform:scale(1.1)}.code-hint{font-size:.8rem;color:var(--color-text-subtle);margin-top:var(--space-sm)}@media (max-width: 480px){.generated-code{padding:var(--space-md)}.code-display{flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.code-display code{font-size:1.25rem;letter-spacing:2px}}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--color-error);color:#fff;font-size:.65rem;font-weight:700;border-radius:9px;line-height:1}.tab-icon{margin-right:4px}.apt-manager{display:flex;flex-direction:column;gap:var(--space-md)}.apt-coeff-banner{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;text-align:center}.apt-coeff-banner--ok{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.apt-coeff-banner--warn{background:#6d7bf51a;border:1px solid rgba(109,123,245,.3);color:var(--color-warning)}.apt-add-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.apt-add-input{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit;width:140px}.apt-add-input--coeff{width:100px}.apt-add-input:focus{outline:none;border-color:var(--color-admin)}.apt-batch-form{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.apt-batch-form h4{font-size:1rem;font-weight:600;margin:0}.apt-batch-fields{display:flex;gap:var(--space-md);flex-wrap:wrap}.apt-batch-field{display:flex;flex-direction:column;gap:var(--space-xs);min-width:120px}.apt-batch-field label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.apt-batch-field input{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.apt-batch-field input:focus{outline:none;border-color:var(--color-admin)}.apt-table .apt-row-inactive td{opacity:.5}.apt-coeff-edit{display:flex;gap:var(--space-xs);align-items:center;justify-content:flex-end}.apt-coeff-input{width:70px;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;text-align:right}.apt-coeff-input:focus{outline:none;border-color:var(--color-admin)}.apt-coeff-display{cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.apt-coeff-display:active{background:var(--color-surface-elevated)}.apt-user-count{font-variant-numeric:tabular-nums;font-weight:600}.apt-actions{display:flex;gap:var(--space-xs);justify-content:center;flex-wrap:wrap}.btn-sm{min-height:36px;padding:6px 12px!important;font-size:.75rem!important}.apt-field__select{width:100px;padding:var(--space-sm) var(--space-xs);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.apt-field__select:focus{outline:none;border-color:var(--color-admin)}.apt-field__select.apt-field__input--assigned{background:linear-gradient(135deg,#10b98133,#10b9811a);border:2px solid var(--color-success);color:var(--color-success)}.category-editor{display:flex;flex-direction:column;gap:var(--space-md)}.category-editor__hint{color:var(--color-text-muted);font-size:.85rem}.category-add-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-top:var(--space-sm)}.category-add-input{flex:1;min-width:150px;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.category-add-input:focus{outline:none;border-color:var(--color-admin)}.category-add-row select{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.notices-module{display:flex;flex-direction:column;gap:var(--space-md)}.notices-admin-actions,.notices-resident-actions{display:flex;justify-content:flex-end}.notices-form{animation:fadeInUp .2s ease-out}.notices-form h3{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-md)}.notices-form__fields{display:flex;flex-direction:column;gap:var(--space-md)}.notices-form__title-input{width:100%;padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:inherit;font-weight:600}.notices-form__title-input:focus{outline:none;border-color:var(--color-admin)}.notices-form__body-input{width:100%;padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px}.notices-form__body-input:focus{outline:none;border-color:var(--color-admin)}.notices-form__row{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.notices-form__row select{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.notices-form__pin{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;color:var(--color-text-muted);cursor:pointer}.notices-form__pin input{accent-color:var(--color-admin)}.notices-list{display:flex;flex-direction:column;gap:var(--space-sm)}.notice-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);cursor:pointer;transition:all var(--transition-fast)}.notice-card:active{border-color:var(--color-text-subtle)}.notice-card--unread{border-left:3px solid var(--color-resident);background:#3b82f60a}.notice-card--pinned{border-color:#6d7bf54d;background:#6d7bf50a}.notice-card--expanded{border-color:var(--color-text-subtle)}.notice-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.notice-card__left{display:flex;align-items:center;gap:var(--space-sm)}.notice-pin{font-size:.85rem}.notice-badge-new{display:inline-block;padding:2px 6px;background:var(--color-resident);color:#fff;font-size:.6rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.notice-category{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.notice-category--general{background:#8888a026;color:var(--color-text-muted)}.notice-category--expenses{background:#6d7bf526;color:var(--color-warning)}.notice-category--maintenance{background:#3b82f626;color:var(--color-resident)}.notice-category--security{background:#10b98126;color:var(--color-success)}.notice-category--urgent{background:var(--color-error-bg);color:var(--color-error)}.notice-card__date{font-size:.75rem;color:var(--color-text-subtle)}.notice-card__title{font-size:1rem;font-weight:600;margin:0 0 var(--space-xs);color:var(--color-text)}.notice-card__body{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:var(--space-sm) 0;white-space:pre-wrap}.notice-card__hint{font-size:.8rem;color:var(--color-text-subtle);font-style:italic;margin:0}.notice-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.notice-card__reads{font-size:.75rem;color:var(--color-text-subtle)}@media (max-width: 768px){.notice-card{padding:var(--space-sm) var(--space-md)}.notices-form__row{flex-direction:column;align-items:stretch}}.wizard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:calc(var(--space-lg) + env(safe-area-inset-top)) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));z-index:var(--z-modal);animation:authFadeIn .2s ease}.wizard-modal{width:100%;max-width:700px;max-height:90vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;animation:authSlideUp .3s ease}.wizard-modal__top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.wizard-close{background:none;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.wizard-close:active{background:var(--color-surface-elevated);color:var(--color-text)}.wizard-steps{display:flex;align-items:center;gap:0}.wizard-step-wrapper{display:flex;align-items:center}.wizard-step{display:flex;align-items:center;gap:var(--space-xs)}.wizard-step__num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--color-surface-elevated);border:2px solid var(--color-border);color:var(--color-text-muted);transition:all var(--transition-fast)}.wizard-step--active .wizard-step__num{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.wizard-step--done .wizard-step__num{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.wizard-step__label{font-size:.8rem;color:var(--color-text-subtle);white-space:nowrap}.wizard-step--active .wizard-step__label{color:var(--color-text);font-weight:600}.wizard-step--done .wizard-step__label{color:var(--color-text-muted)}.wizard-step__line{width:32px;height:2px;background:var(--color-border);margin:0 var(--space-sm)}.wizard-step__line--done{background:var(--color-success)}.wizard-body{flex:1;overflow-y:auto;padding:var(--space-xl)}.wizard-body h3{font-size:1.2rem;font-weight:600;margin-bottom:var(--space-sm)}.wizard-hint{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--space-lg);line-height:1.5}.wizard-form-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.wizard-field{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.wizard-field label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.wizard-field input{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:inherit}.wizard-field input:focus{outline:none;border-color:var(--color-admin)}.wizard-field input:disabled{opacity:.5;cursor:not-allowed}.wizard-preview{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.wizard-preview__label{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.wizard-preview__list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.wizard-preview__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.wizard-preview__item{display:inline-block;padding:2px 8px;background:var(--color-admin-bg);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-admin)}.wizard-coeff-table{max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-md)}.wizard-categories{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.wizard-category-row{display:flex;gap:var(--space-sm);align-items:center}.wizard-category-name{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.wizard-category-name:focus{outline:none;border-color:var(--color-admin)}.wizard-category-dist{padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;font-family:inherit;min-width:130px}.wizard-category-dist:focus{outline:none;border-color:var(--color-admin)}.wizard-category-add{display:flex;gap:var(--space-sm);align-items:center}.wizard-total{padding:var(--space-sm) var(--space-md);background:var(--color-admin-bg);border:1px solid rgba(109,123,245,.3);border-radius:var(--radius-sm);color:var(--color-admin);font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.wizard-editable-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.wizard-editable-item{width:64px;padding:4px 6px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:600;text-align:center;transition:border-color var(--transition-fast)}.wizard-editable-item:focus{outline:none;border-color:var(--color-admin);background:var(--color-admin-bg)}.wizard-editable-row{display:inline-flex;align-items:center;position:relative}.wizard-editable-remove{position:absolute;right:-6px;top:-6px;width:18px;height:18px;border-radius:50%;background:var(--color-error);border:none;color:#fff;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6}.wizard-rename-badge{font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;text-decoration:line-through}.wizard-new-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--color-success);background:#10b9811f;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.wizard-editable-item--new{border-color:var(--color-success)}.wizard-manual-add{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-md)}.wizard-manual-input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:inherit}.wizard-manual-input:focus{outline:none;border-color:var(--color-admin)}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border)}@media (max-width: 600px){.wizard-modal{max-height:95vh}.wizard-modal__top{padding:var(--space-md)}.wizard-step__label{display:none}.wizard-step__line{width:20px}.wizard-body{padding:var(--space-md)}.wizard-form-row{flex-direction:column;gap:var(--space-md)}.wizard-footer{padding:var(--space-md)}.wizard-category-row{flex-wrap:wrap}.wizard-category-dist{min-width:100px}}.managing-banner{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;background:#6d7bf51a;border-bottom:1px solid rgba(109,123,245,.3);color:var(--color-warning, #6D7BF5);font-size:.875rem}.managing-banner strong{color:var(--color-warning, #6D7BF5)}.pro-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:linear-gradient(135deg,#6d7bf514,#a855f714);border:1px solid rgba(109,123,245,.25);border-radius:var(--radius-md)}.pro-banner__badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,var(--color-admin),#a855f7);padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap}.pro-banner__text{font-size:.82rem;color:var(--color-text-muted);line-height:1.4}.pro-banner__text strong{color:var(--color-admin)}.plan-badge{display:inline-flex;align-items:center;gap:6px}.plan-badge__plan{padding:3px 9px;border-radius:var(--radius-sm);font-size:var(--font-3xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--alpha-white-10);color:var(--color-text-muted)}.plan-badge__plan--pro{background:var(--color-pro-bg);color:var(--color-pro-hi)}.plan-badge__status{font-size:var(--font-3xs)}.pro-banner--clickable{width:100%;text-align:left;cursor:pointer;font:inherit}.pro-banner--clickable:active{background:linear-gradient(135deg,#6d7bf524,#a855f724)}.probadge-btn,.probadge-link{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.probadge-link{text-align:left;text-decoration:underline;text-underline-offset:2px}.feature-row--locked{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:8px 16px;background:linear-gradient(135deg,#3b82f61f,#a855f71f);border-bottom:1px solid rgba(59,130,246,.2)}.trial-banner--free{width:100%;border:0;border-bottom:1px solid rgba(168,85,247,.18);cursor:pointer;font:inherit;text-align:left;justify-content:flex-start}.trial-banner__text{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--color-text)}.trial-banner__icon{color:#c084fc;flex-shrink:0}.trial-banner__cta{flex-shrink:0}.paywall-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:18px;z-index:var(--z-modal)}.paywall-modal{position:relative;width:min(440px,100%);max-height:90vh;overflow-y:auto;border-radius:18px;border:1px solid rgba(168,85,247,.25);background:#121218fa;box-shadow:0 18px 60px #0009;padding:24px 22px 20px}.paywall-modal__close{position:absolute;top:12px;right:12px;border:0;background:transparent;color:#ffffffb3;cursor:pointer;padding:6px;border-radius:10px;line-height:0}.paywall-modal__close:active{background:#ffffff14}.paywall-modal__hero{text-align:center;margin-bottom:16px}.paywall-modal__crown{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;margin-bottom:10px;color:#fff;background:linear-gradient(135deg,var(--color-admin),#a855f7);box-shadow:0 8px 24px #a855f759}.paywall-modal__badge{display:inline-block;margin-left:8px;vertical-align:middle;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--color-admin),#a855f7);padding:3px 8px;border-radius:6px}.paywall-modal__title{margin:6px 0 4px;font-size:1.3rem;font-weight:800}.paywall-modal__subtitle{margin:0;font-size:.9rem;color:var(--color-text-muted)}.paywall-modal__status{text-align:center;font-size:.82rem;color:var(--color-text-muted);margin-bottom:16px}.paywall-modal__benefits{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}.paywall-modal__benefit{display:flex;align-items:center;gap:10px;font-size:.92rem;padding:6px 10px;border-radius:10px}.paywall-modal__benefit--highlight{background:#a855f724;border:1px solid rgba(168,85,247,.3);font-weight:700}.paywall-modal__benefit-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.paywall-modal__actions{display:flex;flex-direction:column;gap:8px}.paywall-modal__cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.paywall-modal__secondary{width:100%}.paywall-modal__note{margin:0;font-size:.75rem;color:var(--color-text-secondary, rgba(255, 255, 255, .55));text-align:center}.building-list{display:flex;flex-direction:column;gap:var(--space-sm)}.building-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-left:3px solid var(--color-admin);border-radius:var(--radius-md);transition:all var(--transition-fast)}.building-list__item:active{border-color:#6d7bf566;border-left-color:var(--color-admin);background:#6d7bf50a;box-shadow:0 2px 12px #00000026}.building-list__info{display:flex;flex-direction:column;gap:2px;min-width:0}.building-list__name{font-size:1rem;font-weight:600;color:var(--color-text)}.building-list__address{font-size:.8rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-list__actions{display:flex;gap:var(--space-xs);flex-shrink:0;flex-wrap:wrap}@media (max-width: 480px){.building-list__item{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.building-list__actions{width:100%}.building-list__actions .btn{flex:1 1 calc(50% - var(--space-xs));white-space:nowrap}}.resident-building-card__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.resident-building-card__icon{font-size:1.8rem;line-height:1}.resident-building-card__name{font-size:1.15rem;font-weight:700;margin:0}.resident-building-card__address{font-size:.8rem;color:var(--color-text-muted)}.resident-payment-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:border-color var(--transition-fast)}.resident-payment-summary:active{border-color:var(--color-primary)}.resident-payment-summary__info{display:flex;flex-direction:column;gap:2px}.resident-payment-summary__label{font-size:.8rem;color:var(--color-text-muted);text-transform:capitalize}.resident-payment-summary__amount{font-size:1.25rem;font-weight:700}.resident-payment-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge--success{background:#22c55e26;color:var(--color-success)}.badge--warning{background:#6d7bf526;color:#6d7bf5}.badge--danger{background:var(--color-error-bg);color:var(--color-error)}.badge--pending{background:#ffffff14;color:#fff9}.tracking-status-select{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:.8rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.tracking-status-select.badge--success{background:#22c55e26;color:var(--color-success);border-color:#22c55e4d}.tracking-status-select.badge--danger{background:var(--color-error-bg);color:var(--color-error);border-color:#ef44444d}.tracking-status-select.badge--pending{background:#ffffff14;color:#fff9;border-color:#ffffff26}.tracking-status-select:disabled{opacity:.5;cursor:not-allowed}.resident-expense-detail{padding:14px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.resident-expense-detail__title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-weight:600;font-size:.95rem;margin-bottom:10px}.resident-breakdown-table-wrap{overflow-x:auto;margin:0 -4px}.resident-breakdown-table{width:100%;border-collapse:collapse;font-size:.82rem}.resident-breakdown-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle);padding:6px 8px;border-bottom:1px solid var(--color-border);font-weight:600}.resident-breakdown-table td{padding:6px 8px;color:var(--color-text-muted);border-bottom:1px solid rgba(255,255,255,.04)}.resident-breakdown-table__dist{color:var(--color-text-subtle);font-size:.78rem}.resident-breakdown-table tfoot td{border-bottom:none;padding-top:8px}.resident-breakdown-table__total td{font-weight:700;color:var(--color-text);font-size:.88rem}.resident-expense-breakdown{display:flex;flex-direction:column;gap:4px}.resident-expense-breakdown__row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:3px 0;color:var(--color-text-muted)}.resident-expense-breakdown__row--total{font-weight:700;color:var(--color-text);font-size:.9rem}.resident-expense-breakdown__divider{height:1px;background:var(--color-border);margin:4px 0}.resident-apt-summary{margin-bottom:var(--space-sm)}.resident-apt-summary__title{font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin:0 0 8px}.resident-apt-summary__list{display:flex;flex-direction:column;gap:4px}.resident-apt-summary__row{display:flex;align-items:center;gap:var(--space-sm);padding:8px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.85rem}.resident-apt-summary__row--mine{border-color:var(--color-primary);background:#3b82f60f}.resident-apt-summary__apt{font-weight:600;min-width:70px}.resident-apt-summary__amount{flex:1;text-align:right;color:var(--color-text-muted)}.resident-section-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap}.resident-section-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;color:var(--color-text-muted);transition:all var(--transition-fast);flex:1;justify-content:center;min-width:0}.resident-section-tab:active{background:var(--color-surface-elevated);color:var(--color-text);border-color:var(--color-text-subtle)}.resident-section-tab.active{background:var(--color-admin-bg);color:var(--color-admin);border-color:var(--color-admin)}.resident-section-tab__icon{font-size:1rem;line-height:1;flex-shrink:0}@media (max-width: 400px){.resident-section-tab{padding:8px 10px;font-size:.8rem}.resident-section-tab__icon{font-size:.9rem}}.profile-manager{display:flex;flex-direction:column;gap:var(--space-md)}.profile-list{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.profile-list__item:active{border-color:var(--color-text-subtle)}.profile-list__info{display:flex;flex-direction:column;gap:2px}.profile-list__name{font-size:.9rem;font-weight:700;letter-spacing:.5px;color:var(--color-text)}.profile-list__desc{font-size:.8rem;color:var(--color-text-muted)}.profile-list__actions{display:flex;gap:var(--space-xs);flex-shrink:0}.profile-form{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);animation:fadeInUp .2s ease-out}.profile-form h3{font-size:1.1rem;font-weight:600;margin:0}.profile-form__field{display:flex;flex-direction:column;gap:var(--space-xs)}.profile-form__field label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-form__input{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;font-family:inherit}.profile-form__input:focus{outline:none;border-color:var(--color-admin)}.profile-form__actions{display:flex;gap:var(--space-sm)}.responsibility-picker{display:flex;flex-direction:column;gap:var(--space-md)}.responsibility-picker__label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.responsibility-module{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.responsibility-module__title{font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.responsibility-module__keys{display:flex;flex-direction:column;gap:var(--space-xs)}.responsibility-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;color:var(--color-text-muted);cursor:pointer}.responsibility-item input[type=checkbox]{accent-color:var(--color-admin)}.responsibility-item--locked{opacity:.7;cursor:not-allowed}.responsibility-item__auto{font-size:.7rem;color:var(--color-text-subtle);font-style:italic}.role-btn.selected{border-color:var(--color-text-subtle);background:#ffffff0d}@media (max-width: 600px){.profile-list__item{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.profile-list__actions{width:100%}.profile-list__actions .btn{flex:1}.profile-form__actions{flex-direction:column}.profile-form__actions .btn{width:100%}}.financial-summary{display:flex;flex-direction:column;gap:var(--space-lg)}.fund-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.fund-card__header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.fund-card__title{margin:0;font-size:1rem;font-weight:600}.fund-card__body{padding:var(--space-lg)}.fund-card__display{display:flex;flex-direction:column;gap:var(--space-md)}.fund-card__balance{display:flex;align-items:baseline;gap:var(--space-md)}.fund-card__label{color:var(--color-text-muted);font-size:.9rem}.fund-card__amount{font-size:1.5rem;font-weight:700;color:var(--color-text)}.fund-card__meta{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-muted);font-size:.8rem}.fund-card__date{flex:1}.fund-card__edit{display:flex;flex-direction:column;gap:var(--space-sm)}.fund-card__edit-label{color:var(--color-text-muted);font-size:.9rem}.fund-card__edit-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.monthly-history{display:flex;flex-direction:column;gap:var(--space-md)}.monthly-history__list{display:flex;flex-direction:column;gap:2px}.monthly-row{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--transition-fast)}.monthly-row--expanded{border-color:var(--color-text-subtle)}.monthly-row__header{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);border:none;background:transparent;color:var(--color-text);font-size:.9rem;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.monthly-row__header:active{background:#ffffff08}.monthly-row__toggle{font-size:.75rem;color:var(--color-text-muted);width:16px;flex-shrink:0}.monthly-row__month{font-weight:600;text-transform:capitalize;flex:1;min-width:140px}.monthly-row__stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:90px}.monthly-row__stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.monthly-detail{border-top:1px solid var(--color-border);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);background:#00000026}.monthly-detail__section{display:flex;flex-direction:column;gap:var(--space-sm)}.monthly-detail__subtitle{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.excess-positive{color:var(--color-success);font-weight:600}.excess-negative{color:var(--color-error);font-weight:600}.btn-sm{padding:4px 10px;font-size:.8rem}@media (max-width: 640px){.monthly-row__header{flex-wrap:wrap;gap:var(--space-sm)}.monthly-row__stat{min-width:70px;font-size:.8rem}.fund-card__balance{flex-direction:column;gap:var(--space-xs)}.fund-card__edit-row{flex-direction:column;align-items:stretch}.fund-card__edit-row .table-input{max-width:100%!important}}.expenses-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.expenses-toolbar__left,.expenses-toolbar__right{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.toolbar-input{padding:6px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color var(--transition-fast)}.toolbar-input:active,.toolbar-input:focus{border-color:var(--color-admin);outline:none}.toolbar-input--date{max-width:150px}.toolbar-sep{color:var(--color-border);font-size:.9rem;-webkit-user-select:none;user-select:none}.toolbar-arrow{color:var(--color-text-subtle);font-size:.8rem;-webkit-user-select:none;user-select:none}.toolbar-fund{font-size:.85rem;color:var(--color-success);white-space:nowrap}.toolbar-fund strong{font-variant-numeric:tabular-nums}.toolbar-fund--empty{color:var(--color-error)}.btn-add-concept{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:6px 14px;font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.btn-add-concept:active:not(:disabled){border-color:var(--color-admin);color:var(--color-admin)}.btn-add-concept:disabled{opacity:.4;cursor:not-allowed}.expenses-table__add-row td{padding:var(--space-sm) var(--space-md);border-top:none}.expenses-table__fund-row td{padding:var(--space-sm) var(--space-md);background:#ef44440f;color:var(--color-error);font-size:.9rem}.expenses-table__total-row td{padding:var(--space-md);background:var(--color-surface-elevated);border-top:2px solid var(--color-border)}.expenses-table__total-amount{font-variant-numeric:tabular-nums;font-size:1.25rem;color:var(--color-admin)}@media (max-width: 640px){.expenses-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.expenses-toolbar__left,.expenses-toolbar__right{justify-content:center}.toolbar-input--date{max-width:130px}}.expenses-summary__fund-line{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-sm) var(--space-lg);margin-top:var(--space-sm);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md)}.expenses-summary__fund-amount{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600;color:var(--color-error)}.expenses-summary__fund-balance{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-sm) var(--space-lg);margin-top:var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.expenses-summary__balance-value{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600;color:var(--color-success)}.expenses-summary__balance-value.balance-neg{color:var(--color-error)}.fund-audit{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-md)}.fund-audit__title{font-size:.95rem;font-weight:600;color:var(--color-text);margin:0 0 var(--space-md) 0}.fund-audit__list{display:flex;flex-direction:column;gap:var(--space-xs)}.fund-audit__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:.85rem}.fund-audit__month{color:var(--color-text-muted);font-weight:500;min-width:70px}.fund-audit__concept{flex:1;color:var(--color-text)}.fund-audit__tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#f59e0b;background:#f59e0b24;vertical-align:1px}.fund-audit__amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.fund-audit__balance{color:var(--color-text-subtle);font-size:.8rem;white-space:nowrap}@media (max-width: 600px){.fund-audit__item{flex-wrap:wrap;gap:var(--space-xs)}.fund-audit__month{min-width:auto}}.settings-page{min-height:100vh;min-height:100dvh;background:var(--color-bg);padding:0 0 calc(58px + var(--space-lg) + env(safe-area-inset-bottom))}.settings-container{max-width:560px;margin:0 auto;padding:var(--space-lg) var(--space-md) 0}.settings-topbar{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-sm);padding:calc(env(safe-area-inset-top) + var(--space-sm)) var(--space-lg) var(--space-sm);background:#16161fd1;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.06)}.settings-topbar h1{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0}.settings-back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.settings-back:active{background:var(--color-surface)}.settings-group{margin-bottom:var(--space-xl)}.settings-group__title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-sm) var(--space-xs)}.settings-group__title--danger{color:var(--color-error)}.settings-group__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-lg)}.settings-group__card--danger{border-color:#ef444440;background:#ef44440a}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-width:0;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.setting-row:last-child{border-bottom:none}.setting-row--stack{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.setting-row__main{display:flex;flex-direction:column;gap:3px;min-width:0}.setting-row__label{font-size:.95rem;font-weight:600;color:var(--color-text)}.setting-row__desc{font-size:.78rem;line-height:1.4;color:var(--color-text-muted)}.setting-row__trailing{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;min-width:0}.setting-row__value{font-size:.9rem;color:var(--color-text-muted);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-row__value--mono{font-variant-numeric:tabular-nums;font-size:.8rem}.setting-row__editbar{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.setting-row__editactions{display:flex;gap:var(--space-xs)}.setting-row__note{margin:0 0 var(--space-md)}.setting-legal{padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.setting-legal:last-child{border-bottom:none}.setting-legal h3{font-size:.9rem;font-weight:600;margin:0 0 6px}.setting-legal p{font-size:.82rem;line-height:1.5;color:var(--color-text-muted);margin:0}.settings-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.settings-header h1{font-size:1.3rem;font-weight:700;margin:0}.settings-card{margin-bottom:var(--space-md)}.settings-card h2{font-size:1rem;font-weight:700;margin:0 0 var(--space-md)}.settings-card--danger{border-color:#ef444440}.settings-card--danger h2{color:var(--color-error)}.settings-field{margin-bottom:var(--space-md)}.settings-field:last-child{margin-bottom:0}.settings-field__label{display:block;font-size:.8rem;color:var(--color-text-muted);margin-bottom:4px;font-weight:500}.settings-field__value{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:.95rem}.settings-field__edit{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-field__actions{display:flex;gap:var(--space-xs)}.settings-input{width:100%;padding:8px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.95rem;font-family:inherit}.settings-input:focus{outline:none;border-color:var(--color-primary)}.settings-legal__item{margin-bottom:var(--space-md)}.settings-legal__item:last-child{margin-bottom:0}.settings-legal__item h3{font-size:.9rem;font-weight:600;margin:0 0 6px}.settings-legal__item p{font-size:.82rem;color:var(--color-text-muted);line-height:1.5;margin:0}.receipt-attach-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm);border:1px dashed var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.receipt-attach-btn:active{border-color:var(--color-resident);color:var(--color-text)}.receipt-attach-btn--danger{border-color:#ef444466;color:var(--color-error)}.receipt-attach-btn--danger:active{border-color:var(--color-error);background:#ef444414;color:var(--color-error)}.receipt-preview{position:relative;display:inline-block;margin-top:10px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.receipt-preview__img{display:block;max-width:180px;max-height:140px;object-fit:cover}.receipt-preview__remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.receipt-preview__remove:active{background:var(--color-error)}.receipt-view-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px 4px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.receipt-view-btn:active{background:var(--color-surface-elevated)}.btn-receipt-view{background:none;border:none;cursor:pointer;font-size:.95rem;padding:2px 4px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.btn-receipt-view:active{background:var(--color-surface-elevated)}.receipt-viewer-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--color-overlay);display:flex;align-items:center;justify-content:center;padding:24px}.receipt-viewer-body{position:relative;max-width:90vw;max-height:90vh;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 8px 32px #00000080}.receipt-viewer-body__img{display:block;max-width:85vw;max-height:80vh;object-fit:contain}.receipt-viewer-actions{display:flex;justify-content:center;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border)}.warning-message{background:#6d7bf51f;border:1px solid rgba(109,123,245,.3);border-radius:var(--radius-sm);padding:8px 12px;font-size:.85rem;color:var(--color-warning)}.resident-fund-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.resident-fund-stats__item{display:flex;flex-direction:column;align-items:center;flex:1;min-width:70px}.resident-fund-stats__label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.resident-fund-stats__value{font-size:.95rem;font-weight:700;color:var(--color-text)}.resident-fund-stats__value--empty{color:var(--color-text-muted)}.resident-fund-stats__value--ok{color:var(--color-success)}.resident-fund-stats__value--warn{color:var(--color-warning)}.resident-fund-stats__value--pend{color:var(--color-text-muted)}.resident-payments-table__mine{background:#3b82f614;border-left:2px solid var(--color-resident)}.resident-payments-table__no-receipt{color:var(--color-text-subtle);font-size:.8rem}.notice-card,.fund-card,.service-item{animation:fadeInUp .35s ease both}.notice-card:nth-child(1),.fund-card:nth-child(1),.service-item:nth-child(1){animation-delay:0ms}.notice-card:nth-child(2),.fund-card:nth-child(2),.service-item:nth-child(2){animation-delay:50ms}.notice-card:nth-child(3),.fund-card:nth-child(3),.service-item:nth-child(3){animation-delay:.1s}.notice-card:nth-child(4),.fund-card:nth-child(4),.service-item:nth-child(4){animation-delay:.15s}.notice-card:nth-child(5),.fund-card:nth-child(5),.service-item:nth-child(5){animation-delay:.2s}.notice-card:nth-child(6),.fund-card:nth-child(6),.service-item:nth-child(6){animation-delay:.25s}.notice-card:nth-child(7),.fund-card:nth-child(7),.service-item:nth-child(7){animation-delay:.3s}.notice-card:nth-child(8),.fund-card:nth-child(8),.service-item:nth-child(8){animation-delay:.35s}.btn-primary:active,.btn-secondary:active,.btn.btn-ghost:active,.btn.btn-danger:active,.btn.btn-warning:active{transform:scale(.97);transition:transform 80ms ease}@media (hover: none){.notice-card:active,.service-item:active,.tab:active{transform:scale(.98);opacity:.85;transition:all 80ms ease}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dashboard-content>*{animation:contentFadeIn .2s ease-out}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.reopen-modal-backdrop{animation:modalBackdropIn .2s ease-out}.reopen-modal{animation:modalSlideUp .25s ease-out}.card{position:relative}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.01) 50%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #6d7bf51a;outline:none}.status-pending:before,.status-declared:before,.status-approved:before,.status-rejected:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.status-pending:before{background:var(--color-text-muted)}.status-declared:before{background:var(--color-resident)}.status-approved:before{background:var(--color-success)}.status-rejected:before{background:var(--color-error)}.bstatus-indicator-ok:before,.bstatus-indicator-pending:before,.bstatus-indicator-debt:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.bstatus-indicator-ok:before{background:var(--color-success)}.bstatus-indicator-pending:before{background:var(--color-text-muted)}.bstatus-indicator-debt:before{background:var(--color-error)}.badge-admin{border:1px solid rgba(109,123,245,.25)}.badge-resident{border:1px solid rgba(59,130,246,.25)}.badge-guard{border:1px solid rgba(16,185,129,.25)}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.65}}.notice-badge-new{animation:badgePulse 2s ease-in-out infinite}.amount,.bstatus-metric-value,.bstatus-debt-amount,.resident-fund-stats__value,.fund-card__balance{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.card h2,.resident-apt-summary__title{font-weight:800}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-elevated) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton--card{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.skeleton-card-wrap{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-surface)}.skeleton-table-row td{padding:var(--space-sm) var(--space-md)!important}.empty-ghost-cards{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.empty-ghost-card{padding:var(--space-lg);border:1px dashed rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff04}.empty-ghost-card .skeleton{opacity:.35;animation:shimmer 3s ease-in-out infinite}.reopen-modal-backdrop,.receipt-viewer-modal{background:var(--color-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dashboard-content{padding-bottom:calc(58px + var(--space-lg) + env(safe-area-inset-bottom))}.dashboard-header{padding-top:calc(var(--space-lg) + env(safe-area-inset-top))}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--color-bg);z-index:9998;pointer-events:none}*{-webkit-tap-highlight-color:transparent}.btn:active,button:active{transform:scale(.97)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:var(--shadow-card)}.profile-head{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0 var(--space-xl)}.profile-head__avatar{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.4rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-soft) 100%)}.profile-head__meta{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-head__name{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}.profile-head__sub{font-size:.82rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-list__lead{display:flex;align-items:center;gap:var(--space-md);min-width:0;flex:1}.building-list__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary-wash);color:var(--color-primary)}.building-list{display:flex;flex-direction:column;gap:var(--space-md)}.bld-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.bld-card__head{display:flex;align-items:center;gap:var(--space-md);min-width:0}.bld-card__icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary-wash);color:var(--color-primary)}.bld-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bld-card__name{font-size:1.05rem;font-weight:600;color:var(--color-text)}.bld-card__address{font-size:.82rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bld-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.bld-card__manage{flex:0 0 auto}.bld-card__link{background:none;border:none;cursor:pointer;padding:8px 10px;border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-muted)}.bld-card__link:active{background:var(--alpha-white-06)}.bld-card__del{color:var(--color-error)}.dashboard-tabs{gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.dashboard-tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.tab .tab-icon{display:inline-flex;align-items:center}.tab.active{background:var(--color-primary-bg);color:var(--color-primary)}.feature-row__icon--on{color:var(--color-success)}.feature-row__icon--off{color:var(--color-text-subtle)}.list-section{margin-bottom:var(--space-xl)}.list-section__title{font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-sm) var(--space-xs)}.list-section__title--danger{color:var(--color-error)}.list-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0 var(--space-lg)}.list-group--danger{border-color:#ef444438;background:#ef44440a}.list-row{display:flex;align-items:center;gap:var(--space-md);min-width:0;width:100%;padding:14px 0;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:inherit}.list-row:last-child{border-bottom:none}button.list-row{cursor:pointer}button.list-row:active{opacity:.55;transform:none}.list-row__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary-wash);color:var(--color-primary)}.list-row__icon--muted{background:var(--alpha-white-06);color:var(--color-text-muted)}.list-row__icon--danger{background:var(--color-error-bg);color:var(--color-error)}.list-row__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.list-row__label{font-size:var(--font-lg);font-weight:600;color:var(--color-text)}.list-row__desc{font-size:var(--font-xs);line-height:1.4;color:var(--color-text-muted)}.list-row__trailing{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;min-width:0}.list-row__value{font-size:var(--font-md);color:var(--color-text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row__value--mono{font-variant-numeric:tabular-nums;font-size:var(--font-sm)}.list-row__chevron{color:var(--color-text-subtle);flex-shrink:0}.list-row--danger .list-row__label{color:var(--color-error)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.info-tile{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--alpha-white-04);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0}.info-tile__icon{color:var(--color-primary);flex-shrink:0;margin-top:1px}.info-tile__text{display:flex;flex-direction:column;gap:2px;min-width:0}.info-tile__label{font-size:var(--font-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-subtle)}.info-tile__value{font-size:var(--font-md);font-weight:600;color:var(--color-text);word-break:break-word}.segmented{display:inline-flex;align-items:center;background:var(--alpha-white-08);border:1px solid var(--alpha-white-12);border-radius:var(--radius-full);padding:2px}.segmented__option{padding:6px 14px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.segmented__option--active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-soft) 100%);color:#fff}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-header);display:flex;height:58px;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);border-top:1px solid var(--alpha-white-06);box-shadow:0 -2px 16px #00000040}.tab-bar__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;cursor:pointer;color:var(--color-text-subtle);transition:color var(--transition-fast),transform var(--transition-fast)}.tab-bar__item:active{transform:scale(.94)}.tab-bar__item>span{font-size:var(--font-3xs);font-weight:600;letter-spacing:.02em}.tab-bar__item--active{color:var(--color-primary)}.tab-bar__item--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:34px;height:2px;border-radius:0 0 2px 2px;background:var(--color-primary);box-shadow:0 0 6px 1px #6d7bf573}.has-tab-bar{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.tab-bar--contextual .tab-bar__item{gap:4px;padding:4px 2px 0}.tab-bar__badge{position:absolute;top:4px;left:calc(50% + 8px);min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;color:#fff;background:var(--color-error, #ef4444);border-radius:999px;box-shadow:0 0 0 2px var(--color-bg)}.sheet-backdrop--bottom{align-items:flex-end}.more-sheet{width:100%;background:var(--color-surface-elevated, #171a25);border-top-left-radius:20px;border-top-right-radius:20px;border-top:1px solid var(--color-border, rgba(255,255,255,.08));padding:8px 16px calc(20px + env(safe-area-inset-bottom));animation:more-sheet-in .22s ease}@keyframes more-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.more-sheet{animation:none}}.more-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px}.more-sheet__title{margin:0;font-size:1.05rem;font-weight:700}.more-sheet__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.more-sheet__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border:1px solid var(--color-border, rgba(255,255,255,.08));border-radius:14px;background:var(--color-surface, rgba(255,255,255,.02));color:var(--color-text);font-size:.8rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.more-sheet__item:active{transform:scale(.96)}.more-sheet__item--active{border-color:var(--color-primary);color:var(--color-primary)}.more-sheet__badge{position:absolute;top:8px;right:10px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;background:var(--color-error, #ef4444);border-radius:999px}.side-nav{display:none}.dashboard__col{display:contents}@media (min-width: 1024px){.dashboard--sidenav{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;min-height:100dvh}.dashboard--sidenav .dashboard__col{display:flex;flex-direction:column;min-width:0}.dashboard--sidenav .dashboard-header,.dashboard--sidenav .tab-bar{display:none}.dashboard--sidenav .dashboard-content{max-width:1040px;width:100%;margin:0 auto;padding:34px clamp(24px,4vw,48px) 56px}.side-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;height:100dvh;padding:22px 14px;background:var(--color-surface);border-right:1px solid var(--color-border)}.side-nav__brand{font-weight:800;font-size:1.2rem;letter-spacing:-.01em;padding:6px 10px 16px}.side-nav__switcher-wrap{position:relative;margin-bottom:16px}.side-nav__switcher{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:11px;padding:10px 12px;color:var(--color-text);font-size:.84rem;font-weight:600;cursor:pointer}.side-nav__switcher[disabled]{cursor:default;opacity:.9}.side-nav__switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav__nav{display:flex;flex-direction:column;gap:3px}.side-nav__item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:11px;color:var(--color-text-muted);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.side-nav__item:hover{background:var(--alpha-white-06);color:var(--color-text)}.side-nav__item.is-active{background:var(--color-primary-soft, rgba(109,106,248,.16));color:var(--color-primary)}.side-nav__item-label{flex:1}.side-nav__badge{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;background:var(--color-error, #ef4444);border-radius:999px}.side-nav__footer{margin-top:auto;display:flex;flex-direction:column;gap:3px;padding-top:12px;border-top:1px solid var(--color-border)}}@media (min-width: 1024px){.dashboard:not(.dashboard--sidenav) .dashboard-content{max-width:640px;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}.dashboard:not(.dashboard--sidenav) .dashboard-header,.dashboard:not(.dashboard--sidenav) .trial-banner{padding-left:max(var(--space-lg),calc((100% - 640px) / 2 + var(--space-lg)));padding-right:max(var(--space-lg),calc((100% - 640px) / 2 + var(--space-lg)))}.settings-container{max-width:640px}.tab-bar{left:50%;right:auto;width:100%;max-width:520px;transform:translate(-50%);border:1px solid var(--color-border);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:0 -8px 32px #00000073;overflow:hidden}}.error-boundary{min-height:60vh;min-height:60dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);text-align:center;max-width:420px;margin:0 auto}.error-boundary__icon{width:56px;height:56px;margin-bottom:var(--space-xs);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-error-bg);color:var(--color-error)}.error-boundary__title{font-size:1.15rem;font-weight:700;color:var(--color-text)}.error-boundary__hint{font-size:.9rem;color:var(--color-text-muted)}.error-boundary__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;justify-content:center}@media (hover: hover) and (pointer: fine){.btn:not(:disabled):hover{filter:brightness(1.08)}.btn.btn-ghost:not(:disabled):hover{background:var(--alpha-white-06)}button.list-row:hover,a.list-row:hover,button.bld-row__main:hover,button.flat-row:not(.flat-row--static):hover,button.user-row:hover,button.exp-row:not(.exp-row--static):not(:disabled):hover,button.apt-row:hover,button.monthly-row__header:hover,.segmented__option:not(.segmented__option--active):hover,.seg-tab:not(.is-active):hover,.tab:not(.active):hover{background:var(--alpha-white-06)}.tab-bar__item:not(.tab-bar__item--active):hover{color:var(--color-text-muted)}.header-avatar:hover,.info-btn:hover:before{filter:brightness(1.12)}.toast__close:hover{background:var(--alpha-white-08)}}.lang-switcher{display:inline-flex;align-items:center;background:var(--alpha-white-08);border:1px solid var(--alpha-white-12);border-radius:var(--radius-full);padding:2px}.lang-switcher__btn{padding:6px 14px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.lang-switcher__btn.is-active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-soft) 100%);color:#fff}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-xl) var(--space-md);font-size:.9rem}.bstatus{display:flex;flex-direction:column;gap:var(--space-md)}.bstatus-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);gap:var(--space-sm);color:var(--color-text-muted)}.bstatus-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-resident);border-radius:50%;animation:spin .8s linear infinite}.bstatus-error{padding:var(--space-md);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--color-error);font-size:.9rem}.bstatus-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);text-align:center;color:var(--color-text-muted)}.bstatus-empty-icon{font-size:2rem;margin-bottom:var(--space-sm);opacity:.5}.bstatus-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.bstatus-metric{display:flex;flex-direction:column;align-items:center;padding:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:center}.bstatus-metric-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.bstatus-metric-label{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-xs)}.bstatus-metric-ok .bstatus-metric-value{color:var(--color-success)}.bstatus-metric-pending .bstatus-metric-value{color:var(--color-text-muted)}.bstatus-metric-debt .bstatus-metric-value{color:var(--color-error)}.bstatus-table-wrap{overflow-x:auto;margin:0 calc(var(--space-md) * -1);padding:0 var(--space-md)}.bstatus-table{width:100%;border-collapse:collapse;font-size:.85rem}.bstatus-table th,.bstatus-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.bstatus-table th{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--color-surface);position:sticky;top:0}.bstatus-row{transition:background var(--transition-fast)}.bstatus-row-me{background:#3b82f614;border-left:3px solid var(--color-resident)}.bstatus-row-debt{background:#ef44440d}.bstatus-dpto{font-weight:600}.bstatus-me-badge{display:inline-block;margin-left:var(--space-xs);padding:2px 6px;background:var(--color-resident);color:#fff;font-size:.65rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.bstatus-indicator{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.bstatus-indicator-ok{background:#10b98126;color:var(--color-success)}.bstatus-indicator-pending{background:#8888a026;color:var(--color-text-muted)}.bstatus-indicator-debt{background:var(--color-error-bg);color:var(--color-error)}.bstatus-debt-amount{color:var(--color-error);font-weight:600;font-variant-numeric:tabular-nums}.bstatus-no-debt{color:var(--color-text-subtle)}.bstatus-footer{padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-subtle);text-align:right}.bstatus-table tbody tr{animation:fadeInUp .3s ease both}.bstatus-table tbody tr:nth-child(1){animation-delay:0ms}.bstatus-table tbody tr:nth-child(2){animation-delay:40ms}.bstatus-table tbody tr:nth-child(3){animation-delay:80ms}.bstatus-table tbody tr:nth-child(4){animation-delay:.12s}.bstatus-table tbody tr:nth-child(5){animation-delay:.16s}.bstatus-table tbody tr:nth-child(6){animation-delay:.2s}.bstatus-table tbody tr:nth-child(7){animation-delay:.24s}.bstatus-table tbody tr:nth-child(8){animation-delay:.28s}.bstatus-table tbody tr:nth-child(n+9){animation-delay:.32s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.bstatus-metrics{grid-template-columns:1fr}.bstatus-metric{flex-direction:row;justify-content:space-between}.bstatus-metric-label{margin-top:0}.bstatus-table th,.bstatus-table td{padding:var(--space-xs) var(--space-sm);font-size:.8rem}}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-wrap-gap-8{display:flex;flex-wrap:wrap;gap:8px}.flex-center-gap-8{display:flex;align-items:center;gap:8px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.m-0{margin:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.filter-input,.filter-select{padding:6px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.85rem}.form-input-dark{width:100%;padding:8px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text)}.form-label-inline{display:block;font-size:.8rem;color:var(--color-text-muted);margin-bottom:4px}.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-elevated)}.list-card--active{background:#10b98114;border-color:#10b98140}.list-card--muted{font-size:.85rem}.status-pill{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:4px;color:#fff}.status-pill--success{background:var(--color-success)}.status-pill--warning{background:var(--color-warning)}.status-pill--muted{background:var(--color-text-muted)}.photo-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--color-border)}.photo-placeholder{width:56px;height:56px;border-radius:6px;background:var(--color-surface-elevated);border:1px solid var(--color-border)}.photo-remove-btn{position:absolute;top:-6px;right:-6px;background:#0009;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:.7rem;line-height:20px;text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.85rem}.text-xs{font-size:.82rem}.text-2xs{font-size:.8rem}.text-3xs{font-size:.78rem}.text-center{text-align:center}.italic{font-style:italic}.font-500{font-weight:500}.nowrap{white-space:nowrap}.attendance-btn{flex:1 1 calc(50% - 4px);min-width:120px;padding:14px 12px;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .2s ease}.category-badge{font-size:.7rem;padding:2px 6px;border-radius:4px;color:#fff;text-transform:capitalize}.note-input-sm{margin-top:6px;width:100%;padding:4px 8px;font-size:.82rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text)}.photo-attach-btn{padding:3px 8px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-surface);font-size:.78rem}.progress-bar{height:6px;background:var(--color-surface-elevated);border-radius:3px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:3px;transition:width .3s ease}.toast-container{position:fixed;bottom:0;left:0;right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;pointer-events:none;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;max-width:380px;width:100%;box-shadow:0 8px 32px #0006;animation:toast-in .25s ease forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast--exiting{animation:toast-out .2s ease forwards}.toast--success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.toast--error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.toast--warning{background:#6d7bf526;border:1px solid rgba(109,123,245,.3);color:var(--color-warning)}.toast--info{background:#6366f126;border:1px solid rgba(99,102,241,.3);color:var(--color-info)}.toast__message{flex:1}.toast__icon{display:inline-flex;align-items:center;flex-shrink:0}.toast__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-10px -12px -10px -4px;flex-shrink:0;background:none;border:none;border-radius:var(--radius-full);color:inherit;cursor:pointer;opacity:.6;line-height:1}.toast__close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.95)}}.lang-switcher{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#0000000f}.lang-switcher__btn{border:none;background:transparent;color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.03em;padding:4px 12px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.lang-switcher__btn.is-active{background:#fff;color:#2563eb;box-shadow:0 1px 2px #0000001f}.lang-switcher--auth{margin:0 0 14px}.dashboard-header{background:var(--color-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;box-shadow:none;padding:calc(var(--space-md) + env(safe-area-inset-top)) var(--space-xl) var(--space-md)}.header-left h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.header-avatar{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;font-size:.82rem;font-weight:700;color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-soft) 100%)}.dash-greeting{padding:var(--space-sm) 0 var(--space-xl)}.dash-greeting__title{margin:0 0 10px;font-size:1.85rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.dash-greeting__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.dash-greeting__meta .resident-info-bar{margin:0}.bld-rows{display:flex;flex-direction:column}.bld-row{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--color-border)}.bld-row:last-child{border-bottom:none}.bld-row__main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-md);padding:14px 4px 14px 0;background:none;border:none;text-align:left;cursor:pointer}.bld-row__icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-primary-bg)}.bld-row__body{display:flex;flex-direction:column;gap:2px;min-width:0}.bld-row__name{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bld-row__addr{font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bld-row__more,.bld-row__chev{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-full);cursor:pointer}.bld-row__more{color:var(--color-text-muted)}.bld-row__more:active{background:var(--color-surface-elevated)}.bld-row__chev{color:var(--color-text-muted);opacity:.45}.dash-hint{margin:14px 2px 0;font-size:.8rem;line-height:1.45;color:var(--color-text-muted)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#00000080;display:flex;align-items:flex-end;padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom));animation:sheet-fade .18s ease}.sheet{width:100%;display:flex;flex-direction:column;gap:1px}.sheet__title{text-align:center;font-size:.76rem;font-weight:600;color:var(--color-text-muted);padding:13px;background:var(--color-surface-elevated);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sheet__item{padding:16px;font-size:1.05rem;font-weight:500;color:var(--color-primary);background:var(--color-surface-elevated);border:none;cursor:pointer}.sheet__item:active{background:var(--color-surface)}.sheet__item:last-of-type{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.sheet__item--danger{color:var(--color-error)}.sheet__cancel{margin-top:var(--space-sm);padding:16px;font-size:1.05rem;font-weight:700;color:var(--color-text);background:var(--color-surface-elevated);border:none;border-radius:var(--radius-lg);cursor:pointer}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.header-building{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.seg-bar{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-lg)}.seg-tabs{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}.seg-tabs::-webkit-scrollbar{display:none}.seg-tab{flex-shrink:0;padding:9px 16px;border-radius:var(--radius-full);border:none;background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer}.seg-tab.is-active{background:var(--color-primary);color:#fff}.seg-add{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-primary);cursor:pointer}.user-rows{display:flex;flex-direction:column}.user-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:12px 2px;background:none;border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer}.user-row:last-child{border-bottom:none}.user-row--off{opacity:.5}.user-row__avatar{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:.92rem;font-weight:700;letter-spacing:.02em}.user-av--admin{background:#6d7bf529;color:var(--color-admin)}.user-av--resident{background:#38bdf829;color:var(--color-resident)}.user-av--guard{background:#34d39929;color:var(--color-guard)}.user-av--user{background:var(--color-surface-elevated);color:var(--color-text-muted)}.user-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.user-row__name{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-row__sub{font-size:.82rem;color:var(--color-text-muted)}.user-row__email{font-size:.78rem;color:var(--color-text-muted);opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-row>.badge{flex-shrink:0;align-self:center}.gen-sheet{width:100%;max-height:86vh;overflow-y:auto;background:var(--color-surface-elevated);border-radius:var(--radius-xl);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.gen-sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.gen-sheet__title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.gen-sheet__close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.gen-sheet__desc{margin:0;font-size:.86rem;color:var(--color-text-muted)}.user-detail__id{display:flex;align-items:center;gap:var(--space-md);min-width:0}.user-detail__idtext{display:flex;flex-direction:column;gap:2px;min-width:0}.user-detail__name{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.user-detail__email{font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-detail__roles{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 var(--space-xs)}.user-detail__field{display:flex;flex-direction:column;gap:8px;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.user-detail__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.user-detail__actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs)}.badge-on{background:#34d39926;color:var(--color-guard)}.badge-off{background:#ef444426;color:var(--color-error)}.badge-custom{background:var(--color-primary-bg);color:var(--color-primary)}.apt-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:var(--space-md)}.apt-summary__total{display:flex;align-items:center;gap:7px;flex-shrink:0;white-space:nowrap}.apt-summary__total.is-ok{color:var(--color-guard)}.apt-summary__total.is-warn{color:var(--color-pro)}.apt-summary__label{font-size:.84rem;color:var(--color-text-muted);white-space:nowrap}.apt-summary__value{font-size:1.05rem;font-weight:700;color:inherit;white-space:nowrap;font-variant-numeric:tabular-nums}.apt-summary .btn{flex-shrink:0;white-space:nowrap}.apt-summary__hint{margin:-2px 0 var(--space-md);font-size:.8rem;color:var(--color-text-muted)}.apt-summary__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 var(--space-md)}.apt-summary__hint--inline{margin:0}.apt-summary__actions .btn{display:inline-flex;align-items:center;gap:6px}.apt-mode{margin-bottom:var(--space-md)}.apt-mode__seg{display:flex;gap:4px;padding:4px;margin:6px 0 4px;background:var(--color-surface-elevated);border-radius:12px}.apt-mode__opt{flex:1;padding:9px 8px;border:none;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.apt-mode__opt.is-active{background:var(--color-primary);color:#fff}.apt-mode__seg--3 .apt-mode__opt{font-size:.82rem;padding:9px 4px}.apt-detail__subrow{display:flex;align-items:center;justify-content:space-between;gap:10px}.apt-linkbtn{border:none;background:none;padding:0;cursor:pointer;color:var(--color-error, #ef4444);font-size:.8rem;font-weight:600;white-space:nowrap}.apt-detail__form{display:flex;flex-direction:column;gap:14px;margin:8px 0 4px}.apt-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.apt-detail__field{display:flex;flex-direction:column;gap:6px;min-width:0}.apt-detail__hint{margin:-4px 0 0}.apt-detail__clear{align-self:center}.apt-paste__area{width:100%;resize:vertical;min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;line-height:1.5;white-space:pre}.apt-paste__preview{margin-top:8px;padding:8px 12px;border-radius:9px;background:var(--color-primary-soft, rgba(109,106,248,.14));color:var(--color-primary);font-size:.82rem;font-weight:600}.apt-rows{display:flex;flex-direction:column}.apt-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 2px;background:none;border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer}.apt-row:last-child{border-bottom:none}.apt-row--off{opacity:.5}.apt-row__num{font-size:1.05rem;font-weight:700;min-width:44px;font-variant-numeric:tabular-nums}.apt-row__coeff{flex:1;min-width:0;font-size:.95rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.apt-row>.badge{flex-shrink:0}.apt-row__more{flex-shrink:0;color:var(--color-text-muted);opacity:.45}.apt-form__field{display:flex;flex-direction:column;gap:6px}.apt-form__hint{font-size:.78rem;color:var(--color-text-muted)}.apt-head{display:flex;align-items:center;gap:14px;padding:0 2px 8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.apt-head__num{min-width:44px}.apt-head__coeff{flex:1;min-width:0}.apt-head__status{flex-shrink:0}.apt-head__sp{width:20px;flex-shrink:0}.apt-detail__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 var(--space-sm)}.apt-detail__persons{font-size:.86rem;color:var(--color-text-muted)}.apt-detail__section{display:flex;flex-direction:column;gap:8px;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.apt-detail__actions{display:flex;flex-direction:column;gap:8px;margin-top:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.apt-action{width:100%;padding:14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.98rem;font-weight:600;cursor:pointer}.apt-action:active{background:var(--color-surface-elevated)}.apt-action--danger{color:var(--color-error);border-color:transparent;background:#ef44441a}.apt-delete__warn{margin-top:var(--space-sm);padding:10px 12px;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:var(--color-text);font-size:.85rem}.invite-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;margin-bottom:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-primary-wash);color:var(--color-primary);font-size:.93rem;font-weight:600;white-space:nowrap;cursor:pointer}.invite-cta:active{background:var(--color-primary-bg)}.sheet-backdrop--center{align-items:center;justify-content:center}.sheet-backdrop--center .gen-sheet{max-width:440px}.invite-actions{display:flex;gap:8px;margin-top:var(--space-sm)}.invite-actions__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.month-head{display:flex;flex-direction:column;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.month-head__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-head__nav{display:flex;align-items:center;gap:6px;min-width:0}.month-head__arrow{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer}.month-head__arrow:disabled{opacity:.4}.month-head__label{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.month-head__menu{margin-left:auto;flex-shrink:0}.month-head__status-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-head__status-group{display:flex;align-items:center;gap:6px;min-width:0}.month-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:.82rem;font-weight:600;white-space:nowrap}.month-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.month-status.is-open{color:var(--color-guard)}.month-status.is-open .month-status__dot{background:var(--color-guard)}.month-status.is-closed{color:var(--color-text-muted)}.month-status.is-closed .month-status__dot{background:var(--color-text-muted)}.info-anchor{position:relative;display:inline-flex}.info-btn{position:relative;width:40px;height:40px;margin:-6px;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.info-btn:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:inherit;background:var(--color-surface-elevated)}.info-btn>*{position:relative}.info-btn:active:before{background:var(--color-surface)}.info-btn.month-head__menu{margin-left:auto}.info-pop{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,88vw);max-width:88vw;padding:12px 14px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 28px #00000073;font-size:.84rem;line-height:1.45;color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere;text-align:left;z-index:var(--z-modal);animation:info-pop-in .14s ease}.info-pop--left{left:0;right:auto}@media (max-width: 1023px){.info-pop,.info-pop--left{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(360px,88vw);max-width:88vw}}@keyframes info-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.period-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);font-size:.86rem;cursor:pointer;min-width:0}.period-chip>svg{color:var(--color-text-muted);flex-shrink:0}.period-chip__label{color:var(--color-text-muted)}.period-chip__value{font-weight:600;white-space:nowrap}.month-fund-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;flex-shrink:0;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.month-fund-btn:active{background:var(--color-surface)}.month-fund-btn.is-empty{color:var(--color-error);border-color:var(--color-error-bg)}.month-fund-btn__edit{color:var(--color-text-subtle);flex-shrink:0}.month-fund-btn.is-empty .month-fund-btn__edit{color:var(--color-error)}.gen-sheet__headleft{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.fund-tabs{display:flex;gap:6px;padding:4px;margin-bottom:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-lg)}.fund-tabs__tab{flex:1;padding:8px 10px;border:none;border-radius:calc(var(--radius-lg) - 4px);background:transparent;color:var(--color-text-muted);font-size:.9rem;font-weight:600;cursor:pointer}.fund-tabs__tab.is-active{background:var(--color-primary, #6366f1);color:#fff}.fund-modal__balance{display:flex;flex-direction:column;gap:2px;padding:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-lg)}.fund-modal__balance-label{font-size:.74rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.fund-modal__balance-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-primary)}.month-period__row{display:flex;gap:10px}.month-period__field{display:flex;flex-direction:column;gap:5px;flex:1 1 0;min-width:0}.month-period__field-label{font-size:.78rem;color:var(--color-text-muted)}.month-period__field input{width:100%;min-width:0;box-sizing:border-box;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);font-size:.9rem;text-align:center}.month-period__field input:disabled{opacity:.55}.exp-section{display:flex;flex-direction:column}.exp-head{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-md)}.exp-head__title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.exp-head__hint{margin:4px 0 0;font-size:.85rem;line-height:1.4;color:var(--color-text-muted)}.exp-head__period{margin-left:auto;flex-shrink:0;padding:7px 11px}.exp-rows{display:flex;flex-direction:column}.exp-row{display:flex;align-items:center;gap:14px;width:100%;padding:17px 2px;background:none;border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;color:var(--color-text)}.exp-row:last-child{border-bottom:none}.exp-row:disabled{opacity:.6}.exp-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.exp-row__name{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-row__sub{font-size:.82rem;color:var(--color-text-muted)}.exp-row__amt{flex-shrink:0;font-size:1rem;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.exp-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;vertical-align:1px}.exp-tag--extra{color:#f59e0b;background:#f59e0b24}.exp-extra-toggle{display:flex;align-items:flex-start;gap:10px;margin:4px 0 12px;cursor:pointer}.exp-extra-toggle input{margin-top:3px;flex-shrink:0}.exp-extra-toggle__label{display:block;font-size:.9rem;font-weight:600;color:var(--color-text)}.exp-extra-toggle__hint{display:block;font-size:.78rem;color:var(--color-text-muted);margin-top:2px}.fee-card__sub{display:block;font-size:.72rem;color:#f59e0b;margin-top:2px}.exp-plan-note{margin:0 0 var(--space-sm);padding:8px 12px;border-radius:8px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.22);font-size:.8rem;color:var(--color-text)}.exp-add-actions{display:flex;flex-direction:column;gap:8px}.invite-cta--extra{color:#f59e0b;border-color:#f59e0b59;background:#f59e0b14}.resident-breakdown-table__group td{padding-top:12px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#f59e0b}.resident-breakdown-table__subtotal td{font-weight:600;border-top:1px dashed var(--color-border)}.exp-row__chev{flex-shrink:0;color:var(--color-text-muted);opacity:.5}.exp-row>.badge{flex-shrink:0}.exp-totals{display:flex;flex-direction:column;gap:8px;padding:var(--space-lg) 2px 0}.exp-totals__row{display:flex;align-items:center;justify-content:space-between;font-size:.92rem;color:var(--color-text-muted)}.exp-totals__row span,.exp-totals__row strong{font-variant-numeric:tabular-nums}.exp-totals__row--total{font-size:1.05rem;color:var(--color-text);padding-top:12px;border-top:1px solid var(--color-border)}.exp-saving{align-self:flex-end;font-size:.74rem;color:var(--color-text-muted);font-weight:600;opacity:.85}.fee-kpis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.fee-kpi{flex:1 1 auto;min-width:92px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.fee-kpi__label{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:700}.fee-kpi__value{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}.fee-kpi__value--ok{color:#22c55e}.fee-kpi__value--review{color:#60a5fa}.fee-kpi__of{color:var(--color-text-muted);font-weight:600;font-size:.85rem}.fee-kpi__sub{font-size:.64rem;color:var(--color-text-muted);font-weight:700}.fee-t{display:none}.fee-cards2{display:flex;flex-direction:column;gap:10px}@media (min-width: 860px){.fee-t{display:block;border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.fee-cards2{display:none}.fee-t__head,.fee-t__row{display:grid;grid-template-columns:minmax(68px,.8fr) 1fr 1fr 1fr .7fr 1.15fr 1.6fr;align-items:center;gap:10px;padding:11px 16px}.fee-t__head{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.fee-t__head .fee-t__c{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:700}.fee-t__row{border-bottom:1px solid var(--color-border);transition:background .12s ease}.fee-t__row:last-child{border-bottom:none}.fee-t__row:hover{background:#ffffff08}.fee-t__c{display:flex;align-items:center;gap:6px;font-size:.86rem;min-width:0}.fee-t__c--num{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:1px}.fee-t__c--apt{font-weight:700}.fee-t__c--act{justify-content:flex-end;gap:6px;flex-wrap:wrap}.fee-t__amt{font-weight:700}.fee-t__extra{font-size:.62rem;color:#f59e0b}}.fee-t__muted{color:var(--color-text-muted)}.fee-card2{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;padding:12px 14px}.fee-card2__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.fee-card2__apt{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.95rem}.fee-card2__right{display:flex;align-items:center;gap:8px}.fee-card2__figs{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.8rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.fee-card2__fig b{color:var(--color-text);font-weight:700}.fee-card2__sep{color:var(--color-text-muted);opacity:.5}.fee-card2__extra{margin-top:6px;font-size:.7rem;color:#f59e0b}.fee-card2__actions{display:flex;gap:8px;margin-top:10px}.status-options{display:flex;gap:8px}.status-option{flex:1;padding:11px 6px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer}.status-option.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.status-option:disabled{opacity:.5}.fund-metric{display:flex;flex-direction:column;gap:4px;padding:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-surface-elevated);border-radius:var(--radius-lg)}.fund-metric__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fund-metric__label{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:700}.fund-metric__actions{display:flex;gap:6px;flex-shrink:0}.fund-metric__actions .btn{display:inline-flex;align-items:center;gap:5px}.fund-metric__amount{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-primary)}.fund-metric__date{font-size:.78rem;color:var(--color-text-muted)}.exp-block{margin-bottom:var(--space-lg)}.exp-row--static{cursor:default}.hist-list{display:flex;flex-direction:column}.hist-row{border-bottom:1px solid var(--color-border);padding:12px 0}.hist-row:last-child{border-bottom:none}.hist-row__head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:0}.hist-row__chev{flex-shrink:0;color:var(--color-text-muted);transition:transform .15s ease}.hist-row__chev.is-open{transform:rotate(90deg)}.hist-row__month{font-size:1rem;font-weight:600;letter-spacing:-.01em;flex:1;min-width:0}.hist-stats{display:flex;gap:8px;padding:10px 0 0 26px}.hist-stat{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.hist-stat__label{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);white-space:nowrap}.hist-stat__value{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.hist-detail{padding:var(--space-sm) 0 0 26px}.hist-detail__sub{margin:var(--space-sm) 0 2px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--color-text-muted)}.hist-apt__num{flex-shrink:0;min-width:42px;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true],[contenteditable=""]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img{-webkit-user-drag:none}.tab-panel[hidden]{display:none!important}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg)}.empty__icon{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-surface-elevated);color:var(--color-text-muted);margin-bottom:2px}.empty__title{margin:0;font-size:.98rem;font-weight:600;color:var(--color-text)}.empty__hint{margin:0;font-size:.86rem;line-height:1.45;color:var(--color-text-muted);max-width:32ch}.empty__action{margin-top:var(--space-sm)}.section-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-md)}.section-head__title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.section-head__spacer{margin-left:auto}.coeff-warning{display:flex;align-items:flex-start;gap:8px;margin-top:var(--space-md);padding:10px 12px;border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:.84rem;line-height:1.4}.coeff-warning>svg{flex-shrink:0;margin-top:1px}.res-load-error{margin:8px 0;font-size:.85rem;color:var(--color-error)}.res-month-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0 0 var(--space-md);padding-bottom:2px}.res-month-nav::-webkit-scrollbar{display:none}.res-month-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:.8rem;font-weight:600;white-space:nowrap;text-transform:capitalize;cursor:pointer}.res-month-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.res-month-closed{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-subtle);font-size:.68rem;font-weight:600;white-space:nowrap}.res-balance--credit{color:var(--color-success);font-weight:600}.res-balance--debt{color:var(--color-error);font-weight:600}.res-reject-note{margin:8px 0 0;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-error-bg);color:var(--color-error);font-size:.8rem;line-height:1.4;text-align:center}.res-partial-summary{margin:0 0 12px;font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-overpay-hint{margin:6px 0 0;font-size:.78rem;line-height:1.4;color:var(--color-warning)}.res-section-hint{margin:0 0 10px;font-size:.78rem;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-row--tappable{cursor:pointer}.res-concept{display:inline-flex;align-items:center;gap:4px}.res-concept>svg{color:var(--color-text-subtle);flex-shrink:0}.res-meter-row td{padding-top:2px;padding-left:16px;font-size:.76rem;color:var(--color-text-subtle);white-space:nowrap}.res-notices-older-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px dashed var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.85rem;font-weight:600;cursor:pointer}.res-notice-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.res-notice-title-row .notice-card__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-card--expanded .res-notice-title-row .notice-card__title{white-space:normal}.res-notice-chevron{display:inline-flex;flex-shrink:0;color:var(--color-text-subtle)}
