*,:before,:after{box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f4f6;--color-surface:#fff;--color-surface-muted:#f9fafb;--color-surface-completed:#f3f4f6;--color-text:#1f2937;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-border:#e5e7eb;--color-divider:#f3f4f6;--color-border-strong:#d1d5db;--color-border-dashed:#cbd5e1;--color-hover:#f9fafb;--color-hover-strong:#fff;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eff6ff;--color-primary-soft-hover:#dbeafe;--color-primary-text:#1d4ed8;--color-button-secondary-bg:#e5e7eb;--color-button-secondary-text:#111827;--color-button-secondary-hover:#d1d5db;--color-button-active-bg:#dbeafe;--color-button-active-text:#1d4ed8;--color-button-active-hover:#bfdbfe;--color-focus:#bfdbfe;--color-focus-border:#60a5fa;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-drop-border:#93c5fd;--color-drop-glow:#2563eb26;--color-shadow:#0f172a2e;--color-shadow-soft:#0f172a1f;--color-add-project-text:#475569;--color-add-project-hover-border:#94a3b8;color:var(--color-text);background:var(--color-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1220;--color-surface:#151c2c;--color-surface-muted:#1c2538;--color-surface-completed:#121826;--color-text:#e8edf5;--color-text-muted:#9aa6b8;--color-text-subtle:#7b8798;--color-border:#2a3548;--color-divider:#2a3548;--color-border-strong:#3d4b63;--color-border-dashed:#3d4b63;--color-hover:#243044;--color-hover-strong:#2b3a52;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-soft:#1e3a5f;--color-primary-soft-hover:#254a77;--color-primary-text:#93c5fd;--color-button-secondary-bg:#243044;--color-button-secondary-text:#e8edf5;--color-button-secondary-hover:#2b3a52;--color-button-active-bg:#1e3a5f;--color-button-active-text:#93c5fd;--color-button-active-hover:#254a77;--color-focus:#3b82f6;--color-focus-border:#60a5fa;--color-danger:#f87171;--color-danger-bg:#3f1d1d;--color-drop-border:#60a5fa;--color-drop-glow:#60a5fa33;--color-shadow:#00000073;--color-shadow-soft:#00000052;--color-add-project-text:#9aa6b8;--color-add-project-hover-border:#7b8798}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}button,input,textarea{font:inherit;color:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.app__header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.app__heading{flex-direction:column;gap:.2rem;min-width:0;display:flex}.app__title{margin:0;font-size:1.5rem}.app__sync{color:var(--color-text-muted);align-items:center;gap:.5rem;margin:0;font-size:.8125rem;display:flex}.app__sync--error{color:var(--color-danger)}.app__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;display:flex}.app__main{flex:1;overflow:hidden}.button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.button__icon{flex-shrink:0;width:.9rem;height:.9rem}.button:hover{background:var(--color-primary-hover)}.button:disabled{opacity:.6;cursor:not-allowed}.button--danger{background:var(--color-danger-bg);color:var(--color-danger)}.button--danger:hover{background:var(--color-danger-bg);filter:brightness(.97)}.button--secondary{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text)}.button--secondary:hover{background:var(--color-button-secondary-hover)}.button--active{background:var(--color-button-active-bg);color:var(--color-button-active-text)}.button--active:hover{background:var(--color-button-active-hover)}.button__count{background:var(--color-primary-soft);min-width:1.15rem;color:var(--color-primary-text);text-align:center;border-radius:999px;padding:.05rem .35rem;font-size:.7rem;font-weight:700;line-height:1.3}.button--active .button__count{background:var(--color-hover-strong)}.board{align-items:flex-start;gap:1rem;min-height:calc(100vh - 110px);padding:1.25rem 1.5rem;display:flex;overflow-x:auto}.board__add-project{border:2px dashed var(--color-border-dashed);min-width:260px;min-height:120px;color:var(--color-add-project-text);cursor:pointer;background:0 0;border-radius:12px;font-weight:600;transition:border-color .15s,background .15s}.board__add-project:hover{border-color:var(--color-add-project-hover-border);background:var(--color-surface)}.project-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;min-width:300px;max-width:300px;max-height:calc(100vh - 140px);display:flex}.project-column--over{border-color:var(--color-drop-border);box-shadow:0 0 0 2px var(--color-drop-glow)}.project-column--dragging{opacity:.5}.project-column--overlay{box-shadow:0 12px 24px var(--color-shadow);cursor:grabbing;opacity:1;min-width:300px}.agenda-column{z-index:3;border-color:var(--color-primary);box-shadow:4px 0 16px var(--color-shadow-soft);position:sticky;left:0}.agenda-column.project-column--over{border-color:var(--color-drop-border);box-shadow:0 0 0 2px var(--color-drop-glow), 4px 0 16px var(--color-shadow-soft)}.agenda-column .project-column__header{background:var(--color-primary-soft);border-bottom-color:#0000;border-radius:11px 11px 0 0}.agenda-column__titles{flex-direction:column;flex:1;min-width:0;display:flex}.agenda-column__title{cursor:default;padding-left:0}.agenda-column__title:hover{background:0 0}.agenda-column__date{color:var(--color-primary-text);text-transform:capitalize;padding-left:.35rem;font-size:.72rem;font-weight:600}.agenda-column__budget{color:var(--color-text);margin-top:.15rem;padding-left:.35rem;font-size:.75rem;font-weight:700;line-height:1.3}.agenda-column__footer{border-top:1px solid var(--color-divider);flex-direction:column;gap:.55rem;padding:.65rem .85rem;display:flex}.agenda-column__hint{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.4}.agenda-column__sort{background:var(--color-primary-soft);color:var(--color-primary-text);cursor:pointer;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.75rem;font-weight:600}.agenda-column__sort:hover:not(:disabled){background:var(--color-primary-soft-hover)}.agenda-column__sort:disabled{opacity:.5;cursor:default}.agenda-column__clear{background:var(--color-button-secondary-bg);color:var(--color-button-secondary-text);cursor:pointer;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.75rem;font-weight:600}.agenda-column__clear:hover:not(:disabled){background:var(--color-button-secondary-hover)}.agenda-column__clear:disabled{opacity:.5;cursor:default}.project-column__header{border-bottom:1px solid var(--color-divider);align-items:center;gap:.35rem;padding:.85rem .9rem;display:flex}.project-column__drag-handle{color:var(--color-text-subtle);cursor:grab;background:0 0;border:none;flex-shrink:0;padding:.05rem .15rem;font-size:.7rem;line-height:1}.project-column__drag-handle:active{cursor:grabbing}.project-column__heading{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.project-column__name,.project-column__name-input{text-align:left;min-width:0;font-size:.9rem;font-weight:700}.project-column__name{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.2rem .35rem;overflow:hidden}.project-column__name-input{flex:1}.project-column__count{background:var(--color-button-secondary-bg);min-width:1.25rem;color:var(--color-text-muted);text-align:center;border-radius:999px;flex-shrink:0;padding:.05rem .4rem;font-size:.7rem;font-weight:600;line-height:1.4}.project-column__name:hover{background:var(--color-hover)}.project-column__name-input{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:6px;padding:.2rem .35rem}.project-column__delete{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.1rem .25rem;font-size:1rem;line-height:1}.project-column__delete:hover{color:var(--color-danger);background:var(--color-danger-bg)}.project-column__tasks{flex-direction:column;flex:1;gap:.5rem;min-height:80px;padding:.75rem;display:flex;overflow-y:auto}.project-column__empty{color:var(--color-text-subtle);text-align:center;margin:0;padding:1rem 0;font-size:.9rem}.project-column__completed{border-top:1px dashed var(--color-border);flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.project-column__completed-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.75rem;font-weight:600}.project-column__footer{border-top:1px solid var(--color-divider);align-items:flex-end;gap:.4rem;padding:.6rem .65rem;display:flex}.project-column__add-input{border:1px solid var(--color-border-strong);resize:none;background:var(--color-surface);border-radius:6px;flex:1;min-width:0;min-height:2rem;max-height:7.5rem;padding:.35rem .5rem;font-family:inherit;font-size:.8125rem;line-height:1.4;overflow-y:auto}.project-column__add-input:focus{outline:2px solid var(--color-focus);border-color:var(--color-focus-border)}.project-column__add-button{background:var(--color-primary-soft);color:var(--color-primary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:.35rem .5rem;font-size:.75rem;font-weight:600}.project-column__add-button:hover{background:var(--color-primary-soft-hover)}.task-card{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.35rem;padding:.4rem .45rem;font-size:.8125rem;display:flex}.task-card__body{width:100%;min-width:0}.task-card__toolbar{align-items:center;gap:.35rem;min-width:0;display:flex}.task-card__toolbar-spacer{flex:1;min-width:0}.task-card--dragging{box-shadow:0 8px 20px var(--color-shadow-soft)}.task-card--overlay{box-shadow:0 12px 24px var(--color-shadow);background:var(--color-surface);cursor:grabbing;min-width:240px}.task-card--completed{background:var(--color-surface-completed);border-color:var(--color-border)}.task-card--in-agenda{border-color:var(--color-drop-border)}.task-card__project{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .15rem;padding:0 .15rem;font-size:.65rem;font-weight:700;overflow:hidden}.task-card__priority{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;padding:0}.task-card__priority--none{border:1.5px solid var(--color-border-strong);background:0 0}.task-card__priority--p1{background:#ef4444}.task-card__priority--p2{background:#eab308}.task-card__priority--p3{background:#3b82f6}.task-card__priority:hover{transform:scale(1.15)}.task-card__effort{color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.28rem;height:1.15rem;padding:0 .4rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.task-card__effort--none{border:1.5px solid var(--color-border-strong);width:1.15rem;color:var(--color-text-subtle);background:0 0;padding:0}.task-card__effort--none svg{width:.75rem;height:.75rem}.task-card__effort--m5{background:#047857}.task-card__effort--m30{background:#0e7490}.task-card__effort--h2{background:#4338ca}.task-card__effort--h4{background:#c2410c}.task-card__effort--h8{background:#be185d}.task-card__effort-meter{align-items:flex-end;gap:2px;height:.7rem;display:inline-flex}.task-card__effort-meter span{background:#ffffff59;border-radius:1px;width:3px}.task-card__effort-meter span.is-filled{background:#fff}.task-card__effort-meter span:first-child{height:30%}.task-card__effort-meter span:nth-child(2){height:45%}.task-card__effort-meter span:nth-child(3){height:60%}.task-card__effort-meter span:nth-child(4){height:78%}.task-card__effort-meter span:nth-child(5){height:100%}.task-card__effort:hover{filter:brightness(1.12)}.task-card__effort--none:hover{filter:none;color:var(--color-text);border-color:var(--color-text-muted)}.task-card--completed .task-card__effort{opacity:.6}.task-card__time{width:1.15rem;height:1.15rem;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.task-card__time svg{width:.95rem;height:.95rem}.task-card__time--early_morning{color:#f59e0b}.task-card__time--morning{color:#eab308}.task-card__time--afternoon{color:#fb923c}.task-card__time--night{color:#818cf8}.task-card__time:hover{background:var(--color-hover)}.task-card--completed .task-card__time{opacity:.6}.task-card__agenda{width:1.15rem;height:1.15rem;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.task-card__agenda svg{width:.85rem;height:.85rem}.task-card__agenda:hover,.task-card__agenda--active{color:var(--color-primary-text);background:var(--color-primary-soft)}.task-card__checkbox{cursor:pointer;width:.9rem;height:.9rem;accent-color:var(--color-primary);flex-shrink:0}.task-card__drag-placeholder{flex-shrink:0;width:.7rem}.task-card__drag-handle{color:var(--color-text-subtle);cursor:grab;background:0 0;border:none;flex-shrink:0;padding:.05rem .15rem;font-size:.7rem;line-height:1}.task-card__drag-handle:active{cursor:grabbing}.task-card--completed .task-card__title{color:var(--color-text-muted);text-decoration:line-through}.task-card--completed .task-card__title:hover{background:0 0}.task-card__title,.task-card__input{width:100%;min-width:0;display:block}.task-card__title{text-align:left;cursor:pointer;font-size:inherit;word-break:break-word;white-space:pre-wrap;background:0 0;border:none;border-radius:4px;padding:.1rem .15rem;line-height:1.4}.task-card__title:hover{background:var(--color-hover-strong)}.task-card__input{border:1px solid var(--color-border-strong);font-size:inherit;background:var(--color-surface);resize:none;border-radius:4px;min-height:1.6rem;padding:.2rem .35rem;font-family:inherit;line-height:1.4;overflow:hidden}.task-card__delete{color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.05rem .2rem;font-size:.95rem;line-height:1}.task-card__delete:hover{color:var(--color-danger);background:var(--color-danger-bg)}.gate{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.panel,.dialog{background:var(--color-surface);border:1px solid var(--color-border);width:min(100%,28rem);box-shadow:0 12px 24px var(--color-shadow-soft);border-radius:12px;padding:1.5rem}.panel__title,.dialog__title{margin:0 0 .75rem;font-size:1.35rem}.panel__text,.dialog__text{color:var(--color-text-muted);margin:0 0 1rem}.panel__hint{color:var(--color-text-subtle);margin:.85rem 0 0;font-size:.8125rem}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field__label{font-size:.875rem;font-weight:600}.field__input{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:8px;padding:.55rem .7rem}.field__input:focus{outline:2px solid var(--color-focus);border-color:var(--color-focus-border)}.form-error{color:var(--color-danger);margin:0 0 .9rem}.dialog-backdrop{z-index:20;background:var(--color-shadow);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.dialog__actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=768px){.app__header{flex-direction:column}.board{padding:1rem}.project-column{min-width:260px;max-width:260px}.agenda-column{position:static}}
