:root{--bg:#f4f6f9;--panel:#fff;--panel-dark:#f9fafb;--border:#d8dee8;--text:#1e293b;--muted:#64748b;--blue:#2563eb;--danger:#c2414f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,textarea,select{font:inherit}h1,h2,h3{margin-top:0}h1{margin-bottom:.35rem;font-size:2rem}h2{margin-bottom:1rem;font-size:1.2rem}h3{margin-bottom:.5rem;font-size:1rem}p{margin-top:0}a{color:#2563eb}.app-shell{max-width:1280px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header p{color:var(--muted);margin-bottom:0}.panel,.project-card,.task-card,.kanban-column,.auth-card{border:1px solid var(--border);background:var(--panel);border-radius:8px}.panel{padding:1rem}input,textarea,select{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:5px;outline:none;padding:.55rem .65rem}textarea{resize:vertical;min-height:88px}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,textarea:focus,select:focus{border-color:var(--blue)}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--blue)}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%;min-width:0;max-width:100%}.button{border:1px solid var(--blue);color:#fff;background:var(--blue);border-radius:5px;align-items:center;gap:.35rem;min-height:40px;padding:.5rem .85rem;font-weight:600;display:inline-flex}.button:hover:not(:disabled){background:#1d4ed8}.button:disabled{cursor:not-allowed;opacity:.6}.button-secondary{border-color:var(--border);color:var(--text);background:0 0}.button-secondary:hover:not(:disabled){background:#f1f5f9}.button-danger{color:#b42334;background:0 0;border-color:#f0b8c0}.button-compact{min-height:30px;padding:.3rem .55rem;font-size:.78rem}.button-ai{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#8b5cf6}.button-ai:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#5b21b6)}.dashboard-grid{grid-template-columns:1fr .75fr;gap:1rem;display:grid}.dashboard-header{position:relative}.dashboard-title{min-width:0}.menu-toggle{display:none}.dashboard-menu{align-items:center;display:flex}.dashboard-menu .button{white-space:nowrap}.project-form{grid-template-columns:1fr auto;gap:.75rem;display:grid}.project-form h2,.project-form textarea{grid-column:1/-1}.project-form textarea{min-height:76px}.project-form .button{place-self:end;width:auto}.section-heading{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.section-heading h2{margin:0}.projects-section,.tasks-section{margin-top:2rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.project-card{flex-direction:column;min-height:150px;padding:1rem;display:flex}.project-card p{color:var(--muted);flex:1;margin-bottom:1rem;font-size:.9rem}.text-link{align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.empty-state{color:var(--muted)}.loading-state{min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:.65rem;display:flex}.loading-state p{margin:0}.loading-panel{min-height:112px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;flex:none;width:1.1rem;height:1.1rem;animation:.8s linear infinite loading-spin}.activity-list{gap:.7rem;display:grid}.activity-item{border-top:1px solid var(--border);padding-top:.7rem}.activity-item:first-child{border-top:0;padding-top:0}.activity-item p{color:var(--muted);margin:0;font-size:.9rem}.activity-item strong{color:var(--text)}.task-form{grid-template-columns:repeat(4,1fr);gap:1rem;min-width:0;display:grid}.task-form>*{min-width:0}.task-form h2,.task-form>input[type=text],.task-form>textarea,.label-editor{grid-column:1/-1}.task-form h2{margin-bottom:0}.task-submit{grid-column:1/-1;justify-self:start}.task-form .label-editor{margin-top:.25rem}.subtask-editor{grid-column:1/-1;gap:.65rem;margin-top:.25rem;display:grid}.subtask-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.subtask-header h3{margin:0;font-size:.9rem}.subtask-header .button{flex-shrink:0}.label-editor h3,.subtask-list h3{margin-bottom:.45rem;font-size:.9rem}.label-list{flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem;display:flex}.label-chip{color:#1e40af;background:#e7efff;border-radius:4px;align-items:center;gap:.25rem;padding:.22rem .4rem;font-size:.78rem;display:inline-flex}.chip-remove{color:inherit;background:0 0;border:0;font-size:1rem;line-height:1}.inline-form{gap:.5rem;display:flex}.inline-form input{flex:1}.kanban-board{grid-template-columns:repeat(5,minmax(220px,1fr));gap:.75rem;padding-bottom:.75rem;display:grid;overflow-x:auto}.kanban-column{background:#eef2f7;min-height:300px;padding:.75rem}.column-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.column-header h2{margin:0;font-size:.9rem}.column-header span{color:var(--muted);font-size:.82rem}.kanban-tasks{gap:.65rem;display:grid}.task-card{background:var(--panel);cursor:grab;touch-action:none;padding:.75rem}.task-card:active{cursor:grabbing}.task-description{color:var(--muted);margin-bottom:.65rem;font-size:.84rem}.priority-pill{text-transform:capitalize;border-radius:4px;margin-bottom:.55rem;padding:.18rem .4rem;font-size:.72rem;display:inline-block}.priority-low{color:#167044;background:#dcf5e7}.priority-medium{color:#9a6700;background:#fff1cc}.priority-high{color:#b42334;background:#ffe4e7}.task-date,.task-assignee{color:var(--muted);align-items:center;gap:.35rem;margin-bottom:.7rem;font-size:.78rem;display:flex}.task-card-actions{border-top:1px solid var(--border);gap:.45rem;padding-top:.65rem;display:flex}.task-card-loading{color:var(--muted);align-items:center;gap:.45rem;margin-bottom:.65rem;font-size:.78rem;display:flex}.task-card-loading .loading-spinner{width:.9rem;height:.9rem}.modal-backdrop{z-index:10;background:#0f172a57;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-dialog{border:1px solid var(--border);background:var(--panel);border-radius:8px;width:min(620px,100%);max-height:calc(100vh - 2rem);padding:1rem;overflow-y:auto}.modal-form{gap:.75rem;display:grid}.modal-form-fields{border:0;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.tasks-actions{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.manage-columns-button{margin-bottom:1rem}.column-manager{width:min(680px,100%)}.column-list{gap:.55rem;margin-bottom:1rem;display:grid}.column-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.column-move-buttons{gap:.3rem;display:flex}.column-move-buttons .button{width:30px;padding:0}.column-add-form{margin-bottom:1rem}.subtask-list{border:1px solid var(--border);border-radius:5px;padding:.8rem}.subtask-item{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.9rem;display:grid}.subtask-item:last-of-type{margin-bottom:.65rem}.subtask-item .is-complete{color:var(--muted);text-decoration:line-through}.text-button{background:0 0;border:0;align-items:center;gap:.25rem;padding:.2rem;font-size:.78rem;display:inline-flex}.danger-text{color:#b42334}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{width:min(420px,100%);padding:1.5rem}.auth-form{gap:.75rem;display:grid}.auth-card>p:last-child{color:var(--muted);margin:1rem 0 0;font-size:.9rem}.home-card{text-align:center}.home-card>p{color:var(--muted);margin-bottom:1rem}.landing-login{justify-content:center;align-items:center;margin-top:.5rem;display:inline-flex}.form-message{color:#167044;margin:.75rem 0 0;font-size:.9rem}.form-error{color:#b42334}.page-message{min-height:100vh;color:var(--muted);place-items:center;margin:0;display:grid}.page-message.loading-state{display:flex}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.6s}}@media (max-width:800px){.app-shell{padding:1.25rem}.dashboard-grid{grid-template-columns:1fr}.task-form{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){h1{font-size:1.65rem}.page-header{flex-direction:column}.dashboard-header{flex-direction:row;align-items:center}.dashboard-title h1{margin-bottom:.25rem}.dashboard-title p{font-size:.9rem}.dashboard-header .menu-toggle{justify-content:center;align-items:center;width:44px;min-width:44px;padding:0;font-size:1.25rem;display:inline-flex}.dashboard-menu{z-index:20;border:1px solid var(--border);background:var(--panel);border-radius:8px;min-width:150px;padding:.5rem;display:none;position:absolute;top:calc(100% - 1rem);right:0;box-shadow:0 8px 24px #0f172a1f}.dashboard-menu.is-open{display:flex}.dashboard-menu .button,.page-header .button:not(.menu-toggle),.project-form .button,.task-submit{width:100%}.project-form,.task-form{grid-template-columns:1fr}.project-grid{scroll-snap-type:x proximity;gap:.75rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.project-card{scroll-snap-align:start;flex:0 0 280px}.inline-form{flex-direction:column}.inline-form .button{width:100%}.subtask-header{flex-direction:column;align-items:stretch}.subtask-header .button{width:100%}.kanban-board{grid-template-columns:repeat(5,minmax(250px,1fr))}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}.column-row{grid-template-columns:auto minmax(0,1fr)}.column-row>.button{grid-column:1/-1;width:100%}}
