*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;-webkit-font-smoothing:antialiased;background:#fff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.login-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:320px;padding:40px 36px}.login-card h1{color:#111827;letter-spacing:-.3px;margin-bottom:24px;font-size:22px;font-weight:600}.login-card input{color:#111827;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;margin-bottom:10px;padding:9px 12px;font-size:15px;transition:border-color .15s}.login-card input:focus{border-color:#6366f1}.login-card button{color:#fff;cursor:pointer;background:#1f2937;border:none;border-radius:6px;width:100%;padding:9px;font-size:14px;font-weight:500;transition:background .15s}.login-card button:hover{background:#111827}.login-card button:disabled{opacity:.5;cursor:default}.login-error{color:#ef4444;margin-bottom:8px;font-size:13px}.dashboard{flex-direction:column;height:100vh;display:flex;overflow:hidden}.dashboard-header{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;padding:10px 20px;display:flex}.dashboard-title{color:#111827;letter-spacing:-.2px;font-size:15px;font-weight:600}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.btn-secondary{cursor:pointer;color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:5px 11px;font-size:13px;transition:background .1s}.btn-secondary:hover{background:#e5e7eb}.btn-ghost{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;padding:5px 11px;font-size:13px;transition:background .1s,color .1s}.btn-ghost:hover{color:#374151;background:#f3f4f6}.btn-ghost:disabled{opacity:.45;cursor:default}.btn-ghost:disabled:hover{color:#9ca3af;background:0 0}.column-resizer{align-items:center;gap:8px;display:flex}.column-resizer-toggle[aria-pressed=true]{color:#4338ca;background:#eef2ff}.column-resizer-controls{align-items:center;gap:6px;display:flex}.column-resizer-range{accent-color:#6366f1;width:clamp(120px,18vw,220px)}.column-resizer-reset{padding-inline:8px}.new-cat-input{background:#eef2ff;border:1px solid #6366f1;border-radius:6px;outline:none;width:160px;padding:4px 10px;font-size:13px}.dashboard-grid-wrapper{flex:1;overflow-y:auto}.dashboard-columns{width:100%;max-width:min(var(--dashboard-columns-width,760px), calc(100vw - 40px));align-items:flex-start;gap:10px;margin:0 auto;padding:16px 20px;display:flex}.dashboard-col{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}@media (width<=520px){.dashboard-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start;width:100%}.column-resizer{flex-wrap:wrap;order:1;width:100%}.column-resizer-controls{flex:1;min-width:190px}.column-resizer-range{flex:1;min-width:120px}.dashboard-columns{flex-direction:column;max-width:calc(100vw - 24px);padding:12px}.dashboard-col{width:100%}}.category-box{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;max-height:340px;transition:border-color .15s;display:flex}.category-box.drag-over{border-color:#6366f1}.category-box.dragging{opacity:.55}.category-drop-indicator{background:#6366f1;border-radius:999px;flex-shrink:0;height:3px;margin:-2px 6px;box-shadow:0 0 0 3px #eef2ff}.category-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:4px;padding:6px 10px 6px 6px;display:flex}.category-drag-handle{cursor:grab;color:#d1d5db;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 3px;font-size:13px;line-height:1}.category-drag-handle:hover{color:#9ca3af}.category-drag-handle:active{cursor:grabbing}.category-title{color:#6b7280;text-transform:uppercase;letter-spacing:.07em;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:700;overflow:hidden}.category-rename-input{color:#374151;text-transform:uppercase;letter-spacing:.07em;background:0 0;border:none;border-bottom:1px solid #6366f1;outline:none;flex:1;min-width:0;padding:1px 0;font-size:11px;font-weight:700}.category-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.item-count{color:#d1d5db;text-align:right;min-width:14px;font-size:11px;font-weight:500}.cat-delete-btn{cursor:pointer;color:#d1d5db;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:16px;line-height:1;transition:opacity .1s,color .1s,background .1s;display:flex}.category-header:hover .cat-delete-btn{opacity:1}.cat-delete-btn:hover{color:#ef4444;background:#fee2e2}.items-list{flex:1;min-height:32px;padding:2px 0;overflow-y:auto}.item{cursor:grab;border-radius:4px;margin:0 2px;padding:1px 6px 1px 10px;position:relative}.item:active{cursor:grabbing}.item.drag-over{box-shadow:inset 3px 0 #6366f1;background-color:#eef2ff!important}.item-drag-preview{z-index:-1;box-sizing:border-box;color:#1f2937;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:4px;max-height:24px;padding:2px 8px 2px 10px;font-family:inherit;font-size:13px;line-height:20px;position:fixed;top:-1000px;left:-1000px;overflow:hidden;box-shadow:0 6px 16px #1f29372e}.item-row{align-items:center;gap:4px;min-height:22px;display:flex;position:relative}.item-text{color:#1f2937;word-break:break-word;-webkit-user-select:none;user-select:none;flex:1;font-size:13px;line-height:1.35}.item-text.bold{font-weight:600}.title-edit-input{color:#1f2937;background:0 0;border:none;border-bottom:1px solid #6366f1;outline:none;flex:1;min-width:0;padding:0;font-family:inherit;font-size:13px;line-height:1.35}.item.editing .item-actions{display:none}.notes-dot{color:#9ca3af;flex-shrink:0;margin-top:-2px;font-size:20px;line-height:1}.item-actions{opacity:0;pointer-events:none;background:#fffffff5;border-radius:4px;align-items:center;gap:2px;padding:2px;transition:opacity .1s;display:flex;position:absolute;top:1px;right:0}.item:hover:not(.editing) .item-actions,.item-actions.open{opacity:1;pointer-events:auto}.action-bold{cursor:pointer;color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:11px;font-weight:700;transition:background .1s,color .1s;display:flex}.action-bold:hover,.action-bold.active{color:#fff;background:#1f2937;border-color:#1f2937}.action-note{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:11px;transition:background .1s,border-color .1s;display:flex}.action-note:hover,.action-note.active{background:#eef2ff;border-color:#6366f1}.color-menu{flex-shrink:0;position:relative}.color-menu-trigger{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:3px;justify-content:center;align-items:center;gap:2px;width:28px;height:20px;padding:0;list-style:none;transition:background .1s,border-color .1s;display:flex}.color-menu-trigger:hover,.color-menu.open .color-menu-trigger{background:#fff;border-color:#9ca3af}.color-menu-swatch,.color-menu-option-swatch{border:1px solid #1f293738;border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #ffffff59}.color-menu-caret{color:#6b7280;margin-top:1px;font-size:9px;line-height:1}.color-menu-popover{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:5px;grid-template-columns:repeat(3,28px);gap:4px;width:108px;padding:4px;display:grid;position:fixed;box-shadow:0 8px 24px #1f29372e}.color-menu-option{cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.color-menu-option:hover,.color-menu-option.active{background:#f3f4f6}.color-menu-option.active .color-menu-option-swatch{outline-offset:2px;outline:2px solid #374151}.color-menu-option-swatch.empty{background:linear-gradient(135deg,#0000 45%,#ef4444 46% 54%,#0000 55%),#fff;position:relative}.action-archive{cursor:pointer;color:#d1d5db;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:17px;font-weight:300;line-height:1;transition:background .1s,color .1s;display:flex}.action-archive:hover{color:#ef4444;background:#fee2e2}.notes-area{color:#374151;resize:vertical;background:#f9fafb;border:1px solid #e5e7eb;border-radius:5px;outline:none;width:100%;margin-top:5px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.notes-area:focus{background:#fff;border-color:#6366f1}.notes-tooltip{z-index:1000;color:#374151;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;pointer-events:none;background:#fff;border:1px solid #d1d5db;border-radius:5px;max-width:min(360px,100vw - 24px);padding:6px 10px;font-size:12px;line-height:1.55;animation:.15s fadeIn;position:fixed;box-shadow:0 2px 8px #00000014}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-area{border-top:1px solid #f3f4f6;flex-shrink:0;padding:5px 8px 7px}.add-item-btn{color:#d1d5db;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;width:100%;height:29px;padding:5px 8px;font-family:inherit;font-size:13.5px;transition:background .1s,color .1s;display:flex}.add-item-btn:hover{color:#9ca3af;background:#f9fafb}.add-input{color:#1f2937;background:#eef2ff;border:1px solid #6366f1;border-radius:5px;outline:none;width:100%;height:29px;padding:5px 8px;font-family:inherit;font-size:13.5px}.archive-backdrop{z-index:50;background:#0000001f;animation:.15s fadeIn;position:fixed;inset:0}.archive-panel{z-index:51;background:#fff;border-left:1px solid #e5e7eb;flex-direction:column;width:280px;height:100vh;animation:.18s slideIn;display:flex;position:fixed;top:0;right:0}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.archive-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.archive-title{color:#374151;font-size:13px;font-weight:600}.archive-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px;font-weight:300;line-height:1}.archive-close:hover{color:#374151}.archive-list{flex:1;padding:6px 0;overflow-y:auto}.archive-empty{color:#9ca3af;padding:16px 14px;font-size:13px}.archive-item{border-bottom:1px solid #f3f4f6;padding:7px 14px}.archive-item:last-child{border-bottom:none}.archive-item-text{color:#1f2937;word-break:break-word;font-size:13px;line-height:1.4}.archive-item-cat{color:#9ca3af;margin-top:1px;font-size:11px}.archive-cat-select{color:#374151;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239ca3af'/%3E%3C/svg%3E") right 7px center no-repeat;border:1px solid #d1d5db;border-radius:4px;outline:none;width:100%;margin-top:3px;padding:3px 22px 3px 7px;font-family:inherit;font-size:11.5px;transition:border-color .15s}.archive-cat-select:focus{border-color:#6366f1}.archive-item-actions{gap:6px;margin-top:5px;display:flex}.archive-btn-restore{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:2px 8px;font-size:11.5px;transition:background .1s,border-color .1s}.archive-btn-restore:hover{background:#f3f4f6;border-color:#9ca3af}.archive-btn-delete{color:#ef4444;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:4px;padding:2px 8px;font-size:11.5px;transition:background .1s}.archive-btn-delete:hover{background:#fee2e2}.load-error{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;font-size:14px;display:flex}.load-error button{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:6px 18px;font-family:inherit;font-size:13px;transition:background .1s}.load-error button:hover{background:#f3f4f6}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{color:#e5e7eb;background:#111827}:root[data-theme=dark] .login-card,:root[data-theme=dark] .dashboard-header,:root[data-theme=dark] .category-box,:root[data-theme=dark] .archive-panel,:root[data-theme=dark] .notes-tooltip,:root[data-theme=dark] .color-menu-popover{background:#1f2937;border-color:#374151}:root[data-theme=dark] .dashboard-title,:root[data-theme=dark] .login-card h1,:root[data-theme=dark] .item:not(.has-color) .item-text,:root[data-theme=dark] .archive-item-text{color:#f9fafb}:root[data-theme=dark] .login-card input,:root[data-theme=dark] .new-cat-input,:root[data-theme=dark] .category-rename-input,:root[data-theme=dark] .title-edit-input,:root[data-theme=dark] .notes-area,:root[data-theme=dark] .add-input,:root[data-theme=dark] .archive-cat-select{color:#f9fafb;background-color:#111827;border-color:#4b5563}:root[data-theme=dark] .login-card input:focus,:root[data-theme=dark] .new-cat-input:focus,:root[data-theme=dark] .notes-area:focus,:root[data-theme=dark] .add-input:focus,:root[data-theme=dark] .archive-cat-select:focus{border-color:#818cf8}:root[data-theme=dark] .login-card button,:root[data-theme=dark] .action-bold:hover,:root[data-theme=dark] .action-bold.active{color:#111827;background:#f9fafb;border-color:#f9fafb}:root[data-theme=dark] .login-card button:hover{background:#e5e7eb}:root[data-theme=dark] .btn-secondary,:root[data-theme=dark] .action-bold,:root[data-theme=dark] .action-note,:root[data-theme=dark] .color-menu-trigger,:root[data-theme=dark] .archive-btn-restore,:root[data-theme=dark] .load-error button{color:#e5e7eb;background:#374151;border-color:#4b5563}:root[data-theme=dark] .btn-secondary:hover,:root[data-theme=dark] .btn-ghost:hover,:root[data-theme=dark] .column-resizer-toggle[aria-pressed=true],:root[data-theme=dark] .add-item-btn:hover,:root[data-theme=dark] .color-menu-option:hover,:root[data-theme=dark] .color-menu-option.active,:root[data-theme=dark] .archive-btn-restore:hover,:root[data-theme=dark] .load-error button:hover{color:#f9fafb;background:#4b5563}:root[data-theme=dark] .btn-ghost,:root[data-theme=dark] .category-title,:root[data-theme=dark] .archive-title,:root[data-theme=dark] .notes-tooltip,:root[data-theme=dark] .load-error{color:#d1d5db}:root[data-theme=dark] .btn-ghost:disabled:hover{color:#d1d5db;background:0 0}:root[data-theme=dark] .category-header,:root[data-theme=dark] .add-area,:root[data-theme=dark] .archive-header,:root[data-theme=dark] .archive-item{border-color:#374151}:root[data-theme=dark] .item-actions{background:#1f2937f5}:root[data-theme=dark] .item-drag-preview{color:#f9fafb;background:#1f2937}:root[data-theme=dark] .category-drop-indicator{box-shadow:0 0 0 3px #312e81}:root[data-theme=dark] .item.drag-over{background-color:#312e81!important}:root[data-theme=dark] .action-note:hover,:root[data-theme=dark] .action-note.active{background:#312e81;border-color:#818cf8}:root[data-theme=dark] .color-menu-trigger:hover,:root[data-theme=dark] .color-menu.open .color-menu-trigger{background:#4b5563;border-color:#6b7280}:root[data-theme=dark] .color-menu-caret,:root[data-theme=dark] .archive-close:hover{color:#d1d5db}:root[data-theme=dark] .color-menu-option.active .color-menu-option-swatch{outline-color:#f9fafb}:root[data-theme=dark] .archive-backdrop{background:#00000073}:root[data-theme=dark] .archive-btn-delete{color:#fca5a5;background:#1f2937;border-color:#7f1d1d}:root[data-theme=dark] .archive-btn-delete:hover,:root[data-theme=dark] .action-archive:hover,:root[data-theme=dark] .cat-delete-btn:hover{color:#fee2e2;background:#7f1d1d}
