.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.card-bordered{border:1.5px solid var(--color-border)}.card-interactive{cursor:pointer;transition:border-color var(--duration-fast) ease-out}@media (hover:hover){.card-interactive:hover{border-color:var(--brand-300)}}.card-padding{padding:var(--space-4)}.card-padding-lg{padding:var(--space-6)}.card-header{border-bottom:1px solid var(--color-border)}.card-body,.card-footer,.card-header{padding:var(--space-4)}.card-footer{border-top:1px solid var(--color-border);background:var(--color-bg-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:500;line-height:1.4;border-radius:var(--radius-full)}.badge-default{background:var(--color-bg-muted);color:var(--color-text-secondary)}.badge-brand{background:var(--color-brand-subtle);color:var(--color-brand)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-error{background:var(--color-error-subtle);color:var(--color-error)}.badge-cash{background:var(--color-cash-subtle);color:var(--color-cash)}.badge-yape{background:var(--color-yape-subtle);color:var(--color-yape)}.badge-pos{background:var(--color-pos-subtle);color:var(--color-pos)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:none;flex-direction:column;z-index:var(--z-sticky);overflow:hidden}@media (min-width:1024px){.sidebar{display:flex}}.sidebar-header{height:var(--header-height);padding:0 var(--space-5);border-bottom:1px solid var(--color-border)}.sidebar-brand,.sidebar-header{display:flex;align-items:center}.sidebar-brand{gap:var(--space-3);text-decoration:none}.sidebar-brand-icon{width:40px;height:40px;background:var(--color-brand);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:white}.sidebar-brand-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary)}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out;font-weight:500}@media (hover:hover){.sidebar-nav-item:hover{background:var(--color-bg-muted);color:var(--color-text-primary);text-decoration:none}}.sidebar-nav-item.active{background:var(--color-brand-subtle);color:var(--color-brand)}.sidebar-nav-icon{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);transition:background var(--duration-fast) ease-out;cursor:pointer}@media (hover:hover){.sidebar-user:hover{background:var(--color-bg-muted)}}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-brand);display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:var(--text-sm)}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--text-xs);color:var(--color-text-tertiary)}.sidebar-user-interactive{border:none;background:transparent;font-family:inherit}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0));background:var(--color-bg-surface);border-top:1px solid var(--color-border);display:flex;z-index:var(--z-sticky);padding-bottom:env(safe-area-inset-bottom,0);transform:translateY(0);transition:transform var(--duration-slow) var(--ease-out-expo)}.mobile-nav--hidden{transform:translateY(100%)}@media (min-width:1024px){.mobile-nav{display:none}}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--color-text-tertiary);font-size:11px;font-weight:500;text-decoration:none;transition:color var(--duration-fast) ease-out;padding:var(--space-2);position:relative;min-height:var(--touch-target-min)}.mobile-nav-item.active{color:var(--color-brand)}@media (hover:hover){.mobile-nav-item:hover{color:var(--color-brand)}}.mobile-nav-icon{width:28px;height:28px}@media (min-width:1024px){.with-sidebar{margin-left:var(--sidebar-width)}}.page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);padding:0 var(--page-padding);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);min-height:var(--header-height);box-shadow:0 0 0 0 rgba(0,0,0,0);transition:box-shadow var(--duration-normal) ease}.page-header--scrolled{box-shadow:0 2px 8px rgba(0,0,0,.08)}.page-header--fixed{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);padding-top:env(safe-area-inset-top,0)}@media (min-width:1024px){.page-header--fixed{left:var(--sidebar-width)}}@media (min-width:640px){.page-header{padding:0 var(--space-6)}}.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin:0}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:2px}.page-header__content{display:flex;align-items:center;gap:var(--space-3)}.page-header__back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-fast) ease;animation:page-header-back-enter var(--duration-slow) var(--ease-out-expo) backwards}.page-header__back:hover{background:var(--color-bg-muted)}.page-header__back:active{transform:scale(.95)}.page-header__titles{display:flex;flex-direction:column;align-items:center;text-align:center}.page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.page-header__content--with-back .page-header__titles{animation:page-header-titles-shift var(--duration-slow) var(--ease-out-expo) backwards}.page-header__content--returning .page-header__titles{animation:page-header-titles-return var(--duration-slow) var(--ease-out-expo) backwards}.main-content{padding:var(--page-padding);padding-bottom:calc(var(--mobile-nav-height) + var(--space-6) + env(safe-area-inset-bottom, 0))}@media (min-width:1024px){.main-content{padding:var(--space-6);padding-bottom:var(--space-8)}}.page-wrapper{min-height:0}.page-content,.page-wrapper{display:flex;flex-direction:column;flex:1}.page-content{padding:var(--page-padding);padding-top:calc(var(--header-height) + var(--page-padding) + env(safe-area-inset-top, 0));padding-bottom:calc(var(--mobile-nav-height) + var(--space-6) + env(safe-area-inset-bottom, 0))}.page-content--no-navbar{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom, 0))}@media (min-width:1024px){.page-content{padding:var(--space-6);padding-top:calc(var(--header-height) + var(--space-6))}.page-content,.page-content--no-navbar{padding-bottom:var(--space-8)}}.empty-state-fill,.page-body{display:flex;flex-direction:column;flex:1;min-height:0}.empty-state-fill{text-align:center}.empty-state-fill,.fab{align-items:center;justify-content:center}.fab{position:fixed;bottom:calc(var(--mobile-nav-height) + var(--space-4) + env(safe-area-inset-bottom, 0));right:var(--space-4);width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-brand);color:white;display:flex;box-shadow:var(--shadow-lg);cursor:pointer;transition:transform var(--duration-fast) ease-out,box-shadow var(--duration-fast) ease-out,filter var(--duration-fast) ease-out;z-index:var(--z-sticky)}@media (min-width:1024px){.fab{bottom:var(--space-6);right:var(--space-6)}}@media (hover:hover){.fab:hover{filter:brightness(.92);box-shadow:var(--shadow-xl)}}.fab:active{transform:scale(.95);filter:brightness(.88)}.product-categories{display:flex;flex-direction:column;gap:var(--space-8)}.product-category-section{display:flex;flex-direction:column;gap:var(--space-3)}.product-category-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.product-category-size{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-subtle);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full)}@media (min-width:640px){.product-category-title{font-size:var(--text-xl)}.product-category-size{font-size:var(--text-base)}}.product-row{display:flex;gap:var(--space-4);overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.product-row::-webkit-scrollbar{height:6px}.product-row::-webkit-scrollbar-track{background:var(--color-bg-subtle);border-radius:var(--radius-full)}.product-row::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.product-row::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.product-row>.product-card{flex-shrink:0;width:140px;scroll-snap-align:start}@media (min-width:640px){.product-row{gap:var(--space-5)}.product-row>.product-card{width:160px}}@media (min-width:1024px){.product-row{gap:var(--space-6)}.product-row>.product-card{width:180px}}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (min-width:640px){.product-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-5)}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.product-card{position:relative;background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-2xl);cursor:pointer;transition:transform var(--duration-normal) ease-out,box-shadow var(--duration-normal) ease-out,border-color var(--duration-normal) ease-out;text-align:left;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm)}@media (hover:hover){.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--brand-300)}.product-card:hover .product-card-image img{transform:scale(1.08)}}.product-card:active{transform:scale(.98)}.product-card.selected{border-color:var(--color-brand);box-shadow:var(--shadow-lg)}.product-card-image{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--color-bg-muted)}.product-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--duration-medium) ease-out}.product-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);background:linear-gradient(135deg,var(--color-bg-muted) 0,var(--neutral-200) 100%)}.dark .product-card-image-placeholder{background:linear-gradient(135deg,var(--color-bg-muted) 0,var(--neutral-700) 100%)}.product-card-badge{position:absolute;top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.product-card-badge--inactive{background:rgba(0,0,0,.6);color:white}.product-card-info{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.product-card-name{font-weight:500;font-size:var(--text-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-name,.product-card-price{font-family:var(--font-display);color:var(--color-text-primary)}.product-card-price{font-size:var(--text-base);font-weight:700}.product-card-price-currency{font-weight:500;font-size:var(--text-sm);color:var(--color-text-secondary)}.product-card--inactive{opacity:.7}.product-card--inactive .product-card-image{filter:grayscale(40%)}.product-image{width:64px;height:64px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.product-image-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.product-image-placeholder{width:100%;height:100%;background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.cart-container{background:var(--color-bg-surface);display:flex;flex-direction:column;height:100%}.cart-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.cart-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary)}.cart-items{flex:1;overflow-y:auto;padding:var(--space-3)}.cart-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);transition:background var(--duration-fast) ease-out;margin-bottom:var(--space-2)}@media (hover:hover){.cart-item:hover{background:var(--color-bg-muted)}}.cart-item-info{flex:1;min-width:0}.cart-item-name{font-weight:600;color:var(--color-text-primary);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-price{font-size:var(--text-sm);color:var(--color-text-tertiary)}.cart-item-quantity{display:flex;align-items:center;gap:var(--space-2)}.cart-item-qty-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-muted);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.cart-item-qty-btn:hover{background:var(--color-brand-subtle);color:var(--color-brand)}}.cart-item-qty-value{min-width:24px;text-align:center;font-weight:600;font-size:var(--text-base)}.cart-item-subtotal{font-weight:600;color:var(--color-text-primary);min-width:56px;text-align:right}.cart-footer{padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-muted)}.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-4)}.cart-total-label{font-weight:500;color:var(--color-text-secondary)}.cart-total-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-text-primary)}.payment-selector{display:flex;gap:var(--space-2)}.payment-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-3);border-radius:var(--radius-lg);border:2px solid transparent;font-weight:600;font-size:var(--text-sm);min-height:64px;transition:filter var(--duration-fast) ease-out,border-color var(--duration-fast) ease-out;color:white}@media (hover:hover){.payment-btn:hover{filter:brightness(.92)}}.payment-btn:active{transform:scale(.98);filter:brightness(.88)}.payment-btn.selected{border-color:white}.stats-card{padding:var(--space-4)}.stats-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:500;margin-bottom:var(--space-1)}.stats-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-text-primary);line-height:1}.stats-change{font-size:var(--text-sm);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-1);font-weight:500}.stats-change.positive{color:var(--color-success)}.stats-change.negative{color:var(--color-error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6)}.empty-state-icon{width:40px;height:40px;color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.empty-state-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-base);color:var(--color-text-tertiary);max-width:280px}.empty-state-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);min-height:calc(100vh - var(--header-height) - 64px - var(--page-padding) - var(--space-6) - var(--mobile-nav-height) - env(safe-area-inset-bottom, 0px));min-height:calc(100dvh - var(--header-height) - 64px - var(--page-padding) - var(--space-6) - var(--mobile-nav-height) - env(safe-area-inset-bottom, 0px))}@media (min-width:1024px){.empty-state-centered{min-height:calc(100vh - var(--header-height) - 64px - var(--space-6) * 2);min-height:calc(100dvh - var(--header-height) - 64px - var(--space-6) * 2)}}.transfer-banner{position:sticky;top:0;z-index:var(--z-sticky);background:linear-gradient(135deg,var(--brand-600) 0,var(--brand-700) 100%);border-bottom:1px solid var(--brand-700);padding:var(--space-3) var(--space-4)}.transfer-banner-content{display:flex;align-items:center;gap:var(--space-3);max-width:1200px;margin:0 auto}.transfer-banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:var(--radius-lg);color:white}.transfer-banner-text{flex:1;min-width:0}.transfer-banner-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:white;line-height:1.2}.transfer-banner-subtitle{font-size:var(--text-xs);color:rgba(255,255,255,.85);margin-top:2px;line-height:1.3}.transfer-banner-subtitle strong{color:white;font-weight:600}.transfer-banner-actions{flex-shrink:0}.transfer-banner-actions .btn{background:white;color:var(--brand-700);border:none;font-weight:600}@media (hover:hover){.transfer-banner-actions .btn:hover:not(:disabled){background:var(--neutral-100);color:var(--brand-700);filter:none}}.transfer-banner-actions .btn:active:not(:disabled){transform:scale(.98)}.transfer-banner-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:rgba(255,255,255,.7);background:transparent;transition:background-color var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.transfer-banner-dismiss:hover{background:rgba(255,255,255,.15);color:white}}.transfer-banner-dismiss:active{transform:scale(.95)}@media (max-width:639px){.transfer-banner{padding:var(--space-3)}.transfer-banner-content{flex-wrap:wrap;gap:var(--space-2)}.transfer-banner-icon{width:36px;height:36px}.transfer-banner-text{flex:1 1 calc(100% - 80px)}.transfer-banner-actions{flex:1}.transfer-banner-actions .btn{width:100%}.transfer-banner-dismiss{position:absolute;top:var(--space-2);right:var(--space-2)}.transfer-banner{position:relative}}.toast-container{position:fixed;bottom:calc(var(--mobile-nav-height) + var(--space-4) + env(safe-area-inset-bottom, 0));left:var(--space-4);right:var(--space-4);z-index:var(--z-toast);pointer-events:none;display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width:640px){.toast-container{bottom:var(--space-6);left:auto;right:var(--space-6);max-width:360px}}.toast{background:var(--color-bg-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);pointer-events:auto;display:flex;align-items:center;gap:var(--space-3)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-warning{border-left:3px solid var(--color-warning)}.table{width:100%;border-collapse:separate;border-spacing:0}.table td,.table th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-size:var(--text-sm);font-weight:600;color:var(--color-text-tertiary);background:var(--color-bg-muted)}.table tbody tr{transition:background var(--duration-fast) ease-out}@media (hover:hover){.table tbody tr:hover{background:var(--color-bg-muted)}}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-full);animation:spin .7s linear infinite}.spinner-lg{width:32px;height:32px;border-width:3px}.page-loading{flex:1;display:flex;align-items:center;justify-content:center;padding-top:calc(var(--header-height) + env(safe-area-inset-top, 0));padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0))}@media (min-width:1024px){.page-loading{padding-top:var(--header-height);padding-bottom:0}}.progress-bar{height:8px;background:var(--color-bg-muted);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-brand);border-radius:var(--radius-full);transition:width var(--duration-medium) ease-out}.quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--duration-instant) ease-out,border-color var(--duration-fast) ease-out,background var(--duration-fast) ease-out;cursor:pointer;text-decoration:none;text-align:center;min-height:80px}@media (hover:hover){.quick-action:hover{border-color:var(--color-brand);background:var(--color-brand-subtle);text-decoration:none}}.quick-action:active{transform:scale(.97)}.quick-action-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-brand-subtle);color:var(--color-brand);flex-shrink:0;transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.quick-action:hover .quick-action-icon{background:var(--color-brand);color:white}}.quick-action-label{font-weight:500;color:var(--color-text-primary);font-size:var(--text-sm)}.hero-stat{text-align:center;padding:var(--space-6);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.hero-stat-label{font-size:var(--text-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:500;margin-bottom:var(--space-2)}.hero-stat-value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--color-text-primary);line-height:1;margin-bottom:var(--space-2)}.hero-stat-change{font-size:var(--text-sm);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full)}.hero-stat-change.positive{background:var(--color-success-subtle);color:var(--color-success)}.hero-stat-change.negative{background:var(--color-error-subtle);color:var(--color-error)}.home-header{padding:var(--space-6) var(--page-padding);padding-top:calc(var(--space-8) + env(safe-area-inset-top, 0));background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}@media (min-width:640px){.home-header{padding:var(--space-8) var(--space-6)}}.home-greeting{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);line-height:1.2;margin:0}.home-greeting-sub{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.dropdown{position:relative}.dropdown-trigger{cursor:pointer}.dropdown-content{position:absolute;z-index:var(--z-dropdown);width:100%;min-width:200px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.dropdown-content.position-top{bottom:100%;margin-bottom:var(--space-2);animation:fadeInUp var(--duration-fast) ease-out}.dropdown-content.position-bottom{top:100%;margin-top:var(--space-2);animation:fadeInDown var(--duration-fast) ease-out}.dropdown-content.align-left{left:0}.dropdown-content.align-right{right:0}.role-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--duration-fast) ease-out,background-color var(--duration-fast) ease-out;text-align:left;width:100%}@media (hover:hover){.role-card:hover:not(.role-card-selected){border-color:var(--color-brand);background:var(--color-brand-subtle)}}.role-card-selected{border-color:var(--color-brand);background:var(--color-brand-subtle)}.role-card-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out}.role-card-selected .role-card-icon,.role-card:hover .role-card-icon{background:var(--color-brand);color:white}.role-card-content{flex:1;min-width:0}.role-card-title{display:block;font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:2px}.role-card-description{display:block;font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.4}.role-card-check{width:20px;height:20px;color:var(--color-brand);flex-shrink:0}.invite-success-compact{display:flex;flex-direction:column;align-items:center;text-align:center}.invite-qr-box{display:flex;align-items:center;justify-content:center;align-self:center;background:white;border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3)}.invite-qr-box img{width:140px;height:140px}.invite-regenerate{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-tertiary);padding:var(--space-2);border-radius:var(--radius-md);transition:color var(--duration-fast) ease-out}@media (hover:hover){.invite-regenerate:hover:not(:disabled){color:var(--color-text-secondary)}}.invite-regenerate:disabled{opacity:.5;cursor:not-allowed}.auth-container{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg-base);overflow-y:auto}.auth-card{width:100%;max-width:340px}.auth-logo{text-align:center;margin-bottom:var(--space-8)}.auth-logo-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;margin:0}.auth-logo-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-2)}.auth-user-greeting{text-align:center;margin-bottom:var(--space-6)}.auth-user-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-brand);color:white;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;margin:0 auto var(--space-4)}.auth-user-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0}.auth-user-email{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.auth-footer{text-align:center;margin-top:var(--space-6)}.auth-footer-link{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-footer-link a{color:var(--color-brand);font-weight:500}.user-menu-content{min-width:200px}.user-menu-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.user-menu-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-brand);color:white;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-base);flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-role{font-size:var(--text-sm);color:var(--color-text-tertiary)}.user-menu-items{padding:var(--space-2) 0}.user-menu-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);width:100%;text-align:left;font-size:var(--text-base);color:var(--color-text-primary);text-decoration:none;transition:background var(--duration-fast) ease-out}@media (hover:hover){.user-menu-item:hover{background:var(--color-bg-muted);text-decoration:none}}.user-menu-item:active{background:var(--color-brand-subtle)}.user-menu-item-arrow{margin-left:auto;color:var(--color-text-tertiary)}.user-menu-item-danger{color:var(--color-error)}.user-menu-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.user-menu-footer{padding:var(--space-2) var(--space-4);text-align:center}.user-menu-version{font-size:var(--text-xs);color:var(--color-text-tertiary)}.change-pin-container{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-3);padding-bottom:calc(var(--mobile-nav-height) + var(--space-3) + env(safe-area-inset-bottom, 0));overflow:hidden}@media (min-width:1024px){.change-pin-container{padding-bottom:var(--space-3)}}.change-pin-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:100%;max-width:320px}.change-pin-header{text-align:center}.change-pin-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-1)}.change-pin-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.change-pin-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-height:48px}.change-pin-back{font-size:var(--text-sm);color:var(--color-text-tertiary);transition:color var(--duration-fast) ease-out;padding:var(--space-1) var(--space-2)}@media (hover:hover){.change-pin-back:hover:not(:disabled){color:var(--color-brand)}}.change-pin-back:disabled{opacity:.5;cursor:not-allowed}.change-pin-dots{display:flex;align-items:center;gap:var(--space-2)}.change-pin-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border);transition:all var(--duration-fast) ease-out}.change-pin-dot.active{background:var(--color-brand)}.change-pin-dot.completed{background:var(--color-success)}.settings-container{flex:1;width:100%;padding:var(--space-4);padding-bottom:calc(var(--mobile-nav-height) + var(--space-6) + env(safe-area-inset-bottom, 0));max-width:640px;margin:0 auto}@media (min-width:1024px){.settings-container{padding:var(--space-6);padding-bottom:var(--space-8)}}.settings-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.settings-section+.settings-section{margin-top:var(--space-4)}.settings-section-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.settings-section-icon{width:36px;height:36px;border-radius:var(--radius-lg);background:var(--color-brand-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-brand)}.settings-section-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.settings-section-body{padding:var(--space-4)}.settings-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-3);display:block}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) ease-out}@media (hover:hover){.theme-option:hover:not(.theme-option-active){border-color:var(--color-border-hover);background:var(--color-bg-muted)}}.theme-option-active{border-color:var(--color-brand);background:var(--color-brand-subtle)}.theme-option-preview{width:48px;height:48px;border-radius:var(--radius-lg);border:1px solid var(--color-border);position:relative;overflow:hidden}.theme-option-preview-light{background:#FFFFFF;border-color:var(--neutral-200)}.theme-option-preview-dark{background:#1E293B;border-color:#334155}.theme-option-preview-system{background:linear-gradient(135deg,#FFFFFF 50%,#1E293B 0);border-color:var(--neutral-300)}.theme-option-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.settings-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-3);line-height:1.5}.settings-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0}.settings-info-row:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-info-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.settings-info-value{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.filter-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;height:var(--touch-target-min);padding:0 var(--space-4);display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) ease-out,transform var(--duration-instant) ease-out;white-space:nowrap}.filter-tab:active{transform:scale(.97)}@media (hover:hover){.filter-tab:hover:not(.filter-tab-active){border-color:var(--color-border-hover);color:var(--color-text-primary)}}.filter-tab-active{background:var(--color-brand);border-color:var(--color-brand);color:white}.section-tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);background:var(--color-bg-base);position:sticky;top:calc(var(--header-height) + env(safe-area-inset-top, 0));z-index:10}.section-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:1.5;font-weight:600;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) ease-out,transform var(--duration-instant) ease-out;text-align:center}.section-tab:active{transform:scale(.98)}@media (hover:hover){.section-tab:hover:not(.section-tab-active){color:var(--color-text-primary);background:var(--color-bg-muted)}}.section-tab-active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.product-list-image{width:48px;height:48px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.product-list-image-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.list-item-clickable{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast) ease-out;-webkit-tap-highlight-color:transparent}.list-item-clickable.list-item-flat{padding-left:0;padding-right:0;border-radius:0}@media (hover:hover){.list-item-clickable:hover{background:var(--color-bg-muted)}}.list-item-clickable:active{background:var(--color-bg-muted)}.list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);transition:background var(--duration-fast) ease-out}@media (hover:hover){.list-item:hover{background:var(--color-bg-muted)}}.balance-hero-container{position:relative;padding:var(--space-6);border-radius:var(--radius-2xl);background:var(--color-bg-surface);border:1px solid var(--color-border);overflow:hidden}.balance-hero__status-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);position:relative;z-index:1}.balance-hero__status{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-success)}.balance-hero__status--closed{color:var(--color-error)}.balance-hero__timestamp{font-size:var(--text-xs);color:var(--color-text-tertiary)}.caja-actions{display:flex;gap:var(--space-2)}.caja-actions--stacked{flex-direction:column;gap:var(--space-3)}.caja-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:transform var(--duration-instant) ease-out,filter var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.caja-action-btn:disabled{opacity:.4;cursor:not-allowed}@media (hover:hover){.caja-action-btn:hover:not(:disabled){filter:brightness(.92)}}.caja-action-btn:active:not(:disabled){transform:scale(.98);filter:brightness(.88)}.caja-action-btn__icon{width:22px;height:22px}.caja-action-btn--horizontal{flex-direction:row;justify-content:flex-start;align-items:center;gap:var(--space-4);text-align:left}.caja-action-btn--large{flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);text-align:center}.caja-action-btn--large .caja-action-btn__icon{width:36px;height:36px}.caja-action-btn--large .caja-action-btn__text{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.caja-action-btn--large .caja-action-btn__title{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.caja-action-btn--large .caja-action-btn__desc{font-size:var(--text-sm);font-weight:400;color:var(--color-text-tertiary);line-height:1.4}.movement-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-out-expo)}.session-card{position:relative;padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.session-card:hover{border-color:var(--color-brand);background:var(--color-brand-subtle)}.session-card:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-muted);border-radius:var(--radius-lg)}.session-stat{text-align:center}.session-stat__value{font-size:var(--text-lg);font-weight:700;font-family:var(--font-display);color:var(--color-text-primary)}.session-stat__label{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pinShake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-8px)}}@keyframes pinShakeError{0%{transform:translateX(0);background:var(--color-error)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-8px);background:var(--color-error)}80%{transform:translateX(0)}to{transform:translateX(0);background:var(--color-border)}}@keyframes page-header-back-enter{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes page-header-titles-shift{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes page-header-titles-return{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.balance-hero{font-size:var(--text-hero);font-weight:700;letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums;line-height:1;position:relative}.balance-hero.updating{animation:balance-bump var(--duration-normal) var(--ease-out-back)}@keyframes balance-bump{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.balance-pulse{position:relative}.balance-pulse:after{content:"";position:absolute;inset:-8px;border-radius:var(--radius-lg);pointer-events:none;opacity:0}.balance-pulse.ingreso:after{background:hsla(145,63%,42%,.15)}.balance-pulse.ingreso:after,.balance-pulse.retiro:after{animation:pulse-fade var(--duration-slow) var(--ease-out-expo) forwards}.balance-pulse.retiro:after{background:hsla(0,72%,51%,.08)}@keyframes pulse-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.modal-animated{animation:modal-enter var(--duration-normal) var(--ease-out-expo)}.modal-exit{animation:modal-exit var(--duration-normal) var(--ease-in)}@keyframes modal-enter{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-exit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(8px)}}.modal-backdrop-animated{animation:backdrop-enter var(--duration-fast) ease-out}.modal-backdrop-exit{animation:backdrop-exit var(--duration-normal) ease-in}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes backdrop-exit{0%{opacity:1}to{opacity:0}}.morph-panel{display:grid;transition:grid-template-rows var(--duration-normal) ease-out}.morph-panel-visible{grid-template-rows:1fr}.morph-panel-hidden{grid-template-rows:0fr}.morph-panel-inner{overflow:hidden;min-height:0}.morph-content{display:flex;flex-direction:column;gap:var(--space-4)}.morph-content-exit>.morph-item{animation:morph-item-exit var(--duration-instant) ease-in forwards}.morph-content-exit>.morph-item:first-child{animation-delay:0s}.morph-content-exit>.morph-item:nth-child(2){animation-delay:25ms}.morph-content-exit>.morph-item:nth-child(3){animation-delay:50ms}.morph-content-exit>.morph-item:nth-child(4){animation-delay:75ms}.morph-content-exit>.morph-item:nth-child(5){animation-delay:.1s}.morph-content-enter>.morph-item{animation:morph-item-enter var(--duration-instant) ease-out forwards;opacity:0}.morph-content-enter>.morph-item:first-child{animation-delay:0s}.morph-content-enter>.morph-item:nth-child(2){animation-delay:25ms}.morph-content-enter>.morph-item:nth-child(3){animation-delay:50ms}.morph-content-enter>.morph-item:nth-child(4){animation-delay:75ms}.morph-content-enter>.morph-item:nth-child(5){animation-delay:.1s}@keyframes morph-item-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes morph-item-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.morph-content-exit-back>.morph-item{animation:morph-item-exit-back var(--duration-instant) ease-in forwards}.morph-content-exit-back>.morph-item:first-child{animation-delay:0s}.morph-content-exit-back>.morph-item:nth-child(2){animation-delay:25ms}.morph-content-exit-back>.morph-item:nth-child(3){animation-delay:50ms}.morph-content-exit-back>.morph-item:nth-child(4){animation-delay:75ms}.morph-content-exit-back>.morph-item:nth-child(5){animation-delay:.1s}.morph-content-enter-back>.morph-item{animation:morph-item-enter-back var(--duration-instant) ease-out forwards;opacity:0}.morph-content-enter-back>.morph-item:first-child{animation-delay:0s}.morph-content-enter-back>.morph-item:nth-child(2){animation-delay:25ms}.morph-content-enter-back>.morph-item:nth-child(3){animation-delay:50ms}.morph-content-enter-back>.morph-item:nth-child(4){animation-delay:75ms}.morph-content-enter-back>.morph-item:nth-child(5){animation-delay:.1s}@keyframes morph-item-exit-back{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes morph-item-enter-back{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.morph-footer-wrapper{flex-shrink:0;display:grid;transition:grid-template-rows var(--duration-normal) ease-out}.morph-footer-expanded{grid-template-rows:1fr}.morph-footer-collapsed{grid-template-rows:0fr}.morph-footer-inner{overflow:hidden;min-height:0}.morph-footer{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end;width:100%;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg-surface)}.morph-footer-exit .morph-footer,.morph-footer-exit-back .morph-footer{animation:morph-footer-fade-out var(--duration-instant) ease-in forwards}.morph-footer-enter .morph-footer,.morph-footer-enter-back .morph-footer{animation:morph-footer-fade-in var(--duration-instant) ease-out forwards}.morph-footer-hidden .morph-footer{opacity:0}@keyframes morph-footer-fade-out{0%{opacity:1}to{opacity:0}}@keyframes morph-footer-fade-in{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--color-bg-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);width:100%;max-width:440px;max-height:calc(100vh - var(--space-8));z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.modal-title{flex:1;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);color:var(--color-text-tertiary);background:transparent;transition:background-color var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.modal-close:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}}.modal-close:active{transform:scale(.95)}.modal-body{padding:var(--space-5);flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.modal-body::-webkit-scrollbar{display:none}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end;flex-shrink:0;background:var(--color-bg-surface)}.modal-action-delete{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);color:var(--color-error);background:transparent;transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out;margin-right:auto}@media (hover:hover){.modal-action-delete:hover{background:var(--color-error-subtle)}}.modal-action-delete:active{transform:scale(.95)}.modal-action-edit{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);color:var(--color-text-secondary);background:transparent;transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.modal-action-edit:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}}.modal-action-edit:active{transform:scale(.95)}.modal-actions{gap:var(--space-3)}.modal-actions,.modal-back{display:flex;align-items:center}.modal-back{justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--duration-fast),background var(--duration-fast);margin-right:var(--space-2)}.modal-back:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-muted)}.modal-back:disabled{opacity:.5;cursor:not-allowed}.modal-back-container{display:flex;align-items:center;flex-shrink:0;overflow:hidden;transition:width var(--duration-normal) ease-out}.modal-back-visible{width:40px}.modal-back-hidden{width:0}.modal-back-hidden .modal-back{opacity:0;pointer-events:none}.modal-back-visible .modal-back{opacity:1}.bottom-sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:var(--z-modal-backdrop);animation:fadeIn var(--duration-fast) ease-out}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding-bottom:env(safe-area-inset-bottom,var(--space-4));z-index:var(--z-modal);animation:slideUp var(--duration-normal) ease-out;max-height:85vh;overflow-y:auto}.bottom-sheet-closing{animation:slideDown var(--duration-normal) ease-out forwards}.bottom-sheet-backdrop-closing{animation:fadeOut var(--duration-normal) ease-out forwards}.bottom-sheet-handle{display:flex;justify-content:center;padding:var(--space-3) 0}.bottom-sheet-handle-bar{width:36px;height:4px;background:var(--color-border);border-radius:var(--radius-full)}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border)}.bottom-sheet-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0}.bottom-sheet-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background var(--duration-fast) ease-out,color var(--duration-fast) ease-out}@media (hover:hover){.bottom-sheet-close:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}}.bottom-sheet-content{padding:var(--space-2) 0}.text-brand{color:var(--color-brand)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-brand{background-color:var(--color-brand)}.bg-brand-subtle{background-color:var(--color-brand-subtle)}.bg-cash{background-color:var(--color-cash)}.bg-yape{background-color:var(--color-yape)}.bg-pos{background-color:var(--color-pos)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}