@charset "UTF-8";.priority-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:inherit}.priority-icon__svg{display:block;width:100%;height:100%}.gantt-chart{--gantt-sidebar-width: 250px;position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-background)}.gantt-chart--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);min-height:400px;padding:var(--spacing-lg)}.gantt-chart__empty-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);text-align:center;max-width:28rem;margin:0}.gantt-chart__empty-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--spacing-sm)}.gantt-chart__empty-action-btn{height:32px;padding:0 14px;border:none;border-radius:var(--radius-sm);background-color:#007aff1f;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}.gantt-chart__empty-action-btn:hover{background-color:#007aff2e}.gantt-chart__add-task-button{margin-left:auto;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;color:var(--color-primary);background:none;border:none;line-height:1;cursor:pointer;align-self:center;transform:translateY(-2px)}.gantt-chart__add-task-button:hover{color:#fff}.gantt-chart__container{display:flex;flex:1;overflow-y:auto;overflow-x:hidden;position:relative;overscroll-behavior:none;background:linear-gradient(to right,var(--color-surface) 0,var(--color-surface) var(--gantt-sidebar-width),var(--color-border) var(--gantt-sidebar-width),var(--color-border) calc(var(--gantt-sidebar-width) + 1px),var(--color-background) calc(var(--gantt-sidebar-width) + 1px),var(--color-background) 100%)}.gantt-chart__sidebar{flex-shrink:0;width:var(--gantt-sidebar-width);background-color:var(--color-surface);overflow:visible;position:sticky;left:0;z-index:120;align-self:stretch;min-height:100%}.gantt-chart__header-cell{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border);box-shadow:1px 0 0 var(--color-border);position:sticky;top:0;left:0;z-index:130;height:39px;box-sizing:border-box;display:flex;align-items:center;gap:var(--spacing-sm)}.gantt-chart__header-cell--with-switch{flex-wrap:wrap}.gantt-chart__header-cell-title{flex-shrink:0}.gantt-chart__task-view-switch{display:flex;align-items:center;gap:2px;margin-left:0}.gantt-chart__header-add-entity-btn{margin-left:auto;height:26px;padding:0 12px;border:none;border-radius:var(--radius-sm);background-color:#007aff1f;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;white-space:nowrap}.gantt-chart__header-add-entity-btn:hover{background-color:#007aff2e}.gantt-chart__task-view-btn{padding:var(--spacing-xs);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.gantt-chart__task-view-btn:hover{color:var(--color-text-primary);background-color:var(--color-background-tertiary)}.gantt-chart__task-view-btn--active{color:var(--color-primary);background-color:#007aff1f}.gantt-chart__project-label{position:relative;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;width:100%;box-sizing:border-box;background-color:var(--color-background-secondary);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);height:36px}.gantt-chart__project-title-wrap{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center}.gantt-chart__project-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-chart__project-label--collapsible{cursor:default}.gantt-chart__project-collapse-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);padding:var(--spacing-xs);border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer}.gantt-chart__project-collapse-icon svg{width:16px;height:16px}.gantt-chart__project-collapse-icon:hover{background-color:#007aff1f;color:var(--color-primary)}.gantt-chart__project-collapse-icon:focus{outline:2px solid rgba(0,122,255,.4);outline-offset:2px}.gantt-chart__project-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:0}.gantt-chart__project-add-task-btn{flex-shrink:0;border:none;background:transparent;padding:var(--spacing-xs);margin-right:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-sm)}.gantt-chart__project-add-task-btn:hover{background-color:#007aff1f;color:var(--color-primary)}.gantt-chart__project-add-task-btn:focus{outline:2px solid rgba(0,122,255,.4);outline-offset:2px;border-radius:var(--radius-sm)}.gantt-chart__project-add-task-btn svg{width:16px;height:16px}.gantt-chart__project-edit-btn{position:absolute;right:-5px;top:50%;transform:translateY(-50%);z-index:2;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px) saturate(150%);backdrop-filter:blur(10px) saturate(150%);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease,background-color .15s ease}.gantt-chart__project-edit-btn:hover{color:var(--color-primary);background-color:#007aff38;-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}.gantt-chart__project-edit-btn:focus-visible{opacity:1;pointer-events:auto;outline:2px solid rgba(0,122,255,.35);outline-offset:1px}.gantt-chart__project-label:hover .gantt-chart__project-edit-btn,.gantt-chart__project-label:focus-within .gantt-chart__project-edit-btn,.gantt-chart__project-title-wrap:focus-within .gantt-chart__project-edit-btn{opacity:1;pointer-events:auto}.gantt-chart__project-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.gantt-chart__project-indicator svg{width:16px;height:16px}.gantt-chart__task-label{padding:var(--spacing-sm);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;border-bottom:1px solid var(--color-border);height:51px;cursor:move;position:relative;box-sizing:border-box}.gantt-chart__task-label[draggable=true]:hover{background-color:var(--color-background-secondary)}.gantt-chart__task-label--dragging{opacity:.4;background-color:var(--color-background-tertiary)}.gantt-chart__task-label--drop-target{background-color:#007aff1a;border-top:2px solid var(--color-primary)}.gantt-chart__task-edit-btn{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);z-index:2;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px) saturate(150%);backdrop-filter:blur(10px) saturate(150%);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease,background-color .15s ease}.gantt-chart__task-edit-btn:hover{color:var(--color-primary);background-color:#007aff38;-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}.gantt-chart__task-edit-btn:focus-visible{opacity:1;pointer-events:auto;outline:2px solid rgba(0,122,255,.35);outline-offset:1px}.gantt-chart__task-label:hover .gantt-chart__task-edit-btn,.gantt-chart__task-label:focus-within .gantt-chart__task-edit-btn{opacity:1;pointer-events:auto}.gantt-chart__add-task-row-label{width:100%;height:36px;padding:0 var(--spacing-sm);border:none;border-bottom:1px solid var(--color-border);background-color:transparent;color:var(--color-text-tertiary, rgba(142, 142, 147, .8));font-size:var(--font-size-sm);font-weight:500;letter-spacing:normal;text-transform:none;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm)}.gantt-chart__add-task-row-label svg{width:16px;height:16px;flex-shrink:0}.gantt-chart__add-task-row-label:hover{background-color:#007aff47;color:var(--color-primary)}.gantt-chart__task-drag-handle{font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;line-height:1;padding:var(--spacing-xs);margin-left:calc(var(--spacing-xs) * -1);flex-shrink:0;border-radius:var(--radius-sm);transition:color .15s ease,background-color .15s ease}.gantt-chart__task-drag-handle:hover{color:var(--color-text-primary);background-color:var(--color-background-secondary)}.gantt-chart__task-drag-handle:active{cursor:grabbing;background-color:var(--color-background-tertiary)}.gantt-chart__task-content{flex:1;display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden}.gantt-chart__task-header{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.gantt-chart__task-title-wrap{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center}.gantt-chart__task-name{color:var(--color-text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.gantt-chart__task-meta{margin-left:calc(16px + var(--spacing-sm));min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:500}.gantt-chart__priority{font-size:11px;flex-shrink:0}.gantt-chart__timeline{flex:1;min-width:0;position:relative;overflow:visible}.gantt-chart__timeline-scroll{overflow-x:auto;overflow-y:hidden;position:relative;cursor:grab;min-width:0;overscroll-behavior-x:none;overscroll-behavior-y:none}.gantt-chart__timeline-scroll:active{cursor:grabbing}.gantt-chart__toolbar{display:none}.gantt-chart__header{position:sticky;top:0;z-index:125;background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border);width:100%;overflow-x:hidden;overflow-y:visible}.gantt-chart__header-row{display:flex;min-width:fit-content;width:max-content;position:relative;will-change:transform}.gantt-chart__header-milestones{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.gantt-chart__header-column{flex-shrink:0;flex-grow:0;padding:var(--spacing-xs) 0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-align:center;border-right:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.02em;height:38px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.gantt-chart__header-day{font-size:10px;font-weight:500;color:var(--color-text-tertiary, rgba(142, 142, 147, .8));letter-spacing:.01em;line-height:1.2}.gantt-chart__header-label{line-height:1.2}.gantt-chart__header-column--clickable{cursor:pointer}.gantt-chart__header-column--clickable:hover,.gantt-chart__header-column--clickable:active{background-color:#007aff47;color:var(--color-primary)}.gantt-chart__header-column--today .gantt-chart__header-day{color:var(--color-danger);font-weight:700}.gantt-chart__header-column--today .gantt-chart__header-label{color:var(--color-text-secondary)}.gantt-chart__grid{position:relative;min-width:100%;width:max-content}.gantt-chart__milestone-line{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed;border-right:1px dashed;z-index:1;pointer-events:none}.gantt-chart__milestone-label{position:absolute;top:auto;bottom:0;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:-.02em;opacity:1;pointer-events:auto;z-index:21;max-width:160px;overflow:hidden;text-overflow:ellipsis}.gantt-chart__milestone-label--clickable{cursor:pointer}.gantt-chart__project-row{min-width:100%;width:max-content}.gantt-chart__row{position:relative;display:flex;height:51px;border-bottom:1px solid var(--color-border);box-sizing:border-box;min-width:100%;width:max-content}.gantt-chart__row--project{height:36px;background-color:var(--color-background-secondary)}.gantt-chart__row--add-task{height:36px}.gantt-chart__grid-cell{flex-shrink:0;flex-grow:0;border-right:1px solid var(--color-border);box-sizing:border-box}.gantt-chart__grid-cell--add-task{border:none;border-right:1px solid var(--color-border);background-color:transparent;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color .15s ease,color .15s ease;cursor:pointer}.gantt-chart__grid-cell--add-task svg{opacity:0;transition:opacity .15s ease}.gantt-chart__grid-cell--add-task:hover{background-color:#007aff47;color:var(--color-primary)}.gantt-chart__grid-cell--add-task:hover svg{opacity:1}.gantt-chart__grid-cell--add-task:focus-visible{outline:2px solid rgba(0,122,255,.35);outline-offset:-2px}.gantt-chart__grid-cell--add-task:focus-visible svg{opacity:1}.gantt-chart__grid-cell--add-task:active,.gantt-chart__grid-cell--add-task-selected,.gantt-chart__grid-cell--add-task-cursor{background-color:#007aff47}.gantt-chart__grid-cell--add-task-cursor svg{opacity:1}.gantt-chart__bar{position:absolute;top:50%;transform:translateY(-50%);height:32px;border-radius:var(--radius-md);display:flex;align-items:center;overflow:hidden;opacity:.9;z-index:50}.gantt-chart__bar:hover{opacity:1}.gantt-chart__bar--dragging{opacity:1;z-index:100;cursor:grabbing!important}.gantt-chart__bar-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2;opacity:0}.gantt-chart__bar-handle:hover{opacity:1}.gantt-chart__bar-handle--start{left:0;background:linear-gradient(to right,rgba(255,255,255,.5),transparent);border-radius:var(--radius-md) 0 0 var(--radius-md)}.gantt-chart__bar-handle--end{right:0;background:linear-gradient(to left,rgba(255,255,255,.5),transparent);border-radius:0 var(--radius-md) var(--radius-md) 0}.gantt-chart__bar:hover .gantt-chart__bar-handle{opacity:.8}.gantt-chart__bar-content{flex:1;display:flex;align-items:center;padding:0 var(--spacing-sm);cursor:grab;position:relative;z-index:1;height:100%}.gantt-chart__bar-content:active{cursor:grabbing}.gantt-chart__bar-progress{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,.1));border-right:2px solid rgba(255,255,255,.5);border-radius:var(--radius-md) 0 0 var(--radius-md);pointer-events:none;z-index:0;transition:width var(--transition-base)}.gantt-chart__bar-progress-handle{position:absolute;top:0;bottom:0;width:10px;transform:translate(-50%);cursor:ew-resize;z-index:3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.gantt-chart__bar-progress-handle:after{content:"";width:2px;height:60%;background:rgba(255,255,255,.8);border-radius:1px;box-shadow:0 0 0 1px #00000026}.gantt-chart__bar-progress-handle:hover:after{height:80%;background:rgb(255,255,255)}.gantt-chart__bar:hover .gantt-chart__bar-progress-handle,.gantt-chart__bar--dragging .gantt-chart__bar-progress-handle{opacity:1}.gantt-chart__bar-label{position:relative;z-index:1;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--spacing-xs)}.gantt-chart__bar-progress-text{font-size:10px;opacity:.9;font-weight:700}.gantt-chart__context-menu{position:fixed;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);min-width:160px;z-index:1000;animation:fadeIn var(--transition-fast)}.gantt-chart__context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:var(--font-size-base);color:var(--color-text-primary);background:transparent;border-radius:var(--radius-md)}.gantt-chart__context-menu-item:hover{background-color:var(--color-background-secondary)}.gantt-chart__context-menu-item--danger{color:var(--color-danger)}@media (max-width: 768px){.gantt-chart{--gantt-sidebar-width: 150px}.gantt-chart__sidebar{width:var(--gantt-sidebar-width)}.gantt-chart__task-label{padding:var(--spacing-sm);font-size:var(--font-size-xs);height:45px}.gantt-chart__task-edit-btn{opacity:1;pointer-events:auto}.gantt-chart__add-task-row-label{height:32px}.gantt-chart__task-drag-handle{font-size:var(--font-size-xs)}.gantt-chart__project-label{padding:var(--spacing-sm);font-size:var(--font-size-sm);height:45px}.gantt-chart__project-edit-btn{opacity:1;pointer-events:auto}.gantt-chart__row{height:45px}.gantt-chart__row--add-task{height:32px}.gantt-chart__bar{height:28px}.gantt-chart__bar-handle{width:12px;opacity:1}.gantt-chart__bar-label{font-size:10px;gap:2px}.gantt-chart__bar-progress-text{font-size:9px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-overlay--light{background-color:#00000073}.modal-overlay--animate{animation:modalOverlayFadeIn var(--transition-base)}@media (max-width: 768px){.modal-overlay--mobile-sheet{padding:0;align-items:flex-end}}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--radius-xl);box-sizing:border-box}.modal--animate{animation:modalPanelSlideUp var(--transition-base)}.modal--dark{background:var(--modal-glass-bg);backdrop-filter:blur(var(--modal-glass-blur)) saturate(var(--modal-glass-saturate));-webkit-backdrop-filter:blur(var(--modal-glass-blur)) saturate(var(--modal-glass-saturate));border:1px solid var(--modal-glass-border);box-shadow:var(--modal-glass-shadow);color:var(--color-text-primary)}.modal--light{background:var(--modal-glass-bg-light);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid var(--modal-glass-border-light);box-shadow:var(--modal-glass-shadow-light)}@media (max-width: 768px){.modal--mobile-sheet{max-width:100%!important;max-height:95vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}@keyframes modalPanelSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal__header{flex-shrink:0;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);background-color:transparent}.modal__header--compact{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-lg)}@media (max-width: 768px){.modal__header--compact{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-md) var(--spacing-md)}}.modal__header--light-gradient{padding:1rem .75rem 1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(102,126,234,.82) 0%,rgba(118,75,162,.82) 100%);color:#fff}@media (max-width: 768px){.modal__header--light-gradient{padding:1rem .65rem 1rem 1rem}}.modal__title{margin:0;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-primary);line-height:1.2}.modal__title--on-gradient{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.modal__close{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);background-color:transparent}.modal__close:hover{background-color:transparent;color:var(--color-primary)}.modal__close--compact{width:28px;height:28px}.modal__close--on-gradient{width:auto;height:auto;min-width:40px;min-height:40px;border-radius:6px;background:transparent;color:#ffffffeb}.modal__close--on-gradient:hover{background:transparent;color:var(--color-primary)}.modal__body{flex:1;min-height:0;overflow-y:auto}.modal--light .modal__body{padding:0 1.5rem}@media (max-width: 768px){.modal--light .modal__body{padding:0 1rem}}.modal__footer{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom);background-color:transparent}.modal__footer--start{justify-content:flex-start}.modal--light .modal__footer{padding:1.25rem 1.5rem 1.375rem;border-top:1px solid rgba(0,0,0,.08)}@media (max-width: 768px){.modal--light .modal__footer{padding:1.25rem 1rem 1.35rem}}.color-picker{position:relative;display:flex;align-items:stretch}.color-picker__trigger{width:44px;height:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-form-field-fill);cursor:pointer;padding:8px;flex-shrink:0;transition:border-color .12s ease;outline:none;display:flex;align-items:center;justify-content:center}.color-picker__trigger:after{content:"";display:block;width:100%;height:100%;border-radius:calc(var(--radius-md) - 3px);background-color:var(--trigger-color, #007aff)}.color-picker__trigger:hover{border-color:var(--color-primary)}.color-picker__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.color-picker__popup{z-index:1200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px;box-shadow:0 8px 32px #00000073;animation:cp-pop .15s ease both}.color-picker__divider{height:1px;background:var(--color-border);margin:8px 0}.color-picker__swatches{display:grid;grid-template-columns:repeat(6,28px);gap:6px}.color-picker__swatch{position:relative;width:28px;height:28px;border-radius:50%;border:2px solid transparent;background-color:var(--swatch-color);cursor:pointer;padding:0;flex-shrink:0;transition:transform .12s ease,border-color .12s ease;outline:none}.color-picker__swatch:hover{transform:scale(1.15);border-color:#fff6}.color-picker__swatch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.color-picker__swatch--active{border-color:#ffffffe6!important;transform:scale(1.1)}.color-picker__swatch--active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/13px 13px no-repeat;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.color-picker__swatch--custom{background-color:var(--swatch-color, transparent);border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center}.color-picker__swatch--custom:hover{border-color:var(--color-primary)}.color-picker__swatch--custom.color-picker__swatch--active{border-style:solid;border-color:#ffffffe6!important}.color-picker__custom-icon{font-size:15px;line-height:1;color:var(--color-text-tertiary);pointer-events:none}.color-picker__hidden-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}@keyframes cp-pop{0%{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.task-modal{--leading-icon-size: 16px;--leading-icon-inset: 10px;--leading-icon-gap-after: var(--spacing-xs)}.task-modal__form{flex:1;min-height:0;display:flex;flex-direction:column}.task-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg)}.task-modal__form-body>*:last-child{margin-bottom:var(--spacing-sm)}.task-modal__field{margin-bottom:var(--spacing-md)}.task-modal__field:last-child{margin-bottom:0}.task-modal__field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.task-modal__field-group .task-modal__field{margin-bottom:0}.task-modal__field-group--title-row{grid-template-columns:1fr auto;align-items:stretch}.task-modal__field-group--progress{grid-template-columns:1fr}.task-modal__label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.task-modal__label-optional{font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}.task-modal__input-wrap{position:relative;width:100%}.task-modal__input-wrap:has(select:disabled) .task-modal__input-icon,.task-modal__input-wrap:has(input:disabled) .task-modal__input-icon{opacity:.45}.task-modal__input-icon{position:absolute;left:var(--leading-icon-inset);top:50%;width:var(--leading-icon-size);height:var(--leading-icon-size);transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:1;stroke-width:2}.task-modal__checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.task-modal__checkbox-label span{font-weight:500}.task-modal__checkbox{width:20px;height:20px;cursor:pointer}.task-modal__input--color{height:44px;padding:3px;cursor:pointer;width:48px;min-width:48px}.task-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md)}.task-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}.task-modal__input::placeholder{color:var(--color-text-tertiary)}.task-modal__input--primary{font-size:var(--font-size-lg);font-weight:600;padding:calc(var(--spacing-sm) + 2px) var(--spacing-md)}.task-modal__input--with-leading-icon{padding-left:calc(var(--leading-icon-inset) + var(--leading-icon-size) + var(--leading-icon-gap-after))}.task-modal__input--date{min-height:42px;cursor:pointer}.task-modal__input--date::-webkit-date-and-time-value{text-align:left}.task-modal__input--date::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.task-modal__input--date::-moz-calendar-picker-indicator{display:none}.task-modal__field--color-inline{display:flex;flex-direction:column;align-items:flex-start}.task-modal__field--color-inline .color-picker{flex:1}.task-modal__date-meta{margin-top:calc(var(--spacing-xs) * -1);margin-bottom:var(--spacing-sm)}.task-modal__date-error{font-size:var(--font-size-sm);color:var(--color-danger);font-weight:600}.task-modal__slider-row{display:flex;align-items:center;gap:var(--spacing-sm)}.task-modal__slider{flex:1;accent-color:var(--color-primary)}.task-modal__slider-value{min-width:42px;text-align:right;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600}.task-modal__actions{flex-shrink:0;display:flex;gap:var(--spacing-sm);margin-top:0;padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom);background-color:transparent}.task-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);background-color:var(--color-background-secondary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.task-modal__button:hover{background-color:var(--color-background-tertiary)}.task-modal__button--primary{background-color:var(--color-primary);color:#fff}.task-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.task-modal__button--danger{background-color:var(--color-danger);color:#fff}.task-modal__button--danger:hover{opacity:.9;background-color:var(--color-danger)}.task-modal__button-icon{stroke-width:2;flex-shrink:0}@media (max-width: 768px){.task-modal__field-group{grid-template-columns:1fr}.task-modal__form-body{padding:0 var(--spacing-md)}.task-modal__actions{padding:var(--modal-footer-pad-y) var(--spacing-md) var(--modal-footer-pad-bottom)}}.milestone-modal{--leading-icon-size: 16px;--leading-icon-inset: 10px;--leading-icon-gap-after: var(--spacing-xs)}.milestone-modal__form{flex:1;min-height:0;display:flex;flex-direction:column}.milestone-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg)}.milestone-modal__form-body>*:last-child{margin-bottom:var(--spacing-sm)}.milestone-modal__field{margin-bottom:var(--spacing-md)}.milestone-modal__field:last-child{margin-bottom:0}.milestone-modal__field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.milestone-modal__field-group .milestone-modal__field{margin-bottom:0}.milestone-modal__field-group--title-row{grid-template-columns:1fr auto;align-items:stretch}.milestone-modal__field-group--date-only{grid-template-columns:1fr}.milestone-modal__label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.milestone-modal__input-wrap{position:relative;width:100%}.milestone-modal__input-icon{position:absolute;left:var(--leading-icon-inset);top:50%;width:var(--leading-icon-size);height:var(--leading-icon-size);transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:1;stroke-width:2}.milestone-modal__input--color{height:44px;padding:3px;cursor:pointer;width:48px;min-width:48px}.milestone-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md)}.milestone-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}.milestone-modal__input::placeholder{color:var(--color-text-tertiary)}.milestone-modal__input--primary{font-size:var(--font-size-lg);font-weight:600;padding:calc(var(--spacing-sm) + 2px) var(--spacing-md)}.milestone-modal__input--with-leading-icon{padding-left:calc(var(--leading-icon-inset) + var(--leading-icon-size) + var(--leading-icon-gap-after))}.milestone-modal__input--date{min-height:42px;cursor:pointer}.milestone-modal__input--date::-webkit-date-and-time-value{text-align:left}.milestone-modal__input--date::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.milestone-modal__input--date::-moz-calendar-picker-indicator{display:none}.milestone-modal__field--color-inline{display:flex;flex-direction:column;align-items:flex-start}.milestone-modal__field--color-inline .color-picker{flex:1}.milestone-modal__actions{flex-shrink:0;display:flex;gap:var(--spacing-sm);margin-top:0;padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom);background-color:transparent}.milestone-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);background-color:var(--color-background-secondary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.milestone-modal__button:hover{background-color:var(--color-background-tertiary)}.milestone-modal__button--primary{background-color:var(--color-primary);color:#fff}.milestone-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.milestone-modal__button--danger{background-color:var(--color-danger);color:#fff}.milestone-modal__button--danger:hover{opacity:.9;background-color:var(--color-danger)}.milestone-modal__button-icon{stroke-width:2;flex-shrink:0}@media (max-width: 768px){.milestone-modal__field-group{grid-template-columns:1fr}.milestone-modal__form-body{padding:0 var(--spacing-md)}.milestone-modal__actions{padding:var(--modal-footer-pad-y) var(--spacing-md) var(--modal-footer-pad-bottom)}}.help-modal__shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.help-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg) var(--modal-footer-pad-bottom)}.help-modal__form-body>*:last-child{margin-bottom:var(--spacing-sm)}@media (max-width: 768px){.help-modal__form-body{padding:0 var(--spacing-md) var(--modal-footer-pad-bottom)}}.help-modal__section{margin-bottom:var(--spacing-lg)}.help-modal__section:last-child{margin-bottom:0}.help-modal__cta-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.help-modal__tour-btn{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,rgba(0,122,255,.15) 0%,rgba(88,86,214,.12) 100%);border:1px solid rgba(0,122,255,.3);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.help-modal__tour-btn:hover{border-color:#007aff99;background:linear-gradient(135deg,rgba(0,122,255,.22) 0%,rgba(88,86,214,.18) 100%)}.help-modal__tour-btn:hover .help-modal__tour-btn-arrow{transform:translate(3px)}.help-modal__tour-btn-emoji{font-size:1.6rem;line-height:1;flex-shrink:0}.help-modal__tour-btn-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.help-modal__tour-btn-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);line-height:1.3}.help-modal__tour-btn-sub{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.help-modal__tour-btn-arrow{font-size:var(--font-size-lg);color:var(--color-primary);flex-shrink:0;transition:transform .15s ease}.help-modal__feedback-btn{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,rgba(67,160,71,.13) 0%,rgba(0,172,193,.1) 100%);border:1px solid rgba(67,160,71,.28);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.help-modal__feedback-btn:hover{border-color:#43a0478c;background:linear-gradient(135deg,rgba(67,160,71,.2) 0%,rgba(0,172,193,.16) 100%)}.help-modal__feedback-btn:hover .help-modal__tour-btn-arrow{transform:translate(3px)}.help-modal__feedback-btn .help-modal__tour-btn-arrow{color:#43a047}.help-modal__section-heading{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);letter-spacing:.02em}.help-modal__text{margin:0 0 var(--spacing-md);line-height:1.6;color:var(--color-text-secondary);font-size:var(--font-size-base)}.help-modal__text:last-child{margin-bottom:0}.help-modal__faq{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-form-field-fill);margin-bottom:var(--spacing-sm);overflow:hidden}.help-modal__faq:last-of-type{margin-bottom:0}.help-modal__faq[open] .help-modal__faq-title:after{content:"–"}.help-modal__faq-title{list-style:none;cursor:pointer;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.help-modal__faq-title::-webkit-details-marker{display:none}.help-modal__faq-title:after{content:"+";color:var(--color-primary);font-size:var(--font-size-lg);line-height:1;font-weight:600}.help-modal__faq-content{padding:0 var(--spacing-md) var(--spacing-md)}.help-modal__list{margin:0;padding-left:1.5rem;list-style:none}.help-modal__list.help-modal__list--priority{padding-left:0;margin-bottom:1rem}.help-modal__list.help-modal__list--priority li{display:flex;align-items:center;gap:var(--spacing-sm)}.help-modal__list.help-modal__list--priority li:before{display:none}.help-modal__list.help-modal__list--priority li .priority-icon{flex-shrink:0}.help-modal__list li{margin-bottom:var(--spacing-sm);line-height:1.6;color:var(--color-text-secondary);font-size:var(--font-size-base);position:relative}.help-modal__list li:before{content:"→";position:absolute;left:-1.5rem;color:var(--color-primary);font-weight:700}.help-modal__list li:last-child{margin-bottom:0}.help-modal__list li strong{color:var(--color-text-primary);font-weight:600}.help-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);background-color:var(--color-background-secondary);color:var(--color-text-primary)}.help-modal__button:hover{background-color:var(--color-background-tertiary)}.help-modal__button--primary{background-color:var(--color-primary);color:#fff}.help-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.help-modal__button--sample{flex:0 0 auto;white-space:nowrap}@media (max-width: 768px){.help-modal{max-height:90vh}}.welcome-modal .modal__panel{max-width:480px!important}.welcome-modal .modal__header{justify-content:center;padding-bottom:0;border-bottom:none}.welcome-modal .modal__title{text-transform:none}.welcome-modal__header{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;width:100%}.welcome-modal__logo{display:block;width:3.5rem;height:3.5rem;border-radius:22%;box-shadow:0 2px 12px #0000001a;margin-bottom:var(--spacing-lg)}.welcome-modal__title{font-size:var(--font-size-base);font-weight:400;color:var(--color-text-secondary);line-height:1.4;margin-bottom:.2rem}.welcome-modal__question{font-size:var(--font-size-lg, 1.125rem);font-weight:700;color:var(--color-text-primary);line-height:1.2;text-transform:none}.welcome-modal__body{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);text-align:center}.welcome-modal__samples{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);width:100%}.welcome-modal__sample-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background-color:var(--color-background-secondary);color:var(--color-text-primary);text-align:center;transition:background-color .15s ease,border-color .15s ease;line-height:1.4}.welcome-modal__sample-btn:hover{background-color:var(--color-background-tertiary);border-color:var(--color-primary)}.welcome-modal__divider{display:flex;align-items:center;width:100%;gap:var(--spacing-sm);color:var(--color-text-tertiary, var(--color-text-secondary));font-size:var(--font-size-sm)}.welcome-modal__divider:before,.welcome-modal__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.welcome-modal__new-btn{width:100%;padding:.75rem var(--spacing-lg);font-size:var(--font-size-base);font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;background-color:var(--color-primary);color:#fff;letter-spacing:.01em;transition:opacity .15s ease}.welcome-modal__new-btn:hover{opacity:.88}.welcome-modal__new-btn:active{opacity:.75}@media (max-width: 480px){.welcome-modal__samples{grid-template-columns:1fr}.welcome-modal__body{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg)}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none}.tour__overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:all;display:block}.tour__spotlight{position:fixed;border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:0 0 0 3px #007aff38;pointer-events:none;z-index:9001}.tour__center-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9002;display:flex;align-items:center;justify-content:center;pointer-events:none}.tour__tooltip{position:relative;width:300px;pointer-events:all;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 12px 40px #00000073;animation:tour-pop .18s ease both}.tour>div>.tour__tooltip{position:relative}.tour__step-label{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.08em;color:var(--color-primary);text-transform:uppercase}.tour__step-sep{opacity:.45}.tour__title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary);line-height:1.3}.tour__body{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.55}.tour__never-again{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tour__never-again input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.tour__close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-tertiary);transition:color .15s ease,background .15s ease}.tour__close:hover{color:var(--color-text-primary);background:var(--color-background-tertiary)}.tour__actions{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm)}.tour__back{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-background-tertiary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);transition:background .15s ease}.tour__back:hover{background:var(--color-border)}.tour__next{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:#fff;transition:opacity .15s ease}.tour__next:hover{opacity:.88}.tour__dots{display:flex;justify-content:center;gap:6px;margin-top:var(--spacing-md)}.tour__dot{width:6px;height:6px;border-radius:50%;background:var(--color-border);transition:background .2s ease,transform .2s ease}.tour__dot--active{background:var(--color-primary);transform:scale(1.3)}@keyframes tour-pop{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.project-settings-modal{--leading-icon-size: 16px;--leading-icon-inset: 10px;--leading-icon-gap-after: var(--spacing-xs)}.project-settings-modal__form{flex:1;min-height:0;display:flex;flex-direction:column}.project-settings-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg)}.project-settings-modal__form-body>*:last-child{margin-bottom:var(--spacing-sm)}.project-settings-modal__field{margin-bottom:var(--spacing-md)}.project-settings-modal__field:last-child{margin-bottom:0}.project-settings-modal__field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.project-settings-modal__field-group .project-settings-modal__field{margin-bottom:0}.project-settings-modal__field-group--title-row{grid-template-columns:1fr auto;align-items:stretch}.project-settings-modal__label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.project-settings-modal__input-wrap{position:relative;width:100%}.project-settings-modal__input-wrap:has(select:disabled) .project-settings-modal__input-icon,.project-settings-modal__input-wrap:has(input:disabled) .project-settings-modal__input-icon{opacity:.45}.project-settings-modal__input-icon{position:absolute;left:var(--leading-icon-inset);top:50%;width:var(--leading-icon-size);height:var(--leading-icon-size);transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:1;stroke-width:2}.project-settings-modal__input--color{height:44px;padding:3px;cursor:pointer;width:48px;min-width:48px}.project-settings-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md)}.project-settings-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}.project-settings-modal__input::placeholder{color:var(--color-text-tertiary)}.project-settings-modal__input--primary{font-size:var(--font-size-lg);font-weight:600;padding:calc(var(--spacing-sm) + 2px) var(--spacing-md)}.project-settings-modal__input--with-leading-icon{padding-left:calc(var(--leading-icon-inset) + var(--leading-icon-size) + var(--leading-icon-gap-after))}.project-settings-modal__field--color-inline{display:flex;flex-direction:column;align-items:flex-start}.project-settings-modal__field--color-inline .color-picker{flex:1}.project-settings-modal__actions{flex-shrink:0;display:flex;gap:var(--spacing-sm);margin-top:0;padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom);background-color:transparent}.project-settings-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);background-color:var(--color-background-secondary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.project-settings-modal__button:hover{background-color:var(--color-background-tertiary)}.project-settings-modal__button--primary{background-color:var(--color-primary);color:#fff}.project-settings-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.project-settings-modal__button--danger{background-color:var(--color-danger);color:#fff}.project-settings-modal__button--danger:hover{opacity:.9;background-color:var(--color-danger)}.project-settings-modal__button-icon{stroke-width:2;flex-shrink:0}@media (max-width: 768px){.project-settings-modal__field-group,.project-settings-modal__field-group--title-row{grid-template-columns:1fr}.project-settings-modal__field--color-inline{justify-self:stretch}.project-settings-modal__form-body{padding:0 var(--spacing-md)}.project-settings-modal__actions{padding:var(--modal-footer-pad-y) var(--spacing-md) var(--modal-footer-pad-bottom)}}.resource-settings-modal{--leading-icon-size: 16px;--leading-icon-inset: 10px;--leading-icon-gap-after: var(--spacing-xs)}.resource-settings-modal__form{flex:1;min-height:0;display:flex;flex-direction:column}.resource-settings-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg)}.resource-settings-modal__form-body>*:last-child{margin-bottom:var(--spacing-sm)}.resource-settings-modal__field{margin-bottom:var(--spacing-md)}.resource-settings-modal__field:last-child{margin-bottom:0}.resource-settings-modal__field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.resource-settings-modal__field-group .resource-settings-modal__field{margin-bottom:0}.resource-settings-modal__field-group--title-row{grid-template-columns:1fr auto;align-items:stretch}.resource-settings-modal__label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.resource-settings-modal__input-wrap{position:relative;width:100%}.resource-settings-modal__input-wrap:has(select:disabled) .resource-settings-modal__input-icon,.resource-settings-modal__input-wrap:has(input:disabled) .resource-settings-modal__input-icon{opacity:.45}.resource-settings-modal__input-icon{position:absolute;left:var(--leading-icon-inset);top:50%;width:var(--leading-icon-size);height:var(--leading-icon-size);transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:1;stroke-width:2}.resource-settings-modal__input--color{height:44px;padding:3px;cursor:pointer;width:48px;min-width:48px}.resource-settings-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md)}.resource-settings-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}.resource-settings-modal__input::placeholder{color:var(--color-text-tertiary)}.resource-settings-modal__input--primary{font-size:var(--font-size-lg);font-weight:600;padding:calc(var(--spacing-sm) + 2px) var(--spacing-md)}.resource-settings-modal__input--with-leading-icon{padding-left:calc(var(--leading-icon-inset) + var(--leading-icon-size) + var(--leading-icon-gap-after))}.resource-settings-modal__field--color-inline{display:flex;flex-direction:column;align-items:flex-start}.resource-settings-modal__field--color-inline .color-picker{flex:1}.resource-settings-modal__actions{flex-shrink:0;display:flex;gap:var(--spacing-sm);margin-top:0;padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom);background-color:transparent}.resource-settings-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);background-color:var(--color-background-secondary);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.resource-settings-modal__button:hover{background-color:var(--color-background-tertiary)}.resource-settings-modal__button--primary{background-color:var(--color-primary);color:#fff}.resource-settings-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.resource-settings-modal__button--danger{background-color:var(--color-danger);color:#fff}.resource-settings-modal__button--danger:hover{opacity:.9;background-color:var(--color-danger)}.resource-settings-modal__button-icon{stroke-width:2;flex-shrink:0}@media (max-width: 768px){.resource-settings-modal__field-group,.resource-settings-modal__field-group--title-row{grid-template-columns:1fr}.resource-settings-modal__field--color-inline{justify-self:stretch}.resource-settings-modal__form-body{padding:0 var(--spacing-md)}.resource-settings-modal__actions{padding:var(--modal-footer-pad-y) var(--spacing-md) var(--modal-footer-pad-bottom)}}.erase-data-modal .modal__title svg{color:var(--color-danger);flex-shrink:0}.erase-data-modal__body{padding:0 var(--spacing-lg);display:grid;gap:var(--spacing-md)}.erase-data-modal__text{color:var(--color-text-primary);line-height:1.45}.erase-data-modal__actions{display:flex;gap:var(--spacing-sm);width:100%}.erase-data-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;background-color:var(--color-background-secondary);color:var(--color-text-primary)}.erase-data-modal__button:hover{background-color:var(--color-background-tertiary)}.erase-data-modal__button--export{background-color:#007aff33;color:var(--color-primary)}.erase-data-modal__button--export:hover{background-color:#007aff47}.erase-data-modal__button--danger{background-color:var(--color-danger);color:#fff}.erase-data-modal__button--danger:hover{opacity:.9;background-color:var(--color-danger)}.feedback-modal{--leading-icon-size: 16px;--leading-icon-inset: 10px;--leading-icon-gap-after: var(--spacing-xs)}.feedback-modal__form{flex:1;min-height:0;display:flex;flex-direction:column}.feedback-modal__form-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--spacing-lg)}@media (max-width: 768px){.feedback-modal__form-body{padding:0 var(--spacing-md)}}.feedback-modal__intro{margin:0 0 var(--spacing-lg);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-secondary)}.feedback-modal__field{margin-bottom:var(--spacing-md)}.feedback-modal__field:last-child{margin-bottom:0}.feedback-modal__label{display:block;font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.feedback-modal__label-optional{font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}.feedback-modal__input-wrap{position:relative;width:100%}.feedback-modal__input-icon{position:absolute;left:var(--leading-icon-inset);top:50%;width:var(--leading-icon-size);height:var(--leading-icon-size);transform:translateY(-50%);pointer-events:none;color:var(--color-primary);z-index:1;stroke-width:2}.feedback-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box}.feedback-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}.feedback-modal__input::placeholder{color:var(--color-text-tertiary)}.feedback-modal__input--with-leading-icon{padding-left:calc(var(--leading-icon-inset) + var(--leading-icon-size) + var(--leading-icon-gap-after))}.feedback-modal__input--textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.45}.feedback-modal__actions{flex-shrink:0;display:flex;gap:var(--spacing-sm);padding:var(--modal-footer-pad-y) var(--spacing-lg) var(--modal-footer-pad-bottom)}@media (max-width: 768px){.feedback-modal__actions{padding:var(--modal-footer-pad-y) var(--spacing-md) var(--modal-footer-pad-bottom)}}.feedback-modal__button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);background-color:var(--color-background-secondary);color:var(--color-text-primary)}.feedback-modal__button:hover{background-color:var(--color-background-tertiary)}.feedback-modal__button--primary{background-color:var(--color-primary);color:#fff}.feedback-modal__button--primary:hover{opacity:.9;background-color:var(--color-primary)}.feedback-modal__button-icon{stroke-width:2;flex-shrink:0}.feedback-modal .modal__title{display:flex;align-items:center;gap:var(--spacing-sm)}.export-import-modal__shell{display:flex;flex-direction:column;min-height:0;overflow:hidden}.export-import-modal__tabs{display:flex;justify-content:flex-start;padding:0 var(--spacing-lg) var(--spacing-sm);flex-shrink:0}@media (max-width: 768px){.export-import-modal__tabs{padding:0 var(--spacing-md) var(--spacing-sm)}}.export-import-modal__body{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-lg)}@media (max-width: 768px){.export-import-modal__body{padding:var(--spacing-md)}}.export-import-modal__panel{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.export-import-modal__text{margin:0;line-height:1.55;color:var(--color-text-secondary);font-size:var(--font-size-base);max-width:36rem}.export-import-modal__excel-options{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:22rem}.export-import-modal__field{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:stretch}.export-import-modal__field-label{font-size:var(--font-size-form-label);font-weight:600;color:var(--color-text-secondary)}.export-import-modal__select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-form-field-fill);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.export-import-modal__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007aff40}.export-import-modal__file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.export-import-modal__action{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer}.export-import-modal__action--primary{background-color:var(--color-primary);color:#fff}.export-import-modal__action--primary:hover{opacity:.92}.app{height:100vh;display:flex;flex-direction:column;background-color:var(--color-background);position:relative}.app__desktop{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.app__mobile-unsupported{display:none}.app__mobile-unsupported-inner{max-width:22rem;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-top:-10vh}.app__mobile-unsupported-logo{display:flex;align-items:center;justify-content:center}.app__mobile-unsupported-logo .app__logo-svg{width:108px;height:108px}.app__mobile-unsupported-appname{margin:0 0 var(--spacing-lg);font-size:var(--font-size-xl);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.app__mobile-unsupported-about{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);line-height:1.6;color:#fff}.app__mobile-unsupported-rotate-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);animation:phone-rock 2s ease-in-out infinite}.app__mobile-unsupported-title{margin:0;font-size:var(--font-size-2xl);font-weight:600;letter-spacing:-.5px;color:var(--color-text-primary)}.app__mobile-unsupported-message{margin:0;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-secondary)}.app--fullscreen .app__content{height:100%}.app__header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 14px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#1c1c1ecc}.app__header-left{flex:1;display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-md)}.app__logo{flex-shrink:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.app__logo-svg{display:block;flex-shrink:0;width:36px;height:36px}.app__header-center{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.app__title{font-size:var(--font-size-2xl);font-weight:600;letter-spacing:-.5px;color:var(--color-text-primary)}.app__controls{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:6px}.app__view-mode{display:flex;background-color:var(--color-background-tertiary);border-radius:var(--radius-md);padding:2px}.app__button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);background:transparent;white-space:nowrap}.app__button:hover{background-color:var(--color-background-secondary)}.app__button--active{background-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary)}.app__button--primary{background-color:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.app__button--primary:hover{opacity:.9}.app__tabs{display:flex;gap:var(--spacing-xs)}.app__tab{padding:6px 8px;color:var(--color-text-secondary);background:transparent;position:relative;display:flex;align-items:center;justify-content:center}.app__tab svg{stroke-width:2}.app__tab:hover{color:var(--color-text-primary)}.app__tab--active,.app__tab--active:hover{color:var(--color-primary)}.app__content{flex:1;overflow:hidden;background-color:var(--color-background);display:flex;flex-direction:column}.app__fullscreen-exit{position:fixed;top:var(--spacing-xs);right:var(--spacing-xs);z-index:300;width:34px;height:34px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background-color:#0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none}.app__fullscreen-exit:hover{background-color:#007aff80;color:#fff}@media (max-width: 768px){.app__desktop{display:none!important}.app__mobile-unsupported{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background-color:var(--color-background)}}@keyframes phone-rock{0%{transform:rotate(0)}20%{transform:rotate(90deg)}40%{transform:rotate(0)}55%{transform:rotate(10deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}:root{--color-primary: #007aff;--color-success: #34c759;--color-warning: #ff9500;--color-danger: #ff3b30;--color-purple: #af52de;--color-pink: #ff2d55;--color-background: #000000;--color-background-secondary: #1c1c1e;--color-background-tertiary: #2c2c2e;--color-surface: #1c1c1e;--color-border: #38383a;--color-form-field-fill: #2a2a2d;--color-dialog-header-bg: var(--color-background-tertiary);--modal-glass-bg: rgba(28, 28, 30, .78);--modal-glass-border: rgba(255, 255, 255, .1);--modal-glass-blur: 28px;--modal-glass-saturate: 165%;--modal-glass-shadow: 0 8px 32px rgba(0, 0, 0, .35);--modal-glass-bg-light: rgba(255, 255, 255, .82);--modal-glass-border-light: rgba(0, 0, 0, .085);--modal-glass-shadow-light: 0 20px 60px rgba(0, 0, 0, .22);--color-text-primary: #ffffff;--color-text-secondary: #98989d;--color-text-tertiary: #636366;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px 0 rgba(0, 0, 0, .12);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--modal-footer-pad-y: calc(var(--spacing-md) + var(--spacing-xs));--modal-footer-pad-bottom: calc(var(--spacing-md) + var(--spacing-sm));--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-form-label: 12px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--scrollbar-thumb: rgba(110, 110, 118, .32);--scrollbar-thumb-hover: rgba(130, 130, 138, .48);--scrollbar-track: transparent}@media (prefers-reduced-transparency: reduce){:root{--modal-glass-bg: rgba(28, 28, 30, .94);--modal-glass-blur: 0px;--modal-glass-bg-light: rgba(255, 255, 255, .96);--scrollbar-thumb: rgba(110, 110, 118, .62);--scrollbar-thumb-hover: rgba(130, 130, 138, .78)}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:dark;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.47059;color:var(--color-text-primary);background-color:var(--color-background);overflow-x:hidden}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}.task-modal__input:is(select),.milestone-modal__input:is(select),.project-manager__input:is(select),.help-modal__input:is(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2398989d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:16px 16px;padding-right:calc(var(--spacing-sm) + 16px + var(--spacing-xs))}#root{min-height:100vh;display:flex;flex-direction:column}button.btn-secondary.task-modal__button,button.btn-secondary.milestone-modal__button,button.btn-secondary.project-settings-modal__button,button.btn-secondary.resource-settings-modal__button,button.btn-secondary.erase-data-modal__button,button.btn-secondary.project-manager__button,button.btn-secondary.resource-manager__button,button.btn-secondary.feedback-modal__button{background-color:#3d3d41;color:#fff}button.btn-secondary.task-modal__button:hover,button.btn-secondary.milestone-modal__button:hover,button.btn-secondary.project-settings-modal__button:hover,button.btn-secondary.resource-settings-modal__button:hover,button.btn-secondary.erase-data-modal__button:hover,button.btn-secondary.project-manager__button:hover,button.btn-secondary.resource-manager__button:hover,button.btn-secondary.feedback-modal__button:hover{background-color:#4d4d52;color:#fff}button.btn-secondary.task-modal__button:active,button.btn-secondary.milestone-modal__button:active,button.btn-secondary.project-settings-modal__button:active,button.btn-secondary.resource-settings-modal__button:active,button.btn-secondary.erase-data-modal__button:active,button.btn-secondary.project-manager__button:active,button.btn-secondary.resource-manager__button:active,button.btn-secondary.feedback-modal__button:active{opacity:.92}button.btn-secondary.task-modal__button:disabled,button.btn-secondary.milestone-modal__button:disabled,button.btn-secondary.project-settings-modal__button:disabled,button.btn-secondary.resource-settings-modal__button:disabled,button.btn-secondary.erase-data-modal__button:disabled,button.btn-secondary.project-manager__button:disabled,button.btn-secondary.resource-manager__button:disabled,button.btn-secondary.feedback-modal__button:disabled{opacity:.45;cursor:not-allowed}
