@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Inconsolata:wght@400;500&family=MuseoModerno:wght@500;600;700&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:"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);font-size:52px;font-weight:600}.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{width:18px;height:18px}.nav-tree{margin:var(--s-xxs) 0;min-width:0}.nav-tree-label{align-items:center;gap:var(--s-sm);min-width:0;padding:var(--s-xs) var(--s-sm);margin-left:var(--s-sm);letter-spacing:-.1px;color:var(--body-mid);font-size:13px;font-weight:500;display:flex}.nav-tree-label svg{width:16px;height:16px;color:var(--mute);flex:none}.nav-tree-label span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-tree-children{gap:var(--s-xxs);min-width:0;margin-left:var(--s-md);padding-left:var(--s-sm);border-left:1px solid var(--hairline);flex-direction:column;display:flex}.nav-row.nav-sub{padding:var(--s-sm);gap:var(--s-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-row.nav-sub svg{flex:none;width:16px;height:16px}.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)}.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}.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{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-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}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;min-width:0;line-height:1.3;display:flex}.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}.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}.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{position:relative}.task-dnd-row.dragging{opacity:.45}.task-dnd-row.drop-before{box-shadow:inset 0 2px 0 var(--primary)}.task-dnd-row.drop-after{box-shadow:inset 0 -2px 0 var(--primary)}.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}.task-row{align-items:flex-start;gap:var(--s-md);padding:var(--s-sm) var(--s-sm);border-bottom:1px solid var(--hairline);display:flex}.task-row:hover{background:var(--canvas-soft)}.task-row:hover .row-actions{opacity:1}.check{border:1px solid var(--mute);border-radius:var(--r-xs);cursor:pointer;background:var(--canvas);flex:none;place-items:center;width:18px;height:18px;margin-top:2px;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-body{flex:1;min-width:0}.task-title{color:var(--ink);font-size:15px;font-weight:500}.task-row.done .task-title{color:var(--mute);text-decoration:line-through}.task-ref{font-family:var(--font-mono);color:var(--accent-blue-deep);cursor:pointer;align-items:center;gap:5px;margin-top:4px;font-size:12px;display:inline-flex}.task-ref svg{width:13px;height:13px}.task-due{color:var(--body-mid);align-items:center;gap:5px;margin-top:4px;font-size:13px;display:inline-flex}.task-due svg{width:13px;height:13px}.task-due.is-overdue{color:var(--accent-red);font-weight:550}.task-assignee{color:var(--body-mid);align-items:center;gap:5px;margin-top:4px;font-size:13px;display:inline-flex}.task-assignee svg{width:13px;height:13px}.task-assignee-add{width:calc(25.6px + var(--s-xxs) * 2 + 2px);height:calc(25.6px + var(--s-xxs) * 2 + 2px);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--mute);cursor:pointer;flex:none;justify-content:center;align-self:center;align-items:center;margin-left:2px;padding:0;transition: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:wrap;margin-top:4px;display:flex}.task-person-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:5px;font-size:13px;display:inline-flex}.task-person-chip svg{width:13px;height:13px}.task-person-chip-remove{color:var(--mute);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;justify-content:center;align-items:center;margin-left:1px;padding:0;display:inline-flex}.task-person-chip-remove:hover{color:var(--accent-red)}.task-person-chip-remove svg{width:11px;height:11px}.row-actions{opacity:0;gap:2px;transition:opacity .12s;display:flex}.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}.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-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:1.35}.event-title-edit{width:100%;min-width:0;font-size:14px}.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:1fr 400px;align-items:start;display:grid}.proj-split>*,.files-grid>*{min-width:0}.sticky-side{gap:var(--s-2xl);flex-direction:column;display:flex;position:sticky;top:96px}.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:"MuseoModerno", var(--font-sans);letter-spacing:-3px;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:600;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:991px){.proj-split,.files-grid{grid-template-columns:1fr}.sticky-side{position:static}}@media (max-width:768px){.app{grid-template-columns:1fr}.burger{display:grid}.hide-mobile{display:none!important}.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%)}.sidebar.open{transform:translate(0)}.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-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);margin-top:var(--s-sm);flex-wrap:wrap;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-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;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:26px;height:26px;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;color:var(--mute-soft);cursor:grab;opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;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}.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-md)}.tl-step{min-width:0}.tl-head{padding-right:var(--s-sm)}.tl-label{min-width:0}.tl-bar{transition:background .35s 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)}.task-row{padding:var(--s-md) var(--s-sm);border-radius:var(--r-sm);transition:background .18s var(--ease-quint), transform .18s var(--ease-quint)}.task-row:hover{transform:translate(3px)}.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)}.task-person-chip{transition:border-color .15s, color .15s, transform .15s var(--ease-quint)}.task-person-chip:hover{border-color:var(--mute-soft)}.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}@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,.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:2px 0}
button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}input:not([type=hidden]):not(.cubone-scope *),select:not(.cubone-scope *),textarea:not(.cubone-scope *){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}textarea{resize:vertical;min-height:84px}button:not(.cubone-scope *):not(.btn):not(.icon-btn):not(.nav-row):not(.section-check):not(.check):not(.kmenu-item):not(.menu-item):not(.file-open-btn):not(.project-add):not(.mm-swatch):not(.ref-picker-row):not(.ref-picker-open):not(.ref-picker-pick):not(.ref-picker-back):not(.pg-person):not(.pg-pop-item):not(.inline-email-edit):not(.value-edit):not(.task-assignee-chip-remove):not(.seg-btn):not(.task-person-add-chip):not(.task-assignee-add):not(.task-person-chip-remove):not(.move-chip):not(.file-details-thumb):not(.mm-fmt-toggle):not(.mm-fmt-size-btn):not(.mm-fmt-swatch-neutral):not(.mm-link-url-btn):not(.mm-link-url-remove):not(.mm-comment-del):not(.mm-comment-send),a.button{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;background:var(--primary);color:var(--on-primary);border:1px solid #0000;font-size:16px;font-weight:500;line-height:25.6px;text-decoration:none;display:inline-flex}button.btn-primary,.btn-primary{background:var(--primary);color:var(--on-primary);border-color:#0000}button.btn-secondary,.btn-secondary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}button.btn-text,.btn-text{color:var(--ink);padding:var(--s-sm) 0;background:0 0;border-color:#0000}button.btn-sm,.btn-sm{padding:var(--s-sm) var(--s-md);font-size:14px;line-height:22.4px}button.secondary,a.button.secondary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}button.icon{place-items:center;width:32px;height:32px;padding:0;display:grid}.error{color:var(--accent-red);font-size:14px}.nav-toggle{opacity:0;pointer-events:none;position:fixed}.nav-toggle:checked~.nav-backdrop{display:block}.nav-toggle:checked~.sidebar{transform:translate(0)}.topbar .burger{color:var(--ink)}.shell-form{width:100%;margin:0}.sidebar .nav-row{text-align:left;background:0 0;border-color:#0000;width:100%}.sidebar button.nav-row{appearance:none}.icon-form{display:inline-flex}.toolbar,.admin-inline,.inline-form{gap:var(--s-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.admin-inline .input,.admin-inline select,.admin-inline textarea,.inline-form input:not([type=hidden]),.inline-form select,.inline-form textarea{width:min(240px,100%)}.page-title{margin:var(--s-sm) 0 var(--s-2xl);font-size:32px;font-weight:500;line-height:41.6px}.panel{background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-3xl)}.stack{gap:var(--s-md);display:grid}.section-layout{gap:var(--s-3xl);grid-template-columns:1fr 300px;align-items:start;display:grid}.side-block{gap:var(--s-2xl);flex-direction:column;display:flex;position:sticky;top:96px}.row-title{letter-spacing:-.2px;color:var(--ink);font-size:18px;font-weight:500;display:block}.muted{color:var(--mute)}.inline-email-edit{text-align:left;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;padding:0;display:inline-block;overflow:hidden}.inline-email-edit:hover{color:var(--ink)}.value-edit{cursor:pointer;background:0 0;border:0;padding:0}.value-edit:hover{color:var(--ink)}.inline-edit-fields{align-items:center;gap:var(--s-sm);display:inline-flex}.inline-edit-fields select,.inline-edit-fields input{width:auto;min-height:32px;padding:var(--s-xs) var(--s-sm);font-size:14px}.user-search{align-items:center;gap:var(--s-sm);max-width:360px;display:flex}.user-search svg{width:18px;height:18px;color:var(--mute);flex:none}.user-search .input{width:100%}.confirm-overlay{padding:var(--s-lg);z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-overlay-plain{background:0 0}.confirm-card{gap:var(--s-xl);width:min(420px,100%);padding:var(--s-2xl);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-4);flex-direction:column;display:flex}.confirm-card:focus{outline:none}.confirm-card-msg{color:var(--ink);margin:0;font-size:15px;line-height:1.4}.confirm-card-actions{justify-content:flex-end;gap:var(--s-sm);flex-wrap:wrap;display:flex}.btn.btn-danger{background:var(--canvas);color:var(--accent-red);border-color:var(--accent-red)}.btn.btn-danger:hover{background:color-mix(in srgb, var(--accent-red) 8%, transparent)}.meta-item.is-danger,.meta-item.is-danger svg{color:var(--accent-red)}.nav-row{color:var(--mute)}.nav-row.active{color:var(--ink)}.nav-row.is-disabled{color:var(--mute-soft);pointer-events:none;cursor:default}.nav-row.is-disabled:hover{background:0 0;border-color:#0000}.dash-project-link{align-items:center;gap:var(--s-sm);color:var(--ink);display:inline-flex}.dash-project-link svg{width:18px;height:18px;color:var(--body-mid)}.dash-project-link:hover{color:var(--accent-blue-deep)}.meta{gap:var(--s-lg);margin-top:var(--s-sm);color:var(--body-mid);flex-wrap:wrap;font-size:14px;display:flex}.segment{color:inherit;text-decoration:none}.circle{border-radius:var(--r-xs);border:1px solid var(--mute);background:var(--canvas);width:18px;height:18px;padding:0}.circle.done{background:var(--accent-green);border-color:var(--accent-green)}.file-grid{gap:var(--s-lg);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.sort-controls{align-items:center;gap:var(--s-xs);display:inline-flex}.sort-chips{align-items:center;gap:var(--s-xs);flex-wrap:wrap;display:inline-flex}.sort-chip{font-family:var(--font-sans);padding:var(--s-xs) var(--s-md);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--body-mid);white-space:nowrap;align-items:center;font-size:14px;font-weight:500;line-height:22.4px;text-decoration:none;display:inline-flex}.sort-chip:hover{color:var(--ink)}.sort-chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.move-chips{align-items:center;gap:var(--s-xs);flex-wrap:wrap;display:inline-flex}.bulk-move-chips{margin-bottom:var(--s-sm)}.move-chip{align-items:center;gap:var(--s-xs);font-family:var(--font-sans);padding:var(--s-xs) var(--s-md);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--ink);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:500;line-height:22.4px;display:inline-flex}.move-chip:hover{border-color:var(--ink)}.move-chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.move-chip:disabled{opacity:.5;cursor:default}.move-chip svg{width:16px;height:16px}.file-row-actions{align-items:center;gap:var(--s-xs);flex-wrap:wrap;display:inline-flex}.icon-btn-danger:hover{color:var(--accent-red)}.tile-name-value,.flist-name-value{font:inherit;color:inherit;text-align:left}.file-name-edit{width:100%;min-height:32px;padding:var(--s-xs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);color:var(--ink);font-size:14px}.bulk-bar{align-items:center;gap:var(--s-xs);min-height:38px;margin-bottom:var(--s-sm);background:var(--canvas);border:0;border-radius:0;flex-wrap:nowrap;padding:0;display:flex;overflow-x:auto}.bulk-bar summary{list-style:none}.bulk-bar summary::-webkit-details-marker{display:none}.bulk-bar .btn{white-space:nowrap}.bulk-bar>span{margin-right:var(--s-md);color:var(--body-mid);font-size:16px;font-weight:400;line-height:25.6px}.bulk-bar:not(.idle)>span{color:var(--ink)}.bulk-bar .btn,.bulk-bar button:not(.icon-btn):not(.nav-row):not(.section-check):not(.check),.bulk-bar a.button,.bulk-bar summary.btn{min-height:34px;color:var(--ink);border-radius:var(--r-sm);padding:var(--s-xs) var(--s-sm);box-shadow:none;background:0 0;border-color:#0000;font-size:16px;font-weight:400;line-height:25.6px}.bulk-bar .btn:hover,.bulk-bar button:not(.icon-btn):not(.nav-row):not(.section-check):not(.check):hover,.bulk-bar a.button:hover,.bulk-bar summary.btn:hover{background:var(--canvas-soft);border-color:#0000}.bulk-bar button:disabled{opacity:.4;cursor:not-allowed;background:0 0}.tile.selected,.flist-row.selected{outline:2px solid var(--primary);outline-offset:-2px;background:var(--canvas-soft)}.tile.drop-target,.flist-row.drop-target{box-shadow:inset 0 3px 0 var(--primary)}.tile.drop-move-target,.flist-row.drop-move-target{outline:2px solid var(--primary);outline-offset:-2px;box-shadow:inset 0 0 0 2px var(--primary);background:var(--canvas-soft)}.tile.drop-move-target:after,.flist-row.drop-move-target:after{content:"Hierher verschieben";margin-top:var(--s-sm);color:var(--primary);font-size:12px;font-weight:600;display:block}.tile[draggable=true]{cursor:grab}.file-open-btn{width:auto;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.admin-panel{margin-top:var(--s-lg);padding-top:var(--s-lg);border-top:1px solid var(--hairline)}.project-row form,.task-row form,.event-row form,.flist-row form,.tile form,.inbox-item form{margin:0}.project-row>a{color:inherit;text-decoration:none}.kmenu-file-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.task-row{cursor:default}.task-row .check{padding:0}.task-row .check svg{opacity:1}.task-row:not(.done) .check svg{opacity:0}.login-page{background:var(--canvas);height:100vh;position:relative;overflow:hidden}.login-scene{z-index:0;pointer-events:auto;position:absolute;inset:0}.login-scene>div,.login-scene canvas{width:100%!important;height:100%!important}.login-scene-fallback{background:var(--canvas);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.login-scene-fallback-word{color:var(--ink);-webkit-user-select:none;user-select:none;font-family:MuseoModerno,Inter,system-ui,sans-serif;font-size:clamp(4rem,15vw,13rem);font-weight:600;line-height:1}.login-overlay{z-index:10;padding:var(--s-3xl);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.auth-card{pointer-events:auto;gap:var(--s-lg);width:min(420px,100%);padding:var(--s-3xl);-webkit-backdrop-filter:blur(16px);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-4);background:#ffffffe0;flex-direction:column;display:flex;transform:translateY(24vh)}.auth-card .field{gap:var(--s-xs);flex-direction:column;display:flex}.auth-card label{color:var(--ink);font-size:14px;font-weight:500;line-height:22.4px}.auth-foot{margin-top:var(--s-sm);justify-content:space-between;align-items:center;display:flex}@media (max-width:768px){.admin-inline .input,.admin-inline select,.admin-inline textarea,.inline-form input:not([type=hidden]),.inline-form select,.inline-form textarea{width:100%}.section-layout{grid-template-columns:1fr}.side-block{position:static}}.files-search-row{align-items:center;gap:var(--s-md);margin-top:var(--s-md);flex-wrap:wrap;display:flex}.files-search{align-items:center;gap:var(--s-sm);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-sm);min-width:180px;padding:0 var(--s-sm) 0 var(--s-md);flex:220px;display:inline-flex}.files-search:focus-within{border-color:var(--ink)}.files-search>svg{width:16px;height:16px;color:var(--mute);flex:none}.files-search-input{min-width:0;color:var(--ink);font-family:var(--font-sans);letter-spacing:-.16px;padding:var(--s-sm) 0;background:0 0;border:0;flex:auto;font-size:14px}.files-search-input:focus{outline:none}.files-search-input::placeholder{color:var(--mute-soft)}.files-search .icon-btn{width:28px;height:28px}.files-type-chips{align-items:center;gap:var(--s-xs);flex-wrap:wrap;display:inline-flex}.tile-thumb{border-radius:var(--r-sm);background:var(--canvas-soft);border:1px solid var(--hairline);flex:none;width:56px;height:56px;display:block;overflow:hidden}.tile-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.file-details-thumb{aspect-ratio:16/10;width:100%;margin-top:var(--s-md);border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--canvas-soft);cursor:pointer;padding:0;display:block;overflow:hidden}.file-details-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.file-details-list{gap:var(--s-xs) var(--s-md);margin:var(--s-md) 0 0;grid-template-columns:auto 1fr;display:grid}.file-details-list dt{color:var(--mute);font-size:12.8px;font-weight:550}.file-details-list dd{color:var(--ink);word-break:break-word;margin:0;font-size:14px}.file-details-list dd.fd-name{font-weight:500}.file-details-actions{align-items:center;gap:var(--s-sm);margin-top:var(--s-lg);flex-wrap:wrap;display:flex}.file-preview-backdrop{z-index:80;padding:var(--s-2xl);background:#0808088c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-preview-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-4);flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 64px);display:flex;overflow:hidden}.file-preview-head{justify-content:space-between;align-items:center;gap:var(--s-md);padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--hairline);display:flex}.file-preview-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.file-preview-head-actions{align-items:center;gap:var(--s-xs);flex:none;display:inline-flex}.file-preview-body{padding:var(--s-lg);flex-direction:column;display:flex;overflow:auto}.file-preview-img{-o-object-fit:contain;object-fit:contain;border-radius:var(--r-sm);max-width:100%;max-height:calc(100vh - 200px);margin:0 auto}.file-preview-frame{border-radius:var(--r-sm);background:var(--canvas-soft);border:0;width:100%;height:calc(100vh - 200px)}.file-preview-text{font-family:var(--font-mono);color:var(--body);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.mt-xxs{margin-top:var(--s-xxs)}.body-strong{color:var(--ink);font-weight:500}.row-chevron{width:18px;height:18px;color:var(--mute);flex:none}.icon-mute-sm{width:16px;height:16px;color:var(--mute);flex:none}.brand-mark-sm{width:26px;height:26px;font-size:11px}.brand-mark-xs{width:22px;height:22px;font-size:10px}.btn-block{justify-content:center;width:100%}.project-meta-flush{margin-top:0}.p-title-edit-trigger,.section-name-value,.group-name-value{cursor:pointer}.p-title-edit-trigger:hover,.section-name-value:hover,.group-name-value:hover{color:var(--accent-blue-deep)}
