@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&display=swap";html{font-size:8px}@media (width>=768px){html{font-size:14px}}:root{--bg-color:#0f1115;--bg-gradient:radial-gradient(circle at top right, #1a1d24, #0f1115);--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-color:#3b82f6;--accent-hover:#2563eb;--glass-bg:#1e293b66;--glass-border:#ffffff0d;--status-done:#10b981;--status-review:#f59e0b;--status-todo:#6366f1}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;font-family:Inter,sans-serif;line-height:1.5}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(1.2rem);border:1px solid var(--glass-border);border-radius:1.6rem;box-shadow:0 .4rem 3rem #0000001a}.animate-fade-in{animation:.5s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #3b82f6b3}70%{transform:scale(1);box-shadow:0 0 0 1rem #3b82f600}to{transform:scale(.95);box-shadow:0 0 #3b82f600}}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{height:100vh;color:var(--text-secondary);letter-spacing:0.5rem;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;font-weight:500;display:flex}.spinner-large{border:3px solid var(--glass-border);border-top-color:var(--accent-color);border-radius:50%;width:4rem;height:4rem;animation:1s linear infinite spin}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.6rem;height:1.6rem;animation:1s linear infinite spin;display:inline-block}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{width:100%;max-width:40rem;padding:4rem}.login-header{text-align:center;margin-bottom:3.2rem}.logo-pulse{background:var(--accent-color);border-radius:1.2rem;width:4.8rem;height:4.8rem;margin:0 auto 2rem;animation:2s infinite pulse}.login-header h1{background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.8rem;font-size:2.4rem;font-weight:700}.login-header p{color:var(--text-secondary);font-size:1.4rem}.input-group{margin-bottom:2rem}.input-group input{border:1px solid var(--glass-border);color:#fff;background:#0f111599;border-radius:1rem;outline:none;width:100%;padding:1.4rem 1.6rem;font-family:inherit;font-size:1.5rem;transition:all .2s}.input-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f633}.btn-primary{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:1rem;justify-content:center;align-items:center;width:100%;padding:1.4rem;font-size:1.5rem;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.error-message{color:#ef4444;text-align:center;margin-bottom:1.6rem;font-size:1.3rem}.milestone-container{max-width:100rem;margin:0 auto;padding:2rem}.glass-header{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:blur(1.6rem);backdrop-filter:blur(1.6rem);border:1px solid var(--glass-border);border-radius:1.6rem;margin-bottom:3rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;padding:1.6rem 2.4rem;display:flex}.header-content h1{letter-spacing:0.5rem;font-size:2rem;font-weight:700}.btn-logout{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:.8rem;align-items:center;gap:.6rem;padding:.8rem 1.2rem;font-size:1.3rem;font-weight:600;transition:all .2s;display:flex}.btn-logout:hover{color:#fff;background:#ffffff1a}.desktop-actions{display:none}.mobile-actions{justify-content:flex-end;align-items:center;gap:.8rem;margin-bottom:1.6rem;display:flex}@media (width>=768px){.desktop-actions{align-items:center;gap:.8rem;display:flex}.mobile-actions{display:none}}.empty-state{text-align:center;padding:6rem 2rem}.empty-icon{margin-bottom:1.6rem;font-size:4.8rem}.empty-state h2{margin-bottom:.8rem;font-size:2rem}.empty-state p{color:var(--text-secondary)}.timeline{flex-direction:column;gap:3.2rem;display:flex}.date-group{position:relative}.date-header{cursor:pointer;justify-content:flex-start;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex;position:relative}.date-marker{background:var(--bg-color);border:3px solid var(--text-secondary);z-index:2;border-radius:50%;width:1.2rem;height:1.2rem;transition:all .3s}.is-today .date-marker{border-color:var(--accent-color);box-shadow:0 0 0 .4rem #3b82f633}.is-today .date-header h2{color:var(--accent-color)}.date-header h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;font-size:1.6rem;font-weight:700}.task-list{grid-template-columns:repeat(auto-fill,minmax(30rem,1fr));gap:1.6rem;display:grid}.task-card{padding:2rem;transition:transform .2s,border-color .2s;animation:.5s ease-out both slideInRight;position:relative;overflow:hidden}.task-card:hover{border-color:#ffffff1a;transform:translateY(-2px)}.task-glow{background:var(--text-secondary);width:.4rem;height:100%;position:absolute;top:0;left:0}.task-card.status-done .task-glow{background:var(--status-done)}.task-card.status-review .task-glow{background:var(--status-review)}.task-card.status-todo .task-glow{background:var(--status-todo)}.task-card.status-in_progress .task-glow{background:var(--accent-color)}.task-top{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.proj-code{letter-spacing:0.5rem;background:#ffffff0d;border-radius:.6rem;padding:.4rem .8rem;font-size:1.1rem;font-weight:800}.task-status{text-transform:uppercase;border-radius:1.2rem;padding:.4rem .8rem;font-size:1rem;font-weight:700}.task-status.status-done{color:var(--status-done);background:#10b9811a}.task-status.status-review{color:var(--status-review);background:#f59e0b1a}.task-status.status-todo{color:var(--status-todo);background:#6366f11a}.task-status.status-in_progress{color:var(--accent-color);background:#3b82f61a}.task-name{margin-bottom:.4rem;font-size:1.6rem;font-weight:600;line-height:1.3}.proj-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:1.6rem;font-size:1.2rem;overflow:hidden}.task-footer{border-top:1px solid #ffffff0d;justify-content:flex-start;align-items:center;margin-top:auto;padding-top:1.2rem;display:flex}.task-assignee{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:500;display:flex}.avatar-mini{background:linear-gradient(45deg, var(--accent-color), #8b5cf6);object-fit:cover;color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;font-weight:600;display:flex}.icon-assignee{color:var(--accent-color)}.icon-checker{color:var(--status-done)}[data-theme=light]{--bg-color:#f8fafc;--bg-gradient:radial-gradient(circle at top right, #fff, #e2e8f0);--text-primary:#0f1115;--text-secondary:#475569;--glass-bg:#fff9;--glass-border:#00000014;--accent-color:#2563eb;--accent-hover:#1d4ed8}.task-list-compact{flex-direction:column;gap:.8rem;display:flex}.task-compact{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:.8rem;align-items:center;gap:1rem;padding:.8rem 1.2rem;transition:all .2s;display:flex}.task-compact.is-done{opacity:.4;background:#0000000d!important;border-color:#0000!important}[data-theme=dark] .task-compact.is-done{background:#ffffff05!important}.task-compact.is-done .task-compact-name{text-decoration:line-through;color:var(--text-secondary)!important}.task-compact.is-done .tag-k-mini,.task-compact.is-done .tag-s-mini{color:var(--text-secondary)!important;background:#8080804d!important}.task-compact-checkbox{color:var(--text-secondary);flex-shrink:0}.task-compact-checkbox.checked{color:var(--text-secondary)}.task-compact-tags{align-items:center;gap:.6rem;min-width:fit-content;display:flex}.tag-k-mini,.tag-s-mini{border-radius:.3rem;padding:.2rem .4rem;font-size:1rem;font-weight:700;line-height:1}.tag-k-mini{color:#fff;background:#be185dcc}.tag-s-mini{color:#fff;background:#0369a1cc}.task-compact-status{text-transform:uppercase;font-size:1rem;font-weight:600}.task-compact-avatar .avatar-mini{width:1.8rem;height:1.8rem;font-size:.9rem}.task-compact-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.2rem;font-weight:500;overflow:hidden}.task-compact-proj{color:var(--text-secondary);white-space:nowrap;font-size:1.1rem}.toggle-done-container{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--glass-border);background:#ffffff0d;border-radius:.8rem;align-items:center;gap:.6rem;padding:.6rem 1.2rem;font-size:1.3rem;font-weight:600;transition:all .2s;display:flex}.toggle-done-container:hover{color:var(--text-primary);background:#ffffff1a}.toggle-done-checkbox{appearance:none;border:2px solid var(--text-secondary);cursor:pointer;border-radius:.4rem;width:1.6rem;height:1.6rem;margin:0;transition:all .2s;position:relative}.toggle-done-checkbox:checked{background:var(--accent-color);border-color:var(--accent-color)}.toggle-done-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.4rem;height:.8rem;position:absolute;top:.1rem;left:.4rem;transform:rotate(45deg)}.toggle-done-label{line-height:1}.collapse-icon{color:var(--text-secondary);transition:transform .2s ease-in-out}.collapse-icon.collapsed{transform:rotate(-90deg)}.task-count{color:var(--text-secondary);margin-left:.8rem;font-size:1.2rem;font-weight:500}.text-k{color:#f472b6!important}.tag-k{color:#fff;vertical-align:middle;background-color:#be185d;border-radius:.4rem;margin-right:.8rem;padding:.2rem .6rem;font-size:1.1rem;font-weight:700;line-height:1.2;display:inline-block}.text-s{color:#38bdf8!important}.tag-s{color:#fff;vertical-align:middle;background-color:#0369a1;border-radius:.4rem;margin-right:.8rem;padding:.2rem .6rem;font-size:1.1rem;font-weight:700;line-height:1.2;display:inline-block}.task-card.bg-k{background-color:#f472b61a!important;border-color:#f472b633!important}[data-theme=light] .task-card.bg-k{background-color:#f472b626!important;border-color:#f472b64d!important}.task-card.bg-s{background-color:#38bdf81a!important;border-color:#38bdf833!important}[data-theme=light] .task-card.bg-s{background-color:#38bdf826!important;border-color:#38bdf84d!important}
