:root,[data-theme=light]{--bg:#f5f6f8;--card:#fff;--subtle:#fafbfc;--border:#e2e4e9;--text:#1f2330;--muted:#8b90a0;--accent:#3b6ef5;--accent-hover:#2f59cc;--accent-text:#fff;--danger:#e0413a;--danger-bg:#fdf3f3;--done:#a4a9b8;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--bg:#15171c;--card:#1e2128;--subtle:#242833;--border:#2c303a;--text:#e6e8ee;--muted:#888ea0;--accent:#4d7cff;--accent-hover:#6b91ff;--accent-text:#fff;--danger:#ff5c54;--danger-bg:#3a2020;--done:#6b7080;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=matrix]{--bg:#000;--card:#030a03;--subtle:#041004;--border:#0f3f0f;--text:#36ff6a;--muted:#1f9f43;--accent:#00ff41;--accent-hover:#66ff8a;--accent-text:#000;--danger:#f55;--danger-bg:#200707;--done:#1f7a3a;--font:"Courier New", ui-monospace, "SF Mono", Menlo, monospace}[data-theme=sakura]{--bg:#fdf2f6;--card:#fff;--subtle:#fdf6f9;--border:#f3d9e4;--text:#3a2230;--muted:#b07a93;--accent:#e8568f;--accent-hover:#d63d79;--accent-text:#fff;--danger:#e0413a;--danger-bg:#fdf3f3;--done:#c9a5b5;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=citrus]{--bg:#fff7f0;--card:#fff;--subtle:#fffaf5;--border:#f6e0cb;--text:#3a2a1c;--muted:#b58a63;--accent:#f47c20;--accent-hover:#db6710;--accent-text:#fff;--danger:#e0413a;--danger-bg:#fdf3f3;--done:#cdb39a;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=lavender]{--bg:#f8f6fd;--card:#fff;--subtle:#fbfaff;--border:#e4ddf3;--text:#2c2440;--muted:#9388b5;--accent:#7c5cdb;--accent-hover:#6646c4;--accent-text:#fff;--danger:#e0413a;--danger-bg:#fdf3f3;--done:#b4a9cf;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=mint]{--bg:#f0faf6;--card:#fff;--subtle:#f6fdfa;--border:#cfeadd;--text:#143028;--muted:#6fae96;--accent:#18a974;--accent-hover:#138c60;--accent-text:#fff;--danger:#e0413a;--danger-bg:#fdf3f3;--done:#a4ccbb;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);margin:0}.container{max-width:720px;margin:0 auto;padding:24px 16px 64px}.container.wide{max-width:100%}.muted{color:var(--muted)}.center{text-align:center;padding:48px 0}.error{color:var(--danger);margin:8px 0;font-size:.9rem}.nav{background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex}.nav a{color:var(--text);font-size:.95rem;text-decoration:none}.nav a.brand{color:var(--accent);font-weight:700}.nav a:hover{color:var(--accent)}.nav .spacer{flex:1}.theme-select{border:1px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font);cursor:pointer;border-radius:8px;padding:6px 8px;font-size:.85rem}.ghost-button{background:var(--subtle);color:var(--text);border:1px solid var(--border);padding:6px 12px;font-size:.85rem}.ghost-button:hover{background:var(--bg)}button{background:var(--accent);color:var(--accent-text);font-size:.9rem;font-family:var(--font);cursor:pointer;border:none;border-radius:8px;padding:9px 14px}button:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.danger{background:var(--danger);color:#fff}button.link-button{color:var(--muted);background:0 0;padding:4px 0}button.link-button:hover{color:var(--accent)}input[type=text],input[type=password],input[type=email],input[type=search],input:not([type]){border:1px solid var(--border);width:100%;font-size:.95rem;font-family:var(--font);background:var(--card);color:var(--text);appearance:none;border-radius:8px;padding:10px 12px}input:focus{border-color:var(--accent);outline:none}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:24px}.auth-card{max-width:360px;margin:48px auto}.auth-card h1{margin-top:0}form label{color:var(--muted);margin-bottom:14px;font-size:.85rem;display:block}form label input{margin-top:6px}.auth-card button[type=submit]{width:100%;margin-top:4px}.board{align-items:flex-start;gap:20px;display:flex}.lists{flex-shrink:0;width:180px}.board-main{flex:1;min-width:0}@media (width>=1160px){.container:not(.wide):has(.board){max-width:none;margin-left:0;margin-right:0}.container:not(.wide) .board{display:block;position:relative}.container:not(.wide) .lists{width:180px;position:absolute;top:0;left:0}.container:not(.wide) .board-main{max-width:720px;margin:0 auto}}.lists-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:4px 0 10px;font-size:.75rem}.lists-nav{margin:0 0 12px;padding:0;list-style:none}.lists-nav li{align-items:center;gap:4px;margin-bottom:2px;display:flex}.list-link{text-align:left;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 10px;font-size:.92rem;overflow:hidden}.list-link:hover{background:var(--subtle)}.lists-nav li.active .list-link{background:var(--accent);color:var(--accent-text)}.list-del{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 6px;font-size:1.1rem;line-height:1}.lists-nav li:hover .list-del{opacity:1}.list-del:hover{color:var(--danger)}.list-edit{flex:1;padding:6px 8px;font-size:.92rem}.list-add{gap:6px;display:flex}.list-add input{flex:1;padding:8px 10px;font-size:.88rem}.list-add button{padding:8px 12px}@media (width<=560px){.board{flex-direction:column}.lists{width:100%}.list-del{opacity:1}}.sharebar{margin-bottom:16px}.sharebar-row{align-items:center;gap:12px;display:flex}.list-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.3rem;overflow:hidden}.sharebar-shared{align-items:center;gap:8px;display:flex}.shared-badge{color:var(--muted);background:var(--subtle);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.78rem}.list-shared{color:var(--muted);font-size:.85rem}.share-panel{margin-top:12px;padding:16px}.share-add{gap:8px;margin-bottom:8px;display:flex}.share-add input{flex:1}.member-list{margin:4px 0 0;padding:0;list-style:none}.member-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 4px;font-size:.9rem;display:flex}.member-controls{align-items:center;gap:6px;display:flex}.role-select{border:1px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font);border-radius:6px;padding:4px 6px;font-size:.85rem}.member-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.1rem;line-height:1}.member-del:hover{color:var(--danger)}.view-only-note{margin:4px 0 0;font-size:.9rem}.share-notice{margin:4px 0;font-size:.85rem}.pending-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.7rem}.public-share{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.public-opts{flex-direction:column;gap:8px;margin-top:8px;display:flex}.public-role{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.public-link{gap:8px;display:flex}.public-link input{flex:1;font-size:.8rem}.public-hint{margin:0;font-size:.8rem}.public-view{max-width:640px;margin:24px auto}.public-view-head{align-items:center;gap:12px;display:flex}.verify-banner{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--subtle);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;font-size:.9rem;display:flex}.verify-banner button{padding:5px 10px;font-size:.85rem}.verify-sent{color:var(--accent)}.verify-error{color:var(--danger)}.auth-divider{color:var(--muted);align-items:center;gap:10px;margin:16px 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-btn{background:var(--card);width:100%;color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;gap:10px;display:flex}.google-btn:hover{background:var(--subtle)}.google-g{color:#4285f4;background:#fff;border:1px solid #dadce0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-family:Arial,sans-serif;font-size:13px;font-weight:700;display:inline-flex}.add-row{gap:8px;margin-bottom:20px;display:flex}.add-row input{flex:1}.list-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.list-controls .search{flex:1;min-width:160px;padding:13px 14px;font-size:1rem}.completed-for{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:.85rem;display:flex}.completed-for select{border:1px solid var(--border);background:var(--card);color:var(--text);font-family:var(--font);cursor:pointer;border-radius:8px;padding:6px 8px;font-size:.85rem}.progress{align-items:center;gap:12px;margin-bottom:16px;display:flex}.progress-bar{background:var(--subtle);border:1px solid var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .25s}.progress-label{white-space:nowrap;font-size:.8rem}.hidden-note{text-align:center;margin-top:12px;font-size:.8rem}.tasks{margin:0;padding:0;list-style:none}.completed-header{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.collapse-toggle{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.75rem}.clear-completed{background:var(--subtle);color:var(--text);border:1px solid var(--border);padding:4px 10px;font-size:.8rem}.tasks .task{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.tasks .task-main{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.tasks .task.dragging{opacity:.4;border-style:dashed;border-color:var(--accent)}.tasks .grip{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.tasks .grip:active{cursor:grabbing}.tasks .grip.placeholder{cursor:default;width:.6rem}.tasks .edit-input{flex:1;padding:4px 8px;font-size:.95rem}.badge-prio{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:600}.badge-prio.prio-low{background:var(--subtle);color:var(--muted);border:1px solid var(--border)}.badge-prio.prio-med{color:#1f2330;background:#f5a623}.badge-prio.prio-high{background:var(--danger);color:#fff}.badge-due{background:var(--subtle);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:.72rem}.badge-due.overdue{background:var(--danger);color:#fff;border-color:var(--danger)}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.9rem;transition:transform .15s}.icon-btn.active{color:var(--accent);transform:rotate(180deg)}.task-details{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;margin-top:-1px;padding:12px 14px 14px 32px;display:flex}.detail-field{color:var(--muted);flex-direction:column;gap:4px;margin:0;font-size:.78rem;display:flex}.detail-field select,.detail-field input[type=date]{border:1px solid var(--border);background:var(--card);width:auto;color:var(--text);font-family:var(--font);border-radius:8px;padding:6px 8px;font-size:.85rem}.detail-field.notes-field{flex:100%}.detail-field textarea{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);font-family:var(--font);resize:vertical;border-radius:8px;padding:8px 10px;font-size:.9rem}.toast{background:var(--text);color:var(--bg);z-index:50;border-radius:10px;align-items:center;gap:16px;padding:10px 16px;font-size:.9rem;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.toast button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.success{color:#2e9e5b;margin:8px 0;font-size:.9rem}.tasks .task-text{word-break:break-word;flex:1}.tasks .task-text-col{flex:1;min-width:0}.tasks .task-notes{color:var(--muted);white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:.85rem}.tasks .task.done .task-text{color:var(--done);text-decoration:line-through}.tasks .row-divider{background:var(--border);align-self:stretch;width:1px}.tasks .del{color:var(--muted);background:0 0;padding:0 6px;font-size:1.2rem;line-height:1}.tasks .del:hover{color:var(--danger)}.tasks .del.confirm{background:var(--danger);color:#fff;border-radius:6px;padding:5px 9px;font-size:.8rem}.tasks input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--accent)}.tasks .empty{text-align:center;border:1px dashed var(--border);border-radius:10px;padding:32px}.create-user{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.create-user input{flex:1;width:auto;min-width:140px}.checkbox-label{color:var(--text);white-space:nowrap;align-items:center;gap:6px;margin:0;display:flex}.checkbox-label input{width:auto;margin-top:0}.auth-card .checkbox-label{margin-bottom:14px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-toolbar .search{flex:1;min-width:180px}.pager{align-items:center;gap:8px;display:flex}.pager button{background:var(--subtle);color:var(--text);border:1px solid var(--border);padding:5px 10px;font-size:.8rem}.table-wrap{overflow-x:auto}.users{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;font-size:.9rem;overflow:hidden}.users th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.users th.sortable:hover{color:var(--accent)}.audit-section{margin-top:24px}.audit-section .collapse-toggle{margin-bottom:8px}.users.audit{font-size:.82rem}.users th,.users td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.users th{background:var(--subtle);color:var(--muted);font-weight:600}.users tr:last-child td{border-bottom:none}.users tr.locked{background:var(--danger-bg)}.users .actions{flex-wrap:wrap;gap:6px;display:flex}.users .actions button{background:var(--subtle);color:var(--text);border:1px solid var(--border);padding:5px 9px;font-size:.8rem}.users .actions button:hover:not(:disabled){background:var(--bg)}.users .actions button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.badge{background:var(--accent);color:var(--accent-text);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.7rem;display:inline-block}
