@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";.header{background:color-mix(in srgb,var(--bg-card) 88%,transparent);backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-content{max-width:1600px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:10px}.logo-mark{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-title{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em}.header-actions{display:flex;gap:6px;align-items:center}.header-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:600;background:transparent;color:var(--text-secondary)}.header-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.header-btn.primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.header-btn.primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.header-theme-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);margin:0 2px}.header-theme-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.header-user-menu{position:relative}.header-user-btn{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border-radius:var(--radius-full);background:transparent;color:var(--text-muted)}.header-user-btn:hover{background:var(--bg-secondary)}.header-user-avatar{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;color:#fff8f2;flex-shrink:0}.header-user-avatar.role-admin{background:var(--primary)}.header-user-avatar.role-user{background:var(--success)}.header-user-info{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.header-user-name{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.2}.header-user-role{font-size:11px;font-weight:600;line-height:1}.header-user-role.role-admin{color:var(--primary)}.header-user-role.role-user{color:var(--success)}.chev-open{transform:rotate(180deg)}.header-user-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.header-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;z-index:1000;animation:dropdownSlide .18s var(--ease-out)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.header-user-dropdown-header{padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.header-user-dropdown-name{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.header-user-dropdown-username{font-size:12.5px;color:var(--text-muted)}.header-user-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;color:var(--text-primary);font-size:13.5px;font-weight:600;text-align:left}.header-user-dropdown-item:hover{background:var(--bg-secondary)}.header-user-dropdown-item.logout{color:var(--danger)}.header-user-dropdown-item.logout:hover{background:var(--danger-light)}@media (max-width: 768px){.header-content{padding:10px 16px}.header-title{font-size:17px}.header-btn span{display:none}.header-btn{padding:9px}.header-user-info{display:none}.header-user-btn{padding:5px}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#140f0a73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:confirmFade .18s var(--ease-out)}:root[data-theme=dark] .confirm-overlay{background:#0009}@keyframes confirmFade{0%{opacity:0}to{opacity:1}}.confirm-card{width:100%;max-width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:24px;text-align:center;animation:confirmPop .25s var(--ease-spring)}@keyframes confirmPop{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.confirm-icon.danger{background:var(--danger-light);color:var(--danger)}.confirm-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.01em}.confirm-message{font-size:13.5px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:8px}.confirm-btn{flex:1;padding:10px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;transition:all var(--transition)}.confirm-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.confirm-btn.cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-btn.primary{background:var(--primary);color:var(--primary-ink)}.confirm-btn.primary:hover{background:var(--primary-hover)}.confirm-btn.danger{background:var(--danger);color:#fff8f2}.confirm-btn.danger:hover{filter:brightness(1.08)}.sidebar{width:252px;flex-shrink:0;background:var(--bg-card);border-radius:var(--radius-lg);padding:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm);height:fit-content;position:sticky;top:80px}.sidebar-section{margin-bottom:22px}.sidebar-section:last-child{margin-bottom:0}.sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;padding:0 10px}.sidebar-menu{display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13.5px;font-weight:600;text-align:left;width:100%}.sidebar-item svg{flex-shrink:0;opacity:.75}.sidebar-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-item.active{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.sidebar-item.active svg{opacity:1}.sidebar-user{display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm);position:relative}.sidebar-user:hover{background:var(--bg-secondary)}.sidebar-user.active{background:var(--primary-light)}.sidebar-user.active .user-name{color:var(--primary)}.sidebar-user-btn{display:flex;align-items:center;gap:10px;padding:7px 10px;background:transparent;flex:1;min-width:0;overflow:hidden;text-align:left}.user-avatar{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#fff8f2;font-size:12.5px;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.delete-user-btn{padding:6px;background:transparent;color:var(--text-muted);border-radius:6px;opacity:0;margin-right:6px}.sidebar-user:hover .delete-user-btn,.delete-user-btn:focus-visible{opacity:1}.delete-user-btn:hover{background:var(--danger-light);color:var(--danger)}.sidebar-empty{padding:20px 10px;color:var(--text-muted);font-size:12.5px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-empty svg{opacity:.5}@media (max-width: 768px){.sidebar{width:100%;position:static}}.task-board{flex:1;background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border);box-shadow:var(--shadow-sm);min-height:500px}.task-board-header{margin-bottom:20px}.task-board-title{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.task-board-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:500}.task-list{display:flex;flex-direction:column;gap:8px}.task-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:15px 18px;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition);position:relative;overflow:hidden}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--priority-color)}.task-card:hover{background:var(--bg-card);border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.task-card.completed{opacity:.55}.task-card.completed .task-title{text-decoration:line-through;color:var(--text-muted)}.task-header{display:flex;align-items:flex-start;gap:14px}.task-checkbox{width:21px;height:21px;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.task-checkbox:hover{border-color:var(--primary);background:var(--primary-light)}.task-checkbox.completed{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.task-checkbox.review{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.task-checkbox.review:hover{background:var(--warning);border-color:var(--warning);color:#fff8f2}.task-card.review{border-left:3px solid var(--warning)}.task-content{flex:1;min-width:0}.task-title{font-size:14.5px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4;letter-spacing:-.01em}.task-title-clickable{cursor:pointer}.task-title-clickable:hover{color:var(--primary)}.task-description{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:10px;max-width:65ch}.task-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.task-priority{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-full);font-size:10.5px;font-weight:700;letter-spacing:.02em}.task-priority.high{background:var(--danger-light);color:var(--danger)}.task-priority.medium{background:var(--warning-light);color:var(--warning)}.task-priority.low{background:var(--success-light);color:var(--success)}.task-assignee{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-weight:500}.task-assignee-avatar{width:19px;height:19px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff8f2;font-size:9.5px}.task-subtasks-badge{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--primary);font-weight:700;background:var(--primary-light);padding:2px 8px;border-radius:var(--radius-full)}.task-subtasks-badge.muted{background:var(--bg-tertiary);color:var(--text-muted)}.task-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);font-weight:500}.task-actions{display:flex;gap:4px;opacity:0}.task-card:hover .task-actions,.task-action-btn:focus-visible{opacity:1}.task-action-btn{padding:6px;background:var(--bg-card);color:var(--text-muted);border-radius:7px}.task-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.task-action-btn.delete:hover{background:var(--danger-light);color:var(--danger)}.task-empty{text-align:center;padding:56px 20px;color:var(--text-muted)}.task-empty-icon{margin:0 auto 14px;color:var(--primary);opacity:.5}.task-empty-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-secondary);margin-bottom:6px}.task-empty-text{font-size:13.5px}@media (max-width: 768px){.task-board{padding:16px}.task-board-title{font-size:19px}.task-card{padding:13px 14px}.task-meta{flex-direction:column;align-items:flex-start;gap:6px}}.toast-container{position:fixed;bottom:22px;right:22px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;max-width:380px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastIn .25s var(--ease-spring);min-width:280px}.toast-leaving{animation:toastOut .22s var(--ease-out) forwards}@keyframes toastIn{0%{opacity:0;transform:translate(30px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(30px) scale(.96)}}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--primary)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-warning{border-left:3px solid var(--warning)}.toast-info{border-left:3px solid var(--primary)}.toast-message{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4}.toast-close{flex-shrink:0;width:24px;height:24px;border-radius:7px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.toast-close:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.toast-container{bottom:16px;right:16px;left:16px;max-width:none}.toast{min-width:auto}}.kanban-card{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px;cursor:grab;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition),opacity var(--transition);border:1px solid var(--border)}.kanban-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;transform:rotate(1.5deg) scale(.96)}.kanban-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.kanban-card-priority{width:4px;height:14px;border-radius:2px}.kanban-card-actions{display:flex;gap:2px;opacity:0}.kanban-card:hover .kanban-card-actions{opacity:1}.kanban-card-action{width:22px;height:22px;border-radius:6px;background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.kanban-card-action:hover{background:var(--bg-tertiary);color:var(--text-primary)}.kanban-card-action.delete:hover{background:var(--danger-light);color:var(--danger)}.kanban-card-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4;letter-spacing:-.01em;cursor:pointer}.kanban-card-title:hover{color:var(--primary)}.kanban-card-description{font-size:12px;color:var(--text-muted);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.kanban-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kanban-card-date{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);padding:2px 6px;background:var(--bg-secondary);border-radius:5px;font-weight:600}.kanban-card-date.overdue{background:var(--danger-light);color:var(--danger)}.kanban-card-badge{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted);padding:2px 6px;background:var(--bg-secondary);border-radius:5px;font-weight:600}.avatar-stack .kanban-card-avatar:not(:first-child){margin-left:-7px}.kanban-card-avatar{width:21px;height:21px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff8f2;font-size:9.5px;flex-shrink:0;border:1.5px solid var(--bg-card)}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0;height:calc(100vh - 150px);overflow-x:auto}.kanban-column{background:var(--bg-secondary);border-radius:var(--radius-md);padding:13px;display:flex;flex-direction:column;min-width:258px;border:1px solid var(--border);transition:background-color var(--transition),border-color var(--transition),opacity var(--transition)}.kanban-column.drop-disabled{opacity:.5}.kanban-column.drag-over{background:var(--primary-light);border:1.5px dashed var(--primary)}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px}.kanban-column-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.kanban-column-indicator{width:7px;height:7px;border-radius:50%;flex-shrink:0}.kanban-column-count{font-size:11px;font-weight:700;padding:2px 8px;background:var(--bg-card);border-radius:var(--radius-full);border:1px solid var(--border);font-variant-numeric:tabular-nums}.kanban-column-limit{margin-bottom:10px;padding:0 2px}.kanban-limit-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.kanban-limit-fill{height:100%;border-radius:2px;transition:width .4s var(--ease-out)}.kanban-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px;margin:-2px}.kanban-cards::-webkit-scrollbar{width:4px}.kanban-cards::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px;opacity:.4}.kanban-empty{text-align:center;padding:30px 16px;color:var(--text-muted);font-size:12px;font-weight:600;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;gap:6px}.kanban-empty svg{opacity:.5}@media (max-width: 1400px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.kanban-board{grid-template-columns:1fr;padding:0;height:auto}}.calendar-view{background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.calendar-title{display:flex;align-items:center;gap:10px}.calendar-title svg{color:var(--primary)}.calendar-title h2{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em;text-transform:capitalize}.calendar-controls{display:flex;align-items:center;gap:10px}.calendar-btn{padding:7px 15px;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);font-size:12.5px;font-weight:700;border:1px solid var(--border)}.calendar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.calendar-nav{display:flex;gap:4px}.calendar-nav-btn{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.calendar-nav-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.calendar-grid{display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-weekday{text-align:center;font-size:10.5px;font-weight:700;color:var(--text-muted);padding:6px;text-transform:uppercase;letter-spacing:.07em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{min-height:106px;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;border:1px solid transparent}.calendar-day:hover{background:var(--bg-tertiary);border-color:var(--border)}.calendar-day.other-month{opacity:.35}.calendar-day.today{background:var(--primary-light);border:1.5px solid var(--primary)}.calendar-day.today .calendar-day-number{background:var(--primary);color:var(--primary-ink)}.calendar-day-number{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:6px;font-variant-numeric:tabular-nums}.calendar-day-tasks{display:flex;flex-direction:column;gap:3px;flex:1}.calendar-task{background:var(--bg-card);border-radius:6px;padding:4px 6px;font-size:11px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid var(--border);border-left:3px solid var(--primary)}.calendar-task:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.calendar-task-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.calendar-task-avatar{width:17px;height:17px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff8f2;flex-shrink:0}.calendar-task-more{font-size:10px;color:var(--text-muted);padding:2px 6px;text-align:center;font-weight:700}@media (max-width: 1200px){.calendar-day{min-height:88px}}@media (max-width: 768px){.calendar-header{flex-direction:column;gap:12px;align-items:flex-start}.calendar-day{min-height:68px;padding:4px}.calendar-task{font-size:10px;padding:3px 4px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140f0a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .18s var(--ease-out)}:root[data-theme=dark] .modal-overlay{background:#0009}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--border);animation:modalSlideUp .25s var(--ease-out);display:flex;flex-direction:column}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.015em}.modal-close{width:30px;height:30px;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:22px;overflow-y:auto}.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;background:var(--bg-secondary);flex-shrink:0}.form-group{margin-bottom:18px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:12.5px;font-weight:700;color:var(--text-secondary);margin-bottom:7px}.form-input,.form-textarea,.form-select{width:100%;padding:10px 13px;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg-card);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:84px;font-family:inherit}.form-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.color-option{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);border:3px solid transparent;cursor:pointer}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--bg-card);box-shadow:0 0 0 2px var(--text-primary);transform:scale(1.06)}.btn{padding:9px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:-.01em}.btn-secondary{background:transparent;color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-light)}.form-error{display:block;margin-top:5px;font-size:12px;font-weight:600;color:var(--danger)}.form-hint{display:block;margin-top:5px;font-size:12px;color:var(--text-muted)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:40px}.password-toggle{position:absolute;right:8px;background:transparent;color:var(--text-muted);padding:6px;border-radius:6px}.password-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-large{max-width:680px}.modal-tabs{display:flex;gap:2px;padding:0 22px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.modal-tab{padding:11px 16px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:700;border:none;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:6px}.modal-tab:hover{color:var(--text-primary)}.modal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.comments-section{display:flex;flex-direction:column;gap:16px;min-height:340px}.comments-list{flex:1;display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding-right:6px}.comment-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px 14px}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.comment-author{display:flex;align-items:center;gap:8px}.comment-avatar{width:27px;height:27px;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex-shrink:0}.comment-author-name{font-size:13px;font-weight:700;color:var(--text-primary)}.comment-date{font-size:11px;color:var(--text-muted)}.comment-delete{background:transparent;color:var(--text-muted);padding:4px;border-radius:6px}.comment-delete:hover{background:var(--danger-light);color:var(--danger)}.comment-text{font-size:13px;color:var(--text-primary);line-height:1.55;white-space:pre-wrap}.comment-input-wrapper{display:flex;gap:8px;align-items:flex-end}.comment-input{flex:1;padding:10px 13px;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);font-size:13px;color:var(--text-primary);background:var(--bg-card);resize:none;min-height:40px;max-height:100px;font-family:inherit}.comment-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.comment-send-btn{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-send-btn:hover:not(:disabled){background:var(--primary-hover)}.comment-send-btn:disabled{opacity:.4;cursor:not-allowed}.attachments-section{display:flex;flex-direction:column;gap:16px;min-height:340px}.attachments-upload{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1.5px dashed var(--border-strong)}.upload-btn{padding:8px 16px;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-ink);font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0}.upload-btn:hover{background:var(--primary-hover)}.upload-hint{font-size:12px;color:var(--text-muted)}.attachments-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.attachment-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--bg-secondary);border-radius:var(--radius-md)}.attachment-item:hover{background:var(--bg-tertiary)}.attachment-preview{width:50px;height:50px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-icon{width:50px;height:50px;border-radius:var(--radius-sm);background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.attachment-info{flex:1;min-width:0}.attachment-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:12px;color:var(--text-muted);margin-top:2px}.attachment-actions{display:flex;gap:4px}.attachment-action{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.attachment-action:hover{background:var(--primary);color:var(--primary-ink)}.attachment-action.delete:hover{background:var(--danger);color:#fff8f2}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px;color:var(--text-muted);text-align:center}.empty-state svg{margin-bottom:12px;opacity:.35;color:var(--primary)}.empty-state p{font-size:13.5px;margin:0;font-weight:500}.loading-text{text-align:center;padding:40px;color:var(--text-muted);font-size:13.5px}.task-detail-info{display:flex;flex-direction:column;gap:16px}.detail-block{display:flex;flex-direction:column;gap:4px}.detail-row{display:flex;gap:24px}.detail-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.detail-value{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.55;white-space:pre-wrap}.detail-priority{display:inline-flex;padding:3px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:700;width:fit-content}.detail-priority.high{background:var(--danger-light);color:var(--danger)}.detail-priority.medium{background:var(--warning-light);color:var(--warning)}.detail-priority.low{background:var(--success-light);color:var(--success)}.subtask-detail-section{min-height:190px}.form-row{display:flex;gap:14px}.form-group-half{flex:1}.subtask-counter{margin-left:8px;font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 8px;border-radius:var(--radius-full)}.subtask-progress{display:flex;align-items:center;gap:10px;margin-bottom:10px}.subtask-progress-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.subtask-progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .4s var(--ease-out)}.subtask-progress-text{font-size:11px;font-weight:700;color:var(--text-muted);min-width:32px;text-align:right}.subtask-list{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.subtask-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm)}.subtask-item:hover{background:var(--bg-secondary)}.subtask-item.completed .subtask-text{text-decoration:line-through;color:var(--text-muted)}.subtask-check{flex-shrink:0;background:transparent;color:var(--text-muted);padding:0;display:flex;align-items:center}.subtask-check:hover{color:var(--primary)}.subtask-item.completed .subtask-check{color:var(--success)}.subtask-text{flex:1;font-size:13px;color:var(--text-primary);font-weight:500}.subtask-remove{flex-shrink:0;background:transparent;color:var(--text-muted);padding:4px;border-radius:5px;opacity:0;display:flex;align-items:center}.subtask-item:hover .subtask-remove{opacity:1}.subtask-remove:hover{color:var(--danger);background:var(--danger-light)}.subtask-add{display:flex;gap:6px}.subtask-input{flex:1;padding:8px 12px;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);background:var(--bg-card)}.subtask-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.subtask-input::placeholder{color:var(--text-muted)}.subtask-edit-input{flex:1;min-width:0;padding:4px 8px;border:1.5px solid var(--primary);border-radius:var(--radius-sm);font-size:13px;outline:none;background:var(--bg-card);color:var(--text-primary)}.subtask-add-btn{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subtask-add-btn:hover:not(:disabled){background:var(--primary-hover)}.subtask-add-btn:disabled{opacity:.35;cursor:not-allowed}.multi-assignee-select{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.assignee-chip{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--bg-secondary);cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary);-webkit-user-select:none;user-select:none}.assignee-chip:hover{border-color:var(--primary);background:var(--bg-tertiary)}.assignee-chip.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.assignee-chip-avatar{width:21px;height:21px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff8f2;font-size:10.5px;font-weight:700;flex-shrink:0}@media (max-width: 768px){.modal{max-width:100%;border-radius:var(--radius-lg);max-height:96vh}.modal-header,.modal-body,.modal-footer{padding:15px}.form-row{flex-direction:column;gap:0}}.admin-users{max-width:1400px}.search-box{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg-card);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);min-width:280px;transition:all var(--transition)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:14px;color:var(--text-primary);background:transparent}.search-input::placeholder{color:var(--text-muted)}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.user-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1)}.user-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--border-strong)}.user-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.user-card-avatar{width:54px;height:54px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:700;color:#fff8f2}.user-card-actions{display:flex;gap:6px}.user-card-action-btn{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.user-card-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-card-action-btn.delete:hover{background:var(--danger-light);color:var(--danger)}.user-card-action-btn.view-profile:hover{background:var(--primary-light);color:var(--primary)}.user-card-body{display:flex;flex-direction:column;gap:14px}.user-card-name{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.user-card-role{font-size:13px;color:var(--text-muted);margin:-6px 0 0;font-weight:500}.user-card-info{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.user-card-info-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-weight:500}.user-card-info-item svg{flex-shrink:0}.user-card-status{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.status-badge.active{background:var(--success-light);color:var(--success)}.status-badge.inactive{background:var(--danger-light);color:var(--danger)}.user-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.user-stat{text-align:center}.user-stat-value{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:4px}.user-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.empty-state{grid-column:1 / -1;text-align:center;padding:48px 20px;color:var(--text-muted);font-size:13.5px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:10px}.empty-state svg{color:var(--primary);opacity:.5}@media (max-width: 768px){.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-actions{flex-direction:column;width:100%}.search-box{width:100%;min-width:auto}.users-grid{grid-template-columns:1fr}}.admin-tasks{max-width:1400px}.tasks-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg-card);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm)}.filter-group svg{color:var(--text-muted);flex-shrink:0}.filter-select{border:none;outline:none;font-size:13px;color:var(--text-primary);background:transparent;cursor:pointer;padding:0;font-weight:500}.tasks-table{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border)}.table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.table tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition)}.table tbody tr:last-child{border-bottom:none}.table tbody tr:hover{background:var(--bg-secondary)}.table tbody tr.completed{opacity:.5}.table tbody tr.completed .task-title{text-decoration:line-through}.table td{padding:14px 16px;vertical-align:middle}.task-checkbox-btn{width:21px;height:21px;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--primary-ink)}.task-checkbox-btn:hover{border-color:var(--primary);background:var(--primary-light)}.task-checkbox-btn.checked{background:var(--primary);border-color:var(--primary)}.task-checkbox-btn.review{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.task-checkbox-btn.review:hover{background:var(--warning);border-color:var(--warning);color:#fff8f2}.task-cell{display:flex;flex-direction:column;gap:3px}.task-title{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.task-description{font-size:12px;color:var(--text-muted);line-height:1.4;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;width:fit-content}.assignee-cell{display:flex;align-items:center;gap:8px}.assignee-avatar{width:27px;height:27px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff8f2;font-size:11.5px;flex-shrink:0}.no-assignee{color:var(--text-muted);font-size:13px;font-weight:500}.date-cell{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;font-weight:500}.no-date{color:var(--border-strong);font-size:16px}.status-badge{display:inline-flex;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.status-badge.active{background:var(--primary-light);color:var(--primary)}.status-badge.completed{background:var(--success-light);color:var(--success)}.status-badge.review{background:var(--warning-light);color:var(--warning)}.table-actions{display:flex;gap:6px}.table-action-btn{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.table-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.table-action-btn.delete:hover{background:var(--danger-light);color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;color:var(--text-muted)}.empty-state svg{margin-bottom:12px;color:var(--primary);opacity:.5}.empty-state p{font-size:14px;font-weight:500}@media (max-width: 1024px){.tasks-table{overflow-x:auto}.table{min-width:860px}}@media (max-width: 768px){.tasks-filters{flex-direction:column}.search-box,.filter-group{width:100%}}.admin-stats{max-width:1400px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:26px}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;display:flex;gap:15px;align-items:flex-start;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.stat-icon{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{flex:1}.stat-value{font-family:var(--font-display);font-size:27px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:6px;letter-spacing:-.02em}.stat-label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:2px}.stat-sub{font-size:12px;color:var(--text-muted);font-weight:500}.stats-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-bottom:22px}.chart-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.chart-header{margin-bottom:18px}.chart-title{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.priority-bars{display:flex;flex-direction:column;gap:18px}.priority-bar-item{display:flex;flex-direction:column;gap:7px}.priority-bar-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--text-primary)}.priority-bar-value{color:var(--text-muted);font-weight:600}.priority-bar-track{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.priority-bar-fill{height:100%;border-radius:3px;transition:width .6s var(--ease-out)}.priority-bar-fill.high{background:var(--danger)}.priority-bar-fill.medium{background:var(--warning)}.priority-bar-fill.low{background:var(--success)}.user-stats-list{display:flex;flex-direction:column;gap:8px}.user-stat-item{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.user-stat-item:hover{background:var(--bg-tertiary)}.user-stat-info{display:flex;align-items:center;gap:10px}.user-stat-avatar{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff8f2;font-size:13px;flex-shrink:0}.user-stat-details{display:flex;flex-direction:column;gap:1px}.user-stat-name{font-size:13px;font-weight:700;color:var(--text-primary)}.user-stat-role{font-size:11px;color:var(--text-muted);text-transform:capitalize}.user-stat-numbers{text-align:right}.user-stat-total{font-size:14px;font-weight:700;color:var(--text-primary)}.user-stat-completed{font-size:11px;color:var(--success);font-weight:600}.completion-card{background:var(--primary);border-radius:var(--radius-lg);padding:26px;color:var(--primary-ink);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.completion-card:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-120px;border-radius:50%;background:#fff8f214}.completion-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;position:relative}.completion-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:2px;letter-spacing:-.01em}.completion-subtitle{font-size:13px;opacity:.8;font-weight:500}.completion-progress{display:flex;align-items:center;gap:18px;position:relative}.completion-bar{flex:1;height:9px;background:#fff8f238;border-radius:5px;overflow:hidden}.completion-bar-fill{height:100%;background:#fff8f2;border-radius:5px;transition:width .6s var(--ease-out)}.completion-percentage{font-family:var(--font-display);font-size:25px;font-weight:700;min-width:68px;text-align:right;letter-spacing:-.02em}.empty-message{text-align:center;padding:30px 20px;color:var(--text-muted);font-size:13px;font-weight:500}@media (max-width: 768px){.stats-grid,.stats-charts{grid-template-columns:1fr}.completion-card{padding:20px}}.admin-panel{display:flex;height:100dvh;background:var(--bg);overflow:hidden}.admin-sidebar{width:252px;background:var(--bg-card);display:flex;flex-direction:column;border-right:1px solid var(--border);flex-shrink:0}.admin-sidebar-header{padding:17px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.admin-logo{display:flex;align-items:center;gap:9px;color:var(--primary);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em}.admin-close-btn{width:30px;height:30px;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.admin-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.admin-nav{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;text-align:left;width:100%}.admin-nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin-nav-item.active{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.admin-sidebar-footer{padding:14px;border-top:1px solid var(--border)}.admin-user-info{display:flex;align-items:center;gap:10px;padding:9px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:10px}.admin-user-avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--primary-ink);font-size:14px;flex-shrink:0}.admin-user-details{flex:1;min-width:0}.admin-user-name{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-role{font-size:11px;color:var(--text-muted)}.admin-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);font-size:13px;font-weight:700;margin-bottom:10px}.admin-logout-btn:hover{filter:brightness(.96)}.admin-info{display:flex;flex-direction:column;gap:8px}.admin-info-item{display:flex;justify-content:space-between;align-items:center}.admin-info-label{font-size:12px;color:var(--text-muted);font-weight:500}.admin-info-value{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-primary)}.admin-content{flex:1;overflow-y:auto;padding:30px 32px;background:var(--bg)}.admin-header{margin-bottom:26px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.admin-title{font-family:var(--font-display);font-size:25px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.02em}.admin-subtitle{font-size:13.5px;color:var(--text-muted);font-weight:500}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-btn{display:flex;align-items:center;gap:8px;padding:9px 17px;border-radius:var(--radius-full);font-size:13px;font-weight:700;letter-spacing:-.01em}.admin-btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.admin-btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong)}.admin-btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 1024px){.admin-sidebar{width:210px}.admin-content{padding:22px}}@media (max-width: 768px){.admin-panel{flex-direction:column;height:auto;min-height:100dvh}.admin-sidebar{width:100%;height:auto}.admin-nav{flex-direction:row;overflow-x:auto;padding:12px}.admin-sidebar-footer{display:none}}.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}.login-showcase{position:relative;overflow:hidden;background:#1c1611;padding:56px;display:flex;flex-direction:column;justify-content:flex-end;min-height:100dvh}.login-showcase-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login-showcase-glow{position:absolute;width:640px;height:640px;right:-220px;top:-180px;border-radius:50%;background:radial-gradient(circle,#e0834859,#e0834800 68%);filter:blur(10px)}.login-showcase-content{position:relative;z-index:1;max-width:460px}.login-showcase-mark{width:44px;height:44px;border-radius:var(--radius-sm);background:#e08348;color:#211405;display:flex;align-items:center;justify-content:center;margin-bottom:32px}.login-showcase-title{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1.15;letter-spacing:-.025em;color:#f7f1e8;margin-bottom:18px}.login-showcase-text{font-size:14.5px;line-height:1.65;color:#f7f1e89e;max-width:380px;margin-bottom:40px}.login-showcase-stats{display:flex;gap:36px;padding-top:28px;border-top:1px solid rgba(247,241,232,.14)}.login-showcase-stats>div{display:flex;flex-direction:column;gap:4px}.login-showcase-stat-num{font-family:var(--font-display);font-size:26px;font-weight:700;color:#e08348}.login-showcase-stat-label{font-size:12px;color:#f7f1e88c}.login-container{display:flex;align-items:center;justify-content:center;padding:32px;min-height:100dvh}.login-card{width:100%;max-width:380px;animation:loginSlideUp .5s var(--ease-out)}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px}.login-logo{display:none}.login-title{font-family:var(--font-display);font-size:23px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em}.login-subtitle{font-size:13.5px;color:var(--text-muted);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:16px}.login-form-group{display:flex;flex-direction:column;gap:6px}.login-label{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.login-input{width:100%;padding:11px 14px 11px 42px;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);background:var(--bg-card);transition:border-color var(--transition),box-shadow var(--transition)}.login-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.login-input::placeholder{color:var(--text-muted)}.login-toggle-password{position:absolute;right:10px;color:var(--text-muted);background:transparent;padding:6px;border-radius:6px}.login-toggle-password:hover{color:var(--text-primary);background:var(--bg-secondary)}.login-error{padding:10px 14px;background:var(--danger-light);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;font-weight:600}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--primary);color:var(--primary-ink);border:none;border-radius:var(--radius-md);font-size:14.5px;font-weight:700;box-shadow:var(--shadow-sm);letter-spacing:-.01em;margin-top:4px}.login-button:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-button:disabled{opacity:.75}.login-spin{animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{padding-top:22px;margin-top:22px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-container{padding:24px}}.loading-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading-content{text-align:center;animation:loadingFadeIn .4s var(--ease-out)}@keyframes loadingFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-logo{width:52px;height:52px;margin:0 auto 18px;background:var(--primary);color:var(--primary-ink);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;animation:loadingPulse 1.8s ease-in-out infinite}@keyframes loadingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.loading-title{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-primary);margin-bottom:22px;letter-spacing:-.02em}.loading-bar{width:140px;height:3px;margin:0 auto 14px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.loading-bar-fill{width:40%;height:100%;background:var(--primary);border-radius:var(--radius-full);animation:loadingSlide 1.1s ease-in-out infinite}@keyframes loadingSlide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.loading-text{font-size:13px;color:var(--text-muted);font-weight:500}.dashboard{display:flex;flex-direction:column;gap:22px}.dashboard-greeting{margin-bottom:2px}.dashboard-greeting h2{font-family:var(--font-display);font-size:25px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em}.dashboard-greeting p{font-size:13.5px;color:var(--text-muted);margin-top:5px;font-weight:500}.dashboard-stats{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;align-items:center;gap:14px}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-card.featured{background:var(--primary);border-color:var(--primary)}.stat-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.primary{background:var(--primary-light);color:var(--primary)}.stat-card.featured .stat-icon.primary{background:#fff8f22e;color:var(--primary-ink)}.stat-icon.warning{background:var(--warning-light);color:var(--warning)}.stat-icon.success{background:var(--success-light);color:var(--success)}.stat-icon.danger{background:var(--danger-light);color:var(--danger)}.stat-info{min-width:0}.stat-value{font-family:var(--font-display);font-size:27px;font-weight:700;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.stat-card.featured .stat-value,.stat-card.featured .stat-label{color:var(--primary-ink)}.stat-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-top:5px}.stat-card.featured .stat-label{opacity:.85}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.dashboard-section.full-width{grid-column:1 / -1}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:14.5px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.section-title svg{color:var(--text-muted)}.section-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary)}.dashboard-task-list{display:flex;flex-direction:column;gap:3px}.dashboard-task-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-md);cursor:pointer}.dashboard-task-item:hover{background:var(--bg-secondary)}.dashboard-task-check{width:19px;height:19px;border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent}.dashboard-task-check:hover{border-color:var(--primary);background:var(--primary-light)}.dashboard-task-check.completed{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.dashboard-task-check.review{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.dashboard-task-check.review:hover{background:var(--warning);border-color:var(--warning);color:#fff8f2}.dashboard-task-info{flex:1;min-width:0}.dashboard-task-title{font-size:13.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-task-item.completed .dashboard-task-title{text-decoration:line-through;color:var(--text-muted)}.dashboard-task-meta{display:flex;align-items:center;gap:8px;margin-top:3px}.dashboard-task-priority{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:var(--radius-full)}.dashboard-task-priority.high{background:var(--danger-light);color:var(--danger)}.dashboard-task-priority.medium{background:var(--warning-light);color:var(--warning)}.dashboard-task-priority.low{background:var(--success-light);color:var(--success)}.dashboard-task-date{font-size:11px;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:3px}.dashboard-task-date.overdue{color:var(--danger);font-weight:700}.dashboard-task-avatar{width:23px;height:23px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff8f2;font-size:10px;flex-shrink:0;border:1.5px solid var(--bg-card)}.avatar-stack{display:flex}.avatar-stack .dashboard-task-avatar:not(:first-child){margin-left:-8px}.progress-overview{display:flex;flex-direction:column;gap:16px}.progress-ring-container{display:flex;align-items:center;justify-content:center;padding:8px 0}.progress-ring-wrapper{position:relative;width:140px;height:140px}.progress-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring-value{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.progress-ring-label{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:4px}.progress-breakdown{display:flex;flex-direction:column;gap:2px}.progress-row{display:flex;align-items:center;justify-content:space-between;padding:7px 2px;border-bottom:1px solid var(--border)}.progress-row:last-child{border-bottom:none}.progress-row-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.progress-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.progress-row-value{font-size:14px;font-weight:700;color:var(--text-primary)}.deadline-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.deadline-item{display:flex;align-items:center;gap:12px;padding:11px 12px;background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;border-left:3px solid var(--border)}.deadline-item:hover{background:var(--bg-tertiary)}.deadline-item.overdue{border-left-color:var(--danger)}.deadline-item.today{border-left-color:var(--warning)}.deadline-item.upcoming{border-left-color:var(--primary)}.deadline-info{flex:1;min-width:0}.deadline-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-date{font-size:11px;font-weight:700;margin-top:3px}.deadline-date.overdue{color:var(--danger)}.deadline-date.today{color:var(--warning)}.deadline-date.upcoming{color:var(--primary)}.dashboard-empty{text-align:center;padding:36px 16px;color:var(--text-muted)}.dashboard-empty svg{margin-bottom:10px;opacity:.35}.dashboard-empty p{font-size:13px;font-weight:500}@media (max-width: 1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.deadline-list{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-stats{grid-template-columns:1fr}.dashboard-greeting h2{font-size:21px}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-content{display:flex;align-items:flex-start;flex:1;max-width:1560px;width:100%;margin:0 auto;gap:22px;padding:22px 24px 48px}.main-content{flex:1;display:flex;flex-direction:column;gap:18px;min-width:0}.view-switcher{display:flex;gap:3px;padding:4px;background:var(--bg-card);border-radius:var(--radius-md);width:fit-content;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.view-btn{display:flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:-.01em}.view-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-btn.active{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.profile-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--primary-light);border:1px solid var(--primary-medium);border-radius:var(--radius-md);gap:16px}.profile-banner-info{display:flex;align-items:center;gap:12px}.profile-banner-avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff8f2}.profile-banner-name{font-size:14px;font-weight:700;color:var(--text-primary)}.profile-banner-role{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:capitalize}.profile-banner-close{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);font-size:12.5px;font-weight:600;border:1px solid var(--border)}.profile-banner-close:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}@media (max-width: 768px){.app-content{flex-direction:column;padding:14px 14px 32px;gap:14px}.view-btn span{display:none}.view-btn{padding:10px}}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light;--primary: #c1622d;--primary-hover: #a54f22;--primary-press: #8f4319;--primary-light: rgba(193, 98, 45, .09);--primary-medium: rgba(193, 98, 45, .17);--primary-ink: #fff8f2;--accent: #7a6a4f;--accent-light: rgba(122, 106, 79, .1);--success: #3f7d58;--success-light: rgba(63, 125, 88, .12);--warning: #b8862e;--warning-light: rgba(184, 134, 46, .13);--danger: #b23b3b;--danger-light: rgba(178, 59, 59, .11);--bg: #f6f3ec;--bg-card: #fffdf9;--bg-secondary: #efe9dc;--bg-tertiary: #e6ddc9;--text-primary: #211c15;--text-secondary: #5c5545;--text-muted: #8e8471;--border: rgba(33, 28, 21, .09);--border-strong: rgba(33, 28, 21, .15);--shadow-sm: 0 1px 2px rgba(56, 40, 20, .06);--shadow-md: 0 6px 16px -4px rgba(56, 40, 20, .1);--shadow-lg: 0 14px 32px -8px rgba(56, 40, 20, .14);--shadow-xl: 0 24px 56px -12px rgba(56, 40, 20, .2);--shadow-focus: 0 0 0 3px rgba(193, 98, 45, .22);--radius-xs: 6px;--radius-sm: 9px;--radius-md: 13px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition: .2s var(--ease-out);--font-display: "Space Grotesk", "Manrope", -apple-system, sans-serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark]{color-scheme:dark;--primary: #e08348;--primary-hover: #ec9a5f;--primary-press: #f0a970;--primary-light: rgba(224, 131, 72, .13);--primary-medium: rgba(224, 131, 72, .24);--primary-ink: #211405;--accent: #c8bc9f;--accent-light: rgba(200, 188, 159, .1);--success: #6bbf8b;--success-light: rgba(107, 191, 139, .14);--warning: #e0b15c;--warning-light: rgba(224, 177, 92, .15);--danger: #e2726f;--danger-light: rgba(226, 114, 111, .14);--bg: #161210;--bg-card: #211b16;--bg-secondary: #271f19;--bg-tertiary: #33291f;--text-primary: #f4ede2;--text-secondary: #beb1a0;--text-muted: #877c6b;--border: rgba(244, 237, 226, .08);--border-strong: rgba(244, 237, 226, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 6px 18px -4px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 36px -8px rgba(0, 0, 0, .5);--shadow-xl: 0 28px 64px -12px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(224, 131, 72, .28)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;letter-spacing:-.011em;transition:background-color .35s var(--ease-out),color .35s var(--ease-out);position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=dark] body:before{opacity:.05;mix-blend-mode:soft-light}#root{min-height:100vh;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;text-wrap:balance}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:transform .15s var(--ease-spring),background-color var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition)}button:active{transform:scale(.97)}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;outline:none;border:none;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.skip-link{position:absolute;left:12px;top:-48px;z-index:999;background:var(--primary);color:var(--primary-ink);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;transition:top .2s var(--ease-out)}.skip-link:focus{top:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.4}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--primary-medium);color:var(--text-primary)}
