:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-2:#f0f2f5;--color-surface-3:#e4e7ec;--color-border:#d9dee7;--color-border-strong:#b8c0cc;--color-text:#151922;--color-muted:#5f6978;--color-muted-strong:#343b47;--color-primary:#2557a7;--color-primary-contrast:#fff;--color-link:#1f4f99;--color-danger:#b42318;--color-danger-contrast:#fff;--color-success:#067647;--color-success-contrast:#fff;--color-warning:#b54708;--color-warning-contrast:#fff;--color-info:#175cd3;--color-info-contrast:#fff;--color-media-bg:#111827;--color-media-control-bg:#111827c7;--color-document-page:#fff;--sidebar-bg:#151922;--sidebar-fg:#c7d0dc;--sidebar-brand-fg:#fff;--sidebar-user-fg:#fff;--sidebar-active-bg:var(--tint-primary);--sidebar-active-fg:#fff;--sidebar-hover-bg:#232b35;--sidebar-border:#2d3642;--tint-primary:#2557a71f;--tint-danger:#b423181f;--tint-success:#0676471f;--tint-warning:#b547081f;--badge-in_progress-bg:#dbe7ff;--badge-in_progress-fg:#12356b;--badge-waiting-bg:#fce7c3;--badge-waiting-fg:#7c3e06;--badge-done-bg:#d8f3e5;--badge-done-fg:#0d5b36;--badge-needs_admin-bg:#fde2df;--badge-needs_admin-fg:#84231a;--badge-cancelled-bg:#e4e7ec;--badge-cancelled-fg:#343b47;--status-in-progress:#2557a7;--status-waiting:#b54708;--status-done:#067647;--status-needs-admin:#b42318;--status-cancelled:#6d7784;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--gap:var(--space-4);--radius-sm:8px;--radius-md:12px;--radius-lg:12px;--radius-pill:999px;--radius:var(--radius-sm);--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.75rem;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.5;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--measure:72ch;--shadow-surface:0 1px 2px #15192214;--shadow-popover:0 16px 32px #1519222e;--focus-ring-color:#2557a747;--focus-ring:0 0 0 3px var(--focus-ring-color);--motion-fast:.15s;--motion-base:.18s;--motion-modal:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--content-max:1280px;--sidebar-w:248px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--color-bg:#10141a;--color-surface:#171c23;--color-surface-2:#1f2630;--color-surface-3:#2a3340;--color-border:#344050;--color-border-strong:#49586d;--color-text:#f3f5f8;--color-muted:#bcc6d4;--color-muted-strong:#e3e9f2;--color-primary:#2959a8;--color-primary-contrast:#fff;--color-link:#8db4ff;--color-danger:#bb3025;--color-danger-contrast:#fff;--color-success:#0f8a56;--color-success-contrast:#fff;--color-warning:#c56a1c;--color-warning-contrast:#fff;--color-info:#4b89ff;--color-info-contrast:#fff;--color-media-bg:#0c1016;--color-media-control-bg:#0c1016d6;--sidebar-bg:#0c1016;--sidebar-fg:#c7d0dc;--sidebar-brand-fg:#fff;--sidebar-user-fg:#fff;--sidebar-active-bg:#4b89ff3d;--sidebar-active-fg:#fff;--sidebar-hover-bg:#1f2630;--sidebar-border:#283240;--tint-primary:#4b89ff29;--tint-danger:#bb30252e;--tint-success:#0f8a562e;--tint-warning:#c56a1c2e;--badge-in_progress-bg:#173a6a;--badge-in_progress-fg:#ddeafe;--badge-waiting-bg:#5f3b08;--badge-waiting-fg:#ffedc7;--badge-done-bg:#115937;--badge-done-fg:#dcfae9;--badge-needs_admin-bg:#6c2219;--badge-needs_admin-fg:#fde3df;--badge-cancelled-bg:#3b4656;--badge-cancelled-fg:#f3f5f8;--shadow-surface:0 1px 2px #00000047;--shadow-popover:0 16px 36px #0006;--focus-ring-color:#8db4ff47}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--color-bg);min-width:320px;color:var(--color-text);overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}p,h1,h2,h3,li,td{overflow-wrap:anywhere}a{color:var(--color-link);text-underline-offset:.12em;text-decoration-thickness:1px}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell{background:var(--color-bg);min-width:0;min-height:100vh;display:flex}.app-shell--topbar{display:block}.app-sidebar{width:var(--sidebar-w);gap:var(--space-3);padding:var(--space-4) 0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:20;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.app-sidebar__brand{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--sidebar-brand-fg);font-size:var(--fs-md);font-weight:var(--fw-bold);text-decoration:none;display:flex}.app-logo{object-fit:contain;flex:none;width:1.5rem;height:1.5rem;display:block}.app-sidebar__nav{gap:var(--space-1);padding:0 var(--space-3);flex-direction:column;flex:1;display:flex}.app-sidebar__nav a,.app-sidebar__logout{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--sidebar-fg);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;text-decoration:none;display:flex}.app-sidebar__nav a:hover,.app-sidebar__logout:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-fg)}.app-sidebar__nav a.is-active{background:var(--sidebar-active-bg);border-color:var(--color-primary);color:var(--sidebar-active-fg)}.app-sidebar__logout{width:44px;min-width:44px;padding:var(--space-2);flex:none}.app-sidebar__divider{height:1px;margin:0 var(--space-4);background:var(--sidebar-border)}.app-sidebar__section-label{padding:var(--space-2) var(--space-4);color:var(--sidebar-fg);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.app-sidebar__user{align-items:center;gap:var(--space-2);padding:0 var(--space-4);display:flex}.app-sidebar__user-link{align-items:center;gap:var(--space-2);min-width:0;color:var(--sidebar-user-fg);flex:1;text-decoration:none;display:flex}.app-sidebar__user-info{flex-direction:column;min-width:0;display:flex}.app-sidebar__user-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden}.app-sidebar__user-role{color:var(--sidebar-fg);font-size:var(--fs-xs)}.app-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:none;position:sticky;top:0}.app-header--standalone{width:100%;display:block}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;max-width:var(--content-max);padding:0 var(--space-6);margin:0 auto;display:flex}.app-header__brand{align-items:center;gap:var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-text);display:inline-flex}.app-header__spacer{flex:1}.app-header__actions{justify-content:flex-end;align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-header__user,.app-header__user-name{color:var(--color-muted);font-size:var(--fs-sm)}.app-nav{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.app-nav a,.app-nav__button{min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.app-nav a:hover,.app-nav__button:hover{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.app-nav a.is-active{background:var(--tint-primary);color:var(--color-primary);border-color:#0000}.app-main{min-width:0;width:calc(100% - var(--sidebar-w));margin-left:var(--sidebar-w);padding:var(--space-6);flex:1}.app-main--no-sidebar{width:100%;padding:var(--space-6);margin-left:0}.stack{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.page-section{width:min(100%, var(--content-max));min-width:0;margin:0 auto}.text-muted{color:var(--color-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.center-screen,.auth-shell{min-height:100dvh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.stat-grid,.metric-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.detail-layout,.task-workspace{gap:var(--space-4);grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;display:grid}.detail-layout__sidebar,.task-workspace__aside{top:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex;position:sticky}.task-workspace__main{min-width:0}.panel,.card,.task-card,.task-record,.auth-panel,.auth-card,.modal,.viewer,.chat-msg,.attachment-tile,.notif-item,.metric-panel,.stat-widget,.status-actions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;max-width:100%}.panel,.card,.task-card,.metric-panel,.stat-widget,.panel--compact,.card--compact{padding:var(--space-4)}.card__header,.page-head,.section-header,.task-record__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.page-head{gap:var(--space-4)}.page-head__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.page-head__content{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.page-head__meta{color:var(--color-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:0}.page-head h1,.section-header h2,.task-record__title{letter-spacing:0;margin:0}.page-head h1{font-size:var(--fs-2xl);line-height:var(--lh-tight)}.section-header h2{font-size:var(--fs-xl);line-height:var(--lh-tight)}.task-record__title{font-size:var(--fs-lg);line-height:var(--lh-snug)}.page-toolbar,.row-actions,.status-actions__buttons,.modal__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-toolbar{justify-content:space-between;align-items:end}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-2)}.btn:active:not(:disabled){background:var(--color-surface-3);transform:translateY(1px)}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.btn--primary:hover:not(:disabled){background:var(--color-link);border-color:var(--color-link)}.btn--secondary{background:var(--color-surface-2)}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-danger-contrast)}.btn--danger:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger)}.btn--ghost{color:var(--color-muted-strong);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--color-surface-2)}.btn--sm{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}.btn--block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.field__input{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard)}.field__input:hover:enabled{border-color:var(--color-muted)}.field__input:focus-visible{border-color:var(--color-primary)}.field__input:disabled{background:var(--color-surface-2);color:var(--color-muted)}.field__hint{color:var(--color-muted);font-size:var(--fs-sm);margin:0}.form-error,.form-success{padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin:0}.form-error{background:var(--tint-danger);color:var(--color-danger)}.form-success{background:var(--tint-success);color:var(--color-success)}.split-screen{background:var(--color-bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.split-screen__brand,.split-screen__form{padding:var(--space-6);justify-content:center;align-items:center;display:flex}.split-screen__brand{background:var(--color-surface-2);border-right:1px solid var(--color-border)}.split-screen__brand-content,.auth-panel,.auth-card{width:min(100%,420px)}.split-screen__brand h1,.auth-card h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);margin:0}.split-screen__brand p,.auth-hint{color:var(--color-muted);font-size:var(--fs-sm);margin:0}.split-screen__brand-content,.auth-card{gap:var(--space-4);flex-direction:column;display:flex}.split-screen__brand-features,.avatar-stack{gap:var(--space-2);flex-direction:column;display:flex}.split-screen__brand-feature{align-items:center;gap:var(--space-2);color:var(--color-muted-strong);font-size:var(--fs-sm);display:flex}.split-screen__form{background:var(--color-bg)}.auth-panel,.auth-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.auth-panel{box-shadow:var(--shadow-surface)}.auth-panel__brand,.auth-card__brand{align-items:center;gap:var(--space-2);color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex}.auth-panel__helper{margin-top:calc(var(--space-2) * -1);justify-content:flex-end;display:flex}.auth-link{min-height:44px;color:var(--color-link);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;text-decoration:none;display:inline-flex}.auth-link:hover{text-decoration:underline}.auth-link--center{justify-content:center;width:100%}.auth-logo{object-fit:contain;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;display:block}.auth-panel__head h1,.auth-panel h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);margin:0}.auth-card__brand{flex-direction:row}.auth-divider{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.avatar-uploader{gap:var(--space-3);flex-direction:column;display:flex}.avatar-uploader__preview,.empty-state__icon{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.avatar-uploader__img{object-fit:cover;width:100%;height:100%}.avatar-uploader__placeholder,.user-avatar--placeholder{background:var(--color-surface-3);width:100%;height:100%;color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex}.user-avatar{aspect-ratio:1;background:var(--color-surface-2);object-fit:cover;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.user-avatar--sm{flex-basis:24px;width:24px;min-width:24px;height:24px;min-height:24px}.user-avatar--md{flex-basis:40px;width:40px;min-width:40px;height:40px;min-height:40px}.user-cell{align-items:center;gap:var(--space-2);display:inline-flex}.avatar-stack .user-avatar:first-child{margin-left:0}.participant-picker{gap:var(--space-3);display:grid}.participant-picker__columns{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.participant-picker__group{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);margin:0}.participant-picker__group legend{padding:0 var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.participant-picker__list{gap:var(--space-2);max-height:220px;display:grid;overflow:auto}.participant-option{gap:var(--space-2);min-height:44px;padding-block:var(--space-1);font-size:var(--fs-sm);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.participant-option span{gap:1px;min-width:0;display:grid}.participant-option small{color:var(--color-muted);font-size:var(--fs-xs)}.task-filters{gap:var(--space-4)}.task-filters__row{gap:var(--space-3);flex-wrap:wrap;display:flex}.task-filterbar{gap:var(--space-3);display:grid}.task-filterbar__controls{gap:var(--space-3);grid-template-columns:minmax(260px,1fr) repeat(2,minmax(160px,210px)) minmax(144px,auto);align-items:center;display:grid}.task-filterbar__controls--admin{grid-template-columns:minmax(260px,1fr) minmax(160px,210px) minmax(144px,auto)}.task-filterbar__search,.task-filterbar__select,.task-filterbar__direction{min-height:44px}.task-filterbar__direction{white-space:nowrap}.task-registry{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.task-record{gap:var(--space-3);min-width:0;padding:var(--space-4);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);display:grid}.task-record:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.task-record:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--color-primary) 22%, transparent);outline:0}.task-record__body,.task-record__meta{gap:var(--space-3);display:grid}.task-record__desc,.task-card__desc{color:var(--color-muted);font-size:var(--fs-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.task-record__statusline,.task-record__foot,.task-record__deadline{align-items:center;display:flex}.task-record__statusline{gap:var(--space-2);flex-wrap:wrap}.task-record__foot{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap}.task-record__deadline{gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:0}.task-card{gap:var(--space-3);flex-direction:column;display:flex}.task-card:hover{border-color:var(--color-border-strong)}.task-card__head,.task-card__footer{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.task-card__meta{align-items:center;gap:var(--space-2);display:inline-flex}.task-card__title{font-size:var(--fs-lg);line-height:var(--lh-snug);margin:0}.task-card__desc{-webkit-line-clamp:3}.task-card__deadline{color:var(--color-muted);font-size:var(--fs-sm);margin:0}.msg-counter{align-self:flex-start;align-items:center;gap:var(--space-1);width:fit-content;min-height:24px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-muted-strong);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;display:inline-flex}.unread-dot{background:var(--color-danger);border-radius:50%;width:8px;height:8px;display:inline-block}.status-badge,.role-badge{min-height:24px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.status-badge--in_progress{background:var(--badge-in_progress-bg);color:var(--badge-in_progress-fg)}.status-badge--waiting{background:var(--badge-waiting-bg);color:var(--badge-waiting-fg)}.status-badge--done{background:var(--badge-done-bg);color:var(--badge-done-fg)}.status-badge--needs_admin{background:var(--badge-needs_admin-bg);color:var(--badge-needs_admin-fg)}.status-badge--cancelled{background:var(--badge-cancelled-bg);color:var(--badge-cancelled-fg)}.status-badge--overdue{background:var(--tint-danger);color:var(--color-danger)}.role-badge{background:var(--tint-primary);color:var(--color-primary)}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pagination__status{color:var(--color-muted);font-size:var(--fs-sm)}.tabs{gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;display:flex}.tab{min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.tab:hover:not(.is-active){background:var(--color-surface-2)}.tab.is-active{background:var(--tint-primary);border-color:var(--color-primary);color:var(--color-primary)}.chat-panel{flex-direction:column;gap:0;min-width:0;display:flex;position:relative;overflow:hidden}.chat-panel__drop-target{inset:var(--space-3);z-index:2;border:1px dashed var(--color-primary);border-radius:var(--radius-md);background:color-mix(in oklab, var(--color-surface) 88%, var(--color-primary) 12%);color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.chat-panel--dragging .chat-composer{background:color-mix(in oklab, var(--color-surface-2) 82%, var(--color-primary) 18%)}.chat-feed{flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.chat-msg{gap:var(--space-2);padding:var(--space-4);border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;flex-direction:column;display:flex}.chat-msg:hover,.chat-msg--deleted{background:var(--color-surface-2)}.chat-msg__head,.chat-msg__foot,.chat-msg__attachments,.chat-msg__identity{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-msg__head,.chat-msg__foot{justify-content:space-between}.chat-msg__author{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.chat-msg__time,.chat-msg__edited,.attachment-tile__size,.viewer__name,.viewer__meta,.loading-state__label,.empty-state__message,.error-state__message,.meta-item__label,.meta-item__value{font-size:var(--fs-sm)}.chat-msg__time,.chat-msg__edited,.chat-msg__deleted,.meta-item__label{color:var(--color-muted)}.chat-msg__text,.chat-msg__deleted{margin:0}.chat-msg__link{min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-primary);background:0 0;border:1px solid #0000;align-items:center;display:inline-flex}.chat-msg__link:hover{background:var(--tint-primary)}.chat-msg__link--danger{color:var(--color-danger)}.chat-msg__link--danger:hover{background:var(--tint-danger)}.chat-msg__link:disabled{opacity:.55;cursor:not-allowed}.chat-msg__readers{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.chat-readers__list,.chat-composer__files{padding-left:var(--space-4);color:var(--color-muted);font-size:var(--fs-sm);margin:0}.chat-composer{padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-2)}.chat-composer__form{margin:0}.chat-composer__input{resize:vertical;min-height:96px}.chat-composer__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-composer__file-picker{cursor:pointer;position:relative;overflow:hidden}.chat-composer__file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.chat-composer__file-picker:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.chat-composer__file-picker.is-disabled{opacity:.6;cursor:not-allowed}.chat-composer__file-picker.is-disabled .chat-composer__file-input{cursor:not-allowed}.attachment-grid{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.attachment-tile{--attachment-card-width:min(100%, 292px);--attachment-preview-size:60px;width:var(--attachment-card-width);grid-template-columns:var(--attachment-preview-size) minmax(0, 1fr);align-items:center;gap:var(--space-3);max-width:100%;padding:var(--space-2);color:var(--color-text);text-align:left;display:grid}.attachment-tile--audio-player{--attachment-card-width:min(100%, 340px);gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.attachment-tile:hover,.notif-item:hover{border-color:var(--color-border-strong)}.attachment-tile__preview{width:var(--attachment-preview-size);height:var(--attachment-preview-size);background:var(--color-surface-2);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.attachment-tile--audio-player .attachment-tile__preview{background:0 0;width:100%;height:44px}.chat-msg__attachments .attachment-tile{--attachment-card-width:min(100%, 248px);--attachment-preview-size:52px;padding:var(--space-2)}.chat-msg__attachments .attachment-tile--audio-player{--attachment-card-width:min(100%, 260px)}.chat-msg__attachments .attachment-tile__icon{width:38px;height:44px}.chat-msg__attachments .attachment-tile__play{width:22px;height:22px;inset:auto 6px 6px auto}.chat-msg__attachments .attachment-tile__play:before{width:7px;height:8px}.attachment-tile__details{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.attachment-tile__name{width:100%;color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-tile__size{color:var(--color-muted);line-height:var(--lh-tight)}.attachment-tile__icon{--file-icon-color:#5b6472;justify-content:center;align-items:center;width:48px;height:56px;display:inline-flex}.attachment-tile__icon--pdf{--file-icon-color:#cf2f2f}.attachment-tile__icon--document{--file-icon-color:#2f6fd6}.attachment-tile__icon--spreadsheet{--file-icon-color:#15824b}.attachment-tile__icon--presentation{--file-icon-color:#c8561a}.attachment-tile__icon--image{--file-icon-color:#8b5cc7}.attachment-tile__icon--video{--file-icon-color:#5f4bd7}.attachment-tile__icon--audio{--file-icon-color:#176f8f}.attachment-tile__icon--archive{--file-icon-color:#7a5a2a}.attachment-tile__icon--text{--file-icon-color:#4f6f7f}.attachment-tile__icon-svg{width:100%;height:100%;display:block}.attachment-tile__icon-page{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.5px}.attachment-tile__icon-fold{fill:none;stroke:var(--color-border-strong);stroke-width:1.5px;stroke-linejoin:round}.attachment-tile__icon-app{fill:var(--file-icon-color)}.attachment-tile__icon-label{fill:#fff;font-size:8px;font-weight:var(--fw-bold);letter-spacing:0;dominant-baseline:central}.attachment-tile__icon--document .attachment-tile__icon-label,.attachment-tile__icon--spreadsheet .attachment-tile__icon-label,.attachment-tile__icon--presentation .attachment-tile__icon-label{font-size:15px}.attachment-tile__img,.attachment-tile__video{object-fit:cover;width:100%;height:100%;display:block}.attachment-tile__img{min-width:0;min-height:0}.attachment-tile__video{background:var(--color-media-bg)}.attachment-tile__audio{border-radius:var(--radius-sm);width:100%;height:44px;display:block}.attachment-tile__audio--loading{border:1px solid var(--color-border);background:var(--color-surface-2);justify-content:center;align-items:center;height:44px;display:inline-flex}.attachment-tile__audio--loading .attachment-tile__icon{width:38px;height:44px}.attachment-tile__play{inset:auto var(--space-2) var(--space-2) auto;background:var(--color-media-control-bg);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute}.attachment-tile__play:before{content:"";background:var(--color-surface);clip-path:polygon(0 0,100% 50%,0 100%);width:10px;height:12px;margin-left:2px}.modal-overlay,.viewer-overlay{padding:var(--space-4);z-index:40;background:#1519227a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal,.viewer{width:min(100%,960px);max-height:calc(100vh - (var(--space-6) * 2));gap:var(--space-4);padding:var(--space-4);box-shadow:var(--shadow-popover);flex-direction:column;display:flex}.modal__title{font-size:var(--fs-lg);line-height:var(--lh-snug);margin:0}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.modal__close{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:0}.task-form-dialog{width:min(100%,920px);max-height:min(860px, calc(100dvh - (var(--space-4) * 2)));gap:var(--space-6);padding:var(--space-6);overflow:hidden}.modal-overlay--task-form-site{padding:var(--space-4);align-items:center}.task-form-dialog--site{width:min(calc(100vw - (var(--space-4) * 2)), 960px);max-height:min(860px, calc(100dvh - (var(--space-4) * 2)));border-radius:var(--radius-md)}.task-form-dialog>.modal__header{padding:0 0 var(--space-3);border-bottom:1px solid var(--color-border);flex:none}.task-form-dialog__form,.task-form-dialog__content{gap:var(--space-6);flex-direction:column;flex:auto;min-height:0;display:flex}.task-form-dialog .modal__body{gap:var(--space-6);overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;min-height:0;padding:0;display:flex;overflow:auto}.task-form-dialog__grid{column-gap:var(--space-4);row-gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;display:grid}.task-form-dialog__field{min-width:0}.task-form-dialog__field--description{grid-column:1/-1}.task-form-dialog__field--description textarea{resize:vertical;min-height:132px}.task-form-dialog__participants{min-width:0;padding-top:var(--space-6);border-top:1px solid var(--color-border)}.task-form-dialog .participant-picker__columns{gap:var(--space-4)}.task-form-dialog .participant-picker__group{padding:var(--space-4)}.task-form-dialog .participant-picker__list{max-height:min(32vh,280px)}.task-form-dialog .modal__actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);background:0 0;flex:none}.task-form-dialog--site .participant-picker__columns{grid-template-columns:repeat(2,minmax(220px,1fr))}.confirm-summary{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-muted-strong);font-size:var(--fs-sm);display:grid}.confirm-summary strong,.confirm-summary p,.confirm-summary ul{margin:0}.confirm-summary ul{padding-left:var(--space-4)}.local-toast{right:var(--space-6);bottom:var(--space-6);z-index:50;max-width:min(360px, calc(100vw - var(--space-8)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-success);color:var(--color-success-contrast);box-shadow:var(--shadow-popover);font-size:var(--fs-sm);font-weight:var(--fw-semibold);position:fixed}.modal__actions{padding-top:var(--space-2);justify-content:flex-end}.viewer__head,.viewer__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.viewer__head{justify-content:space-between}.viewer__actions{justify-content:flex-end}.viewer__body{flex:1;justify-content:center;align-items:center;min-height:240px;display:flex;overflow:auto}.viewer__download-only{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.viewer__download-only .text-muted{margin:0}.viewer__file{flex-direction:column;gap:2px;min-width:0;display:flex}.viewer__name{color:var(--color-text);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.viewer__meta{color:var(--color-muted)}.viewer__img,.viewer__video{object-fit:contain;max-width:100%;max-height:min(72vh,720px)}.viewer__video{background:var(--color-media-bg);border-radius:var(--radius-sm);width:100%}.viewer__audio{width:min(100%,560px)}.viewer__body--document{justify-content:stretch;align-items:stretch;overflow:auto}.viewer__document-frame{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex:auto;width:100%;min-height:min(72vh,760px)}.viewer__body--document-external{min-height:min(56vh,520px);padding:var(--space-4);justify-content:center;align-items:center}.viewer__document-actions{align-items:center;gap:var(--space-3);width:min(100%,440px);color:var(--color-text);text-align:center;flex-direction:column;margin:auto;display:flex}.viewer__document-actions-icon{color:var(--color-primary)}.viewer__document-actions-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.viewer__document-actions-note{color:var(--color-muted-strong);font-size:var(--fs-sm);line-height:var(--lh-normal)}.viewer__document-action-list{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.viewer__document-action-button{width:100%}.viewer__document-fallback{align-items:center;gap:var(--space-4);width:min(100%,420px);padding:var(--space-4);text-align:center;flex-direction:column;display:flex}.viewer__document-fallback .text-muted{margin:0}.viewer__body--document-canvas{min-height:min(72vh,760px);overflow:hidden}.viewer-overlay--max{padding:max(var(--space-2), env(safe-area-inset-top)) 0 max(var(--space-2), env(safe-area-inset-bottom));align-items:stretch}.viewer-overlay--max .viewer{width:100%;max-height:calc(100dvh - max(var(--space-2), env(safe-area-inset-top)) - max(var(--space-2), env(safe-area-inset-bottom)));gap:var(--space-2);padding:var(--space-2);border-left:0;border-right:0;border-radius:0}.viewer-overlay--max .viewer__head{flex:none}.viewer-overlay--max .viewer__body--document-canvas{min-height:0}.viewer-overlay--max .viewer__body--document-external{min-height:0;padding:var(--space-3) var(--space-2)}.pdf-document-viewer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.pdf-document-viewer__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;flex:none;display:flex}.pdf-document-viewer__page-count,.pdf-document-viewer__zoom,.pdf-document-viewer__page-label{color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.pdf-document-viewer__tools{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.pdf-document-viewer__tool{width:44px;padding-inline:0}.pdf-document-viewer__tool[aria-pressed=true]{border-color:var(--color-primary);background:var(--tint-primary);color:var(--color-primary)}.pdf-document-viewer__zoom{text-align:center;min-width:48px}.pdf-document-viewer__pages{align-items:flex-start;gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-3);scroll-padding:var(--space-3);background:var(--color-surface-2);flex-direction:column;flex:auto;display:flex;overflow:auto}.pdf-document-viewer__page-shell{align-items:center;gap:var(--space-2);flex-direction:column;flex:none;width:max-content;max-width:none;margin-inline:auto;display:flex}.pdf-document-viewer__page{background:var(--color-document-page);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:180px;min-height:180px;display:flex;position:relative;overflow:hidden}.pdf-document-viewer__page-loading{padding:var(--space-4);color:var(--color-muted);font-size:var(--fs-sm);text-align:center;background:var(--color-document-page);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pdf-document-viewer__canvas{background:var(--color-document-page);max-width:none;display:block}.pdf-document-viewer--max{border-left:0;border-right:0}.pdf-document-viewer--max .pdf-document-viewer__toolbar{gap:var(--space-1);padding:var(--space-2)}.pdf-document-viewer--max .pdf-document-viewer__tools{gap:var(--space-1)}.pdf-document-viewer--max .pdf-document-viewer__zoom{min-width:44px}.pdf-document-viewer--max .pdf-document-viewer__pages{gap:var(--space-3);padding:var(--space-2);scroll-padding:var(--space-2);touch-action:pan-x pan-y;overscroll-behavior:contain}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-actions{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2);flex-direction:column;display:flex}.task-hero{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(280px,min(46%,560px));align-items:start;min-width:0;display:grid}.task-hero__main{gap:var(--space-3);min-width:0;display:grid}.task-hero h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);text-wrap:balance;margin:0}.task-hero__description{max-width:var(--measure);color:var(--color-muted-strong);margin:0}.task-participants{gap:var(--space-2);max-width:min(100%,520px);display:grid}.task-hero__side .task-participants{width:100%;max-width:none}.task-participants__rows{gap:var(--space-2);display:grid}.task-participants__row{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto;padding:6px 8px;display:grid}.task-participants__row:hover,.task-participants__row.is-open{border-color:var(--color-border-strong);background:var(--color-surface-2)}.task-participants__row:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.task-participants__label{color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.task-participants__avatars{align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.task-participants__avatar,.task-participants__avatars .user-avatar{flex:none}.task-participants__more,.task-participants__count{border-radius:var(--radius-pill);background:var(--color-surface-3);min-width:24px;height:24px;color:var(--color-muted-strong);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;display:inline-flex}.task-participants__count{color:var(--color-muted);background:0 0}.task-participants__panel{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);display:grid}.task-participants__panel strong{color:var(--color-muted-strong);font-size:var(--fs-sm)}.task-participants__list{gap:var(--space-1);max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.task-participants__item{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text);font-size:var(--fs-sm);display:flex}.task-participants__item span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-hero__side{gap:var(--space-3);justify-items:stretch;min-width:0;max-width:100%;display:grid}.task-hero__meta{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.task-hero__meta .status-badge{align-self:flex-start;width:fit-content}.task-hero__deadline{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:0;display:inline-flex}.task-hero__action-row{align-items:stretch;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;display:grid}.task-hero__action-row--admin-review{grid-template-columns:minmax(0,1fr)}.task-hero__action-row--admin-review .task-hero__edit{width:100%}.task-hero__action-row--admin-review .status-strip{grid-column:auto}.task-hero__action-row .status-strip{background:0 0;border:0;border-radius:0;grid-column:span 2;width:100%;min-width:0;padding:0}.task-hero__action-row .status-strip__controls{justify-content:stretch}.task-hero__action-row .status-strip__controls--with-select{grid-template-columns:repeat(2,minmax(0,1fr))}.task-hero__action-row .status-strip__controls--with-select .status-strip__buttons{grid-column:1/-1}.task-hero__action-row--admin-review .status-strip__controls--with-select{grid-template-columns:minmax(170px,1fr) auto}.task-hero__action-row .status-strip__buttons{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));justify-content:stretch;display:grid}.task-hero__edit{align-self:stretch;width:100%;min-width:0;min-height:44px}.admin-import-report{gap:var(--space-2);display:grid}.admin-import-report__errors{padding-left:var(--space-6);color:var(--color-muted-strong);font-size:var(--fs-sm);margin:0}.status-strip{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.status-strip__controls{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.status-strip__controls--with-select{grid-template-columns:minmax(180px,260px) auto;align-items:center;display:grid}.status-strip__buttons{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.status-strip__admin-select{display:contents}.status-strip__admin-select .btn,.status-strip__buttons .btn{min-width:128px;min-height:44px}.status-strip__controls--with-select .status-strip__buttons{grid-column:3}.status-strip__controls:not(.status-strip__controls--with-select) .status-strip__buttons{width:100%}.status-strip__select-field{flex:240px;margin:0}.status-strip__select{width:100%;min-width:0}@supports not (display:contents){.status-strip__admin-select{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.status-strip__controls--with-select{flex-wrap:wrap;display:flex}}.task-activity{min-width:0}.notif-list,.meta-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notif-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.notif-item__actions{flex:none;align-items:flex-start;display:flex}.notif-item__main,.meta-item{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.notif-item__title{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.notif-item__body{color:var(--color-text);font-size:var(--fs-sm);margin:0}.notif-item__time{color:var(--color-muted);font-size:var(--fs-xs)}.notifications-popover{min-width:0;position:relative}.notification-bell{gap:var(--space-2);min-width:58px}.notification-bell span{font-variant-numeric:tabular-nums}.notifications-popover__panel{inset:calc(100% + var(--space-2)) 0 auto auto;z-index:40;gap:var(--space-3);width:min(380px,100vw - 32px);max-width:calc(100vw - 32px);padding:var(--space-3);box-shadow:var(--shadow-popover);display:grid;position:absolute}.notifications-popover__head,.notifications-popover__item{justify-content:space-between;align-items:flex-start;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.notifications-popover__list{gap:var(--space-2);max-height:360px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.notifications-popover__item{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.notifications-popover__item>button:first-child{gap:var(--space-1);width:100%;min-width:0;color:var(--color-text);text-align:left;background:0 0;border:0;flex:1;padding:0;display:grid}.notifications-popover__item span,.notifications-popover__item time{color:var(--color-muted);font-size:var(--fs-xs)}.notification-dismiss{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.metric-panel,.stat-widget{gap:var(--space-2);flex-direction:column;display:flex}.metric-panel__title{color:var(--color-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:0}.metric-panel__value{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;margin:0}.stat-widget__icon{color:var(--color-muted)}.stat-widget__label,.stat-card__title{color:var(--color-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:0}.stat-widget__value,.stat-card__value{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);margin:0}.stat-widget__sub{color:var(--color-muted);font-size:var(--fs-xs);margin:0}.table-scroll{scrollbar-gutter:stable;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-width:640px;overflow:hidden}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;overflow-wrap:normal;word-break:normal;white-space:nowrap}.data-table th{background:var(--color-surface-2);color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.data-table tbody tr:hover{background:var(--color-surface-2)}.loading-state,.empty-state,.error-state{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;display:flex}.loading-state{padding:var(--space-4) 0;color:var(--color-muted)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spinner-rotate}.empty-state,.error-state{flex-direction:column}.empty-state{padding:var(--space-12) var(--space-4)}.error-state{padding:var(--space-6) var(--space-4)}.error-state__message{color:var(--color-danger);margin:0}.meta-item__label{text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-medium)}.meta-item__value{color:var(--color-text)}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.account-workbench{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;display:grid}.account-workbench__section,.account-summary{gap:var(--space-3);min-width:0;display:grid}.account-summary__name,.panel h2,.admin-section h2{font-size:var(--fs-lg);line-height:var(--lh-snug);margin:0}.account-summary__role{place-self:flex-start start;width:fit-content}.account-summary__line{margin:0}.report-toolbar .task-filters__row{align-items:end}.report-toolbar{gap:var(--space-3);display:grid}.report-toolbar__controls{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));align-items:center;display:grid}.metric-strip{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));display:grid}.metric-strip .metric-panel{justify-content:space-between;min-height:112px}.report-visuals{gap:var(--space-4);grid-template-columns:minmax(min(100%,456px),1.25fr) repeat(2,minmax(min(100%,260px),1fr));align-items:stretch;display:grid}.status-donut{gap:var(--space-4);grid-template-columns:148px minmax(0,1fr);align-items:center;display:grid}.status-donut__chart{aspect-ratio:1;width:148px;box-shadow:inset 0 0 0 28px var(--color-surface);border-radius:50%;justify-self:center}.status-donut__legend{gap:var(--space-2);display:grid}.status-donut__legend h2,.participant-bars h2{margin:0}.status-donut__legend p{gap:var(--space-2);font-size:var(--fs-sm);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;margin:0;display:grid}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot--in_progress{background:var(--status-in-progress)}.status-dot--waiting{background:var(--status-waiting)}.status-dot--done{background:var(--status-done)}.status-dot--needs_admin{background:var(--status-needs-admin)}.status-dot--cancelled{background:var(--status-cancelled)}.participant-bars,.participant-bars__list{gap:var(--space-3);display:grid}.participant-bar{gap:var(--space-2);font-size:var(--fs-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.participant-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-bar i{border-radius:var(--radius-pill);background:var(--color-primary);grid-column:1/-1;height:8px;display:block}.admin-section{gap:var(--space-4);min-width:0;max-width:100%;display:grid}.admin-user-search{grid-template-columns:minmax(0,1fr);display:grid}.admin-section__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-section__count{min-width:28px;color:var(--color-muted-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:right;font-variant-numeric:tabular-nums}.admin-directory{border-top:1px solid var(--color-border);width:100%;min-width:0;max-width:100%}.admin-directory__header,.admin-directory__row{align-items:center;gap:var(--space-4);min-width:0;display:grid}@media (width>=821px){.admin-directory--active{grid-template-columns:minmax(0,1fr) minmax(0,128px) minmax(0,144px);display:grid}.admin-directory--deleted{grid-template-columns:minmax(0,1fr) minmax(0,176px) minmax(0,48px);display:grid}.admin-directory__list{display:contents}.admin-directory__header,.admin-directory__row{grid-column:1/-1;grid-template-columns:subgrid}.admin-directory__actions{flex-wrap:nowrap}.admin-directory__actions .btn{width:44px;min-width:44px;padding-inline:0}.admin-directory__action-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.admin-directory__header{min-height:42px;padding:0 var(--space-3);background:var(--color-surface-2);color:var(--color-muted-strong);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.admin-directory__header span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-directory__header span:last-child{text-align:right}.admin-directory__list{margin:0;padding:0;list-style:none}.admin-directory__row{min-height:72px;padding:var(--space-3);border-bottom:1px solid var(--color-border);transition:background-color var(--motion-fast) ease-out}.admin-directory__row:hover{background:var(--color-surface-2)}.admin-directory__identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.admin-directory__identity .user-avatar{flex:none}.admin-directory__identity-copy{gap:var(--space-1);min-width:0;display:grid}.admin-directory__identity-copy strong,.admin-directory__identity-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-directory__identity-copy strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.admin-directory__identity-copy span,.admin-directory__deleted-at{color:var(--color-muted);font-size:var(--fs-xs)}.admin-edit-avatar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);display:flex}.admin-directory__status{justify-self:start;min-width:0}.admin-directory__deleted-at{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.admin-directory__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.admin-directory__actions .btn{flex:none;max-width:100%}.admin-directory__action-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-directory__action-label--compact{display:none}.back-button{align-self:flex-start}.task-context__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.task-context__head h1{min-width:0;font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0}.task-context__deadline{align-items:flex-start;gap:var(--space-2);color:var(--color-muted-strong);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:0;display:flex}.task-context__deadline svg{margin-top:var(--space-1);flex:none}.task-context__description{color:var(--color-muted);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0}.audit-panel{overflow:auto hidden}.audit-panel .data-table{table-layout:fixed;min-width:100%}.audit-panel .data-table th,.audit-panel .data-table td{vertical-align:top}.audit-panel .data-table th:first-child,.audit-panel .data-table td:first-child{width:132px}.audit-panel .data-table th:nth-child(2),.audit-panel .data-table td:nth-child(2){width:clamp(116px,18%,168px)}.audit-panel .data-table th:nth-child(3),.audit-panel .data-table td:nth-child(3){width:clamp(96px,14%,128px)}.audit-panel .data-table td:nth-child(2),.audit-panel .data-table td:nth-child(3){text-overflow:ellipsis;overflow:hidden}.audit-panel .data-table th:nth-child(4),.audit-panel .data-table th:nth-child(5),.audit-panel .data-table td:nth-child(4),.audit-panel .data-table td:nth-child(5){white-space:normal;overflow-wrap:anywhere;word-break:normal}@media (width<=1100px){.audit-panel{overflow:visible}.audit-panel .data-table,.audit-panel .data-table tbody,.audit-panel .data-table tr,.audit-panel .data-table td{display:block}.audit-panel .data-table{background:0 0;border-radius:0;min-width:0}.audit-panel .data-table thead{display:none}.audit-panel .data-table tbody{gap:var(--space-3);display:grid}.audit-panel .data-table tr{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:grid}.audit-panel .data-table td{gap:var(--space-1);white-space:normal;overflow-wrap:normal;word-break:normal;border-bottom:0;grid-template-columns:minmax(0,1fr);min-width:0;padding:0;display:grid}.audit-panel .data-table td:first-child,.audit-panel .data-table td:nth-child(2),.audit-panel .data-table td:nth-child(3),.audit-panel .data-table td:nth-child(4),.audit-panel .data-table td:nth-child(5){width:auto}.audit-panel .data-table td:before{content:attr(data-label);color:var(--color-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.audit-panel .data-table td:nth-child(2),.audit-panel .data-table td:nth-child(3){text-overflow:clip;overflow:visible}.audit-panel .data-table td:nth-child(4),.audit-panel .data-table td:nth-child(5){overflow-wrap:anywhere}}.not-found{text-align:center}.not-found__code,.not-found__title,.not-found__description{margin:0}.not-found__code{color:var(--color-primary);font-size:var(--fs-2xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.not-found__title{font-size:var(--fs-lg)}.not-found__description{color:var(--color-muted)}.theme-toggle{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted-strong);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--color-surface-2)}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=821px) and (width<=1180px){.admin-directory__actions{flex-wrap:nowrap}.admin-directory__actions .btn{width:44px;min-width:44px;padding-inline:0}.admin-directory__action-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=820px){.admin-directory__header{display:none}.admin-directory--active .admin-directory__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status""actions actions"}.admin-directory--deleted .admin-directory__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity deleted-at""actions actions"}.admin-directory__identity{grid-area:identity}.admin-directory__status{grid-area:status}.admin-directory__deleted-at{grid-area:deleted-at}.admin-directory__actions{padding-top:var(--space-2);border-top:1px solid var(--color-border);grid-area:actions}}@media (width<=1100px){.task-hero{grid-template-columns:minmax(0,1fr)}.task-hero__meta{justify-content:flex-start}.task-hero__side{justify-items:stretch;width:100%}.task-hero__action-row{grid-template-columns:minmax(0,1fr)}.task-hero__action-row .status-strip,.task-hero__edit{width:100%}.task-hero__action-row .status-strip{grid-column:auto}}@media (width<=1320px){.report-visuals{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.detail-layout,.task-workspace,.split-screen,.account-workbench,.report-visuals{grid-template-columns:minmax(0,1fr)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filterbar__controls,.report-toolbar__controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-layout__sidebar,.task-workspace__aside{position:static}.split-screen__brand{border-right:0;border-bottom:1px solid var(--color-border)}}@media (width<=768px){.btn,.btn--sm,.field__input,.notification-dismiss,.notifications-popover__item>button:first-child,.admin-directory__actions button,.page-head__actions .btn,.status-strip__buttons .btn,.status-strip__admin-select .btn,.chat-composer__actions .btn{min-height:44px}.notification-dismiss{min-width:44px}.app-shell{display:block}.app-sidebar{display:none}.app-header{display:block}.app-header__inner{align-items:stretch;gap:var(--space-2);min-height:0;padding:var(--space-3) var(--space-4);flex-direction:column}.app-header__actions{gap:var(--space-2);grid-template-columns:minmax(0,1fr);justify-content:stretch;display:grid}.app-nav{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-nav a,.app-nav__button{text-align:center;justify-content:center;min-width:0}.app-main{width:100%;padding:var(--space-4);margin-left:0}.app-main--no-sidebar{padding:var(--space-4)}.page-head,.page-toolbar,.card__header,.task-card__head,.task-record__head,.task-record__foot,.task-context__head,.task-hero,.task-hero__meta,.status-donut,.participant-picker__columns{flex-direction:column;align-items:stretch}.local-toast{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);max-width:none}.task-hero,.notif-item,.status-donut,.task-filterbar__controls,.participant-picker__columns{grid-template-columns:minmax(0,1fr)}.task-hero__meta{justify-content:flex-start;min-width:0}.task-hero__side{justify-items:stretch;width:100%}.task-hero__action-row{grid-template-columns:minmax(0,1fr)}.task-participants{max-width:none}.task-participants__row{gap:var(--space-2);grid-template-columns:minmax(86px,auto) minmax(0,1fr) auto}.task-hero__action-row .status-strip,.task-hero__edit{width:100%}.task-hero__action-row .status-strip{grid-column:auto}.status-strip__controls,.status-strip__controls--with-select{grid-template-columns:minmax(0,1fr);justify-content:stretch}.status-strip__admin-select{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.status-strip__controls--with-select .status-strip__buttons{grid-column:auto}.status-strip__buttons{justify-content:stretch}.status-strip__buttons .btn,.status-strip__admin-select .btn,.chat-composer__actions .btn,.notif-item__actions .btn,.status-strip__admin-select,.status-strip__select,.notif-item__actions{width:100%}.page-head__actions{justify-content:stretch}.page-head__actions>.btn,.page-head__actions>.notifications-popover{flex:1}.app-header__actions>.notifications-popover{width:100%}.notification-bell{justify-content:center;width:100%}.notifications-popover__panel{inset:auto var(--space-4) var(--space-4) var(--space-4);width:calc(100vw - 32px);max-height:min(480px,100dvh - 32px);position:fixed;overflow:auto}.admin-directory{border-top-color:var(--color-border-strong)}.admin-directory__row{gap:var(--space-3);padding:var(--space-4) 0}.admin-directory__identity{align-items:flex-start}.admin-directory__identity-copy strong,.admin-directory__identity-copy span{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;overflow:hidden}.admin-directory__status{align-self:start}.admin-directory__deleted-at{padding-top:var(--space-1);text-align:right;align-self:start}.admin-directory__actions{padding-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-directory__actions .btn{width:100%;min-width:0}.admin-directory__row--admin .admin-directory__action-label--full{display:none}.admin-directory__row--admin .admin-directory__action-label--compact{display:inline}.admin-edit-avatar{flex-wrap:wrap}.admin-edit-avatar .btn{width:100%}.modal-overlay--task-form-site{padding:var(--space-3);align-items:center}.task-form-dialog--site{width:min(100%,720px);max-height:calc(100dvh - (var(--space-3) * 2));padding:var(--space-4)}.task-form-dialog__grid,.task-form-dialog--site .participant-picker__columns{grid-template-columns:minmax(0,1fr)}.task-form-dialog--site .modal__actions{flex-wrap:wrap}.task-form-dialog--site .modal__actions .btn{min-width:min(100%,148px)}.modal-overlay--task-form-max{padding:max(var(--space-2), env(safe-area-inset-top)) 0 0;align-items:flex-end}.task-form-dialog--max{width:100%;max-height:calc(100dvh - max(var(--space-2), env(safe-area-inset-top)));padding:var(--space-4) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:0;border-left:0;border-right:0}.task-form-dialog--max .modal__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task-form-dialog--max .modal__actions .btn{width:100%;min-width:0}.task-form-dialog--max .participant-picker__list{max-height:168px}}@media (width<=560px){.report-toolbar__controls,.metric-strip{grid-template-columns:minmax(0,1fr)}.metric-strip .metric-panel{min-height:96px}.status-strip__admin-select{grid-template-columns:minmax(0,1fr)}.status-strip__admin-select .btn{width:100%}}.max-auth{min-height:100dvh;padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));background:var(--color-bg);place-items:center;display:grid}.max-auth__panel{align-items:stretch;gap:var(--space-4);width:min(100%,420px);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.max-auth__panel h1,.max-auth__panel p{margin:0}.max-auth__panel h1{font-size:var(--fs-xl);text-align:center}.max-auth__logo{border-radius:var(--radius-sm);align-self:center}.max-auth__form{width:100%}.max-app{background:var(--color-bg);min-height:100dvh}.max-app__header{z-index:20;align-items:center;gap:var(--space-2);min-height:52px;padding:max(var(--space-2), env(safe-area-inset-top)) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:var(--fw-semibold);display:flex;position:sticky;top:0}.max-app__header img{border-radius:var(--radius-sm);flex:0 0 24px}.max-app__content{width:100%;min-width:0;padding:var(--space-4) var(--space-4) calc(76px + env(safe-area-inset-bottom))}.max-app .back-button,.max-app .page-head__actions .notifications-popover{display:none}.max-nav{z-index:30;min-height:64px;padding:4px 4px max(4px, env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);align-items:stretch;display:flex;position:fixed;inset:auto 0 0}.max-nav__item{min-width:0;min-height:56px;color:var(--color-muted-strong);text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.6875rem;line-height:1.1;text-decoration:none;display:flex}.max-nav__item span{overflow-wrap:anywhere;max-width:100%}.max-nav__item:hover,.max-nav__item.is-active{color:var(--color-primary)}.max-nav__item.is-active{font-weight:var(--fw-semibold)}.toggle-row{align-items:center;gap:var(--space-3);min-height:44px;color:var(--color-text);display:flex}.toggle-row input{width:20px;height:20px;accent-color:var(--color-primary)}.task-max-notifications{min-width:44px;min-height:44px;padding-inline:var(--space-2);flex:none}.max-admin-menu{border-top:1px solid var(--color-border);flex-direction:column;display:flex}.max-admin-menu__item{align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none;display:flex}.max-admin-menu__item>svg{color:var(--color-primary);flex:0 0 24px}.max-admin-menu__item span{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.max-admin-menu__item small{color:var(--color-muted);font-size:var(--fs-sm)}@media (width>=821px){.max-app__content{padding-inline:var(--space-6)}}
