@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,var(--accent-shadow) 0%,transparent 70%);top:-200px;right:-200px;animation:float 15s ease-in-out infinite}.auth-container:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,var(--primary-shadow) 0%,transparent 70%);bottom:-150px;left:-150px;animation:float 12s ease-in-out infinite reverse}.auth-card{background:var(--bg-card);border-radius:24px;padding:48px 40px;width:100%;max-width:420px;box-shadow:var(--shadow-xl);position:relative;z-index:1;animation:slideUp .6s ease-out}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 20px -4px var(--primary-shadow)}.auth-logo-icon svg{width:32px;height:32px;color:#fff}.auth-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.5px}.auth-subtitle{color:var(--text-secondary);font-size:15px}.auth-card .form-input-icon svg{width:20px;height:20px}@media(max-width:640px){.auth-card{padding:32px 24px}}.alert{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--text-primary);color:#fff;padding:14px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);z-index:1001;animation:alertSlide .3s ease-out}.alert.error{background:var(--danger)}.alert.success{background:var(--success)}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border-radius:20px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s ease-out}.modal-header{padding:24px 24px 0;display:flex;align-items:center;gap:12px}.modal-back{width:36px;height:36px;border-radius:8px;border:none;background:var(--bg-light);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-back:hover{background:var(--border)}.modal-title{font-size:20px;font-weight:700;color:var(--text-primary)}.modal-body{padding:24px}.theme-toggle{background:var(--surface);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 2px 8px var(--shadow)}.menu-container{position:relative}.menu-toggle{width:40px;height:40px;border-radius:50%;background:var(--overlay-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.menu-toggle:hover{background:var(--overlay-medium);transform:scale(1.05)}.menu-toggle svg{width:20px;height:20px}.menu-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;animation:fadeIn .2s ease}.menu{position:fixed;left:0;top:0;height:100vh;width:280px;background:var(--bg-card);box-shadow:4px 0 16px #00000026;z-index:999;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto}.menu.menu-open{transform:translate(0)}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.menu-user{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.menu-close{width:32px;height:32px;border-radius:8px;background:var(--bg-light);border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.menu-close:hover{background:var(--border)}.menu-close svg{width:18px;height:18px}.menu-content{flex:1;padding:16px 0;display:flex;flex-direction:column;gap:0}.menu-section{padding:8px 0}.menu-section-title{display:block;padding:12px 24px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.menu-divider{height:1px;background:var(--border)}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 24px;background:transparent;border:none;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.menu-item:hover{background:var(--bg-light);color:var(--primary)}.menu-item svg{width:18px;height:18px;flex-shrink:0}.menu-item span{flex:1}.menu-logout{color:var(--danger);margin-top:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.menu-logout:hover{background:#ef44441a}@media(max-width:640px){.menu{width:240px}.menu-header{padding:20px 16px}.menu-section-title,.menu-item{padding:12px 16px}}.header{position:fixed;top:0;left:0;right:0;z-index:50;padding:20px 24px;display:flex;justify-content:center;align-items:center;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-center{display:flex;align-items:center;justify-content:center}.header-spacer{flex:1}.header-stats{background:var(--overlay-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;font-family:Space Mono,monospace}@media(max-width:640px){.header{padding:16px}}.filter-bar{position:fixed;z-index:10;top:76px;left:0;right:0;width:calc(100% - 48px);background:var(--bg-card);margin:0 24px 16px;border-radius:var(--radius);padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);animation:slideDown .3s ease-out}.filter-input{flex:1;padding:10px 14px;font-size:14px;font-family:inherit;border:2px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:all .2s ease;background:var(--bg-light);color:var(--text-primary)}.filter-input:focus{border-color:var(--primary)}.filter-btn{padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:all .2s ease}.filter-btn:hover{background:var(--primary-dark)}.filter-btn-clear{background:var(--border);color:var(--text-secondary)}.filter-btn-clear:hover{background:var(--text-muted);color:#fff}.filter-btn-close{background:transparent;color:var(--text-muted);padding:8px;border-radius:6px}.filter-btn-close:hover{background:var(--bg-light);color:var(--danger)}.filter-btn svg{width:16px;height:16px}@media(max-width:640px){.filter-bar{margin:0 16px 12px;0 16px 12px flex-wrap: wrap}}.fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 24px -4px var(--accent-shadow);display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100}.fab:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 12px 28px -4px var(--accent-shadow)}.fab svg{width:28px;height:28px}.task-header-sticky{position:relative;z-index:50;margin-top:76px}.task-header-with-filter{margin-top:152px}.task-card{background:var(--bg-card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;animation:fadeInUp .4s ease-out;animation-fill-mode:both}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-light) 100%);opacity:0;transition:opacity .2s ease}.task-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.task-card:hover:before{opacity:1}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.task-id{font-family:Space Mono,monospace;font-size:11px;color:var(--text-muted);background:var(--bg-light);padding:4px 8px;border-radius:4px}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.task-card:hover .task-actions{opacity:1}.task-action-btn{width:32px;height:32px;border-radius:6px;border:none;background:var(--bg-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.task-action-btn svg{width:16px;height:16px}.task-action-btn:hover{background:var(--primary);color:#fff}.task-action-btn.delete:hover{background:var(--danger)}.task-description{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;line-height:1.4}.task-times{display:flex;gap:24px}.task-time{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.task-time svg{width:16px;height:16px;color:var(--text-muted)}.task-time-label{font-weight:500;color:var(--text-muted)}@media(max-width:640px){.task-times{flex-direction:column;gap:8px}}.modal-overlay .modal:has(.datetime-picker){max-width:30%}@media(max-width:640px){.modal-overlay .modal:has(.datetime-picker){max-width:90%}}.datetime-picker{padding:20px}.datetime-tabs{display:flex;gap:8px;margin-bottom:20px}.datetime-tab{flex:1;padding:12px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.datetime-tab.active{border-color:var(--primary);background:var(--primary-bg-light);color:var(--primary)}.calendar{margin-bottom:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-nav{display:flex;gap:8px}.calendar-nav-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.calendar-month{font-weight:600;font-size:16px;color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-header{text-align:center;font-size:12px;font-weight:500;color:var(--text-muted);padding:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;cursor:pointer;transition:all .15s ease;color:var(--text-primary)}.calendar-day:hover:not(.empty):not(.selected){background:var(--bg-light)}.calendar-day.selected{background:var(--primary);color:#fff;font-weight:600}.calendar-day.today{border:2px solid var(--primary)}.calendar-day.empty{cursor:default}.calendar-day.other-month{color:var(--text-muted)}.time-picker{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px}.time-input{width:80px;padding:16px;font-size:24px;font-family:Space Mono,monospace;text-align:center;border:2px solid var(--border);border-radius:var(--radius-sm);outline:none;background:var(--bg-card);color:var(--text-primary)}.time-input:focus{border-color:var(--primary)}.time-separator{font-size:24px;font-weight:700;color:var(--text-muted)}.suggestions-list{background:var(--bg-card);border:2px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:150px;overflow-y:auto;margin-top:-8px;position:relative;z-index:10}.suggestion-item{padding:12px 16px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background .15s ease}.suggestion-item:hover{background:var(--bg-light)}.form-input-icon svg{width:20px;height:20px}.confirm-dialog{text-align:center;padding:20px}.confirm-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--danger-bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--danger)}.confirm-icon svg{width:32px;height:32px}.confirm-title{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.confirm-text{color:var(--text-secondary);margin-bottom:24px}.confirm-buttons{display:flex;gap:12px;justify-content:center}.empty-state{text-align:center;padding:60px 20px;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow)}.empty-state-icon{width:80px;height:80px;margin:0 auto 20px;background:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.empty-state-icon svg{width:40px;height:40px}.empty-state-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-text{color:var(--text-secondary);max-width:280px;margin:0 auto}// TaskScreen.css .app-container{min-height:100vh;background:linear-gradient(135deg,var(--gradient-bg-start) 0%,var(--gradient-bg-end) 100%);position:relative}.app-container:before{content:"";position:fixed;top:0;left:0;right:0;height:300px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);z-index:0}.content{position:relative;z-index:5;padding:0 24px 100px}.task-list{display:flex;flex-direction:column;gap:12px}.load-more-container{display:flex;justify-content:center;margin:24px 0}.load-more-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;padding:14px 24px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.load-more-btn:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-shadow)}.load-more-spinner{display:flex;justify-content:center;padding:30px 0}.spinner{width:40px;height:40px;border:4px solid var(--spinner-track);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.end-of-list{text-align:center;padding:24px;color:var(--text-muted);font-size:14px}@media(max-width:640px){.content{padding:0 16px 100px}}.month-year-picker{display:flex;flex-direction:column;gap:12px}.picker-nav{display:flex;align-items:center;gap:12px}.nav-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-light);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{background:var(--border);border-color:var(--primary)}.nav-btn svg{width:20px;height:20px}.picker-selects{display:flex;flex:1;gap:8px}.picker-select{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-light);color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.picker-select:hover{border-color:var(--primary)}.picker-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg-light)}.selected-period{text-align:center;font-size:18px;font-weight:700;color:var(--primary);padding:8px;background:var(--primary-bg-light);border-radius:var(--radius-sm)}@media(max-width:480px){.picker-selects{flex-direction:column}}.format-selector{display:flex;flex-direction:column;gap:16px}.format-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.format-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-light);cursor:pointer;transition:all .2s ease}.format-option:hover{border-color:var(--primary-light)}.format-option.selected{border-color:var(--primary);background:var(--primary-bg-light)}.format-option input{position:absolute;opacity:0;pointer-events:none}.format-icon{font-size:24px}.format-label{font-size:16px;font-weight:600;color:var(--text-primary)}.format-desc{font-size:12px;color:var(--text-muted);text-align:center}.checkbox-option{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-light);cursor:pointer}.checkbox-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.checkbox-label{font-size:14px;font-weight:500;color:var(--text-primary)}.checkbox-hint{width:100%;font-size:12px;color:var(--text-muted);margin-left:26px}@media(max-width:480px){.format-options{grid-template-columns:1fr}}.download-actions{margin-top:8px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:var(--radius);font-size:15px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-shadow)}.btn-spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.download-screen{display:flex;flex-direction:column;gap:24px}.download-section{display:flex;flex-direction:column;gap:12px}.section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.section-title svg{width:18px;height:18px}:root{--primary: #60a5fa;--primary-light: #93c5fd;--primary-dark: #1e3a8a;--accent: #f59e0b;--accent-light: #fcd34d;--success: #10b981;--danger: #ef4444;--danger-dark: #dc2626;--bg-light: #f8fafc;--bg-card: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius: 12px;--radius-sm: 8px;--gradient-bg-start: #f8fafc;--gradient-bg-end: #e2e8f0;--overlay-light: rgba(255, 255, 255, .15);--overlay-medium: rgba(255, 255, 255, .25);--hover-overlay: rgba(0, 0, 0, .05);--danger-bg-light: #fee2e2;--primary-bg-light: rgba(30, 64, 175, .05);--accent-shadow: rgba(245, 158, 11, .5);--primary-shadow: rgba(30, 64, 175, .4);--spinner-track: #e2e8f0;--modal-overlay: rgba(15, 23, 42, .6)}.dark-mode{--primary: #1e40af;--primary-light: #3b82f6;--primary-dark: #3b82f6;--accent: #fbbf24;--accent-light: #fcd34d;--success: #34d399;--danger: #f87171;--danger-dark: #ef4444;--bg-light: #1f2937;--bg-card: #111827;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--border: #374151;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 8px 10px -6px rgb(0 0 0 / .5);--gradient-bg-start: #111827;--gradient-bg-end: #1f2937;--overlay-light: rgba(255, 255, 255, .1);--overlay-medium: rgba(255, 255, 255, .15);--hover-overlay: rgba(255, 255, 255, .05);--danger-bg-light: #7f1d1d;--primary-bg-light: rgba(96, 165, 250, .1);--accent-shadow: rgba(251, 191, 36, .4);--primary-shadow: rgba(96, 165, 250, .3);--spinner-track: #374151;--modal-overlay: rgba(0, 0, 0, .8)}*{margin:0;padding:0;box-sizing:border-box}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-light);color:var(--text-primary);min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;outline:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:0 4px 12px -2px var(--primary-shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px -2px var(--primary-shadow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--primary);border:2px solid var(--border)}.btn-secondary:hover{border-color:var(--primary);background:var(--primary-bg-light)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-dark)}.btn-full{width:100%}.btn-icon{padding:10px;border-radius:50%;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.btn-icon:hover{background:var(--hover-overlay);color:var(--text-primary)}.btn-group{display:flex;gap:12px;margin-top:24px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-input{width:100%;padding:14px 16px;font-size:15px;font-family:inherit;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-light);color:var(--text-primary);transition:all .2s ease;outline:none}.form-input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px #1e40af1a}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-input-wrapper{position:relative}.form-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.form-input-icon:hover{color:var(--primary);background:var(--primary-bg-light)}.form-input-icon:hover{color:var(--primary);background:#1e40af1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-3deg)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertSlide{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%)}
