*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f2f5;--header-bg:#1e293b;--header-text:#fff;--header-input-bg:#334155;--header-input-border:#475569;--surface:#fff;--surface-2:#e2e8f0;--surface-3:#f8fafc;--chip-bg:#f1f5f9;--input-bg:#fff;--text:#1a1a1a;--text-strong:#1e293b;--text-muted:#475569;--text-faint:#94a3b8;--border:#d1d5db;--border-soft:#e2e8f0;--border-strong:#cbd5e1;--primary:#3b82f6;--primary-hover:#2563eb;--primary-contrast:#fff;--danger:#dc2626;--danger-bg:#ef4444;--warning:#d97706;--accent:#4f46e5;--focus-ring:#bfdbfe;--highlight:#eff6ff;--overlay:#0006;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--header-bg:#020617;--header-text:#f1f5f9;--header-input-bg:#1e293b;--header-input-border:#334155;--surface:#1e293b;--surface-2:#131c30;--surface-3:#273449;--chip-bg:#334155;--input-bg:#0f172a;--text:#e2e8f0;--text-strong:#f1f5f9;--text-muted:#cbd5e1;--text-faint:#94a3b8;--border:#334155;--border-soft:#334155;--border-strong:#334155;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-contrast:#fff;--danger:#f87171;--danger-bg:#dc2626;--warning:#fbbf24;--accent:#818cf8;--focus-ring:#3b82f673;--highlight:#273449;--overlay:#0009;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 14px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{background:var(--header-bg);color:var(--header-text);flex-shrink:0;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.app-header h1{font-size:1.25rem;font-weight:700}.page-switcher{align-items:center;gap:.4rem;display:flex}.page-switcher input,.page-select{border:1px solid var(--header-input-border);background:var(--header-input-bg);color:var(--header-text);border-radius:6px;padding:.35rem .6rem;font-size:.85rem}.page-switcher input::placeholder{color:var(--text-faint)}.page-select{cursor:pointer;font-weight:600}.page-switcher button{border:1px solid var(--header-input-border);background:var(--header-input-bg);color:var(--header-text);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.85rem;display:inline-flex}.page-switcher button:hover{filter:brightness(1.15)}.page-menu{position:relative}.page-menu-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:97;border-radius:8px;gap:.4rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0}.page-switcher .page-menu-dropdown input{border-color:var(--border);background:var(--input-bg);min-width:160px;color:var(--text)}.page-menu-list{flex-direction:column;align-items:stretch;min-width:190px}.page-switcher .page-menu-list button{color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem}.page-switcher .page-menu-list button:hover{background:var(--highlight);filter:none}.page-switcher .page-menu-list .page-menu-delete:hover{color:var(--danger)}.page-menu-toggle,.page-switcher .page-menu-list .page-menu-item.is-current{font-weight:600}.page-menu-item-spacer{width:1em;display:inline-block}.page-menu-separator{background:var(--border);height:1px;margin:.35rem 0}.add-category-menu{position:relative}.add-category-menu>button{background:var(--primary);color:var(--primary-contrast);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}.add-category-menu>button:hover{background:var(--primary-hover)}.add-category-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:97;border-radius:8px;gap:.4rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0}.add-category-dropdown input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;min-width:160px;padding:.35rem .6rem;font-size:.85rem}.add-category-dropdown input::placeholder{color:var(--text-faint)}.add-category-dropdown button{background:var(--primary);color:var(--primary-contrast);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .6rem;font-size:.9rem;display:inline-flex}.add-category-dropdown button:hover{background:var(--primary-hover)}.search-box,.search-input-wrap{position:relative}.search-box{min-width:220px;margin-left:auto}.search-icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}.search-input{border:1px solid var(--header-input-border);background:var(--header-input-bg);width:100%;color:var(--header-text);border-radius:6px;padding:.35rem .6rem;font-size:.85rem}.search-input::placeholder{color:var(--text-faint)}.search-box .search-input,.search-input-wrap .search-input{padding-left:1.9rem}.search-results{background:var(--surface);width:min(360px,90vw);max-width:calc(100vw - 2.5rem);max-height:60vh;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:97;border-radius:8px;padding:.5rem;position:absolute;top:calc(100% + .4rem);right:0;overflow-y:auto}.search-empty{color:var(--text-muted);padding:.4rem .5rem;font-size:.85rem}.search-group+.search-group{margin-top:.4rem}.search-group-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:.25rem .5rem;font-size:.7rem}.search-list{list-style:none}.search-result{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:.1rem;padding:.4rem .5rem;display:flex}.search-result:hover,.search-result.active{background:var(--highlight)}.search-result-title{color:var(--text-strong);font-size:.9rem;font-weight:600}.search-result-meta{color:var(--text-muted);font-size:.75rem}.bin-search-input{background:var(--input-bg);color:var(--text);border-color:var(--border)}.search-highlight{z-index:3;border-radius:8px;animation:.5s ease-in-out 4 search-halo;position:relative}@keyframes search-halo{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 3px var(--primary), 0 0 14px 5px var(--focus-ring)}}.app-body{flex:1;min-height:0;display:flex}.priority-panel{background:var(--surface);border-right:1px solid var(--border-soft);flex-direction:column;gap:.75rem;width:260px;min-width:260px;padding:1rem;display:flex;overflow-y:auto}.priority-title{color:var(--text-strong);font-size:.95rem;font-weight:700}.priority-empty{color:var(--text-faint);font-size:.8rem}.priority-group{flex-direction:column;gap:.4rem;display:flex}.priority-group.other-page{opacity:.62}.priority-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border-soft);padding-bottom:.15rem;font-size:.7rem;font-weight:700}.priority-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.priority-item{border:1px solid var(--border-soft);border-left:3px solid var(--text-faint);cursor:pointer;border-radius:6px;padding:.5rem .6rem;transition:background .12s}.priority-item:hover{background:var(--surface-3)}.priority-item.overdue{border-left-color:var(--danger)}.priority-item.due-today{border-left-color:var(--warning)}.priority-item-title{color:var(--text-strong);word-break:break-word;align-items:flex-start;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.priority-item-title .task-status{margin-top:2px}.priority-item-meta{justify-content:space-between;gap:.5rem;margin-top:.25rem;font-size:.72rem;display:flex}.priority-item-cat{color:var(--text-muted);background:var(--chip-bg);border-radius:4px;padding:.05rem .35rem}.priority-item-cat.has-color{color:#1f2937}.priority-item-due{color:var(--text-muted);font-weight:600}.priority-item.overdue .priority-item-due{color:var(--danger)}.priority-item.due-today .priority-item-due{color:var(--warning)}.kanban-board{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:1rem;min-width:0;padding:1rem;display:grid;overflow-y:auto}.kanban-category{background:var(--surface-2);border-radius:10px;flex-direction:column;max-height:100%;display:flex}:root[data-theme=dark] .kanban-category{border:1px solid #475569}.category-header{border-bottom:1px solid var(--border-strong);align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.category-drag-handle{cursor:grab;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-size:1.1rem}.category-drag-handle:active{cursor:grabbing}.category-title{color:var(--text-strong);flex:1;font-size:.95rem;font-weight:600}.category-actions{gap:.15rem;display:flex}.category-actions button,.category-actions .btn-color{cursor:pointer;width:26px;height:26px;color:var(--text-faint);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.category-actions button:hover,.category-actions .btn-color:hover{background:var(--surface-3)}.category-actions .btn-add:hover{color:var(--primary)}.category-actions .btn-danger:hover{color:var(--danger)}.category-actions .btn-color:hover{color:var(--primary)}.category-actions .btn-color-reset:hover{color:var(--danger)}.category-actions .btn-color{cursor:pointer;position:relative}.category-actions .btn-color input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.edit-category-color{align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.edit-category-color .btn-color,.edit-category-color .btn-color-reset{border:1px solid var(--border-strong);background:var(--surface-3);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.edit-category-color .btn-color{position:relative}.edit-category-color .btn-color:hover{color:var(--primary)}.edit-category-color .btn-color-reset:hover{color:var(--danger)}.edit-category-color .btn-color input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.category-header.has-color{border-bottom-color:#0000001f;border-radius:10px 10px 0 0}.category-header.has-color .category-title{color:#1f2937}.category-header.has-color .category-drag-handle{color:#1f29378c}.category-header.has-color .category-actions button,.category-header.has-color .category-actions .btn-color{color:#1f2937a6}.category-header.has-color .category-actions button:hover,.category-header.has-color .category-actions .btn-color:hover{background:#00000014}.category-header.dark-header{border-bottom-color:#ffffff2e}.category-header.dark-header .category-title{color:#fff}.category-header.dark-header .category-drag-handle{color:#fff9}.category-header.dark-header .category-actions button,.category-header.dark-header .category-actions .btn-color{color:#ffffffbf}.category-header.dark-header .category-actions button:hover,.category-header.dark-header .category-actions .btn-color:hover{background:#ffffff26}.category-tasks{flex-direction:column;flex:1;gap:.5rem;min-height:40px;padding:.5rem;display:flex;overflow-y:auto}.task-card{background:var(--surface);box-shadow:var(--shadow-sm);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;padding:.65rem .75rem}.task-card:active{cursor:grabbing}.task-card-header{align-items:flex-start;gap:.5rem;display:flex}.task-title{color:var(--text-strong);word-break:break-word;flex:1;font-size:.9rem;font-weight:600}.task-actions{flex-shrink:0;gap:.2rem;display:flex}.task-actions button{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.1rem .2rem;font-size:.85rem;display:inline-flex}.task-actions button:hover{opacity:1;background:var(--surface-3)}.task-status{flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.task-status.status-unplanned{color:var(--text-muted);opacity:.6}.task-status.status-processing{color:var(--primary)}.task-status.status-waiting{color:var(--warning)}.task-status.status-finished{color:#16a34a}.status-processing svg{animation:1.1s linear infinite status-spin}@keyframes status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status-processing svg{animation:none}}.task-desc{color:var(--text-muted);word-break:break-word;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin-top:.35rem;font-size:.8rem;display:-webkit-box;overflow:hidden}.task-checklist{flex-direction:column;gap:.2rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.task-checklist li{color:var(--text-muted);word-break:break-word;align-items:flex-start;gap:.4rem;font-size:.8rem;display:flex}.task-checklist-box{border:1.5px solid var(--border-strong);color:#fff;border-radius:3px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-top:.05rem;display:inline-flex}.task-checklist li.checked .task-checklist-box{background:var(--primary);border-color:var(--primary)}.task-checklist li.checked .task-checklist-label{opacity:.65;text-decoration:line-through}.task-due{color:var(--text-muted);margin-top:.4rem;font-size:.75rem;display:inline-block}.task-due.overdue{color:var(--danger);font-weight:600}.task-due.due-today{color:var(--warning);font-weight:600}.task-attachments{color:var(--text-muted);align-items:center;gap:.2rem;margin-top:.4rem;font-size:.75rem;font-weight:600;display:flex}.icon-inline{vertical-align:-2px}.task-fields{color:var(--text-muted);flex-wrap:wrap;gap:.25rem .75rem;margin-top:.4rem;font-size:.75rem;list-style:none;display:flex}.modal-backdrop{background:var(--overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:480px;max-width:95vw;max-height:90vh;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.modal h2{color:var(--text-strong);font-size:1.1rem;font-weight:700}.modal form{flex-direction:column;gap:.85rem;display:flex}.modal label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;display:flex}.modal input,.modal textarea,.modal select{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:6px;padding:.45rem .6rem;font-family:inherit;font-size:.9rem}.modal textarea{resize:vertical}.modal select{cursor:pointer}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.combobox{position:relative}.combobox-control{border:1px solid var(--border);background:var(--input-bg);border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.combobox-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring)}.combobox-control input{flex:1;box-shadow:none!important;border:none!important;border-radius:0!important}.combobox-control input:focus{outline:none}.combobox-toggle{background:var(--surface-3);border:none;border-left:1px solid var(--border-soft);cursor:pointer;color:var(--text-muted);justify-content:center;align-items:center;padding:0 .7rem;display:inline-flex}.combobox-toggle:hover{background:var(--chip-bg)}.combobox-options{background:var(--surface);border:1px solid var(--border);z-index:10;max-height:180px;box-shadow:var(--shadow-md);border-radius:6px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.combobox-option{cursor:pointer;color:var(--text);padding:.45rem .7rem;font-size:.875rem}.combobox-option.highlighted{background:var(--highlight)}.combobox-option.create{border-top:1px solid var(--border-soft);color:var(--accent)}.new-cat-hint{color:var(--accent);margin-top:.2rem;font-size:.75rem;display:block}.modal fieldset{border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.modal legend{color:var(--text-muted);padding:0 .25rem;font-size:.8rem;font-weight:600}.custom-field-row{background:var(--surface-3);color:var(--text);border-radius:5px;justify-content:space-between;align-items:center;padding:.3rem .5rem;font-size:.82rem;display:flex}.custom-field-row button{cursor:pointer;color:var(--text-faint);background:0 0;border:none;font-size:.8rem}.custom-field-row button:hover{color:var(--danger)}.custom-field-add{gap:.4rem;display:flex}.custom-field-add input{flex:1}.custom-field-add button{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:6px;padding:.4rem .7rem;font-size:.82rem}.custom-field-add button:hover{background:var(--border-strong)}.attachment-dropzone{border:1.5px dashed var(--border-strong);color:var(--text-muted);background:var(--surface-3);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem .8rem;font-size:.82rem;transition:border-color .15s,background .15s;display:flex}.attachment-dropzone.drag-over{border-color:var(--accent);background:var(--surface-2)}.attachment-dropzone button{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:6px;padding:.35rem .7rem;font-size:.82rem}.attachment-dropzone button:hover{background:var(--border-strong)}.attachment-status{color:var(--text-muted);margin:.4rem 0 0;font-size:.8rem}.attachment-error{color:var(--danger);margin:.4rem 0 0;font-size:.8rem}.attachment-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.attachment-row{background:var(--surface-3);border-radius:6px;align-items:center;gap:.55rem;padding:.35rem .5rem;display:flex}.attachment-thumb{background:var(--surface-2);width:40px;height:40px;color:var(--text-muted);border-radius:5px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-meta{flex-direction:column;flex:1;min-width:0;display:flex}.attachment-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.attachment-size{color:var(--text-muted);font-size:.72rem}.attachment-row button{cursor:pointer;color:var(--text-faint);background:0 0;border:none;flex:none;padding:.2rem}.attachment-row button:hover{color:var(--accent)}.attachment-row button[aria-label=Delete]:hover{color:var(--danger)}.desc-field-head{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.checklist-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.checklist-toggle input{width:auto;margin:0}.checklist-editor{flex-direction:column;gap:.3rem;display:flex}.checklist-items{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.checklist-item{align-items:center;gap:.4rem;display:flex}.checklist-box{border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.checklist-item.checked .checklist-box{background:var(--primary);border-color:var(--primary)}.checklist-label{flex:1}.checklist-item.checked .checklist-label{color:var(--text-muted);text-decoration:line-through}.checklist-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:.2rem;display:inline-flex}.checklist-remove:hover{color:var(--danger)}.checklist-add{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.8rem;display:inline-flex}.checklist-add:hover{background:var(--border-strong)}.modal-footer{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.modal-footer-spacer{flex:1}.btn-danger-outline{border-color:var(--danger)!important;color:var(--danger)!important;background:0 0!important}.btn-danger-outline:hover{background:var(--danger)!important;color:#fff!important}.modal-footer button{border:1px solid var(--border);cursor:pointer;background:var(--surface);color:var(--text);border-radius:7px;padding:.45rem 1rem;font-size:.9rem}.modal-footer button:hover{background:var(--surface-3)}.btn-primary{background:var(--primary)!important;color:var(--primary-contrast)!important;border-color:var(--primary)!important}.btn-primary:hover{background:var(--primary-hover)!important}.modal-sm{gap:.85rem;width:420px}.dialog-text{color:var(--text-muted);font-size:.88rem;line-height:1.45}.dialog-error{color:var(--danger);margin-top:.2rem;font-size:.75rem;display:block}.radio-row{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;display:flex;flex-direction:row!important}.radio-row input{width:auto;accent-color:var(--primary)}.radio-detail{margin:-.2rem 0 .2rem 1.5rem}.btn-danger-solid{background:var(--danger-bg)!important;color:#fff!important;border-color:var(--danger-bg)!important}.btn-danger-solid:hover{filter:brightness(1.08)}.btn-danger-solid:disabled{opacity:.5;cursor:not-allowed;filter:none}.trash-section{flex-direction:column;gap:.4rem;display:flex}.trash-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.72rem;font-weight:700}.trash-list{flex-direction:column;gap:.5rem;max-height:40vh;list-style:none;display:flex;overflow-y:auto}.trash-item{border:1px solid var(--border-soft);background:var(--surface-3);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.trash-item-main{flex-direction:column;min-width:0;display:flex}.trash-item-title{color:var(--text-strong);word-break:break-word;font-size:.88rem;font-weight:600}.trash-item-meta{color:var(--text-faint);font-size:.72rem}.trash-item-actions{flex-shrink:0;gap:.4rem;display:flex}.btn-restore,.btn-forget{border:1px solid var(--border);cursor:pointer;background:var(--surface);color:var(--text);border-radius:6px;padding:.3rem .6rem;font-size:.78rem}.btn-restore{border-color:var(--primary);color:var(--primary)}.btn-restore:hover{background:var(--highlight)}.btn-forget:hover{border-color:var(--danger);color:var(--danger)}.auth-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border-soft);width:100%;max-width:360px;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:1rem;padding:2rem 1.75rem;display:flex}.auth-title{text-align:center;color:var(--text-strong);margin:0;font-size:1.6rem}.auth-subtitle{text-align:center;color:var(--text-muted);margin:-.5rem 0 .5rem;font-size:.9rem}.auth-field{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.auth-field input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.auth-error{background:var(--danger-bg);color:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.85rem}.auth-submit{background:var(--primary);color:var(--primary-contrast);cursor:pointer;border:none;border-radius:8px;margin-top:.25rem;padding:.65rem;font-size:.95rem;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--primary-hover)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-switch{text-align:center;color:var(--text-muted);margin:0;font-size:.85rem}.auth-switch button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.auth-user{color:var(--header-text);opacity:.85;margin-right:.25rem;font-size:.85rem}.form-success{background:var(--surface-3);color:var(--text-strong);border:1px solid var(--primary);border-radius:8px;padding:.55rem .7rem;font-size:.85rem}.user-menu{position:relative}.user-menu>button{background:var(--header-input-bg);color:var(--header-text);border:1px solid var(--header-input-border);cursor:pointer;border-radius:6px;padding:.4rem .7rem;font-size:.85rem}.user-menu>button:hover{border-color:var(--primary)}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);min-width:160px;box-shadow:var(--shadow-md);z-index:97;border-radius:8px;flex-direction:column;align-items:stretch;gap:.15rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.user-menu-dropdown button{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:inline-flex}.user-menu-dropdown button:hover{background:var(--highlight)}.user-menu-dropdown button:last-child:hover{color:var(--danger)}.header-actions{align-items:center;gap:1rem;display:flex}.header-menu-toggle{border:1px solid var(--header-input-border);background:var(--header-input-bg);color:var(--header-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .6rem;font-size:1rem;line-height:1;display:none}.header-menu-toggle:hover{filter:brightness(1.15)}.header-menu-backdrop{display:none}.priority-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.priority-toggle{border:1px solid var(--header-input-border);background:var(--header-input-bg);color:var(--header-text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.85rem;display:none}.priority-toggle:hover{filter:brightness(1.15)}.priority-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:none}.priority-close:hover{color:var(--text)}.priority-backdrop,.dropdown-backdrop{display:none}@media (width<=768px){.app-header{flex-wrap:wrap;gap:.5rem;position:relative}.search-box{flex:100%;order:10;min-width:0;margin-left:0}.search-results{width:100%}.priority-toggle{display:inline-flex}.header-menu-toggle{margin-left:auto;display:inline-flex}.header-actions{background:var(--header-bg);border:1px solid var(--header-input-border);min-width:190px;box-shadow:var(--shadow-md);z-index:96;border-radius:8px;flex-direction:column;align-items:stretch;gap:.4rem;margin-top:.4rem;padding:.5rem;display:none;position:absolute;top:100%;right:.5rem}.header-actions.open{display:flex}.header-actions>*{text-align:left;justify-content:flex-start;width:100%}.header-actions .user-menu>button{text-align:left;width:100%}.header-menu-backdrop{z-index:95;display:block;position:fixed;inset:0}.priority-backdrop{background:var(--overlay);opacity:0;pointer-events:none;z-index:90;transition:opacity .2s;display:block;position:fixed;inset:0}.priority-backdrop.open{opacity:1;pointer-events:auto}.priority-panel{z-index:95;width:82%;min-width:0;max-width:320px;box-shadow:var(--shadow-md);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.priority-panel.open{transform:translate(0)}.priority-close{display:inline-flex}.kanban-board{grid-template-columns:1fr;padding:.75rem}.modal input,.modal textarea,.add-category-dropdown input,.page-switcher input,.search-input{font-size:16px}.category-actions button{width:34px;height:34px}.task-actions button{padding:.25rem .35rem;font-size:1rem}.dropdown-backdrop{background:var(--overlay);z-index:97;display:block;position:fixed;inset:0}.add-category-dropdown,.page-menu-dropdown,.user-menu-dropdown{width:min(320px,90vw);max-width:90vw;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.add-category-dropdown input,.page-menu-dropdown input{flex:1;min-width:0}}.due-row{gap:.75rem;display:flex}.due-row>label{flex:1}.due-row input:disabled{opacity:.5;cursor:not-allowed}.status-field{margin-top:.9rem}.status-field-label{color:var(--text-strong);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.status-picker{flex-wrap:wrap;gap:.4rem;display:flex}.status-option{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.8rem;display:inline-flex}.status-option:hover{background:var(--surface-3)}.status-option.selected{background:color-mix(in srgb, currentColor 12%, transparent);border-color:currentColor;font-weight:600}.status-option.status-processing.selected{color:var(--primary)}.status-option.status-waiting.selected{color:var(--warning)}.status-option.status-finished.selected{color:#16a34a}.status-option.status-unplanned.selected{color:var(--text-strong)}.view-toggle{border:1px solid var(--header-input-border);background:var(--header-input-bg);color:var(--header-text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.85rem;display:inline-flex}.view-toggle:hover{filter:brightness(1.15)}.agenda{flex-direction:column;flex:1;gap:1.25rem;min-width:0;padding:1rem;display:flex;overflow-y:auto}.agenda-empty{color:var(--text-faint);font-size:.9rem}.agenda-day{flex-direction:column;gap:.4rem;display:flex}.agenda-day-heading{color:var(--text-strong);border-bottom:2px solid var(--border-soft);align-items:center;gap:.5rem;padding-bottom:.35rem;font-size:.95rem;font-weight:700;display:flex}.agenda-day.today .agenda-day-heading{color:var(--primary);border-bottom-color:var(--primary)}.agenda-day.overdue .agenda-day-heading{color:var(--danger)}.agenda-day-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--danger);background:var(--surface);border:1px solid var(--danger);border-radius:999px;padding:.05rem .45rem;font-size:.7rem;font-weight:700}.agenda-items{flex-direction:column;gap:.4rem;list-style:none;display:flex}.agenda-item{background:var(--surface);border:1px solid var(--border-soft);border-left:3px solid var(--text-faint);cursor:pointer;border-radius:8px;grid-template-columns:5.5rem 1fr auto auto;align-items:center;gap:.75rem;padding:.55rem .75rem;display:grid}.agenda-item:hover{background:var(--surface-3)}.agenda-item.overdue{border-left-color:var(--danger)}.agenda-item.today{border-left-color:var(--warning)}.agenda-time{color:var(--text-muted);white-space:nowrap;font-size:.8rem;font-weight:600}.agenda-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.agenda-item-cat{color:var(--text-muted);background:var(--chip-bg);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.agenda-item-cat.has-color{color:#1f2937}.agenda-item-due{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:600}.agenda-item.overdue .agenda-item-due{color:var(--danger)}.agenda-item.today .agenda-item-due{color:var(--warning)}@media (width<=700px){.agenda-item{grid-row-gap:.25rem;grid-template-columns:4.5rem 1fr}.agenda-item-cat,.agenda-item-due{grid-column:2;justify-self:start}}
