:root{--bg:#eef0f3;--chrome:#dde1e8;--chrome-hover:#cfd5de;--panel:#fff;--panel-muted:#f3f4f6;--team-bg:#fff;--team-bg-alt:#fafbfc;--surface:#fff;--base:#f3f4f6;--line:#cdd2da;--line-soft:#e2e5ea;--text:#111827;--text-soft:#566072;--text-muted:#7b8494;--accent:#4f6ef7;--accent-strong:#3d5ae0;--accent-soft:#4f6ef714;--danger:#dc2626;--danger-soft:#fee2e2;--danger-text:#991b1b;--success:#059669;--success-soft:#d1fae5;--success-text:#065f46;--manager-bg:#e9ecf1;--manager-line:#a7afbc;--shadow-sm:0 1px 2px #1018280f;--shadow:0 2px 6px #10182814, 0 1px 2px #1018280d;--shadow-lg:0 8px 20px #1018281f, 0 2px 6px #1018280f;--shadow-xl:0 20px 48px #1018282e, 0 4px 12px #10182814;--shadow-popover:0 8px 24px #1018281f, 0 0 0 1px #1018280a;--z-toolbar:90;--z-panel:95;--z-drawer:100;--z-action-bar:110;--z-modal:200;--fs-xs:.6875rem;--fs-sm:.75rem;--fs-base:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.75rem;--space:8px;--gutter:16px;--radius-sm:4px;--radius:6px;--radius-lg:8px;--radius-xl:12px;--transition:.14s cubic-bezier(.22, 1, .36, 1);--card-w:140px;--card-min-h:82px;--card-gap:8px;--team-gap:12px}*,:before,:after{box-sizing:border-box}body{font-feature-settings:"cv02", "cv03", "cv04", "cv11";height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}#app{grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;height:100vh;display:grid;overflow:hidden}button{font:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#00000038}.page-shell{--board-zoom:1;--board-inset:var(--gutter);--board-clearance:72px;grid-area:2/1;min-width:0;min-height:0;position:relative;overflow:auto}.board-zoom-layer{top:var(--board-inset);left:var(--board-inset);box-sizing:border-box;width:max-content;min-width:calc((100% - var(--board-inset)) / var(--board-zoom));min-height:calc((100% - var(--board-inset)) / var(--board-zoom));padding:0 calc(var(--board-inset) / var(--board-zoom)) calc(var(--board-clearance) / var(--board-zoom)) 0;transform:scale(var(--board-zoom));transform-origin:0 0;display:grid;position:absolute}.board-scroll-fades{z-index:1;pointer-events:none;grid-area:2/1;min-width:0;min-height:0;position:relative;overflow:hidden}.board-fade{opacity:0;transition:opacity .2s;position:absolute}.board-fade-left,.board-fade-right{width:40px;top:0;bottom:0}.board-fade-top,.board-fade-bottom{height:40px;left:0;right:0}.board-fade-left{background:linear-gradient(to right, var(--bg), transparent);left:0}.board-fade-right{background:linear-gradient(to left, var(--bg), transparent);right:0}.board-fade-top{background:linear-gradient(to bottom, var(--bg), transparent);top:0}.board-fade-bottom{background:linear-gradient(to top, var(--bg), transparent);bottom:0}.can-scroll-left>.board-fade-left,.can-scroll-right>.board-fade-right{opacity:1}.app-toolbar{z-index:var(--z-toolbar);padding:0 var(--gutter) 0 12px;background:var(--chrome);grid-area:1/1/auto/-1;align-items:center;gap:12px;height:44px;display:flex}.toolbar-brand{flex:none;align-items:center;gap:8px;margin-right:-10px;display:flex}.toolbar-logo{flex:none;width:49px;height:36px;display:block}.toolbar-title{font-size:var(--fs-md);letter-spacing:-.02em;color:var(--text);font-weight:700}.toolbar-actions{flex:none;align-items:center;gap:2px;display:flex}.toolbar-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);min-height:32px;font-size:var(--fs-base);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);align-items:center;gap:6px;padding:6px 12px;font-weight:500;text-decoration:none;display:inline-flex}.toolbar-button:hover{background:var(--panel-muted);border-color:var(--text-muted)}.toolbar-button:active{background:var(--line-soft)}.toolbar-button svg{width:14px;height:14px;color:var(--text-soft)}.toolbar-actions .toolbar-button{color:var(--text-soft);background:0 0;border-color:#0000;padding:6px 10px}.toolbar-actions .toolbar-button:hover{background:var(--chrome-hover);color:var(--text);border-color:#0000}.toolbar-actions .toolbar-button:hover svg{color:var(--text)}.scenario-tabs{--tab-radius:10px;min-width:0;padding:0 var(--tab-radius);scrollbar-width:none;flex:auto;align-self:stretch;align-items:flex-end;display:flex;overflow:auto hidden}.scenario-tabs::-webkit-scrollbar{display:none}.scenario-tab{border-radius:var(--tab-radius) var(--tab-radius) 0 0;height:38px;color:var(--text-soft);font-size:var(--fs-base);white-space:nowrap;cursor:pointer;transition:background var(--transition), color var(--transition);outline-offset:-3px;background:0 0;border:none;flex:none;align-items:center;gap:6px;padding:0 10px 0 14px;font-weight:500;display:inline-flex;position:relative}.scenario-tab+.scenario-tab:before{content:"";background:var(--line);width:1px;position:absolute;top:11px;bottom:11px;left:0}.scenario-tab:hover{color:var(--text);background:var(--chrome-hover)}.scenario-tab.is-active{z-index:1;color:var(--text);background:var(--bg);font-weight:600}.scenario-tab.is-active:before,.scenario-tab.is-active+.scenario-tab:before,.scenario-tab:hover:before,.scenario-tab:hover+.scenario-tab:before{display:none}.scenario-tab.is-active:after{content:"";bottom:0;left:calc(-1 * var(--tab-radius));right:calc(-1 * var(--tab-radius));height:var(--tab-radius);pointer-events:none;background:radial-gradient(circle at 0 0, transparent var(--tab-radius), var(--bg) calc(var(--tab-radius) + .5px)) left / var(--tab-radius) 100% no-repeat, radial-gradient(circle at 100% 0, transparent var(--tab-radius), var(--bg) calc(var(--tab-radius) + .5px)) right / var(--tab-radius) 100% no-repeat;position:absolute}.scenario-tab-name{cursor:text;text-overflow:ellipsis;max-width:180px;overflow:hidden}.scenario-tab-input{font:inherit;font-size:var(--fs-base);color:var(--text);border:none;border-bottom:1px solid var(--accent);background:0 0;outline:none;min-width:40px;padding:0;font-weight:600}.scenario-tab-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), opacity var(--transition);opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.scenario-tab-close svg{width:12px;height:12px}.scenario-tab:hover .scenario-tab-close,.scenario-tab.is-active .scenario-tab-close,.scenario-tab-close:focus-visible{opacity:1}.scenario-tab-close:hover{color:var(--text);background:#1118271a}.scenario-tab-add{width:28px;height:28px;color:var(--text-soft);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-self:flex-end;align-items:center;margin:0 0 5px 8px;padding:0;display:inline-flex;position:relative}.scenario-tab-add svg{width:15px;height:15px}.scenario-tab-add:hover{background:var(--chrome-hover);color:var(--text)}.scenario-tab:not(.is-active,:hover)+.scenario-tab-add:before{content:"";background:var(--line);width:1px;position:absolute;top:4px;bottom:4px;left:-8px}.app-grid{min-width:0;display:grid}.action-bar{z-index:var(--z-action-bar);max-width:calc(100% - 2 * var(--gutter));scrollbar-width:none;border-radius:var(--radius-xl);background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);grid-area:2/1;place-self:end center;align-items:center;gap:2px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.action-bar::-webkit-scrollbar{display:none}.action-bar .team-control-button{width:32px;height:32px;color:var(--text-soft);flex:none}.action-bar .team-control-button svg{width:16px;height:16px}.action-bar .team-control-button.is-active{color:#fff}.action-bar-divider{background:var(--line-soft);flex:none;width:1px;height:18px;margin:0 4px}.action-bar .zoom-level-button{width:auto;min-width:52px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;justify-content:center;padding:0 6px;font-weight:600}.unassigned-bar{z-index:var(--z-drawer);border-top:1px solid var(--line-soft);background:var(--panel);padding:10px var(--gutter) 12px;flex-shrink:0;grid-area:3/1;height:190px;max-height:190px;transition:max-height .3s cubic-bezier(.22,1,.36,1);overflow:hidden}.unassigned-bar.is-collapsed{max-height:48px;overflow:hidden}.unassigned-bar-header{cursor:pointer;border-radius:var(--radius);transition:background-color var(--transition);align-items:center;gap:6px;margin:0 -6px;padding:0 6px 0 0;display:flex}.unassigned-bar-header:hover{background:var(--panel-muted)}.unassigned-bar-header strong{font-size:var(--fs-base);color:var(--text);font-weight:600}.unassigned-count{background:var(--panel-muted);color:var(--text-soft);font-size:var(--fs-xs);text-align:center;border-radius:999px;min-width:22px;padding:2px 8px;font-weight:700}.delete-all-unassigned{transition:color var(--transition);color:var(--text-muted);margin-left:auto}.delete-all-unassigned:hover{color:var(--danger)}.unassigned-bar .roster-cards-wrapper{margin-top:8px;position:relative}.unassigned-bar .roster-cards-wrapper:before,.unassigned-bar .roster-cards-wrapper:after{content:"";z-index:2;pointer-events:none;opacity:0;width:32px;transition:opacity .2s;position:absolute;top:0;bottom:0}.unassigned-bar .roster-cards-wrapper:before{background:linear-gradient(to right, var(--panel), transparent);border-radius:var(--radius-lg) 0 0 var(--radius-lg);left:0}.unassigned-bar .roster-cards-wrapper:after{background:linear-gradient(to left, var(--panel), transparent);border-radius:0 var(--radius-lg) var(--radius-lg) 0;right:0}.unassigned-bar .roster-cards-wrapper.can-scroll-left:before,.unassigned-bar .roster-cards-wrapper.can-scroll-right:after{opacity:1}.unassigned-bar .roster-cards{scrollbar-width:thin;flex-wrap:nowrap;align-items:flex-start;width:auto;height:128px;padding-top:19px;overflow:auto hidden}.unassigned-bar .roster-cards>*{flex-shrink:0}.unassigned-bar .roster-cards::-webkit-scrollbar{height:6px}.unassigned-bar .roster-cards::-webkit-scrollbar-thumb{background:var(--line-soft);border-radius:3px}.unassigned-bar .roster-cards::-webkit-scrollbar-track{background:0 0}.roster-cards{min-height:calc(var(--card-min-h) + 16px);border:1.5px dashed var(--line);border-radius:var(--radius-lg);gap:var(--card-gap);transition:border-color var(--transition), background var(--transition);flex-wrap:wrap;align-content:flex-start;align-items:stretch;width:max-content;padding:7px;display:flex}.root-dropzone{align-items:flex-start;gap:var(--team-gap);border-radius:var(--radius-xl);min-height:140px;transition:border-color var(--transition), background var(--transition);border:1.5px dashed #0000;flex-flow:row;margin:-4px;padding:4px;display:flex}.root-dropzone>.team{flex:none}.dropzone.is-over,.manager-slot.is-over,.member-slot.is-over,.subteam-slot.is-over{border-color:var(--accent);background:var(--accent-soft)}.slot.manager-slot.is-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.empty-note{color:var(--text-muted);font-size:var(--fs-sm);margin:0;line-height:1.3}.empty-board{width:100%;min-height:60vh;color:var(--text-soft);text-align:center;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-board>svg{stroke-width:1.25px;width:40px;height:40px;color:var(--text-muted)}.empty-board-title{font-size:var(--fs-lg);color:var(--text);margin:0;font-weight:600}.empty-board-hint{font-size:var(--fs-base);color:var(--text-soft);margin:0}.dragging-source{opacity:.35;visibility:visible;pointer-events:none!important}body.copy-mode,body.copy-mode *{cursor:copy!important}.person-card{--tz-color:var(--line);width:var(--card-w);min-height:var(--card-min-h);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-sm);cursor:grab;transition:box-shadow var(--transition), border-color var(--transition);flex-direction:column;justify-content:center;gap:1px;padding:8px 8px 8px 12px;display:flex;position:relative}.person-card:before{content:"";border-left:4px solid var(--tz-color);border-radius:inherit;pointer-events:none;position:absolute;inset:-1px}.person-card:hover{border-color:var(--text-muted);box-shadow:var(--shadow)}.person-card:active,.team-handle:active{cursor:grabbing}.person-name,.person-role,.person-location,.person-timezone{white-space:nowrap;text-overflow:ellipsis;line-height:1.35;position:relative;overflow:hidden}.person-name{font-size:var(--fs-base);color:var(--text);font-weight:600}.person-role{font-size:var(--fs-sm);color:var(--text-soft);font-weight:500}.person-location,.person-timezone{font-size:var(--fs-xs);color:var(--text-muted)}.person-timezone{font-variant-numeric:tabular-nums}.person-level{font-size:var(--fs-xs);background:var(--panel-muted);color:var(--text-soft);border-radius:var(--radius-sm);justify-content:center;align-items:center;margin-left:6px;padding:0 4px;font-weight:600;line-height:1.2;display:inline-flex}.manager-slot .person-card{border-color:var(--manager-line);background:var(--manager-bg)}.card-top-actions{border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line-soft);opacity:0;transition:opacity var(--transition);z-index:1;gap:1px;padding:1px;display:flex;position:absolute;top:-17px;right:6px}.person-card:hover .card-top-actions,.person-card:has(:focus-visible) .card-top-actions{opacity:1}.card-action-button{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--text-soft);transition:all var(--transition);background:0 0;border:none;place-items:center;padding:0;display:grid}.card-action-button svg{width:13px;height:13px}.card-split-button:hover,.card-merge-button:hover,.card-remove-button:hover{color:var(--accent);background:#4f6ef726}.card-destroy-button:hover{color:var(--danger);background:var(--danger-soft)}.card-edit-button:hover{color:var(--accent);background:#4f6ef726}.card-notes{font-size:var(--fs-xs);color:var(--text-soft);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-top:3px;font-style:italic;line-height:1.35;display:-webkit-box;position:relative;overflow:hidden}.card-membership-count{min-width:16px;height:16px;font-size:var(--fs-xs);color:#fff;background:var(--accent);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:4px;padding:0 4px;font-weight:700;line-height:1;display:inline-flex}.card-copy-badge{background:var(--accent-soft);height:16px;color:var(--accent-strong);font-size:var(--fs-xs);border-radius:999px;align-self:flex-start;align-items:center;gap:3px;margin-bottom:2px;padding:0 6px;font-weight:700;line-height:1;display:inline-flex}.card-copy-badge svg{flex-shrink:0;width:10px;height:10px}.person-card.card-requested{border:1.5px dashed var(--text-muted);box-shadow:none;background-image:repeating-linear-gradient(-45deg,#0000,#0000 4px,#11182709 4px 8px)}.modal-textarea{resize:vertical;min-height:48px;font-family:inherit}.modal-switch-label{font-size:var(--fs-base);color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.modal-switch{appearance:none;background:var(--line);cursor:pointer;width:36px;height:20px;transition:background var(--transition);border-radius:999px;flex-shrink:0;position:relative}.modal-switch:after{content:"";width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.modal-switch:checked{background:var(--accent)}.modal-switch:checked:after{transform:translate(16px)}.manager-override-pill{max-width:100%;height:16px;font-size:var(--fs-xs);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-self:flex-start;align-items:center;gap:3px;margin-bottom:2px;padding:0 6px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.manager-override-pill .lucide{flex-shrink:0;width:10px;height:10px}.manager-pick-list{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow-y:auto}.manager-pick-item{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel);cursor:pointer;transition:all var(--transition);font:inherit;text-align:left;align-items:center;gap:10px;padding:8px 12px;display:flex}.manager-pick-item:hover{border-color:var(--accent);background:var(--accent-soft)}.manager-pick-pill{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.manager-pick-name{font-size:var(--fs-base);color:var(--text);font-weight:600}.manager-pick-role{font-size:var(--fs-sm);color:var(--text-soft);flex:1}.manager-pick-tag{font-size:var(--fs-xs);color:var(--text-soft);background:var(--panel-muted);border-radius:999px;padding:1px 6px;font-weight:600}.team{gap:var(--space);min-width:calc(var(--card-w) + 28px);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--team-bg);box-shadow:var(--shadow-sm);flex-direction:column;flex:0 auto;padding:8px 12px 12px 14px;display:flex;position:relative}.team .team,.team .team .team .team,.team .team .team .team .team .team{background:var(--team-bg-alt);box-shadow:none}.team .team .team,.team .team .team .team .team,.team .team .team .team .team .team .team{background:var(--team-bg);box-shadow:none}.team:before{content:"";border-left:3px solid var(--ribbon-color,var(--line-soft));border-radius:inherit;pointer-events:none;position:absolute;inset:0}.team[data-view=collapsed].is-over{border-color:var(--accent);background:var(--accent-soft)}.team-titlebar{justify-content:space-between;align-items:center;gap:2px;min-height:28px;margin-left:-6px;display:flex}.team-toolbar{z-index:2;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line-soft);opacity:0;transition:opacity var(--transition);padding:1px;position:absolute;top:-14px;right:8px}.team-toolbar-left{gap:1px;display:flex}.team-titlebar .team-toolbar:hover,.team:hover:not(:has(.team:hover,.person-card:hover,.team-name:hover,.team-handle:hover))>.team-titlebar .team-toolbar,.team-titlebar:has(:focus-visible) .team-toolbar{opacity:1}.team-toolbar .team-control-button{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-soft)}.team-toolbar .team-control-button svg{width:13px;height:13px}.team-toolbar .team-control-button:hover{color:var(--accent);background:#4f6ef726}.team-toolbar .team-delete-button{margin-left:4px}.team-toolbar .team-delete-button:hover{color:var(--danger);background:var(--danger-soft)}.team-icon-expand,.team[data-view=collapsed]>.team-titlebar .team-icon-collapse{display:none}.team[data-view=collapsed]>.team-titlebar .team-icon-expand{display:block}.team-name{min-width:0;font-size:var(--fs-md);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:auto;margin:0;font-weight:600;overflow:hidden}.team-name-text{cursor:text}.team-name-input{font:inherit;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel);width:100%;box-shadow:0 0 0 3px var(--accent-soft);outline:none;margin:-2px 0;padding:1px 4px}.team-handle,.team-control-button{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);transition:color var(--transition), background var(--transition);background:0 0;border:none;place-items:center;padding:0;display:grid}.team-handle{cursor:grab;flex:none;width:22px}.team-control-button{cursor:pointer}.team-handle:hover,.team-control-button:hover{color:var(--text);background:#1118270f}.team-control-button.is-active{background:var(--accent);color:#fff}.team-control-button svg,.team-handle svg{width:15px;height:15px}.drawer-chevron svg{transition:transform .2s cubic-bezier(.22,1,.36,1);transform:rotate(180deg)}.drawer-chevron.is-expanded svg{transform:rotate(0)}.team-body{align-items:flex-start;gap:var(--team-gap);flex-direction:row;min-width:0;display:flex}.slot{border-radius:var(--radius-lg);transition:border-color var(--transition), background var(--transition);border:1.5px dashed #0000;position:relative}.member-slot{gap:var(--card-gap);flex-direction:column;flex:none;margin:-4px;padding:4px;display:flex}.member-entry{flex:none;max-width:100%;display:flex;position:relative}.slot.manager-slot{border-width:0;flex:none;transition:none;display:flex}.manager-slot:not(:has(.person-card)){width:var(--card-w);min-height:var(--card-min-h);border-width:1.5px;border-color:var(--manager-line);background:var(--manager-bg);color:var(--text-soft)}.manager-slot>.empty-note,.member-slot>.empty-note{text-align:center;place-items:center;padding:0 12px;display:grid}.manager-slot>.empty-note{color:inherit;flex:auto}.member-slot>.empty-note{width:var(--card-w);min-height:var(--card-min-h);border:1.5px dashed var(--line);border-radius:var(--radius-lg)}.subteam-slot{align-items:flex-start;gap:var(--team-gap);flex-flow:row;display:flex}.subteam-slot>.member-entry,.child-team{flex:none;display:flex}.subteam-slot:empty,.subteam-slot:not(:has(>*)){display:none}.subteam-slot.is-over:not(:has(>*)){align-self:stretch;min-width:56px;min-height:56px;display:flex}.subteam-slot.is-over{margin:-4px;padding:4px}.team[data-view=collapsed] .team-body{gap:0}.team[data-view=collapsed] .member-slot,.team[data-view=collapsed] .manager-slot{min-width:0;min-height:0}.team[data-view=collapsed] .member-slot{max-width:var(--card-w);flex-flow:wrap;align-items:center;gap:4px}.team[data-view=collapsed] .slot.manager-slot{background:0 0;border-width:0;width:auto;min-height:0}.team[data-view=collapsed] .subteam-slot{display:none}.member-facepile{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.facepile-dot{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #1118271f}.facepile-empty{box-shadow:none;border:1.5px dashed var(--line);background:0 0}.team[data-view=collapsed] .manager-slot .facepile-dot:not(.facepile-empty){box-shadow:0 0 0 2px var(--panel), 0 0 0 3.5px var(--text-soft);margin:3px}.team[data-view=collapsed] .manager-slot .facepile-empty{border-color:var(--text-soft)}.board-legend-popover{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);animation:.15s cubic-bezier(.22,1,.36,1) popover-in}@keyframes popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.board-legend-popover{min-width:220px;max-width:280px;padding:12px 16px}.legend-section{flex-direction:column;gap:6px;display:flex}.legend-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-weight:600}.legend-item{font-size:var(--fs-base);color:var(--text);align-items:center;gap:8px;display:flex}.legend-item kbd{font-size:var(--fs-sm);background:var(--panel-muted);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:1px 5px;font-family:inherit;line-height:1.4;display:inline-block}.legend-swatch{border-radius:var(--radius-sm);flex:none;width:16px;height:16px}.legend-swatch-manager{background:var(--manager-bg);border:1px solid var(--manager-line)}.legend-swatch-members{background:var(--panel);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--accent)}.legend-swatch-subteams{background:var(--panel-muted);border:1px solid var(--line);border-radius:var(--radius)}.legend-swatch-requested{border:1.5px dashed var(--text-muted);background:repeating-linear-gradient(-45deg,#0000,#0000 2px,#0000000f 2px 4px)}.legend-swatch-ribbon{background:linear-gradient(#22c55e,#eab308,#ef4444);border-radius:2px;width:4px;height:16px}.legend-divider{background:var(--line-soft);height:1px;margin:8px 0}.modal-overlay{z-index:var(--z-modal);background:#1118276b;place-items:center;animation:.2s overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);flex-direction:column;gap:16px;width:480px;max-width:calc(100vw - 40px);padding:24px;animation:.25s cubic-bezier(.22,1,.36,1) modal-in;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0;font-weight:600}.modal-label{font-size:var(--fs-sm);color:var(--text-soft);flex-direction:column;gap:5px;font-weight:500;display:flex}.modal-input{font:inherit;font-size:var(--fs-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:36px;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:7px 10px}.modal-input::placeholder{color:var(--text-muted)}.modal-input:hover{border-color:var(--text-muted)}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.modal-actions .toolbar-button{min-height:36px;font-size:var(--fs-md);padding:7px 16px}.toolbar-button.modal-submit{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.toolbar-button.modal-submit svg{color:inherit}.toolbar-button.modal-submit:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.toolbar-button.modal-danger{background:var(--danger);border-color:var(--danger)}.toolbar-button.modal-danger:hover{background:#b91c1c;border-color:#b91c1c}.modal-body-text{font-size:var(--fs-md);color:var(--text-soft);margin:0 0 8px;line-height:1.5}.team-stats-panel{max-width:min(600px,100vw - 40px);max-height:calc(100vh - 80px);overflow-y:auto}.team-stats-overview,.team-stats-section{margin-bottom:12px}.team-stats-columns{columns:2;column-gap:24px}.team-stats-columns>.stats-row,.team-stats-columns>.team-stats-nested-row{break-inside:avoid}.team-stats-section-title{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px;font-weight:700}.team-stats-nested-row{font-size:var(--fs-base);align-items:center;gap:8px;padding:4px 0;display:flex}.team-stats-nested-row .stats-team-count{margin-left:auto}.sort-modal-panel{width:400px}.sort-layers{flex-direction:column;gap:6px;display:flex}.sort-layer{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel-muted);font-size:var(--fs-md);align-items:center;gap:8px;padding:8px 10px;display:flex}.sort-layer-number{font-weight:700;font-size:var(--fs-sm);color:var(--text-muted);text-align:center;flex-shrink:0;width:18px}.sort-layer-key{font:inherit;font-size:var(--fs-md);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;flex:1;padding:4px 8px}.sort-layer-dir{border-radius:var(--radius-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);cursor:pointer;transition:all var(--transition);border:none;place-items:center;display:grid}.sort-layer-dir:hover{background:var(--accent);color:#fff}.sort-layer-remove{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;place-items:center;display:grid}.sort-layer-remove:hover{background:var(--danger-soft);color:var(--danger)}.sort-add-layer-btn{border:1px dashed var(--line-soft);border-radius:var(--radius);color:var(--text-muted);font:inherit;font-size:var(--fs-base);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;display:flex}.sort-add-layer-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.help-content{columns:2 320px;column-gap:40px;max-width:960px;margin:0 auto;padding-bottom:32px}.help-section{break-inside:avoid;margin-bottom:24px}.help-section h4{font-size:var(--fs-md);color:var(--text);align-items:center;gap:8px;margin:0 0 8px;font-weight:600;display:flex}.help-section h4 svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}.help-section p{font-size:var(--fs-base);color:var(--text-soft);margin:0 0 8px;line-height:1.5}.help-section ul{margin:0;padding-left:20px;list-style:outside}.help-section li{font-size:var(--fs-base);color:var(--text-soft);line-height:1.6}.help-section li strong{color:var(--text);font-weight:600}.help-section kbd{background:var(--base);border:1px solid var(--line-soft);min-width:22px;height:20px;font-family:inherit;font-size:var(--fs-sm);color:var(--text-soft);vertical-align:middle;border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-weight:600;display:inline-flex}.help-section kbd svg{width:12px;height:12px}.landing-page{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100%;padding:40px 24px;display:flex}.app-grid:has(.landing-page){align-items:stretch;width:100%;height:100%}.landing-content{text-align:center;width:100%;max-width:760px}.landing-logo{margin-bottom:20px}.landing-title{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--text);margin:0 0 8px;font-weight:700}.landing-subtitle{font-size:var(--fs-lg);color:var(--text-soft);max-width:560px;margin:0 auto 16px;line-height:1.5}.landing-options{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.landing-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-xl);min-width:200px;max-width:240px;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);text-align:center;color:var(--text);font:inherit;flex-direction:column;flex:200px;align-items:center;gap:10px;padding:24px 20px;display:flex}.landing-card:hover{border-color:var(--accent);box-shadow:var(--shadow), 0 0 0 3px var(--accent-soft)}.landing-card[data-landing-action=demo]{border-color:var(--accent)}.landing-card[data-landing-action=demo] .landing-card-icon{background:var(--accent);color:#fff}.landing-card-icon{border-radius:var(--radius-lg);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);justify-content:center;align-items:center;display:flex}.landing-card-icon svg{width:20px;height:20px}.landing-card-title{font-size:var(--fs-md);letter-spacing:-.01em;font-weight:600}.landing-card-desc{font-size:var(--fs-base);color:var(--text-soft);line-height:1.45}.landing-privacy{font-size:var(--fs-base);color:var(--text-soft);align-items:center;gap:6px;margin:0 0 28px;display:inline-flex}.landing-privacy svg{flex-shrink:0;width:14px;height:14px}.csv-import-panel{max-width:720px;margin:0 auto}.csv-import-body{flex:1;overflow-y:auto}.csv-file-label{border:2px dashed var(--line);border-radius:var(--radius);color:var(--text-soft);cursor:pointer;transition:all var(--transition);font-size:var(--fs-md);align-items:center;gap:10px;padding:20px;font-weight:500;display:flex}.csv-file-label:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.csv-file-label input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.csv-file-label svg{flex-shrink:0;width:20px;height:20px}.csv-file-name{font-size:var(--fs-base);color:var(--text-soft);align-items:center;gap:6px;margin:10px 0 4px;display:flex}.csv-file-name svg{width:14px;height:14px}.csv-preview-scroll{border:1px solid var(--line-soft);border-radius:var(--radius-sm);margin-top:4px;overflow-x:auto}.csv-preview-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);white-space:nowrap}.csv-preview-table th,.csv-preview-table td{border-bottom:1px solid var(--line-soft);text-align:left;padding:5px 10px}.csv-preview-table th{background:var(--panel-muted);color:var(--text-soft);font-weight:600;position:sticky;top:0}.csv-preview-table td{color:var(--text)}.csv-preview-area{margin-top:12px}.csv-error{color:var(--danger);font-size:var(--fs-base);margin:8px 0 0}.csv-step-label{font-size:var(--fs-base);color:var(--text-soft);margin:0 0 10px;font-weight:600}.csv-mapping-row{background:var(--panel-muted)}.csv-mapping-cell{vertical-align:middle;padding:6px 4px!important}.csv-mapping-select{width:100%;min-width:80px;font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;padding:4px 6px}.csv-mapping-select:focus{border-color:var(--accent);outline:none}.csv-mapping-table{table-layout:auto}.csv-mapping-hints{font-size:var(--fs-sm);color:var(--text-soft);align-items:center;gap:6px;margin-top:8px;display:flex}.csv-mapping-hints svg{flex-shrink:0;width:14px;height:14px}.csv-mode-option{border:1px solid var(--line-soft);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px;display:flex}.csv-mode-option:hover{border-color:var(--accent);background:var(--accent-soft)}.csv-mode-option input[type=radio]{accent-color:var(--accent);margin-top:3px}.csv-mode-option span{flex-direction:column;gap:2px;display:flex}.csv-mode-option strong{font-size:var(--fs-md)}.csv-mode-option small{font-size:var(--fs-sm);color:var(--text-soft);line-height:1.4}.notes-strip{border-top:1px solid var(--line-soft);flex:none}.notes-panel-body{flex-direction:column;flex:auto;min-height:0;padding:12px 16px;display:flex;overflow:hidden}.notes-textarea{resize:none;border:1px solid var(--line-soft);border-radius:var(--radius);width:100%;font:inherit;font-size:var(--fs-base);background:var(--surface);color:var(--text);transition:border-color var(--transition);outline:none;flex:auto;padding:10px 12px;line-height:1.5}.notes-textarea:focus{border-color:var(--accent)}.notes-textarea::placeholder{color:var(--text-soft)}.stats-panel{width:40px;z-index:var(--z-panel);background:var(--panel);border-left:1px solid var(--line-soft);flex-direction:column;grid-area:2/2/4;transition:width .3s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.stats-panel.is-open{width:320px}.stats-panel-strip{cursor:pointer;width:40px;color:var(--text-soft);transition:color var(--transition), background-color var(--transition);flex-direction:column;flex:none;justify-content:flex-start;align-items:center;padding:14px 0;display:flex}.checks-strip{border-top:1px solid var(--line-soft);flex:none}.stats-panel-strip-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--fs-xs);letter-spacing:.08em;margin-top:8px}.stats-panel-strip:hover{color:var(--accent);background:var(--accent-soft)}.stats-panel.is-open .stats-panel-strip,.stats-panel.is-open .checks-strip{display:none}.strip-badge{min-width:18px;height:18px;font-size:var(--fs-xs);border-radius:999px;justify-content:center;align-items:center;margin-top:8px;padding:0 5px;font-weight:700;display:inline-flex}.strip-badge-fail{background:var(--danger-soft);color:var(--danger-text)}.stats-panel-tabs{gap:2px;display:flex}.stats-panel-tab{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition), background-color var(--transition);background:0 0;border:none;padding:6px 10px;font-weight:600}.stats-panel-tab:hover,.stats-panel-tab.is-active{color:var(--accent);background:var(--accent-soft)}.stats-panel-header{border-bottom:1px solid var(--line-soft);flex:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.stats-panel-header strong{font-size:var(--fs-base);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-weight:600}.stats-panel-body{flex:1;min-height:0;padding:12px 16px 20px;overflow-y:auto}.stats-section{margin-bottom:18px}.stats-section:last-child{margin-bottom:0}.stats-section-title{font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:0 0 8px;font-weight:700}.stats-collapsible>summary{cursor:pointer;user-select:none;list-style:none}.stats-collapsible>summary::-webkit-details-marker{display:none}.stats-collapsible>summary:before{content:"";border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--text-soft);flex:none;width:0;height:0;margin-right:6px;transition:transform .15s;display:inline-block}.stats-collapsible[open]>summary:before{transform:rotate(90deg)}.stats-collapsible-toggle{font-size:var(--fs-xs);color:var(--accent);cursor:pointer;user-select:none;align-items:center;padding:4px 0;font-weight:600;list-style:none;display:flex}.stats-collapsible-toggle::-webkit-details-marker{display:none}.stats-collapsible-toggle:before{content:"";border-style:solid;border-width:3px 0 3px 5px;border-color:transparent transparent transparent var(--accent);flex:none;width:0;height:0;margin-right:5px;transition:transform .15s;display:inline-block}details[open]>.stats-collapsible-toggle:before{transform:rotate(90deg)}summary.stats-section-title{align-items:center;display:flex}.stats-team-header{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition);align-items:center;gap:8px;margin:0 -6px 6px;padding:4px 6px;display:flex}.stats-team-header:hover{background:#00000008}.stats-team-dot{border-radius:50%;flex:none;width:8px;height:8px}.stats-team-name{font-size:var(--fs-base);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.stats-team-count{font-size:var(--fs-sm);color:var(--text-soft);flex:none;font-weight:600}.stats-row{font-size:var(--fs-sm);color:var(--text);justify-content:space-between;align-items:center;padding:3px 0;display:flex}.stats-row-label{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stats-row-value{flex:none;margin-left:8px;font-weight:600}.stats-tz-list{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.stats-tz-badge{font-size:var(--fs-xs);border:1px solid var(--line-soft);background:var(--panel);color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-weight:500;display:inline-flex}.stats-tz-badge:before{content:"";background:var(--tz-color,var(--line));border-radius:50%;width:8px;height:8px}.stats-tz-badge-count{color:var(--text-soft);font-weight:700}.stats-nested{border-left:2px solid var(--line-soft);margin-bottom:8px;margin-left:3px;padding-left:16px}.stats-divider{background:var(--line-soft);height:1px;margin:14px 0}.checks-panel-body{flex-direction:column;gap:10px;display:flex}.checks-panel-body>*{flex-shrink:0}.checks-summary{border-radius:var(--radius-sm);font-size:var(--fs-sm);align-items:center;padding:8px 12px;font-weight:600;display:flex}.checks-summary.all-pass{background:var(--success-soft);color:var(--success-text)}.checks-summary.has-failures{background:var(--danger-soft);color:var(--danger-text)}.checks-list{flex-direction:column;gap:6px;display:flex}.checks-empty{font-size:var(--fs-sm);color:var(--text-soft);text-align:center;padding:24px 12px;line-height:1.5}.check-card{border:1px solid var(--line-soft);border-radius:var(--radius-sm);overflow:hidden}.check-card.pass{border-left:3px solid var(--success)}.check-card.fail{border-left:3px solid var(--danger)}.check-card.disabled{border-left:3px solid var(--line-soft);opacity:.55}.check-card-header{align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.check-status-icon{flex:none;width:16px;height:16px;margin-top:1px}.check-card.pass .check-status-icon{color:var(--success)}.check-card.fail .check-status-icon{color:var(--danger)}.check-card.disabled .check-status-icon{color:var(--text-soft)}.check-card-info{flex:1;min-width:0}.check-card-name{font-size:var(--fs-sm);color:var(--text);font-weight:600;line-height:1.3}.check-card-desc{font-size:var(--fs-xs);color:var(--text-soft);margin-top:2px;line-height:1.3}.check-card-actions{opacity:0;transition:opacity var(--transition);flex:none;grid-template-columns:auto auto;gap:2px;display:grid}.check-card:hover .check-card-actions{opacity:1}.check-card-actions .is-pinned{opacity:1;color:var(--accent)}.check-card:not(:hover) .check-card-actions:has(.is-pinned){opacity:1}.check-card:not(:hover) .check-card-actions:has(.is-pinned)>:not(.is-pinned){opacity:0}.check-details{flex-direction:column;gap:3px;padding:0 10px 8px 34px;display:flex}.check-detail-row{font-size:var(--fs-xs);align-items:center;gap:4px;line-height:1.3;display:flex}.check-detail-row.pass{color:var(--success-text)}.check-detail-row.fail{color:var(--danger-text)}.check-detail-icon{flex:none;width:12px;height:12px}.check-detail-team{font-weight:600}.check-detail-msg{color:var(--text-soft)}.check-details-collapsible{padding:0 10px 8px 34px}.check-details-collapsible>.check-details{padding:4px 0 0}.check-details-toggle{font-size:var(--fs-xs);color:var(--text-soft);cursor:pointer;user-select:none;align-items:center;font-weight:600;list-style:none;display:flex}.check-details-toggle::-webkit-details-marker{display:none}.check-details-toggle:before{content:"";border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--text-soft);flex:none;width:0;height:0;margin-right:6px;transition:transform .15s;display:inline-block}.check-details-collapsible[open]>.check-details-toggle:before{transform:rotate(90deg)}.checks-add-button{justify-content:center;gap:4px;width:100%;margin-top:4px}.modal-fieldset{border:1px solid var(--line-soft);border-radius:var(--radius-sm);margin:8px 0;padding:10px}.modal-fieldset legend{font-size:var(--fs-sm);color:var(--text-soft);padding:0 4px;font-weight:600}.modal-overlay-fullscreen{background:var(--panel);place-items:stretch stretch}.modal-panel-fullscreen{width:100%;max-width:none;max-height:none;box-shadow:none;border:none;border-radius:0;padding:24px 32px 0;animation:none;overflow-y:auto}.modal-fullscreen-header{background:var(--panel);z-index:1;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 0;display:flex;position:sticky;top:-24px}.modal-fullscreen-header .modal-title{font-size:var(--fs-lg)}.modal-fullscreen-footer{border-top:1px solid var(--line-soft);background:var(--panel);justify-content:flex-end;gap:8px;margin-top:auto;padding:16px 0;display:flex;position:sticky;bottom:0}.check-type-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-bottom:16px;display:grid}.check-type-card{border:1px solid var(--line-soft);border-radius:var(--radius);cursor:pointer;background:var(--bg);text-align:left;font:inherit;color:inherit;transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition);align-items:center;gap:10px;padding:10px 12px;display:flex}.check-type-card:hover{border-color:var(--accent);background:var(--accent-soft)}.check-type-card:active{transform:scale(.98)}.check-type-icon{width:18px;height:18px;color:var(--text-soft);flex:none}.check-type-card:hover .check-type-icon{color:var(--accent)}.check-type-card-text{flex:1;min-width:0}.check-type-card-label{font-size:var(--fs-base);color:var(--text);font-weight:600;line-height:1.3}.check-type-card-desc{font-size:var(--fs-xs);color:var(--text-soft);margin-top:1px;line-height:1.3}.check-type-add-icon{width:16px;height:16px;color:var(--text-soft);flex:none}.check-type-card:hover .check-type-add-icon{color:var(--accent)}.check-type-scope{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;background:#0000000a;border-radius:999px;padding:1px 6px;font-weight:600;display:inline-block}.check-instance-list-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.check-instance-list-title{font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:0 0 8px;font-weight:700}.check-instance-list{flex:1;grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content;gap:8px;display:grid;overflow-y:auto}@media (width<=760px){.check-instance-list{grid-template-columns:1fr}}.check-instance-empty{font-size:var(--fs-sm);color:var(--text-soft);text-align:center;grid-column:1/-1;padding:32px 16px;line-height:1.5}.check-instance{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg);flex-shrink:0;overflow:hidden}.check-instance-header{border-bottom:1px solid var(--line-soft);background:#00000004;align-items:center;gap:8px;padding:8px 12px;display:flex}.check-instance-label{font-size:var(--fs-base);color:var(--text);flex:1;font-weight:600}.check-instance-remove{flex:none}.check-instance-config{padding:10px 12px}.config-sentence{flex-flow:wrap;align-items:baseline;gap:4px 8px;display:flex}.config-sentence .modal-input{width:auto;min-width:0}.config-sentence select.modal-input{flex:none}.config-sentence input[type=number].modal-input{flex:none;width:72px}.config-sentence input[type=text].modal-input{flex:120px;min-width:100px}.config-sentence .config-word{color:var(--text-soft);font-size:var(--fs-md);white-space:nowrap}.config-sentence .modal-fieldset{flex:0 0 100%;width:100%}.config-sentence .modal-fieldset .filter-row{flex-flow:wrap;align-items:baseline;gap:8px;display:flex}.config-sentence .modal-fieldset .filter-row .modal-input{flex:auto;min-width:80px}.stats-panel-header-actions{gap:4px;display:flex}.manager-change-row{font-size:var(--fs-sm);flex-direction:column;padding:4px 0;display:flex}.manager-change-name{color:var(--text);font-weight:600}.manager-change-detail{font-size:var(--fs-xs);color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;padding-left:8px;font-weight:500;overflow:hidden}.has-changes .stats-row-value{color:#ea580c}.no-changes .stats-row-value{color:#16a34a}@media (width<=760px){.landing-page{padding:24px 16px}.toolbar-button span,.toolbar-title{display:none}}.hierarchy-modal-panel{border:1px solid var(--line-soft);border-radius:var(--radius-xl);width:calc(100% - 24px);height:calc(100% - 24px);box-shadow:var(--shadow-xl);flex-direction:column;margin:12px auto;display:flex;overflow:hidden}.hierarchy-modal-panel--rerender{animation:none!important}.hierarchy-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hierarchy-modal-actions{align-items:center;gap:8px;display:flex}.hierarchy-edit-banner{font-size:var(--fs-sm);color:var(--accent);margin:-8px 0 0;font-weight:600}.tree-container{flex:1 1 0;min-height:0;padding:16px;overflow:auto}.tree-canvas{margin:0 auto;position:relative}.tree-canvas .tree-node{box-sizing:border-box;width:140px;position:absolute}.tree-lines{pointer-events:none;position:absolute;top:0;left:0}.tree-lines path{fill:none;stroke:var(--line);stroke-width:1.5px}.tree-lines path.tree-line-override{stroke:var(--accent);stroke-dasharray:4 3}.tree-leaf-group{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);width:140px;position:absolute;overflow:hidden}.tree-leaf-row{border-bottom:1px solid var(--line-soft);cursor:default;grid-template-columns:4px minmax(0,1fr);align-items:start;gap:6px;min-height:42px;padding:4px 8px;display:grid}.tree-leaf-row:last-child{border-bottom:none}.tree-leaf-tz{border-radius:2px;flex-shrink:0;width:4px;height:14px;margin-top:2px}.tree-leaf-text{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.tree-leaf-name{font-size:var(--fs-xs);color:var(--text);white-space:normal;text-overflow:unset;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.tree-leaf-role{font-size:var(--fs-xs);color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;text-align:left;width:100%;margin-top:2px;line-height:1.15;overflow:hidden}.tree-leaf-override{border-left:2px dashed var(--accent)}.tree-leaf-row.tree-node--editable{cursor:pointer}.tree-leaf-row.tree-node--editable:hover{background:var(--accent-soft)}.tree-children{gap:0;margin:0;padding:0;list-style:none;display:flex}.tree-children{justify-content:center}.tree-branch{flex-direction:column;align-items:center;padding-top:14px;display:flex;position:relative}.tree-branch:before{content:"";background:var(--line-soft);width:2px;height:14px;position:absolute;top:0;left:50%}.tree-children>.tree-branch:after{content:"";background:var(--line-soft);width:50%;height:2px;position:absolute;top:0}.tree-children>.tree-branch:first-child:after{left:50%}.tree-children>.tree-branch:last-child:after{right:50%}.tree-children>.tree-branch:not(:first-child):not(:last-child):after{width:100%;left:0}.tree-children>.tree-branch:only-child:after{display:none}.tree-branch-override:before{border-left:2px dashed var(--accent);background:0 0}.tree-branch-override:after{border-top:2px dashed var(--accent);background:0 0;height:0!important}.tree-node{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);text-align:center;min-width:90px;max-width:150px;transition:all var(--transition);margin:0 4px 2px;padding:6px 8px;position:relative}.tree-node-toggle{border:1px solid var(--line-soft);background:var(--bg);width:18px;height:18px;color:var(--text-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.tree-node-toggle .lucide,.tree-node-toggle svg{flex-shrink:0;width:11px;height:11px}.tree-node-toggle:hover{border-color:var(--accent);color:var(--accent)}.tree-node--moved{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.tree-leaf-row--moved{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:2px solid var(--accent)}.tree-node-manager{border-width:2px;border-color:var(--node-accent,var(--accent));font-weight:600}.tree-node-empty{opacity:.5;border-style:dashed}.tree-node-override{border-color:var(--accent);border-style:dashed}.tree-node-color{border-radius:2px;width:18px;height:4px;margin:0 auto 4px}.tree-node-name{font-size:var(--fs-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.15;overflow:hidden}.tree-node-role{font-size:var(--fs-xs);color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;line-height:1.15;overflow:hidden}.tree-node-member{flex-direction:column;justify-content:flex-start;display:flex}.tree-node-member .tree-node-name{white-space:normal;-webkit-line-clamp:2;text-overflow:unset;-webkit-box-orient:vertical;min-height:1.656rem;margin-bottom:2px;display:-webkit-box;overflow:hidden}.tree-node-member .tree-node-role{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;min-height:.713rem;overflow:hidden}.tree-node-team{font-size:var(--fs-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-weight:600;overflow:hidden}.tree-node--editable{cursor:pointer}.tree-node--editable:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tree-override-popover{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-popover);min-width:180px;max-width:260px;padding:6px;animation:.15s cubic-bezier(.22,1,.36,1) modal-in}.tree-popover-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.tree-popover-item{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);font:inherit;text-align:left;font-size:var(--fs-base);background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;display:flex}.tree-popover-item:hover{background:var(--accent-soft)}.tree-popover-item.is-active{background:var(--accent-soft);font-weight:600}.tree-popover-reset{border-top:1px solid var(--line-soft);color:var(--text-soft);font-size:var(--fs-sm);margin-top:2px;padding-top:8px}.tooltip{z-index:400;border-radius:var(--radius);background:var(--text);color:#fff;max-width:240px;font-size:var(--fs-sm);white-space:pre-line;box-shadow:var(--shadow);pointer-events:none;opacity:0;visibility:hidden;padding:4px 8px;font-weight:500;line-height:1.4;transition:opacity .1s;position:fixed;top:0;left:0}.tooltip.is-visible{opacity:1;visibility:visible}
