.calendar-grid-container{display:flex;flex-direction:column;height:100%;width:100%;position:relative}.loading-more-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);font-size:var(--font-base);color:var(--text-primary)}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--glass-light);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-bottom:1px solid var(--border-primary)}.nav-button{padding:.5rem 1rem;background:var(--glass-light);border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.nav-button:hover{background:var(--bg-hover);border-color:var(--border-accent)}.today-button{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.today-button:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.calendar-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;background:transparent}.calendar-grid{padding:1rem}.calendar-scroll-container:has(.daily-horizontal-wrapper){overflow:hidden}.calendar-grid:has(.daily-horizontal-wrapper){padding:0;height:100%}.calendar-month{background:transparent;border-radius:0;margin-bottom:2rem;border:1px solid var(--border-primary);overflow:hidden}.calendar-month.weekly-view.current-week{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.calendar-month.weekly-view.current-week .month-header{background:#3b82f61a}.daily-column.current-day{border-left:2px solid rgba(59,130,246,.3);border-right:2px solid rgba(59,130,246,.3)}.daily-column.is-today .daily-column-header{background:#ffffff2e}.daily-column.is-today .daily-column-body,.daily-column.is-today .daily-column-body .hour-lines{background:#ffffff14}.daily-column.is-today .daily-column-date{color:var(--accent-primary);font-weight:700}.month-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--glass-light);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-bottom:1px solid var(--border-primary)}.month-header h2.month-title{font-size:var(--font-xl);font-weight:700;color:var(--text-primary);margin:0}.now-btn{background:none;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);padding:2px 8px;font-size:var(--font-sm);font-weight:500;font-family:Inter,sans-serif;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base),border-color var(--transition-base);letter-spacing:.03em}.now-btn:hover{color:var(--text-primary);border-color:#0000004d}.month-grid{border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary)}.all-day-block{padding:2px 6px;color:var(--text-primary);font-size:var(--font-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:var(--shadow-xs);display:flex;align-items:center;box-sizing:border-box;opacity:.75;border-left:3px solid;touch-action:manipulation}.all-day-block:hover{outline:2px solid rgba(0,0,0,.25);outline-offset:-1px;z-index:var(--z-raised)}.all-day-block .block-delete-btn{background:none;border:none;color:#00000080;width:20px;height:20px;border-radius:var(--radius-full);font-size:var(--font-base);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base),color var(--transition-base);flex-shrink:0;margin-left:auto}.all-day-block:hover .block-delete-btn{opacity:1}.all-day-block .block-delete-btn:hover{color:#dc2828e6}.all-day-title{overflow:hidden;text-overflow:ellipsis}.goal-markers-container{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.goal-marker{display:flex;align-items:center;gap:4px;padding:2px 6px;font-size:var(--font-xs);font-weight:500;color:#000000d9;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0;border-left:3px solid currentColor;background:#94a3b84d}.goal-marker:hover{filter:brightness(1.1);transform:translateY(-1px)}.goal-marker-label{font-weight:700;opacity:.9}.goal-marker-title{overflow:hidden;text-overflow:ellipsis}.goal-marker.goal-type-long-term{background:#c4b5fd99;border-left-color:#c4b5fd}.goal-marker.goal-type-short-term{background:#67e8f980;border-left-color:#67e8f9}.goal-marker.goal-type-task{background:#fcd34d80;border-left-color:#fcd34d}.yearly-day.has-goals{position:relative}.yearly-day.has-goals:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#c4b5fd;border-radius:0}.yearly-day.has-goals.has-blocks:after{left:calc(50% + 4px)}.all-day-events-container{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.all-day-events-container .all-day-block{position:relative;top:auto;height:20px;padding:1px 4px 1px 6px;color:var(--text-primary);font-size:var(--font-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;display:flex;align-items:center;box-sizing:border-box;border-radius:0;box-shadow:var(--shadow-xs);background:transparent}.all-day-events-container .all-day-block .block-delete-btn{width:16px;height:16px;font-size:var(--font-sm)}.all-day-events-container .all-day-block.span-start{border-radius:0;margin-right:-8px;padding-right:12px}.all-day-events-container .all-day-block.span-middle{margin-left:-8px;margin-right:-8px;padding-left:12px;padding-right:12px}.all-day-events-container .all-day-block.span-end{border-radius:0;margin-left:-8px;padding-left:12px}.all-day-events-container .all-day-block:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);z-index:var(--z-raised)}.daily-all-day-section{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-hover);min-height:36px}.daily-all-day-label{width:80px;padding:.5rem;font-size:var(--font-sm);color:var(--text-secondary);text-align:right;font-weight:500;border-right:1px solid var(--border-primary);flex-shrink:0}.daily-all-day-events{flex:1;display:flex;flex-direction:column;gap:4px;padding:6px 12px}.daily-all-day-block{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;min-height:26px;color:#fff;font-size:var(--font-base);font-weight:500;cursor:pointer;box-shadow:var(--shadow-xs);transition:all var(--transition-base);width:100%;box-sizing:border-box;opacity:.9;border-left:3px solid;border-radius:var(--radius-sm);touch-action:manipulation}.daily-all-day-block:hover{outline:2px solid rgba(0,0,0,.25);outline-offset:-1px}.daily-all-day-block .all-day-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-all-day-block .block-delete-btn{background:none;border:none;color:#00000080;width:20px;height:20px;border-radius:var(--radius-full);font-size:var(--font-base);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base),color var(--transition-base);flex-shrink:0}.daily-all-day-block:hover .block-delete-btn{opacity:1}.daily-all-day-block .block-delete-btn:hover{color:#dc2828e6}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-hover);border-bottom:1px solid var(--border-primary)}.weekday{text-align:center;font-weight:700;font-size:var(--font-base);color:var(--text-primary);padding:.75rem .5rem;border-right:1px solid var(--border-primary)}.weekday:last-child{border-right:none}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{height:120px;border-right:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);border-radius:0;padding:.5rem;background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);transition:all var(--transition-base);cursor:pointer;overflow:hidden;display:flex;flex-direction:column}.calendar-day:last-child{border-right:none}.calendar-week:last-child .calendar-day{border-bottom:none}.calendar-week:last-child .calendar-day.today{border-bottom:2px solid var(--accent-primary)}.calendar-day:hover{background:var(--bg-hover);border-color:var(--border-accent);box-shadow:var(--shadow-sm)}.calendar-day.other-month{background:var(--glass-light);opacity:.5}.calendar-day.today{border:2px solid var(--accent-primary);background:#7aa2d41a}.calendar-day.invalid-drop{background:#c8c8d299!important;opacity:.3;cursor:not-allowed}.calendar-day.hovered-valid{background:#7aa2d433!important;border:2px solid var(--accent-primary)!important;box-shadow:0 0 0 3px #7aa2d433}.calendar-day.today .day-number{background:#3b82f6b3;color:#fff;font-weight:600}.day-number{font-size:var(--font-md);font-weight:500;color:var(--text-primary);margin-bottom:.25rem;display:inline-block;width:28px;height:28px;line-height:28px;text-align:center;border-radius:0;flex-shrink:0;background:var(--bg-hover);border:1px solid var(--border-primary);box-shadow:var(--shadow-xs)}.day-blocks{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}.day-blocks::-webkit-scrollbar{width:4px}.day-blocks::-webkit-scrollbar-track{background:transparent}.day-blocks::-webkit-scrollbar-thumb{background-color:var(--border-secondary);border-radius:0}.day-blocks::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.day-block{padding:.375rem .5rem;border-radius:0;color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-base);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.25rem;box-shadow:var(--shadow-xs);position:relative;opacity:.75;border-left:3px solid;touch-action:manipulation}.day-block:hover{outline:2px solid rgba(0,0,0,.25);outline-offset:-1px}.day-block .block-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.day-block .block-delete-btn{background:none;border:none;color:#00000080;width:20px;height:20px;border-radius:var(--radius-full);font-size:var(--font-base);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base),color var(--transition-base);flex-shrink:0}.day-block:hover .block-delete-btn{opacity:1}.day-block .block-delete-btn:hover{color:#dc2828e6}.day-block .block-timer-btn,.daily-block .block-timer-btn{background:none;border:none;color:#22c55e;width:20px;height:20px;border-radius:var(--radius-full);font-size:var(--font-xs);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base),color var(--transition-base);flex-shrink:0}.day-block:hover .block-timer-btn,.daily-block:hover .block-timer-btn{opacity:1}.day-block .block-timer-btn:hover,.daily-block .block-timer-btn:hover{background:#22c55e33}.day-block.dragging,.all-day-block.dragging,.daily-block.dragging{opacity:.5;cursor:grabbing}.day-block,.all-day-block,.daily-block{cursor:grab}.day-block.past-event,.all-day-block.past-event,.daily-block.past-event,.daily-all-day-block.past-event{opacity:.5;filter:grayscale(60%)}.day-block.past-event:hover,.all-day-block.past-event:hover,.daily-block.past-event:hover,.daily-all-day-block.past-event:hover{opacity:.7;filter:grayscale(40%)}.day-block.tentative-block,.all-day-block.tentative-block,.daily-block.tentative-block,.daily-all-day-block.tentative-block{border:2px dashed rgba(0,0,0,.3);background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.04) 5px,rgba(0,0,0,.04) 10px);opacity:.85}.day-block.tentative-block:before,.all-day-block.tentative-block:before,.daily-block.tentative-block:before{content:none}.day-block.tentative-block:hover,.all-day-block.tentative-block:hover,.daily-block.tentative-block:hover,.daily-all-day-block.tentative-block:hover{opacity:1;border-style:solid}.block-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-time{font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-blocks{font-size:var(--font-sm);color:var(--text-muted);padding:.25rem .5rem;text-align:center;font-style:italic}@media (max-width: 768px){.calendar-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;height:calc(100vh - 180px)}.calendar-grid{padding:.5rem}.calendar-month{display:none;margin-bottom:1rem}.calendar-month.current-month,.calendar-month.weekly-view,.calendar-month.yearly-view{display:block}.daily-horizontal-wrapper{display:flex}.calendar-day{min-height:80px;height:auto}.day-block{font-size:var(--font-xs);padding:.25rem .375rem}.block-time{display:none}.weekday-header{display:grid}.weekday{font-size:.7rem;padding:.5rem .25rem}.calendar-week{grid-template-columns:repeat(7,1fr);gap:0}.calendar-day{height:70px;min-height:70px;padding:.25rem;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;align-items:stretch;gap:.25rem}.calendar-day:last-child{border-right:none}.day-number{font-size:var(--font-sm);width:22px;height:22px;line-height:22px;flex-shrink:0;background:var(--bg-hover);border:1px solid var(--border-primary)}.day-blocks{flex:1;flex-direction:column;gap:.125rem;overflow-y:auto;overflow-x:hidden}.day-block{flex:none;min-width:0;max-width:100%;padding:.125rem .25rem}.day-block .block-content{flex-direction:row;gap:.25rem}.day-block .block-title{font-size:.5rem}.day-block .block-time,.day-block .block-delete-btn{display:none}.more-blocks{font-size:.5rem;padding:.125rem}.month-header{padding:.5rem .75rem;flex-wrap:nowrap;gap:.5rem}.month-header h2.month-title{font-size:var(--font-md)}.now-btn{font-size:.6rem;padding:1px 6px}.weekly-view .weekday-header{display:none}.weekly-view .weekly-row{grid-template-columns:1fr;min-height:auto;border:1px solid var(--border-primary)}.weekly-view .weekly-day{min-height:60px;height:auto;padding:.75rem;flex-direction:row;align-items:flex-start;gap:.75rem;border-bottom:1px solid var(--border-primary);border-right:none;background:var(--glass-medium)}.weekly-view .weekly-day:last-child{border-bottom:none}.weekly-view .weekly-day.today{background:#7aa2d426;border-left:3px solid var(--accent-primary)}.weekly-view .weekly-day .day-number{font-size:var(--font-md);width:36px;height:36px;line-height:36px;text-align:center;background:var(--bg-hover);border:1px solid var(--border-primary)}.weekly-view .weekly-day .day-blocks{flex:1;flex-direction:row;flex-wrap:wrap;gap:.5rem;overflow:visible}.weekly-view .weekly-day .day-block{flex:1 1 auto;min-width:100px;padding:.25rem .5rem}.weekly-view .weekly-day .day-block .block-title{font-size:.7rem}.weekly-view .weekly-day .day-block .block-time{display:block;font-size:.6rem}}@media (max-width: 480px){.calendar-day{padding:.5rem;gap:.5rem}.day-number{font-size:var(--font-md);width:32px;height:32px;line-height:32px}.day-block{min-width:100px;font-size:.6rem;padding:.25rem}.month-header h2.month-title{font-size:var(--font-md)}}.weekly-view .weekly-row,.weekly-view .weekly-day{min-height:400px}.weekly-view .day-blocks{max-height:none;overflow-y:auto}.yearly-view{background:transparent}.yearly-view .month-header{position:sticky;top:0;z-index:var(--z-raised);background:var(--glass-light)}.yearly-view .month-title{font-size:var(--font-2xl);font-weight:700}.yearly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem}.yearly-month-card{background:var(--glass-medium);border:1px solid var(--border-primary);padding:.75rem;transition:all var(--transition-base)}.yearly-month-card:hover{background:var(--bg-hover);border-color:var(--border-accent);box-shadow:var(--shadow-md)}.yearly-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-secondary)}.yearly-month-name{font-size:var(--font-base);font-weight:600;color:var(--text-primary)}.yearly-month-indicator{color:var(--accent-primary);font-size:var(--font-md)}.yearly-month-grid{display:flex;flex-direction:column;gap:2px}.yearly-weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}.yearly-weekday{font-size:.6rem;font-weight:600;color:var(--text-muted);text-align:center;padding:2px 0}.yearly-week{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.yearly-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:var(--glass-light);min-width:20px;min-height:20px}.yearly-day:hover{background:#7aa2d44d}.yearly-day.other-month{color:transparent;background:transparent;cursor:default}.yearly-day.today{background:var(--accent-primary);color:#0a0a0a;font-weight:600;box-shadow:0 0 0 2px #7aa2d44d}.yearly-day.has-blocks{background:#7aa2d466;font-weight:500}.yearly-day.has-blocks:hover{background:#7aa2d499}.yearly-day.today.has-blocks{background:var(--accent-primary)}.yearly-day.invalid-drop{opacity:.3;cursor:not-allowed}.yearly-day.hovered-valid{background:#7aa2d480!important;box-shadow:0 0 0 2px var(--accent-primary)}@media (max-width: 1024px){.yearly-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.yearly-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem}.yearly-month-card{padding:.5rem}.yearly-month-name{font-size:var(--font-sm)}.yearly-day{font-size:.55rem;min-width:16px;min-height:16px}.yearly-weekday{font-size:.5rem}.yearly-view .month-title{font-size:var(--font-xl)}}@media (max-width: 480px){.yearly-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem}.yearly-day{font-size:.5rem;min-width:14px;min-height:14px}}.daily-horizontal-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.daily-top-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--glass-light);border-bottom:1px solid var(--border-primary);flex-shrink:0}.daily-range-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.daily-horizontal-layout{display:flex;flex:1;overflow:hidden}.daily-fixed-time-column{width:60px;min-width:60px;flex-shrink:0;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;background:var(--glass-light);z-index:4;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.daily-fixed-time-column::-webkit-scrollbar{display:none;width:0;height:0}.daily-time-header{background:linear-gradient(to bottom,#ffffffeb,#ffffff59);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);z-index:var(--z-raised)}.daily-time-allday{background:linear-gradient(to bottom,#ffffff59,#ffffff26);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);z-index:8}.daily-time-body{position:relative;height:1440px;flex-shrink:0}.daily-time-body .hour-label{height:60px;padding:2px 6px 0 0;font-size:var(--font-xs);color:var(--text-muted);text-align:right;font-weight:500;border-bottom:1px solid var(--border-secondary);box-sizing:border-box}.daily-columns-scroll{display:flex;flex:1;overflow-x:auto;overflow-y:auto;scroll-snap-type:x proximity}.daily-column{min-width:200px;flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border-primary);scroll-snap-align:start}.daily-column-header{height:52px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;background:linear-gradient(to bottom,#ffffffeb,#ffffff59);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-bottom:none;flex-shrink:0;position:sticky;top:0;z-index:9;box-sizing:border-box}.daily-column-weekday{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.daily-column-date{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.daily-column-date.today-date{background:#3b82f6b3;color:#fff;width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.daily-column-month{font-size:var(--font-xs);color:var(--text-muted)}.daily-column-allday{padding:4px;border-bottom:none;display:flex;flex-direction:column;gap:3px;background:linear-gradient(to bottom,#ffffff59,#ffffff26);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);position:sticky;top:52px;z-index:8;box-sizing:border-box;flex-shrink:0}.daily-column-body{position:relative;height:1440px;flex-shrink:0;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-right:1px solid var(--border-primary);margin-right:-1px}.drag-create-preview{display:flex;align-items:flex-start;justify-content:center;padding-top:4px}.drag-create-label{font-size:var(--font-xs);color:#3b82f6cc;font-weight:500}.current-time-indicator{position:absolute;left:0;right:0;z-index:3;pointer-events:none;display:flex;align-items:center}.current-time-dot{width:8px;height:8px;border-radius:var(--radius-full);background:#ef4444;flex-shrink:0;margin-left:-4px}.current-time-line{flex:1;height:2px;background:#ef4444}.daily-single-scroll{scroll-snap-type:x mandatory}.daily-single-scroll .daily-column{min-width:100%;width:100%;flex:none;scroll-snap-align:start}@media (max-width: 768px){.daily-fixed-time-column{width:45px;min-width:45px}.daily-time-body{height:1200px}.daily-time-body .hour-label{font-size:.55rem;height:50px}.daily-column{min-width:160px}.daily-column-body{height:1200px}.daily-column-body .hour-line{height:50px}.daily-top-bar{padding:.5rem .75rem}.daily-range-title{font-size:.9rem}}.hour-lines{position:absolute;top:0;left:0;right:0;bottom:0}.hour-line{height:60px;border-bottom:1px solid var(--border-secondary)}.hour-line:hover{background-color:var(--bg-hover)}.blocks-container{position:absolute;top:0;left:0;right:0;bottom:0}.daily-block{position:absolute;border-radius:0;padding:.25rem .5rem;overflow:hidden;cursor:pointer;transition:opacity var(--transition-base),transform var(--transition-base);box-shadow:var(--shadow-xs);opacity:.75;border-left:3px solid;touch-action:manipulation}.daily-block:hover{outline:2px solid rgba(0,0,0,.25);outline-offset:-1px;z-index:var(--z-raised)}.daily-block .block-content{display:flex;flex-direction:column;gap:.125rem;color:var(--text-primary)}.daily-block .block-title{font-weight:600;font-size:var(--font-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-block .block-time{font-size:var(--font-sm);opacity:.9}.daily-block .block-delete-btn{position:absolute;top:2px;right:2px;background:none;border:none;color:#00000080;width:20px;height:20px;border-radius:var(--radius-full);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base),color var(--transition-base);flex-shrink:0}.daily-block:hover .block-delete-btn{opacity:1}.daily-block .block-delete-btn:hover{color:#dc2828e6}@media (pointer: coarse){.day-block,.all-day-block,.daily-block,.daily-all-day-block{cursor:pointer}.day-block .block-delete-btn,.day-block .block-timer-btn,.all-day-block .block-delete-btn,.daily-block .block-delete-btn,.daily-block .block-timer-btn,.daily-all-day-block .block-delete-btn{opacity:1}}.reminder-block{background:#14b8a626!important;border-left:3px dashed #14b8a6!important;border-radius:var(--radius-sm)}.reminder-marker{background:#14b8a640;border-left:3px dashed #14b8a6!important;border-radius:var(--radius-sm);z-index:3}.reminder-marker .block-content{display:flex;align-items:center;gap:6px}.reminder-marker .block-time{font-size:.7em;opacity:.8}.toast-container{position:fixed;top:16px;right:16px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);animation:toast-slide-in .25s ease-out;font-size:var(--font-base);line-height:1.4}.toast-info{background:var(--glass-solid);color:var(--text-primary, #1e293b);border-left:3px solid var(--color-info)}.toast-success{background:var(--glass-solid);color:#065f46;border-left:3px solid var(--color-success)}.toast-error{background:var(--glass-solid);color:#991b1b;border-left:3px solid var(--color-danger)}.toast-warning{background:var(--glass-solid);color:#92400e;border-left:3px solid var(--color-warning)}.toast-message{flex:1}.toast-close{background:none;border:none;font-size:var(--font-lg);cursor:pointer;color:inherit;opacity:.6;padding:0 4px;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.toast-container{top:auto;bottom:16px;left:16px;right:16px;max-width:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-content);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.modal-content{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-radius:0;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--border-primary)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--glass-solid)}.modal-header h2{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;border:none;background:var(--glass-light);border-radius:0;font-size:var(--font-xl);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-base)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:var(--font-base)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);transition:border-color var(--transition-base);background:var(--glass-light);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group.form-checkbox{padding:.75rem;background:var(--glass-light);border:1px solid var(--border-secondary)}.form-group.form-checkbox.invite-option{background:#7aa2d41a;border:1px solid rgba(122,162,212,.3)}.form-group.form-checkbox.tentative-toggle{background:#fbbf241a;border:1px solid rgba(251,191,36,.3)}.form-group.form-checkbox.tentative-toggle .checkbox-label span{font-family:monospace}.form-toggles-group{display:flex;gap:1rem;margin-bottom:.5rem}.form-toggle-item{display:flex;align-items:center;gap:.4rem}.form-toggle-item .toggle-label{font-size:var(--font-base);color:var(--text-secondary, rgba(255,255,255,.7))}.toggle-switch{position:relative;display:inline-block;width:34px;height:18px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ffffff26;border-radius:0;transition:background var(--transition-base)}.toggle-slider:before{content:"";position:absolute;width:12px;height:12px;left:3px;bottom:3px;background:#fff;border-radius:var(--radius-full);transition:transform var(--transition-base)}.toggle-switch input:checked+.toggle-slider{background:var(--gradient-orange, #f59e0b)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--gradient-orange)}.checkbox-label span{font-size:var(--font-md)}.form-hint{margin:.5rem 0 0;font-size:var(--font-sm);color:var(--text-muted);font-weight:400}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.btn-delete{padding:.75rem 1.5rem;background:#dc28281a;color:#dc2828e6;border:1px solid rgba(220,40,40,.3);border-radius:0;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base);margin-right:auto}.btn-delete:hover{background:#dc282833;border-color:#dc282880;color:#dc2828}.btn-cancel{padding:.75rem 1.5rem;background:var(--glass-light);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-cancel:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.btn-save{padding:.75rem 1.5rem;background:var(--gradient-orange);color:#fff;border:none;border-radius:0;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-save:hover{filter:brightness(1.1);box-shadow:var(--shadow-md)}.linked-goal-info{margin:0;padding:1rem 1.5rem;background:#7aa2d41a;border-bottom:1px solid var(--border-primary)}.linked-goal-header{margin-bottom:.5rem}.linked-label{font-size:var(--font-sm);font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px}.linked-goal-details{margin-bottom:.75rem}.linked-goal-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.linked-goal-description{font-size:var(--font-base);color:var(--text-secondary);margin-bottom:.25rem}.linked-goal-hours{font-size:var(--font-base);color:var(--text-muted)}.linked-task-status{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--border-secondary)}.task-state-badge{padding:.25rem .75rem;border-radius:0;font-size:var(--font-sm);font-weight:600;text-transform:uppercase}.task-state-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-task-action{padding:.375rem .75rem;border:1px solid;background:var(--glass-light);border-radius:0;font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:.25rem}.btn-task-action.btn-complete{color:var(--accent-success);border-color:var(--accent-success)}.btn-task-action.btn-complete:hover{background:var(--accent-success);color:#fff}.btn-task-action.btn-drop{color:var(--accent-warning);border-color:var(--accent-warning)}.btn-task-action.btn-drop:hover{background:var(--accent-warning);color:#fff}.btn-task-action.btn-reset{color:var(--text-secondary);border-color:var(--border-primary)}.btn-task-action.btn-reset:hover{background:var(--text-secondary);color:#fff}@media (max-width: 768px){.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:90vh;border-radius:0}.modal-header{padding:1rem}.modal-header h2{font-size:var(--font-lg)}.modal-form{padding:1rem}.form-row{grid-template-columns:1fr}.form-group input,.form-group select{padding:.875rem;font-size:var(--font-md)}.modal-actions{flex-direction:column-reverse;gap:.75rem}.btn-cancel,.btn-save{width:100%;padding:1rem;font-size:var(--font-md)}.linked-goal-info{padding:1rem}.task-state-actions{width:100%}.btn-task-action{flex:1;justify-content:center;padding:.5rem}}.embedded-image-preview{margin-top:.75rem;padding:.75rem;background:var(--glass-light);border-radius:var(--radius-md);border:1px solid var(--border-primary, #e0e0e0)}.scanned-source-image{width:100%;max-width:200px;height:auto;border-radius:var(--radius-sm);display:block;margin-bottom:.5rem}.image-label{font-size:var(--font-base);color:var(--text-secondary, #666);display:block}.actual-duration-input{display:flex;align-items:center;gap:1rem}.actual-duration-input input{flex:1;max-width:150px}.logged-badge{font-size:var(--font-base);color:#22c55e;background:#22c55e1a;padding:.375rem .75rem;border:1px solid rgba(34,197,94,.3)}.form-group textarea::placeholder{color:var(--text-muted)}.recurrence-options{background:var(--glass-light);border:1px solid var(--border-secondary);padding:1rem;margin-bottom:1.5rem}.recurrence-row{margin-bottom:1rem}.recurrence-frequency label{display:block;font-size:var(--font-base);font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.frequency-inputs{display:flex;align-items:center;gap:.75rem}.frequency-inputs .interval-input{width:60px;text-align:center;padding:.5rem}.frequency-inputs select{flex:1;max-width:150px;padding:.5rem}.weekday-picker label{display:block;font-size:var(--font-base);font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.weekday-buttons{display:flex;gap:.25rem;flex-wrap:wrap}.weekday-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-primary);background:var(--glass-solid);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.weekday-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.weekday-btn.selected{background:var(--gradient-orange);color:#fff;border-color:var(--gradient-orange)}.recurrence-end label{display:block;font-size:var(--font-base);font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.end-options{display:flex;flex-direction:column;gap:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;font-size:var(--font-base);color:var(--text-secondary);cursor:pointer}.radio-label input[type=radio]{width:16px;height:16px;accent-color:var(--gradient-orange)}.radio-label .count-input{width:60px;padding:.375rem;text-align:center;margin:0 .25rem}.radio-label .until-input{padding:.375rem;margin-left:.25rem}.radio-label input:disabled{opacity:.5}.recurrence-preview{margin-top:1rem;padding:.75rem;background:#7aa2d41a;border:1px solid rgba(122,162,212,.2);display:flex;align-items:flex-start;gap:.5rem}.preview-label{flex-shrink:0}.preview-text{font-size:var(--font-base);color:var(--text-primary);line-height:1.4}.day-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);padding:2rem}.day-view-content{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-radius:0;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border-primary)}.day-view-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--glass-solid)}.day-view-header h2{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin:0}.day-view-close{width:36px;height:36px;border:none;background:var(--glass-light);border-radius:0;font-size:var(--font-xl);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-base)}.day-view-close:hover{background:var(--bg-hover);color:var(--text-primary)}.day-view-all-day-section{padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);background:var(--glass-light)}.all-day-label{font-size:var(--font-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.all-day-events-list{display:flex;flex-wrap:wrap;gap:.5rem}.all-day-event-item{display:flex;flex-direction:column;padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-base);cursor:pointer;transition:opacity var(--transition-base);min-width:150px;background:var(--glass-solid);border:3px solid;touch-action:manipulation}.all-day-event-item:hover{opacity:.9}.all-day-event-item.dragging{opacity:.5}.all-day-event-title{font-weight:500}.all-day-event-dates{font-size:var(--font-sm);color:var(--text-secondary)}.day-view-taskboard{border-bottom:1px solid var(--border-primary);background:var(--bg-hover);transition:all var(--transition-base)}.day-view-taskboard.drop-target{border:2px dashed var(--accent-secondary);border-bottom:2px dashed var(--accent-secondary)}.day-view-taskboard.drag-over{background:#3b82f626;border-color:var(--accent-primary)}.taskboard-drop-hint{padding:.75rem 1rem;text-align:center;font-size:var(--font-base);color:var(--accent-secondary);background:#3b82f61a;border-bottom:1px solid var(--border-secondary);animation:pulse-hint 1.5s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:.7}50%{opacity:1}}.taskboard-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border-secondary)}.taskboard-icon{font-size:var(--font-md);color:var(--accent-primary)}.taskboard-title{font-size:var(--font-base);font-weight:600;color:var(--text-primary)}.taskboard-count{background:var(--accent-primary);color:#fff;font-size:var(--font-sm);font-weight:600;padding:.125rem .5rem;border-radius:var(--radius-lg);margin-left:auto}.taskboard-list{max-height:200px;overflow-y:auto}.taskboard-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-bottom:1px solid var(--border-secondary);transition:background var(--transition-fast)}.taskboard-item:last-child{border-bottom:none}.taskboard-item:hover{background:var(--bg-hover)}.taskboard-item.state-completed{background:#50c8781a}.taskboard-item.state-dropped{background:#ff6b6b1a}.taskboard-item-time{font-size:var(--font-sm);font-weight:500;color:var(--text-secondary);min-width:60px;text-align:right}.taskboard-item-time .no-time{color:var(--text-muted);font-size:var(--font-base)}.taskboard-item-content{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.taskboard-item-title{font-size:var(--font-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskboard-item-title.completed{text-decoration:line-through;color:var(--text-muted)}.taskboard-item-title.dropped{text-decoration:line-through;color:var(--text-muted);opacity:.7}.taskboard-item-duration{font-size:var(--font-sm);color:var(--text-muted);background:var(--glass-light);padding:.125rem .375rem;border-radius:var(--radius-sm);flex-shrink:0}.taskboard-item-actions{display:flex;gap:.25rem;flex-shrink:0}.taskboard-btn{width:26px;height:26px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-base);transition:all var(--transition-fast)}.taskboard-btn-done{background:#50c87833;color:#50c878}.taskboard-btn-done:hover{background:#50c87866}.taskboard-btn-drop{background:#ff6b6b33;color:#ff6b6b}.taskboard-btn-drop:hover{background:#ff6b6b66}.taskboard-btn-reset{background:#7aa2d433;color:var(--accent-primary)}.taskboard-btn-reset:hover{background:#7aa2d466}.taskboard-divider{display:flex;align-items:center;padding:.25rem 1rem;background:var(--bg-hover)}.taskboard-divider span{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.taskboard-item.unscheduled{background:var(--glass-light)}.taskboard-item.unscheduled:hover{background:var(--bg-hover)}.day-view-body{flex:1;overflow-y:auto;padding:0}.hour-column{display:flex;flex-direction:column;position:relative;-webkit-user-select:none;user-select:none;cursor:crosshair;touch-action:manipulation}.blocks-layer{position:absolute;top:0;left:80px;right:0;bottom:0;pointer-events:none;z-index:var(--z-raised)}.blocks-layer .day-view-block{pointer-events:auto}.hour-row{display:grid;grid-template-columns:80px 1fr;min-height:60px;border-bottom:1px solid var(--border-secondary);position:relative;cursor:pointer;transition:background-color var(--transition-base)}.hour-row:hover{background-color:var(--glass-medium)}.hour-row.hovered{background-color:var(--glass-light)}.hour-row.current-hour{background-color:#f973161a}.hour-row.current-hour .hour-label{color:var(--gradient-orange);font-weight:600}.hour-label{padding:.75rem 1rem;font-size:var(--font-base);color:var(--text-secondary);text-align:right;font-weight:500;border-right:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:flex-end;user-select:none;-webkit-user-select:none;pointer-events:none}.hour-content{position:relative;padding:.25rem .5rem;min-height:60px}.day-view-block{position:absolute;left:.5rem;right:.5rem;border-radius:0;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);overflow:hidden;z-index:var(--z-raised);opacity:.75;border-left:3px solid;min-height:24px;touch-action:manipulation}.day-view-block:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-1px);z-index:var(--z-raised)}.day-view-block{cursor:grab}.day-view-block.dragging{opacity:.5;cursor:grabbing}.day-view-block-content{padding:.25rem 3rem .25rem .5rem;height:100%;display:flex;flex-direction:column;justify-content:center;gap:.125rem;position:relative;min-height:0;overflow:hidden}.day-view-block-title{font-weight:600;font-size:var(--font-base);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view-block-time{font-size:var(--font-sm);line-height:1.2;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view-block-category{font-size:var(--font-xs);line-height:1.2;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view-block.short-block .day-view-block-content{flex-direction:row;align-items:center;gap:.5rem;padding:.125rem 3rem .125rem .375rem}.day-view-block.short-block .day-view-block-title{font-size:var(--font-sm);flex:1;min-width:0}.day-view-block.short-block .day-view-block-time{font-size:var(--font-xs);flex-shrink:0}.day-view-block.short-block .day-view-block-category{display:none}.day-view-block.very-short-block .day-view-block-content{padding:0 2.5rem 0 .375rem}.day-view-block.very-short-block .day-view-block-title{font-size:var(--font-sm)}.day-view-block.very-short-block .day-view-block-time,.day-view-block.very-short-block .day-view-block-category{display:none}.day-view-block.very-short-block .day-view-block-actions{padding:1px}.day-view-block.very-short-block .day-view-block-timer,.day-view-block.very-short-block .day-view-block-delete,.day-view-block.very-short-block .btn-block-state{width:16px;height:16px;font-size:10px}.day-view-block-delete{position:relative;top:auto;right:auto;width:20px;height:20px;border-radius:var(--radius-full);border:none;background:none;color:#00000080;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base);flex-shrink:0}.day-view-block-delete:hover{color:#dc2828e6}.day-view-block-timer{position:relative;top:auto;right:auto;width:18px;height:18px;border-radius:0;border:1px solid var(--color-success);background:#22c55e33;color:var(--color-success);font-size:.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0}.day-view-block-timer:hover{background:#22c55e66;transform:scale(1.1)}.hour-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-muted);font-size:var(--font-base);font-style:italic;pointer-events:none}.time-selection-preview{position:absolute;left:80px;right:0;background:#7aa2d433;border:2px dashed var(--accent-primary);border-radius:0;z-index:var(--z-raised);pointer-events:none;display:flex;align-items:flex-start;padding:.25rem .5rem;min-height:20px}.selection-time-display{font-size:var(--font-sm);color:var(--accent-primary);font-weight:600;background:var(--glass-medium);padding:.25rem .5rem;border-radius:0;box-shadow:var(--shadow-sm)}.drag-task-preview{position:absolute;left:80px;right:0;background:#7aa2d44d;border:2px solid var(--accent-primary);border-radius:0;z-index:var(--z-raised);pointer-events:none;display:flex;align-items:center;padding:.5rem;box-shadow:var(--shadow-md)}.drag-task-preview-content{color:var(--accent-primary);font-weight:600}.drag-task-title{font-size:var(--font-base);margin-bottom:.25rem}.drag-task-time{font-size:var(--font-sm);opacity:.8}.hour-row.drag-over-hour{background-color:#7aa2d433!important}@media (max-width: 768px){.day-view-overlay{padding:0}.day-view-content{max-width:100%;max-height:100vh;border-radius:0}.hour-row{grid-template-columns:60px 1fr;min-height:50px}.hour-label{font-size:var(--font-sm);padding:.5rem}}.day-view-block.block-completed{opacity:.7}.day-view-block.block-completed .day-view-block-title{text-decoration:line-through}.day-view-block.block-dropped{opacity:.5}.day-view-block.block-dropped .day-view-block-title{text-decoration:line-through}.day-view-block.tentative-block{border:2px dashed rgba(255,255,255,.5);background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.05) 5px,rgba(255,255,255,.05) 10px);opacity:.85}.day-view-block.tentative-block .day-view-block-title:before{content:"[?] ";font-size:var(--font-xs);opacity:.7}.day-view-block.tentative-block:hover{opacity:1;border-style:solid}.block-status-icon{font-weight:700}.day-view-block-actions{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);display:flex;flex-direction:row;gap:2px;opacity:0;transition:opacity var(--transition-base);background:var(--glass-medium);padding:2px;border-radius:0}.day-view-block:hover .day-view-block-actions{opacity:1}.block-task-controls{display:flex;gap:2px}.btn-block-state{width:18px;height:18px;border:none;background:var(--bg-hover);border-radius:0;cursor:pointer;font-size:var(--font-xs);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0}.btn-block-state:hover{transform:scale(1.1)}.btn-block-complete{color:var(--accent-success)}.btn-block-complete:hover{background:var(--accent-success);color:#fff}.btn-block-drop{color:var(--accent-warning)}.btn-block-drop:hover{background:var(--accent-warning);color:#fff}.btn-block-reset{color:var(--text-secondary)}.btn-block-reset:hover{background:var(--text-secondary);color:#fff}@media (max-width: 768px){.day-view-overlay{padding:0;align-items:flex-end}.day-view-content{max-width:100%;max-height:85vh;border-radius:0}.day-view-header{padding:1rem}.day-view-header h2{font-size:var(--font-lg)}.hour-column{font-size:var(--font-sm)}.hour-row{min-height:50px}.hour-label{width:50px;font-size:var(--font-xs)}.day-view-block-content{padding:.25rem}.day-view-block-title{font-size:var(--font-sm)}.day-view-block-time{font-size:var(--font-xs)}.btn-block-state{width:28px;height:28px;font-size:14px}}@media (pointer: coarse){.day-view-block,.all-day-event-item{cursor:pointer}.day-view-block-actions{opacity:1}}.day-view-reminder{background:#14b8a633!important;border-left:3px dashed #14b8a6!important;min-height:30px;max-height:30px;position:absolute;left:0;right:0;z-index:var(--z-raised)}.icalendar-modal{max-width:600px}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin-bottom:1rem}.time-display{background:var(--glass-light);padding:1rem;border-radius:0;margin-bottom:1rem}.time-item{display:flex;gap:1rem;margin-bottom:.5rem}.time-item:last-child{margin-bottom:0}.time-label{font-weight:500;color:var(--text-secondary);min-width:60px}.time-value{color:var(--text-primary);font-weight:500}.checkbox-group{margin-top:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;color:var(--text-primary)}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--gradient-orange)}.planner-side-panel{width:100%;min-width:0;background:transparent;display:flex;flex-direction:column;height:100%;position:relative}.planner-side-panel.collapsed{width:100%;min-width:0}.planner-side-panel .sidebar-toggle-btn{display:none}.planner-panel-header{padding:12px 16px;border-bottom:1px solid var(--border-primary)}.planner-panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.planner-panel-header .panel-hint{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.planner-filter-row{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-primary)}.planner-filter-row .filter-btn{flex:1;padding:4px 8px;background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer}.planner-filter-row .filter-btn:hover{background:#0000000d}.planner-filter-row .filter-btn.active{background:#00000014;border-color:#00000026;color:var(--text-primary)}.planner-goals-list{flex:1;overflow-y:auto;padding:8px}.planner-goal-item{margin-bottom:2px}.planner-goal-item.depth-1{margin-left:16px}.planner-goal-item.depth-2{margin-left:32px}.planner-goal-item.depth-3{margin-left:48px}.planner-goal-item.depth-4{margin-left:64px}.planner-goal-row{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:grab;background:#1e3a5fd9;border:1px solid rgba(30,58,95,.6);border-radius:var(--radius-md)}.planner-goal-row:hover{background:#1e3a5ff2;border-color:#3c6496b3}.planner-goal-row.dragging{opacity:.5;cursor:grabbing}.planner-goal-row.completed{opacity:.5;cursor:default}.planner-type-btn{min-width:28px;height:20px;padding:0 4px;border:none;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.planner-type-btn.has-children{cursor:pointer}.planner-type-btn.has-children:after{content:" ▸";font-size:8px;margin-left:2px}.planner-type-btn.has-children.expanded:after{content:" ▾"}.planner-type-btn:disabled{cursor:default}.planner-goal-title{flex:1;font-size:12px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-goal-title.completed{text-decoration:line-through;color:#0f172a80}.planner-goal-title .status-icon{margin-right:4px}.planner-goal-date{font-size:10px;color:#0f172a99;white-space:nowrap}.planner-goal-hours{font-size:10px;color:#0f172ab3;background:#00000014;padding:2px 4px;border-radius:var(--radius-sm)}.planner-goal-children{margin-top:2px}.planner-goal-task-count{font-size:10px;color:#0f172a99;background:#0000001a;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}.planner-task-item{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:11px;color:var(--text-secondary);border-radius:var(--radius-sm)}.planner-task-item.standalone{padding:6px 8px;margin-bottom:2px;background:#1e3a5f99;border:1px solid rgba(30,58,95,.4);border-radius:var(--radius-md)}.planner-task-type-badge{min-width:20px;height:18px;padding:0 4px;background:#fcd34d;color:#000c;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.planner-task-item.depth-1{margin-left:16px}.planner-task-item.depth-2{margin-left:32px}.planner-task-item.depth-3{margin-left:48px}.planner-task-state{font-size:12px;flex-shrink:0}.planner-task-state.state-3{color:#22c55e}.planner-task-state.state-2{color:#ef4444}.planner-task-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary)}.planner-task-time{font-size:10px;color:var(--text-muted);white-space:nowrap}.no-goals-message{text-align:center;padding:24px 16px;color:var(--text-muted)}.no-goals-message p{margin:0;font-size:13px}.no-goals-message .hint-text{margin-top:4px;font-size:11px;opacity:.7}@media (max-width: 768px){.planner-side-panel{position:fixed;left:0;top:0;bottom:0;width:280px;min-width:280px;z-index:var(--z-dropdown);background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);transform:translate(-100%);transition:transform var(--transition-slow)}.planner-side-panel:not(.collapsed){transform:translate(0)}.planner-side-panel .sidebar-toggle-btn{display:flex}}.quick-tasks-panel{display:flex;flex-direction:column;overflow:hidden}.qtp-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px;margin-bottom:8px}.qtp-header h3{margin:0;font-size:var(--font-base);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.qtp-count{font-size:var(--font-sm);color:var(--text-secondary);background:#0000000f;padding:1px 6px;border-radius:var(--radius-md)}.qtp-input-form{position:relative;margin-bottom:8px}.qtp-input{width:100%;padding:8px 10px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast);box-sizing:border-box}.qtp-input:focus{border-color:#00000026}.qtp-input::placeholder{color:var(--text-muted)}.qtp-parsed-date{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:var(--font-xs);color:var(--accent-success)}.qtp-task-list{flex:1;overflow-y:auto;min-height:0}.qtp-task-list::-webkit-scrollbar{width:3px}.qtp-task-list::-webkit-scrollbar-thumb{background:#0000000f;border-radius:var(--radius-sm)}.qtp-empty{text-align:center;padding:16px 0;color:var(--text-muted);font-size:var(--font-sm)}.qtp-section{margin-bottom:6px}.qtp-section-header{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:4px 2px}.section-overdue .qtp-section-header{color:var(--accent-danger)}.qtp-task-item{display:flex;align-items:center;gap:6px;padding:5px 4px;border-radius:var(--radius-sm);cursor:grab;transition:background var(--transition-fast)}.qtp-task-item:hover{background:#0000000a}.qtp-task-item.completed{opacity:.5}.qtp-task-item.overdue .qtp-task-title{color:var(--accent-danger)}.qtp-checkbox{width:16px;height:16px;min-width:16px;border:1.5px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.qtp-checkbox.checked{background:var(--accent-success);border-color:var(--accent-success)}.qtp-task-title{flex:1;font-size:var(--font-base);color:var(--text-primary);cursor:text;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtp-task-item.completed .qtp-task-title{text-decoration:line-through}.qtp-edit-input{flex:1;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:2px 5px;color:var(--text-primary);font-size:var(--font-base);font-family:inherit;outline:none;min-width:0}.qtp-task-meta{display:flex;align-items:center;gap:4px;flex-shrink:0}.qtp-due{font-size:.6rem;color:var(--text-muted)}.qtp-due.overdue{color:var(--accent-danger)}.qtp-due.today{color:var(--accent-warning)}.qtp-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-base);padding:0 2px;opacity:0;transition:opacity var(--transition-fast);line-height:1}.qtp-task-item:hover .qtp-delete-btn{opacity:1}.qtp-delete-btn:hover{color:var(--accent-danger)}.qtp-show-completed{display:block;width:100%;padding:6px 0;background:none;border:none;color:var(--text-muted);font-size:var(--font-sm);cursor:pointer;text-align:center;font-family:inherit}.qtp-show-completed:hover{color:var(--text-secondary)}.goal-info-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-popover);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light)}.goal-info-popup{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:1px solid var(--border-primary);width:90%;max-width:400px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary);background:var(--glass-light)}.popup-level-badge{font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);background:#7aa2d433;padding:.25rem .75rem}.popup-close{width:28px;height:28px;border:1px solid var(--border-primary);background:var(--glass-medium);font-size:var(--font-lg);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-base)}.popup-close:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.popup-content{padding:1.25rem}.popup-title{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.popup-description{font-size:var(--font-md);color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.popup-details{display:flex;flex-direction:column;gap:.5rem}.popup-detail-item{display:flex;align-items:center;gap:.5rem;font-size:var(--font-base)}.detail-label{color:var(--text-muted)}.detail-value{color:var(--text-primary);font-weight:500}.popup-stats{display:flex;gap:1rem;margin-top:1rem;padding:.75rem;background:var(--glass-light);border:1px solid var(--border-secondary)}.stat-item{display:flex;flex-direction:column;align-items:center;flex:1}.stat-value{font-size:var(--font-lg);font-weight:600;color:var(--text-primary)}.stat-label{font-size:var(--font-sm);color:var(--text-muted);text-transform:uppercase}.popup-progress{margin-top:1rem}.popup-progress-bar{height:8px;background:var(--glass-light);overflow:hidden;margin-bottom:.25rem}.popup-progress-fill{height:100%;background:var(--gradient-orange);transition:width var(--transition-slow)}.popup-progress-text{font-size:var(--font-sm);color:var(--text-muted)}.popup-task-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-secondary)}.popup-task-status{margin-bottom:.75rem}.task-state-badge{display:inline-block;padding:.25rem .75rem;font-size:var(--font-sm);font-weight:600;text-transform:uppercase}.task-state-badge.state-0{background:var(--glass-light);color:var(--text-secondary)}.task-state-badge.state-1{background:#7aa2d433;color:var(--accent-primary)}.task-state-badge.state-2{background:#f59e0b33;color:var(--accent-warning)}.task-state-badge.state-3{background:#10b98133;color:var(--accent-success)}.popup-scheduled{font-size:var(--font-base);margin-bottom:.75rem}.scheduled-label{color:var(--text-muted);margin-right:.5rem}.scheduled-time{color:var(--text-primary);font-weight:500}.popup-task-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-popup-action{padding:.5rem 1rem;border:1px solid;background:var(--glass-light);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:.25rem}.btn-popup-action.btn-complete{color:var(--accent-success);border-color:var(--accent-success)}.btn-popup-action.btn-complete:hover{background:var(--accent-success);color:#fff}.btn-popup-action.btn-drop{color:var(--accent-warning);border-color:var(--accent-warning)}.btn-popup-action.btn-drop:hover{background:var(--accent-warning);color:#fff}.btn-popup-action.btn-reset{color:var(--text-secondary);border-color:var(--border-primary)}.btn-popup-action.btn-reset:hover{background:var(--text-secondary);color:#fff}.popup-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border-primary);background:var(--glass-light)}.btn-popup-edit{padding:.5rem 1rem;background:var(--glass-medium);color:var(--accent-primary);border:1px solid var(--accent-primary);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-popup-edit:hover{background:var(--accent-primary);color:#fff}.btn-popup-close{padding:.5rem 1rem;background:var(--gradient-orange);color:#fff;border:none;font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-popup-close:hover{filter:brightness(1.1)}.form-info{background:var(--glass-light);padding:1rem;border-radius:0;margin-bottom:1.5rem;border:1px solid var(--border-primary)}.form-info p{margin:.5rem 0;font-size:var(--font-base);color:var(--text-secondary)}.form-info strong{color:var(--accent-primary)}.info-text{color:var(--text-muted)!important;font-size:var(--font-base)!important}.level-selector{display:flex;gap:.5rem;flex-wrap:wrap}.level-btn{padding:.5rem 1rem;border:1px solid var(--border-primary);background:var(--glass-light);color:var(--text-secondary);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-base);border-radius:0}.level-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.level-btn.active{background:var(--gradient-orange);border-color:var(--gradient-orange);color:#fff;font-weight:500}.form-hint{font-size:var(--font-sm);color:var(--text-muted);margin-top:.25rem;margin-bottom:0}.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);font-family:inherit;resize:vertical;transition:border-color var(--transition-base);background:var(--glass-light);color:var(--text-primary)}.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.category-select-wrapper{display:flex;align-items:center;gap:.75rem}.category-select-wrapper select{flex:1;padding:.75rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);background:var(--glass-light);color:var(--text-primary);cursor:pointer}.category-select-wrapper select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.category-color-indicator{width:24px;height:24px;border-radius:0;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.form-row-inline{display:flex;gap:.75rem;align-items:center}.form-row-inline select{flex:1;padding:.75rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);background:var(--glass-light);color:var(--text-primary);cursor:pointer}.form-row-inline select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.form-row-inline input[type=number]{padding:.75rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-md);background:var(--glass-light);color:var(--text-primary)}.date-field{flex:1;display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}.date-field input[type=date]{padding:.5rem;border:1px solid var(--border-primary);border-radius:0;font-size:var(--font-base);width:100%;background:var(--glass-light);color:var(--text-primary)}.date-field input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.image-event-modal{max-width:500px;width:95%}.capture-step{padding:1rem 0}.api-key-section{padding:1rem;background:var(--glass-solid);border-radius:var(--radius-md);margin-bottom:1rem}.api-key-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500}.api-key-icon{font-size:1.1rem}.api-key-input{width:100%;padding:.75rem;border:1px solid var(--border-color, #ccc);border-radius:var(--radius-md);font-size:var(--font-md);margin-bottom:.5rem}.api-key-input:focus{outline:none;border-color:var(--primary-color, #007bff)}.api-key-hint{font-size:var(--font-base);color:var(--text-secondary, #666);margin:0}.api-key-hint a{color:var(--primary-color, #007bff)}.api-key-saved{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-success, #e8f5e9);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-md);color:var(--text-success, #2e7d32)}.btn-change-key{background:none;border:none;color:var(--primary-color, #007bff);cursor:pointer;font-size:var(--font-base);text-decoration:underline}.cloudinary-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-warning, #fff3e0);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-base);color:var(--text-warning, #e65100)}.warning-icon{font-size:var(--font-md)}.upload-area{margin-bottom:1.5rem}.upload-label{display:block;cursor:pointer}.file-input{position:absolute;opacity:0;width:0;height:0}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed var(--border-color, #ccc);border-radius:var(--radius-lg);background:var(--glass-solid);transition:all var(--transition-base)}.upload-placeholder:hover{border-color:var(--primary-color, #007bff);background:var(--bg-hover, #eef5ff)}.upload-icon{font-size:3rem;margin-bottom:.75rem}.upload-text{font-size:1.1rem;font-weight:500;color:var(--text-primary, #333);margin-bottom:.25rem}.upload-hint{font-size:var(--font-base);color:var(--text-secondary, #666)}.image-preview-container{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000}.image-preview{width:100%;max-height:300px;object-fit:contain;display:block}.btn-remove-image{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:var(--radius-full);background:#0009;color:#fff;border:none;font-size:var(--font-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base)}.btn-remove-image:hover{background:#000c}.processing-step{padding:2rem 0;text-align:center}.image-preview-small{margin-bottom:1.5rem;border-radius:var(--radius-md);overflow:hidden;max-height:150px;display:flex;justify-content:center;background:#000}.image-preview-small img{max-height:150px;object-fit:contain}.progress-container{max-width:300px;margin:0 auto}.progress-bar{height:8px;background:var(--glass-solid);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:var(--primary-color, #007bff);transition:width var(--transition-slow)}.progress-text{font-size:var(--font-md);color:var(--text-secondary, #666)}.edit-step{padding:.5rem 0}.extracted-info-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-success, #e8f5e9);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-md);color:var(--text-success, #2e7d32)}.info-icon{font-size:1.1rem}.btn-show-raw{margin-left:auto;background:none;border:none;color:var(--primary-color, #007bff);cursor:pointer;font-size:var(--font-base);text-decoration:underline}.btn-show-raw:hover{color:var(--primary-dark, #0056b3)}.raw-text-display{background:var(--glass-solid);border-radius:var(--radius-md);padding:.75rem;margin-bottom:1rem;max-height:120px;overflow-y:auto}.raw-text-display pre{margin:0;font-size:var(--font-base);white-space:pre-wrap;word-break:break-word;color:var(--text-secondary, #666)}.error-banner{padding:.75rem 1rem;background:var(--bg-error, #ffebee);color:var(--text-error, #c62828);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-md)}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}.action-group{display:flex;gap:.75rem}.btn-secondary{padding:.6rem 1rem;background:var(--glass-solid);color:var(--text-primary, #333);border:1px solid var(--border-color, #ccc);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-md);transition:all var(--transition-base)}.btn-secondary:hover{background:var(--bg-hover, #e0e0e0)}.edit-step .form-group{margin-bottom:1rem}.edit-step .form-group label{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.edit-step .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detection-badge{font-size:var(--font-sm);padding:.2rem .5rem;border-radius:var(--radius-sm);font-weight:500}.detection-badge.not-detected{background:var(--bg-warning, #fff3e0);color:var(--text-warning, #e65100)}input.needs-input,textarea.needs-input{border-color:var(--border-warning, #ff9800);background-color:var(--bg-warning-light, #fffbf5)}input.needs-input:focus,textarea.needs-input:focus{border-color:var(--border-warning, #ff9800);box-shadow:0 0 0 2px #ff980033}@media (max-width: 480px){.image-event-modal{max-height:90vh;overflow-y:auto}.upload-placeholder{padding:2rem 1rem}.upload-icon{font-size:var(--font-3xl)}.edit-step .form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.action-group{width:100%;justify-content:flex-end}}.recurring-edit-overlay{z-index:var(--z-modal-content)}.recurring-edit-modal{max-width:480px}.modal-body{padding:1.5rem}.recurring-edit-prompt{margin:0 0 .5rem;font-size:var(--font-md);color:var(--text-primary);line-height:1.5}.recurring-edit-date{margin:0 0 1.5rem;font-size:var(--font-md);color:var(--text-secondary)}.recurring-edit-date strong{color:var(--text-primary)}.edit-mode-options{display:flex;flex-direction:column;gap:.75rem}.edit-mode-option{display:block;cursor:pointer;padding:1rem;border:2px solid var(--border-primary);background:var(--glass-light);transition:all var(--transition-base)}.edit-mode-option:hover{border-color:var(--accent-primary);background:var(--glass-solid)}.edit-mode-option.selected{border-color:var(--gradient-orange);background:#f973160d}.edit-mode-option input[type=radio]{display:none}.option-content{display:flex;align-items:flex-start;gap:1rem}.option-icon{font-size:var(--font-xl);flex-shrink:0;margin-top:.125rem}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.option-description{font-size:var(--font-base);color:var(--text-secondary);line-height:1.4}.recurring-edit-modal .modal-actions{padding:1rem 1.5rem 1.5rem;margin-top:0;border-top:none}.recurring-edit-modal .btn-delete{background:#dc2626}.recurring-edit-modal .btn-delete:hover{background:#b91c1c;box-shadow:var(--shadow-md)}@media (max-width: 768px){.recurring-edit-modal{width:100%;max-width:100%}.option-content{gap:.75rem}.option-icon{font-size:var(--font-lg)}.option-title{font-size:.9rem}.option-description{font-size:.8rem}}.calendar-view{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}@media (max-width: 768px){.calendar-view{overflow-y:auto;-webkit-overflow-scrolling:touch}}.mobile-header{display:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--glass-light);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-bottom:1px solid var(--border-primary)}.calendar-title-section{display:flex;align-items:center;gap:1rem}.view-switcher{display:flex;background:var(--glass-light);border-radius:0;padding:4px;border:1px solid var(--border-secondary)}.view-switch-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:0;font-size:var(--font-md);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.view-switch-btn.active{background:var(--accent-primary);color:#fff}.view-switch-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-hover)}.header-divider{width:1px;height:24px;background:var(--border-primary)}.calendar-header h1{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin:0}.view-toggle-slider{display:flex;align-items:center}.toggle-slider-track{display:flex;position:relative;background:var(--glass-light);border-radius:0;padding:4px;border:1px solid var(--border-secondary)}.toggle-slider-indicator{position:absolute;top:4px;left:4px;width:calc(33.333% - 2.67px);height:calc(100% - 8px);background:var(--glass-heavy);border-radius:0;box-shadow:var(--shadow-sm);transition:transform var(--transition-slow);transform:translate(calc(var(--active-index) * 100%))}.toggle-option{position:relative;z-index:var(--z-base);padding:.5rem 1rem;border:none;background:transparent;border-radius:0;font-size:var(--font-base);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base);min-width:70px}.toggle-option.active{color:var(--accent-primary)}.toggle-option:hover:not(.active){color:var(--text-primary)}.calendar-actions{display:flex;gap:1rem}.btn-primary{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:0;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover{background:var(--accent-secondary)}.fab-menu{position:absolute;bottom:1.5rem;right:1.5rem;z-index:var(--z-raised)}.fab-trigger{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--glass-light);color:var(--text-primary);border:1px solid var(--border-primary);font-size:var(--font-xl);font-weight:300;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.fab-menu-open .fab-trigger{background:var(--bg-hover);border-color:var(--border-accent)}.fab-options{position:absolute;bottom:56px;right:0;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);transform:translateY(8px)}.fab-menu-open .fab-options{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-option{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--glass-light);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.fab-option:hover{background:var(--bg-hover);border-color:var(--border-accent);color:var(--text-primary)}.fab-click-menu{position:absolute;bottom:0;right:56px;display:flex;flex-direction:column;background:var(--glass-light);border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden;min-width:130px}.fab-click-option{padding:.55rem .85rem;background:none;border:none;color:var(--text-secondary);font-size:var(--font-base);text-align:left;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.fab-click-option:not(:last-child){border-bottom:1px solid var(--border-secondary)}.fab-click-option:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-view .deviation-fab{position:fixed;bottom:10rem;right:2rem;width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--gradient-orange),var(--accent-warning));color:#fff;border:none;box-shadow:0 4px 12px #f9731666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-xl);transition:all var(--transition-base);z-index:var(--z-dropdown)}.calendar-view .deviation-fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #f9731680}.calendar-view .deviation-fab .fab-icon{font-size:var(--font-xl)}.calendar-view .deviation-fab .fab-label{display:none}@media (min-width: 769px){.calendar-view .deviation-fab{width:auto;min-width:56px;padding:0 1rem;border-radius:0}.calendar-view .deviation-fab:hover .fab-label{display:inline;margin-left:.5rem;font-size:var(--font-base);font-weight:500;white-space:nowrap}}.btn-secondary{padding:.75rem 1.5rem;background:var(--glass-light);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:0;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{background:#7aa2d426}.calendar-content-wrapper{display:flex;flex:1;overflow:hidden;gap:16px;padding:12px 16px}.calendar-main-content{flex:1;overflow:hidden;border-radius:var(--radius-lg);background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);position:relative}.calendar-right-panel{width:280px;min-width:280px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.right-panel-card{background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-lg);overflow:hidden}.right-panel-card.planner-card{flex:1;min-height:0;display:flex;flex-direction:column}.right-panel-card.tasks-card{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px}.usage-stats-panel{background:var(--glass-medium);border-bottom:1px solid var(--border-primary);padding:1rem 1.5rem}.usage-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem}.usage-date-nav{display:flex;align-items:center;gap:.5rem}.nav-btn{padding:.5rem .75rem;border:1px solid var(--border-secondary);background:var(--glass-light);border-radius:0;font-size:var(--font-base);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.nav-btn:hover{background:var(--bg-hover);border-color:var(--border-accent)}.nav-btn.today-btn{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.nav-btn.today-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.usage-date-label{font-weight:500;color:var(--text-primary);min-width:200px;text-align:center}.usage-content{display:flex;align-items:flex-start;gap:2rem}.usage-total{display:flex;align-items:baseline;gap:.5rem;flex-shrink:0}.usage-total-label{font-size:var(--font-base);color:var(--text-secondary)}.usage-total-value{font-size:var(--font-xl);font-weight:600;color:var(--text-primary)}.usage-block-count{font-size:var(--font-sm);color:var(--text-muted)}.usage-breakdown{display:flex;flex-wrap:wrap;gap:1rem;flex:1}.usage-category-item{display:flex;align-items:center;gap:.5rem;min-width:200px}.usage-category-color{width:12px;height:12px;border-radius:0;flex-shrink:0}.usage-category-name{font-size:var(--font-base);color:var(--text-primary);flex-shrink:0}.usage-category-time{font-size:var(--font-base);font-weight:600;color:var(--text-secondary);margin-left:auto;flex-shrink:0}.usage-category-bar-container{width:60px;height:8px;background:var(--glass-light);border-radius:0;overflow:hidden;flex-shrink:0}.usage-category-bar{height:100%;border-radius:0;transition:width var(--transition-slow)}.no-usage-data{color:var(--text-muted);font-style:italic;font-size:var(--font-base)}@media (max-width: 768px){.mobile-header{display:block;background:var(--glass-light);border-bottom:1px solid var(--border-primary);padding:.75rem 1rem;position:sticky;top:0;z-index:var(--z-dropdown)}.mobile-header-top{display:flex;justify-content:space-between;align-items:center}.mobile-logo{font-size:var(--font-md);font-weight:600;color:var(--text-primary)}.mobile-header-actions{display:flex;align-items:center;gap:.5rem}.mobile-view-controls{display:flex;gap:.25rem;background:var(--glass-light);padding:2px;border:1px solid var(--border-secondary)}.mobile-view-btn{padding:.5rem .75rem;border:none;background:transparent;font-size:var(--font-base);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.mobile-view-btn.active{background:var(--accent-primary);color:#fff}.mobile-goals-btn{padding:.5rem .75rem;border:1px solid var(--border-secondary);background:var(--glass-light);font-size:var(--font-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.mobile-goals-btn:hover{background:var(--bg-hover)}.calendar-header{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.calendar-title-section{width:100%;justify-content:space-between}.calendar-header h1{font-size:var(--font-lg)}.view-switcher,.header-divider{display:none}.calendar-actions{width:100%;justify-content:flex-end}.btn-primary,.btn-secondary{padding:.5rem 1rem;font-size:var(--font-base)}.fab-menu{bottom:1rem;right:1rem}.fab-trigger{width:44px;height:44px;font-size:var(--font-lg)}.fab-option{width:36px;height:36px}.calendar-view .deviation-fab{bottom:12rem;right:1rem;width:48px;height:48px;min-width:48px;padding:0;border-radius:var(--radius-full)}.calendar-view .deviation-fab .fab-icon{font-size:var(--font-lg)}.calendar-right-panel{display:none}.calendar-content-wrapper{flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0;gap:0}.calendar-main-content{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.usage-stats-panel{padding:.75rem 1rem}.usage-header{margin-bottom:.75rem}.usage-date-nav{flex-wrap:wrap;justify-content:center}.usage-date-label{width:100%;order:-1;margin-bottom:.5rem}.usage-content{flex-direction:column;gap:1rem}.usage-breakdown{flex-direction:column;gap:.5rem}.usage-category-item{min-width:100%}.view-toggle-slider,.toggle-slider-track{width:100%}.toggle-option{flex:1;min-width:0;padding:.5rem;font-size:var(--font-sm)}}@media (max-width: 480px){.calendar-header h1{font-size:var(--font-md)}.btn-primary,.btn-secondary{padding:.5rem .75rem;font-size:var(--font-sm)}.mobile-logo{font-size:var(--font-base)}}.apple-credentials-modal{max-width:500px}.apple-info-box{background:linear-gradient(135deg,#f8f4ff,#fef3f8);border:1px solid #e8d5f0;border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px}.apple-info-box h4{margin:0 0 10px;font-size:15px;color:#5a3d72}.apple-info-box p{margin:0 0 12px;font-size:13px;color:#666;line-height:1.5}.apple-info-box ol{margin:0;padding-left:20px;font-size:13px;color:#555;line-height:1.8}.apple-info-box ol li{margin-bottom:4px}.apple-info-box a{color:#007aff;text-decoration:none;font-weight:500}.apple-info-box a:hover{text-decoration:underline}.form-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;color:#c53030;display:flex;align-items:flex-start;gap:10px;font-size:14px}.form-error .error-icon{flex-shrink:0}.calendar-picker-modal{max-width:480px}.picker-description{margin:0 0 20px;font-size:14px;color:#666;line-height:1.5}.calendar-list{background:var(--glass-light);border-radius:var(--radius-lg);padding:12px;margin-bottom:20px;max-height:300px;overflow-y:auto}.select-all-row{border-bottom:1px solid #e0e0e0;padding-bottom:10px;margin-bottom:10px}.calendar-checkbox{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.calendar-checkbox:hover{background:#0000000a}.calendar-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#007aff}.calendar-color-dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.calendar-name{flex:1;font-size:14px;color:#333;display:flex;align-items:center;gap:8px}.checkbox-text{font-size:14px;color:#666;font-weight:500}.default-badge{background:#e8f4ff;color:#007aff;font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.no-selection-warning{color:#e53e3e;font-size:13px;margin-top:-10px;margin-bottom:16px}.calendar-connections{padding:1rem;background:var(--glass-medium);border:1px solid var(--border-primary);border-radius:0;margin-bottom:1.5rem}.calendar-connections.loading{color:var(--text-secondary);font-style:italic}.calendar-connections h3{margin:0 0 1rem;font-size:var(--font-lg);color:var(--text-primary)}.calendar-connections h4{margin:1rem 0 .5rem;font-size:var(--font-md);color:var(--text-secondary)}.connection-error{background:#ef44441a;border:1px solid var(--accent-danger);padding:.75rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;color:var(--accent-danger);font-size:var(--font-md)}.connection-error button{background:none;border:none;font-size:var(--font-lg);cursor:pointer;color:var(--accent-danger);padding:0 .25rem}.connection-error button:hover{color:#f87171}.connected-calendars-list{margin-bottom:1.5rem}.no-calendars{color:var(--text-muted);font-style:italic;padding:1rem 0;font-size:var(--font-md)}.connected-calendar-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--glass-light);border:1px solid var(--border-primary);margin-bottom:.5rem}.calendar-info{display:flex;align-items:center;gap:.75rem}.calendar-icon{font-size:var(--font-md);font-weight:700;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--glass-light);border:1px solid var(--border-primary)}.calendar-details{display:flex;flex-direction:column;gap:.2rem}.calendar-name{font-weight:600;color:var(--text-primary)}.calendar-email{font-size:var(--font-base);color:var(--text-secondary)}.last-synced{font-size:var(--font-sm);color:var(--text-muted)}.calendar-actions{display:flex;align-items:center;gap:.5rem}.sync-toggle{display:flex;align-items:center;gap:.25rem;font-size:var(--font-base);cursor:pointer;color:var(--text-secondary)}.sync-toggle input{cursor:pointer;accent-color:var(--gradient-orange)}.btn-sync{padding:.4rem .75rem;background:var(--accent-primary);color:#0a0a0a;border:1px solid var(--border-primary);cursor:pointer;font-size:var(--font-base);font-weight:500}.btn-sync:hover:not(:disabled){filter:brightness(1.1)}.btn-sync:disabled{opacity:.6;cursor:not-allowed}.btn-disconnect{padding:.4rem .75rem;background:var(--glass-light);color:var(--text-secondary);border:1px solid var(--border-primary);cursor:pointer;font-size:var(--font-base)}.btn-disconnect:hover{background:#ef44441a;color:var(--accent-danger);border-color:var(--accent-danger)}.connect-calendar-buttons{border-top:1px solid var(--border-primary);padding-top:1rem}.btn-connect{display:block;width:100%;padding:.75rem;margin-bottom:.5rem;border:1px solid var(--border-primary);background:var(--glass-medium);color:var(--text-primary);cursor:pointer;text-align:left;font-size:var(--font-md);transition:all var(--transition-base)}.btn-connect:hover:not(:disabled){background:var(--bg-hover)}.btn-connect:disabled{opacity:.5;cursor:not-allowed}.btn-google:hover:not(:disabled){border-color:#4285f4;color:#4285f4}.btn-outlook:hover:not(:disabled){border-color:#0078d4;color:#0078d4}.btn-apple:hover:not(:disabled){border-color:#999;color:#999}.api-loading-hint{font-size:var(--font-base);color:var(--text-muted);font-style:italic;margin-top:.5rem}@media (max-width: 600px){.connected-calendar-item{flex-direction:column;align-items:flex-start;gap:.75rem}.calendar-actions{width:100%;justify-content:flex-end}}.settings-view{display:flex;flex-direction:column;height:100%;width:100%;background:transparent}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--glass-light);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-bottom:1px solid var(--border-primary);flex-shrink:0}.settings-header h2{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin:0}.settings-content{flex:1;overflow-y:auto;padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.5rem;align-content:start}.settings-section{background:var(--glass-heavy);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-primary);padding:1.5rem}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.section-description{font-size:var(--font-base);color:var(--text-secondary);margin:0}.category-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.category-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--glass-light);border:1px solid var(--border-secondary)}.color-picker{width:40px;height:32px;padding:0;border:1px solid var(--border-secondary);border-radius:0;cursor:pointer;background:transparent}.color-picker.color-picker-large{width:60px;height:48px}.color-picker::-webkit-color-swatch-wrapper{padding:2px}.color-picker::-webkit-color-swatch{border:none;border-radius:0}.category-name-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);background:var(--glass-heavy);color:var(--text-primary)}.category-name-input:focus{outline:none;border-color:var(--accent-primary)}.btn-delete{padding:.375rem .75rem;background:transparent;border:1px solid var(--border-secondary);border-radius:0;color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-base)}.btn-delete:hover{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff}.category-actions{display:flex;gap:.75rem;margin-top:1rem}.settings-view .btn-secondary{padding:.5rem 1rem;background:var(--glass-light);border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.settings-view .btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.settings-view .btn-primary{padding:.5rem 1rem;background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:0;font-size:var(--font-base);color:#fff;cursor:pointer;transition:all var(--transition-base)}.settings-view .btn-primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.gradient-settings{display:flex;flex-direction:column;gap:1.5rem}.gradient-preview{height:80px;border:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.preview-label{font-size:var(--font-sm);color:var(--text-secondary);background:#0a0a0fcc;padding:.25rem .75rem;border:1px solid var(--border-secondary)}.gradient-colors{display:flex;gap:1.5rem;flex-wrap:wrap}.gradient-color-item{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.gradient-color-item label{font-size:var(--font-sm);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.color-input-row{display:flex;gap:.5rem;align-items:center}.color-hex-input{flex:1;padding:.5rem;border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);font-family:monospace;width:80px;background:var(--glass-heavy);color:var(--text-primary)}.color-hex-input:focus{outline:none;border-color:var(--accent-primary)}.color-hex-input.disabled{background:var(--glass-light);color:var(--text-muted);cursor:not-allowed}.color-picker-static{width:40px;height:32px;border:1px solid var(--border-secondary)}.gradient-actions{display:flex;gap:.75rem}.deviation-options-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.deviation-option-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--glass-light);border:1px solid var(--border-secondary)}.deviation-option-item .icon-input{width:48px;padding:.5rem;text-align:center;font-size:var(--font-lg);border:1px solid var(--border-secondary);border-radius:0;background:var(--glass-heavy)}.deviation-option-item .label-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);background:var(--glass-heavy);color:var(--text-primary)}.deviation-option-item .label-input:focus,.deviation-option-item .icon-input:focus{outline:none;border-color:var(--accent-primary)}.deviation-save-section{background:transparent;border:none;padding:0}.deviation-actions{display:flex;gap:.75rem;justify-content:flex-start}.tutorial-section{background:linear-gradient(135deg,#f9731614,#3b82f614);border-color:#f973164d}.tutorial-actions{display:flex;flex-direction:column;gap:.75rem}.btn-tutorial-action{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--border-secondary);border-radius:0;cursor:pointer;transition:all var(--transition-base);text-align:left}.btn-tutorial-action .btn-icon{font-size:var(--font-xl);min-width:40px;text-align:center}.btn-tutorial-action .btn-text{display:flex;flex-direction:column;gap:2px}.btn-tutorial-action .btn-text strong{font-size:var(--font-md);font-weight:600}.btn-tutorial-action .btn-text small{font-size:var(--font-base);opacity:.8}.btn-tutorial-action.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-tutorial-action.btn-primary:hover{background:var(--accent-primary-hover, #ea580c);transform:translateY(-1px)}.btn-tutorial-action.btn-secondary{background:var(--glass-light);border-color:var(--border-secondary);color:var(--text-primary)}.btn-tutorial-action.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.accent-presets{display:flex;flex-direction:column;gap:.5rem}.accent-presets label{font-size:var(--font-sm);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.preset-colors{display:flex;gap:.5rem;flex-wrap:wrap}.preset-color-btn{width:32px;height:32px;padding:0;border:2px solid transparent;cursor:pointer;transition:all var(--transition-base)}.preset-color-btn:hover{transform:scale(1.1);border-color:#ffffff4d}.preset-color-btn.active{border-color:#fff;box-shadow:0 0 0 2px #0000004d}.background-type-toggle{display:flex;gap:0;margin-bottom:1rem}.background-type-toggle .type-btn{flex:1;padding:.75rem 1rem;background:var(--glass-light);border:1px solid var(--border-secondary);color:var(--text-secondary);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-base)}.background-type-toggle .type-btn:first-child{border-right:none}.background-type-toggle .type-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.background-type-toggle .type-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.background-url-input{width:100%;padding:.75rem;border:1px solid var(--border-secondary);border-radius:0;font-size:var(--font-base);background:var(--glass-heavy);color:var(--text-primary)}.background-url-input:focus{outline:none;border-color:var(--accent-primary)}.input-hint{margin:.5rem 0 0;font-size:var(--font-sm);color:var(--text-muted)}.background-settings{display:flex;flex-direction:column;gap:1rem}.background-preview{width:100%;height:150px;border:1px solid var(--border-secondary);background:var(--glass-light);display:flex;align-items:center;justify-content:center;overflow:hidden}.background-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.background-preview .no-background{color:var(--text-muted);font-size:var(--font-base)}.background-actions{display:flex;gap:.75rem}.upload-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.scheduling-section{background:linear-gradient(135deg,#6366f10f,#a855f70f)!important;border-color:#6366f133!important}.sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sched-field{display:flex;flex-direction:column;gap:8px}.sched-field>label{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.sched-time-range{display:flex;align-items:center;gap:8px}.sched-time-range input[type=time]{padding:6px 10px;border:1px solid var(--border-secondary);border-radius:0;background:var(--glass-heavy);color:var(--text-primary);font-size:var(--font-base)}.sched-time-range input[type=time]:focus{outline:none;border-color:var(--accent-primary)}.sched-time-range span{color:var(--text-muted);font-size:var(--font-base)}.sched-field select{padding:8px 12px;border:1px solid var(--border-secondary);border-radius:0;background:var(--glass-heavy);color:var(--text-primary);font-size:var(--font-base);cursor:pointer}.sched-field select:focus{outline:none;border-color:var(--accent-primary)}.sched-slider-row{display:flex;align-items:center;gap:12px}.sched-slider-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-secondary);border-radius:0;outline:none}.sched-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:var(--radius-full);background:var(--accent-primary);cursor:pointer;border:2px solid var(--glass-medium)}.sched-slider-val{font-size:var(--font-base);font-weight:600;color:var(--accent-primary);min-width:50px;text-align:right}.sched-checkbox{display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:var(--font-base)!important;cursor:pointer}.sched-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.sched-day-picker{display:flex;gap:4px}.sched-day-btn{width:32px;height:32px;border:1px solid var(--border-secondary);border-radius:0;background:var(--glass-heavy);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.sched-day-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.sched-day-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.sched-actions{margin-top:20px;display:flex;justify-content:flex-end}@media (max-width: 600px){.sched-grid{grid-template-columns:1fr}}.tutorial-page{height:100%;background:var(--bg-primary, #1e1e2e);color:var(--text-primary, #ffffff);overflow-y:auto;overflow-x:hidden}.tutorial-page-header{text-align:center;padding:60px 20px 40px;background:linear-gradient(180deg,rgba(249,115,22,.1) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.1);position:relative}.tutorial-page-header h1{font-size:var(--font-3xl);font-weight:300;margin:0 0 8px;letter-spacing:2px}.tutorial-subtitle{font-size:var(--font-lg);color:var(--text-secondary, rgba(255, 255, 255, .7));margin:0}.tutorial-close-btn{position:absolute;top:20px;left:20px;background:var(--glass-light);border:none;color:var(--text-primary, #ffffff);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all var(--transition-base)}.tutorial-close-btn:hover{background:var(--glass-light)}.tutorial-page-content{max-width:800px;margin:0 auto;padding:40px 20px 80px}.tutorial-section{margin-bottom:48px}.tutorial-section h2{font-size:var(--font-xl);font-weight:600;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--accent-primary, #f97316);display:inline-block}.section-intro{font-size:var(--font-lg);line-height:1.7;color:var(--text-secondary, rgba(255, 255, 255, .85));margin-bottom:24px}.mission-section{background:#f9731614;border-radius:var(--radius-lg);padding:32px;border:1px solid rgba(249,115,22,.2)}.mission-section h2{border-bottom:none;margin-bottom:16px}.mission-statement p{font-size:var(--font-lg);line-height:1.8;margin:0 0 16px;color:var(--text-primary, #ffffff)}.mission-statement p:last-child{margin-bottom:0}.concept-card{display:flex;gap:20px;padding:24px;background:var(--glass-faint);border-radius:var(--radius-lg);margin-bottom:16px;border:1px solid rgba(255,255,255,.08);transition:all var(--transition-base)}.concept-card:hover{background:var(--glass-faint);border-color:#ffffff1f}.concept-icon{font-size:var(--font-xl);font-weight:600;color:var(--accent-primary, #f97316);min-width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f9731626;border-radius:var(--radius-lg)}.concept-content h3{font-size:var(--font-lg);font-weight:600;margin:0 0 8px;color:var(--text-primary, #ffffff)}.concept-content p{font-size:var(--font-md);line-height:1.6;margin:0;color:var(--text-secondary, rgba(255, 255, 255, .8))}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-item{padding:20px;background:var(--glass-faint);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08)}.feature-item h4{font-size:var(--font-md);font-weight:600;margin:0 0 8px;color:var(--text-primary, #ffffff)}.feature-item p{font-size:var(--font-md);line-height:1.5;margin:0;color:var(--text-secondary, rgba(255, 255, 255, .75))}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:var(--font-md);line-height:1.6;color:var(--text-secondary, rgba(255, 255, 255, .85))}.feature-list li:last-child{border-bottom:none}.feature-list li strong{color:var(--text-primary, #ffffff)}.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tip-card{padding:20px;background:var(--glass-faint);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);text-align:center}.tip-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-primary, #f97316);color:#fff;border-radius:var(--radius-full);font-weight:600;font-size:var(--font-md);margin-bottom:12px}.tip-card p{font-size:var(--font-md);line-height:1.5;margin:0;color:var(--text-secondary, rgba(255, 255, 255, .8))}.cta-section{text-align:center;padding:40px;background:#3b82f614;border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.2)}.cta-section h2{display:block;border-bottom:none;margin-bottom:16px}.cta-section p{font-size:var(--font-lg);line-height:1.7;color:var(--text-secondary, rgba(255, 255, 255, .85));max-width:500px;margin:0 auto 24px}.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-cta{padding:14px 28px;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none}.btn-cta.btn-primary{background:var(--accent-primary, #f97316);color:#fff}.btn-cta.btn-primary:hover{background:var(--accent-primary-hover, #ea580c);transform:translateY(-2px)}.btn-cta.btn-secondary{background:var(--glass-light);color:var(--text-primary, #ffffff)}.btn-cta.btn-secondary:hover{background:var(--glass-light)}@media (max-width: 768px){.tutorial-page-header{padding:40px 16px 32px}.tutorial-page-header h1{font-size:var(--font-2xl)}.tutorial-close-btn{position:static;margin-bottom:20px}.tutorial-page-content{padding:24px 16px 60px}.concept-card{flex-direction:column;gap:12px}.concept-icon{width:48px}.feature-grid,.tips-grid{grid-template-columns:1fr}.mission-section,.cta-section{padding:24px}.cta-buttons{flex-direction:column}.btn-cta{width:100%}}.timer-view{padding:2rem;max-width:800px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;align-items:center}.timer-header{text-align:center;margin-bottom:2rem}.timer-header h1{font-size:var(--font-2xl);font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.timer-subtitle{color:var(--text-secondary);font-size:var(--font-md);margin:0}.timer-display{background:var(--glass-heavy);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-color);padding:2rem 3rem;text-align:center;margin-bottom:2rem;min-width:300px}.timer-time{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:5rem;font-weight:700;color:var(--text-primary);letter-spacing:.05em;line-height:1;margin-bottom:.5rem}.timer-display.overtime .timer-time{color:var(--color-danger);animation:pulse-red 1s ease-in-out infinite}.timer-display.paused .timer-time{color:var(--text-secondary);animation:pulse-dim 2s ease-in-out infinite}.timer-display.placeholder .timer-time{color:var(--text-tertiary)}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-dim{0%,to{opacity:.7}50%{opacity:.4}}.timer-label{font-size:var(--font-base);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.timer-display.overtime .timer-label{color:var(--color-danger)}.timer-focus-panel{background:var(--glass-heavy);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-color);border-left-width:4px;padding:1.5rem;width:100%;max-width:500px;margin-bottom:2rem}.focus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.focus-label{font-size:var(--font-sm);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em}.focus-category{font-size:var(--font-sm);padding:.25rem .5rem;color:#fff}.focus-title{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.focus-description{color:var(--text-secondary);font-size:var(--font-md);margin:0 0 1rem;line-height:1.5}.focus-time-info{display:flex;gap:.75rem;font-size:var(--font-base)}.focus-scheduled{color:var(--text-secondary)}.focus-duration{color:var(--text-tertiary)}.timer-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.timer-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:1px solid var(--border-color);background:var(--glass-heavy);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.timer-btn:hover{background:var(--glass-light)}.timer-btn.btn-pause{border-color:var(--color-warning);color:var(--color-warning)}.timer-btn.btn-pause:hover{background:#f59e0b1a}.timer-btn.btn-resume{border-color:var(--color-success);color:var(--color-success)}.timer-btn.btn-resume:hover{background:#22c55e1a}.timer-btn.btn-stop{border-color:var(--color-danger);color:var(--color-danger)}.timer-btn.btn-stop:hover{background:#ef44441a}.timer-btn.btn-secondary{padding:.75rem 1.5rem;font-size:var(--font-md)}.timer-overtime-message{background:#ef44441a;border:1px solid var(--color-danger);padding:1rem;text-align:center;color:var(--color-danger);font-weight:500;max-width:500px}.timer-inactive,.timer-active{display:flex;flex-direction:column;align-items:center;width:100%}.timer-block-list{width:100%;max-width:500px}.timer-block-list h3{font-size:var(--font-md);font-weight:600;color:var(--text-secondary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.block-list{display:flex;flex-direction:column;gap:.5rem}.block-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--glass-heavy);border:1px solid var(--border-color);border-left-width:4px;cursor:pointer;transition:all var(--transition-base)}.block-list-item:hover{background:var(--glass-light)}.block-list-item.selected{background:var(--glass-light);border-color:var(--accent-primary)}.block-list-item.past{opacity:.6}.block-item-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.block-item-title{font-weight:500;color:var(--text-primary)}.block-item-time{font-size:var(--font-base);color:var(--text-secondary)}.block-item-logged{font-size:var(--font-sm);color:var(--color-success);background:#22c55e1a;padding:.25rem .5rem}.block-item-start{padding:.5rem 1rem;background:transparent;border:1px solid var(--color-success);color:var(--color-success);cursor:pointer;transition:all var(--transition-base)}.block-item-start:hover{background:#22c55e1a}.no-blocks-message{text-align:center;padding:2rem;color:var(--text-secondary)}.no-blocks-message p{margin:0 0 1rem}@media (max-width: 768px){.timer-view{padding:1rem}.timer-time{font-size:3.5rem}.timer-display{padding:1.5rem 2rem;min-width:unset;width:100%}.timer-controls{flex-direction:column;width:100%;max-width:300px}.timer-btn{width:100%}.timer-focus-panel{max-width:unset}}.auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:24px;background:radial-gradient(ellipse 80% 50% at 20% 50%,#f9731660 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 50%,#3b82f665 0%,transparent 45%),linear-gradient(90deg,#f9731640 0%,transparent 30%,transparent 70%,#3b82f645 100%),url(/background.jpg);background-attachment:fixed;background-size:cover;background-position:center}.auth-card{background:var(--glass-solid);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-primary);padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.auth-header p{color:var(--text-secondary);margin:0;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input{padding:12px;border:1px solid var(--border-primary);font-size:14px;transition:border-color var(--transition-base);background:var(--glass-light);color:var(--text-primary)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{outline:none;border-color:var(--accent-primary)}.auth-error{background:#ef44441a;border:1px solid var(--accent-danger);color:var(--accent-danger);padding:12px;font-size:14px;text-align:center}.auth-success{background:#10b9811a;border:1px solid var(--accent-success);color:var(--accent-success);padding:12px;font-size:14px;text-align:center}.btn-auth{padding:12px 24px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.btn-primary{background:var(--gradient-orange);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-primary)}.auth-footer p{color:var(--text-secondary);font-size:14px;margin:0}.auth-link{color:var(--accent-primary);text-decoration:none;font-weight:500;cursor:pointer}.auth-link:hover{text-decoration:underline}.forgot-password{text-align:right;margin-top:-12px}.forgot-password .auth-link{font-size:13px}.auth-divider{display:flex;align-items:center;gap:16px;margin:8px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.auth-divider span{color:var(--text-muted);font-size:12px;text-transform:uppercase}.demo-notice{background:#f59e0b1a;border:1px solid var(--accent-warning);padding:12px;font-size:13px;text-align:center;color:var(--accent-warning)}.demo-notice strong{display:block;margin-bottom:4px}.auth-about{max-width:400px;text-align:center;color:var(--text-secondary);font-size:13px;line-height:1.6}.auth-about h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.auth-about p{margin:0 0 12px}.auth-legal-links{display:flex;justify-content:center;gap:16px}.auth-legal-links a{color:var(--text-muted);text-decoration:underline;font-size:12px}.auth-legal-links a:hover{color:var(--text-primary)}@media (max-width: 768px){.auth-container{padding:1rem;align-items:flex-start;padding-top:10vh}.auth-card{padding:1.5rem}.auth-header h1{font-size:var(--font-xl)}.form-group input{padding:.875rem;font-size:var(--font-md)}.btn-auth{padding:1rem;font-size:var(--font-md)}}.planner-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.planner-modal-content{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:2px solid #555;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.planner-modal-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #444;background:var(--glass-solid)}.planner-modal-header h2{flex:1;margin:0;font-size:16px;font-weight:400;color:#ddd}.depth-indicator{font-family:monospace;font-size:12px;color:#888}.planner-modal-close{background:transparent;border:1px solid #555;color:#aaa;font-family:monospace;font-size:12px;cursor:pointer;padding:2px 8px}.planner-modal-close:hover{background:#333;color:#fff}.parent-info{padding:8px 16px;background:#252525;border-bottom:1px solid #444;font-size:12px;color:#999}.parent-info strong{color:#ccc}.planner-modal-form{padding:16px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group>label{font-size:12px;color:#999}.form-group input[type=text],.form-group input[type=number],.form-group textarea{background:#111;border:1px solid #444;padding:8px;color:#ddd;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:1px solid #666;border-color:#666}.form-group textarea{resize:vertical;min-height:60px}.form-hint{font-size:11px;color:#666;margin:2px 0 0}.goal-type-toggle{display:flex;gap:8px}.type-btn{flex:1;padding:8px 12px;border:1px solid #444;background:var(--bg-hover);color:#888;font-size:12px;cursor:pointer}.type-btn:hover{background:#222;color:#aaa}.type-btn.active{border-color:#666;background:#2a2a2a;color:#ddd}.category-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #444;background:transparent;color:#888;font-size:12px;cursor:pointer}.category-chip:hover{background:#222}.category-chip.selected{background:#2a2a2a;border-color:#666;color:#ddd}.no-categories{font-size:12px;color:#666;font-style:italic}.timeline-options{display:flex;flex-direction:column;gap:6px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#aaa}.checkbox-label input[type=checkbox]{accent-color:#666}.date-range-inputs{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.date-input-group{display:flex;flex-direction:column;gap:4px;flex:1}.date-input-group label{font-size:11px;color:#777}.date-input-group input[type=date]{background:#111;border:1px solid #444;padding:6px 8px;color:#ddd;font-size:12px;font-family:inherit}.date-input-group input[type=date]:focus{outline:1px solid #666;border-color:#666}.date-separator{color:#666;padding-bottom:6px;font-size:12px}.planner-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #333}.btn-cancel{padding:6px 16px;border:1px solid #444;background:transparent;color:#888;font-size:13px;cursor:pointer}.btn-cancel:hover{background:#222;color:#aaa}.btn-save{padding:6px 20px;border:1px solid #555;background:#333;color:#ddd;font-size:13px;cursor:pointer}.btn-save:hover{background:#444;color:#fff}.planner-modal-content::-webkit-scrollbar{width:8px}.planner-modal-content::-webkit-scrollbar-track{background:var(--bg-hover)}.planner-modal-content::-webkit-scrollbar-thumb{background:#444}.ai-planner-modal{background:var(--bg-primary, #1a1a2e);border-radius:var(--radius-lg);width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);border:1px solid var(--border-color, #2d2d44)}.ai-planner-modal.draft-resume{max-width:450px}.ai-planner-modal.detail-mode{max-width:1000px;width:95%;max-height:90vh}.ai-planner-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #2d2d44)}.ai-planner-modal .modal-header h2{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--text-primary, #fff)}.ai-planner-modal .modal-close{background:none;border:none;font-size:var(--font-xl);cursor:pointer;color:var(--text-secondary, #888);padding:4px 8px;line-height:1;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ai-planner-modal .modal-close:hover{background:var(--glass-solid);color:var(--text-primary, #fff)}.ai-planner-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.prompt-section{display:flex;flex-direction:column;gap:12px}.prompt-section label{font-weight:500;color:var(--text-primary, #fff)}.prompt-section textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);background:var(--glass-solid);color:var(--text-primary, #fff);font-size:var(--font-md);line-height:1.5;resize:vertical;font-family:inherit}.prompt-section textarea:focus{outline:none;border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 2px #6366f133}.prompt-section textarea::placeholder{color:var(--text-secondary, #888)}.prompt-hint{font-size:var(--font-base);color:var(--text-secondary, #888);margin:0}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{font-size:3rem;animation:spin 1s linear infinite;color:var(--accent-color, #6366f1);margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-section p{margin:0;color:var(--text-primary, #fff)}.loading-hint{font-size:var(--font-base);color:var(--text-secondary, #888)!important;margin-top:8px!important}.error-section{display:flex;gap:16px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);margin-bottom:16px}.error-icon{font-size:var(--font-xl);flex-shrink:0}.error-content{flex:1}.error-title{margin:0 0 4px;font-weight:600;color:#ef4444}.error-message{margin:0;font-size:var(--font-md);color:var(--text-secondary, #888);font-family:monospace;word-break:break-word}.preview-section{display:flex;flex-direction:column;gap:12px}.preview-header{display:flex;justify-content:space-between;align-items:baseline}.preview-header h3{margin:0;font-size:var(--font-md);font-weight:600;color:var(--text-primary, #fff)}.preview-hint{font-size:var(--font-base);color:var(--text-secondary, #888);margin:0}.preview-tree{background:var(--glass-solid);border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);padding:12px;max-height:400px;overflow-y:auto}.preview-empty{text-align:center;color:var(--text-secondary, #888);padding:20px}.goal-preview-node{font-size:var(--font-md)}.goal-preview-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.goal-preview-row:hover{background:#ffffff0d}.preview-expand-btn{background:none;border:none;font-size:var(--font-sm);cursor:pointer;color:var(--text-secondary, #888);padding:2px 4px;width:20px;text-align:center}.preview-expand-btn:disabled{cursor:default;opacity:.5}.preview-expand-btn.has-children:hover{color:var(--text-primary, #fff)}.preview-type-badge{font-size:var(--font-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0}.preview-type-badge.long-term{background:#a855f733;color:#a855f7}.preview-type-badge.short-term{background:#3b82f633;color:#3b82f6}.preview-type-badge.task{background:#22c55e33;color:#22c55a}.preview-title{flex:1;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-dates{font-size:var(--font-sm);color:var(--text-secondary, #888);flex-shrink:0}.preview-hours{font-size:var(--font-sm);color:var(--accent-color, #6366f1);flex-shrink:0}.preview-delete-btn{background:none;border:none;font-size:var(--font-md);cursor:pointer;color:var(--text-secondary, #888);padding:2px 6px;border-radius:var(--radius-sm);opacity:0;transition:all var(--transition-fast)}.goal-preview-row:hover .preview-delete-btn{opacity:1}.preview-delete-btn:hover{background:#ef444433;color:#ef4444}.goal-preview-children{border-left:1px dashed var(--border-color, #2d2d44);margin-left:10px;padding-left:8px}.draft-resume-content{text-align:center;padding:20px 0}.draft-resume-content p{margin:0 0 8px;color:var(--text-secondary, #888)}.draft-date{font-weight:600;color:var(--text-primary, #fff)!important;font-size:1.1rem}.draft-prompt{color:var(--text-primary, #fff)!important;font-style:italic;padding:12px;background:var(--glass-solid);border-radius:var(--radius-md);margin:12px 0!important}.draft-goals-count{color:var(--accent-color, #6366f1)!important;font-weight:500}.ai-planner-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color, #2d2d44);background:var(--glass-solid);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ai-planner-modal .btn-primary,.ai-planner-modal .btn-secondary,.ai-planner-modal .btn-danger{padding:10px 20px;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.ai-planner-modal .btn-primary{background:var(--accent-color, #6366f1);color:#fff}.ai-planner-modal .btn-primary:hover:not(:disabled){background:#5558e3}.ai-planner-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.ai-planner-modal .btn-secondary{background:var(--bg-primary, #1a1a2e);color:var(--text-primary, #fff);border:1px solid var(--border-color, #2d2d44)}.ai-planner-modal .btn-secondary:hover{background:var(--glass-solid)}.ai-planner-modal .btn-danger{background:#ef444433;color:#ef4444}.ai-planner-modal .btn-danger:hover{background:#ef44444d}.draft-detail-view{padding:20px 24px;overflow-y:auto;flex:1}.draft-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #2d2d44)}.draft-detail-view .btn-back{background:transparent;border:none;color:#fff9;font-family:monospace;font-size:13px;cursor:pointer;padding:8px 0}.draft-detail-view .btn-back:hover{color:#fff}.btn-delete-goal{background:transparent;border:1px solid rgba(239,68,68,.3);padding:6px 12px;color:#ef4444b3;font-family:monospace;font-size:12px;cursor:pointer}.btn-delete-goal:hover{background:#ef44441a;border-color:#ef444480;color:#ef4444}.draft-detail-layout{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}.draft-detail-left{display:flex;flex-direction:column;gap:16px}.draft-detail-right{position:sticky;top:0}.draft-section{background:#0006;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);padding:16px}.draft-section.title-section{padding:12px 16px}.draft-section.description-section{min-height:120px}.draft-section h3{font-size:13px;font-weight:600;color:#fff9;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.draft-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.draft-section .section-header h3{margin:0}.draft-title-section{display:flex;align-items:center;gap:12px}.draft-title-input{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 0;font-size:var(--font-xl);font-weight:600;color:#fff}.draft-title-input:focus{outline:none;border-bottom-color:#6366f180}.draft-detail-view .goal-type-badge{flex-shrink:0;padding:6px 12px;border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.draft-detail-view .goal-type-badge.long-term{background:#8b5cf64d;color:#c4b5fd}.draft-detail-view .goal-type-badge.short-term{background:#06b6d44d;color:#67e8f9}.draft-detail-view .goal-type-badge.task{background:#f59e0b4d;color:#fcd34d}.draft-detail-view .description-preview{color:#fffc;font-size:14px;line-height:1.6;cursor:pointer;min-height:60px;padding:8px;border-radius:var(--radius-sm)}.draft-detail-view .description-preview:hover{background:#ffffff08}.draft-detail-view .description-preview .placeholder{color:#ffffff4d;font-style:italic}.draft-metadata{display:flex;flex-wrap:wrap;gap:12px}.draft-metadata .metadata-item{background:#0006;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);padding:12px 16px;flex:1;min-width:150px}.draft-metadata .metadata-item h4{font-size:11px;font-weight:600;color:#ffffff80;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.draft-metadata .metadata-inline{display:flex;align-items:center;gap:12px;flex:0 0 auto}.draft-metadata .metadata-inline h4{margin:0}.draft-metadata .inline-field{display:flex;align-items:center;gap:6px}.draft-metadata .inline-input{width:60px;background:#00000080;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-sm);padding:4px 8px;color:#fff;font-size:13px}.draft-metadata .inline-input:focus{outline:none;border-color:#6366f180}.draft-metadata .inline-unit{font-size:12px;color:#fff6}.draft-detail-view .date-range-row{display:flex;align-items:flex-end;gap:8px}.draft-detail-view .date-input-group{display:flex;flex-direction:column;gap:4px}.draft-detail-view .date-input-group label{font-size:10px;color:#ffffff80;text-transform:uppercase}.draft-detail-view .date-input-group input[type=date]{background:#00000080;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-sm);padding:6px 10px;color:#fff;font-size:12px}.draft-detail-view .date-input-group input[type=date]:focus{outline:none;border-color:#6366f180}.draft-detail-view .date-separator{color:#fff6;padding-bottom:6px;font-size:12px}.draft-detail-view .timeline-panel{background:#00000080;border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);max-height:400px;display:flex;flex-direction:column}.draft-detail-view .timeline-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color, #2d2d44)}.draft-detail-view .timeline-panel-header h3{font-size:12px;font-weight:600;color:#fff9;margin:0;text-transform:uppercase;letter-spacing:.5px}.draft-detail-view .timeline-count{font-size:11px;color:#fff6}.draft-detail-view .timeline-empty{padding:30px 16px;text-align:center;color:#fff6}.draft-detail-view .timeline-empty p{margin:0}.draft-detail-view .timeline-empty .hint{font-size:11px;margin-top:6px;color:#ffffff4d}.draft-detail-view .timeline-scroll{overflow-y:auto;padding:12px 16px;flex:1}.draft-detail-view .timeline-item{display:flex;gap:10px;position:relative}.draft-detail-view .timeline-marker{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0}.draft-detail-view .timeline-dot{width:8px;height:8px;border-radius:var(--radius-full);background:#6366f199;border:2px solid rgba(99,102,241,.8);flex-shrink:0}.draft-detail-view .timeline-line{width:2px;flex:1;background:#ffffff1a;margin:4px 0;min-height:16px}.draft-detail-view .timeline-content{flex:1;padding-bottom:16px}.draft-detail-view .timeline-date{font-size:10px;color:#ffffff80;margin-bottom:2px;font-family:monospace}.draft-detail-view .timeline-title{color:#ffffffe6;font-size:12px;line-height:1.4}.draft-detail-view .timeline-hours{display:inline-block;margin-top:2px;font-size:10px;color:#fff6;font-family:monospace}.ai-planner-modal.review-mode{max-width:900px;width:95%;max-height:90vh}.review-header-left{display:flex;align-items:center;gap:12px}.btn-back-small{background:none;border:1px solid var(--border-color, #2d2d44);color:var(--text-secondary, #888);font-size:1.1rem;cursor:pointer;padding:4px 10px;border-radius:var(--radius-md);transition:all var(--transition-fast);line-height:1}.btn-back-small:hover{background:var(--glass-solid);color:var(--text-primary, #fff)}.review-body{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.review-tree-container{flex:1;overflow-y:auto;padding:16px 24px;position:relative;min-height:0;transition:opacity var(--transition-slow)}.review-tree-container.refining{opacity:.5;pointer-events:none}.review-tree{background:var(--glass-solid);border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-md);padding:8px;font-size:var(--font-base)}.plan-stats{display:flex;gap:16px;padding:8px 4px 12px;margin-bottom:4px}.plan-stats .stat{display:flex;align-items:baseline;gap:6px}.plan-stats .stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary, #fff)}.plan-stats .stat-label{font-size:var(--font-sm);color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.plan-stats .stat-lt{color:#a855f7}.plan-stats .stat-st{color:#3b82f6}.plan-stats .stat-task{color:#22c55a}.plan-stats .stat-hours{color:var(--accent-color, #6366f1)}.goal-tree-node{transition:all var(--transition-slow)}.goal-tree-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm);transition:all var(--transition-slow)}.goal-tree-row:hover{background:#ffffff0a}.goal-tree-row.goal-added{animation:goalSlideIn .5s ease-out;background:#22c55e14;border-left:2px solid rgba(34,197,94,.4)}.goal-tree-row.goal-changed{animation:goalHighlight 2s ease-out}@keyframes goalSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes goalHighlight{0%{background:#6366f133;box-shadow:inset 0 0 0 1px #6366f14d}to{background:transparent;box-shadow:none}}.tree-expand-btn{background:none;border:none;font-size:var(--font-sm);cursor:pointer;color:var(--text-secondary, #888);padding:2px 4px;width:20px;text-align:center;flex-shrink:0}.tree-expand-btn:disabled{cursor:default;opacity:.4}.tree-expand-btn.has-children:hover{color:var(--text-primary, #fff)}.tree-type-badge{font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:0;text-transform:uppercase;flex-shrink:0;letter-spacing:.5px}.tree-type-badge.long-term{background:#a855f733;color:#a855f7}.tree-type-badge.short-term{background:#3b82f633;color:#3b82f6}.tree-type-badge.task{background:#22c55e33;color:#22c55a}.tree-title{flex:1;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-dates{font-size:var(--font-sm);color:var(--text-secondary, #888);flex-shrink:0;font-family:monospace}.tree-hours{font-size:var(--font-sm);color:var(--accent-color, #6366f1);flex-shrink:0;font-family:monospace}.goal-tree-children{border-left:1px dashed rgba(255,255,255,.08);margin-left:10px;padding-left:4px}.refining-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1a1a2e99;backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);z-index:var(--z-raised);border-radius:var(--radius-md)}.refining-indicator{display:flex;align-items:center;gap:12px;padding:16px 28px;background:var(--bg-primary, #1a1a2e);border:1px solid var(--border-color, #2d2d44);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.refining-spinner{font-size:var(--font-xl);animation:spin 1s linear infinite;color:var(--accent-color, #6366f1)}.refining-indicator span{color:var(--text-primary, #fff);font-size:var(--font-md);font-weight:500}.iteration-panel{flex-shrink:0;border-top:1px solid var(--border-color, #2d2d44);display:flex;flex-direction:column;max-height:220px}.iteration-history{overflow-y:auto;padding:12px 24px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.iteration-msg{display:flex}.iteration-msg.user{justify-content:flex-end}.iteration-msg.ai{justify-content:flex-start}.msg-bubble{max-width:80%;padding:8px 14px;border-radius:var(--radius-lg);font-size:var(--font-base);line-height:1.4;display:flex;align-items:flex-start;gap:8px}.iteration-msg.user .msg-bubble{background:#6366f133;color:#c7d2fe;border-bottom-right-radius:var(--radius-sm)}.iteration-msg.ai .msg-bubble{background:#ffffff0f;color:var(--text-secondary, #888);border-bottom-left-radius:var(--radius-sm)}.msg-icon{font-size:var(--font-xs);font-weight:700;background:#6366f14d;color:#a5b4fc;padding:2px 5px;border-radius:0;flex-shrink:0;margin-top:1px}.msg-text{word-break:break-word}.review-error{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);font-size:var(--font-base);color:#ef4444}.review-error button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:var(--font-md);padding:0 4px}.feedback-input-row{display:flex;gap:8px;padding:12px 24px;border-top:1px solid var(--border-color, #2d2d44);background:var(--glass-solid);align-items:flex-end}.feedback-input{flex:1;padding:10px 14px;border:1px solid var(--border-color, #2d2d44);border-radius:0;background:var(--bg-primary, #1a1a2e);color:var(--text-primary, #fff);font-size:var(--font-md);line-height:1.4;resize:none;font-family:inherit;transition:border-color var(--transition-fast)}.feedback-input:focus{outline:none;border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 2px #6366f126}.feedback-input::placeholder{color:var(--text-secondary, #888);font-size:var(--font-base)}.feedback-input:disabled{opacity:.5}.btn-send{width:40px;height:40px;border-radius:0;border:none;background:var(--accent-color, #6366f1);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast);font-weight:700}.btn-send:hover:not(:disabled){background:#5558e3;transform:translateY(-1px)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.review-actions{justify-content:space-between!important}@media (max-width: 768px){.ai-planner-modal.review-mode{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0}.review-tree-container{padding:12px 16px}.plan-stats{flex-wrap:wrap;gap:10px}.iteration-history{padding:8px 16px}.feedback-input-row{padding:10px 16px}.msg-bubble{max-width:90%}.tree-dates{display:none}.draft-detail-layout{grid-template-columns:1fr}.draft-detail-right{position:static;order:-1}.draft-detail-view .timeline-panel{max-height:250px}.draft-title-section{flex-direction:column;align-items:flex-start}.draft-metadata{flex-direction:column}.draft-detail-view .date-range-row{flex-direction:column;align-items:stretch}.draft-detail-view .date-separator{display:none}}.planner-view{padding:24px 32px;min-height:100vh;background:transparent}.planner-header{margin-bottom:24px}.planner-header h1{font-size:var(--font-2xl);font-weight:600;color:var(--text-primary);margin:0 0 8px}.planner-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.planner-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;background:var(--glass-medium);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.4)}.planner-toolbar-left{display:flex;gap:8px}.planner-add-btn{background:#6366f126;border:1px solid rgba(99,102,241,.4);border-radius:var(--radius-sm);padding:8px 16px;color:#4338ca;font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer}.planner-add-btn:hover{background:#6366f140;color:#3730a3}.planner-ai-btn{background:#a855f71f;border:1px solid rgba(168,85,247,.35);border-radius:var(--radius-sm);padding:8px 16px;color:#7c3aed;font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer}.planner-ai-btn:hover{background:#a855f738;border-color:#a855f780;color:#6d28d9}.planner-filters{display:flex;gap:8px}.planner-filter-select{background:var(--glass-heavy);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:6px 12px;color:var(--text-primary);font-size:13px;cursor:pointer}.planner-filter-select:focus{outline:none;border-color:#6366f180}.planner-goals-list{display:flex;flex-direction:column;gap:2px;position:relative;padding-bottom:80px}.planner-goals-list.refining{opacity:.55;pointer-events:none;transition:opacity var(--transition-slow)}.planner-goal-row-wrapper{display:flex;flex-direction:column}.planner-goal-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--glass-heavy);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.4);transition:all var(--transition-slow)}.planner-goal-row:hover{background:#ffffffb3;border-color:#0000001a}.planner-goal-row.completed{opacity:.6}.planner-goal-row.dropped{opacity:.5}.planner-goal-row.goal-highlight-added{animation:highlight-slide-in .5s ease-out;background:#22c55e1a;border-left:3px solid rgba(34,197,94,.5)}.planner-goal-row.goal-highlight-changed{animation:highlight-flash 2.5s ease-out}@keyframes highlight-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes highlight-flash{0%{background:#6366f133;border-color:#6366f166}to{background:#fff6;border-color:#0000000f}}.planner-goal-row.depth-1{margin-left:24px}.planner-goal-row.depth-2{margin-left:48px}.planner-goal-row.depth-3{margin-left:72px}.planner-goal-row.depth-4{margin-left:96px}.goal-row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.goal-row-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.goal-expand-btn{background:transparent;border:none;color:var(--text-muted);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;padding:2px 4px;transition:color var(--transition-fast);min-width:28px}.goal-expand-btn.has-children{color:var(--text-secondary)}.goal-expand-btn.has-children:hover{color:var(--text-primary)}.goal-expand-btn:disabled{cursor:default}.goal-category-dots{display:flex;gap:4px}.category-dot{width:8px;height:8px;border-radius:var(--radius-full)}.goal-title-btn{background:transparent;border:none;padding:0;cursor:pointer;text-align:left;flex:1;min-width:0}.goal-title{color:var(--text-primary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.goal-title-btn:hover .goal-title{color:var(--text-accent);text-decoration:underline}.goal-title.completed{text-decoration:line-through;color:var(--text-muted)}.goal-title.dropped{text-decoration:line-through;color:var(--text-muted);opacity:.7}.goal-title.draft{color:#b45309}.draft-badge{background:#fbbf2426;color:#b45309;padding:1px 6px;font-size:10px;font-family:Inter,sans-serif;font-weight:600;margin-right:8px;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-sm)}.planner-goal-row.generating{border-color:#6366f14d;background:#6366f108}.goal-generating-spinner{width:14px;height:14px;border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:var(--radius-full);animation:goal-spin .8s linear infinite;flex-shrink:0}@keyframes goal-spin{to{transform:rotate(360deg)}}.goal-gen-status{font-size:10px;color:#6366f1;font-weight:500;white-space:nowrap}.goal-gen-progress-bar{height:2px;background:#6366f11a;border-radius:0;overflow:hidden;margin:0 12px 4px}.goal-gen-progress-fill{height:100%;background:#6366f1;border-radius:0;transition:width var(--transition-slow)}.goal-type-badge{font-family:Inter,sans-serif;font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);font-weight:600}.goal-type-badge.long-term{background:#8b5cf626;color:#6d28d9}.goal-type-badge.short-term{background:#06b6d426;color:#0e7490}.goal-type-badge.task{background:#f59e0b26;color:#b45309}.goal-date-badge{font-size:12px;color:var(--text-muted);min-width:100px;text-align:right}.goal-date-badge.fluid{color:var(--text-muted);font-style:italic;opacity:.7}.goal-add-child-btn{background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:2px 8px;color:var(--text-muted);font-family:Inter,sans-serif;font-size:11px;cursor:pointer}.goal-add-child-btn:hover{background:#ffffff80;color:var(--text-primary);border-color:#0003}.goal-children{display:flex;flex-direction:column;gap:2px;margin-top:2px}.planner-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.planner-empty p{margin:0 0 8px}.planner-empty-hint{font-size:13px;color:var(--text-muted);opacity:.7}.ai-loading-fullpage{display:flex;align-items:center;justify-content:center;padding:80px 20px}.ai-loading-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 48px;background:var(--glass-heavy);border:1px solid rgba(168,85,247,.15);border-radius:var(--radius-lg);max-width:500px}.ai-loading-prompt{color:var(--text-secondary, #555);font-style:italic;text-align:center;font-size:var(--font-md);margin:0;max-width:350px;line-height:1.5}.ai-loading-hint{color:var(--text-muted, #999);font-size:var(--font-base);margin:0}.ai-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.ai-prompt-card{background:var(--bg-primary, #fff);border:1px solid var(--border-primary, #e0e0e0);border-radius:var(--radius-lg);padding:32px;max-width:560px;width:100%;box-shadow:var(--shadow-xl)}.ai-prompt-title{margin:0 0 8px;font-size:1.3rem;font-weight:600;color:var(--text-primary)}.ai-prompt-hint{margin:0 0 20px;font-size:var(--font-base);color:var(--text-muted);line-height:1.5}.ai-prompt-textarea{width:100%;padding:14px 16px;border:1px solid var(--border-primary, #e0e0e0);border-radius:var(--radius-lg);font-family:Inter,sans-serif;font-size:var(--font-md);line-height:1.5;resize:vertical;min-height:100px;background:var(--bg-secondary, #f8f8f8);color:var(--text-primary);box-sizing:border-box}.ai-prompt-textarea:focus{outline:none;border-color:#a855f780;box-shadow:0 0 0 3px #a855f71a}.ai-prompt-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ai-prompt-cancel{padding:10px 20px;border:1px solid var(--border-primary, #e0e0e0);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:var(--font-md);cursor:pointer}.ai-prompt-cancel:hover{background:var(--bg-hover, #f0f0f0)}.ai-prompt-submit{padding:10px 24px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-family:Inter,sans-serif;font-size:var(--font-md);font-weight:500;cursor:pointer;transition:opacity var(--transition-base)}.ai-prompt-submit:hover{opacity:.9}.ai-prompt-submit:disabled{opacity:.4;cursor:not-allowed}.ai-review-banner{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin-bottom:12px;background:#a855f714;border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-md)}.ai-review-banner-left{display:flex;align-items:center;gap:12px}.ai-review-badge{background:#a855f733;color:#7c3aed;font-size:var(--font-xs);font-weight:700;padding:3px 8px;border-radius:var(--radius-sm);letter-spacing:.5px}.ai-review-label{color:var(--text-secondary, #555);font-size:var(--font-base)}.ai-review-banner-right{display:flex;gap:8px}.btn-discard{background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:6px 16px;color:#dc2626;font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-discard:hover{background:#ef444414;border-color:#ef444480}.btn-accept{background:#6366f1;border:none;border-radius:var(--radius-md);padding:6px 20px;color:#fff;font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-accept:hover:not(:disabled){background:#4f46e5}.btn-accept:disabled{opacity:.5;cursor:not-allowed}.existing-goals-divider{display:flex;align-items:center;gap:12px;margin:20px 0 8px;color:var(--text-muted, #999);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.5px}.existing-goals-divider:before,.existing-goals-divider:after{content:"";flex:1;height:1px;background:#00000014}.ai-refining-overlay{display:flex;align-items:center;justify-content:center;padding:24px;margin:8px 0;background:var(--glass-heavy);border:1px dashed rgba(168,85,247,.2);border-radius:var(--radius-md)}.ai-error-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-bottom:12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:#dc2626;font-size:var(--font-base)}.ai-error-banner button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.1rem;padding:0 4px}@media (max-width: 768px){.planner-view{padding:16px}.planner-toolbar{flex-direction:column;gap:12px}.planner-toolbar-left{width:100%}.planner-filters{width:100%;justify-content:flex-end}.goal-date-badge{display:none}.planner-goal-row.depth-1{margin-left:16px}.planner-goal-row.depth-2{margin-left:32px}.planner-goal-row.depth-3{margin-left:48px}.planner-goal-row.depth-4{margin-left:64px}.ai-review-banner{flex-direction:column;gap:10px;text-align:center}.ai-review-banner-left{flex-direction:column;gap:6px}.ai-loading-card{padding:30px 24px}}.tiptap-editor-wrapper{border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);background:#0000004d;overflow:hidden}.tiptap-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.tiptap-toolbar-group{display:flex;gap:2px}.tiptap-toolbar-divider{width:1px;background:#fff3;margin:0 4px}.tiptap-toolbar-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;color:#ffffffb3;cursor:pointer;font-family:monospace;font-size:12px;font-weight:600;transition:all var(--transition-fast);min-width:28px}.tiptap-toolbar-btn:hover:not(:disabled){background:var(--glass-light);color:#fff}.tiptap-toolbar-btn.active{background:#6366f14d;color:#a5b4fc;border-color:#6366f180}.tiptap-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.tiptap-content{padding:16px;min-height:120px;max-height:400px;overflow-y:auto}.tiptap-content .tiptap{outline:none;color:#ffffffe6;font-size:14px;line-height:1.6}.tiptap-content .tiptap p{margin:0 0 1em}.tiptap-content .tiptap p:last-child{margin-bottom:0}.tiptap-content .tiptap h1,.tiptap-content .tiptap h2,.tiptap-content .tiptap h3{color:#fff;margin:1.5em 0 .5em;font-weight:600}.tiptap-content .tiptap h1:first-child,.tiptap-content .tiptap h2:first-child,.tiptap-content .tiptap h3:first-child{margin-top:0}.tiptap-content .tiptap h1{font-size:1.5em}.tiptap-content .tiptap h2{font-size:1.25em}.tiptap-content .tiptap h3{font-size:1.1em}.tiptap-content .tiptap ul,.tiptap-content .tiptap ol{margin:.5em 0;padding-left:1.5em}.tiptap-content .tiptap li{margin:.25em 0}.tiptap-content .tiptap blockquote{border-left:3px solid rgba(99,102,241,.5);margin:1em 0;padding-left:1em;color:#ffffffb3;font-style:italic}.tiptap-content .tiptap code{background:#0000004d;border-radius:var(--radius-sm);padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.tiptap-content .tiptap pre{background:#0006;border-radius:var(--radius-md);padding:12px;margin:1em 0;overflow-x:auto}.tiptap-content .tiptap pre code{background:none;padding:0}.tiptap-content .tiptap .tiptap-link{color:#60a5fa;text-decoration:underline;cursor:pointer}.tiptap-content .tiptap .tiptap-link:hover{color:#93c5fd}.tiptap-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#ffffff4d;pointer-events:none;height:0}.tiptap-content::-webkit-scrollbar{width:8px}.tiptap-content::-webkit-scrollbar-track{background:#0003}.tiptap-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-sm)}.tiptap-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.tiptap-editor-wrapper.readonly .tiptap-content{background:transparent;border:none}.tiptap-editor-wrapper.compact .tiptap-content{min-height:80px;padding:12px}.tiptap-editor-wrapper.compact .tiptap-toolbar{padding:6px}.journal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-content);padding:20px;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.journal-modal{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:2px solid #555;border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.journal-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.journal-modal-header h2{font-size:var(--font-lg);font-weight:600;color:#fff;margin:0}.btn-modal-close{background:transparent;border:none;color:#ffffff80;font-size:var(--font-xl);cursor:pointer;line-height:1;padding:0;transition:color var(--transition-fast)}.btn-modal-close:hover{color:#fff}.journal-modal form{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.journal-modal label{display:block;font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff9;margin-bottom:10px}.type-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.type-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#fff9;cursor:pointer;transition:all var(--transition-fast)}.type-button:hover{background:#0006;border-color:#fff3}.type-button.active{border-color:transparent}.type-button.type-note.active{background:#3b82f633;border-color:#3b82f680;color:#60a5fa}.type-button.type-update.active{background:#10b98133;border-color:#10b98180;color:#34d399}.type-button.type-milestone.active{background:#f59e0b33;border-color:#f59e0b80;color:#fbbf24}.type-button.type-blocker.active{background:#ef444433;border-color:#ef444480;color:#f87171}.type-icon{font-family:monospace;font-size:var(--font-md);font-weight:600}.type-label{font-size:var(--font-sm)}.priority-buttons{display:flex;gap:8px}.priority-button{flex:1;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#fff9;font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.priority-button:hover{background:#0006}.priority-button.active{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.priority-button.priority-low.active{background:#6b728033;border-color:#6b728080;color:#9ca3af}.priority-button.priority-medium.active{background:#f59e0b33;border-color:#f59e0b80;color:#fbbf24}.priority-button.priority-high.active{background:#ef444433;border-color:#ef444480;color:#f87171}.entry-content-editor .tiptap-container{min-height:200px}.journal-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-cancel{padding:10px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#ffffffb3;font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{background:#ffffff0d;border-color:#ffffff4d}.btn-save{padding:10px 24px;background:linear-gradient(135deg,#6366f1cc,#8b5cf6cc);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-save:hover{background:linear-gradient(135deg,#6366f1e6,#8b5cf6e6);box-shadow:var(--shadow-md)}@media (max-width: 600px){.journal-modal-overlay{padding:0}.journal-modal{max-width:none;width:100%;height:100%;border-radius:0}.type-buttons{grid-template-columns:repeat(2,1fr)}.priority-buttons{flex-wrap:wrap}.priority-button{flex:1 1 calc(50% - 4px)}}.journal-section{background:#000000bf;border:1px solid rgba(255,255,255,.15);border-radius:0;overflow:hidden}.journal-header{display:flex;align-items:center;gap:12px;padding:16px;background:#0000001a;border-bottom:1px solid rgba(255,255,255,.08)}.journal-toggle{background:transparent;border:none;color:#fff9;font-family:monospace;font-size:var(--font-sm);cursor:pointer;padding:2px 4px}.journal-toggle:hover{color:#fff}.journal-header h3{flex:1;font-size:var(--font-base);font-weight:600;color:#ffffffb3;margin:0;text-transform:uppercase;letter-spacing:.5px}.journal-header-actions{display:flex;align-items:center;gap:8px}.journal-filter{background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:0;padding:4px 8px;color:#ffffffb3;font-size:var(--font-sm);cursor:pointer}.journal-filter:focus{outline:none;border-color:#6366f180}.btn-add-entry{background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:0;padding:6px 12px;color:#6366f1e6;font-family:monospace;font-size:var(--font-sm);cursor:pointer}.btn-add-entry:hover{background:#6366f14d;color:#a5b4fc}.journal-content{padding:16px}.journal-empty{text-align:center;padding:32px 16px;color:#fff6;font-size:var(--font-base)}.journal-empty p{margin:0}.journal-timeline{display:flex;flex-direction:column;gap:12px}.journal-entry{background:#0009;border:1px solid rgba(255,255,255,.12);border-radius:0;padding:12px 16px;border-left:3px solid transparent}.journal-entry.entry-type-note{border-left-color:#3b82f6}.journal-entry.entry-type-update{border-left-color:#10b981}.journal-entry.entry-type-milestone{border-left-color:#f59e0b}.journal-entry.entry-type-blocker{border-left-color:#ef4444}.journal-entry.priority-high{box-shadow:inset 0 0 0 1px #ef444433}.journal-entry.priority-medium{box-shadow:inset 0 0 0 1px #f59e0b26}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.entry-badges{display:flex;gap:8px}.entry-type-badge{font-family:monospace;font-size:var(--font-sm);padding:2px 8px;border-radius:0;font-weight:500}.entry-type-badge.type-note{background:#3b82f633;color:#60a5fa}.entry-type-badge.type-update{background:#10b98133;color:#34d399}.entry-type-badge.type-milestone{background:#f59e0b33;color:#fbbf24}.entry-type-badge.type-blocker{background:#ef444433;color:#f87171}.entry-priority-badge{font-size:var(--font-xs);padding:2px 6px;border-radius:0;text-transform:uppercase;font-weight:600}.entry-priority-badge.priority-low{background:#6b728033;color:#9ca3af}.entry-priority-badge.priority-medium{background:#f59e0b33;color:#fbbf24}.entry-priority-badge.priority-high{background:#ef444433;color:#f87171}.entry-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.entry-date{font-size:var(--font-sm);color:#fff9}.entry-time{font-size:var(--font-sm);color:#fff6}.entry-content{color:#ffffffd9;font-size:var(--font-base);line-height:1.6}.entry-content p{margin:0 0 .75em}.entry-content p:last-child{margin-bottom:0}.entry-content ul,.entry-content ol{margin:.5em 0;padding-left:1.5em}.entry-content h1,.entry-content h2,.entry-content h3{margin:1em 0 .5em;color:#fff}.entry-content h1:first-child,.entry-content h2:first-child,.entry-content h3:first-child{margin-top:0}.entry-actions{display:flex;gap:8px;margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.btn-entry-action{background:transparent;border:none;color:#fff6;font-family:monospace;font-size:var(--font-sm);cursor:pointer;padding:2px 6px;transition:color var(--transition-fast)}.btn-entry-action:hover{color:#ffffffb3}.btn-entry-delete:hover{color:#f87171}@media (max-width: 768px){.journal-header{flex-wrap:wrap}.journal-header-actions{width:100%;margin-top:8px}.journal-filter{flex:1}.entry-header{flex-direction:column;gap:8px}.entry-meta{flex-direction:row;gap:8px}}.nested-goal-tree{display:flex;flex-direction:column;gap:2px}.nested-goal-empty{text-align:center;padding:20px;color:#fff6;font-size:var(--font-base)}.nested-goal-node{font-size:var(--font-base)}.nested-goal-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0006;border:1px solid rgba(255,255,255,.08);border-radius:0;transition:all var(--transition-fast)}.nested-goal-row:hover{background:#0009;border-color:#ffffff26}.nested-goal-row.completed,.nested-goal-row.dropped{opacity:.6}.expand-btn{background:none;border:none;font-size:var(--font-xs);cursor:pointer;color:#ffffff80;padding:2px 4px;width:20px;text-align:center;flex-shrink:0}.expand-btn:disabled{cursor:default;opacity:.3}.expand-btn.has-children:hover{color:#fffc}.type-badge{font-size:var(--font-xs);font-weight:600;padding:2px 6px;border-radius:0;text-transform:uppercase;flex-shrink:0}.type-badge.long-term{background:#8b5cf64d;color:#c4b5fd}.type-badge.short-term{background:#06b6d44d;color:#67e8f9}.type-badge.task{background:#f59e0b4d;color:#fcd34d}.goal-title-btn{flex:1;background:none;border:none;text-align:left;color:#ffffffe6;font-size:var(--font-base);cursor:pointer;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-title-btn:hover{color:#a5b4fc;text-decoration:underline}.goal-title-btn.completed,.goal-title-btn.dropped{text-decoration:line-through;color:#ffffff80}.goal-dates{font-size:var(--font-sm);color:#ffffff80;flex-shrink:0;font-family:monospace}.goal-hours{font-size:var(--font-sm);color:#6366f1cc;flex-shrink:0;font-family:monospace}.goal-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.nested-goal-row:hover .goal-actions{opacity:1}.action-btn{background:none;border:none;font-size:var(--font-sm);cursor:pointer;padding:2px 6px;border-radius:0;font-family:monospace;transition:all var(--transition-fast)}.action-btn.complete-btn{color:#10b981b3}.action-btn.complete-btn:hover{background:#10b98133;color:#6ee7b7}.action-btn.drop-btn{color:#ef4444b3}.action-btn.drop-btn:hover{background:#ef444433;color:#fca5a5}.action-btn.reset-btn{color:#6366f1b3}.action-btn.reset-btn:hover{background:#6366f133;color:#a5b4fc}.action-btn.delete-btn{color:#fff6;font-size:var(--font-base)}.action-btn.delete-btn:hover{background:#ef444433;color:#ef4444}.nested-goal-children{margin-left:20px;padding-left:12px;border-left:1px dashed rgba(255,255,255,.15);margin-top:2px}.nested-goal-node.depth-0>.nested-goal-row{background:#00000080}.nested-goal-node.depth-1>.nested-goal-row{background:#00000059}.nested-goal-node.depth-2>.nested-goal-row{background:#00000040}.nested-goal-node.depth-3>.nested-goal-row{background:#00000026}.nested-goal-node.depth-4>.nested-goal-row{background:#0000001a}@media (max-width: 600px){.goal-dates,.goal-hours{display:none}.nested-goal-children{margin-left:12px;padding-left:8px}}.planner-detail-page{padding:24px;min-height:100vh}.draft-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;margin-bottom:20px;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.4);border-left:4px solid #fbbf24}.draft-banner-content{display:flex;align-items:center;gap:16px}.draft-banner-icon{font-size:24px}.draft-banner-text{display:flex;flex-direction:column;gap:2px}.draft-banner-text strong{color:#fbbf24;font-size:14px}.draft-banner-text span{color:#fff9;font-size:12px}.draft-banner-actions{display:flex;gap:12px}.btn-discard{background:transparent;border:1px solid rgba(239,68,68,.4);padding:8px 16px;color:#f87171;font-family:monospace;font-size:13px;cursor:pointer}.btn-discard:hover{background:#ef444426;border-color:#ef444499;color:#ef4444}.btn-confirm{background:#10b98133;border:1px solid rgba(16,185,129,.5);padding:8px 20px;color:#6ee7b7;font-family:monospace;font-size:13px;cursor:pointer;font-weight:600}.btn-confirm:hover{background:#10b9814d;border-color:#10b981b3;color:#34d399}.ai-changes-banner{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;margin-bottom:20px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border:1px solid rgba(139,92,246,.35);border-left:4px solid #8b5cf6;border-radius:var(--radius-sm)}.ai-changes-content{display:flex;align-items:center;gap:14px}.ai-changes-icon{font-size:var(--font-xs);font-weight:700;background:#8b5cf640;color:#a78bfa;padding:4px 8px;border-radius:var(--radius-sm)}.ai-changes-text{display:flex;flex-direction:column;gap:2px}.ai-changes-text strong{color:#a78bfa;font-size:14px}.ai-changes-text span{color:#ffffff8c;font-size:12px}.ai-changes-actions{display:flex;gap:10px}.btn-discard-ai{background:transparent;border:1px solid rgba(239,68,68,.35);padding:7px 14px;color:#f87171;font-family:monospace;font-size:12px;cursor:pointer;border-radius:var(--radius-sm)}.btn-discard-ai:hover{background:#ef44441f;border-color:#ef444480}.btn-accept-ai{background:#8b5cf633;border:1px solid rgba(139,92,246,.5);padding:7px 18px;color:#c4b5fd;font-family:monospace;font-size:12px;cursor:pointer;font-weight:600;border-radius:var(--radius-sm)}.btn-accept-ai:hover{background:#8b5cf64d;border-color:#8b5cf6b3;color:#ddd6fe}@media (max-width: 768px){.ai-changes-banner{flex-direction:column;gap:12px;align-items:flex-start}.ai-changes-actions{width:100%}.btn-accept-ai{flex:1}}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.btn-back{background:transparent;border:none;color:#fff9;font-family:monospace;font-size:13px;cursor:pointer;padding:8px 0}.btn-back:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:12px}.saving-indicator{font-size:12px;color:#6366f1cc;font-style:italic}.btn-status{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:0;padding:6px 12px;color:#fff9;font-family:monospace;font-size:12px;cursor:pointer}.btn-status:hover{background:#ffffff0d;color:#fffc}.btn-status.active{background:#10b98133;border-color:#10b98180;color:#6ee7b7}.btn-status.btn-drop.active{background:#ef444433;border-color:#ef444480;color:#fca5a5}.btn-delete{background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:0;padding:6px 12px;color:#ef4444b3;font-family:monospace;font-size:12px;cursor:pointer}.btn-delete:hover{background:#ef44441a;border-color:#ef444480;color:#ef4444}.detail-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.detail-left-column{display:flex;flex-direction:column;gap:20px}.detail-right-column{position:sticky;top:24px}.timeline-panel{background:#000000bf;border:1px solid rgba(255,255,255,.15);border-radius:0;max-height:calc(100vh - 120px);display:flex;flex-direction:column}.timeline-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.timeline-panel-header h3{font-size:14px;font-weight:600;color:#ffffffb3;margin:0;text-transform:uppercase;letter-spacing:.5px}.timeline-count{font-size:12px;color:#fff6}.timeline-empty{padding:40px 20px;text-align:center;color:#fff6}.timeline-empty p{margin:0}.timeline-empty .hint{font-size:12px;margin-top:8px;color:#ffffff4d}.timeline-scroll{overflow-y:auto;padding:16px;flex:1}.timeline-scroll::-webkit-scrollbar{width:6px}.timeline-scroll::-webkit-scrollbar-track{background:#0003}.timeline-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-sm)}.timeline-item{display:flex;gap:12px;position:relative}.timeline-item.completed,.timeline-item.dropped{opacity:.5}.timeline-marker{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.timeline-dot{width:10px;height:10px;border-radius:var(--radius-full);background:#6366f199;border:2px solid rgba(99,102,241,.8);flex-shrink:0}.timeline-item.completed .timeline-dot{background:#10b98199;border-color:#10b981cc}.timeline-item.dropped .timeline-dot{background:#ef444466;border-color:#ef444499}.timeline-line{width:2px;flex:1;background:#ffffff1a;margin:4px 0;min-height:20px}.timeline-content{flex:1;padding-bottom:20px}.timeline-date{font-size:11px;color:#ffffff80;margin-bottom:4px;font-family:monospace}.timeline-title{display:block;width:100%;text-align:left;background:transparent;border:none;color:#ffffffe6;font-size:13px;padding:0;cursor:pointer;line-height:1.4}.timeline-title:hover{color:#a5b4fc;text-decoration:underline}.timeline-item.completed .timeline-title,.timeline-item.dropped .timeline-title{text-decoration:line-through;color:#ffffff80}.timeline-hours{display:inline-block;margin-top:4px;font-size:11px;color:#fff6;font-family:monospace}.detail-title-section{display:flex;align-items:center;gap:16px}.detail-title-input{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 0;font-size:var(--font-xl);font-weight:600;color:#fff}.detail-title-input:focus{outline:none;border-bottom-color:#6366f180}.detail-title-input.completed,.detail-title-input.dropped{text-decoration:line-through;color:#ffffff80}.goal-type-badge{flex-shrink:0;padding:6px 12px;border:none;border-radius:0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.goal-type-badge.long-term{background:#8b5cf64d;color:#c4b5fd}.goal-type-badge.long-term:hover{background:#8b5cf666}.goal-type-badge.short-term{background:#06b6d44d;color:#67e8f9}.goal-type-badge.short-term:hover{background:#06b6d466}.goal-type-badge.task{background:#f59e0b4d;color:#fcd34d}.goal-type-badge.task:hover{background:#f59e0b66}.detail-section{background:#000000bf;border:1px solid rgba(255,255,255,.15);border-radius:0;padding:16px}.title-section{padding:12px 16px}.description-section{min-height:150px}.detail-section h3{font-size:14px;font-weight:600;color:#ffffffb3;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{margin:0}.btn-edit-toggle{background:transparent;border:none;color:#6366f1cc;font-family:monospace;font-size:12px;cursor:pointer;padding:4px 8px}.btn-edit-toggle:hover{color:#a5b4fc}.description-preview{color:#fffc;font-size:14px;line-height:1.6;cursor:pointer;min-height:60px;padding:8px;border-radius:0}.description-preview:hover{background:#ffffff08}.description-preview .placeholder{color:#ffffff4d;font-style:italic}.description-preview p{margin:0 0 1em}.description-preview p:last-child{margin-bottom:0}.detail-metadata{display:flex;flex-wrap:wrap;gap:16px}.metadata-item{background:#000000bf;border:1px solid rgba(255,255,255,.15);border-radius:0;padding:12px 16px;flex:1;min-width:180px}.metadata-item h4{font-size:11px;font-weight:600;color:#ffffff80;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.metadata-inline{display:flex;align-items:center;gap:12px;flex:0 0 auto}.metadata-inline h4{margin:0}.inline-field{display:flex;align-items:center;gap:6px}.inline-input{width:60px;background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:0;padding:4px 8px;color:#fff;font-size:13px}.inline-input:focus{outline:none;border-color:#6366f180}.inline-unit{font-size:12px;color:#fff6}.category-chips{display:flex;flex-wrap:wrap;gap:6px}.category-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;color:#ffffffb3;font-size:12px;cursor:pointer}.category-chip:hover{background:#ffffff0d}.category-chip.selected{background:rgba(var(--cat-color),.2);border-color:var(--cat-color);color:#fff}.chip-dot{width:8px;height:8px;border-radius:var(--radius-full)}.timeline-controls{display:flex;gap:12px;margin-bottom:8px}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#fffc}.checkbox-label input[type=checkbox]{accent-color:#6366f1}.date-range-row{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.date-input-group{display:flex;flex-direction:column;gap:4px}.date-input-group label{font-size:10px;color:#ffffff80;text-transform:uppercase}.date-input-group input[type=date]{background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:0;padding:6px 10px;color:#fff;font-size:12px}.date-input-group input[type=date]:focus{outline:none;border-color:#6366f180}.date-separator{color:#fff6;padding-bottom:6px;font-size:12px}.inherited-dates{margin-top:8px;padding:6px 10px;background:#6366f133;border-radius:0;font-size:12px;color:#ffffffb3}.btn-add-child{background:transparent;border:1px solid rgba(99,102,241,.4);border-radius:0;padding:4px 12px;color:#6366f1cc;font-family:monospace;font-size:12px;cursor:pointer}.btn-add-child:hover{background:#6366f11a;color:#a5b4fc}.depth-limit-hint{font-size:12px;color:#fff6;font-style:italic}.empty-children{text-align:center;padding:20px;color:#fff6;font-size:13px}.children-list{display:flex;flex-direction:column;gap:4px}.child-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#0009;border:1px solid rgba(255,255,255,.12);border-radius:0;cursor:pointer;text-align:left;width:100%}.child-row:hover{background:#000000bf;border-color:#fff3}.child-row.completed,.child-row.dropped{opacity:.6}.child-title{color:#ffffffe6;font-size:14px}.child-title.completed,.child-title.dropped{text-decoration:line-through;color:#ffffff80}.child-date{font-size:12px;color:#ffffff80}.planner-detail-loading{text-align:center;padding:60px 20px;color:#fff9}.planner-detail-loading p{margin:0 0 16px}.ai-generating-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;min-height:60vh}.ai-generating-page .btn-back{align-self:flex-start;margin-bottom:40px;background:none;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-family:Inter,sans-serif;font-size:var(--font-base)}.ai-generating-page .btn-back:hover{background:#ffffff0d}.ai-generating-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px 56px;background:#ffffff0a;border:1px solid rgba(168,85,247,.15);border-radius:var(--radius-lg);max-width:500px;width:100%}.ai-generating-card h2{margin:0;font-size:1.1rem;font-weight:500;color:var(--text-primary);text-align:center}.ai-generating-spinner{width:40px;height:40px;border:3px solid rgba(168,85,247,.15);border-top-color:#a855f7;border-radius:var(--radius-full);animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-generating-progress{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.ai-generating-bar{width:100%;height:6px;background:#ffffff14;border-radius:var(--radius-sm);overflow:hidden}.ai-generating-bar-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:var(--radius-sm);transition:width .4s ease}.ai-generating-progress span{font-size:var(--font-base);color:var(--text-muted)}.ai-generating-prompt{color:var(--text-muted);font-style:italic;font-size:var(--font-base);text-align:center;margin:0;max-width:350px;line-height:1.5}.btn-ai-chat{background:#a78bfa26;border:1px solid rgba(167,139,250,.4);border-radius:0;padding:6px 12px;color:#a78bfa;font-family:monospace;font-size:12px;font-weight:600;cursor:pointer}.btn-ai-chat:hover{background:#a78bfa40;color:#c4b5fd}.btn-ai-chat.active{background:#a78bfa4d;border-color:#a78bfa99;color:#c4b5fd}.ai-chat-panel{position:fixed;right:0;top:0;bottom:0;width:380px;z-index:var(--z-overlay);animation:slideInRight .25s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width: 900px){.detail-layout{grid-template-columns:1fr}.detail-right-column{position:static;order:-1}.timeline-panel{max-height:300px}}@media (max-width: 600px){.ai-chat-panel{width:100%}.planner-detail-page{padding:16px}.detail-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{flex-wrap:wrap}.detail-title-section{flex-direction:column;align-items:flex-start}.detail-title-input{font-size:var(--font-xl)}.detail-metadata{flex-direction:column}.metadata-item{min-width:100%}.date-range-row{flex-direction:column;align-items:stretch}.date-separator{display:none}}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-toast);background:#000000bf;transition:opacity var(--transition-slow)}.onboarding-overlay.transitioning{opacity:.5}.spotlight-highlight{position:fixed;border-radius:var(--radius-md);box-shadow:0 0 0 9999px #000000bf;pointer-events:none;transition:all var(--transition-slow);z-index:var(--z-toast);border:2px solid var(--accent-primary, #f97316)}.tutorial-tooltip{width:360px;max-width:calc(100vw - 40px);background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-toast);overflow:hidden;animation:tooltipAppear var(--transition-slow)}@keyframes tooltipAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:var(--glass-faint)}.tooltip-step-indicator{font-size:12px;color:var(--text-secondary, rgba(255, 255, 255, .6));font-weight:500}.tooltip-skip-btn{background:none;border:none;color:var(--text-secondary, rgba(255, 255, 255, .5));font-size:12px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all var(--transition-base)}.tooltip-skip-btn:hover{color:var(--text-primary, #ffffff);background:var(--glass-light)}.tooltip-content{padding:20px}.tooltip-title{font-size:18px;font-weight:600;color:var(--text-primary, #ffffff);margin:0 0 12px}.tooltip-description{font-size:14px;line-height:1.6;color:var(--text-secondary, rgba(255, 255, 255, .8));margin:0}.tooltip-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:16px}.tooltip-dots{display:flex;justify-content:center;gap:6px}.tooltip-dot{width:8px;height:8px;border-radius:var(--radius-full);background:#fff3;transition:all var(--transition-base)}.tooltip-dot.active{background:var(--accent-primary, #f97316);transform:scale(1.2)}.tooltip-dot.completed{background:var(--accent-primary, #f97316);opacity:.5}.tooltip-actions{display:flex;justify-content:flex-end;gap:8px}.btn-tutorial{padding:10px 20px;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none}.btn-prev{background:var(--glass-light);color:var(--text-primary, #ffffff)}.btn-prev:hover{background:var(--glass-light)}.btn-next{background:var(--accent-primary, #f97316);color:#fff}.btn-next:hover{background:var(--accent-primary-hover, #ea580c);transform:translateY(-1px)}@media (max-width: 480px){.tutorial-tooltip{width:calc(100vw - 32px);position:fixed!important;bottom:20px!important;left:16px!important;top:auto!important;transform:none!important}.tooltip-content{padding:16px}.tooltip-title{font-size:16px}.tooltip-description{font-size:13px}.spotlight-highlight{display:none}.onboarding-overlay{background:#000000d9}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.onboarding-card{width:520px;max-width:92vw;max-height:88vh;overflow-y:auto;background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-xl);animation:onboarding-enter var(--transition-slow)}@keyframes onboarding-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.onboarding-logo{font-size:14px;font-weight:600;color:#6366f1;letter-spacing:.5px}.skip-btn{background:none;border:none;color:#888;font-size:13px;cursor:pointer;padding:4px 8px}.skip-btn:hover{color:#555;text-decoration:underline}.step-indicators{display:flex;gap:8px;justify-content:center;margin-bottom:28px}.step-dot{width:32px;height:4px;border-radius:0;background:#0000001a;transition:all .25s ease}.step-dot.active{background:#6366f1;width:48px}.step-dot.done{background:#a5b4fc}.onboarding-step h2{font-size:var(--font-xl);font-weight:600;color:#111;margin:0 0 8px}.step-desc{color:#666;font-size:14px;margin:0 0 28px;line-height:1.5}.field-group{margin-bottom:24px}.field-group>label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:10px;text-transform:uppercase;letter-spacing:.3px}.time-range{display:flex;align-items:center;gap:12px}.time-range input[type=time],.time-input-single{padding:10px 14px;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);font-size:15px;color:#111;background:#fff;transition:border-color var(--transition-fast)}.time-range input[type=time]:focus,.time-input-single:focus{outline:none;border-color:#6366f1;box-shadow:var(--shadow-focus)}.range-separator{color:#888;font-size:14px}.day-picker{display:flex;gap:6px}.day-btn{width:48px;height:40px;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-md);background:#fff;color:#555;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.day-btn:hover{border-color:#6366f1;color:#6366f1}.day-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.style-cards{display:flex;flex-direction:column;gap:10px}.style-card{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border:2px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);background:#fff;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.style-card:hover{border-color:#6366f14d;background:#6366f105}.style-card.active{border-color:#6366f1;background:#6366f10f}.style-icon{font-family:monospace;font-size:14px;color:#6366f1;margin-bottom:2px}.style-card strong{font-size:14px;color:#111}.style-desc{font-size:13px;color:#888}.focus-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.focus-btn{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:2px solid rgba(0,0,0,.08);border-radius:0;background:#fff;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.focus-btn:hover{border-color:#6366f14d}.focus-btn.active{border-color:#6366f1;background:#6366f10f}.focus-btn strong{font-size:13px;color:#111}.focus-btn span{font-size:12px;color:#888}.slider-row{display:flex;align-items:center;gap:16px}.slider-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000001a;border-radius:var(--radius-sm);outline:none}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:#6366f1;cursor:pointer;border:2px solid #fff;box-shadow:var(--shadow-sm)}.slider-value{font-size:14px;font-weight:600;color:#6366f1;min-width:60px;text-align:right}.checkbox-label{display:flex!important;align-items:center;gap:10px;font-size:14px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#6366f1}.onboarding-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06)}.btn-back{padding:10px 24px;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-md);background:#fff;color:#555;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-back:hover{background:#f5f5f5;border-color:#0003}.btn-next{padding:10px 32px;border:none;border-radius:var(--radius-md);background:#6366f1;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-next:hover{background:#4f46e5;transform:translateY(-1px)}@media (max-width: 560px){.onboarding-card{padding:24px 20px;border-radius:var(--radius-lg)}.day-picker{flex-wrap:wrap}.day-btn{width:42px;height:36px;font-size:12px}.focus-options{grid-template-columns:1fr}.onboarding-step h2{font-size:var(--font-lg)}}.floating-timer{position:fixed;bottom:1.5rem;right:1.5rem;z-index:var(--z-modal);display:flex;align-items:center;gap:.75rem;background:var(--glass-heavy);border:2px solid var(--border-color);border-left-width:4px;padding:.75rem 1rem;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.floating-timer:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.floating-timer.overtime{border-color:var(--color-danger);animation:floating-pulse 1s ease-in-out infinite}.floating-timer.paused{opacity:.8}@keyframes floating-pulse{0%,to{box-shadow:0 4px 12px #ef44444d}50%{box-shadow:0 4px 20px #ef444480}}.floating-timer-time{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:var(--font-lg);font-weight:700;color:var(--text-primary);min-width:60px}.floating-timer.overtime .floating-timer-time{color:var(--color-danger)}.floating-timer.paused .floating-timer-time{color:var(--text-secondary)}.floating-timer-title{max-width:150px;font-size:var(--font-base);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-timer-controls{display:flex;gap:.25rem}.floating-btn{width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.floating-btn:hover{background:var(--glass-light);color:var(--text-primary)}.floating-btn.btn-pause:hover{border-color:var(--color-warning);color:var(--color-warning)}.floating-btn.btn-resume:hover{border-color:var(--color-success);color:var(--color-success)}.floating-btn.btn-stop:hover{border-color:var(--color-danger);color:var(--color-danger)}@media (max-width: 768px){.floating-timer{bottom:5rem;right:1rem;padding:.5rem .75rem;gap:.5rem}.floating-timer-time{font-size:var(--font-md);min-width:50px}.floating-timer-title{max-width:100px;font-size:var(--font-sm)}.floating-btn{width:24px;height:24px;font-size:.625rem}}@media (max-width: 400px){.floating-timer-title{display:none}}.voice-capture-widget{position:fixed;bottom:1.5rem;right:12rem;z-index:var(--z-modal)}.voice-fab{width:44px;height:44px;padding:0;background:var(--glass-medium);border:2px solid var(--border-color);color:var(--text-primary);font-size:var(--font-lg);cursor:pointer;transition:border-color var(--transition-base),color var(--transition-base),transform var(--transition-base);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.voice-fab:hover{border-color:#ef4444;transform:scale(1.05)}.voice-capture-widget.expanded{bottom:1.5rem}.voice-panel{width:380px;max-height:560px;background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:voice-slide-up .25s ease-out;overflow:hidden}@keyframes voice-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.voice-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--glass-medium)}.voice-title{font-weight:600;font-size:var(--font-base);color:var(--text-primary)}.voice-close-btn{width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.voice-close-btn:hover{color:var(--text-primary)}.voice-waveform-container{display:flex;align-items:center;gap:1rem;padding:1.25rem 1rem;background:var(--glass-medium);border-bottom:1px solid var(--border-color)}.voice-waveform{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;height:48px}.waveform-bar{width:3px;min-height:4px;background:var(--text-tertiary);border-radius:0;transition:height .1s ease,background var(--transition-slow)}.voice-waveform-container.active .waveform-bar{background:#ef4444;animation:waveform-glow 1.5s ease-in-out infinite alternate}@keyframes waveform-glow{0%{opacity:.6}to{opacity:1}}.voice-mic-btn{flex-shrink:0;width:48px;height:48px;padding:0;border:2px solid var(--border-color);border-radius:var(--radius-full);background:var(--glass-medium);color:var(--text-primary);font-size:var(--font-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-slow)}.voice-mic-btn:hover{border-color:#ef4444}.voice-mic-btn.listening{background:#ef4444;border-color:#ef4444;color:#fff;animation:mic-pulse 1.5s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.voice-status{padding:.5rem 1rem;font-size:var(--font-sm);text-align:center}.status-listening{color:#ef4444;font-weight:600;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.status-done{color:#22c55e}.status-ready{color:var(--text-tertiary)}.voice-transcript{padding:.75rem 1rem;border-top:1px solid var(--border-color);max-height:100px;overflow-y:auto}.transcript-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.375rem}.transcript-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.transcript-text .interim{color:var(--text-tertiary);font-style:italic}.voice-error{padding:.5rem 1rem;font-size:var(--font-sm);color:#ef4444;background:#ef44441a;text-align:center}.voice-mode-toggle{display:flex;gap:2px;padding:4px;margin:8px 12px;background:var(--glass-faint);border-radius:var(--radius-md)}.voice-mode-toggle .mode-btn{flex:1;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffff80;font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.voice-mode-toggle .mode-btn.active{background:var(--primary-color, #6366f1);color:#fff}.voice-mode-toggle .mode-btn:hover:not(.active){color:#ffffffb3}.voice-tasks{border-top:1px solid var(--border-color);display:flex;flex-direction:column}.tasks-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem .25rem}.tasks-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.tasks-select-all{padding:0;background:transparent;border:none;color:var(--accent-color, #3b82f6);font-size:.6875rem;cursor:pointer;transition:opacity var(--transition-fast)}.tasks-select-all:hover{opacity:.8}.tasks-list{max-height:180px;overflow-y:auto;padding:.25rem .5rem}.extracted-task{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.extracted-task:hover{background:var(--glass-medium)}.extracted-task .task-check{flex-shrink:0;font-family:monospace;font-size:.8125rem;color:var(--text-tertiary)}.extracted-task.selected .task-check{color:#22c55e}.extracted-task .task-text{flex:1;font-size:.8125rem;color:var(--text-primary);line-height:1.4}.extracted-task .task-date{flex-shrink:0;font-size:.6875rem;padding:.125rem .375rem;background:#3b82f633;color:var(--accent-color, #3b82f6);border-radius:var(--radius-sm)}.voice-add-btn{margin:.5rem 1rem .75rem;padding:.625rem;background:var(--accent-color, #3b82f6);border:none;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-base)}.voice-add-btn:hover:not(:disabled){opacity:.9}.voice-add-btn:disabled{opacity:.4;cursor:not-allowed}.voice-success{padding:.75rem 1rem;text-align:center;color:#22c55e;font-size:.8125rem;font-weight:500}.voice-footer{padding:.5rem 1rem;border-top:1px solid var(--border-color);background:var(--glass-medium)}.voice-hint{font-size:.625rem;color:var(--text-tertiary)}@media (max-width: 768px){.voice-capture-widget{right:10rem;bottom:1rem}.voice-fab{width:40px;height:40px;font-size:var(--font-md)}.voice-panel{width:calc(100vw - 2rem);max-width:380px;max-height:60vh}}@media (max-width: 400px){.voice-panel{position:fixed;left:1rem;right:1rem;bottom:1rem;width:auto;max-width:none}}.ai-chat-panel{position:fixed;bottom:16px;right:16px;width:380px;max-height:420px;background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-dropdown);transition:all .25s cubic-bezier(.4,0,.2,1)}.ai-chat-panel.collapsed{max-height:42px;overflow:hidden}.chat-toggle-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:background var(--transition-fast)}.ai-chat-panel.collapsed .chat-toggle-bar{border-radius:var(--radius-lg)}.chat-toggle-bar:hover{background:#6366f10f}.chat-toggle-icon{font-size:var(--font-sm);color:var(--text-muted, #888)}.chat-toggle-label{font-size:var(--font-base);font-weight:600;color:var(--text-primary, #111);display:flex;align-items:center;gap:8px}.chat-msg-count{background:#6366f126;color:#4338ca;font-size:var(--font-xs);font-weight:700;padding:1px 6px;border-radius:var(--radius-md)}.chat-toggle-refining{font-size:var(--font-sm);color:var(--color-purple);font-weight:500;margin-left:auto;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.5}50%{opacity:1}}.chat-content{display:flex;flex-direction:column;flex:1;min-height:0;border-top:1px solid var(--color-border)}.chat-history{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;max-height:280px}.chat-msg{display:flex;align-items:flex-start;gap:8px;font-size:.83rem;line-height:1.45}.chat-msg.user{justify-content:flex-end}.chat-msg.user .chat-msg-text{background:#6366f11f;color:#3730a3;padding:6px 12px;border-radius:0;max-width:85%;word-break:break-word}.chat-msg.ai{justify-content:flex-start}.chat-msg.ai .chat-msg-text{color:var(--text-secondary, #555);padding:6px 0;max-width:85%;word-break:break-word}.chat-msg-badge{font-size:.55rem;font-weight:700;background:#a855f726;color:var(--color-purple);padding:2px 5px;border-radius:var(--radius-sm);flex-shrink:0;margin-top:5px}.rotating-loader{display:flex;align-items:center;gap:10px;padding:4px 0}.loader-dots{display:flex;gap:3px;align-items:center}.loader-dots .dot{width:5px;height:5px;background:var(--color-purple);border-radius:var(--radius-full);animation:loader-bounce 1.2s ease-in-out infinite}.loader-dots .dot:nth-child(2){animation-delay:.15s}.loader-dots .dot:nth-child(3){animation-delay:.3s}@keyframes loader-bounce{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}.loader-phrase{font-size:var(--font-base);color:var(--color-purple);font-weight:500;transition:opacity var(--transition-base);opacity:0}.loader-phrase.visible{opacity:1}.chat-input-row{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--color-border);align-items:flex-end}.chat-input{flex:1;padding:8px 12px;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--glass-heavy);color:var(--text-primary, #111);font-size:var(--font-base);line-height:1.4;resize:none;font-family:inherit;transition:border-color var(--transition-fast)}.chat-input:focus{outline:none;border-color:#6366f180;box-shadow:var(--shadow-focus)}.chat-input::placeholder{color:var(--text-muted, #999);font-size:var(--font-base)}.chat-input:disabled{opacity:.5}.chat-send-btn{width:34px;height:34px;border-radius:var(--radius-md);border:none;background:var(--color-indigo);color:#fff;font-size:var(--font-md);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.chat-send-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 768px){.ai-chat-panel{left:12px;right:12px;width:auto;bottom:12px}}.scheduler-panel{position:fixed;bottom:16px;right:16px;width:380px;max-height:440px;background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-raised);transition:all .25s cubic-bezier(.4,0,.2,1)}.scheduler-panel.collapsed{width:auto;max-height:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;overflow:visible}.scheduler-panel.hidden{display:none}.scheduler-fab{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--glass-light);color:var(--text-primary, #111);border:1px solid var(--border-primary, #ddd);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);position:relative}.scheduler-fab:hover{background:var(--glass-medium);border-color:var(--border-accent, #aaa)}.scheduler-fab-count{position:absolute;top:-4px;right:-4px;background:#6366f1;color:#fff;font-size:.6rem;font-weight:700;width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.scheduler-fab-pulse{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-sm);border:2px solid #7c3aed;animation:scheduler-pulse 1.5s ease-in-out infinite;pointer-events:none}@keyframes scheduler-pulse{0%,to{opacity:.3}50%{opacity:1}}.scheduler-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:background var(--transition-fast)}.scheduler-toggle:hover{background:#6366f10f}.scheduler-toggle-icon{font-size:var(--font-sm);color:var(--text-muted, #888)}.scheduler-toggle-label{font-size:var(--font-base);font-weight:600;color:var(--text-primary, #111);display:flex;align-items:center;gap:8px}.scheduler-content{display:flex;flex-direction:column;flex:1;min-height:0;border-top:1px solid rgba(0,0,0,.06)}.scheduler-history{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;max-height:300px}.scheduler-msg{display:flex;align-items:flex-start;gap:8px;font-size:.83rem;line-height:1.45}.scheduler-msg.user{justify-content:flex-end}.scheduler-msg.user .scheduler-msg-text{background:#6366f11f;color:#3730a3;padding:6px 12px;border-radius:0;max-width:85%;word-break:break-word}.scheduler-msg.assistant{justify-content:flex-start}.scheduler-msg.assistant .scheduler-msg-text{color:var(--text-secondary, #555);padding:6px 0;max-width:85%;word-break:break-word;white-space:pre-wrap}.scheduler-badge{font-size:.55rem;font-weight:700;background:#6366f126;color:#4338ca;padding:2px 5px;border-radius:var(--radius-sm);flex-shrink:0;margin-top:5px}.scheduler-welcome{color:var(--text-muted, #888)!important;font-style:italic}.scheduler-badge.planner{background:#a855f726;color:#7c3aed}.scheduler-planner-badge{font-size:.6rem;font-weight:700;background:#a855f726;color:#7c3aed;padding:2px 6px;border-radius:var(--radius-sm);margin-left:auto}.scheduler-input-row{display:flex;gap:6px;padding:10px 14px;border-top:1px solid rgba(0,0,0,.06);align-items:flex-end}.scheduler-input{flex:1;padding:8px 12px;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-md);background:var(--glass-heavy);color:var(--text-primary, #111);font-size:var(--font-base);line-height:1.4;resize:none;font-family:inherit;transition:border-color var(--transition-fast)}.scheduler-input:focus{outline:none;border-color:#6366f180;box-shadow:var(--shadow-focus)}.scheduler-input::placeholder{color:var(--text-muted, #999);font-size:var(--font-base)}.scheduler-input:disabled{opacity:.5}.scheduler-send-btn{width:34px;height:34px;border-radius:var(--radius-md);border:none;background:#6366f1;color:#fff;font-size:var(--font-md);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.scheduler-send-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.scheduler-send-btn:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 768px){.scheduler-panel:not(.collapsed){left:12px;right:12px;width:auto;bottom:12px}.scheduler-fab{width:44px;height:44px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--glass-medium, #f8fafc)}.error-boundary-content{max-width:480px;text-align:center;padding:48px 32px;background:var(--glass-medium, #fff);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.error-boundary-content h2{margin:0 0 8px;font-size:var(--font-lg);color:var(--text-primary, #1e293b)}.error-boundary-content p{margin:0 0 24px;color:var(--text-secondary, #64748b)}.error-boundary-details{margin:0 0 24px;padding:12px;background:#fef2f2;border-radius:var(--radius-md);font-size:var(--font-sm);color:#991b1b;text-align:left;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.error-boundary-btn{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:500;cursor:pointer}.error-boundary-btn.primary{background:#3b82f6;color:#fff}.error-boundary-btn.primary:hover{background:#2563eb}.error-boundary-btn.secondary{background:var(--glass-light, #e2e8f0);color:var(--text-primary, #1e293b)}.error-boundary-btn.secondary:hover{background:#cbd5e1}.app{display:flex;flex-direction:row;height:100vh;width:100%;position:relative;background:transparent}.app-background{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#e8e8e8;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1;pointer-events:none}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:var(--z-toast);opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.app-sidebar{display:flex;flex-direction:column;width:180px;background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border-right:1px solid var(--color-border);transition:width var(--transition-base);flex-shrink:0;z-index:var(--z-raised)}.app-sidebar.collapsed{width:50px}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;min-height:50px}.sidebar-logo{font-size:var(--font-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden}.app-sidebar.collapsed .sidebar-logo{font-size:var(--font-lg)}.sidebar-nav{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:none;border-radius:0;font-size:var(--font-base);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);text-align:left;white-space:nowrap}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--glass-light);color:var(--accent-primary);font-weight:500}.nav-icon{font-family:monospace;font-size:var(--font-base);flex-shrink:0}.nav-label{overflow:hidden}.app-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:.75rem .5rem}.sidebar-view-mode{display:flex;flex-direction:column;padding:.5rem;gap:.25rem;margin-top:auto;border-top:1px solid var(--border-primary)}.view-mode-label{font-size:var(--font-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem .25rem}.view-mode-item{display:flex;align-items:center;justify-content:flex-start;padding:.5rem .75rem;background:transparent;border:none;border-radius:0;font-size:var(--font-base);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.view-mode-item:hover{background:var(--bg-hover);color:var(--text-primary)}.view-mode-item.active{background:var(--accent-primary);color:#fff}.app-sidebar.collapsed .view-mode-item{justify-content:center;font-size:var(--font-sm);padding:.5rem}.sidebar-category-filter{display:flex;flex-direction:column;padding:.5rem;gap:.25rem;border-top:1px solid var(--border-primary);max-height:200px;overflow-y:auto}.category-filter-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:transparent;border:none;border-radius:0;font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);text-align:left}.category-filter-item:hover{background:var(--bg-hover)}.category-filter-item.hidden{opacity:.5}.category-filter-item.hidden .category-name{text-decoration:line-through}.category-color-dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0;border:2px solid;transition:all var(--transition-base)}.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar.collapsed .category-filter-item{justify-content:center;padding:.4rem}.app-sidebar.collapsed .sidebar-category-filter{padding:.25rem}.sidebar-toggle{display:flex;align-items:center;justify-content:center;padding:.75rem;background:transparent;border:none;border-top:1px solid var(--border-primary);font-size:var(--font-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;background:transparent;z-index:var(--z-base)}.app.loading-state{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--glass-medium)}.loading-spinner{font-size:var(--font-lg);color:var(--text-secondary)}.sidebar-user{margin-top:auto;border-top:1px solid var(--border-primary);padding:.5rem}.user-email{font-size:var(--font-sm);color:var(--text-secondary);padding:.5rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{color:var(--accent-danger)}.logout-btn:hover{background:#f8717126;color:var(--accent-danger)}@media (max-width: 768px){.app{flex-direction:column}.app-sidebar{width:100%!important;height:auto;flex-direction:row;border-right:none;border-top:1px solid var(--border-primary);order:2;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal);padding:0;background:var(--glass-heavy);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.app-sidebar.collapsed{width:100%!important}.sidebar-header{display:none}.sidebar-nav{flex-direction:row;flex:1;justify-content:space-around;padding:.5rem;gap:0}.sidebar-nav-item{flex-direction:column;gap:.25rem;padding:.5rem;font-size:var(--font-sm);min-width:60px;justify-content:center;align-items:center}.nav-icon{font-size:var(--font-lg)}.nav-label{font-size:var(--font-xs)}.sidebar-view-mode,.sidebar-category-filter,.sidebar-toggle,.sidebar-user{display:none}.app-main{order:1;padding-bottom:70px;height:calc(100vh - 70px)}}@media (max-width: 480px){.sidebar-nav-item{min-width:50px;padding:.375rem}.nav-label{display:none}}:root{--glass-solid: rgba(255, 255, 255, .85);--glass-heavy: rgba(255, 255, 255, .58);--glass-medium: rgba(255, 255, 255, .35);--glass-light: rgba(255, 255, 255, .12);--glass-faint: rgba(255, 255, 255, .05);--blur-heavy: blur(14px);--blur-medium: blur(10px);--blur-light: blur(6px);--font-xs: .65rem;--font-sm: .75rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 2rem;--font-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-none: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-full: 50%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 2px rgba(122, 162, 212, .2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-modal-content: 1100;--z-popover: 2000;--z-tooltip: 5000;--z-toast: 10000;--color-accent: #f97316;--color-accent-hover: #ea580c;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-info: #3b82f6;--color-purple: #7c3aed;--color-indigo: #6366f1;--color-border: rgba(0, 0, 0, .08);--color-border-medium: rgba(0, 0, 0, .12);--color-border-strong: rgba(0, 0, 0, .2);--color-border-focus: rgba(122, 162, 212, .4)}.glass-solid{background:var(--glass-solid);backdrop-filter:var(--blur-heavy);-webkit-backdrop-filter:var(--blur-heavy)}.glass-heavy{background:var(--glass-heavy);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.glass-medium{background:var(--glass-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium)}.glass-light{background:var(--glass-light);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: var(--glass-medium);--bg-secondary: var(--glass-medium);--bg-tertiary: var(--glass-light);--bg-elevated: var(--glass-heavy);--bg-hover: rgba(255, 255, 255, .38);--text-primary: #0f0f1a;--text-secondary: #2a2a3a;--text-muted: #6b7280;--text-accent: #0a0a1a;--border-primary: var(--color-border);--border-secondary: var(--color-border-medium);--border-accent: var(--color-border-strong);--accent-primary: #1a1a2e;--accent-secondary: #3a3a4a;--accent-success: var(--color-success);--accent-warning: var(--color-accent);--accent-danger: var(--color-danger)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:transparent;color:var(--text-primary);min-height:100vh}#root{width:100%;min-height:100vh}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--glass-heavy);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8);border:1px solid var(--color-border-medium);border-radius:var(--radius-none);cursor:pointer;color:var(--text-primary)}select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}select option{background:var(--glass-heavy);color:var(--text-primary)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=time],input[type=datetime-local],textarea{border:1px solid var(--color-border-medium);border-radius:var(--radius-none);background:var(--glass-heavy);color:var(--text-primary)}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,input[type=time]:focus,input[type=datetime-local]:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}input[type=text]::placeholder,input[type=number]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--text-muted)}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1)}button{border-radius:var(--radius-none)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--glass-light)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}
