@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}: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 Variable", 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}.row-between{justify-content:space-between;align-items:center;gap:var(--gap,var(--space-3));flex-wrap:wrap;display:flex}.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}.link-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{color:var(--primary);text-decoration:underline}.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%)}}}.popover.context-menu{z-index:var(--z-dialog);min-width:220px;position:fixed;bottom:auto;right:auto}.context-menu kbd{color:var(--muted);font-size:var(--text-xs);margin-left:auto;font-family:inherit}.context-menu:focus{outline:none}.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}}.sidebar-search{border-radius:var(--radius-s);color:#c5ccd8;font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;align-items:center;gap:10px;padding:9px 12px;display:flex}.sidebar-search:hover{color:#fff}.sidebar-search kbd{font-size:var(--text-xs);border:1px solid #ffffff2e;border-radius:4px;margin-left:auto;padding:0 6px}.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}}.auth-consent{font-size:var(--text-s);color:var(--muted);align-items:flex-start}.auth-consent input{margin-top:3px}.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 .online-dot{border-color:var(--ink)}.status-select{border-radius:var(--radius-s);color:#8b95a7;max-width:100%;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-left:-2px;padding:0 2px}.status-select:hover,.status-select:focus-visible{color:#fff}.status-select option{color:initial}.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}}.devices{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.devices li{align-items:center;gap:var(--space-3);display:flex}.device-name{flex-direction:column;flex:1;min-width:0;display:flex}.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(3,minmax(0,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<=900px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.tile-grid{grid-template-columns:1fr}.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)}}.archived-banner{align-items:center;gap:var(--space-3);margin:0 var(--space-5) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:color-mix(in srgb, var(--warn) 14%, var(--panel));font-size:var(--text-s);flex-wrap:wrap;display:flex}.archives-modal{width:min(640px,100%);max-height:min(86vh,800px)}.archives-header{padding:var(--space-5) var(--space-5) var(--space-3)}.archives-header h2{align-items:center;gap:var(--space-2);font-size:var(--text-xl);display:flex}.archives-body{gap:var(--space-5);padding:0 var(--space-5) var(--space-5);flex-direction:column;display:flex;overflow:auto}.archives-body h3{margin-bottom:var(--space-2);font-size:var(--text-l)}.archive-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.archive-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);display:flex}.archive-list li:last-child{border-bottom:0}.archive-name{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.archive-name strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.archive-name small{font-size:var(--text-xs);color:var(--muted)}.archive-open:hover strong{color:var(--primary);text-decoration:underline}.task-comment{gap:var(--space-2);display:flex}.task-comment header{font-size:var(--text-s)}.task-comment p{white-space:pre-wrap;overflow-wrap:anywhere}.mention{border-radius:var(--radius-s);background:var(--primary-soft);color:var(--primary);padding:0 2px;font-weight:600}.task-comments .popover{top:100%;bottom:auto}.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{-webkit-user-select:none;user-select:none;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{z-index:1;align-items:center;gap:var(--space-3);height:52px;font-size:var(--text-s);display:flex;position:fixed;bottom:20px;left:88px}.drive-usage .meter{background:var(--sunken);flex:none;width:120px}.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}.code-view{border-radius:var(--radius-s);background:var(--paper);width:100%;max-height:72vh;font-size:var(--text-s);align-items:flex-start;line-height:1.55;display:flex;overflow:auto}.code-view pre{padding:var(--space-4) 0;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:inherit;white-space:pre;margin:0}.code-gutter{z-index:1;border-right:1px solid var(--line);background:var(--paper);min-height:100%;color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;flex:none;position:sticky;left:0;padding-inline:var(--space-3) var(--space-2)!important}.code-lines{flex:1;padding-inline:var(--space-3) var(--space-4)!important}.code-lines .hljs{color:var(--ink);background:0 0}.hljs-comment,.hljs-quote{color:#6a737d;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-meta .hljs-keyword{color:#c31}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-meta .hljs-string{color:#0a7b55}.hljs-number,.hljs-symbol,.hljs-bullet{color:#a05a00}.hljs-title,.hljs-title.function_,.hljs-section{color:#6f42c1}.hljs-title.class_,.hljs-type,.hljs-built_in{color:#07b}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-property{color:#005cc5}.hljs-name,.hljs-tag,.hljs-selector-id,.hljs-selector-class{color:#22863a}.hljs-meta{color:#8a63d2}.hljs-deletion{color:#b31d28}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}@media (width<=720px){.drive{padding:var(--space-4) var(--space-3) 96px}.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)}.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)}.drive-doc-icon{color:#8a63d2}.drive-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.view-switch button{padding:6px 10px}.drive-new{gap:var(--space-2)}.drive-new-caret{opacity:.7;font-size:11px}.drive-col-more{text-align:right;width:44px}.drive-more{opacity:0;transition:opacity .15s}tr:hover .drive-more,.drive-tile:hover .drive-more,.selected .drive-more,.drive-more:focus-visible{opacity:1}@media (hover:none){.drive-more{opacity:1}}.drive-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.drive-tile{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);text-align:center;cursor:default;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative}.drive-tile:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}.drive-tile.selected{border-color:var(--primary);background:var(--primary-soft)}.drive-tile .drive-more{position:absolute;top:4px;right:4px}.drive-tile-icon{font-size:40px}.drive-tile-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-weight:600;overflow:hidden}.drive-tile small{font-size:var(--text-xs);align-items:center;gap:4px;display:flex}.drive-table tr.drop-target,.drive-table tr.drop-target:hover{background:color-mix(in srgb, var(--warn) 18%, var(--panel));box-shadow:inset 3px 0 0 var(--warn)}.drive-tile.drop-target{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--panel));transform:scale(1.03)}.drive-tile{transition:transform .12s,border-color .12s}.breadcrumb button.drop-target{background:color-mix(in srgb, var(--warn) 18%, var(--panel));outline:2px dashed var(--warn)}.share-inherited{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.share-inherited svg{color:var(--warn)}.share-inherited .link-button{color:var(--primary)}@media (width<=720px){.drive-usage .meter{width:64px}.drive-usage{font-size:var(--text-xs)}}.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>div{min-width:0}.chat-header h2{font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-6) var(--space-5) var(--space-4);flex-direction:column;flex:1;gap:2px;margin:0;list-style:none;display:flex;overflow:hidden auto}.messages>.empty{text-align:center;align-self:center}.messages-more{margin-bottom:var(--space-3);align-self:center}.message{align-self:flex-start;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{z-index:2;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--panel);box-shadow:var(--shadow-pop);padding:2px;display:none;position:absolute;top:-24px;left:38px;right:auto}.message--mine .message-actions{left:auto;right:0}.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}.access-col{align-items:center;gap:6px;max-width:160px;display:flex}.access-col>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.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--screen video{object-fit:contain;background:#000}.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}.call--expanded{z-index:var(--z-dialog);padding:var(--space-4);position:fixed;inset:0}.call--expanded .call-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-content:center;min-height:0;max-height:none}.call--expanded .call-tile{cursor:zoom-in}.call--expanded .call-tile video{object-fit:contain}.call--expanded .call-tile--focus{cursor:zoom-out}.call-stage{flex:1;grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.call-stage .call-tile{aspect-ratio:auto;height:100%;min-height:0}.call-stage .call-tile video{object-fit:contain;position:absolute;inset:0}.call-strip{gap:var(--space-2);display:flex;overflow-x:auto}.call-strip .call-tile{flex:0 0 160px}.call-strip .call-tile .avatar{width:36px;height:36px;font-size:var(--text-xs)}.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}.conversation-search{align-items:center;gap:var(--space-2);margin:0 var(--space-3) var(--space-2);border-radius:var(--radius-m);background:var(--paper);padding:7px 10px;display:flex}.conversation-search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.conversations-empty{align-items:flex-start;gap:var(--space-3);padding:0 var(--space-4);color:var(--muted);flex-direction:column;display:flex}.conversation-meta{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.conversation-meta time{font-size:var(--text-xs);color:var(--muted)}.conversation.unread strong{font-weight:800}.conversation.unread .conversation-meta time{color:var(--primary);font-weight:600}.messaging-welcome{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.messaging-welcome h2{font-size:var(--text-2xl);max-width:22ch}.messaging-welcome p{max-width:46ch}.messaging-welcome-icon{color:var(--primary);font-size:40px}.chat-main{position:relative}.chat-main.dropping:after{content:"Déposez pour joindre au message";z-index:6;border:3px dashed var(--primary);border-radius:var(--radius-l);background:color-mix(in srgb, var(--primary-soft) 85%, transparent);color:var(--primary);pointer-events:none;place-items:center;font-weight:700;display:grid;position:absolute;inset:8px}.day-separator{align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);color:var(--muted);display:flex}.day-separator:before,.day-separator:after{content:"";background:var(--line);flex:1;height:1px}.day-separator span:first-letter{text-transform:uppercase}.new-messages{z-index:5;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);background:var(--primary);color:#fff;font-size:var(--text-s);box-shadow:var(--shadow-pop);padding:6px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.message-body{flex-direction:column;gap:4px;min-width:0;display:flex}.message--mine .message-body{align-items:flex-end}.message-pinned{font-size:var(--text-xs);color:var(--warn);font-weight:600}.message-quote{border-left:3px solid var(--primary);border-radius:var(--radius-s);max-width:100%;color:inherit;text-align:left;font-size:var(--text-s);background:#0000000d;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.message--mine .message-quote{border-color:var(--warn);background:#ffffff1a}.message-quote span{text-overflow:ellipsis;white-space:nowrap;opacity:.8;overflow:hidden}.message-reactions{flex-wrap:wrap;gap:4px;display:flex}.reaction{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--panel);font-size:var(--text-xs);align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.reaction:hover{border-color:var(--muted)}.reaction.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.message-seen{color:var(--muted);font-size:11px}.message-actions.open{display:flex}.reaction-picker{z-index:calc(var(--z-popover) + 1);border:1px solid var(--line);border-radius:var(--radius-full);background:var(--panel);box-shadow:var(--shadow-pop);gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.reaction-picker button{width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.reaction-picker button:hover{background:var(--sunken);color:var(--primary);transform:scale(1.15)}.message.flash .message-bubble{box-shadow:0 0 0 3px var(--warn);transition:box-shadow .3s}.composer-reply{align-items:center;gap:var(--space-2);border-left:3px solid var(--primary);border-radius:var(--radius-s);background:var(--paper);font-size:var(--text-s);padding:6px 10px;display:flex}.composer-reply span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pinned-panel{width:340px;max-height:60vh;overflow:auto}.pinned-panel ul{margin:0;padding:0;list-style:none}.pinned-panel li button{border-radius:var(--radius-s);text-align:left;width:100%;font-size:var(--text-s);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.pinned-panel li button:hover{background:var(--sunken)}.pinned-panel li span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.pinned-empty{padding:4px 10px 8px}.online-avatar{flex:none;display:inline-flex;position:relative}.online-dot{border:2px solid var(--panel);background:var(--good);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.online-dot--away{background:var(--warn)}.online-dot--dnd{background:var(--bad)}.online-dot--invisible{background:var(--panel);box-shadow:inset 0 0 0 2px var(--muted)}.presence-on{color:var(--good);font-weight:600}.push-prompt{align-items:center;gap:var(--space-2);margin:0 var(--space-3) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:var(--primary-soft);font-size:var(--text-s);display:flex}.push-prompt span{flex:1}.search-panel{width:360px;max-height:70vh;overflow:auto}.search-field{align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-m);padding:4px 6px 4px 10px;display:flex}.search-field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:6px 0}.search-panel ul{margin:0;padding:0;list-style:none}.search-panel li button{border-radius:var(--radius-s);text-align:left;width:100%;font-size:var(--text-s);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.search-panel li button:hover{background:var(--sunken)}.search-panel li strong time{color:var(--muted);font-weight:400;font-size:var(--text-xs);margin-left:6px}.search-panel li span{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=640px){.pinned-panel{width:auto}.chat-header .popover-anchor:has(.search-panel) .popover{width:auto}}.resume-call{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--ink);color:#fff;font-size:var(--text-s);flex-wrap:wrap;display:flex}.resume-call svg{color:var(--good)}.resume-call span{flex:1}.resume-call .btn--ghost{color:#c5ccd8}.message-toasts{z-index:var(--z-popover);gap:var(--space-2);flex-direction:column;width:min(340px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.message-toast{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--panel);box-shadow:var(--shadow-pop);align-items:center;gap:4px;padding:4px;animation:.18s ease-out dialog-in;display:flex}.message-toast-body{align-items:center;gap:var(--space-3);border-radius:var(--radius-m);text-align:left;flex:1;min-width:0;padding:6px 8px;display:flex}.message-toast-body:hover{background:var(--paper)}.message-toast-body span{flex-direction:column;min-width:0;display:flex}.message-toast-body strong,.message-toast-body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-toast-body small{font-size:var(--text-xs);color:var(--muted)}.meeting-lobby{min-height:100vh;padding:var(--space-5) var(--space-4);place-items:center;display:grid}.meeting-card{width:min(440px,100%)}.meeting-card h1{font-size:var(--text-2xl)}.meeting-card .brand,.meeting-header .brand{align-items:center;gap:var(--space-2);font-weight:700;display:inline-flex}.meeting-room{gap:var(--space-4);min-height:100vh;padding:var(--space-4);background:var(--ink);color:#fff;flex-direction:column;display:flex}.meeting-header{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.meeting-header .muted{color:#c5ccd8}.meeting-grid{flex:1}.ephemeral-select{align-items:center;gap:var(--space-1);color:var(--muted);font-size:var(--text-s);display:inline-flex}.ephemeral-select.is-on{color:var(--warn)}.legal-page{gap:var(--space-5);flex-direction:column;width:100%;max-width:760px;margin:0 auto;display:flex}.legal-nav{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.legal-nav a:not(.btn){color:var(--muted)}.legal-nav a.active{color:var(--primary);font-weight:600}.legal-content{gap:var(--space-3);flex-direction:column;line-height:1.6;display:flex}.legal-content h1{font-size:var(--text-2xl)}.legal-content h2{font-size:var(--text-l);margin-top:var(--space-4)}.legal-content ul{padding-left:var(--space-5)}.table-scroll{overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:var(--text-s)}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:var(--space-2);border-bottom:1px solid var(--line)}.legal-links{justify-content:center;gap:var(--space-3);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.legal-links a{color:var(--muted)}.security-events{gap:var(--space-2);max-height:280px;font-size:var(--text-s);flex-direction:column;display:flex;overflow:auto}.security-events li{justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);display:flex}.plan-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.plan-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--panel);flex-direction:column;display:flex}.plan-card--highlight{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.plan-card--current:before{content:"Offre actuelle";border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);font-size:var(--text-xs);align-self:flex-start;padding:1px 8px;font-weight:600}.plan-card h3{font-size:var(--text-xl)}.plan-price strong{font-size:var(--text-2xl)}.plan-features{gap:var(--space-2);font-size:var(--text-s);flex-direction:column;flex:1;padding:0;list-style:none;display:flex}.plan-features svg{color:var(--good)}.meter-row{gap:var(--space-2);font-size:var(--text-s);color:var(--muted);flex-direction:column;display:flex}.org-link{overflow-wrap:anywhere}.org-members,.org-invoices{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.org-members li{align-items:center;gap:var(--space-3);display:flex}.org-member-name{flex-direction:column;flex:1;min-width:0;display:flex}.org-member-name .muted{font-size:var(--text-s);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.org-invoices li{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-column{max-width:960px}.admin-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.admin-stats .panel{gap:var(--space-1);flex-direction:column;display:flex}.admin-stats strong{font-size:var(--text-2xl)}.admin-stats span{color:var(--muted);font-size:var(--text-s)}.invoice-page{gap:var(--space-5);flex-direction:column;display:flex}.invoice{gap:var(--space-5);width:100%;max-width:800px;padding:var(--space-6);color:#1c2433;border-radius:var(--radius-l);background:#fff;flex-direction:column;margin:0 auto;line-height:1.5;display:flex}.invoice-header{justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;display:flex}.invoice-meta{text-align:right}.invoice-meta h1{font-size:var(--text-xl)}.invoice-lines{border-collapse:collapse;width:100%;font-size:var(--text-s)}.invoice-lines th,.invoice-lines td{padding:var(--space-2);text-align:left;border-bottom:1px solid #d9dee6}.invoice-lines td:last-child,.invoice-lines th:last-child{text-align:right}.invoice-lines tfoot td{border-bottom:none;font-weight:700}.invoice-notes{font-size:var(--text-xs);color:#586274}@media print{.sidebar,.fab,.no-print{display:none!important}.invoice-page,.invoice{padding:0}}.landing{--landing-width:1120px;--gutter:max(var(--space-4), calc((100% - var(--landing-width)) / 2 + var(--space-4)));background:var(--paper);min-height:100vh;overflow-x:clip}.landing-nav{z-index:var(--z-sidebar);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--gutter);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.landing .brand{align-items:center;gap:var(--space-2);font-weight:800;font-size:var(--text-l);color:var(--ink);text-decoration:none;display:inline-flex}.landing-hero,.landing-section{max-width:var(--landing-width);padding:var(--space-7) var(--space-4);margin:0 auto;position:relative}.landing-hero{padding-top:112px;padding-bottom:96px}.landing-hero--small{padding-top:72px;padding-bottom:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.hero-content{gap:var(--space-5);flex-direction:column;display:flex;position:relative}.landing-hero h1{max-width:16ch;font-size:clamp(40px,6vw,72px);line-height:1}.hero-orb{aspect-ratio:1;background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--warn) 55%, transparent), transparent 60%), radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--primary) 50%, transparent), transparent 62%);filter:blur(40px);opacity:.55;pointer-events:none;border-radius:50%;width:min(520px,70vw);position:absolute;top:20px;right:-80px}.landing-lead{max-width:60ch;font-size:var(--text-l);color:var(--muted)}.landing-cta{font-size:var(--text-m);padding:12px 20px}.landing-section{gap:var(--space-5);flex-direction:column;display:flex}.landing-section h2{font-size:clamp(28px,4vw,44px)}.app-list{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app-item{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--panel);flex-direction:column;transition:border-color .2s;display:flex}.app-item:hover{border-color:color-mix(in srgb, var(--app) 45%, var(--line))}.app-item h3{align-items:center;gap:var(--space-2);font-size:var(--text-l);display:flex}.app-item h3 svg{color:var(--app)}.app-item p{color:var(--muted)}.app-item small{padding-top:var(--space-2);color:var(--muted);font-size:var(--text-xs);margin-top:auto}.landing-trust{justify-content:center;gap:var(--space-5);color:var(--muted);flex-wrap:wrap;padding:0;font-weight:600;list-style:none;display:flex}.landing-trust svg{color:var(--good)}.plan-compare{border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-l);width:100%;font-size:var(--text-s);overflow:hidden}.plan-compare th,.plan-compare td{padding:var(--space-3);border-bottom:1px solid var(--line);text-align:center}.plan-compare th:first-child,.plan-compare td:first-child{text-align:left}.plan-compare thead th{background:var(--sunken);font-size:var(--text-m)}.plan-compare tr:last-child td{border-bottom:none}.plan-compare .yes{color:var(--good)}.plan-compare .no{color:var(--line)}.faq-search{align-items:center;gap:var(--space-2);max-width:520px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);color:var(--muted);display:flex}.faq-search .input{font-size:var(--text-m);flex:1}.faq-layout{gap:var(--space-6);max-width:var(--landing-width);padding:0 var(--space-4) var(--space-7);grid-template-columns:200px minmax(0,1fr);margin:0 auto;display:grid}.faq-toc{align-self:start;gap:var(--space-2);flex-direction:column;display:flex;position:sticky;top:88px}.faq-toc .link-button{text-align:left;color:var(--muted)}.faq-sections{gap:var(--space-6);flex-direction:column;display:flex}.landing-faq{gap:var(--space-2);flex-direction:column;max-width:760px;scroll-margin-top:88px;display:flex}.landing-faq h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}.landing-faq details{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel)}.landing-faq summary{cursor:pointer;font-weight:600}.landing-faq p{margin-top:var(--space-2);color:var(--muted);line-height:1.6}.landing-footer{margin-top:var(--space-7);padding:var(--space-7) var(--gutter) var(--space-5);background:var(--ink);color:#c5ccd8;font-size:var(--text-s)}.landing-footer .brand{color:#fff}.landing-footer .brand-mark i:nth-child(2){background:#fff}.footer-grid{gap:var(--space-5);grid-template-columns:2fr repeat(4,1fr);display:grid}.footer-grid h3{margin-bottom:var(--space-3);color:#fff;font-size:var(--text-s);text-transform:uppercase;letter-spacing:.06em}.footer-grid nav,.footer-grid>div{gap:var(--space-2);flex-direction:column;display:flex}.footer-grid a{color:#c5ccd8;overflow-wrap:anywhere;text-decoration:none}.footer-grid a:hover{color:#fff}.footer-brand p{max-width:32ch}.footer-badges{gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.footer-badges svg{color:var(--good);margin-right:6px}.footer-bottom{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid #ffffff1f;flex-wrap:wrap;display:flex}.auth-back{color:#c5ccd8;font-size:var(--text-s);align-self:flex-start;margin-bottom:auto}@media (width<=900px){.app-list{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.faq-layout{grid-template-columns:1fr}.faq-toc{gap:var(--space-3);flex-flow:wrap;position:static}}@media (width<=800px){.landing-nav .btn--ghost:not(.nav-keep){display:none}.landing-hero{padding-top:var(--space-6)}.app-list{grid-template-columns:1fr}}.portal{gap:var(--space-5);max-width:860px;padding:var(--space-6) var(--space-4) 96px;flex-direction:column;margin:0 auto;display:flex}.portal-header{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.portal-header .brand{align-items:center;gap:var(--space-2);font-weight:700;display:inline-flex}.portal h1{font-size:var(--text-3xl)}.portal-tasks{flex-direction:column;padding:0;list-style:none;display:flex}.portal-tasks li{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.portal-tasks li:last-child{border-bottom:none}.portal-thread{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.portal-thread li{gap:var(--space-1);max-width:85%;padding:var(--space-3);border-radius:var(--radius-m);background:var(--sunken);flex-direction:column;display:flex}.portal-thread li.from-team{background:var(--primary-soft);align-self:flex-end}.portal-thread li p{white-space:pre-wrap;overflow-wrap:anywhere}.portal-thread .chip{align-self:flex-start}.portal-footer{text-align:center;font-size:var(--text-s)}@media (width<=600px){.portal-tasks li{grid-template-columns:minmax(0,1fr) auto}.portal-tasks li>.muted{font-size:var(--text-xs);grid-area:2/1}}.agenda-page{gap:var(--space-4);flex-direction:column;display:flex}.agenda-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.agenda-title{font-size:var(--text-xl)}.agenda-view{flex-direction:column;min-width:0;min-height:0;display:flex}.agenda-title:first-letter,.agenda-list h3:first-letter,.week-day-label:first-letter{text-transform:uppercase}.event-chip{border-radius:var(--radius-s);background:color-mix(in srgb, var(--event,var(--primary)) 16%, var(--panel));border-left:3px solid var(--event,var(--primary));width:100%;min-width:0;color:var(--ink);font-size:var(--text-xs);text-align:left;cursor:pointer;align-items:center;gap:4px;padding:2px 6px;display:flex}.event-chip:hover{background:color-mix(in srgb, var(--event,var(--primary)) 26%, var(--panel))}.event-chip--deadline{background:var(--sunken);border-left-style:dashed}.event-time{white-space:nowrap;font-weight:700}.event-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.month{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.month-weekday{padding:var(--space-2);background:var(--panel);color:var(--muted);font-size:var(--text-xs);text-align:center;text-transform:uppercase;font-weight:600}.month-day{min-height:112px;padding:var(--space-1);background:var(--panel);cursor:pointer;flex-direction:column;gap:2px;display:flex}.month-day.is-other{background:var(--paper)}.month-day.is-other .month-date{color:var(--muted)}.month-date{border-radius:var(--radius-full);min-width:24px;font-size:var(--text-s);text-align:center;align-self:flex-end;padding:1px 6px}.month-day.is-today .month-date{background:var(--primary);color:#fff;font-weight:700}.month-more{font-size:var(--text-xs);color:var(--muted);padding-left:6px}.week{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-head,.week-body{grid-template-columns:48px repeat(7,minmax(0,1fr));display:grid}.week-head{border-bottom:1px solid var(--line)}.week-day-label{padding:var(--space-2) var(--space-1);border-left:1px solid var(--line);font-size:var(--text-s);flex-direction:column;gap:2px;font-weight:600;display:flex}.week-day-label.is-today{color:var(--primary)}.week-allday{flex-direction:column;gap:2px;min-height:8px;display:flex}.week-body{max-height:62vh;position:relative;overflow-y:auto}.week-hours span{padding-right:var(--space-1);color:var(--muted);font-size:var(--text-xs);text-align:right;display:block;transform:translateY(-7px)}.week-column{border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px, transparent 1px);cursor:pointer;background-size:100% 48px;position:relative}.week-event{display:flex;position:absolute;left:2px;right:2px}.week-event .event-chip{align-items:flex-start;height:100%}.agenda-list{gap:var(--space-4);flex-direction:column;max-width:760px;display:flex}.agenda-list h3{font-size:var(--text-m);margin-bottom:var(--space-2)}.agenda-row{align-items:center;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--text-s);grid-template-columns:110px minmax(0,1fr) minmax(0,200px);display:grid}.agenda-row .event-chip{font-size:var(--text-s)}.event-modal{width:min(560px,100%)}.event-title{font-size:var(--text-xl);border-bottom:3px solid var(--event,var(--primary));font-weight:700}.event-form{border:0;min-width:0;margin:0;padding:0}@media (width<=720px){.agenda-toolbar{gap:var(--space-2)}.agenda-toolbar>.cluster:first-child{flex:100%}.agenda-toolbar>.cluster:last-child{flex:100%;justify-content:space-between}.agenda-toolbar .btn-label{display:none}.agenda-title{font-size:var(--text-l)}.agenda-view--week{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);overflow-x:auto}.agenda-view--week .week{min-width:640px}.month-day{min-height:64px}.month-day .event-chip .event-time,.month-day .event-chip svg{display:none}.week-head,.week-body{grid-template-columns:32px repeat(7,minmax(0,1fr))}.agenda-row{grid-template-columns:80px minmax(0,1fr)}.agenda-row>:last-child{display:none}}.time-page{gap:var(--space-4);flex-direction:column;display:flex}.time-total{font-size:var(--text-xl)}.time-form{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.time-form>.input,.time-form>.field{flex:140px}.time-entries{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.time-page .panel.stack{gap:var(--space-2)}.time-page .panel h2{margin-bottom:0}.time-entries li{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-s);grid-template-columns:120px minmax(0,1fr) auto 32px;display:grid}.time-entries li:last-child{border-bottom:none}.time-bar{gap:var(--space-1);font-size:var(--text-s);flex-direction:column;display:flex}.timer-indicator{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:color-mix(in srgb, var(--bad) 12%, var(--panel));display:flex}.timer-indicator a{min-width:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.timer-indicator strong{font-variant-numeric:tabular-nums}.timer-indicator span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--muted);overflow:hidden}@media (width<=720px){.time-entries li{gap:2px var(--space-2);grid-template-columns:minmax(0,1fr) auto 32px}.time-entries li>:first-child{font-size:var(--text-xs);grid-column:1/-1}.time-form>select.input{flex-basis:100%}.time-page .agenda-toolbar{flex-wrap:nowrap}.time-page .agenda-title{font-size:var(--text-m)}.time-total{font-size:var(--text-l);white-space:nowrap}.time-page .panel{padding:var(--space-4)}}.wiki{flex:1;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.wiki-side{gap:var(--space-3);padding:var(--space-4);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow-y:auto}.wiki-main{padding:var(--space-6) var(--space-5) 96px;overflow-y:auto}.wiki-page{gap:var(--space-3);flex-direction:column;max-width:820px;margin:0 auto;display:flex}.wiki-path{gap:var(--space-1);min-height:1em;font-size:var(--text-s);flex-wrap:wrap;display:flex}.wiki-title{font-family:inherit;font-size:var(--text-2xl);flex:1;font-weight:800}.page-tree,.page-tree ul{flex-direction:column;padding:0;list-style:none;display:flex}.tree-row{padding-left:calc(var(--depth,0) * 14px);border-radius:var(--radius-s);align-items:center;gap:2px;display:flex}.tree-row:hover,.tree-row.is-selected{background:var(--sunken)}.tree-row.is-selected .tree-label{font-weight:700}.tree-toggle,.tree-add{width:22px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;font-size:11px}.tree-add{opacity:0}.tree-row:hover .tree-add,.tree-add:focus-visible{opacity:1}.tree-label{min-width:0;color:var(--ink);font:inherit;font-size:var(--text-s);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:4px;overflow:hidden}.tree-label svg{color:var(--muted)}.template-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.template-card{align-items:center;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);font:inherit;cursor:pointer;flex-direction:column;display:flex}.template-card:hover{border-color:var(--primary)}.template-card svg{color:var(--warn);font-size:22px}.page-editor{gap:var(--space-2);flex-direction:column;display:flex}.editor-toolbar{top:calc(-1 * var(--space-6));z-index:2;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--panel);flex-wrap:wrap;gap:2px;display:flex;position:sticky}.editor-toolbar .is-active{background:var(--primary-soft);color:var(--primary)}.editor-toolbar .is-small svg{font-size:11px}.page-editors{gap:var(--space-1);flex-wrap:wrap;display:flex}.page-content .ProseMirror{min-height:50vh;line-height:1.65;font-size:var(--text-m);outline:none}.page-content.is-loading{opacity:.5}.page-content .ProseMirror>*+*{margin-top:.7em}.page-content h1{font-size:var(--text-2xl)}.page-content h2{font-size:var(--text-xl);margin-top:1.4em}.page-content h3{font-size:var(--text-l)}.page-content ul,.page-content ol{padding-left:1.4em}.page-content blockquote{padding-left:var(--space-3);border-left:3px solid var(--line);color:var(--muted)}.page-content pre{padding:var(--space-3);border-radius:var(--radius-m);background:var(--ink);color:#e6e9ef;font-family:ui-monospace,monospace;font-size:var(--text-s);overflow-x:auto}.page-content code{font-family:ui-monospace,monospace}.page-content hr{border:0;border-top:1px solid var(--line)}.page-content a{color:var(--primary)}.page-content ul[data-type=taskList]{padding-left:0;list-style:none}.page-content ul[data-type=taskList] li{gap:var(--space-2);display:flex}.page-content ul[data-type=taskList] li>label{flex:none;margin-top:.25em}.page-content ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.page-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:2px solid;border-right:0;margin:0 -1px;position:relative}.collaboration-carets__label{color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:3px 3px 3px 0;padding:0 4px;font-size:11px;font-weight:600;position:absolute;top:-1.4em;left:-2px}.wiki-pages-toggle{align-self:flex-start;display:none}@media (width<=800px){.wiki{grid-template-columns:1fr;position:relative}.wiki-side{z-index:3;border-right:0;border-bottom:1px solid var(--line);background:var(--paper);max-height:70vh;box-shadow:var(--shadow-pop);display:none;position:absolute;inset:0 0 auto}.wiki.pages-open .wiki-side{display:flex}.wiki-pages-toggle{display:inline-flex}.wiki-main{padding:var(--space-3) var(--space-4) 96px}.wiki-title{font-size:var(--text-xl)}.editor-toolbar{top:calc(-1 * var(--space-3));scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.editor-toolbar .btn{flex:none}.page-content .ProseMirror{min-height:40vh}}.template-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.template-card small{text-align:center;font-size:var(--text-xs)}.search-palette{align-self:flex-start;width:min(640px,100%);margin-top:10vh}.search-field{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);color:var(--muted);display:flex}.search-field .input{font-size:var(--text-l);flex:1}.search-results{flex-direction:column;max-height:60vh;padding:0;list-style:none;display:flex;overflow-y:auto}.search-results button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.search-results button.is-active{background:var(--primary-soft)}.search-text{flex-direction:column;flex:1;min-width:0;display:flex}.search-text strong,.search-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
