:root{--bg:#f1f3f6;--panel:#fff;--panel-muted:#eaecf0;--line:#c4c9d4;--line-soft:#3a41501f;--text:#111827;--text-soft:#64748b;--accent:#4f6ef7;--accent-soft:#4f6ef714;--shadow-sm:0 1px 3px #0003;--shadow:0 4px 12px #00000047, 0 1px 3px #00000029;--shadow-lg:0 12px 40px #00000047, 0 4px 12px #00000024;--shadow-xl:0 24px 64px #00000029, 0 8px 20px #00000014;--shadow-popover:0 8px 24px #0000001f;--backdrop-blur:blur(16px) saturate(1.6);--z-toolbar:90;--z-panel:95;--z-drawer:100;--z-action-bar:110;--z-modal:200;--space:10px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--transition:.16s cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}body{font-feature-settings:"cv02", "cv03", "cv04", "cv11";height:100vh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#app{grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;height:100vh;display:grid;overflow:hidden}button{font:inherit}::-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;padding:var(--space);grid-area:2/1;min-width:0;min-height:0;overflow:auto}.board-zoom-layer{zoom:var(--board-zoom);width:100%;min-width:100%;height:100%;min-height:100%}.page-shell[data-layout=horizontal],.page-shell[data-layout=vertical]{overflow:auto}.page-shell[data-layout=horizontal] .app-grid{flex-direction:row;height:100%;min-height:0}.page-shell[data-layout=vertical] .app-grid{flex-direction:column;width:100%;min-width:0}.app-toolbar{z-index:var(--z-toolbar);height:52px;-webkit-backdrop-filter:var(--backdrop-blur);background:#ffffffd1;grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;display:flex;box-shadow:0 1px #00000008}.app-toolbar:after{content:"";background:var(--line-soft);z-index:0;height:1px;position:absolute;bottom:0;left:0;right:0}.toolbar-brand{align-self:stretch;align-items:center;gap:10px;display:flex}.toolbar-logo{filter:none;flex:none;align-self:stretch;width:auto;height:100%;display:block}.toolbar-title{letter-spacing:-.02em;color:var(--text);font-size:.92rem;font-weight:700}.toolbar-actions{align-items:center;gap:6px;display:flex}.toolbar-button{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--panel);color:var(--text);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.toolbar-button:hover{background:var(--panel-muted);box-shadow:var(--shadow);border-color:var(--line)}.toolbar-button:active{transform:scale(.97)}.toolbar-button svg{opacity:.7;width:14px;height:14px}.team-control-button.is-active{background:var(--accent);color:#fff;border-radius:var(--radius-sm)}.scenario-tabs{scrollbar-width:none;flex:auto;align-self:stretch;align-items:flex-end;gap:0;min-width:0;padding:0 8px;display:flex;overflow:auto visible}.scenario-tabs::-webkit-scrollbar{display:none}.scenario-tab{color:var(--text-soft);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;flex-shrink:0;align-items:center;gap:6px;min-height:44px;margin-bottom:-1px;padding:2px 14px 10px;font-size:.8rem;font-weight:500;display:inline-flex;position:relative}.scenario-tab:hover{color:var(--text);background:#0000000a}.scenario-tab.is-active{color:var(--text);background:var(--bg);border-color:var(--line-soft);z-index:1;font-weight:600}.scenario-tab-name{cursor:text;text-overflow:ellipsis;max-width:180px;overflow:hidden}.scenario-tab-input{font:inherit;color:var(--text);border:none;border-bottom:1px solid var(--accent);background:0 0;outline:none;min-width:40px;padding:0;font-size:.8rem;font-weight:500}.scenario-tab-close{width:16px;height:16px;color:var(--text-soft);cursor:pointer;transition:all var(--transition);opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.scenario-tab-close svg{width:12px;height:12px}.scenario-tab:hover .scenario-tab-close{opacity:.6}.scenario-tab-close:hover{color:var(--text);background:#00000014;opacity:1!important}.scenario-tab-add{width:28px;height:28px;color:var(--text-soft);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:12px;margin-left:2px;padding:0;display:inline-flex}.scenario-tab-add svg{width:14px;height:14px}.scenario-tab-add:hover{color:var(--text);background:#0000000f}.app-grid{align-items:flex-start;gap:20px;min-width:100%;min-height:100%;display:flex}.action-bar{z-index:var(--z-action-bar);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--line-soft);box-shadow:var(--shadow);background:#ffffffeb;border-radius:999px;grid-area:2/1;place-self:end center;align-items:center;gap:4px;margin-bottom:12px;padding:6px 12px;display:flex}.action-bar-divider{background:var(--line-soft);width:1px;height:18px;margin:0 4px}.zoom-level-button{font-variant-numeric:tabular-nums;justify-content:center;min-width:58px}.scroll-hint{z-index:var(--z-action-bar,100);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#000000c7;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.78rem;font-weight:500;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)translateY(8px)}.scroll-hint.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.scroll-hint kbd{background:#fff3;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:.78rem;display:inline-block}.unassigned-bar{z-index:var(--z-drawer);border-top:1px solid var(--line-soft);-webkit-backdrop-filter:var(--backdrop-blur);background:#ffffffe0;flex-shrink:0;grid-area:3/1;height:200px;max-height:200px;padding:14px 28px;transition:max-height .3s cubic-bezier(.22,1,.36,1),padding .2s,box-shadow .2s;overflow:hidden;box-shadow:0 -4px 24px #0000000f}.unassigned-bar.is-collapsed{max-height:52px;overflow:hidden;box-shadow:0 -1px 8px #00000008}.unassigned-bar-header{cursor:pointer;border-radius:var(--radius);transition:background-color var(--transition);align-items:center;gap:10px;margin:-4px -6px;padding:4px 6px;display:flex}.unassigned-bar-header:hover{background:var(--accent-soft)}.unassigned-bar-header strong{letter-spacing:.02em;color:var(--text-soft);font-size:.8rem;font-weight:600}.unassigned-count{background:var(--accent-soft);color:var(--accent);text-align:center;border-radius:999px;min-width:22px;padding:2px 8px;font-size:.7rem;font-weight:700}.delete-all-unassigned{transition:color var(--transition);color:var(--text-muted);margin-left:auto}.delete-all-unassigned:hover{color:var(--danger,#e53e3e)}.unassigned-bar .roster-cards-wrapper{margin-top:14px;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{border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(90deg,#ffffffe0,#0000);left:0}.unassigned-bar .roster-cards-wrapper:after{border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:linear-gradient(270deg,#ffffffe0,#0000);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;width:auto;min-height:80px;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{border:1.5px dashed var(--line-soft);border-radius:var(--radius-lg);gap:var(--space);min-height:140px;transition:all var(--transition);flex-wrap:wrap;align-content:flex-start;align-items:flex-start;width:max-content;padding:10px;display:flex}.root-dropzone{border-radius:var(--radius-lg);gap:var(--space);min-height:140px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);border:1.5px dashed #0000;padding:0;display:flex}.root-dropzone[data-layout=horizontal]{flex-flow:row;width:fit-content;height:100%}.root-dropzone:has(.empty-board){width:100%}.root-dropzone[data-layout=vertical]{flex-flow:column;width:100%;height:fit-content}.dropzone.is-over,.manager-slot.is-over,.member-slot.is-over,.subteam-slot.is-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #4f6ef71a}.empty-note{color:var(--text-soft);margin:0;font-size:.82rem;font-style:italic;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:1px;opacity:.3;width:48px;height:48px}.empty-board-title{color:var(--text-soft);margin:0;font-size:1.1rem;font-weight:600}.empty-board-hint{color:var(--line);margin:0;font-size:.82rem}.slot>.empty-note{place-items:center;font-size:.65rem;display:grid;position:absolute;inset:0}.dragging-source{opacity:.35;visibility:visible;pointer-events:none!important}body.copy-mode,body.copy-mode *{cursor:copy!important}.person-card{border-radius:var(--radius-lg);width:120px;height:120px;padding:var(--space);cursor:grab;box-shadow:var(--shadow), inset 0 1px 0 #fff9;transition:transform var(--transition), box-shadow var(--transition);border:1px solid #00000014;flex-direction:column;justify-content:flex-end;gap:2px;display:flex;position:relative;overflow:hidden}.person-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff59 0%,#fff0 50%);position:absolute;inset:0}.person-card:hover{box-shadow:var(--shadow-lg), inset 0 1px 0 #fff9;transform:translateY(-2px)}.person-card:active,.team-handle:active{cursor:grabbing}.person-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.78rem;font-weight:600;line-height:1.2;position:relative;overflow:hidden}.person-role{color:#11182799;white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;font-weight:500;line-height:1.2;position:relative;overflow:hidden}.person-level{color:#11182799;vertical-align:baseline;background:#1118271a;border-radius:3px;justify-content:center;align-items:center;margin-left:4px;padding:0 3px;font-size:.55rem;font-weight:700;display:inline-flex}.person-location{color:#1118277a;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:400;line-height:1.2;position:relative;overflow:hidden}.person-timezone{color:#11182766;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;font-weight:500;line-height:1.2;position:relative;overflow:hidden}.card-top-actions{opacity:0;transition:opacity var(--transition);z-index:1;gap:2px;display:flex;position:absolute;top:4px;right:4px}.person-card:hover .card-top-actions{opacity:1}.card-action-button{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-soft);transition:all var(--transition);background:#ffffffd9;border:none;place-items:center;padding:4px;display:grid}.card-action-button svg{width:12px;height:12px}.card-split-button:hover{color:var(--accent);background:#4f6ef726}.card-merge-button:hover{color:#f59e0b;background:#f59e0b33}.card-delete-button:hover{color:#ef4444;background:#ef44442e}.card-edit-button:hover{color:var(--accent);background:#4f6ef726}.card-notes{color:#11182780;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-top:1px;font-size:.58rem;font-style:italic;line-height:1.3;display:-webkit-box;position:relative;overflow:hidden}.card-membership-count{color:#fff;background:var(--accent);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;margin-left:4px;padding:0 4px;font-size:.55rem;font-weight:700;line-height:1;display:inline-flex}.card-copy-badge{background:var(--accent);color:#fff;z-index:1;border-radius:999px;align-items:center;gap:2px;min-width:14px;height:14px;padding:0 4px;font-size:.55rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;left:4px}.card-copy-badge svg{flex-shrink:0;width:8px;height:8px}.person-card.card-requested{border:1.5px dashed #6b728080;background-image:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6b728008 4px 8px)!important}.modal-textarea{resize:vertical;min-height:48px;font-family:inherit}.modal-switch-label{color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:.82rem;display:flex}.modal-switch{appearance:none;background:var(--line-soft);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{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0003;border-radius:999px;align-self:flex-start;align-items:center;gap:2px;max-width:100%;margin-bottom:1px;padding:1px 6px;font-size:.55rem;font-weight:700;line-height:1.4;display:inline-flex;position:relative;overflow:hidden}.manager-override-pill .lucide{filter:drop-shadow(0 1px 2px #0003);flex-shrink:0;width:8px;height:8px}.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(--bg);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{color:var(--text);font-size:.82rem;font-weight:600}.manager-pick-role{color:var(--text-soft);flex:1;font-size:.72rem}.manager-pick-tag{color:var(--text-soft);background:var(--panel-muted);border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:600}.team{border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--panel);padding:var(--space);gap:var(--space);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.team:hover{box-shadow:var(--shadow)}.team:before{content:"";background:var(--ribbon-color,var(--panel-muted));width:3px;position:absolute;top:0;bottom:0;left:0}.team[data-view=collapsed]{min-width:0;min-height:0;max-height:min-content}.team[data-view=collapsed].is-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #4f6ef71a}.team-titlebar{border-radius:var(--radius);flex-direction:column;gap:4px;margin:-4px -6px;padding:4px 6px;display:flex}.team-toolbar{justify-content:space-between;align-items:center;gap:4px;display:flex}.team-toolbar-left{align-items:center;gap:2px;display:flex}.team-handle{border-radius:var(--radius-sm);cursor:grab;color:var(--line);transition:all var(--transition);background:0 0;border:none;flex:none;place-items:center;padding:4px;display:grid}.team-handle:hover{color:var(--text-soft);background:#0000000d}.team-name{letter-spacing:-.01em;margin:0;font-size:.88rem;font-weight:600}.team-name-text{cursor:text}.team-name-input{font:inherit;border:1px solid var(--accent);border-radius:var(--radius-sm);background:#ffffffe6;outline:none;margin:-2px 0;padding:1px 4px;font-size:.88rem;font-weight:600}.team-control-button{border-radius:var(--radius-sm);color:var(--line);cursor:pointer;transition:all var(--transition);background:0 0;border:none;place-items:center;padding:4px;display:grid}.team-control-button:hover{color:var(--text);background:#0000000f}.team-control-button svg,.team-handle svg{width:15px;height:15px}.team-chevron{transition:transform .2s cubic-bezier(.22,1,.36,1);transform:rotate(0)}.team-chevron.is-expanded{transform:rotate(90deg)}.drawer-chevron{transition:transform .2s cubic-bezier(.22,1,.36,1);transform:rotate(180deg)}.drawer-chevron.is-expanded{transform:rotate(0)}.member-facepile{flex-wrap:wrap;align-items:center;gap:3px;padding:0;display:flex}.facepile-dot{border:1.5px solid #00000014;border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 1px 2px #0000000f}.facepile-empty{background:0 0;border:1.5px dashed #00000026}.team-body{flex:auto;gap:10px;min-width:0;min-height:0;display:flex}.team-body.horizontal{flex-flow:row}.team-body.vertical{flex-flow:column;max-width:100%}.member-slot{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:10px;display:flex;position:relative}.manager-slot{flex:none;max-width:min-content;max-height:min-content}.slot{border-radius:var(--radius-lg);background:#0f766e0f;border:2px solid #0f766e40;padding:10px;position:relative}.slot.manager-slot{border-radius:var(--radius-lg);background:#eab30826;border:2px solid #eab30866;min-width:0;min-height:0;margin:0;padding:0}.slot.manager-slot:not(:has(.person-card)){min-width:120px;min-height:120px}.member-slot{min-width:143px;min-height:143px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition)}.subteam-slot{transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#9f12390f;border-color:#9f123940;flex-shrink:0;align-content:flex-start;align-items:flex-start;gap:10px;display:flex}.team-body.horizontal>.subteam-slot{flex-flow:row;max-height:100%}.team-body.vertical>.subteam-slot{flex-flow:column;max-width:100%}.subteam-slot:empty,.subteam-slot:not(:has(>*)){display:none}.subteam-slot.is-over{min-height:60px;padding:10px;display:flex}.member-entry{flex:none;position:relative}.team-body.horizontal>.subteam-slot>.member-entry{flex-shrink:0;width:fit-content;max-height:100%;display:flex}.team-body.vertical>.subteam-slot>.member-entry{flex-shrink:0;max-width:100%;height:fit-content;display:flex}.manager-slot>.empty-note,.member-slot>.empty-note{width:120px;height:120px;font-size:.65rem;position:static;inset:auto}.member-slot.layout-horizontal{flex-flow:column wrap;flex-shrink:0;align-content:flex-start;width:max-content;max-height:100%}.member-slot.layout-vertical{flex-flow:wrap;flex-shrink:0;max-width:100%;height:max-content}.team[data-view=collapsed] .team-body{align-items:start;gap:8px;display:grid}.team[data-view=collapsed] .member-slot,.team[data-view=collapsed] .manager-slot{min-width:0;min-height:0}.team[data-view=collapsed] .member-slot{background:0 0;border-color:#0000;flex-flow:wrap;align-items:center;height:auto;padding:4px;overflow:visible}.team[data-view=collapsed] .manager-slot{border-radius:var(--radius);background:0 0;border:none;margin:0;padding:0}.team[data-view=collapsed] .manager-slot:has(.facepile-empty){background:#eab30826;padding:4px}.team[data-view=collapsed] .manager-slot .facepile-dot:not(.facepile-empty){box-shadow:0 0 8px 3px #eab30873}.team[data-view=collapsed] .subteam-slot{display:none}.child-team{flex-shrink:0;display:flex}.page-shell[data-layout=horizontal] .team{width:max-content;max-height:100%}.page-shell[data-layout=vertical] .team{max-width:100%;height:max-content}.page-shell[data-layout=horizontal] .team[data-view=collapsed]{max-height:max-content}.page-shell[data-layout=vertical] .team[data-view=collapsed]{max-width:max-content}.page-shell[data-layout=horizontal] .child-team{width:fit-content;max-height:100%}.page-shell[data-layout=vertical] .child-team{max-width:100%;height:fit-content}.team-menu-popover{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-popover);min-width:160px;padding:4px;animation:.15s cubic-bezier(.22,1,.36,1) modal-in}.team-menu-item{border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all var(--transition);font:inherit;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:.78rem;display:flex}.team-menu-item:hover{background:var(--accent-soft)}.team-menu-item svg{width:14px;height:14px;color:var(--text-soft);flex:none}.team-menu-item.is-danger,.team-menu-item.is-danger svg{color:var(--danger,#e53e3e)}.team-menu-item.is-danger:hover{background:#e53e3e14}.team-menu-divider{background:var(--line-soft);height:1px;margin:4px 6px}.board-legend-popover{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-popover);min-width:220px;max-width:280px;padding:12px 16px;animation:.15s cubic-bezier(.22,1,.36,1) modal-in}.legend-section{flex-direction:column;gap:6px;display:flex}.legend-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:.7rem;font-weight:600}.legend-item{color:var(--text);align-items:center;gap:8px;font-size:.78rem;display:flex}.legend-item kbd{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#0000000f;padding:1px 5px;font-family:inherit;font-size:.72rem;line-height:1.4;display:inline-block}.legend-swatch{border-radius:var(--radius-sm);flex:none;width:16px;height:16px}.legend-swatch-manager{background:#eab30826;border:2px solid #eab30866}.legend-swatch-members{background:#0f766e0f;border:2px solid #0f766e40}.legend-swatch-subteams{background:#9f12390f;border:2px solid #9f123940}.legend-swatch-requested{background:repeating-linear-gradient(-45deg,#0000,#0000 2px,#0000000f 2px 4px);border:1.5px dashed #0003}.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);-webkit-backdrop-filter:blur(8px)saturate(1.4);background:#0003;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:28px;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{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.modal-label{color:var(--text-soft);letter-spacing:.01em;flex-direction:column;gap:5px;font-size:.75rem;font-weight:600;display:flex}.modal-input{font:inherit;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg);color:var(--text);transition:all var(--transition);outline:none;padding:8px 12px;font-size:.85rem;box-shadow:inset 0 1px 2px #0000000a}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), inset 0 1px 2px #0000000a}.modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.modal-submit{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;font-weight:600!important;box-shadow:0 1px 3px #4f6ef74d!important}.modal-submit:hover{opacity:.92;box-shadow:0 2px 8px #4f6ef759!important}.modal-danger{background:var(--danger,#e53e3e)!important;border-color:var(--danger,#e53e3e)!important;box-shadow:0 1px 3px #e53e3e4d!important}.modal-danger:hover{box-shadow:0 2px 8px #e53e3e59!important}.modal-body-text{color:var(--text-soft);margin:0 0 8px;font-size:.85rem;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{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px;font-size:.72rem;font-weight:700}.team-stats-nested-row{align-items:center;gap:8px;padding:4px 0;font-size:.8rem;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(--bg);align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;display:flex}.sort-layer-number{color:var(--text-muted);text-align:center;flex-shrink:0;width:18px;font-size:.75rem;font-weight:700}.sort-layer-key{font:inherit;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;flex:1;padding:4px 8px;font-size:.85rem}.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,#fee2e2);color:var(--danger,#dc2626)}.sort-add-layer-btn{border:1px dashed var(--line-soft);border-radius:var(--radius);color:var(--text-muted);font:inherit;cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;font-size:.82rem;display:flex}.sort-add-layer-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.help-content{grid-template-columns:1fr 1fr;gap:16px 32px;padding-bottom:32px;display:grid}.help-section{break-inside:avoid}.help-section h4{color:var(--text);align-items:center;gap:8px;margin:0 0 8px;font-size:.95rem;font-weight:700;display:flex}.help-section h4 svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.help-section p{color:var(--text-soft);margin:0 0 8px;font-size:.85rem;line-height:1.5}.help-section ul{margin:0;padding-left:20px;list-style:outside}.help-section li{color:var(--text-soft);font-size:.85rem;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;color:var(--text-soft);vertical-align:middle;border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-family:inherit;font-size:.75rem;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:640px}.landing-logo{margin-bottom:20px}.landing-title{letter-spacing:-.02em;color:var(--text);margin:0 0 8px;font-size:1.75rem;font-weight:700}.landing-subtitle{color:var(--text-soft);margin:0 0 32px;font-size:.95rem}.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:160px;max-width:200px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition);text-align:center;color:var(--text);font:inherit;flex-direction:column;flex:160px;align-items:center;gap:10px;padding:28px 24px;display:flex}.landing-card:hover{border-color:var(--accent);box-shadow:var(--shadow), 0 0 0 3px var(--accent-soft);transform:translateY(-2px)}.landing-card-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;display:flex}.landing-card-icon svg{width:24px;height:24px}.landing-card-title{letter-spacing:-.01em;font-size:.9rem;font-weight:700}.landing-card-desc{color:var(--text-soft);font-size:.75rem;line-height:1.45}.landing-privacy{color:var(--text-soft);align-items:center;gap:6px;margin:0 0 28px;font-size:.8rem;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);align-items:center;gap:10px;padding:20px;font-size:.85rem;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{color:var(--text-soft);align-items:center;gap:6px;margin:10px 0 4px;font-size:.8rem;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;white-space:nowrap;width:100%;font-size:.72rem}.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:#ef4444;margin:8px 0 0;font-size:.8rem}.csv-step-label{color:var(--text-soft);margin:0 0 10px;font-size:.8rem;font-weight:600}.csv-mapping-row{background:var(--panel-muted)}.csv-mapping-cell{vertical-align:middle;padding:6px 4px!important}.csv-mapping-select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:100%;min-width:80px;color:var(--text);cursor:pointer;padding:4px 6px;font-size:.7rem}.csv-mapping-select:focus{border-color:var(--accent);outline:none}.csv-mapping-table{table-layout:auto}.csv-mapping-hints{color:var(--text-soft);align-items:center;gap:6px;margin-top:8px;font-size:.75rem;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:.85rem}.csv-mode-option small{color:var(--text-soft);font-size:.72rem;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);width:100%;font:inherit;background:var(--surface);color:var(--text);transition:border-color var(--transition);border-radius:8px;outline:none;flex:auto;padding:10px 12px;font-size:13px;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);-webkit-backdrop-filter:var(--backdrop-blur);border-left:1px solid var(--line-soft);background:#ffffffeb;flex-direction:column;grid-area:2/2/4;transition:width .3s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden;box-shadow:-4px 0 24px #0000000a}.stats-panel.is-open{width:320px;box-shadow:-4px 0 24px #00000014}.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;letter-spacing:.08em;margin-top:8px;font-size:11px}.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{border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-top:8px;padding:0 5px;font-size:.6rem;font-weight:700;display:inline-flex}.strip-badge-fail{color:#991b1b;background:#fca5a5}.stats-panel-tabs{gap:2px;display:flex}.stats-panel-tab{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-size:.72rem;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{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-size:.82rem;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{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:0 0 8px;font-size:.72rem;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{color:var(--accent);cursor:pointer;user-select:none;align-items:center;padding:4px 0;font-size:.68rem;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{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;font-weight:600;overflow:hidden}.stats-team-count{color:var(--text-soft);flex:none;font-size:.72rem;font-weight:600}.stats-row{color:var(--text);justify-content:space-between;align-items:center;padding:3px 0;font-size:.75rem;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{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.stats-tz-badge-count{opacity:.7}.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);align-items:center;padding:8px 12px;font-size:.75rem;font-weight:600;display:flex}.checks-summary.all-pass{color:#065f46;background:#d1fae5}.checks-summary.has-failures{color:#991b1b;background:#fee2e2}.checks-list{flex-direction:column;gap:6px;display:flex}.checks-empty{color:var(--text-soft);text-align:center;padding:24px 12px;font-size:.75rem;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 #34d399}.check-card.fail{border-left:3px solid #f87171}.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:#059669}.check-card.fail .check-status-icon{color:#dc2626}.check-card.disabled .check-status-icon{color:var(--text-soft)}.check-card-info{flex:1;min-width:0}.check-card-name{color:var(--text);font-size:.72rem;font-weight:600;line-height:1.3}.check-card-desc{color:var(--text-soft);margin-top:2px;font-size:.65rem;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{align-items:center;gap:4px;font-size:.65rem;line-height:1.3;display:flex}.check-detail-row.pass{color:#065f46}.check-detail-row.fail{color:#991b1b}.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{color:var(--text-soft);cursor:pointer;user-select:none;align-items:center;font-size:.65rem;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{color:var(--text-soft);padding:0 4px;font-size:.72rem;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:1.1rem}.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{color:var(--text);font-size:.78rem;font-weight:600;line-height:1.3}.check-type-card-desc{color:var(--text-soft);margin-top:1px;font-size:.66rem;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{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;background:#0000000a;border-radius:999px;padding:1px 6px;font-size:.6rem;font-weight:600;display:inline-block}.check-instance-list-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.check-instance-list-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:0 0 8px;font-size:.72rem;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{color:var(--text-soft);text-align:center;grid-column:1/-1;padding:32px 16px;font-size:.75rem;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{color:var(--text);flex:1;font-size:.78rem;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);white-space:nowrap;font-size:.85rem}.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{flex-direction:column;padding:4px 0;font-size:.75rem;display:flex}.manager-change-name{color:var(--text);font-weight:600}.manager-change-detail{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;padding-left:8px;font-size:.68rem;font-weight:500;overflow:hidden}.has-changes .stats-row-value{color:#ea580c}.no-changes .stats-row-value{color:#16a34a}.unassigned-bar{transition:max-height .3s cubic-bezier(.22,1,.36,1),padding .2s,box-shadow .2s}@media (width<=760px){.page-shell{padding:16px}.landing-page{padding:24px 16px}.team{min-width:220px}}.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{color:var(--accent);margin:-8px 0 0;font-size:.75rem;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-soft);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:38px;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{color:var(--text);white-space:normal;text-overflow:unset;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:.68rem;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.tree-leaf-role{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;text-align:left;width:100%;margin-top:2px;font-size:.58rem;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{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;line-height:1.15;overflow:hidden}.tree-node-role{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.62rem;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{color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.58rem;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:calc(var(--radius) - 2px);cursor:pointer;transition:all var(--transition);font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:.78rem;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);margin-top:2px;padding-top:8px;font-size:.72rem}
