:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:360px}.login-card h1{margin:0 0 .25rem;font-size:1.5rem}.login-subtitle{margin:0 0 1.5rem;color:var(--text-muted);font-size:.9rem}.login-error{margin:0 0 1rem;color:var(--danger);font-size:.9rem}.login-btn{width:100%;padding:.6rem}.overview-actions{display:flex;align-items:center;gap:1rem}.overview-search{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.search-input{max-width:320px}.search-count{font-size:.85rem;color:var(--text-muted)}.search-no-results{margin-top:1rem}.overview-projects{display:flex;flex-direction:column;gap:1.5rem}.project-card{padding:1rem 1.25rem}.project-card-header h3{margin:0 0 .25rem;font-size:1.15rem}.project-card-header h3 a{color:inherit;text-decoration:none}.project-card-header h3 a:hover{color:var(--accent)}.project-tasks-summary{margin-top:1rem;overflow-x:auto}.overview-tasks-table{width:100%;border-collapse:collapse;font-size:.9rem}.overview-tasks-table th,.overview-tasks-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.overview-tasks-table th{font-weight:600;color:var(--text-muted);font-size:.8rem}.overview-tasks-table td{vertical-align:middle}.no-tasks{margin:.5rem 0;color:var(--text-muted);font-size:.9rem}.project-card .project-link{display:inline-block;margin-top:.75rem;font-size:.9rem}.add-project-card{margin-bottom:1.5rem;max-width:400px}.add-project-card h3{margin:0 0 1rem;font-size:1.1rem}.form-error{color:var(--danger);font-size:.9rem;margin:.5rem 0 0}.project-detail{width:100%}.back-link{display:inline-block;margin-bottom:.75rem;color:var(--text-muted);font-size:.9rem}.back-link:hover{color:var(--accent)}.project-desc-block{margin:.5rem 0 1rem}.project-desc-block strong{font-size:.85rem;color:var(--text-muted)}.project-header .project-desc{margin:.25rem 0 0;color:var(--text);font-size:.95rem;line-height:1.5;white-space:pre-wrap}.project-stats{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:var(--text-muted)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}@media(max-width:900px){.kanban{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.kanban{grid-template-columns:1fr}}.kanban-column h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.kanban-column.status-todo h3{border-color:var(--text-muted)}.kanban-column.status-in_progress h3{border-color:var(--accent)}.kanban-column.status-done h3{border-color:var(--success)}.kanban-column.status-blocked h3{border-color:var(--danger)}.kanban-cards{display:flex;flex-direction:column;gap:.75rem}.kanban-card{padding:.75rem 1rem}.task-title{font-weight:500;margin-bottom:.35rem}.task-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.task-times{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted)}.task-desc{margin:.5rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.task-notes-section,.task-notes-inline{margin-top:.5rem}.task-notes-section label,.task-notes-inline label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.task-note-item:last-of-type{border-bottom:none}.task-edit-link{display:inline-block;margin-top:.5rem;font-size:.8rem}.task-inline-edit{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--border)}.task-inline-edit .form-group{margin-bottom:.5rem}.task-inline-edit .form-group label{font-size:.8rem}.input-sm{padding:.35rem .5rem;font-size:.85rem}.task-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.add-task-card{margin-bottom:1.5rem;max-width:400px}.add-task-card h3{margin:0 0 1rem;font-size:1.1rem}.project-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.project-title-row .page-title{margin:0}.edit-project-form{margin-bottom:1rem;max-width:400px}.progress-bar{margin-top:.25rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-card{transition:border-color .15s}.project-card:hover{border-color:var(--accent)}.project-card h3{margin:0 0 .5rem;font-size:1.1rem}.project-card .project-desc{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-link{font-size:.9rem;color:var(--accent)}.overview-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.member-badge{font-size:.9rem;color:var(--text-muted)}.text-muted{color:var(--text-muted)}.empty-state{text-align:center;padding:2rem}.empty-state code{background:var(--bg);padding:.15rem .4rem;border-radius:4px;font-size:.85rem}.my-tasks-desc{margin:-.5rem 0 1.5rem;color:var(--text-muted);font-size:.95rem}.task-list{display:flex;flex-direction:column;gap:1rem}.task-item{padding:1rem 1.25rem}.task-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.task-item-header h3{margin:0;font-size:1.05rem}.task-project{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.task-item-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.task-desc{margin:.35rem 0;font-size:.9rem;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.task-notes-inline .task-note-item,.task-notes-inline .task-note-add{margin-top:.35rem}.task-note-item{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.task-note-date,.task-note-by{color:var(--text-muted);font-size:.75rem}.task-note-text{margin:.25rem 0 0;white-space:pre-wrap}.task-note-add{display:flex;gap:.5rem;margin-top:.5rem}.task-note-add input{flex:1}.task-times{margin:.35rem 0;font-size:.85rem;color:var(--text-muted)}.task-updated{margin:.5rem 0 .75rem;font-size:.8rem;color:var(--text-muted)}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.task-edit-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.task-edit-form .form-group{margin-bottom:.75rem}.task-edit-form textarea{resize:vertical;min-height:60px}.task-edit-actions{display:flex;gap:.5rem;margin-top:1rem}.members-page{width:100%}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.members-error{color:var(--danger);margin-bottom:1rem}.members-form-card{margin-bottom:1.5rem;max-width:400px}.members-form-card h3{margin:0 0 1rem;font-size:1.1rem}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.members-table{overflow-x:auto;padding:0}.members-table table{width:100%;border-collapse:collapse}.members-table th,.members-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.members-table th{font-weight:600;color:var(--text-muted);font-size:.85rem}.members-table td{vertical-align:middle}.role-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.role-member{background:var(--bg-hover);color:var(--text-muted)}.role-admin{background:var(--accent-dim);color:var(--accent)}.inline-edit-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.inline-edit-form .input-sm{width:auto;min-width:120px}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f8514933}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.settings-page{max-width:400px}.settings-card h2{margin:0 0 1rem;font-size:1.1rem}.settings-success{color:var(--success);margin:.5rem 0;font-size:.9rem}.settings-error{color:var(--danger);margin:.5rem 0;font-size:.9rem}:root{--bg: #0f1419;--bg-card: #1a2332;--bg-hover: #243044;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-dim: #388bfd66;--success: #3fb950;--warning: #d29922;--danger: #f85149;--border: #30363d;--radius: 8px;--font-sans: "DM Sans", "Inter", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.nav-brand{font-weight:600;font-size:1.1rem}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-muted);text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.main{flex:1;padding:1.5rem;max-width:1600px;margin:0 auto;width:100%}.page-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:#79b8ff}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.input{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem}.input:focus{outline:none;border-color:var(--accent)}.textarea{resize:vertical;min-height:80px}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.9rem;color:var(--text-muted)}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-todo{background:var(--bg-hover);color:var(--text-muted)}.status-in_progress{background:var(--accent-dim);color:var(--accent)}.status-done{background:#3fb95033;color:var(--success)}.status-blocked{background:#f8514933;color:var(--danger)}.progress-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--success);border-radius:3px;transition:width .2s}.admin-badge{font-size:.75rem;padding:.15rem .5rem;background:var(--accent-dim);color:var(--accent);border-radius:4px;font-weight:500}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem}.user-menu-chevron{font-size:.6rem;opacity:.7}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:160px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;overflow:hidden;z-index:100}.user-menu-header{padding:.75rem 1rem;font-weight:500;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.9rem}.user-menu-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;color:var(--text);font-size:.9rem;cursor:pointer;text-decoration:none;transition:background .15s}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-logout{color:var(--danger)}
