.app{min-height:100vh;padding:24px}.topbar{z-index:20;color:#e2e8f0;background:#0f172ae6;border:1px solid #94a3b840;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;max-width:1440px;margin:0 auto 20px;padding:18px 22px;display:flex;position:sticky;top:12px;box-shadow:0 20px 45px #0f172a24}.app-name{letter-spacing:-.04em;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:800}.user-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.user-actions span{color:#cbd5e1;font-size:.95rem}.user-actions button,.new-task-btn,.column-add-btn,.modal-actions button,.auth-form button{cursor:pointer;transition:transform .18s,box-shadow .18s,opacity .18s}.user-actions button:hover,.new-task-btn:hover,.column-add-btn:hover,.modal-actions button:hover,.auth-form button:hover{transform:translateY(-1px)}.user-actions button{color:#f8fafc;background:#0f172a99;border:1px solid #94a3b85c;border-radius:12px;padding:.7rem 1rem}.new-task-btn{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:12px;padding:.8rem 1.2rem;font-weight:700;box-shadow:0 12px 24px #2563eb40}.board{grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px;max-width:1440px;height:calc(100vh - 150px);min-height:420px;margin:0 auto;display:grid}.column{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #94a3b838;border-radius:22px;flex-direction:column;min-height:0;padding:18px 14px 14px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 18px 36px #0f172a14}.column.drop-target{background:#dbeafeb8;border-color:#2563eba6;box-shadow:0 0 0 3px #3b82f61a,0 18px 36px #0f172a14}.column-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:0 4px;display:flex}.column-title{letter-spacing:.04em;color:#1e293b;text-transform:uppercase;font-size:.96rem;font-weight:800}.column-badge{color:#334155;background:#94a3b826;border-radius:999px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:800;display:flex}.column-list{border:1px solid #0000;border-radius:14px;flex-direction:column;flex:1;gap:12px;min-height:0;padding:6px 3px;list-style:none;transition:background-color .18s;display:flex;overflow-y:auto}.column-list.is-drop-target{background:#ffffff6b}.column-empty{color:#94a3b8;border:1px dashed #94a3b87a;border-radius:14px;place-items:center;min-height:112px;font-size:.84rem;display:grid}.drop-preview{color:#2563eb;letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:8px;min-height:38px;font-size:.72rem;font-weight:800;animation:.12s ease-out drop-preview-in;display:flex}.drop-preview span:first-child,.drop-preview span:last-child{background:#3b82f6;border-radius:2px;flex:1;height:2px}.drop-preview span:nth-child(2){flex:none}.task-card-overlay{border-color:#2563eb7a;width:min(380px,78vw);transform:rotate(1deg)scale(1.02);box-shadow:0 24px 54px #0f172a40}.board-toast{z-index:150;color:#991b1b;background:#fff;border:1px solid #fecaca;border-radius:14px;align-items:center;gap:16px;max-width:min(460px,100vw - 32px);padding:12px 14px 12px 16px;font-size:.88rem;font-weight:650;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 36px #7f1d1d29}.board-toast button{color:inherit;cursor:pointer;font-size:1.35rem;line-height:1}@keyframes drop-preview-in{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.task-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #94a3b838;border-radius:16px;outline:none;padding:14px 14px 12px;box-shadow:0 8px 18px #0f172a0f}.task-card:focus-visible{box-shadow:0 0 0 3px #3b82f633}.task-card h4{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;margin:0 0 8px;font-size:1rem;line-height:1.4;overflow:hidden}.task-card p{color:#475569;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:10px;font-size:.83rem;line-height:1.5;display:-webkit-box;overflow:hidden}.badge{letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.priority-low{color:#15803d;background:#dcfce7}.priority-medium{color:#b45309;background:#fef3c7}.priority-high{color:#b91c1c;background:#fee2e2}.due-chip{color:#374151;background:#f3f4f6;border-radius:999px;margin-right:6px;padding:2px 8px;font-size:.72rem;display:inline-block}.due-chip.overdue{color:#b91c1c;background:#fee2e2}.tag-pills{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag-pill{border:1px solid #0f172a14;border-radius:999px;align-items:center;padding:.26rem .5rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.tag-picker{flex-direction:column;gap:10px;display:flex}.tag-picker h3{color:#334155;margin:0;font-size:.8rem;font-weight:700}.tag-picker-list{flex-wrap:wrap;gap:8px;display:flex}.tag-option{background:#f8fafccc;border:1px solid #94a3b866;border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 2px;display:inline-flex}.tag-option-toggle{color:#0f172a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:.28rem .6rem;font-size:.74rem;font-weight:700;transition:background-color .15s;display:inline-flex}.tag-option-toggle:hover{background:#94a3b824}.tag-option-dot{border-radius:999px;flex:none;width:8px;height:8px}.tag-option-selected{border-color:#0000}.tag-option-selected .tag-option-toggle{color:#0f172a}.tag-option-remove{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.9rem;line-height:1;display:inline-flex}.tag-option-remove:hover{color:#b91c1c;background:#fee2e2}.tag-create{align-items:center;gap:8px;display:flex}.tag-create-name{flex:1;min-width:0}.tag-create-colour{cursor:pointer;background:#f8fafccc;border:1px solid #94a3b880;border-radius:10px;width:42px;height:42px;padding:4px}.tag-create-btn{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:12px;flex:none;padding:.8rem .9rem;font-weight:700}.tag-create-btn:disabled{opacity:.5;cursor:not-allowed}.completed .task-card{opacity:.72;filter:saturate(.65)}.completed .task-card h4,.completed .task-card p{color:#64748b}.column-add-btn{color:#475569;background:#94a3b80d;border:1px dashed #94a3b8b3;border-radius:14px;margin-top:12px;padding:10px 12px;font-weight:700}.modal-backdrop{z-index:100;background:#0f172a8f;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #94a3b838;border-radius:24px;width:min(520px,92vw);padding:24px;box-shadow:0 35px 80px #0f172a40}.modal h2{letter-spacing:-.04em;color:#0f172a;margin-bottom:18px;font-size:1.45rem}.modal form{flex-direction:column;gap:14px;display:flex}.field-label{color:#334155;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;display:flex}.modal input,.modal textarea,.modal select{color:#0f172a;background:#f8fafccc;border:1px solid #94a3b880;border-radius:12px;outline:none;padding:.8rem .9rem;transition:border-color .15s,box-shadow .15s}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:#3b82f6cc;box-shadow:0 0 0 3px #3b82f61f}.modal textarea{resize:vertical;min-height:110px}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.modal-actions .delete-btn{color:#fff;background:linear-gradient(135deg,#f87171 0%,#ef4444 100%);border-radius:12px;margin-right:auto;padding:.8rem 1rem}.modal-actions button:not(.delete-btn){color:#0f172a;background:#e2e8f0;border-radius:12px;padding:.8rem 1rem;font-weight:700}.modal-actions .save-btn{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none}.auth-page{place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-form{background:#fffc;border:1px solid #94a3b833;border-radius:24px;width:min(420px,100%);padding:30px 24px;box-shadow:0 20px 50px #0f172a1a}.auth-form h1{letter-spacing:-.06em;color:#0f172a;margin-bottom:18px;font-size:clamp(1.8rem,3vw,2.4rem)}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form input{color:#0f172a;background:#ffffffd9;border:1px solid #94a3b880;border-radius:12px;padding:.85rem 1rem}.auth-form button{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);border-radius:12px;margin-top:8px;padding:.9rem 1rem;font-weight:800}.auth-form p{text-align:center;color:#475569;font-size:.96rem}.auth-form a{color:#2563eb;font-weight:700}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #ef444438;border-radius:10px;padding:10px 12px;font-size:.88rem;font-weight:600}@media (width<=980px){.board{grid-template-columns:1fr;height:auto;min-height:0}.app{padding:18px 14px 30px}.topbar{flex-direction:column;align-items:flex-start;position:static}.column{min-height:420px}.column-list{min-height:120px;overflow-y:visible}.user-actions{justify-content:space-between;width:100%}}.theme-toggle{color:#f8fafc;white-space:nowrap;background:#0f172a99;border:1px solid #94a3b85c;border-radius:12px;padding:.7rem 1rem}.theme-toggle:hover{background:#334155d9}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{color:#e2e8f0;background:radial-gradient(circle at top,#33415547,#0000 30%),linear-gradient(#0b1120 0%,#111827 100%)}:root[data-theme=dark] .column{background:#1e293bcc;border-color:#94a3b829;box-shadow:0 18px 36px #0003}:root[data-theme=dark] .column.drop-target{background:#1e3a5fe6;border-color:#60a5fabf}:root[data-theme=dark] .column-title,:root[data-theme=dark] .column-badge,:root[data-theme=dark] .task-card h4{color:#e2e8f0}:root[data-theme=dark] .column-badge{background:#94a3b829}:root[data-theme=dark] .column-list.is-drop-target{background:#0f172a47}:root[data-theme=dark] .column-empty{color:#94a3b8;border-color:#94a3b852}:root[data-theme=dark] .task-card{background:linear-gradient(#263449 0%,#1e293b 100%);border-color:#94a3b833;box-shadow:0 8px 18px #0000002e}:root[data-theme=dark] .task-card p{color:#aab8cc}:root[data-theme=dark] .completed .task-card h4,:root[data-theme=dark] .completed .task-card p{color:#94a3b8}:root[data-theme=dark] .column-add-btn{color:#cbd5e1;background:#0f172a3d;border-color:#94a3b866}:root[data-theme=dark] .modal{background:linear-gradient(#1e293b 0%,#172033 100%);border-color:#94a3b838}:root[data-theme=dark] .modal h2,:root[data-theme=dark] .field-label{color:#e2e8f0}:root[data-theme=dark] .modal input,:root[data-theme=dark] .modal textarea,:root[data-theme=dark] .modal select{color:#e2e8f0;background:#0f172a;border-color:#475569}:root[data-theme=dark] .modal-actions button:not(.delete-btn){color:#e2e8f0;background:#334155}:root[data-theme=dark] .auth-page{color:#e2e8f0}:root[data-theme=dark] .auth-form{background:#1e293be6;border-color:#94a3b833}:root[data-theme=dark] .auth-form h1{color:#f1f5f9}:root[data-theme=dark] .auth-form input{color:#e2e8f0;background:#0f172a;border-color:#475569}:root[data-theme=dark] .auth-form p{color:#cbd5e1}:root[data-theme=dark] .board-toast{color:#fecaca;background:#3b1f26;border-color:#7f1d1d}:root[data-theme=dark] .tag-pill{border-color:#ffffff1f}:root[data-theme=dark] .tag-picker h3{color:#e2e8f0}:root[data-theme=dark] .tag-option{background:#0f172a;border-color:#475569}:root[data-theme=dark] .tag-option-toggle{color:#e2e8f0}:root[data-theme=dark] .tag-option-toggle:hover{background:#94a3b82e}:root[data-theme=dark] .tag-option-remove{color:#94a3b8}:root[data-theme=dark] .tag-option-remove:hover{color:#fecaca;background:#ef444440}:root[data-theme=dark] .tag-create-colour{background:#0f172a;border-color:#475569}:root[data-theme=dark] .user-actions .theme-toggle{color:#f8fafc}:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#edf4ff;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:#0f172a;background:radial-gradient(circle at top,#94a3b82e,#0000 28%),linear-gradient(#eef4ff 0%,#f8fafc 100%);min-height:100vh}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{background:0 0;border:none}input,textarea,select{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
