:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-sunken:#eceef2;--color-surface-hover:#f1f3f6;--color-surface-active:#e4e7ec;--color-overlay:#11151a80;--color-header:#ffffffdb;--color-border:#e2e5ea;--color-border-strong:#cbd0d7;--color-border-input:#8e96a0;--color-text:#1b1f24;--color-text-muted:#545d68;--color-text-faint:#68717c;--color-brand:#25b84c;--color-primary:#15803d;--color-primary-hover:#116c33;--color-primary-active:#0e5a2a;--color-on-primary:#fff;--color-primary-text:#15733a;--color-primary-soft:#e9f7ed;--color-primary-soft-border:#bfe5c9;--color-focus:#15803d;--status-success-fg:#146c35;--status-success-bg:#e9f7ed;--status-success-border:#bfe5c9;--status-success-solid:#15803d;--status-danger-fg:#b42318;--status-danger-bg:#fef1f0;--status-danger-border:#f9cfcb;--status-danger-solid:#c8352b;--status-danger-solid-hover:#ab2a21;--status-warning-fg:#8f4f06;--status-warning-bg:#fff6e5;--status-warning-border:#f7dca6;--status-warning-solid:#e8930c;--status-info-fg:#1c5bb8;--status-info-bg:#eef4ff;--status-info-border:#c7dafc;--status-info-solid:#2f6fdb;--status-report-fg:#0b6660;--status-report-bg:#e6f6f4;--status-report-border:#b5e2dd;--status-report-solid:#0f7f78;--color-on-solid:#fff;--avatar-0-bg:#dff3e4;--avatar-0-fg:#146c35;--avatar-1-bg:#dfeafc;--avatar-1-fg:#1c5bb8;--avatar-2-bg:#ebe3fb;--avatar-2-fg:#5b3bb0;--avatar-3-bg:#fbebcf;--avatar-3-fg:#8a4b06;--avatar-4-bg:#fbe1ec;--avatar-4-fg:#a6245f;--avatar-5-bg:#d8f1ee;--avatar-5-fg:#0b6660;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:22px;--radius-full:999px;--shadow-xs:0 1px 2px #1018280f;--shadow-sm:0 1px 3px #10182814,0 1px 2px #1018280a;--shadow-md:0 8px 20px -6px #10182824,0 2px 6px -2px #1018280f;--shadow-lg:0 24px 48px -12px #1018283d,0 8px 16px -8px #1018281a;--ring:0 0 0 3px #15803d33;--ring-danger:0 0 0 3px #c8352b33;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-0.02em;--dur-fast:120ms;--dur:180ms;--dur-slow:260ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--content-width:1180px;--header-height:3.75rem;--control-height:2.375rem;--control-height-sm:2rem;--page-gutter:32px;--z-header:50;--z-modal:1000;--z-confirm:2000;--z-toast:3000;--select-chevron:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23545d68' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--color-bg:#101316;--color-surface:#1c2126;--color-surface-raised:#232930;--color-surface-sunken:#161a1e;--color-surface-hover:#272d35;--color-surface-active:#313841;--color-overlay:#000000a8;--color-header:#161a1edb;--color-border:#2a3138;--color-border-strong:#3b444e;--color-border-input:#6a7480;--color-text:#e8ebee;--color-text-muted:#a9b2bc;--color-text-faint:#8d96a1;--color-primary:#33c05c;--color-primary-hover:#49cf70;--color-primary-active:#2bb052;--color-on-primary:#04210d;--color-primary-text:#56d580;--color-primary-soft:#33c05c24;--color-primary-soft-border:#33c05c5c;--color-focus:#56d580;--status-success-fg:#62d98c;--status-success-bg:#33c05c24;--status-success-border:#33c05c57;--status-danger-fg:#ff9088;--status-danger-bg:#f0524626;--status-danger-border:#f0524661;--status-warning-fg:#f3b963;--status-warning-bg:#f0a02824;--status-warning-border:#f0a02857;--status-warning-solid:#f0a428;--status-info-fg:#84b3ff;--status-info-bg:#4682f029;--status-info-border:#4682f061;--status-report-fg:#62d2c9;--status-report-bg:#1eaaa026;--status-report-border:#1eaaa05c;--avatar-0-bg:#33c05c38;--avatar-0-fg:#7be3a0;--avatar-1-bg:#4682f03d;--avatar-1-fg:#9cc2ff;--avatar-2-bg:#8c64f042;--avatar-2-fg:#c3adff;--avatar-3-bg:#f0a02838;--avatar-3-fg:#f6c57a;--avatar-4-bg:#eb50963d;--avatar-4-fg:#ffa3ca;--avatar-5-bg:#1eaaa03d;--avatar-5-fg:#7fe0d7;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080,0 1px 2px #0000004d;--shadow-md:0 8px 20px -6px #0009,0 2px 6px -2px #0006;--shadow-lg:0 24px 48px -12px #000000bf,0 8px 16px -8px #00000080;--ring:0 0 0 3px #56d58047;--ring-danger:0 0 0 3px #ff908847;--select-chevron:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a9b2bc' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}@media (max-width:900px){:root{--page-gutter:16px}}@media (pointer:coarse){:root{--control-height:max(44px,2.375rem);--control-height-sm:max(40px,2rem)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f8;background:var(--color-bg);color:#1b1f24;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-size:var(--text-base);line-height:1.5;line-height:var(--leading-normal);overflow-wrap:break-word}body:has(.modal-overlay){overflow:hidden}h1,h2,h3{font-weight:600;font-weight:var(--weight-semibold);line-height:1.25;line-height:var(--leading-tight)}a{border-radius:4px;border-radius:var(--radius-xs);color:#15733a;color:var(--color-primary-text);text-decoration:none}a:hover{text-decoration:underline}ol,ul{list-style:none}::selection{background:#bfe5c9;background:var(--color-primary-soft-border)}:focus-visible{outline:2px solid #15803d;outline:2px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes pop-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes skeleton-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app{min-height:100vh;min-height:100dvh}.icon{vertical-align:middle}.icon,.spinner{display:inline-block;flex-shrink:0}.spinner{animation:spin .7s linear infinite;border:2px solid;border-radius:var(--radius-full);border-right:2px solid #0000;height:1em;width:1em}a.btn-primary,a.btn-secondary,button{-webkit-tap-highlight-color:transparent;align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);gap:var(--space-2);justify-content:center;line-height:var(--leading-tight);min-height:var(--control-height);padding:0 var(--space-4);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap}button{background:#0000;color:inherit}a.btn-primary:active,a.btn-secondary:active,button:active:not(:disabled){transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);box-shadow:var(--shadow-xs);color:var(--color-on-primary);font-weight:var(--weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);text-decoration:none}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);text-decoration:none}.btn-danger{background:var(--status-danger-solid);box-shadow:var(--shadow-xs);color:var(--color-on-solid);font-weight:var(--weight-semibold)}.btn-danger:hover:not(:disabled){background:var(--status-danger-solid-hover)}.btn-danger:focus-visible{outline-color:var(--status-danger-fg)}.btn-ghost{color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-link{border:0;border-radius:var(--radius-xs);color:var(--color-primary-text);display:inline;font-size:inherit;font-weight:var(--weight-medium);min-height:0;padding:0;text-align:left;white-space:normal}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:active:not(:disabled){transform:none}.btn-small{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-muted);font-size:var(--text-sm);gap:6px;min-height:var(--control-height-sm);padding:0 var(--space-3)}.btn-small:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-small-danger:hover:not(:disabled){background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-fg)}.btn-icon{border-radius:var(--radius-md);color:var(--color-text-muted);min-height:var(--control-height-sm);padding:0;width:var(--control-height-sm)}.btn-icon:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.lang-btn{border-color:var(--color-border-strong);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;min-height:var(--control-height-sm);min-width:var(--control-height-sm);padding:0 var(--space-2)}.lang-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.segmented{background:var(--color-surface-sunken);border-radius:var(--radius-lg);display:inline-flex;gap:2px;max-width:100%;padding:3px}.segmented-btn{border-radius:calc(var(--radius-lg) - 3px);color:var(--color-text-muted);flex-shrink:0;min-height:calc(var(--control-height) - 4px);padding:0 var(--space-4)}.segmented-btn.active,.segmented-btn:hover{color:var(--color-text)}.segmented-btn.active{background:var(--color-surface-raised);box-shadow:var(--shadow-sm);font-weight:var(--weight-semibold)}.segmented-btn.active .icon{color:var(--color-primary-text)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-snug);min-height:var(--control-height);padding:8px var(--space-3);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);width:100%}textarea{min-height:84px;resize:vertical}select{appearance:none;-webkit-appearance:none;background-image:var(--select-chevron);background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:34px;text-overflow:ellipsis}input::placeholder,textarea::placeholder{color:var(--color-text-faint);opacity:1}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--color-text-faint)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--color-focus);box-shadow:var(--ring);outline:none}input[readonly]{background-color:var(--color-surface-sunken);color:var(--color-text-muted)}input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:16px;width:16px}.form-group{margin-bottom:var(--space-5)}.form-group label,.form-legend,.invite-form-label{color:var(--color-text);display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:6px;padding:0}.form-legend{float:left;width:100%}.form-legend+*{clear:both}.required-mark{color:var(--status-danger-fg)}.form-fieldset{border:0;margin-left:0;margin-right:0;min-width:0;padding:0}.field-hint{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);margin-top:6px}.field-error{margin-top:6px}.error,.field-error{color:var(--status-danger-fg);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.error{align-items:flex-start;animation:rise-in var(--dur) var(--ease-out);background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--radius-md);display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding:10px var(--space-3)}.error .icon{margin-top:1px}.muted-text{color:var(--color-text-muted);font-size:var(--text-sm)}.invite-form-row{display:flex;gap:var(--space-2)}.invite-form-input{flex:1 1;min-width:0}.invite-form-error{animation:rise-in var(--dur) var(--ease-out)}.invite-register-link{background:var(--color-surface-sunken);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-3)}.invite-register-link label{display:block;margin:0 0 6px}.avatar{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);height:32px;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;width:32px}.avatar-xs{font-size:.625rem;height:20px;width:20px}.avatar-sm{font-size:.6875rem;height:24px;width:24px}.avatar-lg{font-size:var(--text-base);height:40px;width:40px}.avatar-xl{font-size:1.5rem;height:64px;width:64px}.avatar-photo{background:var(--color-surface-sunken);overflow:hidden}.avatar-photo img{display:block;height:100%;object-fit:cover;width:100%}.avatar-square{border-radius:28%}.avatar-h0{background:var(--avatar-0-bg);color:var(--avatar-0-fg)}.avatar-h1{background:var(--avatar-1-bg);color:var(--avatar-1-fg)}.avatar-h2{background:var(--avatar-2-bg);color:var(--avatar-2-fg)}.avatar-h3{background:var(--avatar-3-bg);color:var(--avatar-3-fg)}.avatar-h4{background:var(--avatar-4-bg);color:var(--avatar-4-fg)}.avatar-h5{background:var(--avatar-5-bg);color:var(--avatar-5-fg)}.avatar-muted{background:#0000;box-shadow:inset 0 0 0 1.5px var(--color-border-strong);color:var(--color-text-faint)}.chip{align-items:center;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);gap:5px;line-height:1.3;min-height:24px;padding:2px 8px;white-space:nowrap}.chip-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-fg)}.chip-danger,.chip-warning{font-weight:var(--weight-semibold)}.chip-warning{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-fg)}.chip-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-fg)}.chip-pending{background:#0000;border-color:var(--color-border-strong);border-style:dashed}.chip-pending,.count-badge{color:var(--color-text-muted)}.count-badge{font-feature-settings:"tnum";align-items:center;background:var(--color-surface-active);border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);height:20px;justify-content:center;line-height:1;min-width:20px;padding:0 6px}.count-badge-danger{background:var(--status-danger-solid);color:var(--color-on-solid)}.modal-overlay{--modal-pad:var(--space-6);align-items:center;animation:fade-in var(--dur) var(--ease-out);background:var(--color-overlay);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal)}.modal{animation:pop-in var(--dur-slow) var(--ease-out);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--space-4)*2);max-height:calc(100dvh - var(--space-4)*2);max-width:480px;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--modal-pad);position:relative;width:100%}.modal:focus{outline:none}.modal-overlay.is-leaving{animation:fade-out var(--dur) var(--ease-in) forwards;pointer-events:none}.modal-overlay.is-leaving .modal{animation:pop-out var(--dur) var(--ease-in) forwards}.modal-header{align-items:center;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:space-between;margin:0 calc(var(--modal-pad)*-1) var(--space-5);padding:var(--space-4) var(--space-4) var(--space-4) var(--modal-pad);position:sticky;top:0;z-index:2}.modal h2{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.modal-header h2{min-width:0}.close-btn{border-radius:var(--radius-md);color:var(--color-text-muted);flex-shrink:0;min-height:36px;padding:0;width:36px}.close-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-description{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:calc(var(--space-1)*-1) 0 var(--space-5)}.modal-actions{align-items:center;background:var(--color-surface-raised);border-top:1px solid var(--color-border);bottom:0;justify-content:space-between;margin:var(--space-6) calc(var(--modal-pad)*-1) 0;padding:var(--space-3) var(--modal-pad);position:sticky;z-index:2}.modal-actions,.modal-actions-right{display:flex;flex-wrap:wrap;gap:var(--space-2)}.modal-actions-right{justify-content:flex-end;margin-left:auto}.page-error{animation:rise-in var(--dur-slow) var(--ease-out);flex-direction:column;margin:var(--space-16) auto;max-width:460px;padding:0 var(--space-4);text-align:center}.page-error,.page-error-icon{align-items:center;display:flex}.page-error-icon{background:var(--status-danger-bg);border-radius:var(--radius-full);color:var(--status-danger-fg);height:56px;justify-content:center;margin-bottom:var(--space-4);width:56px}.page-error-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.page-error-text{color:var(--color-text-muted);margin-bottom:var(--space-5)}.page-error-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.empty-state{align-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);color:var(--color-text-muted);display:flex;flex-direction:column;gap:6px;padding:var(--space-12) var(--space-5);text-align:center}.empty-state p{max-width:46ch}.empty-state-icon{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-lg);color:var(--color-text-muted);display:flex;height:52px;justify-content:center;margin-bottom:var(--space-2);width:52px}.empty-state-title{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.empty-state .btn-primary,.empty-state .btn-secondary{margin-top:var(--space-3)}.skeleton-page{animation:fade-in var(--dur-slow) var(--ease-out) .12s backwards}.skeleton{animation:skeleton-pulse 1.6s var(--ease-in-out) infinite;background:var(--color-surface-active);border-radius:var(--radius-md);display:block}.skeleton-line{border-radius:var(--radius-full);height:12px}.skeleton-title{height:28px;width:min(280px,70%)}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.view-enter{animation:rise-in var(--dur-slow) var(--ease-out)}@media (pointer:coarse){.close-btn{min-height:40px;width:40px}.btn-link{padding:4px 0}}@media (max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:1rem}.modal-overlay{--modal-pad:var(--space-4);align-items:flex-end;padding:0}.modal{animation:sheet-in var(--dur-slow) var(--ease-out);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-width:1px 0 0;max-height:calc(100vh - var(--space-6));max-height:calc(100dvh - var(--space-6));max-width:none}.modal-overlay.is-leaving .modal{animation:sheet-out var(--dur) var(--ease-in) forwards}.modal-actions{flex-direction:column-reverse}.modal-actions-right{flex-wrap:wrap-reverse;margin-left:0;width:100%}.modal-actions-right button,.modal-actions>button{flex:1 1 auto}.invite-form-row{flex-direction:column}}.access-picker{border:0;margin:0 0 var(--space-5);min-width:0;padding:0}.access-picker-legend{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.access-options{display:flex;flex-direction:column;gap:var(--space-2)}.access-option{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.access-option:hover{border-color:var(--color-border-strong)}.access-option.is-selected{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}.access-option input{accent-color:var(--color-primary);flex-shrink:0;margin-top:calc(.60938rem - 6.5px)}.access-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.access-option-title{align-items:center;color:var(--color-text);display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:6px}.access-option-hint{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.access-list-head{display:flex;font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-2);justify-content:space-between;margin:var(--space-4) 0 var(--space-2)}.access-count{font-feature-settings:"tnum";color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:var(--weight-regular)}.access-list{border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;max-height:16rem;overflow-y:auto;overscroll-behavior:contain}.access-list li+li{border-top:1px solid var(--color-border)}.access-person{align-items:center;cursor:pointer;display:flex;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3)}.access-person:hover{background:var(--color-surface-hover)}.access-person.is-locked{cursor:default}.access-person.is-locked:hover{background:#0000}.edit-access-hint .icon{flex-shrink:0;margin-top:2px}.access-person-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:var(--text-sm);line-height:var(--leading-snug);min-width:0;overflow:hidden;overflow-wrap:anywhere}.access-person-note{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs)}.access-picker-note{margin-top:var(--space-3)}.members-unsaved{color:var(--status-warning-fg);flex:1 1 8rem}.edit-access-hint{align-items:flex-start;display:flex;gap:6px;margin:calc(var(--space-2)*-1) 0 var(--space-4)}.members-access{margin-bottom:var(--space-5)}.project-card-access{align-items:center;align-self:flex-start;background:var(--color-surface-sunken);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);gap:4px;margin-top:auto;padding:1px 8px}.toast-region{bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);left:var(--space-5);pointer-events:none;position:fixed;width:min(400px,calc(100vw - var(--space-5)*2));z-index:var(--z-toast)}.toast{align-items:flex-start;animation:toast-in var(--dur-slow) var(--ease-out);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-3);line-height:var(--leading-snug);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3);pointer-events:auto}.toast-leaving{animation:toast-out var(--dur) var(--ease-in) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px) scale(.97)}}.toast-icon{color:var(--status-info-fg);display:flex;margin-top:1px}.toast-success .toast-icon{color:var(--status-success-fg)}.toast-error .toast-icon{color:var(--status-danger-fg)}.toast-error{border-color:var(--status-danger-border)}.toast-text{flex:1 1;min-width:0;overflow-wrap:anywhere;padding-top:1px}.toast-close{border-radius:var(--radius-sm);color:var(--color-text-faint);flex-shrink:0;margin:-4px 0;min-height:28px;padding:0;width:28px}.toast-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.confirm-overlay{z-index:var(--z-confirm)}.modal.confirm-dialog{max-width:440px;padding-top:var(--modal-pad)}.confirm-dialog-body{align-items:flex-start;display:flex;gap:var(--space-4)}.confirm-dialog-icon{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-full);color:var(--color-text-muted);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.confirm-dialog-danger .confirm-dialog-icon{background:var(--status-danger-bg);color:var(--status-danger-fg)}.confirm-dialog-text{flex:1 1;min-width:0;padding-top:2px}.confirm-dialog-title{line-height:var(--leading-snug);margin-bottom:var(--space-2);overflow-wrap:anywhere}.confirm-dialog-message{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-line}.confirm-dialog .modal-actions{border-top:0;margin-top:var(--space-5);padding-bottom:var(--modal-pad);position:static}@media (pointer:coarse){.toast-close{margin:-10px -4px;min-height:40px;width:40px}}@media (max-width:600px){.toast-region{bottom:auto;flex-direction:column-reverse;left:var(--space-3);right:var(--space-3);top:var(--space-3);width:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px) scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translateY(-6px) scale(.97)}}.modal-overlay.confirm-overlay{--modal-pad:var(--space-5);align-items:center;padding:var(--space-4)}.modal.confirm-dialog{animation:pop-in var(--dur-slow) var(--ease-out);border-radius:var(--radius-xl);border-width:1px;max-height:calc(100dvh - var(--space-4)*2);max-width:440px}.confirm-dialog .modal-actions-right{flex-direction:column-reverse}.confirm-dialog .modal-actions-right button{flex:none;white-space:normal;width:100%}.modal-overlay.confirm-overlay.is-leaving .modal{animation:pop-out var(--dur) var(--ease-in) forwards}}.modal.quick-add-modal{max-width:600px}.quick-add{display:flex;flex-direction:column;gap:var(--space-2)}.quick-add-field{position:relative}.quick-add .quick-add-title{font-size:var(--text-md);font-weight:var(--weight-medium);width:100%}.quick-add .quick-add-desc{min-height:56px;resize:vertical}.quick-add-suggestions{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);left:0;list-style:none;margin:0;padding:var(--space-1);position:absolute;right:0;top:calc(100% + 4px);z-index:5}.quick-add-suggestions button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--text-sm);gap:var(--space-2);min-height:34px;padding:0 var(--space-2);text-align:left;width:100%}.quick-add-suggestions button.active,.quick-add-suggestions button:hover{background:var(--color-primary-soft)}.quick-add-suggestion-team{color:var(--color-text-faint);font-size:var(--text-xs);margin-left:auto}.quick-add-tokens{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-token{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border);color:var(--color-primary-text)}.chip-token button{align-items:center;background:#0000;border:0;border-radius:var(--radius-full);color:inherit;cursor:pointer;display:inline-flex;height:18px;justify-content:center;margin-right:-4px;padding:0;width:18px}.chip-token button:hover{background:var(--color-primary-soft-border)}.quick-add-bar{justify-content:space-between;margin-top:var(--space-1)}.quick-add-actions,.quick-add-bar,.quick-add-options{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-add-option{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);gap:6px;max-width:100%;min-height:var(--control-height-sm);padding:0 var(--space-2)}.quick-add-option:focus-within{border-color:var(--color-focus);box-shadow:var(--ring)}.quick-add-option.quick-add-option input[type=date],.quick-add-option.quick-add-option select{background-color:initial;border:0;box-shadow:none;color:var(--color-text);font-size:var(--text-sm);max-width:200px;min-height:0;padding:2px 0;width:auto}.quick-add-option.quick-add-option select{background-position:right 0 center;padding-right:22px}.quick-add-option.quick-add-option input[type=date]:focus,.quick-add-option.quick-add-option input[type=date]:hover,.quick-add-option.quick-add-option select:focus,.quick-add-option.quick-add-option select:hover{box-shadow:none;outline:none}.quick-add-voice{gap:6px}.quick-add-help{color:var(--color-text-faint);font-size:var(--text-xs);margin:0}.modal.voice-modal{max-width:640px}.voice-capture{display:flex;flex-direction:column;gap:var(--space-3)}.voice-stage{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);padding:var(--space-4)}.voice-mic{align-items:center;background:var(--color-surface);border:0;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-primary-text);cursor:pointer;display:inline-flex;flex-shrink:0;height:60px;justify-content:center;padding:0;position:relative;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out);width:60px}.voice-mic:active{transform:scale(.96)}.voice-mic-live{background:var(--status-danger-solid);color:var(--color-on-solid)}.voice-mic-live:after{animation:voice-pulse 1.6s var(--ease-out) infinite;border:2px solid var(--status-danger-solid);border-radius:inherit;content:"";inset:-6px;opacity:0;position:absolute}@keyframes voice-pulse{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.25)}}.voice-stage-text{min-width:0}.voice-status{color:var(--color-text);font-weight:var(--weight-semibold);margin:0 0 2px}.voice-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.voice-transcript{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);line-height:var(--leading-normal);margin:0;max-height:140px;min-height:48px;overflow-y:auto;padding:var(--space-3)}.voice-interim:after,.voice-transcript-empty{color:var(--color-text-faint)}.voice-interim:after{content:"…"}.voice-typed{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-2)}.voice-typed textarea{resize:vertical;width:100%}.voice-results-head{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.voice-results-head h3{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.voice-parsing{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);gap:6px}.voice-results-empty{color:var(--color-text-faint);font-size:var(--text-sm);margin:0}.voice-task-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;max-height:min(40vh,360px);overflow-y:auto;padding:0}.voice-task{align-items:flex-start;animation:fade-in var(--dur) var(--ease-out);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3)}.voice-task>input[type=checkbox]{margin-top:8px}.voice-task-off{opacity:.55}.voice-task-body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);min-width:0}.voice-task .voice-task-title{font-weight:var(--weight-medium);width:100%}.voice-task-desc{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.voice-task-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.voice-privacy{color:var(--color-text-faint);font-size:var(--text-xs);margin:0}.modal.move-modal{max-width:520px}.move-people{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0 0 var(--space-2);padding:0}.move-person{align-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:6px;min-height:var(--control-height-sm);padding:2px var(--space-3) 2px var(--space-2)}.move-person-on{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}.move-due-hint{margin:8px 0 0}@media (max-width:600px){.quick-add-bar{align-items:stretch;flex-direction:column}.quick-add-actions{justify-content:flex-end}.voice-stage{padding:var(--space-3)}.voice-mic{height:52px;width:52px}}@media (prefers-reduced-motion:reduce){.voice-mic-live:after,.voice-task{animation:none}}.account-menu{position:relative}.account-menu-trigger{border:1px solid #0000;font-weight:var(--weight-medium);gap:var(--space-2);min-height:0;padding:4px 10px 4px 4px}.account-menu-trigger.is-open,.account-menu-trigger:hover{background:var(--color-surface-active)}.account-menu-trigger:active:not(:disabled){transform:none}.account-menu-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform var(--dur) var(--ease-out)}.account-menu-trigger.is-open .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{animation:account-menu-in var(--dur) var(--ease-out);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--space-4)*2);padding:var(--space-2);position:absolute;right:0;top:calc(100% + var(--space-2));width:20rem;z-index:calc(var(--z-header) + 1)}@keyframes account-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.account-menu-user{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-2) 0}.account-menu-user-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.account-menu-photo{flex-shrink:0}.account-menu-photo-actions{align-items:center;display:flex;gap:var(--space-1);margin-top:var(--space-2)}.account-menu-photo-actions .btn-small{flex-shrink:0}.account-menu-photo-remove{background:#0000;border:0;color:var(--status-danger-fg);font-size:var(--text-sm);font-weight:var(--weight-medium);min-height:var(--control-height-sm);padding:0 var(--space-2)}.account-menu-photo-remove:hover:not(:disabled){background:var(--status-danger-bg)}.account-menu-photo-hint{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-snug);margin:0;padding:var(--space-2) var(--space-2) var(--space-1)}.account-menu-photo-hint.is-error{color:var(--status-danger-fg)}.account-menu-email,.account-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold)}.account-menu-email{color:var(--color-text-muted);font-size:var(--text-sm)}.account-menu-photo-hint{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.account-menu-section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-2)}.account-menu-label{align-items:baseline;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);gap:var(--space-2);justify-content:space-between;letter-spacing:.04em;text-transform:uppercase}.account-menu-value{color:var(--color-text);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none}.account-menu-segmented{display:flex;width:100%}.account-menu-segmented .segmented-btn{flex:1 1;font-size:var(--text-sm);min-width:0;padding:0 var(--space-2)}.account-size-btn span{font-weight:var(--weight-semibold);line-height:1}.account-size-0 span{font-size:.75rem}.account-size-1 span{font-size:.875rem}.account-size-2 span{font-size:1rem}.account-size-3 span{font-size:1.1875rem}@media (max-width:700px){.account-menu-trigger{min-height:44px;min-width:44px;padding:4px}.account-menu-trigger .account-menu-chevron{display:none}.account-menu-panel{left:auto;position:fixed;right:var(--space-4);top:calc(var(--header-height) + var(--space-1))}}@media (prefers-reduced-motion:reduce){.account-menu-panel{animation:none}}.team-switcher{min-width:0;position:relative}.team-switcher-trigger{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:var(--space-2);max-width:17rem;min-height:var(--control-height-sm);padding:0 var(--space-2) 0 6px;position:relative}.team-switcher-trigger.is-open,.team-switcher-trigger:hover{background:var(--color-surface-hover);border-color:var(--color-text-faint)}.team-switcher-trigger:active:not(:disabled){transform:none}.team-switcher-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-switcher-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform var(--dur) var(--ease-out)}.team-switcher-trigger.is-open .team-switcher-chevron{transform:rotate(180deg)}.team-switcher-dot{background:var(--status-danger-solid);border-radius:var(--radius-full);box-shadow:0 0 0 2px var(--color-surface);height:10px;position:absolute;right:-3px;top:-3px;width:10px}.team-switcher-shared-icon{align-items:center;background:var(--color-surface-sunken);border-radius:28%;color:var(--color-text-muted);display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.team-switcher-shared-icon-lg{height:32px;width:32px}.team-switcher-panel{animation:team-switcher-in var(--dur) var(--ease-out);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;max-height:calc(100dvh - var(--header-height) - var(--space-6));max-width:calc(100vw - var(--space-4)*2);overflow-y:auto;padding:var(--space-2);position:absolute;top:calc(100% + var(--space-2));width:21rem;z-index:calc(var(--z-header) + 1)}@keyframes team-switcher-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.team-switcher-heading{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;margin:0;padding:var(--space-2) var(--space-2) var(--space-1);text-transform:uppercase}.team-switcher-list{list-style:none;margin:0;padding:0}.team-switcher-item{border-radius:var(--radius-md);gap:var(--space-3);justify-content:flex-start;min-height:52px;padding:var(--space-2);text-align:left;white-space:normal;width:100%}.team-switcher-item:hover{background:var(--color-surface-hover)}.team-switcher-item.is-active{background:var(--color-primary-soft)}.team-switcher-item:active:not(:disabled){transform:none}.team-switcher-item-text{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.team-switcher-item-name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-switcher-item-meta{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.team-switcher-check{color:var(--color-primary-text);flex-shrink:0}.team-switcher-actions{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-2)}.team-switcher-action{border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);gap:var(--space-3);justify-content:flex-start;min-height:var(--control-height);padding:0 var(--space-3);text-align:left;width:100%}.team-switcher-action .icon{color:var(--color-text-muted)}.team-switcher-action:hover{background:var(--color-surface-hover)}.team-switcher-invites{background:var(--status-info-bg);margin-top:var(--space-2)}.team-switcher-invites,.team-switcher-invites .icon{color:var(--status-info-fg)}.team-switcher-invites span:not(.count-badge){flex:1 1}.team-switcher-invites:hover{background:var(--status-info-border)}@media (max-width:700px){.team-switcher{flex:0 1 auto}.team-switcher-trigger{max-width:100%;min-height:40px}.team-switcher-panel{left:var(--space-4);max-width:none;position:fixed;right:var(--space-4);top:calc(var(--header-height) + var(--space-1));width:auto}}@media (pointer:coarse){.team-switcher-action{min-height:44px}}@media (prefers-reduced-motion:reduce){.team-switcher-panel{animation:none}}.assistant-region{margin:0 auto;max-width:var(--content-width);padding:var(--space-5) var(--space-6) 0;width:100%}.assistant-region-wide{max-width:none;padding:var(--space-4) var(--page-gutter) 0}.assistant{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.assistant:hover{border-color:var(--color-text-faint)}.assistant:focus-within{border-color:var(--color-focus);box-shadow:var(--ring)}.assistant-open{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.assistant-head{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4)}.assistant-head-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary-text);display:inline-flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.assistant-head-title{color:var(--color-text);flex-shrink:0;font-size:var(--text-base);font-weight:var(--weight-semibold)}.assistant-head-hint{color:var(--color-text-muted);flex:1 1;font-size:var(--text-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-clear{align-items:center;background:#0000;border:0;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font:inherit;font-size:var(--text-sm);gap:6px;min-height:var(--control-height-sm);padding:0 var(--space-3);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.assistant-clear:hover:not(:disabled){background:var(--status-danger-bg);color:var(--status-danger-fg)}.assistant-clear:disabled{cursor:not-allowed;opacity:.5}.assistant-collapse{flex-shrink:0}.assistant-collapse .icon{transform:rotate(180deg)}.assistant-messages{animation:assistant-grow var(--dur-slow) var(--ease-out);max-height:min(55vh,520px);min-height:96px;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4)}@keyframes assistant-grow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.assistant-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0}.assistant-message{border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-normal);max-width:min(88%,760px);overflow-wrap:anywhere;padding:var(--space-3) var(--space-4);white-space:pre-wrap}.assistant-message-user{align-self:flex-end;background:var(--color-primary-soft);border:1px solid var(--color-primary-soft-border);border-bottom-right-radius:var(--radius-xs);color:var(--color-text)}.assistant-message-assistant{align-self:flex-start;background:var(--color-surface-sunken);border-bottom-left-radius:var(--radius-xs);color:var(--color-text)}.assistant-message-pending{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);gap:var(--space-3)}.assistant-typing{display:inline-flex;gap:4px}.assistant-typing i{animation:assistant-blink 1.2s var(--ease-in-out) infinite;background:var(--color-text-faint);border-radius:var(--radius-full);height:6px;width:6px}.assistant-typing i:nth-child(2){animation-delay:.15s}.assistant-typing i:nth-child(3){animation-delay:.3s}@keyframes assistant-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.assistant-empty-title{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold);margin:0 0 var(--space-1)}.assistant-empty-text{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-4);max-width:68ch}.assistant-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.assistant-suggestion{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-sm);height:auto;max-width:100%;min-height:var(--control-height-sm);padding:6px var(--space-3);text-align:left;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);white-space:normal}.assistant-suggestion:hover{background:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}.assistant-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--radius-md);color:var(--status-danger-fg);font-size:var(--text-sm);margin:0 var(--space-4) var(--space-2);padding:var(--space-2) var(--space-3)}.assistant-form{align-items:flex-end;display:flex;gap:var(--space-2);padding:var(--space-2)}.assistant-open .assistant-form{border-top:1px solid var(--color-border)}.assistant-form-icon{align-self:center;color:var(--color-primary-text);flex-shrink:0;margin-left:var(--space-2)}.assistant-form .assistant-input,.assistant-form .assistant-input:focus,.assistant-form .assistant-input:hover{background:#0000;border-color:#0000;box-shadow:none}.assistant-form .assistant-input{flex:1 1;max-height:8.75rem;min-height:var(--control-height);min-width:0;overflow-y:auto;padding:.5625rem var(--space-2);resize:none}.assistant-form .assistant-input:placeholder-shown{overflow:hidden;white-space:nowrap}.assistant-form .assistant-input::placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-history{font-size:var(--text-sm);padding:0 var(--space-3)}.assistant-history,.assistant-send{flex-shrink:0;min-height:var(--control-height)}.assistant-send{align-items:center;border-radius:var(--radius-lg);display:inline-flex;justify-content:center;padding:0;width:var(--control-height)}.assistant-note{color:var(--color-text-faint);font-size:var(--text-xs);margin:0;padding:0 var(--space-4) var(--space-3)}@media (pointer:coarse){.assistant-clear,.assistant-collapse,.assistant-history,.assistant-send{min-height:44px;min-width:44px}}@media (max-width:900px){.assistant-region{padding:var(--space-4) var(--page-gutter) 0}}@media (max-width:700px){.assistant-clear-text,.assistant-head-hint,.assistant-history-text{display:none}.assistant-history{min-height:44px;padding:0;width:44px}.assistant-head-title{flex:1 1}.assistant-clear{justify-content:center;min-height:40px;padding:0;width:40px}.assistant-messages{max-height:60dvh;padding:var(--space-3)}.assistant-message{max-width:94%}.assistant-keys-hint{display:none}.assistant-send{min-height:44px;width:44px}}@media (prefers-reduced-motion:reduce){.assistant-messages,.assistant-typing i{animation:none}}.app-header{-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);background:var(--color-header);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-header)}.app-header-inner{align-items:center;display:flex;gap:var(--space-4);height:var(--header-height);margin:0 auto;max-width:var(--content-width);padding:0 var(--space-6)}.app-header-wide{max-width:none;padding:0 var(--page-gutter)}.app-header-logo{border-radius:var(--radius-md);color:inherit;flex-shrink:0}.app-header-logo:hover{text-decoration:none}.app-header-center{align-items:center;display:flex;flex:1 1;min-width:0}.app-header-right{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2);margin-left:auto}.logo{gap:10px}.logo,.logo-mark{align-items:center;display:inline-flex}.logo-mark{font-feature-settings:"tnum";background:var(--color-brand);border-radius:9px;box-shadow:inset 0 -2px 0 #0000001f,var(--shadow-xs);color:#fff;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);height:32px;justify-content:center;line-height:1;width:32px}.logo-text{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:-.015em}.user-chip{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-full);display:inline-flex;gap:var(--space-2);max-width:220px;padding:4px 12px 4px 4px}.user-chip-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{padding:0 var(--space-3)}@media (max-width:700px){.app-header-inner{gap:var(--space-2);padding:0 var(--space-4)}.logo-text,.user-chip-name{display:none}.user-chip{padding:4px}.btn-logout{min-height:40px;padding:0;width:40px}.btn-logout-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}}.app-header-nav{align-items:center;display:flex;flex-shrink:0}.header-inbox{align-items:center;border-radius:var(--radius-md);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-medium);gap:6px;min-height:var(--control-height-sm);padding:0 var(--space-3);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.header-inbox:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.header-inbox.active{background:var(--color-primary-soft);color:var(--color-primary-text)}.header-quick-add{background:var(--color-primary);border:0;border-radius:var(--radius-md);color:var(--color-on-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:6px;min-height:var(--control-height-sm);padding:0 var(--space-3)}.header-quick-add:hover{background:var(--color-primary-hover)}@media (max-width:700px){.header-inbox-text,.header-quick-add-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.header-capture,.header-inbox,.header-quick-add{justify-content:center;min-height:40px;min-width:40px;padding:0 var(--space-2)}}.auth-container{align-items:center;background:radial-gradient(60% 50% at 50% 0,var(--color-primary-soft),#0000 70%),var(--color-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-6) var(--space-4)}.auth-box{animation:rise-in var(--dur-slow) var(--ease-out);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);max-width:420px;padding:var(--space-8);width:100%}.report-box{max-width:560px}.auth-lang-toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-8)}.auth-box h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-6)}.auth-box h1:has(+.auth-intro){margin-bottom:var(--space-2)}.auth-intro{color:var(--color-text-muted);line-height:var(--leading-normal);margin-bottom:var(--space-6)}.auth-box form{margin-bottom:var(--space-5)}.auth-box .btn-primary{font-size:var(--text-md);margin-top:var(--space-2);min-height:44px;width:100%}.auth-link{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-3);text-align:center}.auth-link a{align-items:center;display:inline-flex;font-weight:var(--weight-semibold);gap:6px;padding:2px 0}.password-field{position:relative}.password-field input:not([type=checkbox]){padding-right:46px}.password-toggle{border-radius:calc(var(--radius-md) - 1px);bottom:1px;color:var(--color-text-muted);min-height:0;padding:0;position:absolute;right:1px;top:1px;width:42px}.password-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.password-toggle:active:not(:disabled){transform:none}.password-toggle[aria-pressed=true]{color:var(--color-primary-text)}.auth-notice{animation:rise-in var(--dur) var(--ease-out);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);padding:var(--space-4)}.auth-notice-text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);margin-bottom:var(--space-3)}.auth-notice-success{color:var(--status-success-fg);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-top:var(--space-2)}.auth-status{flex-direction:column;text-align:center}.auth-status,.auth-status-icon{align-items:center;display:flex}.auth-status-icon{animation:pop-in var(--dur-slow) var(--ease-out);background:var(--color-surface-sunken);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:1.5rem;height:64px;justify-content:center;margin-bottom:var(--space-5);width:64px}.auth-status-success .auth-status-icon{background:var(--status-success-bg);color:var(--status-success-fg)}.auth-status-error .auth-status-icon{background:var(--status-danger-bg);color:var(--status-danger-fg)}.auth-status-mail .auth-status-icon{background:var(--status-info-bg);color:var(--status-info-fg)}.auth-box .auth-status-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.auth-status-loading .auth-status-title{color:var(--color-text-muted);font-size:var(--text-lg);font-weight:var(--weight-medium);margin-bottom:0}.auth-status-text{color:var(--color-text);overflow-wrap:anywhere}.auth-status-hint,.auth-status-text{line-height:var(--leading-normal);margin-bottom:var(--space-2)}.auth-status-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.auth-box .auth-status-action,.auth-status>.btn-secondary{margin-top:var(--space-4)}.auth-status .auth-link{margin-top:var(--space-5)}.report-task-info{grid-gap:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-1);margin-bottom:var(--space-6);padding:var(--space-4)}.report-label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);margin-top:var(--space-2)}.report-label:first-child{margin-top:0}.report-value{color:var(--color-text);font-weight:var(--weight-semibold);margin:0;overflow-wrap:anywhere}@media (max-width:480px){.auth-container{align-items:flex-start;padding:var(--space-4) var(--space-3)}.auth-box{border-radius:var(--radius-xl);padding:var(--space-6) var(--space-5)}.auth-lang-toggle{margin-bottom:var(--space-6)}.auth-box h1{font-size:1.5rem}}.dashboard{min-height:100vh;min-height:100dvh}.dashboard-main{margin:0 auto;max-width:var(--content-width);padding:var(--space-8) var(--space-6) var(--space-16)}.dashboard-greeting{margin-bottom:var(--space-6)}.dashboard-greeting h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.dashboard-greeting p{color:var(--color-text-muted);margin-top:var(--space-1)}.invitations-section{margin-bottom:var(--space-6)}.invitations-section h2{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.invitations-list{display:flex;flex-direction:column;gap:var(--space-2)}.invitation-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4)}.invitation-icon{align-items:center;background:var(--status-info-bg);border-radius:var(--radius-md);color:var(--status-info-fg);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.invitation-body{flex:1 1;min-width:200px}.invitation-card h3{font-size:var(--text-base);margin-bottom:2px;overflow-wrap:anywhere}.invitation-card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.invitation-desc{color:var(--color-text);margin-top:var(--space-1)}.invitation-actions{display:flex;flex-shrink:0;gap:var(--space-2)}.dashboard-tabs{margin-bottom:var(--space-6);overflow-x:auto;scrollbar-width:none}.dashboard-tabs::-webkit-scrollbar{display:none}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.section-header h2,.team-section h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.section-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hint-text,.section-intro{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4);max-width:72ch}.projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;display:flex;flex-direction:column;min-height:156px;min-width:0;padding:var(--space-4) var(--space-5);transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.project-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card:has(.project-card-link:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.project-card-link:focus-visible{outline:none}.project-card-header{margin-bottom:var(--space-1);min-width:0}.project-card-header h3{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);overflow-wrap:anywhere}.project-card-link{color:inherit}.project-card-link:hover{text-decoration:none}.project-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:var(--text-sm);line-height:var(--leading-snug);overflow:hidden;overflow-wrap:anywhere}.project-stats{margin-top:auto;padding-top:var(--space-4)}.project-card-access+.project-stats{margin-top:0;padding-top:var(--space-3)}.project-progress{background:var(--color-surface-active);border-radius:var(--radius-full);height:6px;overflow:hidden}.project-progress-bar{background:var(--color-brand);border-radius:var(--radius-full);height:100%;transition:width var(--dur-slow) var(--ease-out)}.project-stats-row{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-2);justify-content:space-between;margin-top:var(--space-2);min-height:24px}.project-card-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-1);margin:var(--space-3) calc(var(--space-2)*-1) calc(var(--space-1)*-1);padding-top:var(--space-2)}.project-card-actions .btn-small{background:#0000;border-color:#0000;padding:0 var(--space-2)}.project-card-actions .btn-small:hover{background:var(--color-surface-hover)}.project-card-actions .btn-small-danger:hover{background:var(--status-danger-bg)}.owner-group{margin-top:var(--space-10)}.section-header+.owner-group{margin-top:var(--space-4)}.owner-group-title{align-items:center;display:flex;font-size:var(--text-md);font-weight:var(--weight-semibold);gap:var(--space-2);margin-bottom:var(--space-3)}.owner-group-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-1) 0 var(--space-4)}.sort-list{display:flex;flex-direction:column;max-width:620px}.sort-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:grab;display:flex;gap:var(--space-3);margin-bottom:var(--space-2);min-height:52px;padding:var(--space-3) var(--space-4);transition:box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);-webkit-user-select:none;user-select:none}.sort-item:hover{border-color:var(--color-border-strong)}.sort-item:active{cursor:grabbing}.sort-item.dragging{border-color:var(--color-focus);box-shadow:var(--shadow-lg)}.sort-item-handle{display:flex}.sort-item-handle,.sort-item-num{color:var(--color-text-faint);flex-shrink:0}.sort-item-num{font-feature-settings:"tnum";font-size:var(--text-sm);font-variant-numeric:tabular-nums;min-width:24px}.sort-item-name{font-weight:var(--weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mytasks-subtabs{border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-5);margin-bottom:var(--space-4)}.subtab-btn{border:0;border-bottom:2px solid #0000;border-radius:0;color:var(--color-text-muted);margin-bottom:-1px;padding:0 2px;position:relative}.subtab-btn.active,.subtab-btn:hover{color:var(--color-text)}.subtab-btn.active{border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}.subtab-btn:active:not(:disabled){transform:none}.mytasks-list{display:flex;flex-direction:column;gap:var(--space-2)}.mytask-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:inset 3px 0 0 #0000,var(--shadow-xs);color:inherit;display:block;padding:var(--space-3) var(--space-4);transition:box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.mytask-card:hover{border-color:var(--color-border-strong);box-shadow:inset 3px 0 0 #0000,var(--shadow-md);text-decoration:none}.mytask-card.overdue,.mytask-card.overdue:hover{box-shadow:inset 3px 0 0 var(--status-danger-solid),var(--shadow-xs)}.mytask-card.due-soon,.mytask-card.due-soon:hover{box-shadow:inset 3px 0 0 var(--status-warning-solid),var(--shadow-xs)}.mytask-card.overdue:hover{box-shadow:inset 3px 0 0 var(--status-danger-solid),var(--shadow-md)}.mytask-card.due-soon:hover{box-shadow:inset 3px 0 0 var(--status-warning-solid),var(--shadow-md)}.mytask-card.done .mytask-title{color:var(--color-text-muted)}.mytask-header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-1)}.mytask-project{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-medium);gap:5px;min-width:0}.mytask-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mytask-title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-1);overflow-wrap:anywhere}.mytask-desc,.mytask-title{line-height:var(--leading-snug)}.mytask-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:var(--text-sm);margin-bottom:var(--space-2);overflow:hidden}.mytask-footer{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.mytask-deadline{white-space:normal}.mytask-no-deadline{color:var(--color-text-faint);font-size:var(--text-xs)}.chip-report{background:var(--status-report-bg);border-color:var(--status-report-border);color:var(--status-report-fg)}.team-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1);max-width:72ch}.team-add-form{margin:var(--space-5) 0 var(--space-6);padding:var(--space-5)}.team-add-form,.team-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);max-width:620px}.team-list{margin-top:var(--space-4);overflow:hidden}.team-member-card{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.team-member-card+.team-member-card{border-top:1px solid var(--color-border)}.team-member-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.team-member-name{align-items:center;display:flex;flex-wrap:wrap;font-weight:var(--weight-medium);gap:var(--space-2)}.team-member-email{color:var(--color-text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis}.role-chip{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);gap:4px;line-height:1.6;padding:1px 8px;vertical-align:initial;white-space:nowrap}.role-chip-owner{background:var(--status-warning-bg);color:var(--status-warning-fg)}.role-chip-admin{background:var(--status-info-bg);color:var(--status-info-fg)}.role-chip-member{background:var(--color-surface-hover);box-shadow:inset 0 0 0 1px var(--color-border);color:var(--color-text-muted)}.team-context{align-items:flex-start;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:var(--leading-normal);margin:calc(var(--space-3)*-1) 0 var(--space-6);max-width:80ch}.team-context .avatar,.team-context-icon{margin-top:1px}.team-context-icon{align-items:center;background:var(--color-surface-sunken);border-radius:28%;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.role-note{align-items:flex-start;background:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:var(--radius-md);color:var(--status-info-fg);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin:calc(var(--space-2)*-1) 0 var(--space-4);max-width:72ch;padding:var(--space-3) var(--space-4)}.role-note .icon{flex-shrink:0;margin-top:2px}.invitation-avatar{flex-shrink:0}.team-context-name{color:var(--color-text);font-weight:var(--weight-semibold)}.empty-state-extra{border-top:1px solid var(--color-border);margin-top:var(--space-4);padding-top:var(--space-4)}.team-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5);max-width:50rem}.team-header-text{flex:1 1;min-width:0}.team-header-text h2{overflow-wrap:anywhere}.team-rename-form{display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-2);min-width:0}.team-rename-form input{flex:1 1;min-width:12rem}.roles-explainer{margin-bottom:var(--space-6);max-width:50rem}.roles-explainer h3,.team-add-form h3,.team-danger h3,.team-list-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.roles-explainer ul{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none}.roles-explainer-item{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;font-size:var(--text-sm);gap:var(--space-3);line-height:var(--leading-snug);padding:var(--space-3) var(--space-4)}.roles-explainer-item.is-mine{border-color:var(--color-primary-soft-border);box-shadow:inset 0 0 0 1px var(--color-primary-soft-border)}.roles-explainer-icon{align-items:center;border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.roles-explainer-you{color:var(--color-primary-text);font-weight:var(--weight-medium)}.roles-explainer-text{color:var(--color-text-muted);display:block;margin-top:2px}.team-add-form{max-width:50rem}.invite-role{border:0;margin:var(--space-4) 0 0;min-width:0;padding:0}.invite-role-segmented{display:flex;max-width:100%;width:fit-content}.invite-role legend{margin-bottom:var(--space-2)}.invite-role-segmented .segmented-btn{flex:1 1 auto;gap:6px;min-width:0}.invite-role-hint{margin-top:var(--space-2);max-width:62ch}.invite-form-submit{margin-top:var(--space-4)}.team-list-title{margin-bottom:0;margin-top:var(--space-6)}.team-list{max-width:50rem}.team-member-meta{align-items:center;color:var(--color-text-faint);display:inline-flex;font-size:var(--text-xs);gap:4px}.team-member-controls{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.team-member-controls .team-role-select{font-size:var(--text-sm);min-height:var(--control-height-sm);padding-bottom:4px;padding-top:4px;width:auto}.team-alone-hint{margin:0 0 var(--space-4);max-width:50rem}.team-danger{border-top:1px solid var(--color-border);margin-top:var(--space-10);max-width:50rem;padding-top:var(--space-5)}.team-danger .team-hint{margin:0 0 var(--space-3)}.skeleton-stack{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-tabs{border-radius:var(--radius-lg);height:40px;margin:var(--space-3) 0;width:min(360px,100%)}.skeleton-project{min-height:156px}@media (max-width:700px){.dashboard-main{padding:var(--space-5) var(--space-4) var(--space-12)}.dashboard-greeting h1{font-size:1.5rem}.dashboard-tabs{display:flex;flex-wrap:wrap}.dashboard-tabs .segmented-btn{flex:1 1 auto;font-size:var(--text-sm);gap:6px;padding:0 var(--space-2)}.invitation-body{flex-basis:calc(100% - 56px);min-width:0}.invitation-actions{width:100%}.invitation-actions button{flex:1 1}.section-actions{width:100%}.section-actions button{flex:1 1}.section-actions .btn-primary{order:-1}.projects-grid{grid-template-columns:1fr}.team-add-form{padding:var(--space-4)}.team-member-card{flex-wrap:wrap}.team-member-info{flex-basis:calc(100% - 40px - var(--space-3))}.team-member-controls{flex-wrap:wrap;margin-left:calc(40px + var(--space-3));width:calc(100% - 40px - var(--space-3))}.team-member-controls>.team-role-select{flex:1 1 9rem;min-width:9rem}.team-member-controls>.btn-small{flex:1 1 auto}.team-header-text{flex-basis:calc(100% - 40px - var(--space-3))}.roles-explainer ul{grid-template-columns:1fr}.team-context{margin-top:calc(var(--space-2)*-1)}}@media (max-width:420px){.dashboard-tabs .segmented-btn .icon{display:none}}.workload-head{grid-gap:var(--space-3);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:var(--weight-semibold);gap:var(--space-3);grid-template-columns:24px minmax(0,1fr) 6.5rem minmax(4rem,9rem) 3.5rem 2.5rem;padding:var(--space-2) var(--space-4)}.workload-head span{white-space:nowrap}.workload-head span:nth-child(3){text-align:right}.workload-head span:nth-child(4){grid-column:4/6}.workload-total{font-feature-settings:"tnum";background:var(--color-surface-sunken);border-top:1px solid var(--color-border-strong);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-4);text-align:right}.workload-export{align-self:flex-end;min-height:var(--control-height-sm)}.workload-task-over{color:var(--status-warning-fg);display:inline-flex;margin-right:4px;vertical-align:-2px}.workload-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4);max-width:50rem}.workload-dates{display:flex;flex-wrap:wrap;gap:var(--space-2)}.workload-dates label{color:var(--color-text-muted);display:flex;flex-direction:column;font-size:var(--text-xs);gap:2px}.workload-dates input{min-height:var(--control-height-sm);padding-bottom:4px;padding-top:4px;width:auto}.workload-summary{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3);max-width:50rem}.workload-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);list-style:none;max-width:50rem;overflow:hidden;transition:opacity var(--dur) var(--ease-out)}.workload-list.is-loading{opacity:.6}.workload-person+.workload-person{border-top:1px solid var(--color-border)}.workload-row{grid-gap:var(--space-3);align-items:center;display:grid;gap:var(--space-3);grid-template-columns:24px minmax(0,1fr) 6.5rem minmax(4rem,9rem) 3.5rem 2.5rem;padding:var(--space-3) var(--space-4)}.workload-name{font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workload-hours{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.workload-hours strong{color:var(--color-text);font-size:var(--text-base)}.workload-bar{background:var(--color-surface-sunken);border-radius:var(--radius-full);height:8px;overflow:hidden}.workload-bar span{background:var(--color-brand);border-radius:inherit;display:block;height:100%}.workload-high .workload-bar span{background:var(--status-warning-solid)}.workload-over .workload-bar span{background:var(--status-danger-solid)}.workload-percent{font-feature-settings:"tnum";align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-sm);font-variant-numeric:tabular-nums;gap:3px;justify-content:flex-end}.workload-over .workload-percent{color:var(--status-danger-fg);font-weight:var(--weight-semibold)}.workload-high .workload-percent{color:var(--status-warning-fg)}.workload-toggle .icon{transition:transform var(--dur) var(--ease-out)}.workload-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.workload-undated{color:var(--color-text-muted);font-size:var(--text-xs);margin:calc(var(--space-2)*-1) var(--space-4) var(--space-3) calc(var(--space-4) + 24px + var(--space-3))}.workload-tasks{border-left:2px solid var(--color-border);list-style:none;margin:0 var(--space-4) var(--space-3) calc(var(--space-4) + 24px + var(--space-3))}.workload-tasks li{grid-gap:2px var(--space-3);display:grid;gap:2px var(--space-3);grid-template-columns:minmax(0,1fr) auto;padding:var(--space-2) 0 var(--space-2) var(--space-3)}.workload-task-title{font-weight:var(--weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis}.workload-task-hours,.workload-task-title{font-size:var(--text-sm);white-space:nowrap}.workload-task-hours{font-feature-settings:"tnum";align-self:center;color:var(--color-text-muted);font-variant-numeric:tabular-nums;grid-column:2;grid-row:1/span 2}.workload-task-meta .nowrap{white-space:nowrap}.workload-task-meta{color:var(--color-text-muted);font-size:var(--text-xs);grid-column:1}.workload-note{margin-top:var(--space-3);max-width:72ch}@media (max-width:700px){.workload-controls{align-items:stretch;flex-direction:column}.workload-presets{display:flex}.workload-presets .segmented-btn{flex:1 1;font-size:var(--text-sm);line-height:var(--leading-tight);min-width:0;padding:4px var(--space-2);white-space:normal}.workload-dates label{flex:1 1}.workload-export{flex-basis:100%}.workload-head{display:none}.workload-dates input{width:100%}.workload-row{grid-template-columns:auto minmax(0,1fr) auto 2.5rem;padding:var(--space-3)}.workload-bar{grid-column:2/4;grid-row:2}.workload-percent{grid-column:4;grid-row:2}.workload-tasks,.workload-undated{margin-left:var(--space-3);margin-right:var(--space-3)}}@media (pointer:coarse){.workload-toggle{min-height:40px;width:40px}.workload-export{min-height:var(--control-height)}.workload-presets .segmented-btn{min-height:40px}}.tab-label-short{display:none}@media (max-width:700px){.tab-label-full{display:none}.tab-label-short{display:inline}}.modal.task-modal{max-width:640px}.task-form-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:minmax(0,1fr)}.task-form-main,.task-form-side{min-width:0}.task-form-extra>:last-child,.task-form-side>:last-child{margin-bottom:0}.task-form-side{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-5);padding:var(--space-4)}.task-form-side>*+*{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.task-form-side .form-fieldset,.task-form-side .form-group{margin-bottom:var(--space-4)}.task-modal .field-hint{font-size:var(--text-xs);line-height:var(--leading-normal)}.task-modal #task-title{font-size:var(--text-md);font-weight:var(--weight-medium)}.task-modal #task-description{min-height:112px}.form-row{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.form-row .form-group{margin-bottom:0;min-width:0}.form-row input{min-width:0}.task-dates-hint{margin-top:var(--space-2)}.assignees-select{display:flex;flex-wrap:wrap;gap:6px}.form-group .assignee-checkbox{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-regular);gap:6px;margin:0;min-height:var(--control-height-sm);padding:3px 12px 3px 10px;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.assignee-checkbox:hover{border-color:var(--color-text-faint)}.form-group .assignee-checkbox:has(input:checked){background:var(--color-primary-soft);border-color:var(--color-primary-soft-border);font-weight:var(--weight-medium)}.assignee-checkbox:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.assignee-checkbox input:focus-visible{outline:none}.dependency-hint{margin:0 0 var(--space-3)}.dependencies-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.dependency-item{grid-gap:var(--space-1);align-items:center;display:grid;gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto}.btn-remove-dependency:hover:not(:disabled){background:var(--status-danger-bg);color:var(--status-danger-fg)}.attachments-loading{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.attachments-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);overflow:hidden}.attachments-list-pending{border-color:var(--color-border-strong);border-style:dashed}.attachment-item{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-2) var(--space-3)}.attachment-item+.attachment-item{border-top:1px solid var(--color-border)}.attachment-info{align-items:center;display:flex;flex:1 1;gap:var(--space-3);min-width:0}.attachment-icon{align-items:center;background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.attachment-details{flex:1 1;min-width:0}.attachment-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-meta{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:1px}.attachment-actions{display:flex;flex-shrink:0;gap:6px}.reports-list{display:flex;flex-direction:column;gap:var(--space-2)}.report-item{background:var(--status-report-bg);border:1px solid var(--status-report-border);border-radius:var(--radius-lg);padding:var(--space-3)}.report-header{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.report-author{align-items:center;color:var(--color-text);display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:6px}.report-text{font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere;white-space:pre-wrap}.btn-ghost-danger{color:var(--status-danger-fg)}.btn-ghost-danger:hover:not(:disabled){background:var(--status-danger-bg);color:var(--status-danger-fg)}@media (min-width:900px){.modal.task-modal{max-width:960px}.task-form-grid{align-items:start;column-gap:var(--space-6);grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto 1fr}.task-form-main{grid-column:1}.task-form-side{grid-column:2;grid-row:1/span 2;margin-bottom:0}}@media (max-width:600px){.form-row{grid-template-columns:1fr}.attachment-item{flex-wrap:wrap}.attachment-actions{padding-left:48px;width:100%}.task-modal .modal-actions{flex-direction:row}.task-modal .modal-actions>.btn-delete-task{flex:0 0 var(--control-height);padding:0}.btn-delete-task-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}}.effort-intro{margin:0 0 var(--space-2)}.effort-list{border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;overflow:hidden}.effort-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3)}.effort-row+.effort-row{border-top:1px solid var(--color-border)}.effort-row.is-over{background:var(--status-warning-bg)}.effort-list .effort-person{align-items:center;display:flex;flex:1 1;font-size:var(--text-sm);font-weight:var(--weight-regular);gap:var(--space-2);margin:0;min-width:0}.effort-list .effort-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effort-input-wrap{align-items:center;display:inline-flex;flex-shrink:0;gap:6px}.effort-list input.effort-input:not([type=checkbox]){font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:var(--control-height-sm);padding:4px var(--space-2);text-align:right;width:5.5rem}.effort-unit{color:var(--color-text-muted);font-size:var(--text-sm);min-width:1.5em}.effort-row-warn{align-items:flex-start;color:var(--status-warning-fg);display:inline-flex;flex-basis:100%;font-size:var(--text-xs);gap:4px}.effort-total{align-items:baseline;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);justify-content:space-between;margin:var(--space-2) 0 var(--space-1);padding:0 var(--space-3)}.effort-total strong{font-feature-settings:"tnum";color:var(--color-text);font-variant-numeric:tabular-nums}.effort-warning{align-items:flex-start;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:var(--radius-md);color:var(--status-warning-fg);display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:var(--leading-snug);margin:var(--space-1) 0 var(--space-2);padding:var(--space-2) var(--space-3)}.effort-row-warn .icon,.effort-warning .icon{flex-shrink:0;margin-top:2px}.gantt-container{animation:rise-in var(--dur-slow) var(--ease-out);padding:var(--space-2) var(--page-gutter) var(--space-8)}.gantt-controls{gap:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.gantt-controls,.gantt-nav{align-items:center;display:flex;flex-wrap:wrap}.gantt-nav{gap:var(--space-3)}.gantt-period-label{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.gantt-assignee-filter:not([multiple]){border-color:var(--color-border-strong);font-size:var(--text-sm);max-width:240px;min-height:var(--control-height-sm);padding-bottom:4px;padding-top:4px;width:auto}.gantt-legend{flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-left:auto}.gantt-legend,.legend-item{align-items:center;display:flex}.legend-item{color:var(--color-text-muted);font-size:var(--text-xs);gap:6px}.legend-color{align-items:center;border-radius:var(--radius-xs);color:var(--color-on-solid);display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:22px}.gantt-hint{margin:0 0 var(--space-3);max-width:90ch}.gantt-undated{font-size:var(--text-sm);margin-bottom:var(--space-3)}.gantt-undated summary{align-items:center;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-weight:var(--weight-medium);gap:6px;list-style:none;min-height:var(--control-height-sm);padding:0 var(--space-3) 0 var(--space-2);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gantt-undated summary::-webkit-details-marker{display:none}.gantt-undated summary:hover{background:var(--color-surface-active);color:var(--color-text)}.gantt-undated-chevron{transition:transform var(--dur) var(--ease-out)}.gantt-undated[open] .gantt-undated-chevron{transform:rotate(90deg)}.gantt-undated-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.gantt-undated-list .btn-link{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text);display:inline-flex;font-size:var(--text-sm);min-height:var(--control-height-sm);padding:0 var(--space-3)}.gantt-undated-list .btn-link:hover{background:var(--color-surface-hover);text-decoration:none}.gantt-undated-open{margin-top:var(--space-5);text-align:center}.gantt-undated-open .gantt-undated-list{justify-content:center}.gantt-chart{--gantt-row:44px;--gantt-head:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.gantt-layout{align-items:stretch;display:flex}.gantt-sidebar-col{background:var(--color-surface);border-right:1px solid var(--color-border-strong);flex-shrink:0;width:15rem;z-index:2}.gantt-sidebar-header,.gantt-timeline-header{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border-strong);height:var(--gantt-head)}.gantt-sidebar-header{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:0 var(--space-4)}.gantt-sidebar{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;height:var(--gantt-row);padding:0 var(--space-3) 0 var(--space-4);transition:background-color var(--dur-fast) var(--ease-out)}.gantt-sidebar:hover{background:var(--color-surface-hover)}.gantt-sidebar:last-child{border-bottom:none}.gantt-task-info{align-items:center;display:flex;gap:var(--space-2);min-width:0;width:100%}.gantt-task-title{color:var(--color-text);flex:1 1;font-size:var(--text-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-task-assignees{display:flex;flex-shrink:0;padding-left:4px}.gantt-assignee-badge{box-shadow:0 0 0 2px var(--color-surface);margin-left:-4px}.gantt-scroll-area{flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden;position:relative}.gantt-timeline-header{position:relative}.gantt-month-header{border-right:1px solid var(--color-border);bottom:0;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--gantt-head);overflow:hidden;padding:0 var(--space-3);position:absolute;text-overflow:ellipsis;top:0;white-space:nowrap}.gantt-month-header:first-letter{text-transform:uppercase}.gantt-body{position:relative}.gantt-row-bg{border-bottom:1px solid var(--color-border);height:var(--gantt-row);position:absolute}.gantt-month-line{background:var(--color-border);bottom:0;position:absolute;top:0;width:1px}.gantt-today-line{bottom:0;margin-left:-1px;pointer-events:none;top:0;width:2px;z-index:3}.gantt-today-line,.gantt-today-marker{background:var(--color-brand);position:absolute}.gantt-today-marker{border:2px solid var(--color-surface);border-radius:var(--radius-full);bottom:-5px;height:10px;margin-left:-5px;width:10px;z-index:4}.gantt-arrows{color:var(--color-text-faint);left:0;overflow:visible;pointer-events:none;position:absolute;top:0}.gantt-arrow{stroke:currentColor;stroke-dasharray:4 3}.gantt-arrow-head{fill:currentColor}.gantt-task-bar{align-items:center;border-radius:var(--radius-sm);color:var(--color-on-solid);cursor:pointer;display:flex;gap:5px;height:32px;min-width:4px;overflow:hidden;padding:0 var(--space-2);position:absolute;transition:filter var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);z-index:2}.gantt-task-bar:hover{box-shadow:var(--shadow-sm);filter:brightness(1.08)}.gantt-task-bar:focus-visible{outline-offset:1px}.gantt-bar-progress{background:var(--status-info-solid)}.gantt-bar-done{background:var(--status-success-solid)}.gantt-bar-report{background:var(--status-report-solid)}.gantt-bar-overdue{background:var(--status-danger-solid)}.gantt-task-bar-label{font-size:var(--text-xs);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-empty{margin-top:var(--space-2)}@media (max-width:900px){.gantt-legend{margin-left:0}.gantt-sidebar-col{width:132px}.gantt-sidebar,.gantt-sidebar-header{padding:0 var(--space-3)}.gantt-task-assignees{display:none}}.kanban-container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.project-bar{align-items:flex-end;display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-5) var(--page-gutter) var(--space-2)}.project-bar-left{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.btn-back{color:var(--color-text-muted);font-size:var(--text-sm);gap:6px;margin-left:calc(var(--space-2)*-1);min-height:var(--control-height-sm);padding:0 var(--space-2)}.btn-back:hover{background:var(--color-surface-active);color:var(--color-text)}.kanban-title-block{max-width:100%;min-width:0}.project-title-row{align-items:center;display:flex;gap:var(--space-3);min-width:0}.project-title-row h1{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-edit-project{background:#0000;border-color:#0000;flex-shrink:0}.btn-edit-project:hover:not(:disabled){background:var(--color-surface-active)}.project-desc{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1);max-width:80ch;overflow-wrap:anywhere}.project-desc .btn-link{margin-left:var(--space-2)}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-3)}.kanban-toolbar{gap:var(--space-3) var(--space-6);justify-content:space-between;padding:var(--space-3) var(--page-gutter) var(--space-2)}.kanban-toolbar,.team-members{align-items:center;display:flex;flex-wrap:wrap}.team-members{gap:var(--space-2) var(--space-3);min-width:0}.team-members h3{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.members-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.member-badge{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);display:inline-flex;font-size:var(--text-sm);gap:6px;min-height:32px;padding:3px 12px 3px 4px;white-space:nowrap}.member-owner-tag,.pending-tag{align-items:center;color:var(--color-text-faint);display:inline-flex;font-size:var(--text-xs);gap:4px}.member-owner-tag:before{content:"·";margin-right:2px}.member-badge-pending{background:#0000;border-color:var(--color-border-strong);border-style:dashed;color:var(--color-text-muted)}.kanban-filters{flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.filter-group,.kanban-filters{align-items:center;display:flex}.filter-group{gap:var(--space-2)}.filter-group label{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.filter-group select:not([multiple]){border-color:var(--color-border-strong);font-size:var(--text-sm);max-width:220px;min-height:var(--control-height-sm);padding-bottom:4px;padding-top:4px;width:auto}.kanban-board{align-items:flex-start;display:flex;flex:1 1;gap:var(--space-4);overflow-x:auto;padding:var(--space-3) var(--page-gutter) var(--space-8);position:relative;scroll-padding-inline:var(--page-gutter)}.board-enter{animation:fade-in var(--dur-slow) var(--ease-out)}.kanban-column{background:var(--color-surface-sunken);border-radius:var(--radius-xl);display:flex;flex:1 1 300px;flex-direction:column;max-width:420px;min-width:280px;padding:var(--space-3)}.column-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2);min-height:var(--control-height-sm);padding-left:var(--space-1)}.column-header h2{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-done-icon{color:var(--status-success-fg)}.task-count{font-feature-settings:"tnum";align-items:center;background:var(--color-surface-active);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);height:22px;justify-content:center;min-width:22px;padding:0 6px}.btn-add-task{margin-left:auto}.btn-add-task:hover:not(:disabled){background:var(--color-surface-active)}.column-hint{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-snug);margin:0 var(--space-1) var(--space-3)}.task-list{border-radius:var(--radius-lg);min-height:72px;transition:background-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.task-list.dragging-over{background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft-border)}.column-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);line-height:var(--leading-snug);padding:var(--space-5) var(--space-3);text-align:center}.btn-add-task-inline,.column-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.btn-add-task-inline{gap:6px;justify-content:flex-start;margin-top:var(--space-1);padding:0 var(--space-2)}.btn-add-task-inline:hover{background:var(--color-surface-active);color:var(--color-text)}.task-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;margin-bottom:var(--space-2);padding:var(--space-3);transition:box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.task-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.task-card:focus-visible{outline-offset:1px}.task-card.dragging{border-color:var(--color-focus);box-shadow:var(--shadow-lg);cursor:grabbing}.task-card h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug);overflow-wrap:anywhere}.kanban-column-done .task-card h3,.task-description{color:var(--color-text-muted)}.task-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:var(--text-sm);line-height:var(--leading-snug);margin-top:var(--space-1);overflow:hidden;overflow-wrap:anywhere}.task-footer{gap:var(--space-2);justify-content:space-between;margin-top:var(--space-3)}.task-footer,.task-meta{align-items:center;display:flex}.task-meta{flex-wrap:wrap;gap:6px;min-width:0}.task-attachments-badge,.task-effort-badge{font-feature-settings:"tnum";align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);gap:3px;white-space:nowrap}.task-report-badge{color:var(--status-report-fg);display:inline-flex}.task-assignees{display:flex;flex-shrink:0;padding-left:6px}.assignee-badge{box-shadow:0 0 0 2px var(--color-surface);margin-left:-6px}.modal.members-modal{max-width:580px}.people-group-title{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0 0 var(--space-2)}.people-group-hint{margin:0 0 var(--space-5)}.people-list+.people-group-hint{margin-top:calc(var(--space-3)*-1)}.people-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-5);overflow:hidden}.people-item{align-items:flex-start;display:flex;gap:var(--space-3);padding:var(--space-3)}.people-item .people-avatar{margin-top:2px}.people-item>.btn-small{align-self:center}.people-item+.people-item{border-top:1px solid var(--color-border)}.people-item-pending{background:var(--color-surface-sunken)}.people-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.people-name{font-weight:var(--weight-medium)}.people-you{color:var(--color-text-faint);font-weight:var(--weight-regular)}.people-email{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis}.people-email,.people-role{color:var(--color-text-muted)}.people-role{align-items:flex-start;display:flex;font-size:var(--text-xs);gap:6px;line-height:var(--leading-snug);margin-top:2px}.people-role .icon{margin-top:1px}.people-role strong{color:var(--color-text);font-weight:var(--weight-semibold)}.people-role-owner .icon{color:var(--status-success-fg)}.people-role-team .icon{color:var(--status-info-fg)}.people-role-pending .icon{color:var(--status-warning-fg)}.members-invite,.members-leave{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.members-leave{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.members-leave .field-hint{margin-top:0}.members-team-hint{margin-top:var(--space-3)}@media (max-width:900px){.project-bar{align-items:stretch;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.project-title-row h1{font-size:1.25rem;overflow-wrap:anywhere;white-space:normal}.header-actions{flex-wrap:wrap;gap:var(--space-2)}.btn-new-task,.view-switcher{flex:1 1 auto}.view-switcher .segmented-btn{flex:1 1}.kanban-toolbar{align-items:stretch;flex-direction:column;flex-wrap:nowrap}.team-members h3{flex-shrink:0}.members-list{flex-basis:calc(100% - 120px);flex-grow:1;flex-shrink:1;flex-wrap:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);overflow-x:auto;padding-right:var(--space-5);scrollbar-width:none}.members-list::-webkit-scrollbar{display:none}.btn-members{flex-shrink:0}.kanban-board{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-6);scroll-snap-type:x proximity}.kanban-column{flex:0 0 min(86vw,340px);min-width:0;scroll-snap-align:start}}@media (max-width:600px){.view-switcher .segmented-btn{padding:0 var(--space-2)}.people-item{flex-wrap:wrap}.people-info{flex-basis:calc(100% - 44px)}.people-item .btn-small{margin-left:44px}.kanban-filters{align-items:flex-end}.filter-group{align-items:stretch;flex:1 1 140px;flex-direction:column;gap:var(--space-1);min-width:0}.filter-group label{font-size:var(--text-xs)}.filter-group select:not([multiple]){max-width:none;width:100%}}.inbox-main{max-width:760px}.inbox-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.inbox-heading{align-items:center;display:flex;font-size:var(--text-2xl);font-weight:var(--weight-bold);gap:var(--space-3);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-1)}.inbox-heading .icon{color:var(--color-primary-text)}.inbox-intro{color:var(--color-text-muted);margin:0;max-width:56ch}.inbox-head-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inbox-head-actions .btn-secondary{gap:6px}.inbox-list{border-top:1px solid var(--color-border);list-style:none;margin:0;padding:0}.inbox-item{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-2);transition:background-color var(--dur-fast) var(--ease-out)}.inbox-item-selected,.inbox-item:hover{background:var(--color-surface-hover)}.inbox-check,.inbox-item-editing,.inbox-item-editing:hover{background:var(--color-surface)}.inbox-check{align-items:center;border:1.5px solid var(--color-border-input);border-radius:var(--radius-full);color:#0000;cursor:pointer;display:inline-flex;flex-shrink:0;height:22px;justify-content:center;margin-top:1px;min-height:0;padding:0;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);width:22px}.inbox-check:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}.inbox-check-on,.inbox-check-on:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.inbox-select{flex-shrink:0;margin-top:4px}.inbox-item-body{flex:1 1;min-width:0}.inbox-item-title{color:var(--color-text);display:block;font-size:var(--text-base);line-height:var(--leading-snug);overflow-wrap:anywhere}.inbox-item-title-btn{background:#0000;border:0;border-radius:var(--radius-xs);cursor:text;font:inherit;font-size:var(--text-base);min-height:0;padding:0;text-align:left}.inbox-item-done .inbox-item-title{color:var(--color-text-faint);text-decoration:line-through}.inbox-item-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:var(--text-sm);margin:2px 0 0;overflow:hidden;white-space:pre-line}.inbox-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:6px}.inbox-item-meta:empty{display:none}.inbox-item-added{color:var(--color-text-faint);font-size:var(--text-xs)}.inbox-item-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}@media (hover:hover) and (pointer:fine){.inbox-item-actions .btn-icon{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.inbox-item:focus-within .inbox-item-actions .btn-icon,.inbox-item:hover .inbox-item-actions .btn-icon{opacity:1}}.inbox-move-btn{margin-right:var(--space-1)}.inbox-add{align-items:center;background:#0000;border:0;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;font:inherit;font-size:var(--text-base);gap:var(--space-2);justify-content:flex-start;min-height:44px;padding:0 var(--space-2);text-align:left;width:100%}.inbox-add-plus,.inbox-add:hover{color:var(--color-primary-text)}.inbox-add-plus{align-items:center;border-radius:var(--radius-full);display:inline-flex;height:22px;justify-content:center;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);width:22px}.inbox-add:hover .inbox-add-plus{background:var(--color-primary);color:var(--color-on-primary)}.inbox-add-form,.inbox-edit{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-3)}.inbox-add-form{margin-top:var(--space-3)}.inbox-edit{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2)}.inbox-edit .inbox-edit-title{font-weight:var(--weight-medium)}.inbox-edit textarea{resize:vertical}.inbox-edit-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.inbox-edit-actions{display:flex;gap:var(--space-2);margin-left:auto}.inbox-empty{margin-top:var(--space-4)}.inbox-completed{margin-top:var(--space-6)}.inbox-list-done{margin-top:var(--space-3)}.inbox-shortcuts{color:var(--color-text-faint);font-size:var(--text-xs);margin:var(--space-8) 0 0}.inbox-loading{color:var(--color-text-muted)}.inbox-bulk{align-items:center;animation:fade-in var(--dur) var(--ease-out);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);bottom:var(--space-4);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 auto var(--space-4);max-width:760px;padding:var(--space-3) var(--space-4);position:sticky;z-index:20}.inbox-bulk-count{font-weight:var(--weight-semibold)}.inbox-bulk-actions{display:flex;gap:var(--space-2);margin-left:auto}.inbox-bulk-actions button{gap:6px}@media (max-width:700px){.inbox-main{padding-left:var(--space-4);padding-right:var(--space-4)}.inbox-heading{font-size:var(--text-xl)}.inbox-item{flex-wrap:wrap}.inbox-item-actions{padding-left:calc(22px + var(--space-3));width:100%}.inbox-bulk{margin-left:var(--space-3);margin-right:var(--space-3)}.inbox-bulk-actions{width:100%}.inbox-bulk-actions button{flex:1 1}}@media (hover:none) and (pointer:coarse){.inbox-shortcuts{display:none}}