:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--border-primary: #30363d;--border-secondary: #21262d;--accent-primary: #58a6ff;--accent-success: #3fb950;--accent-warning: #d29922;--accent-danger: #f85149;--accent-purple: #a371f7;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease}@media(prefers-color-scheme:light){:root{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--bg-hover: #d0d7de;--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #8c959f;--border-primary: #d0d7de;--border-secondary: #eaeef2;--shadow-sm: 0 1px 2px 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)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}#root,.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);flex-wrap:wrap;gap:var(--space-md);position:relative}.header__brand{display:flex;flex-direction:column}.header__title{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.header__subtitle{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.header__date{display:flex;flex-direction:column;align-items:center;font-family:var(--font-mono);position:absolute;left:50%;transform:translate(-50%)}.header__weekday{font-size:var(--text-sm);color:var(--text-secondary);text-transform:capitalize}.header__formatted-date{font-size:var(--text-xs);color:var(--text-muted)}.header__nav{display:flex;gap:var(--space-sm)}.main{flex:1;padding:var(--space-xl);max-width:1200px;width:100%;margin:0 auto}.section{margin-bottom:var(--space-2xl)}.section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.section__title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.section__indicator{width:8px;height:8px;border-radius:50%}.section__indicator--active{background-color:var(--accent-success);animation:pulse 2s infinite}.section__indicator--completed{background-color:var(--accent-purple)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.section--active{padding:var(--space-lg);background-color:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--accent-success)}.section--completed{opacity:.8}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-lg)}.task-card{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal)}.task-card:hover{border-color:var(--border-primary);box-shadow:var(--shadow-md)}.task-card--running{border-color:var(--accent-success);box-shadow:0 0 0 1px var(--accent-success),var(--shadow-md)}.task-card--completed{opacity:.7}.task-card--editing,.task-card--routine{background-color:var(--bg-tertiary)}.task-card__header{margin-bottom:var(--space-md)}.task-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.task-card__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-word;overflow-wrap:anywhere}.task-card__description{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-xs);word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;max-height:80px;overflow-y:auto}.task-card__status{flex-shrink:0}.task-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm);margin-bottom:var(--space-xs)}.task-card__project-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--project-color) 20%,transparent);color:var(--project-color);font-weight:500}.task-card__project-badge:before{content:"";width:6px;height:6px;border-radius:50%;background-color:var(--project-color)}.task-card__tag{display:inline-block;font-size:var(--text-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--tag-color) 20%,transparent);color:var(--tag-color);font-weight:500}.task-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.task-card--details{background-color:var(--bg-tertiary)}.task-card__details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-secondary)}.task-card__meta-item{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--text-sm)}.task-card__meta-label{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;min-width:80px}.task-card__meta-value{color:var(--text-primary);font-family:var(--font-mono)}.task-card__details-description{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-secondary)}.task-card__description-full{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-sm);padding:var(--space-md);background-color:var(--bg-primary);border-radius:var(--radius-md);word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;max-height:200px;overflow-y:auto}.task-card__details-timeline{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-secondary)}.status-badge{display:inline-block;font-size:var(--text-xs);font-family:var(--font-mono);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:500}.status-badge--pending{background-color:var(--bg-tertiary);color:var(--text-secondary)}.status-badge--running{background-color:#3fb95026;color:var(--accent-success)}.status-badge--paused{background-color:#d2992226;color:var(--accent-warning)}.status-badge--completed{background-color:#a371f726;color:var(--accent-purple)}.task-card__timer-section{margin-bottom:var(--space-md)}.timer{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono)}.timer__time{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.timer--running .timer__time{color:var(--accent-success)}.timer__indicator{width:8px;height:8px;background-color:var(--accent-success);border-radius:50%;animation:pulse 1s infinite}.task-card__controls{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.task-card__timeline-toggle,.task-card__timeline{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-secondary)}.task-card__delete-confirm{margin-top:var(--space-md);padding:var(--space-md);background-color:#f851491a;border-radius:var(--radius-md);border:1px solid var(--accent-danger)}.task-card__delete-confirm p{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-sm)}.task-card__delete-actions{display:flex;gap:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;font-family:var(--font-sans);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--accent-primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:#4c94e8}.btn--secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.btn--secondary:hover:not(:disabled){background-color:var(--bg-hover)}.btn--success{background-color:var(--accent-success);color:#fff}.btn--success:hover:not(:disabled){background-color:#2ea043}.btn--danger{background-color:var(--accent-danger);color:#fff}.btn--danger:hover:not(:disabled){background-color:#da3633}.btn--ghost{background-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.btn--ghost.btn--danger{color:var(--accent-danger);background-color:transparent}.btn--ghost.btn--danger:hover:not(:disabled){background-color:#f851491a}.btn--small{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.timeline{display:flex;flex-direction:column;gap:var(--space-sm)}.timeline--empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.timeline--compact{flex-direction:row;flex-wrap:wrap;gap:var(--space-xs)}.timeline__event{display:flex;gap:var(--space-sm);align-items:flex-start}.timeline__marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border-radius:50%;font-size:var(--text-xs)}.timeline__event--start .timeline__icon{background-color:#3fb95033;color:var(--accent-success)}.timeline__event--pause .timeline__icon{background-color:#d2992233;color:var(--accent-warning)}.timeline__event--resume .timeline__icon{background-color:#58a6ff33;color:var(--accent-primary)}.timeline__event--complete .timeline__icon{background-color:#a371f733;color:var(--accent-purple)}.timeline__line{width:2px;height:16px;background-color:var(--border-primary);margin-top:var(--space-xs)}.timeline__content{display:flex;flex-direction:column;padding-top:2px}.timeline__label{font-size:var(--text-sm);color:var(--text-primary)}.timeline__time{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.timeline__badge{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px}.timeline__badge--start{background-color:#3fb95033;color:var(--accent-success)}.timeline__badge--pause{background-color:#d2992233;color:var(--accent-warning)}.timeline__badge--resume{background-color:#58a6ff33;color:var(--accent-primary)}.timeline__badge--complete{background-color:#a371f733;color:var(--accent-purple)}.add-task-form{margin-bottom:var(--space-lg)}.task-form{display:flex;flex-direction:column;gap:var(--space-md)}.task-form__field{display:flex;flex-direction:column;gap:var(--space-xs)}.task-form__label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.task-form__optional{font-weight:400;color:var(--text-muted)}.task-form__input,.task-form__textarea,.task-form__select{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast)}.task-form__input:focus,.task-form__textarea:focus,.task-form__select:focus{outline:none;border-color:var(--accent-primary)}.task-form__textarea{resize:vertical;min-height:80px}.task-form__routines{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.task-form__actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm)}.task-form__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.task-form__tag{display:inline-block;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--tag-color);background-color:transparent;color:var(--tag-color);cursor:pointer;transition:all var(--transition-fast)}.task-form__tag:hover{background-color:color-mix(in srgb,var(--tag-color) 10%,transparent)}.task-form__tag--selected{background-color:color-mix(in srgb,var(--tag-color) 20%,transparent);color:var(--tag-color)}.task-form__toggle{display:flex;gap:0;border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.task-form__toggle-btn{flex:1;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast)}.task-form__toggle-btn:not(:last-child){border-right:1px solid var(--border-primary)}.task-form__toggle-btn--active{background-color:var(--accent-primary);color:#fff}.task-form__time-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.retroactive-modal{padding:var(--space-xl)}.retroactive-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.retroactive-modal__header h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.section__header-actions{display:flex;gap:var(--space-sm)}.routine-checklist{padding:var(--space-md)}.routine-checklist__header{margin-bottom:var(--space-md)}.routine-checklist__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.routine-checklist__routine-name{font-size:var(--text-sm);color:var(--text-secondary)}.routine-checklist__items{list-style:none;margin-bottom:var(--space-lg)}.routine-checklist__item{padding:var(--space-sm) 0;border-bottom:1px solid var(--border-secondary)}.routine-checklist__item:last-child{border-bottom:none}.routine-checklist__label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm)}.routine-checklist__checkbox{width:18px;height:18px;accent-color:var(--accent-success);cursor:pointer}.routine-checklist__text--checked{text-decoration:line-through;color:var(--text-muted)}.routine-checklist__actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.modal{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal__content{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.day-summary{padding:var(--space-xl)}.day-summary__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.day-summary__title{font-size:var(--text-xl);font-weight:600}.day-summary__narrative{padding:var(--space-lg);background-color:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-xl);font-size:var(--text-sm);line-height:1.7;color:var(--text-secondary)}.day-summary__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.day-summary__stat{text-align:center;padding:var(--space-lg);background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.day-summary__stat-value{display:block;font-size:var(--text-2xl);font-weight:600;font-family:var(--font-mono);color:var(--accent-primary);margin-bottom:var(--space-xs)}.day-summary__stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.day-summary__section-title{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.day-summary__distribution{margin-bottom:var(--space-xl)}.day-summary__bars{display:flex;flex-direction:column;gap:var(--space-md)}.day-summary__bar-item{display:flex;flex-direction:column;gap:var(--space-xs)}.day-summary__bar-header{display:flex;justify-content:space-between;font-size:var(--text-sm)}.day-summary__bar-task{color:var(--text-primary);font-weight:500}.day-summary__bar-time{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.day-summary__bar-track{height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden}.day-summary__bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-purple));border-radius:4px;transition:width var(--transition-normal)}.day-summary__bar-percentage{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.day-summary__timeline{margin-bottom:var(--space-xl)}.day-summary__timeline-info{display:flex;gap:var(--space-lg);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-md)}.day-summary__events{display:flex;flex-direction:column;gap:var(--space-xs);max-height:300px;overflow-y:auto}.day-summary__event{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);background-color:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--text-sm)}.day-summary__event-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);min-width:50px}.day-summary__event-type{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px}.day-summary__event-type--start{background-color:#3fb95033;color:var(--accent-success)}.day-summary__event-type--pause{background-color:#d2992233;color:var(--accent-warning)}.day-summary__event-type--resume{background-color:#58a6ff33;color:var(--accent-primary)}.day-summary__event-type--complete{background-color:#a371f733;color:var(--accent-purple)}.day-summary__event-task{color:var(--text-primary)}.day-summary__tasks{margin-bottom:var(--space-md)}.day-summary__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.day-summary__task-list{display:flex;flex-direction:column;gap:var(--space-sm)}.day-summary__task{padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--border-primary)}.day-summary__task--completed{border-left-color:var(--accent-purple)}.day-summary__task--in-progress{border-left-color:var(--accent-success)}.day-summary__task--pending{border-left-color:var(--text-muted)}.day-summary__task-header{display:flex;justify-content:space-between;align-items:center}.day-summary__task-title{font-weight:500;font-size:var(--text-sm)}.day-summary__task-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.day-summary__task-timeline{margin-top:var(--space-sm)}.routine-manager{padding:var(--space-xl)}.routine-manager__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.routine-manager__title{font-size:var(--text-xl);font-weight:600}.routine-manager__description{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-xl)}.routine-manager__add-btn{margin-bottom:var(--space-xl)}.routine-manager__form{padding:var(--space-lg);background-color:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.routine-manager__form-title{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-md)}.routine-manager__field{margin-bottom:var(--space-md)}.routine-manager__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs)}.routine-manager__input,.routine-manager__select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary)}.routine-manager__input:focus,.routine-manager__select:focus{outline:none;border-color:var(--accent-primary)}.routine-manager__items{display:flex;flex-direction:column;gap:var(--space-sm)}.routine-manager__item-row{display:flex;gap:var(--space-sm)}.routine-manager__item-row .routine-manager__input{flex:1}.routine-manager__form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.routine-manager__sections{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.routine-manager__section-title{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-md);color:var(--text-primary)}.routine-manager__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.routine-manager__list{display:flex;flex-direction:column;gap:var(--space-md)}.routine-manager__routine{padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.routine-manager__routine-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.routine-manager__routine-name{font-weight:500;font-size:var(--text-sm)}.routine-manager__routine-actions{display:flex;gap:var(--space-xs)}.routine-manager__routine-items{list-style:none;font-size:var(--text-sm);color:var(--text-secondary)}.routine-manager__routine-items li{padding:var(--space-xs) 0;padding-left:var(--space-md);position:relative}.routine-manager__routine-items li:before{content:"•";position:absolute;left:0;color:var(--text-muted)}.tags-projects-manager{padding:var(--space-xl)}.tags-projects-manager__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.tags-projects-manager__title{font-size:var(--text-xl);font-weight:600}.tags-projects-manager__tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);border-bottom:1px solid var(--border-primary)}.tags-projects-manager__tab{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);font-weight:500;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast)}.tags-projects-manager__tab:hover{color:var(--text-primary)}.tags-projects-manager__tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.tags-projects-manager__content{min-height:300px}.tags-projects-manager__form{padding:var(--space-lg);background-color:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.tags-projects-manager__field{margin-bottom:var(--space-md)}.tags-projects-manager__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs)}.tags-projects-manager__input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary)}.tags-projects-manager__input:focus{outline:none;border-color:var(--accent-primary)}.tags-projects-manager__colors{display:flex;gap:var(--space-sm);flex-wrap:wrap}.tags-projects-manager__color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.tags-projects-manager__color-btn:hover{transform:scale(1.1)}.tags-projects-manager__color-btn--selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary)}.tags-projects-manager__preview{margin-top:var(--space-md);padding:var(--space-sm);background-color:var(--bg-primary);border-radius:var(--radius-md);text-align:center}.tag-preview,.project-preview{display:inline-block;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm)}.tag-preview{background-color:color-mix(in srgb,var(--tag-color) 20%,transparent);color:var(--tag-color)}.project-preview{background-color:color-mix(in srgb,var(--project-color) 20%,transparent);color:var(--project-color)}.project-preview:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--project-color);margin-right:6px}.tags-projects-manager__form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.tags-projects-manager__add-btn{margin-bottom:var(--space-lg)}.tags-projects-manager__list{display:flex;flex-direction:column;gap:var(--space-sm)}.tags-projects-manager__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-xl)}.tags-projects-manager__item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.tags-projects-manager__item-badge{display:inline-block;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--tag-color) 20%,transparent);color:var(--tag-color);font-weight:500}.tags-projects-manager__item-badge--project{background-color:color-mix(in srgb,var(--project-color) 20%,transparent);color:var(--project-color)}.tags-projects-manager__item-badge--project:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--project-color);margin-right:6px}.tags-projects-manager__item-actions{display:flex;gap:var(--space-xs)}.day-summary__bar-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:var(--space-xs)}.day-summary__bar-task--project,.day-summary__bar-task--tag{display:flex;align-items:center}.empty-state{text-align:center;padding:var(--space-2xl);background-color:var(--bg-secondary);border:1px dashed var(--border-primary);border-radius:var(--radius-lg)}.empty-state__text{font-size:var(--text-sm);color:var(--text-secondary)}.empty-state__hint{color:var(--text-muted)}.footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-secondary);text-align:center}.footer p{font-size:var(--text-sm);color:var(--text-muted)}.footer__hint{font-style:italic;font-size:var(--text-xs)}@media(max-width:768px){.header{flex-direction:column;align-items:flex-start;padding:var(--space-md)}.header__date{position:static;transform:none}.header__nav{width:100%}.header__nav .btn{flex:1}.main{padding:var(--space-md)}.task-grid,.task-form__routines,.task-form__time-row,.routine-manager__sections{grid-template-columns:1fr}.day-summary{padding:var(--space-md)}.day-summary__stats{grid-template-columns:repeat(2,1fr)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:var(--accent-primary);color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000;animation:fadeIn .15s ease}.monthly-calendar{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);width:100%;max-width:1000px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.monthly-calendar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-primary)}.monthly-calendar__nav{display:flex;align-items:center;gap:var(--space-md)}.monthly-calendar__nav-btn{background:none;border:1px solid var(--border-primary);color:var(--text-primary);width:36px;height:36px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.monthly-calendar__nav-btn:hover{background-color:var(--bg-hover)}.monthly-calendar__title{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.monthly-calendar__actions{display:flex;gap:var(--space-sm)}.monthly-calendar__today-btn{padding:var(--space-sm) var(--space-md);background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.monthly-calendar__today-btn:hover{background-color:var(--bg-hover)}.monthly-calendar__close-btn{background:none;border:none;color:var(--text-secondary);font-size:var(--text-2xl);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.monthly-calendar__close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.monthly-calendar__content{padding:var(--space-lg)}.monthly-calendar__grid-container{display:grid;grid-template-columns:1fr 280px;gap:var(--space-lg);margin-bottom:var(--space-lg)}.calendar-grid{background-color:var(--bg-primary);border-radius:var(--radius-md);padding:var(--space-md)}.calendar-grid__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-sm)}.calendar-grid__weekday{text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);padding:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.calendar-grid__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;padding:var(--space-sm);background-color:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.calendar-day:hover{background-color:var(--bg-hover)}.calendar-day--outside{opacity:.4}.calendar-day--today{border-color:var(--accent-primary)}.calendar-day--today .calendar-day__number{color:var(--accent-primary);font-weight:700}.calendar-day--selected{background-color:var(--accent-primary);border-color:var(--accent-primary)}.calendar-day--selected .calendar-day__number,.calendar-day--selected .calendar-day__time{color:#fff}.calendar-day--selected:hover{background-color:#4c94e8}.calendar-day--has-activity:not(.calendar-day--selected){background-color:var(--bg-tertiary)}.calendar-day__number{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.calendar-day__time{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--accent-success);margin-top:2px}.calendar-day__dot{width:6px;height:6px;border-radius:50%;background-color:var(--accent-success);margin-top:4px}.calendar-day--selected .calendar-day__dot{background-color:#fff}.day-detail{background-color:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-md);height:fit-content}.day-detail__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-primary)}.day-detail__header h4{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-transform:capitalize}.day-detail__confirm{background-color:#f851491a;border:1px solid var(--accent-danger);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-md)}.day-detail__confirm p{font-size:var(--text-xs);color:var(--text-primary);margin-bottom:var(--space-sm)}.day-detail__confirm-actions{display:flex;gap:var(--space-xs)}.day-detail__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.day-detail__stat{text-align:center;padding:var(--space-sm);background-color:var(--bg-primary);border-radius:var(--radius-sm)}.day-detail__stat-value{display:block;font-size:var(--text-base);font-weight:600;font-family:var(--font-mono);color:var(--accent-primary)}.day-detail__stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.day-detail__tasks h5{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.day-detail__task-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);max-height:250px;overflow-y:auto}.day-detail__task{padding:var(--space-sm);background-color:var(--bg-primary);border-radius:var(--radius-sm);border-left:3px solid var(--border-primary)}.day-detail__task--completed{border-left-color:var(--accent-purple)}.day-detail__task--in-progress{border-left-color:var(--accent-success)}.day-detail__task--pending{border-left-color:var(--text-muted)}.day-detail__task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xs);margin-bottom:var(--space-xs)}.day-detail__task-title{font-size:var(--text-xs);font-weight:500;color:var(--text-primary);word-break:break-word}.day-detail__task-status{font-size:10px;color:var(--text-muted);white-space:nowrap}.day-detail__task-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-xs)}.day-detail__task-time{font-size:10px;font-family:var(--font-mono);color:var(--text-secondary)}.day-detail__task-project,.day-detail__task-tag{font-size:10px;padding:1px 6px;border-radius:var(--radius-sm)}.day-detail__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-lg)}.monthly-summary{background-color:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-lg)}.monthly-summary__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.monthly-summary__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.monthly-summary__confirm{background-color:#f851491a;border:1px solid var(--accent-danger);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-md)}.monthly-summary__confirm p{font-size:var(--text-xs);color:var(--text-primary);margin-bottom:var(--space-sm)}.monthly-summary__confirm-actions{display:flex;gap:var(--space-xs)}.monthly-summary__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.monthly-summary__stat{text-align:center;padding:var(--space-md);background-color:var(--bg-primary);border-radius:var(--radius-md)}.monthly-summary__stat-value{display:block;font-size:var(--text-lg);font-weight:600;font-family:var(--font-mono);color:var(--accent-primary);margin-bottom:var(--space-xs)}.monthly-summary__stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.monthly-summary__distribution{margin-bottom:var(--space-md)}.monthly-summary__distribution h4{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.monthly-summary__bar-item{margin-bottom:var(--space-sm)}.monthly-summary__bar-header{display:flex;justify-content:space-between;font-size:var(--text-xs);margin-bottom:4px}.monthly-summary__bar-name{font-weight:500}.monthly-summary__bar-value{color:var(--text-muted);font-family:var(--font-mono)}.monthly-summary__bar-track{height:6px;background-color:var(--bg-primary);border-radius:3px;overflow:hidden}.monthly-summary__bar-fill{height:100%;border-radius:3px;transition:width var(--transition-normal)}.monthly-summary__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;text-align:center;padding:var(--space-lg)}@media(max-width:900px){.monthly-calendar__grid-container{grid-template-columns:1fr}.day-detail{order:-1}}@media(max-width:600px){.monthly-calendar{max-height:95vh}.monthly-calendar__header{flex-direction:column;gap:var(--space-md)}.monthly-calendar__nav{width:100%;justify-content:space-between}.monthly-calendar__actions{width:100%;justify-content:flex-end}.calendar-day{min-height:50px;padding:var(--space-xs)}.calendar-day__number{font-size:var(--text-xs)}.calendar-day__time{font-size:9px}.monthly-summary__stats{grid-template-columns:repeat(2,1fr)}.day-detail__stats{grid-template-columns:repeat(3,1fr)}}
