.offline-banner[data-v-3b99f3e2],.sync-banner[data-v-3b99f3e2]{position:fixed;top:0;left:0;right:0;padding:8px 16px;text-align:center;z-index:1000;font-size:14px;display:flex;align-items:center;justify-content:center;gap:.5rem}.offline-banner[data-v-3b99f3e2]{background:#fef3c7;color:#92400e}.sync-banner[data-v-3b99f3e2]{background:#dbeafe;color:#1e40af}.spinning[data-v-3b99f3e2]{display:inline-block;animation:spin-3b99f3e2 1s linear infinite}@keyframes spin-3b99f3e2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-enter-active[data-v-3b99f3e2],.slide-leave-active[data-v-3b99f3e2]{transition:transform .3s ease}.slide-enter-from[data-v-3b99f3e2],.slide-leave-to[data-v-3b99f3e2]{transform:translateY(-100%)}.bottom-nav[data-v-e2c61645]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--border-color);z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item[data-v-e2c61645]{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem;text-decoration:none;color:var(--text-muted);transition:color .2s}.nav-item.active[data-v-e2c61645]{color:var(--primary-color)}.nav-icon[data-v-e2c61645]{font-size:1.5rem}.nav-label[data-v-e2c61645]{font-size:.75rem;margin-top:.25rem}.install-prompt[data-v-5ec3fa24]{position:fixed;bottom:80px;left:1rem;right:1rem;max-width:400px;margin:0 auto;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 20px #00000026;z-index:100}.install-content[data-v-5ec3fa24]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.install-icon[data-v-5ec3fa24]{font-size:2rem}.install-text[data-v-5ec3fa24]{flex:1}.install-text strong[data-v-5ec3fa24]{display:block;margin-bottom:.25rem}.install-text p[data-v-5ec3fa24]{margin:0;font-size:.875rem;color:var(--text-muted)}.install-actions[data-v-5ec3fa24]{display:flex;justify-content:flex-end;gap:.5rem}.btn-small[data-v-5ec3fa24]{padding:.5rem 1rem;font-size:.875rem}.btn-text[data-v-5ec3fa24]{color:var(--text-muted);padding:.5rem 1rem}.slide-up-enter-active[data-v-5ec3fa24],.slide-up-leave-active[data-v-5ec3fa24]{transition:all .3s ease}.slide-up-enter-from[data-v-5ec3fa24],.slide-up-leave-to[data-v-5ec3fa24]{opacity:0;transform:translateY(20px)}.toast-container[data-v-cd48402e]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;width:90%;max-width:400px;pointer-events:none}.toast[data-v-cd48402e]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background:#fff;pointer-events:auto}.toast.success[data-v-cd48402e]{background:#d1fae5;color:#065f46}.toast.error[data-v-cd48402e]{background:#fee2e2;color:#991b1b}.toast.warning[data-v-cd48402e]{background:#fef3c7;color:#92400e}.toast.info[data-v-cd48402e]{background:#dbeafe;color:#1e40af}.toast-icon[data-v-cd48402e]{font-size:1.25rem;flex-shrink:0}.toast-message[data-v-cd48402e]{flex:1;font-size:.875rem}.toast-close[data-v-cd48402e]{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.5;padding:0;line-height:1}.toast-close[data-v-cd48402e]:hover{opacity:1}.toast-enter-active[data-v-cd48402e],.toast-leave-active[data-v-cd48402e]{transition:all .3s ease}.toast-enter-from[data-v-cd48402e],.toast-leave-to[data-v-cd48402e]{opacity:0;transform:translateY(20px)}.toast-move[data-v-cd48402e]{transition:transform .3s ease}#app{min-height:100vh;padding-bottom:70px}:root{--primary-color: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--secondary-color: #64748b;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-color: #f1f5f9;--bg-white: #ffffff;--bg-card: #ffffff;--text-color: #1e293b;--text-muted: #64748b;--text-light: #94a3b8;--border-color: #e2e8f0;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--header-height: 56px;--nav-height: 64px;--max-width: 480px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-color);background:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;max-width:var(--max-width);margin:0 auto;background:var(--bg-color)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--text-color)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin-bottom:.5rem}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;font-weight:500;border-radius:var(--border-radius);transition:background var(--transition-fast),transform var(--transition-fast)}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:var(--text-light);cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-color);color:var(--text-color);font-weight:500;border-radius:var(--border-radius);border:1px solid var(--border-color);transition:background var(--transition-fast)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;background:var(--danger-color);color:#fff;font-weight:500;border-radius:var(--border-radius);transition:background var(--transition-fast)}.btn-danger:hover{background:#dc2626}.btn-text{color:var(--primary-color);font-weight:500;padding:.5rem}.btn-text:hover{text-decoration:underline}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:var(--font-size-sm);color:var(--text-color)}.form-input{width:100%;padding:.75rem 1rem;font-size:var(--font-size-base);font-family:inherit;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--text-light)}.form-input:disabled{background:var(--bg-color);cursor:not-allowed}.form-error{color:var(--danger-color);font-size:var(--font-size-sm);margin-top:.25rem}.card{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:var(--border-radius-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0}.modal-close{font-size:1.5rem;color:var(--text-muted);padding:.25rem;line-height:1}.modal-body{padding:1rem}.modal-footer{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--border-color)}.modal-footer .btn-primary{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.checkbox-wrapper{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-custom{width:24px;height:24px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.checkbox-custom.checked{background:var(--success-color);border-color:var(--success-color);color:#fff}.list-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--border-color)}.list-item:last-child{border-bottom:none}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:var(--border-radius)}.rounded-full{border-radius:9999px}.shadow{box-shadow:var(--shadow)}.shadow-lg{box-shadow:var(--shadow-lg)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}.pwa-install-prompt{position:fixed;bottom:80px;left:1rem;right:1rem;max-width:calc(var(--max-width) - 2rem);margin:0 auto;background:#fff;border-radius:var(--border-radius);padding:1rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:1rem;z-index:90;animation:slideUp .3s ease}.pwa-install-prompt .icon{font-size:2rem}.pwa-install-prompt .content{flex:1}.pwa-install-prompt .title{font-weight:600;margin-bottom:.25rem}.pwa-install-prompt .subtitle{font-size:var(--font-size-sm);color:var(--text-muted)}.pwa-install-prompt .actions{display:flex;gap:.5rem}.swipe-item{position:relative;overflow:hidden}.swipe-actions{position:absolute;top:0;right:0;bottom:0;display:flex}.swipe-action{display:flex;align-items:center;justify-content:center;width:80px;color:#fff;font-weight:500}.swipe-action.edit{background:var(--primary-color)}.swipe-action.delete{background:var(--danger-color)}.pull-indicator{display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.empty-state .icon{font-size:4rem;margin-bottom:1rem}.empty-state .title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:.5rem}.empty-state .description{color:var(--text-muted);margin-bottom:1.5rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;font-size:var(--font-size-xs);font-weight:500;border-radius:9999px;background:var(--primary-color);color:#fff}.badge.success{background:var(--success-color)}.badge.warning{background:var(--warning-color)}.badge.danger{background:var(--danger-color)}.badge.muted{background:var(--text-light)}.progress{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:var(--success-color);transition:width var(--transition-normal)}.skeleton{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-color) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--border-radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;top:1rem;left:1rem;right:1rem;max-width:calc(var(--max-width) - 2rem);margin:0 auto;z-index:200;display:flex;flex-direction:column;gap:.5rem}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--text-color);color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.toast.success{background:var(--success-color)}.toast.error{background:var(--danger-color)}.toast.warning{background:var(--warning-color)}@media (prefers-color-scheme: dark){:root.auto-dark{--bg-color: #0f172a;--bg-white: #1e293b;--bg-card: #1e293b;--text-color: #f1f5f9;--text-muted: #94a3b8;--text-light: #64748b;--border-color: #334155}}@media print{.no-print{display:none!important}}@media (hover: none){.btn-primary:active,.btn-secondary:active,.list-item:active{opacity:.8}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-slow)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--transition-slow)}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-20px)}.scale-enter-active,.scale-leave-active{transition:all var(--transition-normal)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}.list-enter-active,.list-leave-active{transition:all var(--transition-slow)}.list-enter-from,.list-leave-to{opacity:0;transform:translate(-30px)}.list-move{transition:transform var(--transition-slow)}.list-leave-active{position:absolute;width:100%}.item-enter-active{transition:all var(--transition-slow)}.item-leave-active{transition:all var(--transition-normal)}.item-enter-from{opacity:0;transform:translateY(-10px)}.item-leave-to{opacity:0;transform:translate(30px)}.item-move{transition:transform var(--transition-slow)}.expand-enter-active,.expand-leave-active{transition:all var(--transition-slow);overflow:hidden}.expand-enter-from,.expand-leave-to{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.modal-enter-active,.modal-leave-active{transition:opacity var(--transition-normal)}.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition:all var(--transition-slow)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-content,.modal-leave-to .modal-content{opacity:0;transform:scale(.95) translateY(20px)}.stagger-enter-active{transition:all var(--transition-slow)}.stagger-enter-from{opacity:0;transform:translateY(20px)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce .5s ease-in-out}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.animate-check{animation:checkmark .3s ease-out}@keyframes progress-fill{0%{width:0}}.animate-progress{animation:progress-fill .5s ease-out}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.ripple:active:after{width:200px;height:200px}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.press-effect{transition:transform var(--transition-fast)}.press-effect:active{transform:scale(.98)}@keyframes loading-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;background:currentColor;border-radius:50%;animation:loading-dots 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
