@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";:root{--color-bg: #eceff1;--color-surface: #ffffff;--color-surface-solid: #ffffff;--color-surface-hover: #f8fafc;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-text-inverse: #ffffff;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-light: #eff6ff;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-danger: #ef4444;--color-danger-light: #fee2e2;--color-cat-work: #0078d7;--color-cat-health: #107c10;--color-cat-learning: #5c2d91;--color-cat-finance: #ffb900;--color-cat-relationship: #e81123;--color-cat-other: #00bcf2;--color-priority-a: #e81123;--color-priority-b: #ffb900;--color-priority-c: #737373;--font-family: "Segoe UI", "Inter", "Noto Sans JP", sans-serif;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--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-sm: 0px;--radius-md: 2px;--radius-lg: 4px;--radius-xl: 6px;--radius-full: 9999px;--shadow-inner-border: inset 0 0 0 1px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--shadow-focus: 0 0 0 3px rgba(37, 99, 235, .3);--transition-fast: .1s ease-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--sidebar-width: 250px;--sidebar-collapsed-width: 64px;--header-height: 60px}*,*: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-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.6}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);outline:none;transition:all var(--transition-base);background:var(--color-surface-solid);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}textarea{resize:vertical;min-height:80px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E6E73' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}ul,ol{list-style:none}a{text-decoration:none;color:var(--color-accent)}.app-layout{display:flex;min-height:100vh;background:var(--color-bg)}.sidebar{width:var(--sidebar-width);background:var(--color-surface-solid);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition-base)}.sidebar-logo{padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3)}.sidebar-logo img:first-child{width:40px;height:40px;object-fit:contain;flex-shrink:0}.sidebar-logo-text-img{height:28px;width:auto;object-fit:contain;flex-shrink:1;min-width:0}.sidebar-nav{flex:1;padding:0 var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);width:100%;text-align:left}.sidebar-nav-item svg{stroke-width:1.5px;opacity:.7;transition:opacity var(--transition-base),transform var(--transition-base)}.sidebar-nav-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar-nav-item:hover svg{opacity:1;transform:scale(1.05)}.sidebar-nav-item.active{background:var(--color-accent);color:#fff;font-weight:600}.sidebar-nav-item.active svg{opacity:1;color:#fff}.sidebar-nav-item.active:hover{background:var(--color-accent);opacity:.9}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.main-content{margin-left:var(--sidebar-width);flex:1;min-width:0;min-height:100vh}.sidebar-collapse-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.sidebar-collapse-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-layout.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.app-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.app-layout.sidebar-collapsed .sidebar-logo{padding:var(--space-4) 0;justify-content:center}.app-layout.sidebar-collapsed .sidebar-logo img:first-child,.app-layout.sidebar-collapsed .sidebar-logo-text-img,.app-layout.sidebar-collapsed .sidebar-nav-item span,.app-layout.sidebar-collapsed .sidebar-collapsed-hide{display:none}.app-layout.sidebar-collapsed .sidebar-nav{padding:0 var(--space-2) var(--space-4)}.app-layout.sidebar-collapsed .sidebar-nav-item{justify-content:center;padding:var(--space-2) 0;gap:0}.app-layout.sidebar-collapsed .sidebar-footer{padding:var(--space-3) var(--space-2)}.page{padding:var(--space-8) var(--space-10);width:100%;box-sizing:border-box}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.04em}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-1)}.tabular-nums{font-variant-numeric:tabular-nums}.card{background:var(--color-surface-solid);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);transition:all var(--transition-fast);white-space:nowrap;letter-spacing:.01em}.btn:active{transform:scale(.96)}.btn-primary{background:var(--color-accent);color:var(--color-surface-solid);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-surface-solid);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-danger{background:var(--color-surface-solid);color:var(--color-danger);box-shadow:var(--shadow-sm)}.btn-danger:hover{background:var(--color-danger-light)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;min-width:22px;height:20px}.badge-a{background:#ff3b301a;color:var(--color-priority-a)}.badge-b{background:#ff95001a;color:var(--color-priority-b)}.badge-c{background:#8e8e931a;color:var(--color-priority-c)}.badge-status-todo{background:var(--color-surface-hover);color:var(--color-text-secondary)}.badge-status-in-progress{background:var(--color-accent-light);color:var(--color-accent)}.badge-status-done{background:var(--color-success-light);color:var(--color-success)}.category-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.category-dot-work{background:var(--color-cat-work)}.category-dot-health{background:var(--color-cat-health)}.category-dot-learning{background:var(--color-cat-learning)}.category-dot-finance{background:var(--color-cat-finance)}.category-dot-relationship{background:var(--color-cat-relationship)}.category-dot-other{background:var(--color-cat-other)}.cal-cell .cal-add-btn{opacity:0;transition:opacity .15s}.cal-cell:hover .cal-add-btn{opacity:1}.mandala-picker{display:grid;grid-template-columns:repeat(3,22px);grid-template-rows:repeat(3,22px);gap:2px}.mandala-picker-cell{border-radius:3px;border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:background .12s,border-color .12s}.mandala-picker-cell:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.mandala-picker-cell.selected{background:var(--color-accent);border-color:var(--color-accent)}.mandala-picker-cell.center{background:var(--color-border-light);border-color:var(--color-border);cursor:default;opacity:.5}.mandala-picker-cell.occupied{background:var(--color-surface-hover);border-color:var(--color-border);cursor:not-allowed;opacity:.45;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,var(--color-border) 3px,var(--color-border) 4px)}.modal-overlay{position:fixed;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn var(--transition-base)}.modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);width:92%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-slow)}.modal-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-6);color:var(--color-text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.form-group{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.form-label{min-width:90px;flex-shrink:0;padding-top:4px;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-align:right;line-height:1.4}.form-input{flex:1;min-width:0;width:100%;padding-top:var(--space-1);padding-bottom:var(--space-1)}.grid{display:grid;gap:var(--space-5)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.progress-ring-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.progress-ring-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-align:center}.progress-ring-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.task-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);transition:background var(--transition-fast);border:1px solid transparent}.task-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-light)}.task-checkbox{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-checkbox:hover{border-color:var(--color-accent)}.task-checkbox.checked{background:var(--color-success);border-color:var(--color-success)}.task-checkbox.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.task-title{flex:1;font-size:var(--font-size-base);color:var(--color-text-primary)}.task-title.completed{text-decoration:line-through;color:var(--color-text-tertiary)}.calendar{width:100%}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.calendar-title{font-size:var(--font-size-lg);font-weight:600;display:inline-block;width:190px;text-align:center}.form-grid-2{display:grid;grid-template-columns:1fr 1fr}.label-grid{display:grid;grid-template-columns:9em 1fr;align-items:center}.main-side-grid{display:grid;grid-template-columns:1fr 300px;align-items:start}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.calendar-nav{display:flex;align-items:center;gap:var(--space-3)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.calendar-day-header{padding:var(--space-2);text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;background:var(--color-surface)}.calendar-day{min-height:80px;padding:var(--space-2);background:var(--color-surface);cursor:pointer;transition:background var(--transition-fast);min-width:0;overflow:hidden}.calendar-day:hover{background:var(--color-surface-hover)}.calendar-day.today{background:var(--color-accent-light)}.calendar-day.other-month{opacity:.3}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.calendar-day-number{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.week-view .calendar-day-number{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.calendar-day.today .calendar-day-number{color:var(--color-accent);font-weight:700}.calendar-task-dots{display:flex;gap:3px;flex-wrap:wrap}.calendar-task-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-accent)}.calendar-task-dot.done{background:var(--color-success)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--font-size-sm)}.breadcrumb-item{color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.breadcrumb-item:hover{color:var(--color-accent)}.breadcrumb-separator{color:var(--color-text-tertiary)}.breadcrumb-current{color:var(--color-text-primary);font-weight:500}.empty-state{text-align:center;padding:var(--space-12) var(--space-8);color:var(--color-text-tertiary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--font-size-sm);margin-bottom:var(--space-5)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tyc-grid{display:grid;grid-template-columns:80px repeat(12,minmax(60px,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);min-width:fit-content}.tyc-year-head,.tyc-year-label{position:sticky;left:0;box-shadow:1px 0 0 var(--color-border)}.tyc-year-head{z-index:3}.tyc-year-label{z-index:2}.tyc-add-from-panel{width:100%;margin-top:var(--space-4);min-height:44px}.mobile-bottom-nav{display:none}@media(max-width:768px){.sidebar{width:260px;transform:translate(-100%);transition:transform var(--transition-slow)}.sidebar.open{transform:translate(0);width:260px}.main-content{margin-left:0}.app-layout.sidebar-collapsed .sidebar,.app-layout.sidebar-collapsed .sidebar.open{width:260px}.app-layout.sidebar-collapsed .main-content{margin-left:0}.app-layout.sidebar-collapsed .sidebar-logo{padding:var(--space-4) var(--space-5);justify-content:flex-start}.app-layout.sidebar-collapsed .sidebar-logo img:first-child,.app-layout.sidebar-collapsed .sidebar-logo-text-img,.app-layout.sidebar-collapsed .sidebar-nav-item span,.app-layout.sidebar-collapsed .sidebar-collapsed-hide{display:initial}.app-layout.sidebar-collapsed .sidebar-nav-item{justify-content:flex-start;padding:var(--space-2) var(--space-3);gap:var(--space-3)}.mobile-menu-btn{display:none!important}.page{padding:var(--space-4) var(--space-4) calc(80px + env(safe-area-inset-bottom,0px))}.card{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:var(--space-4);border-radius:0;box-shadow:none;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.card:hover{box-shadow:none}.settings-section-toggle{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));width:calc(100% + var(--space-4) * 2)!important;border-radius:0!important;border-left:none!important;border-right:none!important;min-height:52px}.grid .card,.mandala-grid .card{margin-left:0;margin-right:0;border:1px solid var(--color-border);border-radius:var(--radius-md)}.mandala-grid{gap:var(--space-1)!important}.mandala-grid .card{padding:var(--space-2) var(--space-1);min-height:0!important;aspect-ratio:1 / 1;overflow:hidden}.mandala-grid .mandala-sub{display:none!important}.mandala-grid .mandala-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.3}.mandala-grid .btn-icon{min-width:0;min-height:0}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--color-surface-solid);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--space-2) 0;background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap}.mobile-bottom-nav-item>svg{padding:3px 16px;border-radius:999px;box-sizing:content-box;transition:background var(--transition-fast),color var(--transition-fast)}.mobile-bottom-nav-item.active{color:var(--color-accent)}.mobile-bottom-nav-item.active>svg{background:var(--color-accent-light)}.mobile-bottom-nav-item:disabled{opacity:.35;cursor:not-allowed}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.dashboard-stats .card{flex-direction:column!important;align-items:center!important;gap:var(--space-2)!important;text-align:center;padding:var(--space-3)}.dashboard-stats .card{padding:var(--space-3) var(--space-1)}.dashboard-stats .card div:last-child{font-size:10px;line-height:1.3;letter-spacing:0}.grid.dashboard-goals{gap:0!important;margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4))}.dashboard-goals .card{display:flex;align-items:center;gap:var(--space-4);text-align:left!important;margin-left:0;margin-right:0;border:none;border-bottom:1px solid var(--color-border);border-radius:0}.dashboard-goals .progress-ring-container{flex-shrink:0}.dashboard-goal-text{min-width:0}.dashboard-goal-text>div{margin-top:0!important;justify-content:flex-start!important}.dashboard-goal-text>div+div{margin-top:var(--space-1)!important}.mobile-menu-btn{display:flex}.sidebar-nav-item{min-height:44px}.sidebar-collapse-btn{display:none}.form-input{font-size:16px;min-height:44px}.mobile-menu-btn,.btn-icon{min-width:44px;min-height:44px}.tyc-grid{grid-template-columns:52px repeat(12,minmax(64px,1fr))}.tyc-chip-icon{display:none}.dp-task-title{white-space:normal!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.25}.refs-reflist{flex-shrink:1!important;min-width:0;overflow:hidden}.refs-reftext{display:block;overflow:hidden;text-overflow:ellipsis}.cal-add-btn{display:none!important}.page-header{margin-bottom:var(--space-5);flex-direction:column;align-items:stretch!important;gap:var(--space-3)}.page-header>.btn{width:100%;min-height:44px}.stack-on-mobile{flex-direction:column;gap:var(--space-5)}.stack-on-mobile>.column-divider,.stack-on-mobile>.column-spacer{display:none}.calendar-header{flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.calendar-nav{flex-wrap:wrap;gap:var(--space-2)}.calendar-title{width:auto;font-size:var(--font-size-base)}.calendar-day{min-height:58px;padding:4px 3px}.calendar-day-header{padding:4px 2px}.calendar-day-number{font-size:var(--font-size-xs);margin-bottom:2px}.calendar-task-dot{width:6px;height:6px}.week-view .calendar-day{min-height:96px}.task-item{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.task-item .task-title{flex:1 1 60%;min-width:0;font-size:var(--font-size-sm)}.task-meta{flex:0 0 auto}.form-grid-2,.main-side-grid{grid-template-columns:1fr}.label-grid{grid-template-columns:1fr;align-items:stretch;gap:var(--space-1)!important}.btn,.btn-sm{min-height:44px}.modal{width:100%;max-width:100%;max-height:92vh;padding:var(--space-4)}.modal-overlay{padding:var(--space-2)}}@media(min-width:769px){.mobile-menu-btn,.mobile-overlay{display:none}}.gantt-sidebar-header{height:60px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--space-3);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg)}.gantt-item{height:36px;display:flex;align-items:center;padding:0 var(--space-3);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid rgba(0,0,0,.04)}.gantt-item-goal{font-weight:700;background-color:#00000005;color:var(--color-text-primary)}.gantt-item-project{font-weight:600;background:var(--color-surface-hover);-webkit-user-select:none;user-select:none}.gantt-item-project:hover{background:var(--color-border-light)}.gantt-item-task{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.gantt-item-task-done{color:var(--color-text-tertiary)}.gantt-timeline-cell{padding:4px 0;text-align:center;border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;justify-content:center}.gantt-month-row{grid-row:1;border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;padding-left:var(--space-2);font-size:11px;color:var(--color-text-secondary);font-weight:600;background:var(--color-surface-hover)}.gantt-cell-sat{color:#2563eb}.gantt-cell-sun{color:#ef4444}.gantt-cell-today{color:var(--color-accent);font-weight:700}.gantt-grid-line{border-right:1px dashed var(--color-border-light);pointer-events:none}.gantt-grid-today{border-right:2px solid var(--color-accent)}.gantt-cell-month-start,.gantt-grid-month-start{border-left:2px solid var(--color-border)}.gantt-bar{height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 var(--space-2);font-size:10px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-sm)}.gantt-bar-project{background-color:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.gantt-bar-todo{background-color:#1e40af}.gantt-bar-in-progress{background-color:#3b82f6}.gantt-bar-pending{background-color:#93c5fd;color:#1e3a5f;border:1px solid #60a5fa}.gantt-bar-overdue{background-color:#991b1b!important;color:#fff!important}.gantt-bar-done{background-color:#dbeafe;color:#64748b}.gantt-milestone{color:#f59e0b;font-size:18px;line-height:1;text-shadow:0 0 2px rgba(0,0,0,.2);cursor:help}.gantt-legend-item{display:inline-flex;align-items:center;gap:var(--space-1);margin-right:var(--space-4)}.gantt-legend-item .gantt-bar{width:24px;height:12px;font-size:0}
