.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-primary);border-radius:20px;box-shadow:0 20px 60px var(--shadow-primary);width:90%;max-width:520px;max-height:90vh;overflow:auto;animation:slideUp .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-border)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.modal-header h2{font-size:1.625rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.5px}.modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-tertiary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-form{padding:2rem}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.625rem;font-weight:600;color:var(--color-text-primary);font-size:.9375rem;letter-spacing:-.2px}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;font-size:.9375rem;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);background:var(--color-bg-primary);color:var(--color-text-primary)}.form-group input[type=text]:hover,.form-group textarea:hover,.form-group select:hover{border-color:var(--color-border-hover)}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--shadow-focus);background:var(--color-bg-primary)}.duration-dropdown-wrapper{position:relative;width:100%}.duration-dropdown{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;font-size:.9375rem;font-family:inherit;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}.duration-dropdown:hover{border-color:var(--color-border-hover);background:var(--color-bg-secondary)}.duration-dropdown:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--shadow-focus);background:var(--color-bg-primary)}.duration-dropdown option{padding:.75rem 1rem;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-primary)}.duration-dropdown option:hover{background:#f8fafc}.duration-dropdown option:checked{background:var(--color-primary);color:#fff}.dropdown-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#64748b;font-size:.75rem;transition:transform .25s cubic-bezier(.4,0,.2,1)}.duration-dropdown:focus+.dropdown-arrow{transform:translateY(-50%) rotate(180deg);color:var(--color-primary)}.form-group input[type=text]:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.color-picker-group{display:flex;gap:.75rem;align-items:center}.color-picker-group input[type=color]{width:70px;height:45px;border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .2s ease}.color-picker-group input[type=color]:hover{border-color:var(--color-border-hover);transform:scale(1.05)}.color-picker-group input[type=text]{flex:1}.btn-random-color{background:var(--color-bg-tertiary);border:1.5px solid var(--color-border);border-radius:10px;padding:.625rem 1rem;cursor:pointer;font-size:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary)}.btn-random-color:hover{background:var(--color-border);transform:rotate(90deg) scale(1.1);box-shadow:0 2px 8px var(--shadow-primary)}.btn-random-color:active{transform:rotate(90deg) scale(1)}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.modal-actions-right{display:flex;gap:.75rem}.btn{padding:.875rem 1.75rem;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;box-shadow:0 2px 8px var(--shadow-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-primary-hover);background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px var(--shadow-primary)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.person-selector-section{margin-bottom:1.25rem}.person-selector-section:last-child{margin-bottom:0}.person-selector-label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.person-selector{display:flex;flex-direction:column;gap:.625rem;max-height:220px;overflow-y:auto;padding:.75rem;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-bg-secondary)}.person-selector.assigned-persons{background:var(--color-accent-soft);border-color:var(--color-accent-border);border-width:2px}.person-select-item{display:flex;align-items:center;gap:.875rem;padding:1rem;border-radius:10px;border-left:4px solid;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border:1px solid transparent}.person-select-item:hover:not(.disabled){background:var(--color-bg-hover)!important;transform:translate(3px);border-color:var(--color-border);box-shadow:0 2px 6px #0000000d}.person-select-item.selected{font-weight:600}.person-select-item.disabled{cursor:not-allowed;opacity:.7}.person-select-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.person-select-name{flex:1}.person-select-check{color:#10b981;font-size:1.375rem;font-weight:700;margin-left:auto;background:#10b9811a;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #10b98133}.person-selector::-webkit-scrollbar{width:6px}.person-selector::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.person-selector::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.person-selector::-webkit-scrollbar-thumb:hover{background:#555}.epic-url-input-wrapper{position:relative;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;background:var(--color-bg-primary);transition:all .25s cubic-bezier(.4,0,.2,1)}.epic-url-input-wrapper:hover{border-color:var(--color-border-hover);background:var(--color-bg-secondary)}.epic-url-input-wrapper:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--shadow-focus);background:var(--color-bg-primary)}.epic-url-icon{display:flex;align-items:center;justify-content:center;color:#fc6d26;flex-shrink:0;width:24px;height:24px}.epic-url-input{flex:1;border:none;outline:none;background:transparent;font-size:.9375rem;font-family:inherit;color:var(--color-text-primary);padding:0}.epic-url-input::placeholder{color:#94a3b8}.epic-url-test-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--color-accent);background:var(--color-accent-soft);transition:all .2s ease;flex-shrink:0;text-decoration:none;border:1px solid var(--color-accent-border)}.epic-url-test-link:hover{background:#dbeafe;color:#2563eb;transform:scale(1.1);box-shadow:0 2px 4px #3b82f633}.epic-url-preview{display:block;margin-top:.5rem;font-size:.8125rem;color:var(--color-text-secondary);padding:.5rem .75rem;background:var(--color-bg-tertiary);border-radius:6px;border-left:3px solid var(--color-accent)}.epic-url-preview span{color:var(--color-text-primary);font-weight:500;word-break:break-all}.task-detail-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;pointer-events:none}.task-detail-panel{position:fixed;background:var(--color-bg-primary);border-radius:20px;box-shadow:0 20px 60px var(--shadow-primary);min-width:380px;max-width:520px;max-height:450px;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;z-index:2001;border:1px solid var(--color-border)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.task-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.75rem;border-bottom:1px solid var(--color-border);border-left:4px solid;background:var(--color-bg-secondary)}.task-detail-title-section{flex:1}.task-detail-name{font-size:1.375rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem;line-height:1.4;letter-spacing:-.3px}.task-detail-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.task-detail-persons{display:flex;flex-wrap:wrap;gap:.5rem}.task-detail-person{font-size:.8125rem;font-weight:600;padding:.375rem .875rem;border-radius:12px;box-shadow:0 1px 3px var(--shadow-primary)}.task-detail-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-tertiary);cursor:pointer;line-height:1;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0}.task-detail-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.task-detail-content{padding:1.75rem;overflow-y:auto;flex:1;background:var(--color-bg-primary)}.task-detail-description{font-size:.9375rem;line-height:1.75;color:var(--color-text-secondary);white-space:pre-wrap;word-wrap:break-word;letter-spacing:.1px;margin-bottom:1rem}.task-detail-epic{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.task-detail-epic-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent);text-decoration:none;font-size:.9375rem;font-weight:600;padding:.625rem 1rem;border-radius:8px;background:var(--color-accent-soft);transition:all .2s ease;border:1px solid var(--color-accent-border)}.task-detail-epic-link:hover{background:var(--color-accent-border);color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-focus)}.task-detail-empty{padding:2rem 1.25rem;text-align:center;color:var(--color-text-tertiary);font-style:italic;font-size:.875rem}.task-detail-content::-webkit-scrollbar{width:6px}.task-detail-content::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.task-detail-content::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:3px}.task-detail-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.task-cell{min-height:80px;padding:1rem;border:1px solid var(--color-border);background:var(--color-bg-primary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;align-items:stretch}.task-cell:hover{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);border-color:var(--color-accent);box-shadow:0 2px 8px var(--shadow-focus);transform:translateY(-1px)}.task-cell.drag-over{background:var(--color-accent-soft);border-color:var(--color-primary);border-width:2px;border-style:dashed;box-shadow:0 4px 16px var(--shadow-focus);transform:scale(1.02)}.task-count-badge{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-primary) 100%);color:#fff;font-size:.6875rem;padding:4px 8px;border-radius:12px;font-weight:700;z-index:5;box-shadow:0 2px 6px var(--shadow-primary);letter-spacing:.3px}.task-cell-empty{color:var(--color-text-tertiary);font-size:.875rem;text-align:center;font-style:italic;width:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem 0;transition:all .2s ease}.task-cell:hover .task-cell-empty{color:var(--color-text-secondary);transform:scale(1.02)}.task-list{display:flex;flex-direction:column;gap:6px;flex:1;width:100%}.task-item{padding:.625rem .875rem;border-radius:8px;font-size:.875rem;cursor:grab;transition:all .25s cubic-bezier(.4,0,.2,1);word-break:break-word;position:relative;overflow:hidden;border:1px solid transparent;border-left-width:4px;font-weight:500;-webkit-user-select:none;user-select:none}.task-item:active{cursor:grabbing}.task-item:hover:not(.dragging){transform:translate(3px);box-shadow:0 4px 12px #0000001f;border-color:currentColor;opacity:.9}.task-item.dragging{opacity:.5;transform:scale(.95);cursor:grabbing}.task-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-item[data-has-description=true]:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:.875rem;white-space:pre-wrap;max-width:300px;word-wrap:break-word;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1000;box-shadow:0 4px 12px #0000004d}.task-item[data-has-description=true]:hover:after{opacity:1;transform:translate(-50%) translateY(-12px)}.gantt-container{display:flex;flex-direction:column;width:100%}.gantt-header{display:flex;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gantt-header-left{min-width:200px;flex:0 0 auto;padding:1rem 1.25rem;border-right:1px solid var(--color-border);background:var(--color-bg-primary);display:flex;align-items:center}.gantt-header-title{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.gantt-header-right{flex:1;overflow-x:auto}.gantt-week-headers{display:grid;min-width:100%}.gantt-week-header{padding:1rem .75rem;text-align:center;border-right:1px solid var(--color-border);transition:all .3s ease}.gantt-week-header.current-week{background:var(--color-bg-tertiary);border-bottom:3px solid var(--color-accent);font-weight:600;box-shadow:inset 0 -3px 0 var(--color-accent)}.gantt-week-title{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.2rem}.gantt-body{display:flex}.gantt-persons{min-width:200px;flex:0 0 auto;border-right:1px solid var(--color-border);background:var(--color-bg-primary)}.gantt-person-row{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-bg-tertiary);border-left:4px solid;background:var(--color-bg-primary)}.gantt-person-info{display:flex;align-items:center;gap:.75rem}.gantt-person-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.gantt-person-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.gantt-timeline{flex:1;overflow-x:auto;position:relative}.gantt-row{position:relative;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary)}.gantt-row-grid{display:grid;height:100%}.gantt-cell{border-right:1px dashed var(--color-border);cursor:pointer}.gantt-cell.current-week{background:var(--color-accent-soft)}.gantt-bar{position:absolute;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:0 .5rem;display:flex;align-items:center;box-shadow:0 2px 6px #0f172a33;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.gantt-bar:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0f172a40}.gantt-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-body::-webkit-scrollbar,.gantt-header-right::-webkit-scrollbar,.gantt-timeline::-webkit-scrollbar{height:10px}.gantt-body::-webkit-scrollbar-track,.gantt-header-right::-webkit-scrollbar-track,.gantt-timeline::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:5px}.gantt-body::-webkit-scrollbar-thumb,.gantt-header-right::-webkit-scrollbar-thumb,.gantt-timeline::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:5px;border:2px solid var(--color-bg-tertiary)}.gantt-body::-webkit-scrollbar-thumb:hover,.gantt-header-right::-webkit-scrollbar-thumb:hover,.gantt-timeline::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){.gantt-header-left,.gantt-persons{min-width:140px}.gantt-week-title{font-size:.75rem}}.weekly-table-container{background:var(--color-bg-primary);border-radius:16px;box-shadow:0 4px 24px var(--shadow-primary);overflow:hidden;border:1px solid var(--color-border)}.loading{text-align:center;padding:3rem;font-size:1.25rem;color:var(--color-text-secondary)}.table-header{display:flex;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.table-header-left{min-width:300px;flex:0 0 auto;padding:1.25rem;border-right:1px solid var(--color-border);background:var(--color-bg-primary);position:relative}.table-header-right{flex:1;overflow-x:auto;display:flex;align-items:stretch}.week-headers{display:flex;min-width:100%;align-items:stretch}.week-header{min-width:200px;flex:1 1 0;padding:1.25rem 1rem;text-align:center;border-right:1px solid var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex-shrink:0}.week-header.current-week{background:var(--color-bg-tertiary);border-bottom:3px solid var(--color-accent);font-weight:600;box-shadow:inset 0 -3px 0 var(--color-accent)}.week-title{font-size:.9rem;color:var(--color-text-primary);margin-bottom:.25rem}.current-indicator{font-size:.75rem;color:var(--color-accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.table-body{display:flex;overflow-x:auto}.persons-column{min-width:300px;flex:0 0 auto;border-right:1px solid var(--color-border);background:var(--color-bg-primary);display:flex;flex-direction:column;position:relative}.persons-column>.person-row{flex-shrink:0}.person-row{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem;border-bottom:1px solid var(--color-bg-tertiary);border-left:4px solid;background:var(--color-bg-primary);transition:all .25s cubic-bezier(.4,0,.2,1);min-height:80px;box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none}.person-row:hover{background:var(--color-bg-secondary);box-shadow:inset 4px 0 0 currentColor;transform:translate(2px)}.person-row.dragging{opacity:.5;cursor:grabbing}.person-row.drag-over{border-top:3px solid var(--color-accent);background:var(--color-bg-tertiary)}.person-drag-handle{color:var(--color-text-tertiary);font-size:1.2rem;cursor:grab;padding:.5rem;margin-right:.5rem;-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1;border-radius:6px;transition:all .2s ease}.person-row.dragging .person-drag-handle{cursor:grabbing}.person-drag-handle:hover{color:var(--color-accent);background:var(--color-bg-tertiary)}.person-info{display:flex;align-items:center;gap:.75rem;flex:1}.person-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.person-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem;letter-spacing:-.2px}.person-edit-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;opacity:0}.person-row:hover .person-edit-btn{opacity:1}.person-edit-btn:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.empty-state{padding:2rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.tasks-grid{flex:1;display:flex;flex-direction:column;overflow-x:auto}.tasks-grid .person-tasks-row{flex-shrink:0}.person-tasks-row{display:flex;border-bottom:1px solid var(--color-border);align-items:stretch;min-height:80px}.person-tasks-row .task-cell{flex:1 1 0;min-width:200px;flex-shrink:0}.resize-handle{width:4px;background:transparent;cursor:col-resize;position:relative;z-index:20;flex-shrink:0;transition:background .2s ease;margin:0}.resize-handle:hover{background:var(--color-accent, #3b82f6)}.resize-handle:after{content:"";position:absolute;left:-2px;top:0;bottom:0;width:8px;cursor:col-resize}.week-resize-handle{align-self:stretch;height:auto;min-height:100%}.btn-add-person{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;box-shadow:0 2px 8px var(--shadow-primary);letter-spacing:.3px}.btn-add-person:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-primary-hover);background:var(--color-accent-hover)}.btn-add-person:active{transform:translateY(0);box-shadow:0 2px 8px var(--shadow-primary)}.table-toolbar{display:flex;flex-direction:column;gap:1rem}.data-actions-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.view-toggle{display:inline-flex;gap:.5rem;padding:.35rem;border-radius:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.view-toggle .btn-secondary{padding:.6rem .9rem;border-radius:10px;border-color:transparent;background:transparent}.view-toggle .btn-secondary.active{background:var(--color-bg-primary);border-color:var(--color-border-hover);color:var(--color-text-primary);box-shadow:0 2px 8px var(--shadow-primary)}.data-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.75rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.btn-secondary:hover{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.btn-secondary.btn-danger{color:#ef4444;border-color:#ef444433;background:#ef44440d}.btn-secondary.btn-danger:hover{background:#ef44441a;color:#ef4444;border-color:#ef4444}.table-body::-webkit-scrollbar,.table-header-right::-webkit-scrollbar{height:10px}.table-body::-webkit-scrollbar-track,.table-header-right::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:5px}.table-body::-webkit-scrollbar-thumb,.table-header-right::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:5px;border:2px solid var(--color-bg-tertiary)}.table-body::-webkit-scrollbar-thumb:hover,.table-header-right::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){.table-header-left,.persons-column{min-width:120px}.week-header,.person-tasks-row .task-cell{min-width:100px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gradient-bg-start) 0%,var(--gradient-bg-end) 100%);padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.login-card{background:var(--color-bg-primary);border-radius:24px;box-shadow:0 20px 60px var(--shadow-primary);width:100%;max-width:420px;padding:3rem;position:relative;z-index:1;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2.5rem}.login-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;letter-spacing:-.5px}.login-header p{font-size:.9375rem;color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-error{background:var(--color-error-soft);color:var(--color-error);padding:.875rem 1rem;border-radius:10px;font-size:.875rem;font-weight:500;border:1px solid var(--color-error-border);animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-form .form-group{display:flex;flex-direction:column;gap:.625rem}.login-form .form-group label{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.2px}.login-form .form-group input{width:100%;padding:.875rem 1rem;border:1.5px solid var(--color-border);border-radius:10px;font-size:.9375rem;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);background:var(--color-bg-primary);color:var(--color-text-primary)}.login-form .form-group input:hover{border-color:var(--color-border-hover)}.login-form .form-group input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--shadow-focus)}.login-button{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border:none;padding:1rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-top:.5rem;box-shadow:0 2px 8px var(--shadow-primary);letter-spacing:.3px}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-primary-hover);background:linear-gradient(135deg,var(--color-accent-hover) 0%,var(--color-accent) 100%)}.login-button:active{transform:translateY(0);box-shadow:0 2px 8px var(--shadow-primary)}.login-footer{margin-top:2rem;text-align:center}.login-hint{font-size:.8125rem;color:var(--color-text-tertiary);line-height:1.5;margin:0}.theme-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-right:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-toggle:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.theme-toggle svg{color:#fbbf24}.theme-toggle:hover svg{color:var(--color-text-primary)}[data-theme=dark] .theme-toggle svg{color:#fbbf24}[data-theme=light] .theme-toggle svg{color:#fcd34d}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--color-header-bg-start) 0%,var(--color-header-bg-end) 100%);color:var(--color-header-text);padding:1.5rem 2.5rem;box-shadow:0 4px 20px var(--shadow-primary);position:relative;overflow:hidden}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.app-header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.app-header h1{font-size:1.875rem;font-weight:700;letter-spacing:-.5px;margin:0}.app-header-user{display:flex;align-items:center;gap:1rem}.user-name{font-size:.9375rem;font-weight:500;opacity:.95}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.app-main{flex:1;padding:2.5rem;overflow:auto}:root{--color-primary: #1e293b;--color-primary-light: #334155;--color-primary-dark: #0f172a;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-hover: rgba(30, 41, 59, .08);--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-border-focus: #3b82f6;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--shadow-primary: rgba(15, 23, 42, .08);--shadow-primary-hover: rgba(15, 23, 42, .12);--bg-app: #f1f5f9;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-soft: #eff6ff;--color-accent-border: #dbeafe;--color-header-bg-start: #1e293b;--color-header-bg-end: #334155;--color-header-text: #ffffff;--color-error: #ef4444;--color-error-soft: #fee2e2;--color-error-border: #fecaca;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--gradient-bg-start: #1e293b;--gradient-bg-end: #334155}[data-theme=dark]{--color-primary: #f8fafc;--color-primary-light: #f1f5f9;--color-primary-dark: #ffffff;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-hover: rgba(255, 255, 255, .1);--color-border: #334155;--color-border-hover: #475569;--color-border-focus: #3b82f6;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #64748b;--shadow-primary: rgba(0, 0, 0, .3);--shadow-primary-hover: rgba(0, 0, 0, .45);--bg-app: #020617;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-soft: rgba(59, 130, 246, .1);--color-accent-border: rgba(59, 130, 246, .2);--color-header-bg-start: #020617;--color-header-bg-end: #0f172a;--color-header-text: #f1f5f9;--color-error: #f87171;--color-error-soft: rgba(248, 113, 113, .1);--color-error-border: rgba(248, 113, 113, .2);--color-danger: #f87171;--color-danger-hover: #ef4444;--gradient-bg-start: #020617;--gradient-bg-end: #0f172a}@supports not (color: color-mix(in srgb,red,blue)){:root{--color-primary-light: #334155;--color-primary-dark: #0f172a;--color-accent-light: #475569;--color-bg-hover: rgba(30, 41, 59, .08);--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--shadow-primary: rgba(15, 23, 42, .25);--shadow-primary-hover: rgba(15, 23, 42, .4);--shadow-focus: rgba(51, 65, 85, .1)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-app);color:var(--color-text-primary);min-height:100vh;transition:background .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
