html{background:var(--canvas)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background:var(--canvas);color:var(--text);font:400 15px/24px var(--font-sans);letter-spacing:-.006em;overflow-wrap:anywhere;margin:0}a{color:var(--text-secondary);text-underline-offset:3px}a:hover{color:var(--text)}:where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}:where(ul,ol){padding:0;list-style:none}[hidden]{display:none!important}.skip-link{z-index:900;background:var(--surface-raised);color:var(--text);border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}html[data-session-pending] .app__main>*,html[data-session-pending] .auth__card{visibility:hidden}.app{min-height:100dvh;display:flex}.app__nav{flex-shrink:0;height:100dvh;position:sticky;top:0}.app__nav .zy-appnav__brand{text-decoration:none}.app__account{color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.app__account:hover{background:var(--surface-hover)}.app__account span{min-width:0;font-size:13px;line-height:18px;display:grid}.app__account small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.app__main{box-sizing:border-box;flex-direction:column;flex:1;gap:28px;min-width:0;padding:20px 40px 56px;display:flex}.app__main--narrow{max-width:1040px}@media (width<=767px){.app{display:block}.app__nav{height:auto;position:fixed;top:auto}.app__main{padding:12px 20px calc(var(--tabbar-mobile,64px) + 32px + env(safe-area-inset-bottom,0px));gap:24px}.zy-appnav__item[data-mobile=hide]{display:none}}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:40px;display:flex}.topbar__end{align-items:center;gap:12px;margin-left:auto;display:flex}.company-pick{appearance:none;max-width:240px;height:32px;color:var(--text);font:600 14px/20px var(--font-sans);cursor:pointer;background-color:#0000;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:0;border-radius:8px;padding:0 30px 0 10px}.company-pick:hover{background-color:var(--surface-hover)}.company-name{font:600 14px/20px var(--font-sans)}.avatar-link{border-radius:12px;text-decoration:none;display:inline-flex}[data-theme=dark] .zy-avatar.zy-tone-neutral{--zy-tone-soft:var(--surface-raised)}.page-head{flex-direction:column;gap:6px;display:flex}.page-head--row{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.page-head__text{flex-direction:column;gap:6px;min-width:0;display:flex}.crumbs{color:var(--text-tertiary);align-items:center;gap:8px;font-size:13px;display:flex}.crumbs a{color:var(--text-tertiary)}.cols{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.cols__main{flex-direction:column;flex:999 560px;gap:28px;min-width:0;display:flex}.cols__side{flex-direction:column;flex:300px;gap:16px;min-width:0;max-width:360px;display:flex}.cols__side--wide{flex-basis:360px;max-width:420px}@media (width<=767px){.cols__side{max-width:none}}.stack{flex-direction:column;gap:14px;display:flex}.stack--tight{gap:8px}.stack--loose{gap:24px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.grow{flex:1;min-width:0}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel{--zy-r:var(--radius-xl);box-sizing:border-box;background:var(--surface);box-shadow:var(--shadow-ring);border-radius:calc(var(--zy-r) * var(--zy-k))}[data-theme=light] .panel{box-shadow:var(--shadow-ring), var(--shadow-xs)}.panel--pad{flex-direction:column;gap:12px;padding:20px;display:flex}.panel--roomy{gap:16px;padding:24px}.panel--list{overflow:hidden}.panel--sunken{background:var(--surface-sunken);box-shadow:none}.panel--accent{box-shadow:inset 0 0 0 1px var(--accent-line);background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.panel--danger{box-shadow:inset 0 0 0 1px var(--danger-line)}a.panel{color:inherit;transition:box-shadow var(--zy-dur-1) var(--zy-ease), transform var(--zy-dur-1) var(--zy-ease);text-decoration:none}@media (hover:hover) and (pointer:fine){a.panel:hover{box-shadow:var(--shadow-ring), var(--shadow-md)}}a.panel:active{transform:scale(.99)}.note{--zy-r:var(--radius-lg);border-radius:calc(var(--zy-r) * var(--zy-k));background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--line-strong);padding:14px 16px}.note--dashed{box-shadow:none;border:1px dashed var(--line-strong);background:0 0}.callout{--zy-r:var(--radius-lg);border-radius:calc(var(--zy-r) * var(--zy-k));background:var(--surface-sunken);color:var(--text-secondary);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:21px;display:flex}.callout>.zy-icon{flex:none;margin-top:1px}.callout--info{background:var(--info-soft);color:var(--info-text)}.callout--warning{background:var(--warning-soft);color:var(--warning-text)}.callout--danger{background:var(--danger-soft);color:var(--danger-text)}.divider{background:var(--line-subtle);border:0;height:1px;margin:0}.title-md{font-size:15px;font-weight:600;line-height:22px}.title-lg{letter-spacing:-.01em;font-size:18px;font-weight:600;line-height:26px}.title-xl{letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:32px}.muted{color:var(--text-secondary)}.faint{color:var(--text-tertiary)}.mono{font:500 12px/16px var(--font-mono);color:var(--text-tertiary);letter-spacing:0}.num{font-variant-numeric:tabular-nums}.amount{font:600 28px/36px var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.danger-text{color:var(--danger-text)}.ok-text{color:var(--success-text)}.st{font:500 13px/18px var(--font-sans);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.st:before{content:"";width:6px;height:6px;box-shadow:inset 0 0 0 1.5px var(--text-tertiary);flex:none}.st--done:before{background:var(--text-tertiary);box-shadow:none}.st--now{color:var(--text)}.st--now:before{background:var(--accent);box-shadow:none}.st--late{color:var(--danger-text)}.st--late:before{background:var(--danger);box-shadow:none}.mark{vertical-align:1px;background:var(--accent);width:6px;height:6px;margin-right:8px;display:inline-block}.steps{align-items:center;gap:4px;display:flex}.steps__px{box-sizing:border-box;width:12px;height:12px;box-shadow:inset 0 0 0 1px var(--line-strong)}.steps__px--done{background:var(--text-tertiary);box-shadow:none}.steps__px--now{background:var(--accent);box-shadow:none}.steps__label{color:var(--text-secondary);margin-left:8px;font-size:13px}.todo{border-top:1px solid var(--line-subtle);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:18px 20px;display:grid}.todo:first-child{border-top:0}.todo>div{min-width:0}@media (width<=767px){.todo{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}.todo>.st{grid-column:1/-1}}.rows>*+*{border-top:1px solid var(--line-subtle)}.item{flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 20px;display:flex}.item--link{color:inherit;text-decoration:none}:where(button.item){box-sizing:border-box;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0}.item--link:hover,.item--active{background:var(--surface-hover)}.item__body{flex:120px;gap:2px;min-width:0;display:grid}.item__end{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.timeline{grid-template-columns:76px minmax(0,1fr);row-gap:10px;font-size:13px;line-height:19px;display:grid}.timeline__date{font:500 12px/19px var(--font-mono);color:var(--text-tertiary)}.feed>li{border-top:1px solid var(--line-subtle);gap:4px;padding:14px 0;display:grid}.feed>li:first-child{border-top:0;padding-top:0}.feed__meta{color:var(--text-tertiary);font-size:12px}.feed__note{--zy-r:var(--radius-md);border:1px dashed var(--line-strong);border-radius:calc(var(--zy-r) * var(--zy-k));background:var(--surface-sunken);padding:12px 14px}.kv{grid-template-columns:minmax(96px,max-content) minmax(0,1fr);gap:10px 20px;font-size:14px;line-height:21px;display:grid}.kv dt{color:var(--text-tertiary)}.kv dd{overflow-wrap:anywhere;min-width:0}.empty{color:var(--text-secondary);text-align:center;padding:28px 20px;font-size:14px}.empty--left{text-align:left}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=1023px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=479px){.stat-grid{grid-template-columns:minmax(0,1fr)}}.project-card{flex-direction:column;gap:14px;padding:22px;display:flex}.project-card__foot{border-top:1px solid var(--line-subtle);justify-content:space-between;align-items:center;gap:8px;padding-top:14px;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px;line-height:20px}.table th{text-align:left;font:500 12px/16px var(--font-sans);color:var(--text-tertiary);white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 16px}.table td{border-bottom:1px solid var(--line-subtle);vertical-align:middle;padding:14px 16px}.table tr:last-child td{border-bottom:0}.table tbody tr[data-href]{cursor:pointer}.table__actions{text-align:right;white-space:nowrap}.table__actions>*+*{margin-left:4px}.table tbody tr[data-href]:hover,.table tbody tr.is-active{background:var(--surface-hover)}.table .num,.table .right{text-align:right}.table :is(th,td){overflow-wrap:break-word}.table td.mono,.table .num,.table .nowrap{white-space:nowrap}.table .person__body>*{overflow-wrap:anywhere}@media (width<=767px){.table-wrap>.table{min-width:720px}}.table--fit{table-layout:fixed}.table--fit th,.table--fit td{padding-left:8px;padding-right:8px}.table--fit :is(th,td):first-child{padding-left:0}.table--fit :is(th,td):last-child{padding-right:0}.table--fit td{padding-top:10px;padding-bottom:10px}.col-turn{width:64px}.col-days{width:44px}.clip{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.clocks>li{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;display:grid}.form{flex-direction:column;gap:20px;display:flex}.form__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form__three{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}.form__four{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;display:grid}@media (width<=767px){.form__pair,.form__three{grid-template-columns:minmax(0,1fr)}.form__four{grid-template-columns:repeat(2,minmax(0,1fr))}}.form__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.legend{font:600 17px/24px var(--font-sans);align-items:baseline;gap:10px;margin:0 0 14px;padding:0;display:flex}.legend span{font:500 12px/16px var(--font-mono);color:var(--text-tertiary)}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.zy-field__input:is(select){appearance:none;color:var(--text);background:0 0}.zy-field__control--select{position:relative}.zy-field__control--select:after{content:"";border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}.zy-field__input::placeholder{color:var(--text-tertiary)}.zy-field,.zy-field__control,.zy-field__input{min-width:0}.field-status{color:var(--text-tertiary);min-height:18px;font-size:13px}.status-line{color:var(--text-secondary);font-size:14px}.status-line:empty{display:none}.status-line--error{color:var(--danger-text)}.drop{--zy-r:var(--radius-lg);border:1px dashed var(--line-strong);border-radius:calc(var(--zy-r) * var(--zy-k));color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:16px;font-size:14px;display:flex}.drop.is-over{border-color:var(--accent);background:var(--accent-soft)}.file-chip{--zy-r:var(--radius-sm);border-radius:calc(var(--zy-r) * var(--zy-k));background:var(--surface-sunken);max-width:100%;color:var(--text);cursor:pointer;border:0;align-items:center;gap:8px;padding:6px 10px;font-size:13px;text-decoration:none;display:inline-flex}.file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip:hover{background:var(--surface-pressed)}.upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;font-size:13px;display:grid}.upload-row progress{width:100%;height:4px;accent-color:var(--accent);grid-column:1/-1}.otp{letter-spacing:.3em;font:600 22px/28px var(--font-mono);text-align:center}.qr{box-sizing:border-box;background:#fff;border-radius:12px;place-items:center;width:184px;height:184px;padding:8px;display:grid}.qr svg{width:100%;height:100%}.secret{font:500 15px/22px var(--font-mono);letter-spacing:.08em;word-break:break-all}.stage-track{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.stage-track li{border-top:2px solid var(--line);color:var(--text-secondary);gap:6px;padding-top:12px;font-size:13px;line-height:18px;display:grid}.stage-track li.is-done{border-top-color:var(--text-tertiary)}.stage-track li.is-now{border-top-color:var(--accent);color:var(--text)}.stage-track strong{color:var(--text);font-weight:600}@media (width<=767px){.stage-track{grid-template-columns:repeat(2,minmax(0,1fr))}}.tab-panels{flex-direction:column;gap:24px;display:flex}.tabs-scroll{scrollbar-width:none;overflow-x:auto}.tabs-scroll .zy-tabs{min-width:max-content}.people{gap:12px;display:grid}.person{align-items:center;gap:12px;display:flex}.person__body{min-width:0;display:grid}.av-24{--zy-av:24px}.av-32{--zy-av:32px}.av-40{--zy-av:40px}.av-48{--zy-av:48px}.req{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1023px){.req{grid-template-columns:minmax(0,1fr)}}.req__nav{max-height:calc(100dvh - 32px);position:sticky;top:16px;overflow:auto}.req__group{font:500 11px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:12px 20px 4px}.req__link{color:var(--text);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:40px minmax(0,1fr);gap:2px 8px;padding:10px 20px;text-decoration:none;display:grid}.req__link:hover,.req__link[aria-current=true]{background:var(--surface-hover)}.req__link .mono{grid-row:span 2;padding-top:2px}.req__link small{font-size:12px;line-height:16px}.req__q{border-top:1px solid var(--line-subtle);gap:14px;padding:20px 0;display:grid}.req__q:first-of-type{border-top:0;padding-top:4px}.req__qhead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.req__help{color:var(--text-secondary);font-size:14px;line-height:21px}.req__table{border-collapse:collapse;width:100%;font-size:14px}.req__table th{text-align:left;font:500 12px/16px var(--font-sans);color:var(--text-tertiary);padding:8px}.req__table td{vertical-align:top;padding:4px}.req__table textarea,.req__table input{box-sizing:border-box;background:var(--surface-sunken);width:100%;min-height:40px;color:var(--text);font:inherit;resize:vertical;border:0;border-radius:8px;padding:8px 10px}.req__comment{background:var(--surface-sunken);border-radius:12px;gap:6px;padding:14px 16px;display:grid}.req__comment--zylof{box-shadow:inset 2px 0 0 var(--accent)}.req__meta{align-items:center;gap:8px;min-width:0;display:flex}.answers{display:grid}.answers__section{border-top:1px solid var(--line-subtle);gap:14px;padding:20px 0;display:grid}.answers__section:first-child{border-top:0;padding-top:4px}.answers__q{gap:8px;display:grid}.doc{flex-direction:column;gap:18px;padding:40px 48px;font-size:15px;line-height:26px;display:flex}.doc h2{font-size:22px;line-height:30px}.doc h3{margin-top:8px;font-size:16px;line-height:24px}@media (width<=767px){.doc{padding:24px 20px}}.decision{position:sticky;top:16px}.talk{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1023px){.talk{grid-template-columns:minmax(0,1fr)}}.msg{grid-template-columns:32px minmax(0,1fr);gap:4px 12px;display:grid}.msg__head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.msg__body{white-space:pre-wrap;overflow-wrap:anywhere;grid-column:2;font-size:15px;line-height:24px}.msg__files{flex-wrap:wrap;grid-column:2;gap:6px;display:flex}.msg--system{color:var(--text-tertiary);grid-template-columns:minmax(0,1fr);font-size:13px}.unread{background:var(--accent);width:6px;height:6px;display:inline-block}.unread--inline{vertical-align:2px;margin-right:8px}.board{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.board__col{flex-direction:column;gap:10px;min-width:0;display:flex}.board__head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px;font-size:13px;font-weight:600;display:flex}.board__card{gap:6px;padding:14px;font-size:13px;line-height:19px;display:grid}.auth{box-sizing:border-box;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:24px clamp(20px,4vw,40px);display:grid}.auth__top{justify-content:space-between;align-items:center;gap:16px;display:flex}.auth__body{place-items:center;padding:40px 0;display:grid}.auth__card{flex-direction:column;gap:24px;width:min(100%,440px);display:flex}.auth__card--wide{width:min(100%,760px)}.auth__foot{color:var(--text-tertiary);flex-wrap:wrap;justify-content:center;gap:16px;font-size:13px;display:flex}.auth__foot a{color:var(--text-tertiary)}.auth--split{background:var(--canvas);padding:16px;display:flex}.auth__frame{--zy-r:var(--radius-2xl);background:var(--surface);min-width:0;box-shadow:var(--shadow-ring);flex:1;display:flex;overflow:hidden}.auth__side{box-sizing:border-box;flex-direction:column;flex:420px;justify-content:space-between;gap:48px;min-width:0;padding:36px 40px;display:flex}.auth__frame--md .auth__side{flex-basis:520px}.auth__frame--lg .auth__side{flex-basis:640px;padding:36px 48px}.auth--split .auth__body{padding:0}.auth--split .auth__card{width:min(100%,380px)}.auth__frame--md .auth__card{width:min(100%,420px)}.auth__frame--lg .auth__card{width:min(100%,600px)}.auth--split .auth__foot{justify-content:space-between}.auth__art{background:var(--ink);flex:999 560px;min-height:480px;position:relative;overflow:hidden}.auth__img{object-fit:none;object-position:40% 30%;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.auth__art[data-art=code] .auth__img{object-position:60% 70%}.auth__art[data-art=signup] .auth__img{object-position:18% 40%}.auth__art[data-art=sent] .auth__img{object-position:72% 55%}.auth__art[data-art=invite] .auth__img{object-position:50% 20%}.auth__art-card{width:min(380px,100% - 64px);position:absolute;bottom:32px;left:32px}.auth__art-card:empty,.auth__art[data-art=code] .auth__art-card,.auth__art[data-art=sent] .auth__art-card{display:none}.auth__art[data-art=signup] .auth__art-card{width:auto;bottom:28px;left:28px;right:28px}.auth__art-logo{display:none}.auth__art-logo .zy-logo{--zy-logo-ink:var(--paper);--zy-logo-cobalt:var(--paper)}.art-list{gap:8px;margin:0;padding:0;font-size:14px;line-height:22px;list-style:none;display:grid}.art-list li{align-items:flex-start;gap:10px;display:flex}.art-list li:before{content:"";background:var(--text-tertiary);flex-shrink:0;width:6px;height:6px;margin-top:8px}@media (width>=960px){.auth--split{box-sizing:border-box;height:100dvh}.auth__frame{height:100%}.auth__side{overflow-y:auto}}@media (width<=959px){.auth--split{padding:0}.auth__frame{box-shadow:none;border-radius:0;flex-direction:column}.auth__art{flex:0 0 216px;order:-1;min-height:216px}.auth__art-card{display:none}.auth__art-logo{display:block;position:absolute;top:20px;left:20px}.auth__side{flex:1 0 auto;gap:32px;padding:24px 20px 20px}.auth--split .auth__logo,.auth--split .auth__top:not(:has(>:not(.auth__logo))){display:none}}.or{color:var(--text-tertiary);align-items:center;gap:12px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.steps-list{counter-reset:step;gap:18px;display:grid}.steps-list li{grid-template-columns:32px minmax(0,1fr);gap:2px 12px;display:grid}.steps-list li>.mono{padding-top:3px}.steps-list li>p{grid-column:2}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;display:grid}@media (width<=767px){.choice-grid{grid-template-columns:minmax(0,1fr)}}.zy-dialog-layer[hidden]{display:none}.dialog-grid{gap:14px;display:grid}.zy-toaster .zy-toast{pointer-events:auto}@media (prefers-reduced-motion:reduce){a.panel,a.panel:active{transition:none;transform:none}}
