:root{--ink:#1c2433;--paper:#eef1f5;--panel:#fff;--sunken:#e2e6ed;--line:#d9dee6;--muted:#586274;--primary:#07b;--primary-soft:#e6f1f8;--good:#098;--warn:#e73;--bad:#c31;--tone:var(--primary);--font:"Archivo", system-ui, sans-serif;--text-xs:12px;--text-s:13px;--text-m:15px;--text-l:18px;--text-xl:22px;--text-2xl:32px;--text-3xl:clamp(32px, 4.5vw, 56px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-s:4px;--radius-m:6px;--radius-l:12px;--radius-full:999px;--shadow-pop:0 12px 32px #1c243333, 0 2px 6px #1c24331f;--z-sidebar:30;--z-fab:40;--z-popover:50;--z-dialog:60}.tone-primary{--tone:var(--primary)}.tone-good{--tone:var(--good)}.tone-warn{--tone:var(--warn)}.tone-bad{--tone:var(--bad)}*{box-sizing:border-box}html{font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);line-height:1.45}body{margin:0}h1,h2,h3{margin:0;font-weight:700;font-stretch:75%;line-height:1.1}p{margin:0}a{color:var(--primary)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.muted{color:var(--muted)}.text-tone{color:var(--tone)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.empty{max-width:60ch;padding:var(--space-5) 0;color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.stack{gap:var(--gap,var(--space-3));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--gap,var(--space-2));flex-wrap:wrap;display:flex}.split{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.spacer{flex:1}.page{padding:var(--space-6) var(--space-7) 96px;flex:1;overflow:auto}@media (width<=720px){.page{padding:var(--space-5) var(--space-4) 96px}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);color:var(--ink);white-space:nowrap;padding:7px 12px;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn--primary:hover{background:var(--primary);border-color:var(--primary)}.btn--danger{color:var(--bad)}.btn--danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--sunken);border-color:#0000}.btn--dashed{color:var(--muted);background:0 0;border-style:dashed}.btn--dashed:hover{color:var(--ink)}.btn--icon{aspect-ratio:1;padding:7px}.btn--sm{font-size:var(--text-xs);padding:4px 8px}.btn--icon.btn--sm{padding:5px}.btn--block{width:100%}.fab{z-index:var(--z-fab);background:var(--ink);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-pop);border-radius:50%;place-items:center;font-size:20px;display:grid;position:fixed;bottom:20px;left:20px}.fab:hover{background:var(--primary)}.segmented{display:inline-flex}.segmented>button{border:1px solid var(--line);background:var(--panel);margin-left:-1px;padding:7px 12px}.segmented>button:first-child{border-radius:var(--radius-s) 0 0 var(--radius-s);margin-left:0}.segmented>button:last-child{border-radius:0 var(--radius-s) var(--radius-s) 0}.segmented>button:hover{border-color:var(--muted);position:relative}.segmented>button.on{background:var(--ink);border-color:var(--ink);color:#fff;position:relative}.segmented--fill{display:flex}.segmented--fill>button{font-size:var(--text-s);flex:1;padding:6px 0}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--text-s);color:var(--muted)}.input{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);width:100%;padding:7px 10px}.input:hover{border-color:var(--muted)}textarea.input{resize:vertical}.input--bare{background:0 0;border-color:#0000;padding:3px 4px}.input--bare:hover,.input--bare:focus{border-color:var(--line);background:var(--panel)}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 1px #0002}.swatches button.on{outline:2px solid var(--ink);outline-offset:2px}.inline-text{align-items:center;gap:var(--space-2);border-radius:var(--radius-s);max-width:100%;font:inherit;text-align:left;border:1px solid #0000;margin-left:-6px;padding:2px 6px;display:inline-flex}.inline-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inline-text-icon{color:var(--muted);opacity:0;flex:none;font-size:.6em;transition:opacity .15s}.inline-text:hover,.inline-text:focus-visible{border-color:var(--line);background:var(--panel);cursor:text}.inline-text:hover .inline-text-icon,.inline-text:focus-visible .inline-text-icon{opacity:1}.inline-text--editing{border-color:var(--primary);background:var(--panel);outline:none;width:100%;min-width:0}.input[type=date]{font-size:var(--text-s);padding-inline:8px}.input--compact{width:auto;font-size:var(--text-s);padding:4px 8px}.input-affix{align-items:center;display:flex;position:relative}.input-affix .input{padding-left:28px;padding-right:32px}.input-affix[class*=tone-] .input{border-color:var(--tone)}.input-prefix{color:var(--muted);pointer-events:none;position:absolute;left:10px}.input-suffix{color:var(--tone,var(--muted));position:absolute;right:10px}.field-hint{font-size:var(--text-xs);color:var(--tone,var(--muted))}.input:disabled{background:var(--paper);color:var(--muted);border-color:var(--line);cursor:not-allowed}.badge{border-radius:var(--radius-full);background:var(--panel);color:var(--muted);font-size:var(--text-xs);align-items:center;padding:1px 8px;font-weight:600;display:inline-flex}.badge[class*=tone-]{background:var(--tone);color:#fff}.meter{border-radius:var(--radius-full);background:var(--paper);height:8px;overflow:hidden}.meter>div{background:var(--tone);height:100%}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-full);background:var(--sunken);max-width:100%;font-size:var(--text-s);align-items:center;gap:6px;padding:3px 4px 3px 10px;display:inline-flex}.chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip>button{width:20px;height:20px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.chip>button:hover{background:var(--line);color:var(--ink)}.chip--plain{padding-right:10px}.avatar{background:var(--avatar,var(--muted));color:#fff;letter-spacing:.02em;box-shadow:0 0 0 2px var(--panel);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.avatar--m{width:30px;height:30px;font-size:var(--text-xs)}.avatar--s{width:20px;height:20px;font-size:9px}.avatar--more{background:var(--sunken);color:var(--ink)}.avatar--pending{background:var(--sunken);color:var(--muted)}.avatar-stack{display:flex}.avatar-stack>.avatar+.avatar{margin-left:-8px}.presence-dots{vertical-align:middle;margin-right:6px;display:inline-flex}.presence-dots>.avatar+.avatar{margin-left:-6px}.overlay{z-index:var(--z-dialog);padding:var(--space-4);background:#1c243380;place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-4);width:min(440px,100%);padding:var(--space-5);border-radius:var(--radius-l);background:var(--panel);box-shadow:var(--shadow-pop);flex-direction:column;animation:.16s ease-out dialog-in;display:flex}.dialog h2{font-size:var(--text-xl)}.dialog p{color:var(--muted)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.popover-anchor{position:relative}.popover-backdrop{z-index:var(--z-popover);position:fixed;inset:0}.popover{z-index:calc(var(--z-popover) + 1);min-width:280px;max-height:70vh;font-size:var(--text-m);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);box-shadow:var(--shadow-pop);padding:6px;font-weight:400;font-stretch:100%;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.menu{flex-direction:column;display:flex}.menu-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-s);width:100%;font-size:var(--text-m);text-align:left;cursor:pointer;padding:8px 10px;display:flex}.menu-item>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.menu-item:hover{background:var(--sunken)}.menu-item.on{font-weight:600}.menu-item--danger{color:var(--bad)}.menu-label{font-size:var(--text-xs);color:var(--muted);padding:6px 10px 4px}.menu-divider{background:var(--line);height:1px;margin:6px 0}.popover--end{left:auto;right:0}.dialog--wide{width:min(560px,100%)}.dialog-header{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.dialog-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dialog-header>.cluster{flex-wrap:nowrap;flex:none}@media (width<=640px){.overlay{align-items:end;padding:0}.dialog--media .btn-label{display:none}.dialog{border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%;min-width:0;max-height:92vh;padding:var(--space-4);overflow:auto}.popover{min-width:0;position:fixed;inset:auto 8px 8px}}.modal{border-radius:var(--radius-l);background:var(--panel);box-shadow:var(--shadow-pop);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) both modal-in;display:flex;position:relative}.modal:focus{outline:none}.modal-overlay{align-items:start;padding-top:6vh;animation:.22s both overlay-in;overflow:auto}.modal-overlay.is-closing{animation:.22s both overlay-out}.modal-overlay.is-closing .modal{animation:.22s cubic-bezier(.8,0,.8,.2) both modal-out}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}@keyframes modal-out{to{opacity:0;transform:translateY(24px)scale(.96)}}@keyframes overlay-in{0%{background-color:#0000}}@keyframes overlay-out{to{background-color:#0000}}@media (width<=640px){.modal-overlay{align-items:end;padding-top:0}.modal{border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%}@keyframes modal-in{0%{opacity:.4;transform:translateY(100%)}}@keyframes modal-out{to{opacity:.4;transform:translateY(100%)}}}.shell{height:100vh;display:flex}.app{flex-direction:column;flex:1;min-width:0;display:flex}.workspace{flex:1;min-height:0;display:flex}.sidebar{z-index:var(--z-sidebar);background:var(--ink);flex-direction:column;gap:2px;width:250px;padding:20px 12px;transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow:auto;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:8px 0 24px #0003}.sidebar a{border-radius:var(--radius-s);color:#c5ccd8;white-space:nowrap;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.sidebar a:hover{color:#fff}.sidebar a.active{color:#fff;background:#ffffff14}.sidebar .brand{margin-bottom:var(--space-4);color:#fff;font-size:var(--text-xl);font-weight:800;font-stretch:75%}.sidebar-group{margin-top:var(--space-4);flex-direction:column;gap:2px;display:flex}.sidebar-label{font-size:var(--text-xs);color:#8b95a7;padding:0 12px 6px}.backdrop{z-index:calc(var(--z-sidebar) - 1);background:#1c243366;position:fixed;inset:0}.brand-mark{gap:3px;width:26px;display:grid}.brand-mark i{background:var(--warn);border-radius:2px;height:5px}.brand-mark i:first-child{width:60%}.brand-mark i:nth-child(2){background:#fff;width:75%;margin-left:25%}.brand-mark i:nth-child(3){background:var(--primary);width:45%;margin-left:55%}.brand-mark--lg{gap:7px;width:64px}.brand-mark--lg i{border-radius:3px;height:12px}.brand-mark--lg i:nth-child(2){background:var(--ink)}.toolbar{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;min-height:60px;padding:10px 16px;display:flex}.toolbar-actions{align-items:center;gap:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--line);display:flex}.project-title .inline-text{max-width:min(40vw,420px)}.project-title{min-width:0;font-size:var(--text-xl);align-items:center;gap:2px;font-weight:700;font-stretch:75%;display:flex}.save-status{font-size:var(--text-s);color:var(--muted);align-items:center;gap:6px;display:flex}.fab{transition:left .2s,background-color .15s}.sidebar.open~.fab{left:270px}.sidebar-account{margin-top:auto}.sidebar a .badge{margin-left:auto}@media (width<=720px){.toolbar{gap:var(--space-2);min-height:52px;padding:8px 12px}.project-title{min-width:0;font-size:var(--text-l);flex:1}.project-title .inline-text{max-width:100%}.toolbar>.spacer,.toolbar .btn-label{display:none}.toolbar-actions{border-left:0;border-top:1px solid var(--line);scrollbar-width:none;flex:1 0 100%;order:10;padding:6px 0 2px;overflow-x:auto}.toolbar-actions>*{flex:none}.avatar-stack{display:none}}@media (width<=900px){.group-panel{padding-bottom:88px}}.splash{place-items:center;height:100vh;display:grid}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-brand{justify-content:flex-end;gap:var(--space-4);padding:var(--space-7);background:var(--ink);color:#fff;flex-direction:column;display:flex}.auth-brand .brand-mark i:nth-child(2){background:#fff}.auth-brand h1{font-size:clamp(56px,9vw,120px);line-height:.9}.auth-brand p{max-width:32ch;font-size:var(--text-l);color:#c5ccd8}.auth-panel{padding:var(--space-6) var(--space-4);place-items:center;display:grid}.auth-form{gap:var(--space-4);flex-direction:column;width:min(380px,100%);display:flex}.auth-form h2{font-size:var(--text-2xl)}.auth-divider{align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--text-s);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}@media (width<=800px){.auth{grid-template-columns:1fr}.auth-brand{padding:var(--space-6) var(--space-4)}.auth-brand h1{font-size:56px}}.journal{width:360px;padding:var(--space-2)}.journal ol{margin:0;padding:0;list-style:none}.journal li{gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-s);font-size:var(--text-s);display:flex}.journal li.live{background:var(--primary-soft)}.journal li .avatar{margin-top:2px}.journal li p{overflow-wrap:anywhere;min-width:0}.journal time{font-size:var(--text-xs);color:var(--muted);display:block}.journal-empty{padding:var(--space-2) 10px}.share-invite{gap:var(--space-2);display:flex}.share-invite .input:first-child{flex:1}.member-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);padding:10px 0;display:flex}.member-list li:last-child{border-bottom:0}.member-info{flex-direction:column;flex:1;min-width:0;display:flex}.member-info strong,.member-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-info small{font-size:var(--text-xs);color:var(--muted)}.share-footer{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-s);display:flex}.user-menu{margin-top:var(--space-3);padding:var(--space-3) var(--space-2) 0;color:#fff;border-top:1px solid #ffffff1f;align-items:center;gap:10px;display:flex}.user-menu .avatar{box-shadow:none}.user-menu-info{flex-direction:column;flex:1;min-width:0;display:flex}.user-menu-info strong,.user-menu-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-info small{font-size:var(--text-xs);color:#8b95a7}.user-menu .btn{color:#c5ccd8}.user-menu .btn:hover{color:#fff;background:#ffffff14}@media (width<=720px){.journal{width:min(360px,100vw - 32px)}.share-invite{flex-wrap:wrap}}.chip--action{cursor:pointer;padding-left:4px}.chip--action:hover{background:var(--line)}.invite-link{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-m);background:var(--paper);font-size:var(--text-s);flex-direction:column;display:flex}.invite-link-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-page{--gap:var(--space-5)}.account-column{gap:var(--space-5);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.account-column>h1{font-size:var(--text-3xl)}.account-column .panel h2{margin-bottom:0}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.setting-row p{color:var(--muted)}.danger-zone{border-color:color-mix(in srgb, var(--bad) 30%, var(--line))}.invite-card h1{font-size:var(--text-2xl)}@media (width<=720px){.setting-row{flex-direction:column;align-items:flex-start}}.totp-setup{gap:var(--space-5);align-items:flex-start;display:flex}.totp-setup img{border:1px solid var(--line);border-radius:var(--radius-m);flex:none}.totp-secret{font-size:var(--text-s);letter-spacing:.05em;overflow-wrap:anywhere}.totp-input{max-width:180px;font-size:var(--text-xl);letter-spacing:.4em;text-align:center}.auth-form .totp-input{max-width:none}.recovery{padding:var(--space-4);border-radius:var(--radius-m);background:var(--paper)}.recovery-codes{gap:var(--space-2) var(--space-5);padding-left:var(--space-5);font-size:var(--text-l);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}@media (width<=720px){.totp-setup{flex-direction:column}}.main-hub{flex:1;padding:clamp(32px,8vh,96px) clamp(16px,5vw,64px) 96px;overflow:auto}.main-hub-header{align-items:center;gap:var(--space-5);max-width:1120px;margin:0 auto var(--space-6);display:flex}.main-hub-header h1{font-size:var(--text-3xl)}.main-hub-header p{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-l)}.tile-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1120px;margin:0 auto;display:grid}.tile{gap:var(--space-2);min-height:220px;padding:var(--space-5);border-radius:var(--radius-l);background:var(--ink);color:#fff;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.tile:after{content:"";background:#ffffff08;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-40px;right:-40px}.tile:hover{box-shadow:var(--shadow-pop);transform:translateY(-3px)}.tile-top{justify-content:space-between;align-items:flex-start;margin-bottom:auto;display:flex}.tile-icon{color:var(--warn);font-size:32px}.tile h2{font-size:var(--text-2xl)}.tile p{color:#c5ccd8;max-width:40ch;font-size:var(--text-s)}.tile-cta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-s);color:var(--warn);font-weight:600;display:inline-flex}.tile:hover .tile-cta svg{transition:transform .15s;transform:translate(3px)}@media (width<=640px){.main-hub-header{align-items:flex-start;gap:var(--space-3);flex-direction:column}.main-hub-header .brand-mark--lg{gap:5px;width:44px}.main-hub-header .brand-mark--lg i{height:8px}.tile{min-height:170px}}.dashboard{gap:var(--space-6);flex-direction:column;max-width:1180px;margin:0 auto;display:flex}.hero h1{max-width:18ch;font-size:var(--text-3xl);color:var(--tone)}.hero p{font-size:var(--text-l);color:var(--muted);margin:10px 0 28px}.hero-track{border:1px solid var(--line);border-radius:var(--radius-s);background:repeating-linear-gradient(-45deg, #fff 0 6px, var(--line) 6px 8px);height:36px;position:relative}.hero-progress{background:var(--tone);border-radius:3px 0 0 3px;height:100%}.hero-today{border-left:3px solid var(--warn);position:absolute;top:-10px;bottom:-10px}.hero-today span{font-size:var(--text-s);color:var(--warn);white-space:nowrap;padding-bottom:4px;font-weight:600;position:absolute;bottom:100%}.hero-dates{margin-top:var(--space-3);color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.kpis{border-top:2px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.kpi{padding:var(--space-4) 20px 0 0;flex-direction:column;display:flex}.kpi+.kpi{border-left:1px solid var(--line);padding-left:20px}.kpi span,.kpi small{font-size:var(--text-s);color:var(--muted)}.kpi strong{color:var(--ink);font-size:40px;font-weight:700;font-stretch:80%;line-height:1.1}.kpi[class*=tone-] strong{color:var(--tone)}.dashboard-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:20px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);padding:20px}.panel h2{margin-bottom:var(--space-4);font-size:var(--text-xl)}.phase-line{padding:var(--space-2) 0;grid-template-columns:110px 1fr 48px;align-items:center;gap:4px 12px;display:grid}.phase-line small{font-size:var(--text-xs);color:var(--muted);grid-column:1;margin-top:-6px}.phase-line strong{text-align:right}.phase-line .meter{height:10px}.deadlines{border-top:4px solid var(--tone)}.deadlines ul{margin:0;padding:0;list-style:none}.deadlines li{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:14px;display:flex}.deadlines li:last-child{border-bottom:0}.deadlines time{white-space:nowrap;color:var(--tone);font-weight:600}.deadlines .empty{padding:0}.deadlines .more{margin-top:var(--space-3);font-size:var(--text-s);color:var(--muted)}.dashboard-footer{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=960px){.dashboard-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(3){border-left:0;padding-left:0}}.board{align-items:flex-start;gap:var(--space-4);flex:1;padding:20px 20px 96px;display:flex;overflow:auto}.board>.empty{flex:0 0 240px;align-self:center;padding:0}.column{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-m);background:var(--sunken);outline:2px dashed #0000;flex-direction:column;flex:0 0 280px;display:flex}.column.over{outline-color:var(--primary)}.column>header{align-items:center;gap:var(--space-2);display:flex}.column h2{flex:1;min-width:0;font-size:20px}.column>header small{color:var(--muted)}.column.sprint{flex-basis:300px}.column.unplanned{border:2px dashed var(--line);background:0 0}.card{gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);cursor:grab;border-left:4px solid;flex-direction:column;padding:10px 12px;font-size:14px;display:flex}.card p{margin:0}.card.selected{outline:2px solid var(--ink)}.card.archived{opacity:.6;font-style:italic}.card .meter{height:6px}.card footer{gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);display:flex}.card time.late{color:var(--bad);font-weight:600}.sprint-header{flex-direction:column;gap:6px;padding-bottom:6px;display:flex}.sprint-title{align-items:center;gap:var(--space-2);display:flex}.sprint-dates{gap:var(--space-1);display:flex}.sprint-dates .input{min-width:0;font-size:var(--text-s);flex:1}.sprint-goal{font-size:var(--text-s)}.sprint-stats{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.sprint-stats strong{color:var(--ink);margin-left:auto}@media (width<=720px){.board{padding:var(--space-3) var(--space-3) 96px;scroll-snap-type:x mandatory}.column{scroll-snap-align:start;flex-basis:calc(100vw - 48px);max-width:320px}.board:has(>.empty){flex-wrap:wrap;align-content:flex-start}.board>.empty{flex:100%;order:-1;align-self:auto}}.task-modal{flex-direction:column;width:min(880px,100%);max-height:min(92vh,900px);padding:0;display:flex;overflow:hidden}.task-modal-header{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-top:6px solid var(--task,var(--primary));display:flex}.task-modal-title{flex:1;min-width:0}.task-modal-title p{font-size:var(--text-s)}.editor-title{border-radius:var(--radius-s);resize:none;field-sizing:content;width:100%;font-size:var(--text-2xl);background:0 0;border:1px solid #0000;margin:-4px -6px 2px;padding:4px 6px;font-weight:700;font-stretch:75%;line-height:1.15}.editor-title:hover,.editor-title:focus{border-color:var(--line);outline:none}.task-modal-body{gap:var(--space-6);padding:var(--space-2) var(--space-5) var(--space-5);grid-template-columns:minmax(0,1fr) 240px;display:grid;overflow:auto}.task-main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.task-side{gap:var(--space-4);flex-direction:column;display:flex}.task-side .field{gap:6px}.task-delete{margin-top:var(--space-2);justify-content:flex-start}.task-section{gap:var(--space-2);flex-direction:column;display:flex}.task-section h3{align-items:center;gap:var(--space-2);font-size:var(--text-l);display:flex}.task-section h3 svg{color:var(--muted);font-size:.85em}.gauge{appearance:none;border-radius:var(--radius-full);background:linear-gradient(to right, var(--primary) var(--value), var(--sunken) var(--value));cursor:pointer;width:100%;height:10px}.gauge::-webkit-slider-thumb{appearance:none;background:var(--primary);border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #0004}.gauge::-moz-range-thumb{background:var(--primary);border:3px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0004}.chip--person{padding-left:3px}.chip--external{border:1px dashed var(--muted);background:0 0}.chip--add{border:1px solid var(--line);cursor:pointer;background:0 0;gap:4px;padding-right:10px;position:relative}.chip--add:hover{border-color:var(--muted)}.chip--add select{font:inherit;cursor:pointer;background:0 0;border:0}.link-member{align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--paper);font-size:var(--text-s);flex-wrap:wrap;display:flex}.checklist{gap:var(--space-2);flex-direction:column;display:flex}.checklist-progress{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted);display:flex}.checklist-progress .meter{flex:1}.checklist ul{margin:0;padding:0;list-style:none}.checklist li{align-items:center;gap:var(--space-2);border-radius:var(--radius-s);padding:4px 6px;display:flex}.checklist li:hover{background:var(--paper)}.checklist li .check{flex:1}.checklist li.done span{color:var(--muted);text-decoration:line-through}.checklist li .btn{opacity:0}.checklist li:hover .btn,.checklist li .btn:focus-visible{opacity:1}.markdown{padding:var(--space-3);border-radius:var(--radius-m);background:var(--paper);cursor:text;overflow-wrap:anywhere}.markdown:hover{background:var(--sunken)}.markdown>*+*{margin-top:var(--space-2)}.markdown h3{font-size:var(--text-xl)}.markdown h4{font-size:var(--text-l)}.markdown h5{font-size:var(--text-m)}.markdown ul,.markdown ol{padding-left:var(--space-5);margin-bottom:0}.markdown li.md-task{gap:var(--space-2);margin-left:calc(-1 * var(--space-4));list-style:none;display:flex}.markdown blockquote{padding-left:var(--space-3);border-left:3px solid var(--line);color:var(--muted);margin:0}.markdown code{border-radius:var(--radius-s);background:var(--panel);padding:1px 5px;font-size:.9em}.markdown pre{padding:var(--space-3);border-radius:var(--radius-s);background:var(--panel);overflow:auto}.markdown pre code{padding:0}.markdown hr{border:0;border-top:1px solid var(--line)}.markdown-empty{width:100%;min-height:64px;padding:var(--space-3);border-radius:var(--radius-m);background:var(--paper);color:var(--muted);text-align:left}.markdown-empty:hover{background:var(--sunken)}.markdown-editor{gap:var(--space-2);flex-direction:column;display:flex}.markdown-editor textarea{resize:vertical;min-height:160px}.markdown-toolbar{border-radius:var(--radius-s);background:var(--paper);flex-wrap:wrap;gap:2px;padding:2px;display:flex}.markdown-hint{font-size:var(--text-xs)}@media (width<=720px){.task-modal{max-height:96vh}.task-modal-body{gap:var(--space-5);padding:var(--space-2) var(--space-4) 96px;grid-template-columns:1fr}.task-modal-header{padding:var(--space-4) var(--space-4) var(--space-2)}.task-side{gap:var(--space-3);order:-1;grid-template-columns:1fr 1fr;display:grid}.task-side .field:nth-child(3),.task-side .field:nth-child(4),.task-side .field:nth-child(5),.task-delete{grid-column:1/-1}.editor-title{font-size:var(--text-xl)}}.gantt{background:var(--panel);flex:1;position:relative;overflow:auto}.gantt .row{border-bottom:1px solid var(--line);background:var(--panel);display:flex}.gantt .row.active{background:var(--primary-soft)}.gantt .label{z-index:3;border-right:1px solid var(--line);background:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:0 0 280px;align-items:center;gap:6px;padding:0 12px;display:flex;position:sticky;left:0;overflow:hidden}.gantt .label.task{padding-left:32px;font-size:14px;line-height:34px;display:block}.gantt .label.archived{color:var(--muted);font-style:italic}.gantt .label small{color:var(--muted);font-weight:400}.gantt .track{z-index:1;position:relative}.gantt .row.header{z-index:5;height:36px;font-weight:600;position:sticky;top:0}.gantt .row.header .track{z-index:0}.gantt .row.phase{background:var(--paper);font-weight:700;font-stretch:85%}.gantt .row:not(.phase) .track{z-index:4}.tick{border-left:1px solid var(--line);height:100%;font-size:var(--text-xs);white-space:nowrap;color:var(--muted);padding:9px 4px;font-weight:400;position:absolute;top:0}.phase-bar{background:var(--ink);border-radius:3px;height:6px;position:absolute;top:14px}.gantt .body{position:relative}.gantt .layer{z-index:2;pointer-events:none;position:absolute;top:0}.grid-line{border-left:1px solid var(--line);opacity:.6;position:absolute;top:0;bottom:0}.today{border-left:2px solid var(--warn);position:absolute;top:0;bottom:0}.links{fill:none;stroke:var(--muted);stroke-width:1.5px;position:absolute;top:0;left:0}.links marker path{fill:var(--muted);stroke:none}.bar{color:#fff;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:3px;align-items:center;height:22px;padding-left:6px;font-size:11px;font-weight:600;display:flex;position:absolute;top:6px;overflow:hidden}.bar.selected{outline:2px solid var(--ink);outline-offset:1px}.bar.late{box-shadow:0 0 0 2px var(--bad)}.bar-progress{background:#0000004d;position:absolute;inset:0 auto 0 0}.bar span{position:relative}.bar-handle{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:0}@media (width<=720px){.gantt .label{font-size:var(--text-s);flex-basis:150px}.gantt .label.task{font-size:var(--text-s);padding-left:16px}.gantt .label small{display:none}}.pert-scroll{flex:1;padding:28px 32px 96px;overflow:auto}.pert-summary{max-width:72ch;margin-bottom:28px}.pert-summary h2{font-size:var(--text-2xl)}.pert{position:relative}.pert-links{fill:none;stroke:#9aa3b2;stroke-width:1.5px;position:absolute;inset:0}.pert-links marker path{fill:#9aa3b2;stroke:none}.pert-links path.critical{stroke:var(--bad);stroke-width:2.5px}.pert-node{border:1px solid var(--line);border-top:4px solid var(--muted);border-radius:var(--radius-s);background:var(--panel);text-align:left;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute}.pert-node:hover{border-color:var(--muted)}.pert-node.critical{border-top-color:var(--bad)}.pert-node.selected{outline:2px solid var(--ink)}.pert-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.pert-grid{border:1px solid var(--line);background:var(--line);font-size:var(--text-xs);grid-template-columns:1fr auto 1fr;gap:1px;display:grid}.pert-grid span{background:var(--panel);text-align:center;padding:2px 6px}.pert-grid span:nth-child(3n+1){text-align:left}.pert-grid span:nth-child(3n){text-align:right}.pert-node.critical .pert-grid span:nth-child(5){color:var(--bad);font-weight:700}@media (width<=720px){.pert-scroll,.tree-scroll{padding:var(--space-4) var(--space-3) 96px}.pert-summary h2{font-size:var(--text-xl)}}.tree-scroll{flex:1;padding:28px 32px 96px;overflow:auto}.tree{min-width:100%;display:inline-block}.tree ul{justify-content:center;margin:0;padding:24px 0 0;display:flex;position:relative}.tree>ul{padding-top:0}.tree li{flex-direction:column;align-items:center;padding:24px 8px 0;list-style:none;display:flex;position:relative}.tree>ul>li{padding-top:0}.tree li:before,.tree li:after{content:"";border-top:2px solid var(--line);width:50%;height:24px;position:absolute;top:0;right:50%}.tree li:after{border-left:2px solid var(--line);left:50%;right:auto}.tree li:only-child:before,.tree li:only-child:after{border-top:0}.tree li:first-child:before,.tree li:last-child:after{border:0}.tree li:last-child:before{border-right:2px solid var(--line)}.tree>ul>li:before,.tree>ul>li:after{display:none}.tree ul ul:before{content:"";border-left:2px solid var(--line);height:24px;position:absolute;top:0;left:50%}.tree ul.tree-stack{flex-direction:column;align-items:stretch;gap:6px}.tree ul.tree-stack li{padding:0}.tree ul.tree-stack li:before,.tree ul.tree-stack li:after{display:none}.node{flex-direction:column;gap:6px;display:flex}.node-body{border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:var(--radius-s);background:var(--panel);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:200px;padding:10px 12px;display:flex}.node-body:hover{border-color:var(--muted);border-left-color:var(--primary)}.node-body small{font-size:var(--text-xs);color:var(--muted)}.node-body strong{font-size:14px;font-weight:600}.node-meta{font-size:var(--text-xs);color:var(--muted)}.node.root .node-body{border-color:var(--ink);border-left-color:var(--warn);background:var(--ink);color:#fff;width:240px}.node.root .node-body strong{font-size:var(--text-l);font-weight:700;font-stretch:75%}.node.root .node-meta{color:#c5ccd8}.node.phase .node-body{border-left-color:var(--ink);background:var(--sunken)}.node.task .node-body{border-left-color:var(--line)}.node.selected .node-body{outline:2px solid var(--ink)}.node-actions{gap:var(--space-1);flex-wrap:wrap;max-width:240px;display:flex}.drive{gap:var(--space-4);min-width:0;padding:var(--space-5) var(--space-6) 96px;outline-offset:-12px;outline:3px dashed #0000;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden auto}.drive.dropping{outline-color:var(--primary);background:var(--primary-soft)}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-l);flex-wrap:wrap;min-width:0;font-weight:700;font-stretch:85%;display:flex}.breadcrumb button{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:var(--space-2);border-radius:var(--radius-s);max-width:60vw;padding:2px 6px;display:inline-flex;overflow:hidden}.breadcrumb button:hover{background:var(--sunken)}.drive-table{table-layout:fixed;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-m);width:100%;font-size:14px;overflow:hidden}.drive-table th{text-align:left;font-size:var(--text-xs);color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-weight:600}.drive-table td{border-bottom:1px solid var(--line);padding:4px 12px}.drive-table tr:last-child td{border-bottom:0}.drive-table tbody tr:hover{background:var(--paper)}.drive-table tr.selected{background:var(--primary-soft)}.drive-name{align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:6px 0;display:flex}.drive-name span:not(.presence-dots){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drive-folder-icon{color:var(--warn)}.drive-actions{white-space:nowrap;text-align:right;width:1%}.drive-col-meta{white-space:nowrap;text-overflow:ellipsis;width:26%;overflow:hidden}.drive-table th.drive-col-meta:last-child,.drive-table td.drive-col-meta:last-child{width:12%}.drive-name>span:not(.presence-dots){min-width:0}.drive-empty{place-content:center;justify-items:center;gap:var(--space-3);border:2px dashed var(--line);border-radius:var(--radius-l);min-height:280px;color:var(--muted);flex:1;display:grid}.drive-empty svg{font-size:40px}.drive-usage{align-items:center;gap:var(--space-3);font-size:var(--text-s);margin-top:auto;display:flex}.drive-usage .meter{background:var(--sunken);flex:0 200px;min-width:80px}.drive-usage span{white-space:nowrap}.upload-list{z-index:var(--z-popover);gap:var(--space-2);width:320px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);box-shadow:var(--shadow-pop);font-size:var(--text-s);flex-direction:column;margin:0;list-style:none;display:flex;position:fixed;bottom:20px;right:20px}.upload-list li{align-items:center;gap:4px var(--space-2);grid-template-columns:1fr auto;display:grid}.upload-list .meter{grid-column:1/-1;height:6px}.upload-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog--media{width:min(960px,100%);max-height:92vh}.preview-body{place-items:center;min-height:0;display:grid;overflow:auto}.preview-body img,.preview-body video{border-radius:var(--radius-s);max-width:100%;max-height:72vh}.preview-body pre{width:100%;max-height:72vh;padding:var(--space-4);border-radius:var(--radius-s);background:var(--paper);font-size:var(--text-s);white-space:pre-wrap;margin:0;overflow:auto}@media (width<=720px){.drive{padding:var(--space-4) var(--space-3) 96px}.selection-bar strong{flex:1 0 100%}.upload-list{width:auto;bottom:84px;left:16px;right:16px}.drive-col-meta{display:none}}.drive:focus{outline:none}.drive-table tbody tr{cursor:default;-webkit-user-select:none;user-select:none}.drive-table tr.selected{background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.drive-table tr.selected:hover{background:var(--primary-soft)}.selection-bar{z-index:2;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--ink);color:#fff;flex-wrap:wrap;display:flex;position:sticky;top:0}.selection-bar strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.selection-bar .btn{color:#fff;background:#ffffff14;border-color:#0000}.selection-bar .btn:hover{background:#ffffff29}.selection-bar .btn--danger{color:#ffb4a3}.preview-body{min-width:0;position:relative}.preview-card{overflow-wrap:anywhere;max-width:100%}.preview-nav{z-index:1;color:#fff;background:#1c2433b3;border-radius:50%;place-items:center;width:40px;height:40px;margin-top:-20px;display:grid;position:absolute;top:50%}.preview-nav:hover{background:var(--ink)}.preview-nav--prev{left:8px}.preview-nav--next{right:8px}@media (width<=640px){.preview-body{padding-bottom:52px}.preview-nav{margin-top:0;top:auto;bottom:0}}.preview-card{align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;flex-direction:column;display:flex}.preview-card>svg{color:var(--muted);margin-bottom:var(--space-3);font-size:64px}.pdf-view{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;max-height:72vh;display:flex;overflow:auto}.pdf-pages{gap:var(--space-3);flex-direction:column;display:flex}.pdf-pages canvas{border-radius:var(--radius-s);background:#fff;max-width:100%;height:auto;box-shadow:0 1px 4px #0002}.table-view{width:100%;max-height:72vh;overflow:auto}.table-view table{border-collapse:collapse;font-size:var(--text-s)}.table-view th,.table-view td{border:1px solid var(--line);white-space:nowrap;text-align:left;padding:4px 10px}.table-view th{background:var(--sunken);position:sticky;top:0}.drive-shared{flex:none;font-size:.8em}.share-heading{align-items:center;gap:var(--space-2);font-size:var(--text-l);display:flex}.share-announce{font-size:var(--text-s)}.messaging{flex-direction:row;min-height:0}.conversations{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex:0 0 300px;display:flex;overflow:auto}.conversations>header{padding:var(--space-4);justify-content:space-between;align-items:center;display:flex}.conversations h2{font-size:var(--text-xl)}.conversations>.empty{padding:0 var(--space-4)}.conversations ul{padding:0 var(--space-2) 96px;margin:0;list-style:none}.conversation{align-items:center;gap:var(--space-3);border-radius:var(--radius-m);text-align:left;width:100%;padding:10px;display:flex}.conversation:hover{background:var(--paper)}.conversation.active{background:var(--primary-soft)}.conversation-text{flex-direction:column;flex:1;min-width:0;display:flex}.conversation-text strong,.conversation-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-text small{font-size:var(--text-xs);color:var(--muted)}.group-avatar{background:var(--ink)}.messaging-main{flex:1;min-width:0;display:flex;position:relative}.messaging-error{top:var(--space-3);z-index:5;cursor:pointer;position:absolute;left:50%;transform:translate(-50%)}.chat{flex:1;min-width:0;display:flex}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{align-items:center;gap:var(--space-2);min-height:60px;padding:8px var(--space-4);border-bottom:1px solid var(--line);background:var(--panel);display:flex}.chat-back{display:none}.chat-header h2{font-size:var(--text-xl)}.chat-header small{font-size:var(--text-xs)}.chat-notice{padding:var(--space-2) var(--space-4)}.channel-tabs{padding:6px var(--space-3);border-bottom:1px solid var(--line);background:var(--panel);gap:2px;display:flex;overflow-x:auto}.channel-tabs button{border-radius:var(--radius-s);color:var(--muted);white-space:nowrap;padding:4px 10px}.channel-tabs button:hover{background:var(--paper);color:var(--ink)}.channel-tabs button.on{background:var(--ink);color:#fff}.messages{padding:var(--space-4) var(--space-5);flex-direction:column;flex:1;gap:2px;margin:0;list-style:none;display:flex;overflow:auto}.messages>.empty{text-align:center;align-self:center}.messages-more{margin-bottom:var(--space-3);align-self:center}.message{align-items:flex-end;gap:var(--space-2);max-width:min(680px,85%);margin-top:var(--space-3);display:flex;position:relative}.message--grouped{margin-top:0}.message--mine{flex-direction:row-reverse;align-self:flex-end}.message-avatar{flex:0 0 30px}.message-bubble{background:var(--panel);border:1px solid var(--line);border-radius:14px 14px 14px 4px;flex-direction:column;gap:4px;min-width:0;padding:8px 12px;display:flex}.message--mine .message-bubble{background:var(--ink);border-color:var(--ink);color:#fff;border-radius:14px 14px 4px}.message--mine .message-bubble .muted{color:#c5ccd8}.message-sender{font-size:var(--text-xs);color:var(--primary)}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-meta{opacity:.65;align-self:flex-end;font-size:11px}.message-actions{align-self:center;display:none}.message:hover .message-actions,.message:focus-within .message-actions{display:flex}.message-attachments{flex-wrap:wrap;gap:6px;display:flex}.attachment{align-items:center;gap:var(--space-2);border-radius:var(--radius-m);max-width:260px;color:inherit;text-align:left;background:#0000000f;padding:8px 10px;display:flex}.message--mine .attachment{background:#ffffff1f}.attachment span{flex-direction:column;min-width:0;display:flex}.attachment strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-s);overflow:hidden}.attachment small{font-size:var(--text-xs);opacity:.7}.attachment--image{padding:0;overflow:hidden}.attachment--image img{object-fit:cover;max-width:260px;max-height:220px;display:block}.typing{min-height:20px;padding:0 var(--space-5);font-size:var(--text-xs);color:var(--muted)}.composer{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4) 96px;border-top:1px solid var(--line);background:var(--panel);flex-direction:column;display:flex}.composer-row{align-items:flex-end;gap:var(--space-2);display:flex}.composer-input{resize:none;field-sizing:content;flex:1;min-height:38px;max-height:160px}.group-panel{gap:var(--space-4);padding:var(--space-4);border-left:1px solid var(--line);background:var(--panel);flex-direction:column;flex:0 0 380px;display:flex;overflow:auto}.group-panel h2{font-size:var(--text-xl)}.group-member{flex-wrap:wrap;align-items:flex-start}.group-member .member-info{flex:200px}.member-controls{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.group-member .member-info{gap:4px}.role-chip{border:1px solid var(--line);font-size:var(--text-xs);background:0 0}.role-chip.on{border-color:var(--role);background:color-mix(in srgb, var(--role) 18%, transparent);color:var(--ink)}.role-chip:disabled{cursor:default}.role-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.fingerprint{font-size:var(--text-xs);letter-spacing:.05em;color:var(--muted);overflow-wrap:anywhere}.access-table{overflow-x:auto}.access-table table{border-collapse:collapse;font-size:var(--text-s)}.access-table th,.access-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 8px}.group-panel-footer{padding-top:var(--space-3);border-top:1px solid var(--line);margin-top:auto}@media (width<=900px){.group-panel{padding-bottom:88px}}.chip--on{background:var(--primary-soft);outline:1px solid var(--primary)}.identity-gate{text-align:left}.identity-icon{color:var(--primary);font-size:32px}.call{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--ink);flex-direction:column;display:flex}.call-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:50vh;display:grid;overflow:auto}.call-tile{aspect-ratio:16/10;border-radius:var(--radius-m);background:#ffffff12;place-items:center;display:grid;position:relative;overflow:hidden}.call-tile video{object-fit:cover;width:100%;height:100%}.call-tile video.hidden{opacity:0;width:1px;height:1px;position:absolute}.call-tile .avatar{width:56px;height:56px;font-size:var(--text-l);box-shadow:none}.call-name{border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);background:#0008;padding:1px 8px;position:absolute;bottom:6px;left:8px}.call-controls{justify-content:center;gap:var(--space-2);display:flex}.incoming-call{z-index:var(--z-dialog);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-l);background:var(--ink);color:#fff;box-shadow:var(--shadow-pop);animation:.16s ease-out dialog-in;display:flex;position:fixed;top:20px;right:20px}.incoming-call-icon{color:var(--good);animation:1s ease-in-out infinite ring}@keyframes ring{50%{transform:rotate(-15deg)}}@media (width<=900px){.conversations{flex-basis:240px}.group-panel{z-index:20;width:min(380px,100vw);box-shadow:var(--shadow-pop);position:fixed;inset:0 0 0 auto}}@media (width<=640px){.conversations{border-right:0;flex:1}.messaging:has(.chat) .conversations{display:none}.messaging:not(:has(.chat)) .messaging-main{display:none}.chat-back{display:inline-flex}.chat-header{gap:6px;padding:8px 10px}.chat-header>div{flex:1;min-width:0}.chat-header h2,.chat-header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-header .spacer,.chat-header .btn-label{display:none}.messages{padding:var(--space-3)}.message{max-width:92%}.composer{padding:var(--space-2) var(--space-3) var(--space-3) 84px}.group-panel .share-invite{flex-wrap:wrap}.group-panel .share-invite .input:first-child{flex:100%}}.floating-call{z-index:var(--z-popover);gap:var(--space-2);width:280px;padding:var(--space-2);border-radius:var(--radius-l);background:var(--ink);color:#fff;box-shadow:var(--shadow-pop);flex-direction:column;animation:.16s ease-out dialog-in;display:flex;position:fixed}.floating-call header{align-items:center;gap:var(--space-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:2px 4px;display:flex}.floating-call header:active{cursor:grabbing}.floating-call header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-s);flex:1;overflow:hidden}.floating-call header .btn{color:#c5ccd8}.floating-call-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.floating-call .call-tile .avatar{width:36px;height:36px;font-size:var(--text-xs)}.floating-call .call-name{font-size:10px}.floating-call .call-controls .btn{padding:6px 10px}.incoming-call-text{flex-direction:column;min-width:0;display:flex}.incoming-call-text small{color:#c5ccd8;font-size:var(--text-xs)}.incoming-accept{background:var(--good);border-color:var(--good);color:#fff}@media (width<=640px){.incoming-call{flex-wrap:wrap;top:12px;left:12px;right:12px}.floating-call{width:220px}}.share-card{align-items:center;gap:var(--space-3);border-radius:var(--radius-m);min-width:220px;max-width:320px;color:inherit;text-align:left;background:#0000000f;padding:10px 12px;display:flex}.message--mine .share-card{background:#ffffff1f}.share-card:hover{outline:1px solid}.share-card span{flex-direction:column;min-width:0;display:flex}.share-card small{font-size:var(--text-xs);opacity:.7}.share-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-card-icon{color:var(--warn);font-size:26px}
