@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Inconsolata:wght@400;500&display=swap";
@font-face{font-family:MuseoModernoLocal;src:url(/Fonts/museomoderno-bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--primary:#080808;--on-primary:#fff;--ink:#080808;--ink-strong:#222;--body:#363636;--body-mid:#5a5a5a;--mute:#898989;--mute-soft:#ababab;--hairline:#d8d8d8;--canvas:#fff;--canvas-soft:#fafafa;--accent-purple:#7a3dff;--accent-pink:#ed52cb;--accent-blue:#3b89ff;--accent-blue-deep:#006acc;--accent-blue-info:#146ef5;--accent-orange:#ff6b00;--accent-green:#00d722;--accent-yellow:#ffae13;--accent-red:#ee1d36;--r-xs:2px;--r-sm:4px;--r-md:8px;--r-full:9999px;--s-xxs:2px;--s-xs:4px;--s-sm:8px;--s-md:12px;--s-lg:16px;--s-xl:20px;--s-2xl:24px;--s-3xl:32px;--shadow-2:0 84px 24px #0000, 0 54px 22px #00000003, 0 30px 18px #0000000a, 0 13px 13px #00000014, 0 3px 7px #00000017;--shadow-4:0 24px 24px #00000042, 0 6px 13px #0000004a;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Inconsolata", ui-monospace, SFMono-Regular, Menlo, monospace}.dark{--primary:#fff;--on-primary:#080808;--ink:#f4f4f4;--ink-strong:#e6e6e6;--body:#cfcfcf;--body-mid:#a5a5a5;--mute:#7e7e7e;--mute-soft:#5e5e5e;--hairline:#3a3a3d;--canvas:#1c1c1f;--canvas-soft:#27272b;--shadow-2:0 30px 18px #00000059, 0 13px 13px #00000073, 0 3px 7px #0000008c;--shadow-4:0 24px 24px #0009, 0 6px 13px #000000b3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"ss01";background:var(--canvas);color:var(--ink);letter-spacing:-.16px;-webkit-font-smoothing:antialiased;font-size:16px;line-height:25.6px}.display-xl{letter-spacing:0;font-size:56px;font-weight:600;line-height:58.24px}.display-lg{letter-spacing:0;font-size:44.8px;font-weight:600;line-height:46.6px}.display-md{font-size:32px;font-weight:500;line-height:41.6px}.display-sm{font-size:24px;font-weight:500;line-height:31.2px}.display-xs{font-size:20px;font-weight:500;line-height:28px}.eyebrow{letter-spacing:.6px;text-transform:uppercase;color:var(--mute);font-size:12px;font-weight:500;line-height:12px}.body-md{letter-spacing:-.16px;font-size:16px;font-weight:400;line-height:25.6px}.body-sm{letter-spacing:0;font-size:14px;font-weight:400;line-height:22.4px}.body-sm-strong{font-size:14px;font-weight:500;line-height:22.4px}.caption{font-size:12.8px;font-weight:550;line-height:15.36px}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:12px;line-height:18px}.t-mute{color:var(--mute)}.t-body{color:var(--body)}.t-body-mid{color:var(--body-mid)}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.app.no-sidebar{grid-template-columns:1fr}.sidebar{background:var(--canvas);border-right:1px solid var(--hairline);padding:var(--s-2xl) var(--s-lg);gap:var(--s-xs);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{padding:var(--s-sm) var(--s-sm) var(--s-2xl);font-family:"MuseoModernoLocal", "MuseoModerno", var(--font-sans);flex-direction:column;align-items:flex-start;gap:0;line-height:1;display:flex}.brand-main{letter-spacing:-1.5px;color:var(--ink);text-transform:lowercase;font-size:52px;font-weight:700}.brand-sub{font-family:var(--font-sans);letter-spacing:.3px;color:var(--mute);margin-top:4px;font-size:13px;font-weight:300}.brand-mark{border-radius:var(--r-sm);background:var(--primary);width:28px;height:28px;color:var(--on-primary);place-items:center;font-size:15px;font-weight:600;display:grid}.nav-row{align-items:center;gap:var(--s-md);padding:var(--s-md) var(--s-lg);border-radius:var(--r-sm);color:var(--mute);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-size:14px;font-weight:500;display:flex;position:relative}.nav-row:hover{background:var(--canvas-soft);border-color:var(--hairline);color:var(--ink)}.nav-row.active{background:var(--canvas-soft);color:var(--ink);border-color:var(--hairline)}.nav-row.active .nav-indicator{background:var(--primary)}.nav-row.is-disabled{color:var(--mute-soft);cursor:default}.nav-row.is-disabled:hover{color:var(--mute-soft);background:0 0;border-color:#0000}.nav-indicator{border-radius:var(--r-full);background:0 0;width:3px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-row>svg,.nav-tree-label>svg{stroke-width:1.8px;flex:0 0 18px;width:18px;height:18px}.nav-tree{margin:var(--s-xs) 0;min-width:0}.nav-tree-label{min-width:0;min-height:36px;padding:var(--s-sm) var(--s-md);letter-spacing:-.1px;color:var(--body-mid);align-items:center;gap:10px;font-size:13px;font-weight:550;display:flex}.nav-tree-label svg{color:var(--mute)}.nav-tree-label span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-tree-children{gap:var(--s-xxs);border-left:1px solid var(--hairline);flex-direction:column;min-width:0;margin-left:20px;padding-left:10px;display:flex}.nav-tree-project{margin-block:var(--s-sm) var(--s-xs)}.nav-tree-project>.nav-tree-label{color:var(--ink);font-weight:600}.nav-row.nav-sub{min-height:36px;padding:var(--s-sm) var(--s-md);text-overflow:ellipsis;white-space:nowrap;gap:10px;min-width:0;overflow:hidden}.sidebar-spacer{flex:1}.topbar{padding:var(--s-lg) var(--s-3xl);border-bottom:1px solid var(--hairline);background:var(--canvas);z-index:20;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--s-md);display:flex}.crumb{color:var(--mute);font-size:14px}.crumb b{color:var(--ink);font-weight:500}.main{flex-direction:column;min-width:0;display:flex}.view{padding:var(--s-3xl) clamp(24px, 5vw, 64px);width:100%;max-width:none;margin:0 auto}.section-gap>*+*{margin-top:var(--s-3xl)}.btn{align-items:center;gap:var(--s-sm);font-family:var(--font-sans);letter-spacing:-.16px;border-radius:var(--r-sm);padding:var(--s-md) var(--s-xl);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-size:16px;font-weight:500;line-height:25.6px;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}.btn-secondary:hover{background:var(--canvas-soft)}.btn-text{color:var(--ink);padding:var(--s-sm) 0;background:0 0}.btn-text:hover{color:var(--accent-blue-deep)}.btn-sm{padding:var(--s-sm) var(--s-md);font-size:14px;line-height:22.4px}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--mute);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-btn:hover{background:var(--canvas-soft);border-color:var(--hairline);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.icon-btn.round{border-radius:var(--r-full)}.icon-btn-spacer{visibility:hidden;pointer-events:none}.badge{border-radius:var(--r-sm);padding:var(--s-xs) var(--s-sm);align-items:center;gap:4px;font-size:12.8px;font-weight:550;line-height:15.36px;display:inline-flex}.badge-info{background:var(--accent-blue-info);color:#fff}.badge-info-soft{color:var(--accent-blue-info);border:1px solid var(--hairline);background:0 0}.badge-success{color:var(--accent-green);border:1px solid var(--hairline);background:0 0}.badge-mute{background:var(--canvas-soft);color:var(--mute);border:1px solid var(--hairline)}.input{background:var(--canvas);width:100%;color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:var(--s-md) var(--s-lg);font-family:var(--font-sans);letter-spacing:-.16px;font-size:16px}.input::placeholder{color:var(--mute-soft)}.input:focus{border-color:var(--primary);outline:none}.field{gap:var(--s-sm);flex-direction:column;display:flex}.field label{color:var(--body);font-size:14px;font-weight:500}.card{background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-3xl)}.card-elev{box-shadow:var(--shadow-2)}.divider{background:var(--hairline);border:0;height:1px}.group{margin-bottom:var(--s-3xl)}.group-head{justify-content:space-between;align-items:center;gap:var(--s-md);padding-bottom:var(--s-md);border-bottom:1px solid var(--ink);margin-bottom:var(--s-xs);display:flex}.group-title{align-items:center;gap:var(--s-sm);display:flex}.group-title>svg{width:18px;height:18px;color:var(--body-mid)}.group-title h2{line-height:1}.group-actions{opacity:0;gap:2px;transition:opacity .12s;display:flex}.group-head:hover .group-actions{opacity:1}.row-right{flex:none}.project-row:hover .row-right .icon-btn{opacity:1}.row-right .icon-btn{opacity:0;transition:opacity .12s}.project-row{gap:var(--s-lg);padding:var(--s-xl) var(--s-sm);border-bottom:1px solid var(--hairline);cursor:pointer;grid-template-columns:1fr auto;display:grid}.project-row:hover{background:var(--canvas-soft)}.group .project-row:last-child{border-bottom:0}.project-create-add{margin:var(--s-sm) 0 0 var(--s-sm)}.proj-row-main{align-items:center;gap:var(--s-md);min-width:0;display:flex}.proj-row-main>.av{flex:none}.proj-row-link{flex:1;min-width:0;display:block}.project-row .p-title{letter-spacing:-.2px;font-size:18px;font-weight:500}.project-row .p-title.value-edit{text-align:left;display:block}.project-meta{gap:var(--s-lg);margin-top:var(--s-sm);flex-wrap:wrap;display:flex}.meta-item{color:var(--body-mid);align-items:center;gap:6px;font-size:14px;display:flex}.meta-item svg{width:15px;height:15px}.pg-edit-btn{opacity:0;transition:opacity .12s}.meta-item:hover .pg-edit-btn,.pg-edit-btn:focus-visible{opacity:1}.mini-prog{margin-top:var(--s-md);gap:3px;display:flex}.mini-seg{border-radius:var(--r-full);background:var(--hairline);width:28px;height:4px}.mini-seg.done{background:var(--accent-green)}.mini-seg.current{background:var(--primary)}.timeline-card{padding-top:var(--s-2xl)}.timeline{margin-top:var(--s-md);align-items:stretch;gap:0;display:flex}.tl-step{align-items:center;gap:var(--s-sm);flex-direction:column;flex:1;display:flex;position:relative}.tl-step.task-section-drop{border-radius:var(--r-sm);outline:2px solid var(--accent-blue);outline-offset:5px;background:color-mix(in srgb, var(--accent-blue) 10%, transparent)}.tl-head{align-self:stretch;align-items:baseline;gap:8px;min-width:0;margin-bottom:6px;display:flex}.tl-num{font-family:var(--font-mono);color:var(--mute-soft);letter-spacing:.5px;flex:none;font-size:12px;font-weight:500}.tl-step.done .tl-num{color:var(--body-mid)}.tl-step.current .tl-num{color:var(--ink)}.tl-bar{background:var(--hairline);border-radius:var(--r-full);width:100%;height:6px;position:relative}.tl-bar.current{background:var(--primary)}.tl-bar.done,.tl-bar.done.current{background:var(--accent-green)}.tl-step:not(:last-child) .tl-bar:after{content:"";background:var(--canvas);width:6px;height:6px;position:absolute;top:0;right:-3px}.tl-dot{border-radius:var(--r-full);border:1px solid var(--hairline);background:var(--canvas);width:22px;height:22px;color:var(--mute);place-items:center;margin-top:-2px;display:grid}.tl-dot svg{width:13px;height:13px}.tl-step.current .tl-dot{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tl-step.done .tl-dot,.tl-step.done.current .tl-dot{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.tl-label{color:var(--mute-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.tl-label-row{align-items:center;gap:var(--s-xxs);min-width:0;display:flex}.tl-label-row .tl-label{flex:auto}.tl-rename{flex:none}input.tl-label-edit{text-align:center;width:min(140px,30vw);padding:2px var(--s-xs);margin:0;font-size:13px;font-weight:500}.tl-step.done .tl-label{color:var(--body)}.tl-step.current .tl-label{color:var(--ink);font-weight:600}.tl-current-note{margin-top:var(--s-lg);color:var(--body-mid);font-size:14px}.tl-current-note b{color:var(--ink);font-weight:500}.section-title{align-items:center;gap:var(--s-md);display:flex}.section-check{border-radius:var(--r-full);border:2px solid var(--hairline);background:var(--canvas);cursor:pointer;color:#0000;flex:none;place-items:center;width:26px;height:26px;transition:border-color .12s,background .12s;display:grid}.section-check svg{width:15px;height:15px}.section-check:hover{border-color:var(--accent-green);color:var(--accent-green)}.section-title.done .section-check{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.section-done-badge{border-radius:var(--r-sm);padding:var(--s-xs) var(--s-sm);color:var(--accent-green);border:1px solid var(--hairline);align-items:center;gap:4px;font-size:12.8px;font-weight:550;line-height:15.36px;display:none}.section-title.done .section-done-badge{display:inline-flex}.is-confirming{color:var(--accent-red);border-color:var(--accent-red)}.mmlist{flex-direction:column;display:flex}.mmlist-row{align-items:center;gap:var(--s-sm);padding:var(--s-md) 0;border-bottom:1px solid var(--hairline);display:flex}.mmlist-row:last-child{border-bottom:0}.mmlist-main{align-items:center;gap:var(--s-md);min-width:0;color:var(--ink);flex:1;display:flex}.mmlist-main:hover{color:var(--accent-blue-deep)}.mmlist-main svg{width:18px;height:18px;color:var(--mute);flex-shrink:0}.mmlist-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.goal{background:var(--canvas-soft);border-radius:var(--r-sm);padding:var(--s-lg)}.goal p{color:var(--body);max-width:60ch}.goal .goal-desc{color:var(--ink);font-size:14px;font-weight:500;line-height:22.4px}.pg-inline{flex-direction:column;display:flex}.pg-inline[data-pending=true]{opacity:.7;pointer-events:none}.pg-fields{gap:var(--s-md);flex-direction:column;display:flex}.pg-field{gap:var(--s-xs);flex-direction:column;display:flex}.pg-field .input{font-size:14px}.pg-field textarea.input{min-height:64px}.pg-person-wrap{position:relative}.pg-person{align-items:center;gap:var(--s-sm);width:100%;padding:var(--s-sm);border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;display:flex}button.pg-person:hover{background:var(--canvas-soft);border-color:var(--hairline)}.pg-person-text{flex-direction:column;gap:3px;min-width:0;line-height:1.3;display:flex}.pg-person-name{color:var(--ink);text-align:left;font-size:14px;font-weight:500;line-height:1.4}.pg-copy{align-items:center;gap:var(--s-xs);max-width:100%;color:var(--mute);text-align:left;font-size:12.8px;font-weight:400;line-height:1.5;display:inline-flex}.pg-copy svg{flex:none;width:13px;height:13px}.pg-copy .pg-copy-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pg-copy:hover{color:var(--ink)}.pg-pop{top:calc(100% + var(--s-xs));z-index:20;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 13px 13px #00000014,0 3px 7px #00000017}.pg-search{align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-md);border-bottom:1px solid var(--hairline);display:flex}.pg-search svg{width:15px;height:15px;color:var(--mute);flex-shrink:0}.pg-search-input{width:100%;color:var(--ink);background:0 0;border:none;padding:0;font-size:14px}.pg-search-input:focus{outline:none}.pg-pop-list{max-height:220px;padding:var(--s-xs);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.pg-pop-item{align-items:center;gap:var(--s-sm);width:100%;padding:var(--s-sm) var(--s-md);border-radius:var(--r-sm);color:var(--body);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;display:flex}.pg-pop-item:hover{background:var(--canvas-soft);border-color:var(--hairline)}.pg-pop-item svg{width:14px;height:14px}.pg-pop-item.is-active{background:var(--canvas-soft);border-color:var(--accent-blue-deep);color:var(--ink)}.pg-pop-item.is-danger{color:var(--accent-red)}.pg-pop-empty{padding:var(--s-md);color:var(--mute);font-size:13px}.pg-contacts{gap:var(--s-lg);flex-direction:column;display:flex}.pg-contact{gap:var(--s-xs);flex-direction:column;display:flex}.pg-contact-label{letter-spacing:.6px;text-transform:uppercase;color:var(--mute);padding-left:var(--s-sm);font-size:12px;font-weight:500}.user-contacts{flex:none}.user-row .contact-chip{align-items:center;gap:var(--s-xs);max-width:220px;padding:var(--s-xs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--mute);background:0 0;font-size:13px;line-height:1.4;display:inline-flex}.user-row .contact-chip svg{flex:none;width:14px;height:14px}.user-row .contact-chip .contact-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-row .contact-chip:hover{background:var(--canvas-soft);color:var(--ink)}.user-row .contact-chip.is-filled{color:var(--ink)}.user-row .contact-chip .contact-chip-plus{opacity:.6;width:12px;height:12px}.contact-popup-card{gap:var(--s-lg)}.project-row.user-row{cursor:default;grid-template-columns:minmax(190px,1fr) minmax(0,650px);align-items:center}.user-row-identity{align-items:center;gap:var(--s-md);min-width:0;display:flex}.user-row-name{min-width:0}.user-row-name .p-title.value-edit{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.user-row-organization{min-width:0;max-width:220px}.user-row-organization .contact-chip{white-space:nowrap;min-width:0}.user-row-details{align-items:center;gap:var(--s-xs);grid-template-columns:minmax(230px,1fr) 88px 136px;width:100%;min-width:0;display:grid}.user-row-contacts{align-items:center;gap:var(--s-xs);grid-template-columns:minmax(0,1fr) 116px;min-width:0;display:grid}.user-row-details .contact-chip{justify-content:flex-start;width:100%;min-width:0;max-width:none}.user-row-assignment{align-items:center;gap:var(--s-xs);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.user-row-assignment>.contact-chip{overflow:hidden}.user-row-assignment>.inline-edit-fields{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}.user-row-account-actions{justify-content:flex-end;align-items:center;gap:var(--s-xs);min-width:136px;display:flex}.user-row-account-actions>*{flex-shrink:0}.user-row-customer .user-row-account-actions{justify-content:flex-start}@media (max-width:1100px){.project-row.user-row{gap:var(--s-md);grid-template-columns:1fr}.user-row-details{padding-left:56px}}.status-link-row{align-items:center;gap:var(--s-sm);display:flex}.status-link-btn{flex:1;justify-content:flex-start;min-width:0;overflow:hidden}.status-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.status-link-edit-btn{flex-shrink:0}.status-link-updated{margin-top:var(--s-xs)}.task-group+.task-group{margin-top:var(--s-lg)}.dash-project{border-top:1px solid var(--hairline)}.dash-project-head{align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-sm);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex}.dash-project-head::-webkit-details-marker{display:none}.dash-project-head>svg{width:16px;height:16px;color:var(--body-mid);flex:none}.dash-project-caret{transition:transform .15s}.dash-project[open]>.dash-project-head .dash-project-caret{transform:rotate(90deg)}.dash-project-head:hover{background:var(--canvas-soft)}.dash-project-name{color:var(--ink);font-size:16px;font-weight:600}.dash-project-name:hover{color:var(--accent-blue-deep)}.dash-project>.task-group{margin-top:var(--s-md)}.dash-project>.task-group:first-of-type{margin-top:var(--s-sm)}.task-dnd-row{min-width:0;max-width:100%;position:relative;container-type:inline-size}.task-group-select-wrap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.task-group-select-wrap:focus-within{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.task-group-select-wrap>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.task-group-select{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);max-width:220px;min-height:36px;color:var(--ink);padding:0 var(--s-sm)}.task-dnd-row.dragging{opacity:.45;pointer-events:none}.task-dnd-row.drop-before,.task-dnd-row.drop-after{z-index:3}.task-dnd-row.drop-before:before,.task-dnd-row.drop-after:before{content:"";z-index:4;pointer-events:none;background:var(--accent-blue);border-radius:1px;height:2px;position:absolute;inset-inline:0}.task-dnd-row.drop-before:before,.task-dnd-row+.task-dnd-row.drop-before:before{top:-1px}.task-dnd-row.drop-after:before{bottom:-1px}.task-drag-ghost{z-index:9999;pointer-events:none;max-width:240px;padding:var(--s-xs) var(--s-sm);background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-sm);font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;will-change:transform;font-size:14px;font-weight:500;line-height:1.2;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 13px 13px #00000014,0 3px 7px #00000017}.task-drag-ghost.is-valid{border-color:var(--accent-blue)}.task-dnd-row:hover .drag-handle{opacity:1}.task-group-head{align-items:center;gap:var(--s-sm);margin-bottom:var(--s-sm);display:flex}.subgroup-block{margin:var(--s-xl) 0 var(--s-lg);padding-left:var(--s-lg);border-left:2px solid var(--hairline);position:relative}.subgroup-child{margin-left:var(--s-lg)}.subgroup-block.dragging{opacity:.45}.subgroup-block.drop-before,.subgroup-block.drop-after{z-index:3}.subgroup-block.drop-before:before,.subgroup-block.drop-after:before{content:"";z-index:4;pointer-events:none;background:var(--accent-blue);border-radius:1px;height:2px;position:absolute;left:-2px;right:0}.subgroup-block.drop-before:before{top:-1px}.subgroup-block.drop-after:before{bottom:-1px}.subgroup-block>button.subgroup-drag{z-index:2;width:32px;height:32px;min-height:0;color:var(--mute);opacity:0;cursor:grab;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:2px;left:-28px}.subgroup-block:hover .subgroup-drag,.subgroup-block:focus-within .subgroup-drag{opacity:1}.subgroup-drag:hover{color:var(--ink)}.subgroup-drag:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.subgroup-drag:active{cursor:grabbing}.subgroup-drag svg{width:16px;height:16px}.subgroup-head-actions{z-index:6;align-items:center;gap:var(--s-xs);opacity:0;pointer-events:none;margin-left:auto;transition:opacity .12s;display:inline-flex;position:relative}.subgroup-collapse-head:hover>.subgroup-head .subgroup-head-actions,.subgroup-collapse-head:focus-within>.subgroup-head .subgroup-head-actions{opacity:1;pointer-events:auto}.subgroup-add-group{height:32px;padding:var(--s-xs) var(--s-sm);gap:var(--s-xs);color:var(--body-mid);opacity:1;pointer-events:auto}.subgroup-add-group svg{width:15px;height:15px}.group-api-toggle{width:auto;min-width:52px;height:32px;min-height:0;padding:0 var(--s-sm);gap:6px;font-size:12px;line-height:1}.group-api-toggle svg{width:15px;height:15px}.group-api-toggle.is-hidden{border-color:var(--ink);background:var(--ink);color:var(--canvas)}.group-api-error{z-index:5;top:calc(100% + var(--s-xs));width:max-content;max-width:280px;padding:var(--s-xs) var(--s-sm);background:var(--canvas);border:1px solid var(--accent-red);border-radius:var(--r-sm);position:absolute;right:0}.subgroup-block.drop-into{background:color-mix(in srgb, var(--accent-blue) 8%, transparent);outline:1px solid var(--accent-blue);outline-offset:-1px;border-radius:var(--r-sm);border-left-color:#0000}.subgroup-block.drop-into:after{content:"";z-index:4;height:2px;margin-top:var(--s-xs);pointer-events:none;background:var(--accent-blue);border-radius:1px;display:block;position:relative}.subgroup-head{align-items:center;gap:var(--s-sm);margin:0 0 var(--s-xs);display:flex}.subgroup-collapse-head{align-items:flex-start;gap:var(--s-xs);display:flex}.subgroup-collapse-head>.subgroup-head{flex:1;min-width:0}.subgroup-collapse-toggle{margin:2px 0 0 calc(-1 * var(--s-sm));flex:none}.subgroup-collapse-toggle svg{transition:transform .15s ease-out}.subgroup-collapse-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.subgroup-collapse-toggle[aria-expanded=false]+.subgroup-head{margin-bottom:0}.subgroup-collapsed-count{min-width:20px;padding:1px var(--s-xs);border-radius:var(--r-full);background:var(--canvas-soft);color:var(--body-mid);text-align:center;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:18px;display:none}.subgroup-collapse-head[data-open=false] .subgroup-collapsed-count{display:inline-block}.subgroup-head .subgroup-name-value{color:var(--ink);font-size:20px;font-weight:600;line-height:28px}.subgroup-head .icon-mute-sm{width:18px;height:18px}.subgroup-name-value{cursor:default}.subgroup-name-input{max-width:240px}input.p-title-edit.subgroup-name-input{field-sizing:content;letter-spacing:0;border:0;border-bottom:1px solid var(--primary);background:0 0;border-radius:0;width:auto;min-width:4ch;max-width:min(240px,100%);height:28px;margin:0;padding:0;font-size:20px;font-weight:600;line-height:28px}.task-add-row{margin:var(--s-xs) 0 var(--s-md)}.task-quick-add{align-items:center;gap:var(--s-md);width:min(72ch,100%);padding:var(--s-sm);display:flex}.task-quick-add-icon{width:18px;height:18px;color:var(--mute-soft);flex:none}.task-quick-add-input::placeholder{color:var(--mute-soft)}.subgroup-empty{margin:var(--s-xs) 0 var(--s-xs) var(--s-xs)}.subgroup-create-row{margin-top:var(--s-sm)}.subgroup-add{align-items:center;gap:var(--s-xs);font-family:var(--font-sans);padding:var(--s-xs) var(--s-sm);border:1px dashed var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--mute);cursor:pointer;font-size:14px;font-weight:500;line-height:22.4px;display:inline-flex}.subgroup-add:hover{color:var(--ink);border-color:var(--ink)}.subgroup-add svg{width:16px;height:16px}.subgroup-create-trigger{box-sizing:border-box;width:88px;height:32px;padding:var(--s-xs) var(--s-sm);gap:var(--s-xs);font-family:var(--font-sans);white-space:nowrap;justify-content:center;font-size:14px;font-weight:500;line-height:22.4px}.subgroup-create-trigger svg{flex:none;width:16px;height:16px}.subgroup-create-trigger.subgroup-add-group{padding:var(--s-xs) var(--s-sm)}.task-subgroup{margin-top:var(--s-xs)}.task-subgroup-chip{align-items:center;gap:var(--s-xs);color:var(--mute);font-size:12.8px;display:inline-flex}.task-subgroup-chip svg{width:14px;height:14px}.task-row{align-items:flex-start;gap:var(--s-xs);padding:var(--s-sm) var(--s-sm);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.task-row:hover{background:var(--canvas-soft)}.task-row:hover .row-actions,.task-row:focus-within .row-actions{opacity:1}.check{margin-top:var(--s-xxs);margin-right:calc(var(--s-md) - var(--s-xs));border:1px solid var(--mute);border-radius:var(--r-xs);cursor:pointer;background:var(--canvas);flex:none;place-items:center;width:18px;height:18px;display:grid}.check svg{opacity:0;color:#fff;width:12px;height:12px}.task-row.done .check{background:var(--accent-green);border-color:var(--accent-green)}.task-row.done .check svg{opacity:1}.task-row.done.done-by-customer .check{background:var(--accent-blue);border-color:var(--accent-blue)}.task-row.is-file-drop{outline:1px solid var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);border-radius:var(--r-md)}.paste-hint{left:50%;bottom:var(--s-xl);background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--s-sm) var(--s-lg);z-index:80;pointer-events:none;font-size:14px;position:fixed;transform:translate(-50%)}.img-lightbox-overlay{z-index:100;padding:var(--s-2xl);background:color-mix(in srgb, var(--primary) 78%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.img-lightbox-img{-o-object-fit:contain;object-fit:contain;border-radius:var(--r-md);max-width:90vw;max-height:85vh;box-shadow:var(--shadow-4);background:var(--canvas)}.img-lightbox-close{top:var(--s-lg);right:var(--s-lg);position:fixed}.task-body{align-items:flex-start;gap:var(--s-sm) var(--s-md);flex-wrap:nowrap;flex:1;min-width:0;display:flex}.task-title-line{align-items:flex-start;gap:var(--s-sm);flex:1 1 0;min-width:0;display:flex}.task-title{overflow-wrap:anywhere;word-break:break-word;letter-spacing:0;white-space:pre-wrap;min-width:0;max-width:100%;color:var(--ink);flex:0 auto;font-size:15px;font-weight:500;line-height:22.4px}.task-title-editor{field-sizing:content;resize:none;width:auto;min-width:0;max-width:100%;min-height:22.4px;max-height:none;color:var(--ink);font-family:var(--font-sans);letter-spacing:0;text-align:left;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;background:0 0;border:0;border-radius:0;flex:0 auto;margin:0;padding:0;font-size:15px;font-weight:500;line-height:22.4px;overflow:hidden}.task-title-editor:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:var(--r-xs)}.task-meta{flex:none;align-items:flex-start;display:flex}.task-meta .task-people{margin-top:0}.task-refs{justify-content:flex-start;align-items:center;gap:var(--s-xs) var(--s-sm);flex-wrap:wrap;flex-basis:100%;order:5;display:flex}.task-refs .task-ref{margin-top:0}.task-row.done .task-title{color:var(--mute);text-decoration:line-through}.task-row.is-mine{border-left:5px solid var(--ink);padding-left:var(--s-sm)}.task-ref{padding:var(--s-xxs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);font-family:var(--font-mono);color:var(--accent-blue-deep);cursor:pointer;align-items:center;gap:5px;margin-top:4px;font-size:12px;text-decoration:none;transition:border-color .12s,background .12s;display:inline-flex}.task-ref:hover{border-color:var(--mute-soft);background:var(--canvas-soft)}.task-ref svg{width:13px;height:13px}.task-due{color:var(--body-mid);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.task-due svg{width:13px;height:13px}.task-due.is-overdue{color:var(--accent-red);font-weight:550}.task-assignee-add{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);width:32px;height:32px;color:var(--mute);cursor:pointer;opacity:0;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;transition:opacity .12s,color .12s,border-color .12s,background .12s;display:inline-flex}.task-assignee-add:hover{color:var(--ink);border-color:var(--mute-soft);background:var(--canvas-soft)}.task-assignee-add svg{width:12px;height:12px}.task-people{align-items:center;gap:var(--s-xs);flex-wrap:nowrap;display:flex}.task-person-avatar-button{width:32px;height:32px;padding:0}.task-person-avatar-button .brand-mark,.task-person-avatar-static .brand-mark{pointer-events:none;width:32px;height:32px;font-size:11px}.task-person-avatar-static{place-items:center;width:32px;height:32px;display:grid}.row-actions{align-items:flex-start;gap:var(--s-xs);opacity:0;flex:none;transition:opacity .12s;display:flex}.task-row .row-actions{opacity:1}.task-row .row-actions>*{opacity:0;pointer-events:none;transition:opacity .12s}.task-row:hover .row-actions>*,.task-row:focus-within .row-actions>*,.task-row.editing .row-actions>*,.task-row .row-actions>.task-action-preview.has-content{opacity:1;pointer-events:auto}.task-row .icon-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.task-row .row-actions>.task-archive-btn:disabled{opacity:0}.task-row:hover .row-actions>.task-archive-btn:disabled,.task-row:focus-within .row-actions>.task-archive-btn:disabled,.task-row.editing .row-actions>.task-archive-btn:disabled{opacity:.35}.task-row:hover .task-assignee-add,.task-row:focus-within .task-assignee-add,.task-row.editing .task-assignee-add{opacity:1}.task-row .icon-btn.is-active:hover{background:var(--canvas-soft);border-color:var(--hairline);color:var(--ink)}.task-action-pop{display:inline-flex;position:relative}.task-popover{top:calc(100% + var(--s-xs));z-index:40;gap:var(--s-sm);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);min-width:240px;box-shadow:var(--shadow-2);padding:var(--s-sm);flex-direction:column;display:flex;position:absolute;right:0}.task-popover input[type=date]{width:100%;min-height:38px;padding:var(--s-sm) var(--s-md);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--ink);font-size:14px;font-family:var(--font-sans)}.task-popover textarea{width:100%;font-size:14px}.task-hover-preview{right:0;bottom:calc(100% + var(--s-sm));z-index:45;gap:var(--s-xs);width:min(320px,72vw);padding:var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas);box-shadow:var(--shadow-2);color:var(--body);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;transition:opacity .12s,visibility .12s,transform .12s;display:flex;position:absolute;overflow:visible;transform:translateY(4px)}.task-hover-preview:after{content:"";width:44px;height:var(--s-sm);position:absolute;top:100%;right:0}.task-action-preview:not(.is-open):hover>.task-hover-preview,.task-action-preview:not(.is-open):focus-within>.task-hover-preview{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.1s;transform:none}.task-hover-preview-label{color:var(--mute);font-size:12px;font-weight:600}.task-description-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.task-hover-preview .task-refs{flex-basis:auto;order:initial;gap:var(--s-xs);display:flex}.task-hover-preview .task-ref{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.event-row{align-items:flex-start;gap:var(--s-md);padding:var(--s-md) 0;border-bottom:1px solid var(--hairline);flex-wrap:nowrap;display:flex}.event-create-row{flex-wrap:wrap;align-items:center}.event-create-row>.p-title-edit{text-align:left;flex:28ch;width:auto;min-width:min(22ch,100%)}.event-create-row>input[type=date],.event-create-row>input[type=time]{width:auto}.event-create-error{flex-basis:100%;margin:0}.event-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.event-done-btn{width:28px;height:28px;color:var(--mute);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;transition:color .12s;display:inline-flex}.event-done-btn svg{width:16px;height:16px}.event-done-btn:hover,.event-row.is-done .event-done-btn{color:var(--accent-green)}.event-done-state{width:28px;height:28px;color:var(--mute);flex:none;justify-content:center;align-items:center;display:inline-flex}.event-done-state svg{width:16px;height:16px}.event-row.is-done .event-done-state{color:var(--accent-green)}.event-when{flex-direction:row;align-items:center;gap:0;line-height:1.3;display:flex;position:relative}.event-when-text{flex-direction:row;align-items:center;gap:4px;display:flex}.event-date{font-family:var(--font-sans);color:var(--body-mid);white-space:nowrap;font-size:12px;font-weight:500}.event-when-sep{color:var(--mute-soft);font-size:12px}.event-time{font-family:var(--font-sans);color:var(--mute);white-space:nowrap;font-size:12px}.event-title{color:var(--ink);overflow-wrap:break-word;min-width:0;font-size:14px;font-weight:500;line-height:20px}input.p-title-edit.event-title-edit{field-sizing:content;border:0;border-bottom:1px solid var(--primary);letter-spacing:0;text-align:left;background:0 0;border-radius:0;width:auto;min-width:4ch;max-width:100%;height:20px;margin:0;padding:0;font-size:14px;font-weight:500;line-height:20px}.event-row.is-done .event-title{color:var(--mute);text-decoration:line-through}.event-actions{opacity:0;flex:none;align-items:center;gap:2px;margin-left:auto;transition:opacity .12s;display:flex;position:relative}.event-row:hover .event-actions,.event-actions:focus-within{opacity:1}.event-cal-btn{width:28px;height:28px;color:var(--mute);flex:none;transition:color .12s}.event-cal-btn svg{width:16px;height:16px}.event-cal-btn:hover{color:var(--ink)}.event-date-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.proj-split{gap:var(--s-3xl);grid-template-columns:minmax(0,1fr) 400px;align-items:start;display:grid}.proj-split:has(.side-drawer-panel[data-desktop-collapsed=true]){gap:var(--s-sm);grid-template-columns:minmax(0,1fr) 36px}.proj-split>*,.files-grid>*{min-width:0}.sticky-side{flex-direction:column;display:flex;position:sticky;top:96px}.side-drawer-content{gap:var(--s-md);opacity:1;clip-path:inset(0);visibility:visible;flex-direction:column;min-width:0;display:flex;transform:translate(0)}.side-drawer-desktop-toggle{top:var(--s-xs);left:var(--s-xs);z-index:1;width:28px;height:28px;color:var(--mute);background:var(--canvas);position:absolute}.side-drawer-desktop-toggle:hover{color:var(--ink);background:var(--canvas-soft)}.side-drawer-desktop-toggle svg{width:16px;height:16px}.side-drawer-panel[data-desktop-collapsed=true] .side-drawer-content{opacity:0;transform:translateX(var(--s-xl));clip-path:inset(0 0 0 18%);visibility:hidden;pointer-events:none;overflow:clip}@media (min-width:992px) and (prefers-reduced-motion:no-preference){.proj-split{transition:grid-template-columns .32s var(--ease-quint), gap .32s var(--ease-quint)}.side-drawer-panel .side-drawer-desktop-toggle{transition:background .15s, border-color .15s, color .15s, transform .12s var(--ease-back)}.side-drawer-content{transition:opacity .24s ease-out, transform .32s var(--ease-quint), clip-path .32s var(--ease-quint), visibility 0s linear 0s}.side-drawer-panel[data-desktop-collapsed=true] .side-drawer-content{transition:opacity .16s ease-out, transform .24s var(--ease-quint), clip-path .24s var(--ease-quint), visibility 0s linear .24s}}.side-drawer-fab,.side-drawer-backdrop{display:none}.files-grid{gap:var(--s-3xl);grid-template-columns:1fr 320px;align-items:start;display:grid}.tree-row{align-items:center;gap:var(--s-md);padding:var(--s-md) var(--s-sm);border-radius:var(--r-sm);cursor:pointer;display:flex}.tree-row:hover{background:var(--canvas-soft)}.tree-row:hover .row-actions{opacity:1}.tree-row.indent{padding-left:var(--s-3xl)}.tree-row svg{width:18px;height:18px;color:var(--mute);flex:none}.tree-name{color:var(--ink);flex:1;font-size:14px}.tree-meta{color:var(--mute);font-size:12.8px;font-family:var(--font-mono)}.folder .tree-name{font-weight:500}.inbox-item{align-items:center;gap:var(--s-md);padding:var(--s-md) 0;border-bottom:1px dashed var(--hairline);font-size:14px;display:flex}.inbox-item>svg{width:16px;height:16px;color:var(--mute);flex:none}.inbox-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inbox-item .fn{color:var(--body);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.inbox-by{color:var(--mute);align-items:center;gap:4px;font-size:12px;display:inline-flex}.inbox-by svg{width:12px;height:12px;color:var(--mute-soft)}.upload-overlay{z-index:90;padding:var(--s-3xl);pointer-events:none;background:#08080899;place-items:center;display:grid;position:fixed;inset:0}.upload-overlay-inner{align-items:center;gap:var(--s-sm);text-align:center;color:#fff;border-radius:var(--r-md);padding:var(--s-3xl) clamp(40px, 12vw, 120px);background:#ffffff0f;border:2px dashed #ffffffd9;flex-direction:column;display:flex}.upload-overlay-inner svg{width:40px;height:40px}.upload-overlay-inner .t-mute{color:#ffffffbf}.upload-queue{right:var(--s-2xl);bottom:var(--s-2xl);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);width:320px;box-shadow:var(--shadow-4);z-index:60;position:fixed;overflow:hidden}.uq-head{padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;font-size:14px;font-weight:500;display:flex}.uq-item{padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--hairline)}.uq-item:last-child{border-bottom:0}.uq-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.uq-fn{font-family:var(--font-mono);color:var(--body);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.uq-status{color:var(--mute);align-items:center;gap:4px;font-size:12px;display:inline-flex}.uq-status svg{width:13px;height:13px}.uq-bar{background:var(--canvas-soft);border-radius:var(--r-full);height:4px;margin-top:var(--s-sm);overflow:hidden}.uq-fill{background:var(--primary);border-radius:var(--r-full);height:100%}.uq-fill.err{background:var(--accent-red)}.uq-fill.done{background:var(--accent-green)}.text-err{color:var(--accent-red)}.text-ok{color:var(--accent-green)}.auth-wrap{min-height:100vh;padding:52vh var(--s-2xl) var(--s-2xl);background:var(--canvas-soft);flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg{font-family:"MuseoModernoLocal", "MuseoModerno", var(--font-sans);letter-spacing:-3px;text-transform:lowercase;color:var(--ink);opacity:1;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(72px,14vw,200px);font-weight:700;line-height:1;position:absolute;top:18vh;left:50%;transform:translate(-50%)}.auth-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);width:100%;max-width:400px;padding:var(--s-3xl);box-shadow:var(--shadow-2)}.auth-brand{margin-bottom:var(--s-sm);flex-direction:column;align-items:flex-start;line-height:1;display:flex}.auth-sub{color:var(--mute);margin-bottom:var(--s-2xl);font-size:14px}.auth-card .field+.field{margin-top:var(--s-lg)}.auth-foot{margin-top:var(--s-lg);justify-content:space-between;align-items:center;display:flex}.link{color:var(--accent-blue-deep);cursor:pointer;font-size:14px;text-decoration:none}.link:hover{text-decoration:underline}.row-between{justify-content:space-between;align-items:center;display:flex}.flex{display:flex}.gap-sm{gap:var(--s-sm)}.gap-md{gap:var(--s-md)}.items-center{align-items:center}.mt-sm{margin-top:var(--s-sm)}.mt-md{margin-top:var(--s-md)}.mt-lg{margin-top:var(--s-lg)}.mt-2xl{margin-top:var(--s-2xl)}.hidden{display:none!important}.nav-back{color:var(--mute);font-weight:500}.nav-back:hover{color:var(--ink)}.nav-project-name{padding:var(--s-md) var(--s-lg) var(--s-sm);letter-spacing:.4px;text-transform:uppercase;color:var(--mute-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.crumb-link{color:var(--mute);cursor:pointer}.crumb-link:hover{color:var(--ink);text-decoration:underline}.files-head{justify-content:flex-end;align-items:center;gap:var(--s-lg);flex-wrap:wrap;display:flex}.files-path{align-items:center;gap:var(--s-sm);flex-wrap:wrap;font-size:14px;display:flex}#files-folder .files-card-head{padding-bottom:var(--s-md);margin-bottom:var(--s-xl);border-bottom:1px solid var(--hairline)}#files-list .files-card-head{padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--hairline)}.files-folder-layout{gap:var(--s-2xl);grid-template-columns:minmax(180px,220px) 1fr;align-items:start;display:grid}.files-folder-main{min-width:0}.files-tree{border-right:1px solid var(--hairline);padding-right:var(--s-lg)}.files-tree-list{margin:0;padding:0;list-style:none}.files-tree .files-tree-list{margin-left:var(--s-sm);padding-left:var(--s-sm);border-left:1px solid var(--hairline)}.files-tree-row{align-items:center;gap:var(--s-sm);padding:var(--s-xs) var(--s-sm);border-radius:var(--r-sm);color:var(--body-mid);-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;text-decoration:none;display:flex}.files-tree-row svg{width:16px;height:16px;color:var(--mute);flex-shrink:0}.files-tree-row:hover,.files-tree-row.active{background:var(--canvas-soft);color:var(--ink)}.files-tree-row.active svg{color:var(--ink)}.files-tree-row.drop-move-target{outline:2px solid var(--primary);outline-offset:-2px;background:var(--canvas-soft);color:var(--ink)}.files-tree-row.drop-move-target svg{color:var(--ink)}.files-tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.files-tree-file{color:var(--mute);font-weight:400}.files-tree-file svg{color:var(--mute-soft)}.files-tree-file:hover{color:var(--ink)}@media (max-width:767px){.files-folder-layout{gap:var(--s-lg);grid-template-columns:1fr}.files-tree{border-right:0;border-bottom:1px solid var(--hairline);padding-right:0;padding-bottom:var(--s-md)}}.fp-seg{color:var(--body);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.fp-seg svg{width:16px;height:16px;color:var(--mute)}.fp-seg:hover{color:var(--ink)}.fp-crumb{align-items:center;gap:var(--s-sm);display:inline-flex}.fp-sep{color:var(--mute-soft)}.fp-current{color:var(--ink);font-weight:500}.files-actions{align-items:center;gap:var(--s-sm);flex-wrap:wrap;display:inline-flex}.files-head-row{justify-content:space-between;align-items:center;gap:var(--s-lg);flex-wrap:wrap;display:flex}.files-head-row .files-path{margin:0}.files-actions .sort-controls{align-items:center;gap:var(--s-sm);display:inline-flex}.files-actions .sort-controls select{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);height:36px;color:var(--ink);font-family:var(--font-sans);padding:0 var(--s-md);cursor:pointer;font-size:14px}.files-actions .icon-btn{width:36px;height:36px}.files-actions .seg-toggle{height:36px}.files-actions .btn-sm,.files-actions .action-details>summary.btn-sm{height:36px;padding:0 var(--s-md);line-height:1}.action-details{display:inline-flex;position:relative}.action-details>summary{cursor:pointer;list-style:none}.action-details>summary::-webkit-details-marker{display:none}.action-details>summary::marker{content:""}.action-menu{top:calc(100% + var(--s-xs));z-index:40;gap:var(--s-xs);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);min-width:220px;box-shadow:var(--shadow-2);padding:var(--s-sm);flex-direction:column;display:flex;position:absolute;right:0}.action-menu-wide{min-width:260px}.action-menu .inline-form{align-items:center;gap:var(--s-xs);display:flex}.action-menu .inline-form>input[name=name],.action-menu .inline-form>select{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);min-width:0;height:32px;color:var(--ink);font-family:var(--font-sans);padding:0 var(--s-sm);flex:1;font-size:14px}.action-menu .btn-sm{height:32px;padding:0 var(--s-sm);white-space:nowrap;line-height:1}.action-menu form{margin:0}.action-menu .menu-item{align-items:center;gap:var(--s-sm);width:100%;padding:var(--s-sm) var(--s-md);border-radius:var(--r-sm);color:var(--ink);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:500;text-decoration:none;display:flex}.action-menu .menu-item:hover{background:var(--canvas-soft)}.action-menu .menu-item svg{width:16px;height:16px;color:var(--mute);flex-shrink:0}.action-menu .menu-item.is-confirming{background:var(--canvas-soft)}.action-menu .menu-item-danger,.action-menu .menu-item-danger svg{color:var(--accent-red)}.action-menu .menu-sep{background:var(--hairline);height:1px;margin:var(--s-xs) 0;border:0}.action-menu .menu-head{color:var(--mute);padding:var(--s-xs) var(--s-md);font-size:12px}.action-menu .menu-rename{gap:var(--s-xs);flex-direction:column;display:flex}.action-menu .menu-rename input[name=name]{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);height:32px;color:var(--ink);font-family:var(--font-sans);padding:0 var(--s-sm);font-size:14px}.seg-toggle{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);display:inline-flex;overflow:hidden}.seg-toggle a,.seg-toggle button{height:100%;font-family:var(--font-sans);padding:var(--s-sm) var(--s-md);color:var(--body-mid);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.seg-toggle a svg,.seg-toggle button svg{width:16px;height:16px}.seg-toggle a+a,.seg-toggle button+button{border-left:1px solid var(--hairline)}.seg-toggle a.active,.seg-toggle button.active{background:var(--primary);color:var(--on-primary)}.tile-grid{gap:var(--s-lg);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-lg);cursor:pointer;gap:var(--s-xs);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;display:flex}.tile:hover{box-shadow:var(--shadow-2)}#files-folder.card .tile{background:var(--canvas-soft);border-color:#0000}#files-folder.card .tile:hover{background:var(--canvas);border-color:var(--hairline);box-shadow:var(--shadow-2)}.tile-top{justify-content:space-between;align-items:flex-start;display:flex}.tile-top>svg{width:32px;height:32px;color:var(--mute)}.folder-tile .tile-top>svg{color:var(--mute)}.tile-top .icon-btn{opacity:0}.tile:hover .icon-btn{opacity:1}.tile-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.3;overflow:hidden}.tile-meta{color:var(--mute);font-size:12.8px;line-height:1.3;font-family:var(--font-mono)}.flist-head,.flist-row{align-items:center;gap:var(--s-md);padding:var(--s-md) var(--s-lg);grid-template-columns:1fr 120px 96px 56px;display:grid}.flist-head{text-transform:uppercase;letter-spacing:.6px;color:var(--mute);background:var(--canvas-soft);border-bottom:1px solid var(--hairline);font-size:12px;font-weight:500}.flist-row{border-bottom:1px solid var(--hairline);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.flist-row:hover{background:var(--canvas-soft)}.flist-row:hover .row-actions{opacity:1}.flist-row>svg{width:18px;height:18px;color:var(--mute);grid-row:1}.folder.flist-row>svg{color:var(--mute)}.flist-row.indent{padding-left:var(--s-2xl)}.flist-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.folder .flist-name{font-weight:500}.flist-mod,.flist-size{color:var(--mute);font-size:12.8px;font-family:var(--font-mono)}.flist-row,.flist-head{grid-template-columns:20px 1fr 120px 96px 56px}.burger{display:none}.nav-backdrop{z-index:40;background:#0006;display:none;position:fixed;inset:0}.nav-backdrop.show{display:block}@media (max-width:1200px){.app{grid-template-columns:1fr}.burger{display:grid}.sidebar{z-index:50;width:272px;height:100vh;box-shadow:var(--shadow-4);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}}@media (max-width:991px){main .icon-btn,main .section-check{min-width:46px;min-height:46px}.task-group-select-wrap{align-items:center;gap:var(--s-xs);clip-path:none;width:auto;height:auto;padding:var(--s-xs) 0;flex-basis:100%;display:flex;position:static;overflow:visible}.task-group-select-wrap>span{clip-path:none;width:auto;height:auto;color:var(--mute);font-size:12px;position:static;overflow:visible}.task-group-select{flex:1;max-width:none;min-height:46px}.proj-split,.files-grid{grid-template-columns:1fr}.proj-split:has(.side-drawer-panel[data-desktop-collapsed=true]){grid-template-columns:1fr}.sticky-side{position:static}.side-drawer-desktop-toggle{display:none}.side-drawer-panel[data-desktop-collapsed=true] .side-drawer-content{opacity:1;clip-path:none;visibility:visible;pointer-events:auto;overflow:visible;transform:none}.view{padding:var(--s-xl) var(--s-lg)}.timeline{padding-bottom:var(--s-sm);overflow-x:auto}.tl-step{min-width:130px}.side-drawer-fab{right:var(--s-lg);bottom:var(--s-lg);z-index:72;border-radius:var(--r-full);background:var(--primary);width:52px;height:52px;color:var(--on-primary);box-shadow:var(--shadow-4);justify-content:center;align-items:center;display:inline-flex;position:fixed}.side-drawer-fab svg{width:22px;height:22px}.side-drawer-backdrop{z-index:70;opacity:0;pointer-events:none;background:#00000080;transition:opacity .22s;display:block;position:fixed;inset:0}.side-drawer-backdrop[data-open=true]{opacity:1;pointer-events:auto}.side-drawer-panel{z-index:71;background:var(--canvas);border-left:1px solid var(--hairline);width:min(380px,88vw);height:100dvh;padding:var(--s-2xl);display:none;position:fixed;top:0;right:0;overflow-y:auto;transform:none}.side-drawer-panel[data-open=true]{display:flex}}@media (max-width:768px){.hide-mobile{display:none!important}.view{padding:var(--s-lg)}.topbar{padding:var(--s-md) var(--s-lg)}.timeline{padding-bottom:var(--s-sm);gap:0;overflow-x:auto}.tl-step{min-width:84px}.tl-label{font-size:11px}.dash-head{align-items:flex-start;gap:var(--s-lg);flex-direction:column}.dash-actions{width:100%}.dash-actions .btn{flex:1;justify-content:center}.project-row{grid-template-columns:1fr auto}.project-row .row-right .badge{display:none}.project-row .row-right .icon-btn{opacity:1}.project-meta{gap:var(--s-sm) var(--s-md)}.group-actions{opacity:1}.files-head{gap:var(--s-md)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.flist-head,.flist-row,.flist-row{grid-template-columns:20px 1fr 72px 40px}.auth-card{padding:var(--s-2xl)}.upload-queue{right:var(--s-md);left:var(--s-md);bottom:var(--s-md);width:auto}}@media (max-width:479px){.display-md{font-size:26px;line-height:32px}.topbar .btn span{display:none}.tile-grid{grid-template-columns:1fr 1fr}}.card{box-shadow:0 1px 2px #0808080a,0 6px 16px #0808080d}.dark .card{box-shadow:0 1px 2px #00000073,0 8px 20px #00000059}.card.elev,.auth-card{box-shadow:var(--shadow-2);border-color:#0000}.dark .card.elev,.dark .auth-card{border-color:var(--hairline);background:var(--canvas-soft)}@media (prefers-reduced-motion:no-preference){.project-row,.tree-row,.flist-row,.tile,.nav-row,.btn,.icon-btn,.seg-toggle a,.seg-toggle button{transition:background .15s,color .15s,border-color .15s,transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s ease-out}.tile:hover{transform:translateY(-2px)}.btn-primary:hover,.icon-btn:hover{transform:translateY(-1px)}}.av{border-radius:var(--r-md);letter-spacing:-.3px;color:#fff;-webkit-user-select:none;user-select:none;flex:none;place-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:grid;overflow:hidden}.av img{-o-object-fit:contain;object-fit:contain;background:var(--canvas);width:100%;height:100%;padding:5px}.av-ink{background:var(--primary);color:var(--on-primary)}.page-h1{letter-spacing:-.4px;font-size:44.8px;font-weight:600;line-height:46.6px}@media (max-width:479px){.page-h1{font-size:30px;line-height:34px}}.page-stats{gap:var(--s-2xl);margin-top:var(--s-md);color:var(--body-mid);flex-wrap:wrap;font-size:14px;display:flex}.page-stats b{color:var(--ink);font-weight:600}.project-add{margin-top:var(--s-md);padding:var(--s-sm) var(--s-md);border:1px dashed var(--hairline);border-radius:var(--r-sm);color:var(--body-mid);font-family:var(--font-sans);letter-spacing:-.16px;cursor:pointer;background:0 0;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.project-add:hover{color:var(--ink);border-color:var(--mute);background:var(--canvas-soft)}.project-add svg{width:16px;height:16px}.task-create{gap:var(--s-sm);margin-top:var(--s-md);padding:var(--s-lg);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas-soft);display:grid}.task-create>.input:first-child{text-align:left;width:min(72ch,100%)}.task-create-bar{align-items:center;gap:var(--s-xs);flex-wrap:wrap;display:flex}.task-create-spacer{flex:1}.icon-btn.is-active{background:var(--primary);color:var(--on-primary);border-color:#0000}.icon-btn.is-active:hover{background:var(--primary);color:var(--on-primary)}.task-create-fields{gap:var(--s-sm);flex-wrap:wrap;display:flex}.task-create-fields select,.task-create-fields input{width:min(220px,100%);min-height:38px;padding:var(--s-sm) var(--s-md);font-size:14px}.task-row.editing .row-actions{opacity:1}.task-ref-list{gap:var(--s-xs);flex-wrap:wrap;margin-top:0;display:flex}.task-ref-remove{padding:var(--s-xxs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--body-mid);cursor:pointer;align-items:center;gap:4px;font-size:12.8px;display:inline-flex}.task-ref-remove:hover{color:var(--accent-red);border-color:var(--accent-red)}.task-references-popover{width:min(360px, calc(100vw - 2 * var(--s-md)));gap:var(--s-md);padding:var(--s-md)}.task-references-popover>.btn,.task-references-popover .ref-picker-field{width:100%}.task-references-popover>.btn{justify-content:flex-start}.task-person-editor{gap:var(--s-xs);flex-direction:column;display:flex}.task-assignee-list{gap:var(--s-xs);flex-wrap:wrap;display:flex}.task-assignee-chip{padding:var(--s-xxs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--body-mid);align-items:center;gap:4px;font-size:12.8px;display:inline-flex}.task-assignee-chip svg{flex-shrink:0;width:12px;height:12px}.task-assignee-chip-remove{color:var(--mute);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:1px;line-height:1;display:inline-flex}.task-assignee-chip-remove:hover{color:var(--accent-red)}.task-assignee-chip-remove svg{width:11px;height:11px}.task-person-add{gap:var(--s-xs);flex-wrap:wrap;display:flex}.task-person-select{width:auto;min-width:160px;color:var(--body-mid);padding:var(--s-xxs) var(--s-lg) var(--s-xxs) var(--s-sm);border-radius:var(--r-sm);font-size:13px;line-height:1.4}.task-person-add-chip{padding:var(--s-xxs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--body-mid);cursor:pointer;align-items:center;gap:4px;font-size:12.8px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.task-person-add-chip:hover{background:var(--canvas-soft);color:var(--ink);border-color:var(--mute-soft)}.task-person-add-chip svg{width:12px;height:12px;color:var(--mute);flex-shrink:0}.task-person-add-chip.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.task-person-add-chip.is-active svg{color:var(--on-primary)}.ref-picker-field{width:min(320px,100%)}.ref-picker{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas);overflow:hidden}.ref-picker-bar{align-items:center;gap:var(--s-xs);padding:var(--s-sm) var(--s-md);border-bottom:1px solid var(--hairline);background:var(--canvas-soft);display:flex}.ref-picker-back{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);width:24px;height:24px;color:var(--body-mid);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ref-picker-back:hover{color:var(--ink)}.ref-picker-back svg{width:14px;height:14px}.ref-picker-crumb{color:var(--ink);min-width:0;font-size:13px;font-weight:500}.ref-picker-list{max-height:240px;padding:var(--s-xs);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.ref-picker-row{align-items:center;gap:var(--s-sm);width:100%;padding:var(--s-sm) var(--s-md);border-radius:var(--r-sm);color:var(--body);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;min-height:44px;font-size:14px;display:flex}.ref-picker-row:hover{background:var(--canvas-soft);border-color:var(--hairline)}.ref-picker-row svg{width:15px;height:15px;color:var(--mute);flex-shrink:0}.ref-picker-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ref-picker-open{align-items:center;gap:var(--s-sm);min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:14px;display:flex}.ref-picker-pick{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);width:36px;height:36px;color:var(--body-mid);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ref-picker-pick:hover{color:var(--accent-blue-deep);border-color:var(--accent-blue-deep)}.ref-picker-pick:disabled{opacity:.4;cursor:not-allowed}.ref-picker-file.is-active{background:var(--canvas-soft);border-color:var(--accent-blue-deep);color:var(--ink)}.ref-picker-row.is-selected{opacity:.4;cursor:not-allowed}.ref-picker-row:disabled{cursor:not-allowed}.ref-picker-empty{padding:var(--s-md);color:var(--mute);font-size:13px}.ref-picker-selected{margin-top:var(--s-xs);color:var(--body-mid);font-size:12.8px}.project-row{position:relative}.project-row.dragging{opacity:.45}.drag-handle{width:24px;box-shadow:none;color:var(--mute-soft);cursor:grab;opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;place-items:center;padding:0;transition:opacity .12s,color .12s;display:grid;position:absolute;top:0;bottom:0;left:-24px}.project-row:hover .drag-handle{opacity:1}.drag-handle:hover{color:var(--ink)}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:16px;height:16px}.task-dnd-row .drag-handle{width:16px;left:-16px}.task-title-edit-trigger{text-align:left;cursor:text;background:0 0;border:0;justify-content:flex-start;align-items:center;max-width:100%;padding:0;display:inline-flex}.task-title-edit-trigger>span{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.task-title-edit-trigger:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:var(--r-xs)}.task-status-distribution,.task-status-group{gap:0;min-width:0;margin-top:0;display:grid}.task-status-group.is-done{opacity:.78}.task-popover-actions{align-items:center;gap:var(--s-sm);flex-wrap:wrap;display:flex}.inline-error{margin:var(--s-xs) 0 0;color:var(--accent-red);font-size:12px;line-height:1.4}.task-order-buttons,.subgroup-order-buttons{display:none}.task-order-error{padding-left:var(--s-sm);flex-basis:100%}.subgroup-order-error{margin-left:var(--s-sm)}@media (hover:none),(pointer:coarse){.event-actions,.task-row .row-actions,.task-row .task-assignee-add,.subgroup-block>button.subgroup-drag,.task-dnd-row .drag-handle{opacity:1}.task-row .row-actions>*{opacity:1;pointer-events:auto}.task-row .row-actions>.task-archive-btn:disabled{opacity:.35}.subgroup-head-actions{opacity:1;pointer-events:auto}.task-hover-preview{display:none}.ref-picker-pick{width:44px;height:44px}}@media (max-width:991px){.view{padding:var(--s-lg) max(var(--s-md), env(safe-area-inset-right)) var(--s-3xl) max(var(--s-md), env(safe-area-inset-left))}.topbar{padding-inline:max(var(--s-md), env(safe-area-inset-left)) max(var(--s-md), env(safe-area-inset-right))}.timeline{margin-inline:calc(-1 * var(--s-md));padding-inline:var(--s-md);scroll-snap-type:x proximity}.tl-step{scroll-snap-align:start;min-width:116px}.tl-label-row{align-items:center}.proj-split{gap:var(--s-xl)}.task-group-head{flex-wrap:wrap;align-items:flex-start}.subgroup-block{margin-top:var(--s-xl);padding-left:var(--s-md)}.subgroup-head{min-width:0}.subgroup-head .subgroup-name-value{overflow-wrap:anywhere;min-width:0}.subgroup-head-actions{flex:none}.task-dnd-row{flex-wrap:wrap;padding-left:0;display:flex}.task-dnd-row .drag-handle{opacity:1;flex:0 0 44px;width:44px;min-height:44px;position:static}.task-row{min-width:0;padding:var(--s-sm) 0 var(--s-md) var(--s-sm);flex-wrap:wrap;flex:calc(100% - 44px)}.task-row .check{width:46px;height:46px;margin-top:0;margin-right:0}.task-body{flex-wrap:wrap;flex-basis:calc(100% - 52px);align-items:flex-start}.task-title-line{flex-basis:100%;min-height:46px}.task-title-line .task-title{align-items:center;min-width:0;min-height:44px}.task-meta{flex-basis:100%;justify-content:flex-start}.task-assignee-add{width:46px;height:46px}.task-row .row-actions{opacity:1;margin-top:var(--s-xs);flex-basis:100%;justify-content:flex-end}.task-row .icon-btn,.row-actions .icon-btn{width:46px;height:46px}.task-popover{left:var(--s-md);right:var(--s-md);top:auto;bottom:max(var(--s-md), env(safe-area-inset-bottom));z-index:90;min-width:0;position:fixed}.task-popover-actions .btn{min-height:44px}.task-order-buttons,.subgroup-order-buttons{gap:var(--s-xs);margin-left:auto;display:flex}.task-order-buttons{padding:var(--s-xs) 0 var(--s-sm);flex-basis:100%;justify-content:flex-end}.task-order-buttons button,.subgroup-order-buttons button{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);width:46px;height:46px;color:var(--body-mid);place-items:center;display:inline-grid}.task-order-buttons svg,.subgroup-order-buttons svg{width:18px;height:18px}.subgroup-block>button.subgroup-drag{opacity:1;float:left;width:44px;height:44px;margin-left:calc(-1 * var(--s-md));position:static}.side-drawer-fab{right:max(var(--s-md), env(safe-area-inset-right));bottom:max(var(--s-md), env(safe-area-inset-bottom));width:52px;height:52px}.side-drawer-panel{width:min(92vw,380px);padding:max(var(--s-xl), env(safe-area-inset-top)) max(var(--s-lg), env(safe-area-inset-right)) max(var(--s-xl), env(safe-area-inset-bottom)) var(--s-lg)}.confirm-overlay{padding:var(--s-md)}.confirm-card{width:min(100%,520px);max-height:calc(100dvh - 2 * var(--s-md));overflow-y:auto}.confirm-card-actions .btn{min-height:44px}}@media (max-width:479px){.task-row{flex-basis:calc(100% - 44px);padding-left:0}.task-dnd-row .drag-handle{flex-basis:44px}.task-group-focus-label{margin-left:30px}.task-popover-actions{align-items:stretch}.task-popover-actions .btn{flex:100%;justify-content:center}}.group.drop-over{outline:2px dashed var(--primary);outline-offset:8px;border-radius:var(--r-sm)}.group.drop-pending{opacity:.65;pointer-events:none}input.p-title-edit{letter-spacing:-.2px;width:min(340px,100%);color:var(--ink);background:var(--canvas);border:1px solid var(--primary);border-radius:var(--r-sm);font-size:18px;font-weight:500;line-height:1.3;font-family:var(--font-sans);margin:-4px 0;padding:3px 8px}input.p-title-edit:focus{outline:none}input.p-title-edit.p-title-edit-lg{letter-spacing:-.2px;width:min(420px,100%);font-size:24px;font-weight:500;line-height:31.2px}.view.view-mindmap{flex:1;max-width:none;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.mm-shell{position:absolute;inset:0}.mm-viewport{touch-action:none;background-color:var(--canvas);background-image:radial-gradient(circle, var(--hairline) 1px, transparent 1.4px);cursor:grab;background-size:24px 24px;position:absolute;inset:0;overflow:hidden}.mm-world{transform-origin:0 0;position:absolute;top:0;left:0}.mm-edges{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.mm-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mm-node{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);width:220px;box-shadow:var(--shadow-2);padding:var(--s-sm) var(--s-md);cursor:grab;-webkit-user-select:none;user-select:none;position:absolute}.mm-node.is-focused{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary), var(--shadow-2)}.mm-node.is-drop{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue)}.mm-node.is-link-source{border-color:var(--accent-blue-info)}.mm-node.is-link-target{cursor:pointer}.mm-node-row{align-items:center;gap:var(--s-sm);display:flex}.mm-dot{border-radius:var(--r-full);background:var(--mute);flex:none;width:10px;height:10px}.mm-color-purple .mm-dot,.mm-dot.mm-color-purple{background:var(--accent-purple)}.mm-color-pink .mm-dot,.mm-dot.mm-color-pink{background:var(--accent-pink)}.mm-color-blue .mm-dot,.mm-dot.mm-color-blue{background:var(--accent-blue)}.mm-color-orange .mm-dot,.mm-dot.mm-color-orange{background:var(--accent-orange)}.mm-color-green .mm-dot,.mm-dot.mm-color-green{background:var(--accent-green)}.mm-node-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:500;overflow:hidden}.mm-node-input{width:100%;font-size:14px;font-weight:500}.mm-collapse{margin-left:auto}.mm-controls{bottom:calc(100% + var(--s-xs));padding:var(--s-xs);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;z-index:10;white-space:nowrap;flex-wrap:nowrap;gap:2px;transition:opacity .12s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mm-node.is-focused .mm-controls{opacity:1;pointer-events:auto}.mm-controls .icon-btn{width:26px;height:26px}.mm-controls .icon-btn svg{width:15px;height:15px}.icon-btn.mm-danger{color:var(--accent-red)}.icon-btn.is-active{background:var(--canvas-soft);border-color:var(--hairline);color:var(--ink)}.mm-pop-wrap{display:inline-flex;position:relative}.mm-pop{z-index:15;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--s-md);white-space:nowrap;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.mm-swatches{gap:var(--s-sm);flex-direction:column;display:flex}.mm-swatches-label{letter-spacing:.5px;text-transform:uppercase;color:var(--mute);font-size:11px;font-weight:500;line-height:1}.mm-swatches-grid{gap:var(--s-sm);grid-template-columns:repeat(5,1fr);display:grid}.mm-swatch{border-radius:var(--r-full);cursor:pointer;border:none;width:26px;height:26px;padding:0;transition:transform .1s,box-shadow .1s}.mm-swatch:hover{transform:scale(1.12)}.mm-swatch.mm-color-purple{background:var(--accent-purple)}.mm-swatch.mm-color-pink{background:var(--accent-pink)}.mm-swatch.mm-color-blue{background:var(--accent-blue)}.mm-swatch.mm-color-orange{background:var(--accent-orange)}.mm-swatch.mm-color-green{background:var(--accent-green)}.mm-swatch.is-active{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--primary);transform:scale(1.08)}.mm-link-pop{flex-direction:column;gap:4px;width:240px;display:flex;top:calc(100% + 6px);bottom:auto}.mm-link-pop select{padding:var(--s-xs) var(--s-sm);font-size:13px}.mm-pop-label{color:var(--mute);font-size:12px}.mm-link-url-block{flex-direction:column;gap:4px;padding-bottom:2px;display:flex}.mm-link-url-row{align-items:center;gap:4px;display:flex}.mm-link-url-input{min-width:0;font-family:var(--font-sans);background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-sm);flex:1 1 0;padding:4px 6px;font-size:13px;line-height:1.4}.mm-link-url-input:focus{border-color:var(--ink);outline:none}.mm-link-url-input::placeholder{color:var(--mute-soft)}.mm-link-url-btn{font-family:var(--font-sans);background:var(--primary);color:var(--on-primary);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;flex:none;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.mm-link-url-btn:hover{opacity:.88}.mm-link-url-remove{color:var(--mute);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:11px;display:inline-flex}.mm-link-url-remove:hover{color:var(--accent-red)}.mm-link-url-remove svg{width:11px;height:11px}.mm-link-url-hint{color:var(--mute);font-size:11px}.mm-link-divider{background:var(--hairline);height:1px;margin:4px 0}.mm-link-chip-row{margin-top:4px}.mm-link-chip{color:var(--accent-blue-deep);align-items:center;gap:3px;max-width:100%;font-size:11px;text-decoration:none;display:inline-flex}.mm-link-chip:hover{text-decoration:underline}.mm-link-chip svg{flex:none;width:11px;height:11px}.mm-link-chip-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.mm-ref{margin-top:4px}.mm-ref-chip{color:var(--accent-blue-deep);align-items:center;gap:4px;font-size:12px;display:inline-flex}.mm-ref-chip svg{width:13px;height:13px}.mm-ref-missing{color:var(--mute);font-size:12px}.mm-note-display{color:var(--body-mid);white-space:pre-wrap;margin-top:4px;font-size:12px}.mm-note-edit{min-height:48px;margin-top:4px;font-size:12px}.mm-collapsed-badge{background:var(--primary);color:var(--on-primary);border-radius:var(--r-full);padding:1px 6px;font-size:11px;font-weight:600;position:absolute;top:-8px;right:-8px}.mm-toolbar{top:var(--s-lg);left:var(--s-lg);z-index:10;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--shadow-2);align-items:center;gap:4px;padding:4px;display:flex;position:absolute}.mm-zoom-label{color:var(--body-mid);text-align:center;min-width:44px;font-size:13px}.mm-linking-hint{margin-right:6px}.mm-outline{z-index:20;background:var(--canvas);border-left:1px solid var(--hairline);width:300px;box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.mm-outline-head{padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex}.mm-outline-body{padding:var(--s-sm);overflow:auto}.mm-outline-row{align-items:center;gap:6px;padding:2px 0;display:flex}.mm-outline-caret,.mm-outline-caret-spacer{flex:none;width:24px}.mm-outline-input{background:0 0;border:1px solid #0000;flex:1;min-width:0;padding:4px 6px;font-size:14px}.mm-outline-input:focus{border-color:var(--hairline);outline:none}.mm-outline-actions{opacity:0;gap:2px;display:flex}.mm-outline-row:hover .mm-outline-actions{opacity:1}.mm-fmt-pop{gap:var(--s-sm);flex-direction:column;min-width:148px;display:flex}.mm-fmt-toggle-row{gap:var(--s-xs);display:flex}.mm-fmt-toggle{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);height:30px;color:var(--body-mid);font-family:var(--font-sans);cursor:pointer;flex:1;font-size:14px;font-weight:500;line-height:1;transition:background .1s,color .1s,border-color .1s}.mm-fmt-toggle:hover{color:var(--ink);border-color:var(--ink)}.mm-fmt-toggle.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.mm-fmt-bold{font-weight:600}.mm-fmt-italic{font-style:italic}.mm-fmt-size-row{gap:var(--s-xs);display:flex}.mm-fmt-size-btn{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);height:28px;color:var(--body-mid);font-family:var(--font-sans);cursor:pointer;flex:1;font-size:12px;font-weight:500;transition:background .1s,color .1s,border-color .1s}.mm-fmt-size-btn:hover{color:var(--ink);border-color:var(--ink)}.mm-fmt-size-btn.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.mm-fmt-color-grid{gap:var(--s-xs);grid-template-columns:repeat(6,1fr);display:grid}.mm-fmt-swatch-neutral{border-radius:var(--r-full);background:var(--canvas);border:1px solid var(--hairline);cursor:pointer;width:22px;height:22px;padding:0;transition:transform .1s,box-shadow .1s}.mm-fmt-swatch-neutral:hover{transform:scale(1.12)}.mm-fmt-swatch-neutral.is-active{box-shadow:0 0 0 2px var(--canvas), 0 0 0 4px var(--primary);transform:scale(1.08)}.mm-fmt-color-grid .mm-swatch{width:22px;height:22px}.mm-comments-pop{gap:var(--s-sm);white-space:normal;flex-direction:column;width:260px;max-height:320px;display:flex;top:auto;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.mm-comments-list{gap:var(--s-xs);flex-direction:column;max-height:200px;padding-right:2px;display:flex;overflow-y:auto}.mm-comments-empty{color:var(--mute);text-align:center;padding:var(--s-sm) 0;margin:0;font-size:12px}.mm-comment-item{padding:var(--s-xs) 0;border-bottom:1px solid var(--hairline)}.mm-comment-item:last-child{border-bottom:none}.mm-comment-meta{align-items:center;gap:var(--s-xs);margin-bottom:2px;display:flex}.mm-comment-author{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.mm-comment-date{color:var(--mute);flex:none;font-size:10px}.mm-comment-del{width:16px;height:16px;color:var(--mute);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;transition:color .1s;display:inline-flex}.mm-comment-del:hover,.mm-comment-del.is-confirming{color:var(--accent-red)}.mm-comment-del svg{width:11px;height:11px}.mm-comment-body{color:var(--body);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.5}.mm-comment-input-row{gap:var(--s-xs);padding-top:var(--s-xs);border-top:1px solid var(--hairline);align-items:flex-end;display:flex}.mm-comment-input{min-width:0;font-family:var(--font-sans);padding:var(--s-xs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--ink);resize:none;flex:1 1 0;min-height:42px;font-size:12px;line-height:1.4}.mm-comment-input:focus{border-color:var(--ink);outline:none}.mm-comment-input::placeholder{color:var(--mute-soft)}.mm-comment-send{background:var(--primary);width:28px;height:28px;color:var(--on-primary);border-radius:var(--r-sm);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .1s;display:inline-flex}.mm-comment-send:hover{opacity:.85}.mm-comment-send svg{width:13px;height:13px}.mm-comment-btn{position:relative}.mm-comment-badge{background:var(--accent-blue-info);min-width:14px;height:14px;color:var(--on-primary);border-radius:var(--r-full);text-align:center;pointer-events:none;padding:0 3px;font-size:9px;font-weight:600;line-height:14px;position:absolute;top:-4px;right:-4px}:root{--ease-quint:cubic-bezier(.22, 1, .36, 1);--ease-back:cubic-bezier(.34, 1.4, .64, 1)}.timeline{gap:var(--s-xs)}.tl-step{min-width:0}.tl-head{align-items:center;gap:var(--s-xs);padding-right:var(--s-sm);flex-direction:row;margin-bottom:6px}.tl-head .tl-label-row{flex:auto}.tl-head .tl-label-edit{text-align:left;flex:auto;width:auto;min-width:0}.tl-label{width:100%;min-width:0;display:block}.tl-bar{transition:background .35s var(--ease-quint), transform .2s var(--ease-quint)}.tl-dot{transition:transform .25s var(--ease-back), background .2s, border-color .2s, color .2s}.tl-step.current .tl-dot{transform:scale(1.14)}.tl-step:hover .tl-dot{transform:scale(1.1)}.tl-step{transition:transform .2s var(--ease-quint)}.tl-label,.tl-num{transition:color .2s}.tl-step:hover{transform:translateY(-2px)}.tl-step:hover .tl-label,.tl-step:hover .tl-num{color:var(--ink)}.tl-step:hover .tl-bar{transform:scaleY(1.5)}.tl-step:not(.current):not(.done):hover .tl-bar{background:var(--mute)}.task-row{padding:var(--s-sm);border-radius:var(--r-sm);transition:background .18s var(--ease-quint)}.check{transition:background .2s var(--ease-quint), border-color .2s var(--ease-quint), transform .15s var(--ease-back)}.check:hover{border-color:var(--accent-green);transform:scale(1.14)}.check:active{transform:scale(.9)}.check svg{transition:opacity .18s var(--ease-quint), transform .22s var(--ease-back);transform:scale(.5)}.task-row.done .check svg{transform:scale(1)}.project-row{border-radius:var(--r-sm);transition:background .18s var(--ease-quint)}.card,.panel{transition:box-shadow .25s var(--ease-quint), border-color .2s, transform .25s var(--ease-quint)}.move-chip,.sort-chip{transition:background .15s var(--ease-quint), border-color .15s, color .15s, transform .12s var(--ease-back)}.move-chip:hover,.sort-chip:hover{transform:translateY(-1px)}.move-chip:active,.sort-chip:active{transform:translateY(0)scale(.97)}.btn{transition:background .15s var(--ease-quint), border-color .15s, color .15s, transform .12s var(--ease-back), box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.icon-btn{transition:background .15s, border-color .15s, color .15s, transform .12s var(--ease-back)}.icon-btn:hover{transform:scale(1.1)}.icon-btn:active{transform:scale(.92)}.nav-row{transition:background .15s var(--ease-quint), color .15s, transform .15s var(--ease-quint)}.nav-row:hover{transform:translate(2px)}.section-check{transition:border-color .15s, background .2s var(--ease-quint), color .15s, transform .15s var(--ease-back)}.section-check:hover{transform:scale(1.08)}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.task-popover,.pg-pop,.confirm-card,.file-preview-card{animation:pop-in .18s var(--ease-quint) both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.confirm-overlay,.file-preview-backdrop{animation:.15s both overlay-in}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.view>*{animation:view-in .38s var(--ease-quint) both}.view:has(.cubone-scope)>*{animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.task-row:hover,.project-row:hover,.nav-row:hover,.btn:hover,.icon-btn:hover,.move-chip:hover,.sort-chip:hover,.tl-step.current .tl-dot,.tl-step:hover,.tl-step:hover .tl-bar,.check,.check:hover{transform:none!important}}nav[aria-label=Hauptnavigation]{flex-direction:column;gap:2px;display:flex}.nav-row{padding:var(--s-sm) var(--s-md)}.nav-tree{margin:var(--s-xs) 0}.event-head-actions{align-items:center;gap:var(--s-xs);display:inline-flex}.event-cal-card{gap:var(--s-md);align-items:center;width:min(360px,100%)}.event-cal-card .rdp-root{--rdp-accent-color:var(--primary);--rdp-accent-background-color:var(--canvas-soft);--rdp-font-family:inherit;--rdp-today-color:var(--accent-blue);--rdp-day-width:38px;--rdp-day-height:38px;--rdp-day_button-width:34px;--rdp-day_button-height:34px;--rdp-day_button-border-radius:var(--r-sm);--rdp-selected-border:2px solid var(--primary);color:var(--ink);margin:0}.event-cal-card .rdp-caption_label,.event-cal-card .rdp-weekday{color:var(--mute);font-weight:500}.event-cal-card .rdp-day_button{color:var(--ink)}.event-cal-card .rdp-outside .rdp-day_button{color:var(--mute-soft)}.event-cal-card .rdp-chevron{fill:var(--mute)}.event-cal-card .rdp-button_previous:hover,.event-cal-card .rdp-button_next:hover{background:var(--canvas-soft);border-radius:var(--r-sm)}.event-cal-card .rdp-has-event .rdp-day_button{border-radius:var(--r-full);background:var(--accent-blue);color:var(--on-primary);font-weight:600}.event-cal-card .rdp-has-event.rdp-selected .rdp-day_button{background:var(--primary);color:var(--on-primary)}.event-cal-day{gap:var(--s-xs);border-top:1px solid var(--hairline);width:100%;padding-top:var(--s-md);flex-direction:column;display:flex}.event-cal-day-item{align-items:baseline;gap:var(--s-sm);display:flex}.event-cal-day-time{color:var(--mute);flex:none;min-width:40px;font-size:13px}.event-cal-day-title{color:var(--ink);font-size:14px}
