@keyframes gradient-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes count-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes permission-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}.permission-cell-dirty{animation:1.2s ease-in-out infinite permission-pulse}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.animate-shake{animation:.4s ease-in-out shake}@keyframes success-pop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-success-pop{animation:.35s forwards success-pop}@keyframes check-draw{to{stroke-dashoffset:0}}.success-check-anim{stroke-dasharray:100;stroke-dashoffset:100px;animation:.5s .2s forwards check-draw}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.4}}.status-pulse{animation:2s ease-in-out infinite status-pulse}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-enter{animation:card-enter .4s var(--transition-expo) forwards}.stagger-children>*{opacity:0;animation:slide-up .4s var(--transition-expo) forwards}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(9){animation-delay:.45s}.stagger-children>:nth-child(10){animation-delay:.5s}.stagger-grid>*{opacity:0;animation:card-enter .4s var(--transition-expo) forwards}.stagger-grid>:first-child{animation-delay:30ms}.stagger-grid>:nth-child(2){animation-delay:80ms}.stagger-grid>:nth-child(3){animation-delay:.13s}.stagger-grid>:nth-child(4){animation-delay:.18s}.stagger-grid>:nth-child(5){animation-delay:.23s}.stagger-grid>:nth-child(6){animation-delay:.28s}.stagger-grid>:nth-child(7){animation-delay:.33s}.stagger-grid>:nth-child(8){animation-delay:.38s}.stagger-grid>:nth-child(9){animation-delay:.43s}.stagger-grid>:nth-child(10){animation-delay:.48s}.skeleton{background:linear-gradient(90deg, var(--muted) 0%, var(--border) 40%, var(--muted) 80%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite shimmer}.toast-container{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{pointer-events:auto;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-level-3);min-width:300px;max-width:420px;animation:toast-in .3s var(--transition-expo) forwards;border-radius:1rem;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.toast.toast-exit{animation:.25s forwards toast-out}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--primary)}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--foreground);margin-bottom:.125rem}.toast-message{font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.toast-close{border-radius:var(--radius-md);color:var(--muted-foreground);cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;padding:.25rem}.toast-close:hover{background:var(--muted);color:var(--foreground)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.empty-state-icon{border-radius:var(--radius-xl);background:var(--muted);width:4rem;height:4rem;color:var(--muted-foreground);justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.empty-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--foreground);font-family:var(--font-display);margin-bottom:.375rem}.empty-state-description{font-size:var(--text-sm);color:var(--muted-foreground);max-width:320px;line-height:var(--leading-relaxed);margin-bottom:1.25rem}.pressable:active{transition:transform .1s;transform:scale(.97)}.card-lift{transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}.card-lift:hover{box-shadow:var(--shadow-level-3);transform:translateY(-3px)}.error-card{border-radius:var(--radius-2xl);text-align:center;background:linear-gradient(135deg,#ef44440d,#ef444405);border:1px solid #ef444426;padding:1.25rem}.skip-link{z-index:calc(var(--z-tooltip) + 10);background:var(--primary);color:#fff;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:.5rem 1rem;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.count-up{animation:.4s count-pulse;display:inline-block}.progress-ring-circle{transform-origin:50%;transition:stroke-dashoffset .5s;transform:rotate(-90deg)}.page-enter{animation:slide-right .3s var(--transition-expo) forwards}.page-exit{animation:.2s reverse forwards scale-in}.bento-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (min-width:768px){.bento-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.bento-grid>:first-child{grid-column:span 2}.bento-grid>:nth-child(2){grid-row:span 2}}@media (min-width:1024px){.bento-grid{grid-template-columns:1fr 1fr 1fr}.bento-grid>:first-child{grid-area:span 2/span 2}}
