@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@300;400;500;600;700&family=Quicksand:wght@400;500;600;700&display=swap";:root{--font-title:"Fredoka", "Quicksand", sans-serif;--font-body:"Quicksand", sans-serif;--primary-hue:340;--primary-sat:95%;--primary-light:72%;--primary:hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--primary-glow:hsla(var(--primary-hue), var(--primary-sat), var(--primary-light), .25);--primary-hover:hsl(var(--primary-hue), var(--primary-sat), calc(var(--primary-light) - 8%));--success:#4de699;--success-glow:#4de6992e;--warning:#fbbc74;--warning-glow:#fbbc742e;--danger:#f76478;--danger-glow:#f764782e;--bg-app:linear-gradient(135deg, #fff0f5 0%, #ffe4e1 40%, #ffdeeb 100%);--bg-card:#ffffffbf;--bg-sidebar:#ffffffd9;--bg-modal:#ffffffeb;--border-glass:#fff9;--border-card:#ffffff80;--border-input:#ffb6c166;--border-input-focus:hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--text-main:#5d4047;--text-muted:#8c6d75;--text-light:#bca0a7;--text-on-primary:#fff;--shadow-sm:0 6px 12px -2px #ffb6c133;--shadow-md:0 12px 24px -4px #ffb6c140;--shadow-lg:0 24px 38px -6px #ffb6c14d;--shadow-glass:0 8px 32px 0 #ff69b414;--glass-blur:18px;--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-circle:50%;--transition-fast:.2s cubic-bezier(.175, .885, .32, 1.275);--transition-normal:.35s cubic-bezier(.175, .885, .32, 1.275);--scrollbar-bg:#ffc0cb26;--scrollbar-thumb:#ff69b440;--scrollbar-thumb-hover:#ff69b473}.dark-theme{--bg-app:radial-gradient(circle at 50% 50%, #2f171d 0%, #1a0a0d 100%);--bg-card:#2b171ca6;--bg-sidebar:#231216bf;--bg-modal:#2b171ce6;--border-glass:#ffb6c11f;--border-card:#ffb6c114;--border-input:#ffb6c126;--text-main:#fff0f3;--text-muted:#dcb3bc;--text-light:#a67f87;--shadow-sm:0 6px 12px -2px #0006;--shadow-md:0 12px 24px -4px #00000080;--shadow-lg:0 24px 38px -6px #0009;--shadow-glass:0 8px 32px 0 #00000080;--scrollbar-bg:#ffb6c10a;--scrollbar-thumb:#ffb6c12e;--scrollbar-thumb-hover:#ffb6c159}*{box-sizing:border-box;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{background:var(--bg-app);color:var(--text-main);min-height:100vh;transition:background var(--transition-normal), color var(--transition-normal);background-image:radial-gradient(#ff69b412 15%,#0000 15%);background-size:24px 24px;background-attachment:fixed;overflow-x:hidden}.app-container{flex-direction:column;max-width:1440px;min-height:100vh;margin:0 auto;padding:1.5rem;display:flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-bg);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);transition:var(--transition-fast);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box;border:2px solid #0000}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(var(--glass-blur));border:2px solid var(--border-glass);box-shadow:var(--shadow-glass), var(--shadow-sm);border-radius:var(--radius-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-normal), border var(--transition-normal)}.glass-panel-hover:hover{box-shadow:var(--shadow-glass), var(--shadow-md), 0 10px 20px #ff69b41f;border-color:#ffffffd9;animation:2s ease-in-out infinite sweetPulse;transform:translateY(-6px)scale(1.015)}@keyframes sweetPulse{0%{box-shadow:var(--shadow-glass), var(--shadow-md), 0 0 0 0 #ffc0cb66}70%{box-shadow:var(--shadow-glass), var(--shadow-md), 0 0 0 10px #ffc0cb00}to{box-shadow:var(--shadow-glass), var(--shadow-md), 0 0 0 0 #ffc0cb00}}.glass-button{border:2px solid var(--border-glass);color:var(--text-main);cursor:pointer;transition:var(--transition-fast);font-size:.9rem;font-weight:600;font-family:var(--font-title);background:#ffffff59;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.4rem;text-decoration:none;display:inline-flex;box-shadow:0 4px 8px #ffb6c126}.glass-button:hover{background:#ffffffa6;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 14px #ffb6c14d}.glass-button:active{transform:translateY(1px)scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #fb74b8 100%);color:var(--text-on-primary);box-shadow:0 5px 16px 0 var(--primary-glow);border:2px solid #0000}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #fb51a6 100%);color:var(--text-on-primary);box-shadow:0 8px 22px 0 var(--primary-glow), 0 0 12px #ff69b466}.btn-danger{background:linear-gradient(135deg, var(--danger) 0%, #f53d56 100%);color:var(--text-on-primary);box-shadow:0 5px 16px 0 var(--danger-glow);border:2px solid #0000}.btn-danger:hover{color:var(--text-on-primary);background:linear-gradient(135deg,#f53d56 0%,#f31634 100%)}.glass-input,.glass-select,.glass-textarea{border:2px solid var(--border-input);border-radius:var(--radius-md);width:100%;color:var(--text-main);transition:var(--transition-fast);background:#fff6;outline:none;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500}.dark-theme .glass-input,.dark-theme .glass-select,.dark-theme .glass-textarea{background:#0003}.glass-input:focus,.glass-select:focus,.glass-textarea:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 4px var(--primary-glow);background:#ffffffb3;transform:scale(1.005)}.badge{letter-spacing:.025em;text-transform:uppercase;border-radius:9999px;align-items:center;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-high{background:var(--danger-glow);color:var(--danger);border:2px solid #ff5a5f40;box-shadow:0 2px 8px #ff5a5f14}.badge-medium{background:var(--warning-glow);color:#ed851d;border:2px solid #f59e0b40;box-shadow:0 2px 8px #f59e0b14}.badge-low{background:var(--success-glow);color:#1bbb6b;border:2px solid #10b98140;box-shadow:0 2px 8px #10b98114}.badge-status{color:var(--primary);border:2px solid var(--primary-glow);background:#ffc0cb40;font-weight:700}.navbar{border-radius:var(--radius-lg);z-index:100;justify-content:space-between;align-items:center;margin-bottom:2.2rem;padding:1.1rem 2rem;animation:4s ease-in-out infinite floatCloud;display:flex;position:sticky;top:1rem}@keyframes floatCloud{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.nav-brand{align-items:center;gap:.75rem;display:flex}.nav-logo{background:linear-gradient(135deg, var(--primary) 0%, #ff80ff 100%);-webkit-text-fill-color:transparent;font-size:1.9rem;font-weight:800;font-family:var(--font-title);letter-spacing:-.2px;-webkit-background-clip:text}.nav-logo-icon{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--primary) 0%, #ff80ff 100%);color:#fff;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.4rem;animation:8s linear infinite spinLogo;display:flex;box-shadow:0 6px 18px #ff69b440}@keyframes spinLogo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-controls{align-items:center;gap:1.25rem;display:flex}.role-selector{border:2px solid var(--border-glass);background:#ffb6c126;border-radius:999px;padding:.35rem;display:flex}.dark-theme .role-selector{background:#00000026}.role-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);font-size:.85rem;font-weight:600;font-family:var(--font-title);background:0 0;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1.25rem;display:flex}.role-btn.active{background:linear-gradient(135deg, var(--primary) 0%, #fb74b8 100%);color:#fff;box-shadow:0 4px 10px var(--primary-glow);font-weight:700}.theme-toggle{border:2px solid var(--border-glass);width:42px;height:42px;color:var(--text-main);cursor:pointer;transition:var(--transition-fast);background:#ffffff80;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;box-shadow:0 4px 8px #ffb6c126}.theme-toggle:hover{background:#fff;transform:scale(1.1)rotate(15deg)}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dashboard-grid{grid-template-columns:1fr}}.metric-card{border-radius:var(--radius-md);flex-direction:column;padding:1.6rem;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--accent-color,var(--primary));width:6px;height:100%;position:absolute;top:0;left:0}.metric-header{color:var(--text-muted);font-size:.9rem;font-weight:600;font-family:var(--font-title);justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.metric-icon{border-radius:var(--radius-sm);background:var(--accent-glow,var(--primary-glow));width:44px;height:44px;color:var(--accent-color,var(--primary));justify-content:center;align-items:center;font-size:1.5rem;display:flex;box-shadow:0 4px 10px #ffb6c11a}.metric-value{font-size:2.5rem;font-weight:800;font-family:var(--font-title);color:var(--text-main);text-shadow:1px 1px #fffc;margin-bottom:.5rem;line-height:1}.dark-theme .metric-value{text-shadow:none}.metric-footer{color:var(--text-muted);font-size:.775rem;font-weight:500}.dashboard-layout{grid-template-columns:330px 1fr;gap:2rem;display:grid}@media (width<=968px){.dashboard-layout{grid-template-columns:1fr}}.workload-panel{flex-direction:column;gap:1.25rem;height:fit-content;padding:1.6rem;display:flex}.panel-title{font-size:1.25rem;font-family:var(--font-title);color:var(--text-main);align-items:center;gap:.5rem;font-weight:700;display:flex}.member-workload-list{flex-direction:column;gap:1.1rem;display:flex}.member-workload-item{border-radius:var(--radius-sm);transition:transform var(--transition-fast);background:#ffc0cb14;border:2px solid #ffb6c126;padding:1rem}.member-workload-item:hover{background:#ffc0cb24;transform:translateY(-2px)}.member-info{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.member-avatar{border-radius:var(--radius-circle);background:var(--bg-avatar,#e2e8f0);color:#fff;border:2px solid #fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 10px #0000001a}.member-details{flex-direction:column;display:flex}.member-name{font-size:.9rem;font-weight:700;line-height:1.2}.member-role{color:var(--text-muted);font-size:.775rem}.workload-bar-container{flex-direction:column;gap:.3rem;display:flex}.workload-stats{color:var(--text-muted);justify-content:space-between;font-size:.775rem;font-weight:600;display:flex}.workload-bar-track{background:#ffb6c140;border-radius:999px;height:8px;position:relative;overflow:hidden}.dark-theme .workload-bar-track{background:#ffb6c114}.workload-bar-fill{background:linear-gradient(90deg, var(--primary) 0%, #fb74b8 100%);height:100%;transition:width var(--transition-normal);box-shadow:0 0 6px var(--primary-glow);border-radius:999px}.workload-chips{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;display:flex}.workload-chip{background:#ffffff80;border:1px solid #ffb6c14d;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.dark-theme .workload-chip{background:#0003}.workload-chip.todo{color:#64748b;border-color:#94a3b866}.workload-chip.inprogress{color:var(--primary);border-color:#ff69b466}.workload-chip.review{color:#d97706;border-color:#f59e0b66}.workload-chip.done{color:#059669;border-color:#10b98166}.tasks-panel{flex-direction:column;gap:1.5rem;padding:1.6rem;display:flex}.tasks-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;display:flex}.search-box{flex:1;min-width:200px}.filter-select{width:auto;min-width:135px}.table-container{border-radius:var(--radius-sm);border:2px solid var(--border-glass);overflow-x:auto;box-shadow:0 4px 12px #ffb6c10d}.task-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.task-table th,.task-table td{border-bottom:2px solid var(--border-glass);padding:1.1rem 1.35rem}.task-table th{color:var(--text-muted);font-weight:700;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.5px;background:#ffc0cb26;font-size:.85rem}.dark-theme .task-table th{background:#00000026}.task-table tbody tr{transition:background var(--transition-fast)}.task-table tbody tr:hover{background:#ffb6c114}.task-cell-title{flex-direction:column;gap:.25rem;max-width:280px;display:flex}.task-cell-title-name{color:var(--text-main);cursor:pointer;transition:var(--transition-fast);font-weight:700;text-decoration:none}.task-cell-title-name:hover{color:var(--primary);transform:translate(2px)}.task-cell-title-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.775rem;overflow:hidden}.task-cell-assignee{align-items:center;gap:.5rem;display:flex}.action-buttons{gap:.5rem;display:flex}.action-btn{border-radius:var(--radius-sm);border:2px solid var(--border-glass);cursor:pointer;width:34px;height:34px;color:var(--text-muted);transition:var(--transition-fast);background:#ffffff80;justify-content:center;align-items:center;display:flex}.action-btn:hover{background:#fff;transform:scale(1.1)}.action-btn.edit:hover{color:var(--primary);border-color:#ff69b466;box-shadow:0 0 8px #ff69b433}.action-btn.delete:hover{color:var(--danger);border-color:#ef444466}.kanban-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.team-selector{align-items:center;gap:.75rem;display:flex}.team-pill-list{gap:.65rem;display:flex}.team-pill{border:2px solid var(--border-glass);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);font-size:.85rem;font-weight:600;font-family:var(--font-title);background:#fff6;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;display:flex;box-shadow:0 4px 8px #ffb6c10d}.team-pill:hover{color:var(--text-main);background:#fff;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 12px #ffb6c126}.team-pill.active{background:linear-gradient(135deg, var(--primary) 0%, #fb74b8 100%);color:#fff;box-shadow:0 6px 14px var(--primary-glow);border-color:#0000}.kanban-board{flex-grow:1;grid-template-columns:repeat(4,1fr);align-items:start;gap:1.35rem;display:grid}@media (width<=1200px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.kanban-board{grid-template-columns:1fr}}.kanban-column{-webkit-backdrop-filter:blur(10px);border:2px solid var(--border-glass);border-radius:var(--radius-md);min-height:520px;transition:background var(--transition-normal), border var(--transition-normal);background:#ffffff73;flex-direction:column;gap:1.15rem;padding:1.15rem;display:flex;box-shadow:0 4px 16px #ffb6c10d}.dark-theme .kanban-column{background:#1e0f1259}.kanban-column.drag-over{border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow);background:#ffb6c126}.column-header{border-bottom:2px dashed #ffb6c166;justify-content:space-between;align-items:center;margin-bottom:.25rem;padding-bottom:.65rem;display:flex}.column-title{color:var(--text-main);font-size:1rem;font-weight:700;font-family:var(--font-title);align-items:center;gap:.5rem;display:flex}.column-dot{background:var(--dot-color,var(--text-light));width:10px;height:10px;box-shadow:0 0 6px var(--dot-color);border-radius:50%}.column-count{color:var(--primary);font-size:.8rem;font-weight:700;font-family:var(--font-title);background:#ffb6c140;border-radius:999px;padding:.2rem .65rem}.dark-theme .column-count{background:#0003}.column-cards-container{flex-direction:column;gap:.95rem;min-height:420px;display:flex}.kanban-card{cursor:grab;background:var(--bg-card);border-radius:var(--radius-sm);flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;position:relative}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.35;border:2px dashed var(--primary);transform:scale(.95)rotate(-2deg)}.card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.card-title{color:var(--text-main);cursor:pointer;transition:var(--transition-fast);font-size:.95rem;font-weight:700;line-height:1.4;font-family:var(--font-title)}.card-title:hover{color:var(--primary)}.card-body{color:var(--text-muted);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.8rem;font-weight:500;line-height:1.55;display:-webkit-box;overflow:hidden}.card-footer{border-top:2px solid var(--border-glass);justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.85rem;display:flex}.card-date{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.725rem;font-weight:600;display:flex}.card-date.overdue{color:var(--danger);font-weight:700;animation:1.5s ease-in-out infinite pulseOverdue}@keyframes pulseOverdue{0%{transform:scale(1)}50%{opacity:.9;transform:scale(1.03)}to{transform:scale(1)}}.card-actions{gap:.25rem;display:flex}.card-action-btn{border:2px solid var(--border-glass);cursor:pointer;width:26px;height:26px;color:var(--text-muted);transition:var(--transition-fast);background:#fff6;border-radius:6px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.card-action-btn:hover{color:var(--primary);border-color:var(--primary-glow);background:#fff}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#5d404759;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);flex-direction:column;gap:1.6rem;width:100%;max-width:620px;max-height:90vh;padding:2.2rem;animation:.4s cubic-bezier(.175,.885,.32,1.3) sweetBounceIn;display:flex;position:relative;overflow-y:auto}@keyframes sweetBounceIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:1.45rem;font-family:var(--font-title);color:var(--text-main);font-weight:800}.modal-close{border:2px solid var(--border-glass);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:#ffc0cb26;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.modal-close:hover{background:var(--primary);color:#fff;transform:rotate(90deg)}.modal-body{flex-direction:column;gap:1.35rem;display:flex}.form-group{flex-direction:column;gap:.55rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-label{color:var(--text-muted);font-size:.875rem;font-weight:700;font-family:var(--font-title)}.modal-footer{border-top:2px dashed #ffb6c166;justify-content:flex-end;gap:.85rem;margin-top:.5rem;padding-top:1.35rem;display:flex}.detail-meta-grid{border-radius:var(--radius-sm);background:#ffc0cb1f;border:2px solid #ffb6c133;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.1rem;display:grid}@media (width<=480px){.detail-meta-grid{grid-template-columns:1fr}}.meta-item{flex-direction:column;gap:.25rem;display:flex}.meta-label{color:var(--text-muted);text-transform:uppercase;font-size:.775rem;font-weight:700;font-family:var(--font-title)}.meta-value{align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.detail-desc{color:var(--text-main);white-space:pre-line;font-size:.95rem;font-weight:500;line-height:1.65}.comment-section{border-top:2px dashed #ffb6c166;flex-direction:column;gap:1.1rem;padding-top:1.35rem;display:flex}.comment-list{flex-direction:column;gap:.95rem;max-height:220px;padding-right:.25rem;display:flex;overflow-y:auto}.comment-item{border-radius:var(--radius-sm);transition:transform var(--transition-fast);background:#ffc0cb1a;border:2px solid #ffb6c126;padding:.85rem;font-size:.875rem}.comment-item:hover{transform:scale(1.005)translate(2px)}.dark-theme .comment-item{background:#00000040;border-color:#ffb6c10d}.comment-header{justify-content:space-between;margin-bottom:.4rem;display:flex}.comment-sender{color:var(--text-main);font-weight:700;font-family:var(--font-title)}.comment-time{color:var(--text-light);font-size:.725rem;font-weight:600}.comment-text{color:var(--text-muted);font-weight:500;line-height:1.45}.comment-input-row{gap:.65rem;display:flex}.comment-input{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:3.5rem 1.5rem;display:flex}.empty-icon{font-size:3.5rem;animation:2.5s ease-in-out infinite floatCloud}.empty-text{font-size:1.05rem;font-weight:600;font-family:var(--font-title)}
