:root{--spacing-unit: 4px;--spacing-px: 1px;--spacing-2px: 2px;--grid-columns: 12;--grid-gutter: var(--spacing-lg);--color-bg-app: #ffffff;--color-bg-sidebar: rgba(248, 248, 248, .95);--color-bg-surface: #ffffff;--color-bg-surface-glass: rgba(255, 255, 255, .9);--color-bg-hover: #f5f5f5;--color-bg-input: #ffffff;--color-text-primary: #202020;--color-text-secondary: #555555;--color-text-tertiary: #808080;--color-text-on-accent: #ffffff;--color-border: #e8e8e8;--color-border-hover: #dddddd;--color-accent: #dc4c3e;--color-accent-hover: #b03d32;--color-accent-dim: rgba(220, 76, 62, .1);--color-success: #22c55e;--color-success-dim: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-dim: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .1);--color-primary: #246fe0;--color-primary-hover: #1a5ac0;--color-primary-dim: rgba(36, 111, 224, .1);--color-focus-ring: rgba(220, 76, 62, .4);--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--touch-target-size: 44px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-xs: calc(var(--spacing-unit) * 1);--spacing-1_5: calc(var(--spacing-unit) * 1.5);--spacing-sm: calc(var(--spacing-unit) * 2);--spacing-2_5: calc(var(--spacing-unit) * 2.5);--spacing-md: calc(var(--spacing-unit) * 3);--spacing-lg: calc(var(--spacing-unit) * 4);--spacing-xl: calc(var(--spacing-unit) * 6);--spacing-xxl: calc(var(--spacing-unit) * 8);--sidebar-width: 280px;--focus-panel-width: 320px;--header-height: 60px;--max-content-width: var(--breakpoint-tablet);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-float: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--glass-blur: blur(10px);--glass-opacity: .85;--glass-border-opacity: .1}:root[data-theme=dark]{--color-bg-app: #1f1f1f;--color-bg-sidebar: rgba(40, 40, 40, .85);--color-bg-surface: #282828;--color-bg-surface-glass: rgba(40, 40, 40, .9);--color-bg-hover: #363636;--color-bg-input: #2a2a2a;--color-text-primary: #eeeeee;--color-text-secondary: #aaaaaa;--color-text-tertiary: #888888;--color-border: #383838;--color-border-hover: #4a4a4a;--color-accent: #e44332;--color-accent-hover: #d13627;--color-accent-dim: rgba(228, 67, 50, .15);--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f87171;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-dim: rgba(59, 130, 246, .15);--color-focus-ring: rgba(228, 67, 50, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-float: 0 20px 25px -5px rgba(0, 0, 0, .6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-app: #1f1f1f;--color-bg-sidebar: rgba(40, 40, 40, .85);--color-bg-surface: #282828;--color-bg-surface-glass: rgba(40, 40, 40, .9);--color-bg-hover: #363636;--color-bg-input: #2a2a2a;--color-text-primary: #eeeeee;--color-text-secondary: #aaaaaa;--color-text-tertiary: #888888;--color-border: #383838;--color-border-hover: #4a4a4a;--color-accent: #e44332;--color-accent-hover: #d13627;--color-accent-dim: rgba(228, 67, 50, .15);--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f87171;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-dim: rgba(59, 130, 246, .15);--color-focus-ring: rgba(228, 67, 50, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}}@keyframes slideInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes pulse-warning{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes checkmark-pop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes task-complete-slide{to{opacity:0;transform:translate(10px);max-height:0;padding-top:0;padding-bottom:0;margin:0;border:none}}@keyframes task-complete-anim{0%{transform:scale(1)}50%{transform:scale(1.02);filter:brightness(1.2)}to{transform:scale(1)}}@keyframes taskJustAdded{0%{background-color:var(--color-accent-dim)}to{background-color:transparent}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1.5px)}}.fade-in{animation:fadeIn .4s ease-out forwards}.slide-up{animation:slideUp .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.text-muted{color:var(--color-text-tertiary);font-size:13px}.project-color,.timeblock-color{width:10px;height:10px;border-radius:50%;display:inline-block}.filter-icon{font-size:16px}.filter-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-effect{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background-color:var(--color-bg-surface-glass);border:1px solid rgba(255,255,255,var(--glass-border-opacity))}.grid-12{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gutter);width:100%}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12{grid-column:span 12}@media(max-width:768px){.grid-12{grid-template-columns:repeat(4,1fr)}.col-mobile-4{grid-column:span 4}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out forwards}.animate-slide-up{animation:slideInUp var(--transition-normal) ease-out forwards}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased;letter-spacing:.015em}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=checkbox]:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.sidebar-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}#app{--sidebar-current-width: var(--sidebar-width);--focus-panel-current-width: var(--focus-panel-width);display:grid;grid-template-columns:var(--sidebar-current-width) 1fr var(--focus-panel-current-width);grid-template-areas:"sidebar main focus";height:100vh;overflow:hidden;transition:grid-template-columns var(--transition-smooth)}.app-container{display:contents}#app.left-collapsed{--sidebar-current-width: 0px}#app.right-collapsed{--focus-panel-current-width: 0px}@media (max-width: var(--breakpoint-mobile)){#app{grid-template-columns:1fr;grid-template-areas:"main"}#app:after{content:"";position:fixed;inset:0;background:#0006;opacity:0;visibility:hidden;transition:opacity .3s;z-index:2999}#app.sidebar-active:after{opacity:1;visibility:visible}}.sidebar{grid-area:sidebar;z-index:1000}.focus-panel{grid-area:focus;z-index:500}.main-content{grid-area:main;display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;z-index:1}.main-body{flex:1;overflow-y:auto;min-height:0;padding:0 var(--spacing-xl) var(--spacing-xl);margin:0 auto;width:100%;max-width:var(--max-content-width);align-content:start}@media (max-width: var(--breakpoint-mobile)){.main-body{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-lg)}}.main-body,.modal-body,.sidebar-content{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s}.main-body:hover,.modal-body:hover,.sidebar-content:hover{scrollbar-color:var(--color-border) transparent}.main-body::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.sidebar-content::-webkit-scrollbar{width:6px}.main-body::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.sidebar-content::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}.main-body:hover::-webkit-scrollbar-thumb,.modal-body:hover::-webkit-scrollbar-thumb,.sidebar-content:hover::-webkit-scrollbar-thumb{background:var(--color-border)}.btn{padding:8px 16px;border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-sm);transition:all var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);cursor:pointer;border:none}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn-secondary:hover{filter:brightness(.9)}[data-theme=dark] .btn-secondary:hover{background-color:var(--color-border-hover);filter:none}.btn-danger{color:var(--color-danger);background:transparent;border:1px solid var(--color-danger)}.btn-danger:hover{background-color:var(--color-bg-hover)}.btn-sm{font-size:var(--font-size-xs)!important;padding:4px 8px!important}.btn-auth{font-size:var(--font-size-xs)!important;padding:var(--spacing-1_5) var(--spacing-md)!important}input,textarea,select{font:inherit;color:var(--color-text-primary);background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-1_5) var(--spacing-2_5);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input,.form-group textarea,.form-group select{width:100%}input[type=date],input[type=time]{cursor:pointer;position:relative}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-text-tertiary)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.day-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.day-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);background-color:var(--color-bg-hover)}.day-checkbox:hover{background-color:var(--color-border-hover)}.day-checkbox input{width:auto}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.checkbox-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);background-color:var(--color-bg-hover)}.checkbox-item:hover{background-color:var(--color-border-hover)}.checkbox-item input{width:auto}.color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative;transition:transform var(--transition-fast),border-color var(--transition-fast)}.color-option:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--touch-target-size);height:var(--touch-target-size);border-radius:50%}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:var(--color-text-primary);transform:scale(1.1)}.radio-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:calc(var(--spacing-xs) / 2)}.radio-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:14px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.radio-label:hover{background-color:var(--color-bg-hover)}.radio-label input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--color-border);border-radius:50%;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background-color:var(--color-bg-input)}.radio-label input[type=radio]:checked{border-color:var(--color-accent)}.radio-label input[type=radio]:before{content:"";width:10px;height:10px;border-radius:50%;background-color:var(--color-accent);transform:scale(0);transition:transform var(--transition-fast)}.radio-label input[type=radio]:checked:before{transform:scale(1)}.btn-full{width:100%}.form-help{font-size:12px;color:var(--color-text-tertiary);margin-top:4px}.input-lg{font-size:16px;padding:8px 12px}.main-header{height:var(--header-height);padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-app);position:sticky;top:0;z-index:50}.header-left{flex:1;display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.header-center{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--spacing-md)}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.view-title{margin:0;margin-left:var(--spacing-xs);font-size:20px;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.app-logo{margin-left:var(--spacing-md);font-weight:600}.theme-toggle,.settings-btn{margin-left:var(--spacing-sm);font-size:14px;opacity:.7;background:transparent;border:none;cursor:pointer;color:var(--color-text-primary);padding:4px;display:flex;align-items:center;justify-content:center}.theme-toggle:hover,.settings-btn:hover{opacity:1;background-color:var(--color-bg-hover);border-radius:4px}.auth-container{display:flex;align-items:center}.user-profile{display:flex;align-items:center;gap:var(--spacing-md)}.user-email{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:none}@media (min-width: var(--breakpoint-mobile)){.user-email{display:inline!important}}.day-mode-toggle{display:flex;background:var(--color-bg-sub);border-radius:var(--radius-sm);padding:2px;gap:1px}.day-mode-btn{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:calc(var(--radius-sm) - 1px);color:var(--color-text-tertiary);background:transparent;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.day-mode-btn:hover:not(.active){color:var(--color-text-secondary)}@media (max-width: var(--breakpoint-tablet)){.header-right{gap:var(--spacing-sm)}}@media (max-width: var(--breakpoint-mobile)){.main-header{padding:0 var(--spacing-md);gap:var(--spacing-md)}.header-center{display:none}.header-left{gap:var(--spacing-xs)}.view-title{font-size:16px!important;margin-left:0!important}.day-mode-toggle{display:none!important}.header-right{gap:var(--spacing-md)}}.sidebar-item,.nav-item,.btn,.btn-auth,.day-mode-btn,.task-item,.filter-item,.chart-bar,.context-menu-item{min-height:var(--touch-target-size);display:flex;align-items:center}.task-checkbox-wrapper{min-width:var(--touch-target-size);min-height:var(--touch-target-size);display:flex;align-items:center;justify-content:center}.task-item:focus-visible,.task-checkbox:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.sidebar{grid-area:sidebar;background-color:var(--color-bg-sidebar);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);display:flex;flex-direction:column;transition:transform var(--transition-smooth),width var(--transition-smooth);flex-shrink:0;z-index:100;overflow:hidden;border-right:1px solid var(--color-border)}.sidebar.collapsed{transform:translate(-100%);width:0;border-right:none;pointer-events:none}@media (max-width: var(--breakpoint-mobile)){.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:3000;transform:translate(-100%);width:85vw;max-width:var(--sidebar-width);background-color:var(--color-bg-sidebar);box-shadow:var(--shadow-lg);transition:transform var(--transition-smooth);border-right:1px solid var(--color-border)}.sidebar.active{transform:translate(0)}}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s;padding:var(--spacing-lg) 0}.sidebar-content:hover{scrollbar-color:var(--color-border) transparent}.sidebar-header{height:var(--header-height);display:flex;align-items:center;justify-content:flex-start;padding:0 var(--spacing-lg);gap:var(--spacing-sm)}.day-mode-toggle{display:flex;margin-left:auto;background:var(--color-bg-hover);border-radius:var(--radius-sm);padding:2px;gap:1px}.day-mode-btn{font-size:var(--font-size-xs);font-weight:600;padding:3px var(--spacing-sm);border-radius:calc(var(--radius-sm) - 1px);color:var(--color-text-tertiary);background:transparent;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.day-mode-btn:hover{color:var(--color-text-primary)}.day-mode-btn.active{background:var(--color-accent);color:var(--color-text-on-accent)}#toggle-sidebar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}#toggle-sidebar:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-toggle-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.sidebar-toggle-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-section{margin-bottom:var(--spacing-sm)}.sidebar-section-header{padding:var(--spacing-xs) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:600;transition:color var(--transition-fast)}.sidebar-section-header:hover{color:var(--color-text-secondary)}.sidebar-section-toggle{font-size:10px;transition:transform var(--transition-fast)}.sidebar-section.collapsed .sidebar-section-toggle{transform:rotate(-90deg)}.sidebar-section.collapsed .sidebar-section-content{display:none}.sidebar-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-1_5) var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);border-left:3px solid transparent}.sidebar-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-item.active{background:linear-gradient(90deg,var(--color-accent-dim) 0%,transparent 100%);color:var(--color-accent);font-weight:600;border-left-color:var(--color-accent)}.sidebar-item.drop-target{background-color:var(--color-accent-dim)}.sidebar-count{margin-left:auto;font-size:12px;color:var(--color-text-tertiary);font-weight:400;min-width:16px;text-align:right}.sidebar-item.active .sidebar-count{color:var(--color-accent)}.sidebar-item-add:hover{color:var(--color-text-primary)}.sidebar-item-empty{padding:var(--spacing-1_5) var(--spacing-lg);color:var(--color-text-tertiary);font-size:13px;font-style:italic;opacity:.7}.project-section-header{padding:var(--spacing-sm) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + var(--spacing-md));font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.project-section-header:hover{color:var(--color-text-secondary);background-color:var(--color-bg-hover)}.project-section-group.collapsed .project-section-list{display:none}.project-section-group.collapsed .sidebar-section-toggle{transform:rotate(-90deg)}.project-section-list .sidebar-item,.project-section-list .sidebar-item-add{padding-left:calc(var(--spacing-lg) + 24px)}.sidebar-section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.inline-add-form{padding:8px var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 24px);animation:fadeIn .1s ease-out}.inline-add-input{width:100%;padding:var(--spacing-1_5) var(--spacing-sm);font-size:var(--font-size-sm)}.task-list{margin-top:var(--spacing-lg);min-height:300px}.task-list:empty:before{content:"No tasks found";display:block;text-align:center;padding:var(--spacing-xxl);color:var(--color-text-tertiary);font-style:italic}.drop-indicator{height:3px;background-color:var(--color-primary);border-radius:var(--radius-full);margin:4px 0;pointer-events:none;box-shadow:0 0 10px var(--color-primary)}.task-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-1_5) var(--spacing-sm);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast),transform var(--transition-fast);border-radius:var(--radius-sm);cursor:grab}.task-item:hover{background-color:var(--color-bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.task-item:last-child{border-bottom:none}.task-item.selected{background-color:var(--color-accent-dim);outline:1px solid var(--color-accent);outline-offset:-1px}.task-item.dragging{opacity:.4;background-color:var(--color-bg-hover);border:1px dashed var(--color-primary);cursor:grabbing;transform:scale(.98)}.task-item.just-added{animation:taskJustAdded 1.5s ease-out forwards}.task-item.is-completing{animation:task-complete-anim .3s ease-out,task-complete-slide .3s .1s forwards;pointer-events:none}.task-checkbox{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-text-tertiary);flex-shrink:0;margin-top:2px;cursor:pointer;transition:all var(--transition-fast);position:relative}.task-checkbox.is-animating{animation:checkmark-pop .3s cubic-bezier(.175,.885,.32,1.275) forwards;background-color:var(--color-text-tertiary);border-color:var(--color-text-tertiary)}.task-checkbox.completed{background-color:var(--color-text-tertiary);border-color:var(--color-text-tertiary)}.task-checkbox.completed:after,.task-checkbox.is-animating:after{content:"✓";position:absolute;color:var(--color-bg-app);font-size:12px;top:50%;left:50%;transform:translate(-50%,-50%)}.task-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.task-title{font-size:15px;line-height:1.4;color:var(--color-text-primary);cursor:text}.task-title.completed{color:var(--color-text-tertiary);text-decoration:line-through}.task-meta{display:flex;align-items:center;gap:4px;font-size:12px;margin-left:auto;flex-shrink:0}.task-meta-fixed{width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;color:var(--color-text-tertiary)}.meta-icon{filter:grayscale(.2);opacity:.95;margin-right:2px}:root[data-theme=dark] .meta-icon{filter:grayscale(.1) brightness(1.2);opacity:.85}@media(max-width:600px){.task-item{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:4px 12px;padding:12px var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:4px;cursor:pointer}.task-checkbox{grid-row:1 / 3;grid-column:1;width:24px;height:24px}.task-title{grid-row:1;grid-column:2;font-size:16px}.task-meta{grid-row:2;grid-column:2;margin-left:0;width:100%;justify-content:flex-start}.task-meta-fixed{width:auto;min-width:6em}}.quick-add-container{margin-top:var(--spacing-lg)}#quick-add-input{width:100%;max-width:400px;border:none;background:transparent;font-size:15px;padding:var(--spacing-2_5) 0;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}#quick-add-input:focus{border-bottom-color:var(--color-border-hover);box-shadow:none}#quick-add-input::placeholder{color:var(--color-text-tertiary)}#bulk-action-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 12px;background-color:var(--color-bg-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);animation:slideDown .15s ease-out;box-shadow:var(--shadow-md);overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.bulk-bar-count{font-size:13px;font-weight:700;color:var(--color-accent);white-space:nowrap;flex-shrink:0;margin-right:4px}.bulk-bar-fields{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.bulk-action-group{display:flex;align-items:center;gap:4px}.bulk-action-group label{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.bulk-action-group select,.bulk-action-group input[type=date]{font-size:12px;padding:4px 6px;height:28px;width:120px}.bulk-bar-buttons{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}@media(max-width:600px){#bulk-action-bar{position:fixed;inset:auto 0 0;z-index:1000;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:var(--spacing-sm);border:none;border-top:1px solid var(--color-accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background-color:var(--color-bg-surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -4px 20px #00000026;margin-bottom:0;animation:slideInUp .3s cubic-bezier(.16,1,.3,1)}.bulk-bar-count{font-size:14px}.bulk-action-group label{display:none}.bulk-action-group select,.bulk-action-group input[type=date]{width:100px;font-size:13px;height:36px;border-radius:var(--radius-sm)}.bulk-bar-buttons .btn{padding:8px 12px}}.modal-overlay{position:fixed;inset:0;background-color:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.modal-content{background-color:var(--color-bg-surface-glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);width:100%;max-width:480px;max-height:90vh;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);overflow:hidden;display:flex;flex-direction:column;animation:modalFadeIn .2s ease-out}@media (max-width: var(--breakpoint-mobile)){.modal-overlay{padding:var(--spacing-sm);align-items:center}.modal-content{max-width:100%;max-height:90vh;border-radius:var(--radius-lg)}.modal-header,.modal-body{padding:var(--spacing-md)}.modal-footer{padding:var(--spacing-md);position:sticky;bottom:0;z-index:1}.modal-close{font-size:24px}}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:16px;font-weight:700}.modal-close{font-size:20px;color:var(--color-text-tertiary);min-width:var(--touch-target-size);min-height:var(--touch-target-size);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-hover)}.modal-footer-right{display:flex;gap:var(--spacing-sm)}.modal-footer-container,.modal-footer-content{display:flex;justify-content:space-between;width:100%;align-items:center}.icon-input-fixed{text-align:center;font-size:1.5rem;flex:0 0 60px}.settings-section{margin-bottom:var(--spacing-lg);border:none;background-color:transparent}.settings-summary{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);font-weight:600;font-size:1.1rem;color:var(--color-text-primary);position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.settings-summary::-webkit-details-marker{display:none}.settings-summary:after{content:"↓";position:absolute;right:1.5rem;transition:transform var(--transition-normal) ease}.settings-section[open] .settings-summary:after{transform:rotate(180deg)}.settings-content{padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-content h3,.settings-content h4{font-weight:600;font-size:1rem;margin:0 0 .75rem;color:var(--color-text-primary);border-bottom:2px solid var(--color-accent);padding-bottom:.5rem;display:inline-block}.settings-content p,.settings-content label{margin:0;line-height:1.6;color:var(--color-text-secondary)}.settings-content>div{padding-bottom:1rem;border-bottom:1px dashed var(--color-border)}.settings-content>div:last-child{border-bottom:none;padding-bottom:0}.developer-zone{margin-top:calc(var(--spacing-xxl) * 1.5);border-top:1px dashed var(--color-border);padding-top:var(--spacing-xl)}.developer-zone .settings-summary{color:var(--color-text-tertiary);border-bottom:none}.user-email-display{font-size:14px;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.login-prompt-text{font-size:13px;color:var(--color-text-tertiary);margin-bottom:var(--spacing-md)}.settings-hint{margin-top:24px;padding:12px;background-color:var(--color-bg-hover);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-secondary)}.conflict-intro{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.conflict-group{margin-bottom:var(--spacing-xl)}.conflict-group-title{font-size:.85rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;margin-bottom:var(--spacing-sm);letter-spacing:.05em}.conflict-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg-hover);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);border:1px solid var(--color-border)}.conflict-item-info{display:flex;flex-direction:column;gap:2px}.conflict-item-name{font-weight:600;font-size:.95rem}.conflict-item-id{font-size:.75rem;color:var(--color-text-tertiary)}.conflict-item-actions{display:flex;gap:var(--spacing-xs)}.conflict-empty-msg{text-align:center;padding:var(--spacing-xl);color:var(--color-success);font-weight:600}.shortcut-list{display:flex;flex-direction:column;gap:20px}.shortcut-category{margin-bottom:8px}.shortcut-category-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}.shortcut-items{display:grid;gap:8px}.shortcut-item{display:flex;justify-content:space-between;align-items:center}.shortcut-label{color:var(--color-text-primary);font-size:14px}.shortcut-key{background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:13px;box-shadow:0 2px 0 var(--color-border);white-space:nowrap;flex-shrink:0;margin-left:12px}.shortcut-footer{margin-top:20px;font-size:12px;color:var(--color-text-tertiary);text-align:center}.context-menu{position:fixed;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px 0;min-width:160px;z-index:1100}.context-menu-item{padding:8px 12px;font-size:13px;color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;gap:8px}.context-menu-item:hover{background-color:var(--color-bg-hover)}.context-menu-separator{height:1px;background-color:var(--color-border);margin:4px 0}.context-menu-item[data-action=delete]{color:var(--color-danger)}.context-menu-item[data-action=delete]:hover{background-color:var(--color-danger-dim)}.capacity-container{display:flex;flex-direction:column;gap:2px;width:120px;margin-left:var(--spacing-md)}.capacity-label{font-size:10px;font-weight:600;color:var(--color-text-tertiary);display:flex;justify-content:space-between}.capacity-bar-bg{width:100%;height:6px;background-color:var(--color-bg-hover);border-radius:3px;overflow:hidden;position:relative}.capacity-bar-fill{height:100%;background-color:var(--color-primary);border-radius:3px;transition:width .3s ease-out,background-color .3s}.capacity-bar-fill.over-limit{background-color:var(--color-danger)}.capacity-bar-fill.safe{background-color:var(--color-success)}.timeblock-time{font-size:11px;color:var(--color-text-tertiary);margin-left:auto}@media (max-width: var(--breakpoint-mobile)){.capacity-container{display:none}}.focus-panel{grid-area:focus;background-color:var(--color-bg-sidebar);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;z-index:90;width:var(--focus-panel-current-width);transition:width var(--transition-smooth);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.focus-panel.collapsed{border-left:none;pointer-events:none}.focus-panel-header{height:var(--header-height);padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.focus-panel-header h3{font-size:var(--font-size-md);font-weight:700;margin:0;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em}.focus-timer-container{background-color:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin:var(--spacing-lg)}.focus-timer-container.timer-danger{background:var(--color-danger-dim);border-radius:var(--radius-lg);transition:background .3s ease}.focus-timer-display{font-family:Courier New,Courier,monospace;font-size:48px;font-weight:700;color:var(--color-primary);margin:var(--spacing-md) 0}.focus-timer-display.overtime{color:var(--color-danger);animation:pulse 2s infinite}.focus-mini-timer-btn{cursor:pointer;border:none;font-size:14px;font-weight:700;background:var(--color-bg-tertiary);padding:4px 8px;border-radius:var(--radius-full);display:flex;align-items:center;color:var(--color-text-secondary);transition:color .2s,background .2s}.focus-mini-timer-btn.running{color:var(--color-accent)}.focus-mini-timer-btn.overtime{color:var(--color-danger);animation:pulse 2s infinite}.focus-mini-timer-icon{margin-right:4px}.focus-drop-zone{flex:1;border:2px dashed var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all var(--transition-normal);min-height:100px;margin:0 var(--spacing-lg) var(--spacing-lg)}.focus-drop-zone.drag-over{border-color:var(--color-primary);background-color:var(--color-primary-dim);color:var(--color-primary);transform:scale(1.02)}.focus-task-title{font-size:var(--font-size-base);font-weight:600;text-align:center;color:var(--color-text-primary);margin-top:var(--spacing-md)}@media (max-width: var(--breakpoint-mobile)){.focus-panel{display:none!important}}#toast-container{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none;max-width:360px}.toast{background-color:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(8px);transition:opacity var(--transition-normal),transform var(--transition-normal);pointer-events:auto;border-left:4px solid var(--color-border)}.toast.toast-visible{opacity:1;transform:translateY(0)}.toast.toast-success{border-left-color:var(--color-success)}.toast.toast-warning{border-left-color:var(--color-warning)}.toast.toast-error{border-left-color:var(--color-danger)}.toast.toast-info{border-left-color:var(--color-primary)}@media(prefers-reduced-motion:reduce){.toast{transition:none;transform:none}}@media (max-width: var(--breakpoint-mobile)){#toast-container{bottom:var(--spacing-lg);right:var(--spacing-md);left:var(--spacing-md);max-width:none}}.sync-status{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;color:var(--color-text-tertiary);transition:color .3s}.sync-status.syncing{color:var(--color-primary);animation:spin 1.5s linear infinite}.sync-status.success{color:var(--color-success)}.sync-status.error{color:var(--color-danger);cursor:help}.sync-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:8px;cursor:help;transition:all .3s ease;border-radius:50%}.sync-indicator.syncing{animation:rotate 1.5s linear infinite}.sync-indicator.success{color:var(--color-success)}.sync-indicator.error{color:var(--color-danger);background:var(--color-danger-dim)}.conflict-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:8px;color:var(--color-warning);background:var(--color-warning-dim);border-radius:50%;animation:pulse-warning 2s infinite}@media (max-width: var(--breakpoint-mobile)){.sync-indicator{margin-right:4px}}.progress-ring-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;animation:fadeIn .5s ease-out}.progress-ring__circle{transition:stroke-dashoffset .5s ease-in-out;transform:rotate(-90deg);transform-origin:50% 50%;stroke-dashoffset:var(--progress-offset, 0)}.progress-ring-text{position:absolute;font-size:10px;font-weight:700;color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);animation:fadeIn .6s ease-out forwards}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title{font-size:16px;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.empty-state-message{font-size:14px;line-height:1.5;max-width:280px;margin:0 auto}.empty-state-action-hint{margin-top:var(--spacing-lg);font-size:13px;color:var(--color-primary);font-weight:500}.sidebar-empty-hint{font-size:12px;color:var(--color-text-tertiary);padding:var(--spacing-sm) var(--spacing-md);font-style:italic;opacity:.8}.milestone-toast{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);background:var(--color-bg-sidebar);border:1px solid var(--color-accent);box-shadow:0 10px 25px #00000080;border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);z-index:10000;transition:bottom .5s cubic-bezier(.175,.885,.32,1.275),opacity .5s;opacity:0;max-width:90vw;width:400px}.milestone-toast.show{bottom:40px;opacity:1}.toast-badge{font-size:32px;animation:pop .5s cubic-bezier(.175,.885,.32,1.275) .2s both}.toast-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.toast-message{font-size:13px;color:var(--color-text-secondary);line-height:1.4}@keyframes pop{0%{transform:scale(.5)}50%{transform:scale(1.3)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.milestone-toast{transition:opacity .1s}.toast-badge{animation:none!important}}.auth-modal-root .modal-content{max-width:400px}.auth-modal-content{display:flex;flex-direction:column;padding:var(--spacing-md) 0}.auth-header{text-align:center;margin-bottom:var(--spacing-lg)}.auth-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auth-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.auth-input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background-color:var(--color-bg-input);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-password-wrapper{position:relative;display:flex;align-items:center}.auth-password-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;padding:0}.auth-password-toggle:hover{color:var(--color-text-primary)}.auth-input.has-icon{padding-right:40px;width:100%}.auth-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.auth-button{margin-top:var(--spacing-md);padding:12px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;background-color:var(--color-accent);color:var(--color-text-on-accent);border:none;cursor:pointer;transition:background-color var(--transition-fast);display:flex;justify-content:center;align-items:center}.auth-button:hover{background-color:var(--color-accent-hover)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-switch{margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-switch-link{color:var(--color-accent);cursor:pointer;font-weight:600;margin-left:4px}.auth-switch-link:hover{text-decoration:underline}.auth-error{padding:8px 12px;background-color:#d1453b1a;color:var(--color-danger);border-radius:var(--radius-sm);font-size:var(--font-size-sm);display:none;margin-bottom:var(--spacing-md);border:1px solid rgba(209,69,59,.2)}.auth-error.visible{display:block}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.dashboard{padding:var(--spacing-md);max-width:1000px;margin:0 auto;min-height:60vh}.dashboard-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border);padding-bottom:2px}.dashboard-tab{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-tertiary);cursor:pointer;font-weight:600;transition:all var(--transition-fast);margin-bottom:-2px;font-size:var(--font-size-sm)}.dashboard-tab:hover{color:var(--color-text-secondary)}.dashboard-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.metric-toggle-container{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.metric-toggle{display:flex;gap:4px;background:var(--color-bg-hover);padding:4px;border-radius:var(--radius-md)}.btn-toggle{padding:4px 12px;border:none;border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--color-text-secondary);font-size:12px;transition:all var(--transition-fast)}.btn-toggle.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.dashboard-card{background:var(--color-bg-surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);margin-bottom:var(--spacing-lg)}.dashboard-card-title{font-size:16px;font-weight:700;margin-top:0;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{text-align:center;cursor:pointer}.stat-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.stat-card.no-hover{cursor:default;transform:none;box-shadow:none}.stat-card.active{border-color:var(--color-primary);background:var(--color-primary-dim)}.stat-value{font-size:28px;font-weight:800;color:var(--color-text-primary)}.stat-goal{font-size:14px;color:var(--color-text-tertiary);font-weight:400}.stat-label{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.progress-bar-mini{height:4px;background:var(--color-border);border-radius:var(--radius-full);margin-top:var(--spacing-md);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width var(--transition-smooth) ease}.weekly-chart{margin-bottom:var(--spacing-lg)}.chart-bars{display:flex;align-items:flex-end;height:200px;gap:8px;padding-bottom:40px;border-bottom:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chart-bars::-webkit-scrollbar{display:none}.chart-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative;min-width:30px}.chart-bar{width:100%;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height var(--transition-smooth) ease,background var(--transition-fast);position:relative;min-height:2px}.chart-bar:hover{filter:brightness(1.1)}.chart-bar-value{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);white-space:nowrap;transition:opacity var(--transition-fast)}.chart-day,.chart-label-trending,.chart-label-hour{font-size:var(--font-size-xs);margin-top:var(--spacing-sm);color:var(--color-text-secondary);text-align:center}.chart-target-line{position:absolute;left:0;right:0;border-top:2px dashed var(--color-primary);opacity:.8}.chart-target-label{position:absolute;right:0;top:-20px;font-size:10px;font-weight:700;color:var(--color-primary);background:var(--color-bg-surface);padding:0 4px}.analysis-card{margin-top:var(--spacing-lg)}.analysis-card ul{color:var(--color-text-secondary);line-height:1.8;font-size:var(--font-size-sm);padding-left:20px;margin:0}.trending-section{margin-bottom:var(--spacing-xxl)}.chart-label-hour{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32px}.trending-note{font-size:10px;color:var(--color-text-tertiary);margin-top:var(--spacing-md);text-align:right}.dashboard-completed-section{margin-top:var(--spacing-xl)}.dashboard-list-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs)}.dashboard-list-title{margin:0;font-size:18px}.completed-task-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.completed-task-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-hover);border-radius:var(--radius-md);border:1px solid transparent}.completed-task-title{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.completed-task-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}@media (max-width: var(--breakpoint-mobile)){.stats-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.stat-card{padding:var(--spacing-md)}.stat-value{font-size:22px}.dashboard-card{padding:var(--spacing-md)}.chart-bars{height:180px}}
