*{box-sizing:border-box;margin:0;padding:0}html{width:100vw;height:100vh;overflow:hidden}:root,[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#e2e8f0;--bg-hover:#dbeafe;--text-primary:#1e293b;--text-secondary:#334155;--text-tertiary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-color:#0000000f;--shadow-medium:#0000001a;--shadow-heavy:#00000026;--overlay-bg:#0f172a80;--accent-color:#3b82f6;--accent-hover:#2563eb;--accent-light:#dbeafe;--accent-gradient:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--success-color:#22c55e;--success-light:#dcfce7;--warning-color:#f59e0b;--warning-light:#fef3c7;--danger-color:#ef4444;--danger-light:#fee2e2;--modal-bg:#fff;--input-bg:#fff;--card-bg:#fff;--sidebar-bg:#f8fafc;--day-other-month:#f1f5f9;--today-bg:#dbeafe;--glass-bg:#fffffff2;--glass-border:#00000014}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-hover:#475569;--text-primary:#f1f5f9;--text-secondary:#e2e8f0;--text-tertiary:#94a3b8;--text-muted:#64748b;--border-color:#334155;--border-light:#475569;--shadow-color:#0006;--shadow-medium:#00000080;--shadow-heavy:#0009;--overlay-bg:#000000bf;--accent-color:#60a5fa;--accent-hover:#3b82f6;--accent-light:#1e3a5f;--accent-gradient:linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);--success-color:#34d399;--success-light:#064e3b;--warning-color:#fbbf24;--warning-light:#78350f;--danger-color:#f87171;--danger-light:#7f1d1d;--modal-bg:#1e293b;--input-bg:#334155;--card-bg:#1e293b;--sidebar-bg:#0f172a;--day-other-month:#1e293b;--today-bg:#1e3a5f;--glass-bg:#1e293bcc;--glass-border:#ffffff1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100vh;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);overflow:hidden}#root{width:100vw;height:100vh;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-color);color:#fff}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}button,input,select,textarea{font-family:inherit}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.event-item{color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #00000026;border-radius:4px;align-items:center;gap:4px;max-width:90%;margin-bottom:1px;padding:2px 6px;font-size:10px;transition:all .15s;display:flex;overflow:hidden}.event-item:hover{z-index:10;transform:translate(2px);box-shadow:0 2px 6px #0003}.event-item.has-conflict{border-left:2px solid #f44;animation:2s infinite pulse-conflict}@keyframes pulse-conflict{0%,to{box-shadow:0 0 #f446}50%{box-shadow:0 0 0 3px #f440}}.event-time{opacity:.9;font-size:9px;font-weight:600}.event-title{text-overflow:ellipsis;flex:1;font-size:10px;overflow:hidden}.conflict-indicator{margin-left:2px;font-size:10px}.complete-btn{cursor:pointer;color:#fff;opacity:0;background:#ffffff4d;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin-left:auto;font-size:12px;font-weight:700;transition:all .2s;display:flex}.event-item:hover .complete-btn{opacity:1}.complete-btn:hover{background:#ffffff80;transform:scale(1.1)}.complete-btn.undo{background:#ffc10780}.complete-btn.undo:hover{background:#ffc107b3}.event-item.completed{opacity:.7}.event-title.completed-title{text-decoration:line-through}.completed-indicator{margin-left:2px;font-size:10px}.calendar-day{background:var(--bg-primary);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;flex-direction:column;min-height:100px;padding:4px;transition:background .2s;display:flex;overflow:hidden}[data-theme=light] .calendar-day{background:#fff}.calendar-day:hover{background:var(--bg-tertiary)}[data-theme=light] .calendar-day:hover{background:#f1f5f9}.calendar-day.other-month{background:var(--day-other-month)}[data-theme=light] .calendar-day.other-month{background:#eff5fe}.calendar-day.other-month .day-number{color:var(--text-muted);opacity:.5}.calendar-day.today{background:var(--today-bg)}[data-theme=light] .calendar-day.today{background:#dbeafe}.calendar-day.selected{background:var(--accent-light);box-shadow:inset 0 0 0 2px var(--accent-color)}.calendar-day.selected .day-number{background:var(--accent-color);color:#fff;font-weight:600}.day-header{justify-content:space-between;align-items:center;padding:2px;display:flex}.quick-add-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .2s;display:flex}.calendar-day:hover .quick-add-btn{opacity:1}.quick-add-btn:hover{background:var(--accent-color);color:#fff}.day-number{color:var(--text-muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;padding:4px;font-size:12px;font-weight:500;display:flex}.day-number.today-number{background:var(--accent-color);color:#fff;font-weight:600}.day-events{flex-direction:column;flex:1;gap:3px;padding:6px 10px;display:flex;overflow:hidden}.more-events{color:var(--accent-color);cursor:pointer;text-align:left;background:var(--accent-light);border-radius:4px;max-width:90%;padding:2px 6px;font-size:10px;font-weight:600}.more-events:hover{background:var(--accent-color);color:#fff}.day-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.day-view-header{border-bottom:1px solid var(--border-color);background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);padding:20px 28px}.day-view-date{align-items:center;gap:16px;display:flex}.day-name{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:600}.day-number-large{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:600;line-height:1}.month-name{color:var(--text-tertiary);font-size:14px;font-weight:500}.day-view-body{background:var(--bg-primary);flex:1;display:flex;overflow-y:auto}.time-column{border-right:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;width:80px}.time-slot-label{height:60px;color:var(--text-muted);text-align:right;box-sizing:border-box;padding:6px 12px;font-size:11px;font-weight:500}.events-column{flex:1;min-height:1440px;position:relative}.time-grid{position:absolute;inset:0}.time-slot-row{border-bottom:1px solid var(--border-color);box-sizing:border-box;height:60px;transition:background .15s}.time-slot-row:nth-child(odd){background:var(--bg-primary)}.time-slot-row:nth-child(2n){background:var(--bg-secondary)}.time-slot-row:hover{background:var(--bg-tertiary)}.events-container{pointer-events:none;position:absolute;inset:0 12px}.day-event{cursor:pointer;pointer-events:auto;z-index:1;border-left:4px solid #00000026;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #00000026}.day-event:hover{transform:scale(1.02)translate(4px);box-shadow:0 8px 24px #0003;z-index:100!important}.day-event.completed{opacity:.65}.day-event-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;overflow:hidden}.day-event-content.horizontal{flex-direction:row;align-items:center;gap:10px}.day-event-content.horizontal .day-event-title{flex:1;min-width:0}.day-event-content.horizontal .day-event-time{flex-shrink:0;font-size:11px}.day-event.compact{align-items:center;padding:2px 8px}.day-event.compact .day-event-complete{width:20px;min-width:20px;height:20px;font-size:10px}.day-event-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:1px 1px 2px #00000080,0 0 4px #0000004d;letter-spacing:.3px;font-size:14px;font-weight:700;overflow:hidden}.day-event-title.completed-text{text-decoration:line-through}.day-event-time{color:#fffffff2;text-shadow:0 1px 2px #0000004d;font-size:12px;font-weight:500}.day-event-complete{cursor:pointer;color:#fff;opacity:0;background:#ffffff4d;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.day-event:hover .day-event-complete{opacity:1}.day-event-complete:hover{background:#ffffff80;transform:scale(1.1)}.day-event-complete.undo{background:#ffc10780}.no-events-day{text-align:center;color:var(--text-muted);pointer-events:auto;font-size:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.week-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.week-view-header{border-bottom:1px solid var(--border-color);background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);flex-shrink:0;display:flex}.week-time-spacer{border-right:1px solid var(--border-color);flex-shrink:0;width:70px}.week-day-header{text-align:center;border-right:1px solid var(--border-color);flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 10px;transition:background .2s;display:flex}.week-day-header:last-child{border-right:none}.week-day-header.today{background:var(--today-bg)}.week-day-header.selected{background:var(--accent-light)}.week-day-name{text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;font-size:11px;font-weight:600}.week-day-number{color:var(--text-secondary);font-size:26px;font-weight:500;transition:all .2s}.week-day-number.today-number{background:var(--accent-gradient);color:#fff;width:44px;height:44px;box-shadow:0 4px 12px var(--shadow-color);border-radius:14px;justify-content:center;align-items:center;font-weight:600;display:flex}.week-day-number.selected-number{background:var(--accent-color);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:600;display:flex}.week-view-body{flex:1;display:flex;overflow-y:auto}.week-time-column{border-right:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;width:70px}.week-time-label{height:50px;color:var(--text-muted);text-align:right;box-sizing:border-box;padding:4px 10px;font-size:10px;font-weight:500}.week-grid{flex:1;min-height:1200px;display:flex}.week-day-column{border-right:1px solid var(--border-color);flex:1;position:relative}.week-day-column.selected{background:var(--accent-light)}.week-day-column:last-child{border-right:none}.week-day-slots{position:absolute;inset:0}.week-time-slot{border-bottom:1px solid var(--border-color);box-sizing:border-box;height:50px;transition:background .15s}.week-time-slot:nth-child(odd){background:var(--bg-primary)}.week-time-slot:nth-child(2n){background:var(--bg-secondary)}.week-time-slot:hover{background:var(--bg-tertiary)}.week-events-container{pointer-events:none;position:absolute;inset:0 4px}.week-event{cursor:pointer;pointer-events:auto;z-index:1;border-left:3px solid #00000026;border-radius:8px;flex-direction:column;gap:2px;padding:4px 6px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px #00000026}.week-event.compact{flex-direction:row;align-items:center;padding:1px 4px}.week-event-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;overflow:hidden}.week-event-content.horizontal{flex-direction:row;align-items:center}.week-event:hover{transform:scale(1.05)translateY(-2px);box-shadow:0 6px 16px #00000040;z-index:100!important}.week-event.completed{opacity:.65}.week-event-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:1px 1px 2px #00000080;letter-spacing:.3px;font-size:12px;font-weight:700;overflow:hidden}.week-event-title.completed-text{opacity:.8;text-decoration:line-through}.week-event-time{color:#fffffff2;text-shadow:1px 1px 2px #00000080;font-size:10px;font-weight:600}.week-event-complete{cursor:pointer;color:#fff;opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff59;border:none;border-radius:8px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:3px;right:3px}.week-event-complete.compact-btn{width:16px;height:16px;font-size:9px;top:50%;transform:translateY(-50%)}.week-event:hover .week-event-complete{opacity:1}.week-event:hover .week-event-complete.compact-btn{transform:translateY(-50%)}.week-event-complete:hover{background:#ffffff80;transform:scale(1.1)}.week-event-complete.compact-btn:hover{transform:translateY(-50%)scale(1.1)}.week-event-complete.undo{background:#ffc10780}.year-view{background:var(--bg-primary);flex:1;padding:24px;overflow-y:auto}.year-view-title{color:var(--text-primary);text-align:center;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:32px;font-size:32px;font-weight:600}.year-grid{grid-template-columns:repeat(4,1fr);gap:28px;max-width:1280px;margin:0 auto;display:grid}@media (max-width:1200px){.year-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.year-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.year-grid{grid-template-columns:1fr}}.year-month-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);border-radius:20px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.year-month-card:hover{box-shadow:0 8px 32px var(--shadow-medium);border-color:var(--accent-color);transform:translateY(-4px)}.year-month-header{color:var(--text-secondary);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:12px;padding:10px;font-size:15px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.year-month-header:hover{background:var(--accent-light);color:var(--accent-color)}.year-month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.year-weekday{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;padding:6px 0;font-size:9px;font-weight:700}.year-day{color:var(--text-secondary);text-align:center;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;margin:0 auto;padding:4px 0;font-size:11px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.year-day:hover{background:var(--bg-tertiary);transform:scale(1.15)}.year-day.other-month{color:var(--text-muted);cursor:default;font-weight:400}.year-day.other-month:hover{background:0 0;transform:none}.year-day.today{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px var(--shadow-color);font-weight:700}.year-day.today:hover{box-shadow:0 4px 12px var(--shadow-medium);transform:scale(1.2)}.year-day.has-events:after{content:"";background:var(--accent-color);border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.year-day.today.has-events:after{background:#fff}.modal-overlay{background:var(--overlay-bg);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--modal-bg);width:92%;max-width:420px;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color);border-radius:24px;animation:.35s cubic-bezier(.4,0,.2,1) slideIn;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{color:#fff;padding:28px;position:relative}.modal-title{margin:0;padding-right:36px;font-size:24px;font-weight:600}.modal-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:#ffffff59;transform:rotate(90deg)}.modal-body{background:var(--bg-primary);padding:28px}.modal-info-row{border-bottom:1px solid var(--border-color);align-items:center;gap:16px;padding:14px 0;display:flex}.modal-info-row:last-child{border-bottom:none}.modal-icon{background:var(--bg-secondary);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.modal-text{color:var(--text-primary);font-size:15px;font-weight:500}.modal-actions{border-top:1px solid var(--border-color);gap:12px;margin-top:20px;padding-top:20px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.edit-btn{background:var(--accent-color);color:#fff}.edit-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}.delete-btn{color:#dc2626;background:#fee2e2}.delete-btn:hover{background:#fecaca;transform:translateY(-2px)}[data-theme=dark] .delete-btn{color:#f87171;background:#dc262633}[data-theme=dark] .delete-btn:hover{background:#dc26264d}.day-modal-overlay{background:var(--overlay-bg);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.day-modal-content{background:var(--modal-bg);width:92%;max-width:520px;max-height:85vh;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;animation:.35s cubic-bezier(.4,0,.2,1) slideIn;display:flex;overflow:hidden}.day-modal-header{background:var(--accent-gradient);color:#fff;padding:24px 28px;position:relative}.day-modal-title{margin:0;padding-right:36px;font-size:22px;font-weight:600}.day-modal-subtitle{opacity:.9;margin:10px 0 0;font-size:14px;font-weight:500}.day-modal-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;right:16px}.day-modal-close:hover{background:#ffffff59;transform:rotate(90deg)}.day-modal-body{background:var(--bg-primary);flex:1;padding:16px;overflow-y:auto}.no-events{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:15px}.events-list{flex-direction:column;gap:8px;display:flex}.event-list-item{background:var(--bg-secondary);cursor:pointer;border-left:4px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.event-list-item:hover{background:var(--bg-tertiary);transform:translate(4px)}.event-list-item.has-conflict{background:#fff5f5;border-left-color:#f44!important}[data-theme=dark] .event-list-item.has-conflict{background:#ff444426}.event-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.event-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.event-list-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.event-list-time{color:var(--text-tertiary);font-size:12px}.conflict-badge{color:#c62828;white-space:nowrap;background:#ffebee;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:500}[data-theme=dark] .conflict-badge{color:#ff6b6b;background:#f443}.complete-btn-modal{cursor:pointer;color:#fff;opacity:.7;background:#4caf50;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;margin-left:auto;font-size:14px;font-weight:700;transition:all .2s;display:flex}.complete-btn-modal:hover{opacity:1;background:#43a047;transform:scale(1.1)}.complete-btn-modal.undo{background:#f9ab00}.complete-btn-modal.undo:hover{background:#f29900}.event-list-item.completed{opacity:.8;background:#f1f8e9}[data-theme=dark] .event-list-item.completed{background:#4caf5026}.event-list-title.completed-text{color:#9e9e9e;text-decoration:line-through}[data-theme=dark] .completed-badge{color:#81c784;background:#4caf5033}.create-modal-overlay{background:var(--overlay-bg);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.create-modal-content{background:var(--modal-bg);width:92%;max-width:480px;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color);border-radius:24px;animation:.35s cubic-bezier(.4,0,.2,1) slideIn;overflow:hidden}.create-modal-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.create-modal-header h2{color:var(--text-primary);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:600}.create-modal-close{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.create-modal-close:hover{background:var(--danger-light);color:var(--danger-color);transform:rotate(90deg)}.create-modal-form{padding:28px}.form-group{margin-bottom:24px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600;display:block}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time]{border:2px solid var(--border-color);width:100%;color:var(--text-primary);background:var(--input-bg);box-sizing:border-box;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:12px;padding:14px 18px;font-size:15px;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.form-group input[type=time]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}[data-theme=light] .form-group input[type=date],[data-theme=light] .form-group input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:none}[data-theme=light] .form-group input[type=time]::-webkit-calendar-picker-indicator{filter:none}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 4px var(--accent-light);outline:none}.form-group input.error{border-color:var(--danger-color)}.form-group input.error:focus{box-shadow:0 0 0 4px var(--danger-light)}.error-message{color:var(--danger-color);margin-top:6px;font-size:12px;font-weight:500;display:block}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}.color-picker{flex-wrap:wrap;gap:10px;display:flex}.color-option{cursor:pointer;width:36px;height:36px;box-shadow:0 2px 6px var(--shadow-color);border:3px solid #0000;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.color-option:hover{box-shadow:0 4px 12px var(--shadow-medium);transform:scale(1.15)rotate(5deg)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 4px 16px var(--shadow-heavy);transform:scale(1.15)}.color-option.selected:after{content:"✓";color:#fff;text-shadow:0 2px 4px #0006;font-size:16px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:14px;margin-top:28px;padding-top:24px;display:flex}.btn-cancel,.btn-save{cursor:pointer;border-radius:12px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-cancel{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-secondary)}.btn-cancel:hover{background:var(--bg-tertiary);border-color:var(--text-muted);transform:translateY(-2px)}.btn-save{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 12px var(--shadow-color);border:none}.btn-save:hover{box-shadow:0 6px 20px var(--shadow-medium);transform:translateY(-2px)}.btn-save:active{transform:translateY(0)}.search-filter-overlay{background:var(--overlay-bg);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.25s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:fixed;inset:0}.search-filter-content{background:var(--modal-bg);width:95%;max-width:620px;max-height:90vh;box-shadow:0 20px 60px var(--shadow-heavy);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;animation:.35s cubic-bezier(.4,0,.2,1) slideIn;display:flex;overflow:hidden}.search-filter-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:16px;right:16px}.search-filter-close:hover{background:#ffffff59;transform:rotate(90deg)}.search-filter-header{background:var(--accent-gradient);color:#fff;padding:24px 28px;position:relative}.search-filter-header h2{margin:0;font-size:22px;font-weight:600}.search-filter-controls{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);padding:24px}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-group label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.search-input{border:2px solid var(--border-color);box-sizing:border-box;background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:12px;padding:14px 18px;font-size:15px;transition:all .2s cubic-bezier(.4,0,.2,1)}.search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 4px var(--accent-light);outline:none}.filter-row{gap:20px;display:flex}.filter-row .filter-group{flex:1}.date-input{border:2px solid var(--border-color);box-sizing:border-box;background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 14px;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1)}.date-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 4px var(--accent-light);outline:none}.status-buttons{gap:10px;display:flex}.status-btn{border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:12px;flex:1;padding:12px 18px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.status-btn:hover{background:var(--bg-tertiary);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.status-btn.active{border-color:var(--accent-color);background:var(--accent-light);color:var(--accent-color)}.status-btn.pending.active{border-color:var(--warning-color);background:var(--warning-light);color:var(--warning-color)}.status-btn.completed.active{border-color:var(--success-color);background:var(--success-light);color:var(--success-color)}.clear-filters-btn{background:var(--bg-tertiary);width:100%;color:var(--text-tertiary);cursor:pointer;border:none;border-radius:12px;margin-top:20px;padding:12px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.clear-filters-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);color:var(--text-tertiary);padding:12px 20px;font-size:13px;font-weight:500}.search-results{background:var(--bg-primary);flex:1;max-height:300px;padding:16px;overflow-y:auto}.no-results{text-align:center;color:var(--text-tertiary);padding:40px 20px}.search-result-item{background:var(--bg-secondary);border-left:4px solid #0000;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:16px 20px;transition:all .2s;display:flex}.search-result-item:hover{background:var(--bg-tertiary)}.search-result-item.completed{background:var(--bg-secondary);opacity:.8}.result-main{cursor:pointer;flex:1;align-items:center;gap:12px;display:flex}.result-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.result-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.result-title{color:var(--text-primary);font-size:14px;font-weight:500}.result-title.completed-text{color:var(--text-tertiary);text-decoration:line-through}.result-date{color:var(--text-tertiary);font-size:12px}.result-time{color:#80868b;font-size:11px}.completed-badge{color:#137333;white-space:nowrap;background:#e6f4ea;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500}.toggle-complete-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.toggle-complete-btn:hover{background:#43a047;transform:scale(1.1)}.toggle-complete-btn.undo{background:#f9ab00}.toggle-complete-btn.undo:hover{background:#f29900}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:12px;width:220px;min-width:220px;max-width:220px;padding:10px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden auto}[data-theme=light] .sidebar{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-right:1px solid #e2e8f0}.create-button{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;box-shadow:0 2px 8px var(--shadow-color);border-radius:24px;align-items:center;gap:10px;width:fit-content;padding:12px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}[data-theme=light] .create-button{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000014}.create-button:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 4px 16px var(--shadow-medium);transform:translateY(-2px)}.create-button:hover .create-icon,.create-button:hover .create-text,.create-button:hover .create-arrow{color:#fff}.create-icon{color:var(--accent-color);font-size:24px;font-weight:300;line-height:1;transition:color .3s}.create-text{color:var(--text-secondary);font-size:14px;font-weight:600;transition:color .3s}.create-arrow{color:var(--text-tertiary);margin-left:2px;font-size:10px;transition:color .3s}.mini-calendar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:10px}[data-theme=light] .mini-calendar{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f}.mini-calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.mini-calendar-title{color:var(--text-secondary);font-size:13px;font-weight:600}.mini-nav-buttons{gap:4px;display:flex}.mini-nav-btn{cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.mini-nav-btn:hover{background:var(--bg-tertiary);color:var(--accent-color)}.mini-calendar-grid{grid-template-columns:repeat(7,1fr);justify-items:center;gap:1px;display:grid}.mini-weekday{color:var(--text-muted);text-align:center;text-transform:uppercase;width:24px;padding:2px 0;font-size:9px;font-weight:600}.mini-day{color:var(--text-secondary);text-align:center;cursor:pointer;box-sizing:border-box;background:var(--bg-primary);border-radius:6px;justify-content:center;align-items:center;width:24px;min-width:24px;max-width:24px;height:24px;font-size:10px;font-weight:500;transition:all .15s;display:flex}[data-theme=light] .mini-day{background:0 0}.mini-day:hover{background:var(--bg-tertiary)}[data-theme=light] .mini-day:hover{background:#e2e8f0}.mini-day.other-month{color:var(--text-muted);opacity:.4}[data-theme=light] .mini-day.other-month{opacity:.4;background:0 0}.mini-day.today{background:var(--accent-color);color:#fff;font-weight:600}[data-theme=light] .mini-day.today{background:#3b82f6;box-shadow:0 2px 4px #3b82f64d}.mini-day.today:hover{background:var(--accent-hover)}.mini-day.selected{background:var(--accent-light);color:var(--accent-color);font-weight:600}.sidebar-dashboard{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;transition:all .3s;position:relative;overflow:hidden}.sidebar-dashboard:before{content:"";background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.sidebar-dashboard:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}[data-theme=light] .sidebar-dashboard{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}[data-theme=light] .sidebar-dashboard:hover{box-shadow:0 12px 30px #0000001a}.dashboard-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;display:flex}.dashboard-icon{background:linear-gradient(135deg, var(--accent-light) 0%, transparent 100%);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex}.dashboard-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:700}.progress-section{flex-direction:column;align-items:center;gap:10px;padding:4px 0;display:flex}.progress-ring-container{filter:drop-shadow(0 4px 12px #3b82f633);width:75px;height:75px;position:relative}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--border-color);stroke-width:6px}.progress-ring-fill{stroke:url(#progressGradient);stroke-width:6px;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.4,0,.2,1)}.progress-percentage{text-align:center;justify-content:center;align-items:baseline;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.percentage-value{background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800}.percentage-symbol{color:var(--text-tertiary);margin-left:1px;font-size:11px;font-weight:700}.progress-details{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.progress-stat{background:var(--bg-secondary);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:55px;padding:8px 12px;transition:all .2s;display:flex}.progress-stat:hover{background:var(--bg-tertiary);transform:scale(1.05)}.stat-value{color:var(--text-primary);font-size:20px;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:600}.progress-divider{background:linear-gradient(180deg, transparent, var(--border-color), transparent);width:1px;height:35px}.dashboard-footer{border-top:1px solid var(--border-color);text-align:center;margin-top:14px;padding-top:12px}.footer-text{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.footer-text:before{content:"✨";font-size:10px}.sidebar-streak{background:var(--card-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:16px;width:100%;margin-top:4px;padding:16px 14px;transition:all .3s;position:relative;overflow:hidden}.sidebar-streak:before{content:"";background:linear-gradient(90deg,#f97316,#ef4444,#f97316);border-radius:16px 16px 0 0;height:3px;animation:2s ease-in-out infinite fireGlow;position:absolute;top:0;left:0;right:0}@keyframes fireGlow{0%,to{opacity:.8}50%{opacity:1}}.sidebar-streak:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f9731633}[data-theme=light] .sidebar-streak{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}[data-theme=light] .sidebar-streak:hover{box-shadow:0 12px 30px #f9731626}.streak-content{align-items:center;gap:10px;display:flex}.streak-icon-container{background:linear-gradient(135deg,#f9731626 0%,#ef444426 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex}.streak-icon{font-size:24px;animation:1.5s ease-in-out infinite flamePulse}@keyframes flamePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-info{flex-direction:column;flex:1;gap:0;min-width:0;display:flex;overflow:hidden}.streak-count{background:linear-gradient(135deg,#f97316 0%,#ef4444 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800;line-height:1.1}.streak-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:11px;font-weight:700}.streak-message{border-top:1px solid var(--border-color);color:var(--text-secondary);text-align:center;text-overflow:ellipsis;margin-top:12px;padding-top:12px;font-size:11px;font-weight:600;line-height:1.4;overflow:hidden}.calendar-layout{background:var(--bg-primary);width:100vw;height:100vh;font-family:Inter,Segoe UI,Roboto,sans-serif;transition:background .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.calendar-main{flex-direction:column;flex:1;min-width:0;padding:0 12px 12px;display:flex;overflow:hidden}.calendar-header{border-bottom:1px solid var(--border-color);background:var(--bg-primary);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;height:64px;padding:12px 20px;transition:all .3s;display:flex;position:relative;overflow:visible}[data-theme=light] .calendar-header{background:#fff;border-bottom:1px solid #e2e8f0}.header-left{flex-direction:row;flex-shrink:0;align-items:center;gap:12px;display:flex}.hamburger-menu{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;font-size:18px;transition:all .2s;display:flex}.hamburger-menu:hover{background:var(--bg-tertiary);color:var(--text-primary)}.calendar-logo{background:var(--accent-color);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.logo-date{color:var(--accent-color);background:var(--bg-primary);border-radius:0 0 5px 5px;justify-content:center;align-items:center;width:32px;height:24px;font-size:17px;font-weight:600;display:flex;position:absolute;bottom:3px}.calendar-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.header-center{flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.current-month-title{color:var(--text-primary);margin:0 8px;font-size:20px;font-weight:500}.header-right{align-items:center;gap:12px;display:flex}.theme-toggle-button{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .2s;display:flex}.theme-toggle-button:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.search-button{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .2s;display:flex}.search-button:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.nav-button{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.nav-arrow{background:var(--bg-secondary)}.nav-button:hover{background:var(--bg-tertiary);color:var(--accent-color)}.today-button{background:var(--accent-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;width:auto;min-width:auto;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.today-button:hover{background:var(--accent-hover)}.calendar-grid{border-top:1px solid var(--border-color);background:var(--bg-primary);flex:1;grid-template-rows:auto repeat(6,1fr);grid-template-columns:repeat(7,1fr);min-width:0;display:grid;overflow:hidden}.weekday-header{background:var(--bg-secondary);color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-color);padding:14px;font-size:11px;font-weight:600}[data-theme=light] .weekday-header{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.view-selector{z-index:200;position:relative}.view-selector-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.view-selector-button:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.view-arrow{color:var(--text-tertiary);font-size:10px;transition:transform .2s}.view-selector-button:hover .view-arrow{transform:translateY(2px)}.view-dropdown-overlay{z-index:9998;position:fixed;inset:0}.view-dropdown{background:var(--modal-bg);box-shadow:0 8px 32px var(--shadow-heavy);z-index:9999;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;min-width:140px;padding:8px;animation:.2s cubic-bezier(.4,0,.2,1) dropdownFade;position:absolute;top:calc(100% + 8px);right:0;overflow:visible}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.view-option{color:var(--text-primary);cursor:pointer;border-radius:10px;margin:2px 0;padding:12px 16px;font-size:14px;transition:all .15s}.view-option:hover{background:var(--bg-tertiary);color:var(--accent-color);transform:translate(4px)}.view-option.active{background:var(--accent-light);color:var(--accent-color);font-weight:600}.app{background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);width:100vw;height:100vh;transition:background .3s cubic-bezier(.4,0,.2,1);overflow:hidden}
