:root{--white:#fff;--red-50:#fdeeec;--red-100:#fbdbd6;--red-200:#f4a99e;--red-400:#e15b4c;--red-500:#dc4c3e;--red-600:#c5392b;--red-700:#a82e22;--warm-25:#fffcf8;--warm-50:#fcfaf8;--warm-100:#f7f4f0;--warm-150:#f0ece6;--warm-200:#eae6e0;--warm-300:#dbd6ce;--ink-900:#202020;--ink-700:#444341;--ink-500:#707067;--ink-400:#9c9890;--ink-300:#b9b5ad;--priority-1:#d1453b;--priority-2:#eb8909;--priority-3:#246fe0;--priority-4:#9c9890;--priority-1-bg:#fbeae8;--priority-2-bg:#fcf1e2;--priority-3-bg:#e7f0fc;--success:#058527;--success-bg:#e5f4e9;--info:#246fe0;--info-bg:#e7f0fc;--warning:#c77100;--avatar-amber-from:#f2a93b;--avatar-amber-to:#e0871e;--workspace-teal:#6fbaa8;--bg-canvas:var(--warm-25);--bg-sidebar:var(--warm-50);--surface-card:var(--white);--surface-hover:var(--warm-100);--surface-active:var(--warm-150);--surface-overlay:#20202066;--nav-active-bg:var(--red-50);--nav-active-fg:var(--red-500);--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-tertiary:var(--ink-400);--text-placeholder:var(--ink-300);--text-on-brand:var(--white);--text-link:var(--red-500);--border-subtle:var(--warm-200);--border-strong:var(--warm-300);--border-focus:var(--red-500);--border-hairline:1px solid var(--border-subtle);--border-field:1px solid var(--border-strong);--brand:var(--red-500);--brand-hover:var(--red-600);--brand-pressed:var(--red-700);--control-secondary-bg:#2020200a;--control-secondary-bg-hover:#20202012;--danger-border-subtle:#c9332b33;--warning-border-subtle:#c7710038;--toast-border-subtle:#dc4c3e29;--font-sans:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-display:32px;--text-h1:26px;--text-h2:20px;--text-h3:17px;--text-body:15px;--text-sm:14px;--text-xs:13px;--text-2xs:11px;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--tracking-tight:0;--tracking-normal:0;--tracking-wide:0;--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-12:64px;--sidebar-width:266px;--content-max:840px;--row-height:40px;--tap-target:28px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-xs:0 1px 2px #28211c0f;--shadow-sm:0 2px 6px #28211c14;--shadow-md:0 6px 18px #28211c1f;--shadow-lg:0 12px 40px #28211c29;--shadow-modal:0 16px 48px #1e191438;--shadow-focus:0 0 0 2px var(--red-100);--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.24s;--cc-canvas:var(--bg-canvas);--cc-canvas-soft:var(--bg-sidebar);--cc-surface:var(--surface-card);--cc-ink:var(--text-primary);--cc-ink-secondary:var(--ink-700);--cc-ink-muted:var(--text-secondary);--cc-ink-faint:var(--text-tertiary);--cc-hairline:var(--border-subtle);--cc-primary:var(--brand);--cc-primary-active:var(--brand-hover);--cc-green:var(--success);--cc-orange:var(--warning);--cc-red:var(--priority-1);--cc-shadow-soft:var(--shadow-md);--cc-shadow-focus:var(--shadow-focus);color:var(--text-primary);background:var(--bg-sidebar);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);font-size:var(--text-body);font-synthesis:none;line-height:var(--leading-normal);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--bg-sidebar);min-height:100%}body{background:var(--bg-sidebar);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{touch-action:manipulation}#root{min-height:100vh}h1,h2,p{margin:0}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea{font-size:max(16px,1em)}body{color:var(--text-primary)}button{appearance:none}.app-frame{min-height:100vh;padding:0}.brand-mark{background:linear-gradient(135deg, var(--avatar-amber-from), var(--avatar-amber-to));color:var(--white);font-size:var(--text-2xs);font-weight:var(--weight-bold);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.brand-mark--small{width:28px;height:28px}.brand-mark--tiny{font-size:var(--text-2xs);width:18px;height:18px}.login-mark{background:linear-gradient(135deg, var(--avatar-amber-from), var(--avatar-amber-to));border-radius:var(--radius-sm);color:var(--white);font-size:var(--text-sm);font-weight:var(--weight-bold);flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.btn-add,.btn-login,.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-semibold);min-height:32px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.btn-add,.btn-primary{background:var(--brand);border:1px solid var(--brand);color:var(--text-on-brand);padding:0 var(--space-4)}.btn-add:hover,.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-add:disabled{background:var(--ink-300);border-color:var(--ink-300);cursor:not-allowed}.btn-secondary{background:var(--control-secondary-bg);color:var(--ink-700);padding:0 var(--space-4);border:1px solid #0000}.btn-secondary:hover{background:var(--control-secondary-bg-hover)}.btn-danger{background:var(--priority-1-bg);border:1px solid var(--danger-border-subtle);color:var(--priority-1);font-size:var(--text-sm);padding:7px 14px}.btn-danger:hover{background:var(--red-100)}.app-shell{background:var(--surface-card);grid-template-columns:var(--sidebar-width) minmax(0, 1fr);text-align:left;justify-content:stretch;align-items:stretch;width:100%;min-height:100vh;margin:0 auto;display:grid}.offline-banner{background:var(--priority-2-bg);border:1px solid var(--warning-border-subtle);border-radius:var(--radius-md);color:var(--warning);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-snug);text-align:center;grid-column:1/-1;padding:10px 14px}.workspace-sidebar,.task-board{min-width:0}.workspace-sidebar{background:var(--bg-sidebar);border-right:var(--border-hairline);gap:var(--space-3);min-height:100vh;padding:var(--space-4) var(--space-3) var(--space-3);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-user{color:var(--text-primary);align-items:center;gap:var(--space-3);min-width:0;min-height:34px;padding:0 var(--space-2);display:flex}.sidebar-user .brand-mark{font-size:var(--text-sm);width:30px;height:30px}.sidebar-user-copy{min-width:0}.sidebar-user strong{font-size:var(--text-body);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;display:block;overflow:hidden}.sidebar-user small{color:var(--text-secondary);font-size:var(--text-2xs);margin-top:1px;line-height:1.25;display:none}.sidebar-quick-actions{align-items:center;gap:var(--space-1);margin-left:auto;display:inline-flex}.sidebar-icon-button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;min-width:28px;height:28px;padding:0 var(--space-2);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.sidebar-icon-button:hover{background:var(--surface-hover)}.sidebar-icon-button--active{color:var(--success)}.sidebar-icon-button--error{color:var(--priority-1)}.sidebar-add-task{color:var(--brand);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:left;min-height:34px;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:5px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:0 10px;display:inline-flex}.sidebar-add-task:hover{background:var(--red-50)}.sidebar-add-task-icon{background:var(--brand);border-radius:var(--radius-pill);color:var(--text-on-brand);flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar-add-task-icon svg{color:currentColor}.sidebar-section{gap:0;display:grid}.sidebar-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);padding:var(--space-5) var(--space-3) var(--space-2);text-transform:none;line-height:1.2}.sidebar-label--projects{align-items:center;gap:var(--space-3);display:inline-flex}.sidebar-item,.project-item{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-3);min-height:34px;padding:0 var(--space-3);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:space-between;width:100%;display:flex}.sidebar-item:hover,.project-item:hover{background:var(--surface-hover)}.sidebar-item.selected,.project-item.selected{background:var(--nav-active-bg);color:var(--nav-active-fg)}.sidebar-item-main{align-items:center;gap:var(--space-3);min-width:0;display:inline-flex}.sidebar-icon{color:var(--text-secondary);flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.sidebar-item.selected .sidebar-icon,.project-item.selected .sidebar-icon{color:var(--nav-active-fg)}.sidebar-item strong{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);flex:none;justify-content:center;min-width:20px;padding:0;display:inline-flex}.sidebar-item.selected strong{color:var(--nav-active-fg)}.project-item{justify-content:space-between;align-items:center}.sidebar-icon--project{margin-top:0}.project-copy{gap:2px;min-width:0;display:grid}.project-copy strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.25}.project-copy small{color:var(--text-secondary);font-size:var(--text-2xs);line-height:1.3}.project-count{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);flex:none;justify-content:center;min-width:20px;display:inline-flex}.sync-card{border-radius:var(--radius-sm);align-items:center;gap:var(--space-3);padding:var(--space-3);background:0 0;border:0;margin-top:auto;display:none}.sync-dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px}.sync-dot--pending{background:var(--warning)}.sync-dot--offline{background:var(--priority-1)}.sync-card strong{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.2;display:block}.sync-card small{color:var(--text-secondary);font-size:var(--text-2xs);margin-top:1px;line-height:1.25;display:block}.task-board{background:var(--surface-card);min-height:100vh;padding:0}.page-topbar{min-height:48px;padding:0 var(--space-4);justify-content:space-between;align-items:center;display:flex}.page-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:inline-flex;position:relative}.display-menu-wrap{position:relative}.page-action-button,.page-icon-button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-3);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;display:inline-flex}.page-icon-button{min-width:30px;padding:0 var(--space-2)}.page-action-button:hover,.page-icon-button:hover,.page-action-button.selected{background:var(--surface-hover);color:var(--text-primary)}.display-popover{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-primary);gap:var(--space-3);padding:var(--space-4);z-index:20;width:292px;display:grid;position:absolute;top:38px;right:0}.display-popover p{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.2}.layout-options{background:var(--warm-100);border-radius:var(--radius-md);gap:var(--space-2);padding:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.layout-options button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);min-height:40px;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0}.layout-options button.selected{background:var(--surface-card);box-shadow:var(--shadow-xs);color:var(--text-primary)}.layout-options button:disabled{cursor:not-allowed;opacity:.5}.display-row{color:var(--text-primary);font-size:var(--text-xs);justify-content:space-between;align-items:center;min-height:28px;display:flex}.display-row strong{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.toggle-indicator{background:var(--ink-300);border-radius:var(--radius-pill);width:34px;height:20px;display:inline-flex;position:relative}.toggle-indicator:after{background:var(--white);content:"";border-radius:50%;width:16px;height:16px;position:absolute;top:2px;left:2px}.task-board-content{max-width:var(--content-max);padding:var(--space-2) 0 var(--space-10);width:min(var(--content-max), calc(100% - var(--space-8)));margin:0 auto}.board-header{align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);justify-content:space-between;display:flex}.board-kicker{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);line-height:1.2;display:none}h1{color:var(--text-primary);font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1.25}.notification-toast{background:var(--surface-card);border:1px solid var(--toast-border-subtle);border-left:3px solid var(--brand);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;gap:var(--space-2);margin:0 0 var(--space-5);padding:var(--space-4) var(--space-4);text-align:left;width:100%;display:grid}.notification-toast span{color:var(--brand);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.notification-toast strong{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.notification-toast small{color:var(--text-secondary);font-size:var(--text-2xs)}.task-composer{background:var(--surface-card);border:var(--border-field);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:0 0 var(--space-5);padding:0;display:grid;overflow:hidden}.task-composer-main{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) 0;display:flex}.task-composer input,.task-composer textarea,.task-composer select{border-radius:var(--radius-xs);color:var(--text-primary);min-width:0;min-height:34px;padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;outline:none}.task-composer-main input{font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:1}.task-composer textarea{margin:0 var(--space-3);resize:vertical;border-radius:0}.task-composer input::placeholder,.task-composer textarea::placeholder{color:var(--text-placeholder)}.task-composer input:focus,.task-composer textarea:focus,.task-composer select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.task-composer-fields{gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-3);flex-wrap:wrap;display:flex}.task-composer-fields label{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);align-items:center;gap:var(--space-2);flex:0 180px;display:flex}.task-composer-footer{border-top:var(--border-hairline);padding:var(--space-3);justify-content:flex-end;display:flex}.task-composer-overlay{background:var(--surface-overlay);padding:112px var(--space-5) var(--space-5);z-index:90;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.task-composer-card{background:var(--surface-card);box-shadow:var(--shadow-modal);color:var(--text-primary);border:0;border-radius:10px;width:min(550px,100vw - 32px);display:grid;overflow:visible}.task-composer-inline{margin:var(--space-3) 0 var(--space-5)}.task-composer-card--inline{border:var(--border-hairline);border-radius:var(--radius-md);box-shadow:none;width:100%}.composer-body{padding:var(--space-5) var(--space-5) var(--space-4);gap:0;display:grid}.task-composer-card--inline .composer-body{gap:var(--space-3);padding:var(--space-5)}.composer-title-row{align-items:center;min-height:29px;display:flex}.composer-title-input,.composer-desc-input{border-radius:var(--radius-sm);color:var(--text-primary);min-width:0;padding:var(--space-1) 0;background:0 0;border:1px solid #0000;outline:none;width:100%}.composer-title-input{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.task-composer-card:not(.task-composer-card--inline) .composer-title-input{font-size:22px;font-weight:var(--weight-semibold);min-height:29px}.composer-desc-input{color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);resize:vertical;min-height:25px}.task-composer-card:not(.task-composer-card--inline) .composer-desc-input{min-height:30px;font-size:16px}.task-composer-card--inline .composer-desc-input{font-size:var(--text-sm);min-height:44px}.composer-title-input::placeholder,.composer-desc-input::placeholder{color:var(--text-placeholder)}.composer-title-input:focus,.composer-desc-input:focus{box-shadow:none;border-color:#0000}.composer-chips{align-items:center;gap:var(--space-2);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.composer-chip-wrap{position:relative}.composer-chip{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-3);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:inline-flex}.composer-chip:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-primary)}.composer-chip:disabled{cursor:not-allowed;opacity:.48}.composer-chip--unavailable:disabled{opacity:.78}.composer-chip--icon{min-width:30px;padding:0 var(--space-2)}.composer-chip--date-overdue,.composer-chip--priority-1{background:var(--priority-1-bg);border-color:var(--red-100);color:var(--priority-1)}.composer-chip--date-today,.composer-chip--date-tomorrow,.composer-chip--date-future{background:var(--success-bg);border-color:var(--success-bg);color:var(--success)}.composer-chip--priority-2{background:var(--priority-2-bg);border-color:var(--priority-2-bg);color:var(--priority-2)}.composer-chip--priority-3{background:var(--priority-3-bg);border-color:var(--priority-3-bg);color:var(--priority-3)}.chip-clear{border-radius:var(--radius-pill);height:16px;margin-right:calc(var(--space-1) * -1);justify-content:center;align-items:center;width:16px;display:inline-flex}.chip-clear:hover{background:var(--surface-active)}.composer-popover{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-md);gap:var(--space-1);min-width:244px;padding:var(--space-2);left:0;top:calc(100% + var(--space-2));z-index:110;display:grid;position:absolute}.composer-popover--date{min-width:304px}.composer-popover--priority{min-width:254px}.popover-option{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-3);min-height:34px;padding:0 var(--space-3);text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) auto;display:grid}.popover-option:hover,.popover-option--selected{background:var(--surface-hover)}.popover-option--danger{color:var(--priority-1)}.popover-option small{color:var(--text-secondary);font-size:var(--text-2xs)}.date-typeahead{border:var(--border-field);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-1) 0 var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.date-typeahead:focus-within{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.date-typeahead input{color:var(--text-primary);font-size:var(--text-xs);background:0 0;border:0;outline:0;min-width:0}.date-typeahead input::placeholder{color:var(--text-placeholder)}.date-typeahead button{background:var(--control-secondary-bg);border-radius:var(--radius-xs);color:var(--text-primary);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--weight-semibold);min-height:26px;padding:0 var(--space-3);border:0}.date-typeahead button:disabled{color:var(--text-placeholder);cursor:default}.date-quick-list{gap:var(--space-1);display:grid}.date-calendar-header{align-items:center;gap:var(--space-2);grid-template-columns:28px minmax(0,1fr) 28px;min-height:32px;display:grid}.date-calendar-header strong{color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;text-transform:capitalize}.date-calendar-header button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.date-calendar-header button:hover{background:var(--surface-hover);color:var(--text-primary)}.date-calendar-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.date-calendar-weekday{color:var(--text-tertiary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-align:center;line-height:24px}.date-calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--text-xs);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-width:0;display:inline-flex}.date-calendar-day:hover{background:var(--surface-hover)}.date-calendar-day--muted{color:var(--text-placeholder)}.date-calendar-day--today{border-color:var(--border-strong);font-weight:var(--weight-semibold)}.date-calendar-day--selected{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand);font-weight:var(--weight-semibold)}.date-calendar-day--selected:hover{background:var(--brand-hover)}.priority-option{grid-template-columns:18px minmax(0,1fr) auto 16px}.priority-option-meta{min-width:18px}.priority-option-check{color:var(--brand)}.pop-icon{color:var(--text-secondary)}.pop-icon--green{color:var(--success)}.pop-icon--orange{color:var(--priority-2)}.flag-p1{color:var(--priority-1)}.flag-p2{color:var(--priority-2)}.flag-p3{color:var(--priority-3)}.flag-p4{color:var(--priority-4)}.composer-popover-divider{border-top:var(--border-hairline);margin:var(--space-1) 0}.composer-footer{border-top:var(--border-hairline);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-4);justify-content:space-between;display:flex}.composer-project-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:not-allowed;font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-3);background:0 0;border:1px solid #0000;display:inline-flex}.composer-project-btn:disabled{opacity:.68}.composer-footer-actions{align-items:center;gap:var(--space-3);display:inline-flex}.task-composer-card:not(.task-composer-card--inline) .btn-add,.task-composer-card:not(.task-composer-card--inline) .btn-secondary{font-size:var(--text-sm);min-height:40px;padding:0 var(--space-6);border-radius:10px}.task-composer-card:not(.task-composer-card--inline) .btn-add{background:#e9a29c;border-color:#e9a29c}.task-composer-card:not(.task-composer-card--inline) .btn-add:hover:not(:disabled){background:var(--brand);border-color:var(--brand)}.task-composer-card:not(.task-composer-card--inline) .btn-add:disabled{background:var(--ink-300);border-color:var(--ink-300)}.add-task-row{color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-3);min-height:36px;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;width:100%;padding:0 2px;display:flex}.add-task-row svg{color:var(--brand);flex:none}.add-task-row:hover{color:var(--brand)}.search-overlay{background:var(--surface-overlay);padding:96px var(--space-5) var(--space-5);z-index:95;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.search-dialog{background:var(--surface-card);border:var(--border-hairline);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:10px;width:min(560px,100vw - 32px);display:grid;overflow:hidden}.search-input-row{border-bottom:var(--border-hairline);align-items:center;gap:var(--space-3);min-height:54px;padding:0 var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.search-input-row svg{color:var(--text-secondary)}.search-input-row input{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-medium);background:0 0;border:0;outline:none;width:100%;min-width:0}.search-input-row input::placeholder{color:var(--text-placeholder)}.search-input-row button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.search-input-row button:hover,.search-empty button:hover,.search-results button:hover{background:var(--surface-hover);color:var(--text-primary)}.search-empty,.search-results{padding:var(--space-3);display:grid}.search-empty button,.search-results button{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-3);min-height:38px;padding:0 var(--space-3);text-align:left;background:0 0;border:0;width:100%;display:flex}.search-empty button{color:var(--brand);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.search-results{gap:1px;max-height:min(420px,100vh - 190px);overflow:auto}.search-results p{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-4) var(--space-3)}.search-results button{align-items:flex-start;gap:var(--space-1);padding-bottom:var(--space-2);padding-top:var(--space-2);justify-items:start;display:grid}.search-results button span{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.search-results button small{color:var(--text-secondary);font-size:var(--text-2xs);line-height:var(--leading-snug)}.error{background:var(--priority-1-bg);border:1px solid var(--danger-border-subtle);border-radius:var(--radius-md);color:var(--priority-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin-bottom:var(--space-4);padding:11px 13px}.empty{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-normal);padding:var(--space-7) 0;text-align:center}.empty-state{align-items:center;gap:var(--space-4);margin:var(--space-12) auto var(--space-8);text-align:center;justify-items:center;max-width:320px;display:grid}.empty-illustration{background:var(--warm-100);border:var(--border-hairline);border-radius:var(--radius-pill);height:88px;margin-bottom:var(--space-2);justify-content:center;align-items:center;width:88px;display:inline-flex}.empty-illustration span{background:var(--warm-200);border-radius:14px 14px 6px 6px;width:48px;height:36px;display:block;position:relative}.empty-illustration span:before{background:var(--warm-50);border-radius:var(--radius-pill);content:"";width:28px;height:8px;position:absolute;top:11px;left:10px}.empty-state h2,.management-section h2{color:var(--text-primary);font-size:var(--text-h2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.empty-state p{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-normal)}.upcoming-days{gap:var(--space-6);margin-top:var(--space-5);display:grid}.upcoming-day{border-bottom:var(--border-hairline);min-height:72px;padding:var(--space-4) 2px;justify-content:space-between;align-items:center;display:flex}.upcoming-day strong{color:var(--text-primary);font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:1.25;display:block}.upcoming-day small{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug);margin-top:var(--space-2);display:block}.upcoming-day button,.management-heading button{border-radius:var(--radius-pill);color:var(--brand);cursor:pointer;height:32px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:32px;font-size:22px;line-height:1;display:inline-flex}.upcoming-day button:hover,.management-heading button:hover{background:var(--surface-hover);border-color:var(--border-subtle)}.management-view,.reporting-view{gap:var(--space-8);margin-top:var(--space-5);display:grid}.management-section{gap:var(--space-3);display:grid}.management-heading{border-bottom:var(--border-hairline);min-height:44px;padding:0 2px var(--space-3);justify-content:space-between;align-items:center;display:flex}.management-row{border:0;border-bottom:var(--border-hairline);color:var(--ink-700);cursor:pointer;font-size:var(--text-body);min-height:48px;padding:var(--space-3) 2px;text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;justify-content:space-between;align-items:center;display:flex}.management-row:hover{background:var(--surface-hover)}.management-row--static{cursor:default}.management-row--static:hover{background:0 0}.management-row small{background:var(--warm-100);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);min-width:26px;padding:3px var(--space-3);justify-content:center;align-items:center;display:inline-flex}.management-empty{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-normal);padding:var(--space-4) 2px}.filter-chips{gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-chips span{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-md);color:var(--ink-700);font-size:var(--text-xs);font-weight:var(--weight-medium);min-height:32px;padding:var(--space-2) 11px;align-items:center;display:inline-flex}.activity-feed{list-style:none;display:grid}.activity-feed-item{border-bottom:var(--border-hairline);padding:var(--space-4) 2px;gap:2px;display:grid}.activity-feed-item span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.activity-feed-item strong{color:var(--ink-900);font-size:var(--text-body);font-weight:var(--weight-semibold)}.activity-feed-item small{color:var(--text-muted);font-size:var(--text-2xs)}.board-subheader{border-bottom:var(--border-hairline);align-items:center;gap:var(--space-3);min-height:34px;padding:0 2px var(--space-3);justify-content:space-between;display:flex}.board-subheader span{color:var(--ink-700);font-size:var(--text-xs);font-weight:var(--weight-semibold);align-items:center;gap:var(--space-2);display:inline-flex}.board-subheader small{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.section-chevron{color:var(--text-secondary);display:flex}.task-sections{gap:var(--space-7);margin-top:var(--space-5);display:grid}.task-sections--plain{margin-top:0}.task-sections--plain+.add-task-row,.task-sections--plain+.task-composer-inline{margin-top:var(--space-2)}.task-section{display:grid}.task-list{list-style:none;display:grid}.task-item{border-bottom:var(--border-hairline);align-items:center;gap:var(--space-3);grid-template-columns:var(--tap-target) minmax(0, 1fr) auto auto;min-height:44px;padding:var(--space-2) 2px;transition:background-color var(--dur-fast) var(--ease-out);display:grid}.task-item:hover{background:var(--surface-hover)}.task-item.selected{background:var(--red-50)}.task-item.klaar .task-title{color:var(--text-secondary);text-decoration:line-through}.task-check{border-radius:var(--radius-pill);cursor:pointer;height:var(--tap-target);width:var(--tap-target);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.task-check span{border:1.7px solid var(--border-strong);height:18px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:50%;width:18px;display:block;position:relative}.task-check:hover span{border-color:var(--brand);box-shadow:0 0 0 3px var(--red-50)}.task-check--klaar span{background:var(--priority-4);border-color:var(--priority-4)}.task-check--klaar span:after{border-bottom:2px solid var(--white);border-right:2px solid var(--white);content:"";width:4px;height:8px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.task-check--archived{cursor:default;opacity:.4}.task-content{color:inherit;cursor:pointer;gap:var(--space-1);text-align:left;background:0 0;border:0;min-width:0;display:grid}.task-title-row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.task-title{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-snug);overflow-wrap:anywhere;flex:1;min-width:0}.task-meta{color:var(--text-secondary);font-size:var(--text-2xs);gap:var(--space-2);line-height:var(--leading-snug);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.task-description{color:var(--text-secondary);font-size:var(--text-2xs);line-height:var(--leading-snug);overflow-wrap:anywhere}.sync-pill,.status-pill,.priority-pill{border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:var(--weight-semibold);min-height:22px;padding:0 var(--space-2);flex:none;align-items:center;line-height:1;display:inline-flex}.sync-pill{background:var(--priority-2-bg);color:var(--warning)}.priority-pill{color:var(--text-secondary);background:0 0}.priority-pill--1{background:var(--priority-1-bg);color:var(--priority-1)}.priority-pill--2{background:var(--priority-2-bg);color:var(--priority-2)}.priority-pill--3{background:var(--priority-3-bg);color:var(--priority-3)}.status-pill--open{background:var(--success-bg);color:var(--success)}.status-pill--klaar{background:var(--warm-100);color:var(--text-secondary)}.status-pill--archived{background:var(--priority-1-bg);color:var(--priority-1)}.task-detail-backdrop{background:var(--surface-overlay);padding:var(--space-10) var(--space-7);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-detail-modal{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);color:var(--text-primary);flex-direction:column;width:min(864px,100vw - 48px);max-height:min(772px,100vh - 64px);display:flex;overflow:hidden}.task-detail-header{color:var(--text-secondary);min-height:48px;padding:0 var(--space-3) 0 var(--space-4);align-items:center;display:flex}.task-detail-project,.task-detail-header-actions button{border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);min-height:30px;padding:0 var(--space-3);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000}.task-detail-project:hover,.task-detail-header-actions button:hover:not(:disabled){background:var(--surface-hover)}.task-detail-header-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.task-detail-header-actions button{min-width:30px}.task-detail-header-actions button:disabled{cursor:default;opacity:.3}.task-detail-body{border-top:var(--border-hairline);grid-template-columns:minmax(0,1fr) 260px;min-height:560px;display:grid;overflow:hidden}.task-detail-main{gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-7);grid-auto-rows:max-content;display:grid}.task-detail-title-row{align-items:start;gap:var(--space-3);grid-template-columns:20px minmax(0,1fr);display:grid}.task-detail-title-input{border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--text-h2);font-weight:var(--weight-semibold);min-height:30px;padding:2px var(--space-2);width:100%;transition:border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;outline:none;line-height:1.25}.task-detail-title-input:focus,.task-detail-description:focus{border-color:var(--border-subtle)}.task-detail-description{border-radius:var(--radius-xs);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);min-height:70px;padding:2px var(--space-2);resize:vertical;transition:border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;outline:none;margin-left:28px}.task-detail-subtask{border:0;border-bottom:var(--border-hairline);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-secondary);cursor:not-allowed;font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:var(--space-3);opacity:.7;min-height:44px;padding:0 var(--space-3) var(--space-4);background:0 0;justify-self:stretch;margin-left:28px;display:inline-flex}.task-detail-comment{align-items:center;gap:var(--space-3);padding-top:var(--space-2);margin-left:32px;display:flex}.task-detail-comment button{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:not-allowed;font-size:var(--text-sm);min-height:30px;padding:0 var(--space-5);text-align:left;flex:1}.task-detail-actions{align-items:center;gap:var(--space-3);margin-left:28px;margin-top:var(--space-4);flex-wrap:wrap;display:flex}.task-detail-properties{background:var(--bg-sidebar);padding:var(--space-5);grid-auto-rows:max-content;display:grid}.detail-property{border:0;border-bottom:var(--border-hairline);color:var(--text-primary);min-height:60px;padding:var(--space-3) 0;text-align:left;background:0 0;align-items:center;gap:2px;display:grid}.detail-property>span,.detail-activity summary{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:28px}.detail-property button,.detail-property input,.detail-property select{border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--text-xs);min-height:28px;padding:0 var(--space-3);transition:border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;outline:none;width:100%}.detail-property input:focus,.detail-property select:focus{border-color:var(--border-subtle)}.detail-property--button{cursor:not-allowed;font-size:var(--text-xs);opacity:.7}.detail-activity{border-bottom:var(--border-hairline);padding:var(--space-3) 0 var(--space-4)}.detail-activity summary{cursor:pointer;list-style-position:inside}.detail-activity dl{gap:var(--space-3);padding-top:var(--space-3);display:grid}.detail-activity dt{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.detail-activity dd,.detail-sync{color:var(--ink-700);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:2px 0 0}.detail-sync{padding-top:var(--space-4)}.login-screen,.loading-screen{background:var(--bg-sidebar);min-height:100vh;padding:var(--space-7);justify-content:center;align-items:center;display:flex;overflow-x:hidden}.login-panel{background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:var(--space-5);padding:var(--space-7);justify-items:start;width:min(380px,100vw - 32px);display:grid}.login-panel h1{font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.login-subtitle{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-normal)}.login-buttons{gap:var(--space-3);margin-top:var(--space-2);width:100%;display:grid}.btn-login{background:var(--surface-card);border:var(--border-hairline);color:var(--text-primary);font-size:var(--text-body);min-height:46px;padding:11px var(--space-5);width:100%;transition:box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out)}.btn-login:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-login--microsoft{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand)}.btn-login--microsoft:hover{background:var(--brand-hover);border-color:var(--brand-hover)}@media (width<=1120px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.workspace-sidebar{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.workspace-sidebar{border-bottom:var(--border-hairline);min-height:auto;padding:var(--space-4);gap:var(--space-3);border-right:0;grid-column:auto;position:static}.sidebar-section--primary{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sidebar-section--primary .sidebar-label{grid-column:1/-1}.sidebar-item{align-items:flex-start;gap:var(--space-2);flex-direction:column}.sync-card{display:none}.page-topbar{min-height:44px}.task-board-content{padding-bottom:var(--space-8);width:min(100% - var(--space-8), var(--content-max))}.board-header{flex-direction:column;align-items:stretch}.display-popover{width:min(292px,100vw - 24px);right:-44px}.task-composer-main{flex-direction:column}.task-composer-overlay{padding:var(--space-4);align-items:flex-start}.btn-add{width:100%}.task-detail-backdrop{padding:var(--space-4);align-items:stretch}.task-detail-modal{width:100%;max-height:calc(100vh - 24px)}.task-detail-body{grid-template-columns:1fr;overflow:auto}.task-detail-properties{border-top:var(--border-hairline)}}@media (width<=560px){.sidebar-section--primary{grid-template-columns:repeat(2,minmax(0,1fr))}.board-subheader{align-items:flex-start;gap:var(--space-1);flex-direction:column}.task-item{grid-template-columns:var(--tap-target) minmax(0, 1fr);padding:var(--space-4) 2px}.task-item .priority-pill,.task-item .status-pill{grid-column:2;justify-self:start}.page-actions{gap:var(--space-1)}.page-action-button{padding:0 var(--space-3)}.task-detail-title-input{font-size:var(--text-h3)}.task-detail-main{padding:var(--space-4) var(--space-4) var(--space-6)}.composer-footer{flex-direction:column;align-items:stretch}.composer-footer-actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
