:root{--uiFontSize: 13px;--uiLineHeight: 1.35;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--controlH: 28px;--controlPadX: 10px}:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";font-size:var(--uiFontSize);line-height:var(--uiLineHeight);font-weight:400;--bg: #0b1220;--mainBg: #0f172a;--surface: rgba(2, 6, 23, .35);--surface2: rgba(2, 6, 23, .25);--text: #e2e8f0;--muted: rgba(226, 232, 240, .72);--border: rgba(148, 163, 184, .15);--border2: rgba(148, 163, 184, .12);--btnBg: rgba(148, 163, 184, .08);--btnBgHover: rgba(148, 163, 184, .12);--cardBg: var(--surface);--cardHeaderBg: transparent;--panelBg: var(--surface2);--panelHeaderBg: rgba(2, 6, 23, .35);--panelSubtleBg: rgba(2, 6, 23, .18);--shadow: none;--sidebarBg: var(--bg);--sidebarText: var(--text);--navHoverBg: rgba(148, 163, 184, .08);--navActiveBg: rgba(148, 163, 184, .12);--navActiveBorder: rgba(148, 163, 184, .38);--dialogBackdrop: rgba(2, 6, 23, .72);--inputBg: rgba(2, 6, 23, .25);--inputBorder: rgba(148, 163, 184, .22);--inputText: #e2e8f0;--inputPlaceholder: rgba(148, 163, 184, .5);--colorScheme: dark;--badgeText: #e2e8f0;--badgeBg: rgba(148, 163, 184, .1);--badgeBorder: rgba(148, 163, 184, .35);--tabStripBg: rgba(15, 23, 42, .92);--tabStripBorder: rgba(148, 163, 184, .16);--tabBg: rgba(2, 6, 23, .35);--tabBorder: rgba(148, 163, 184, .18);--tabText: #e2e8f0;--tabActiveBg: rgba(15, 23, 42, .9);--tabActiveBorder: rgba(148, 163, 184, .28);--gridHeaderBg: rgba(15, 23, 42, .5);--gridHeaderText: rgba(226, 232, 240, .9);--gridHeaderBorder: rgba(148, 163, 184, .12);--gridRowBorder: rgba(148, 163, 184, .06);--gridRowHoverBg: rgba(96, 165, 250, .06);--gridRowSelectedBg: rgba(96, 165, 250, .1);--gridRowSelectedHoverBg: rgba(96, 165, 250, .14);--gridWrapBg: rgba(2, 6, 23, .18);--gridWrapBorder: rgba(148, 163, 184, .12);--gridFooterBg: rgba(2, 6, 23, .18);--gridFooterBorder: rgba(148, 163, 184, .12);--gridEmptyText: rgba(148, 163, 184, .9);--toolbarBtnBg: rgba(15, 23, 42, .55);--toolbarBtnBorder: rgba(148, 163, 184, .16);--kanbanColBg: rgba(2, 6, 23, .2);--kanbanColBorder: rgba(148, 163, 184, .15);--kanbanCardBg: rgba(2, 6, 23, .28);--kanbanCardBorder: rgba(148, 163, 184, .15);--taskCardBg: rgba(2, 6, 23, .25);--taskCardBorder: rgba(148, 163, 184, .15);--taskQueueTopBg: rgba(2, 6, 23, .92);--taskQueueTopBorder: rgba(148, 163, 184, .12);--paneSectionBg: rgba(2, 6, 23, .25);--paneSectionBorder: rgba(148, 163, 184, .12);--treeFolderBg: rgba(15, 23, 42, .35);--treeFolderBorder: rgba(148, 163, 184, .12);--treeItemBg: rgba(2, 6, 23, .12);--treeItemBorder: rgba(148, 163, 184, .12);--iconBtnBg: rgba(148, 163, 184, .08);--iconBtnBorder: rgba(148, 163, 184, .22);--iconBtnText: #e2e8f0;--iconBtnHoverBg: rgba(148, 163, 184, .14);--linkBtnBorder: rgba(148, 163, 184, .25);--linkBtnText: #e2e8f0;--linkBtnHoverBg: rgba(148, 163, 184, .12);--overlaySuggestBg: rgba(2, 6, 23, .96);--overlaySuggestBorder: rgba(148, 163, 184, .22);--varSuggestItemBg: rgba(148, 163, 184, .08);--varSuggestItemBorder: rgba(148, 163, 184, .25);--varSuggestItemText: #e2e8f0;--varSuggestItemHoverBg: rgba(148, 163, 184, .14);--assigneeMenuBg: rgba(2, 6, 23, .98);--assigneeMenuBorder: rgba(148, 163, 184, .22);--assigneeOptionBorder: rgba(148, 163, 184, .08);--assigneeOptionHoverBg: rgba(148, 163, 184, .12);--pillBg: rgba(15, 23, 42, .4);--pillBorder: rgba(148, 163, 184, .18);--fbPillBg: rgba(15, 23, 42, .4);--fbPillBorder: rgba(148, 163, 184, .18);--headerPillBorder: rgba(148, 163, 184, .2);--fishInputBg: rgba(15, 23, 42, .75);--fishInputBorder: var(--border2);--fishInputFocusBorder: rgba(148, 163, 184, .35);--fishInputFocusShadow: rgba(148, 163, 184, .1);--fishSelectOptionBg: #0f172a;--fishSelectOptionText: #e2e8f0;--soGridHeaderBg: rgba(15, 23, 42, .72);--soGridHeaderText: rgba(226, 232, 240, .95);--soGridCellText: rgba(226, 232, 240, .92);--soGridEmptyText: rgba(226, 232, 240, .8);--soGridRowHoverBg: rgba(96, 165, 250, .1);--soGridRowSelectedBg: rgba(96, 165, 250, .16);--labelText: rgba(148, 163, 184, .95);--resizerBg: rgba(148, 163, 184, .06);--resizerHoverBg: rgba(148, 163, 184, .18);--resizerBorder: rgba(148, 163, 184, .12);--rightActionsBg: rgba(2, 6, 23, .2);--rightActionsBorder: rgba(148, 163, 184, .12);--fbTabBg: rgba(2, 6, 23, .2);--fbTabBorder: rgba(148, 163, 184, .16);--placeholderBg: rgba(148, 163, 184, .18);--navChildIndicator: rgba(148, 163, 184, .12);--tableCellBorder: rgba(148, 163, 184, .12);--btnBorder: rgba(148, 163, 184, .25);--btnSubtleBorder: rgba(148, 163, 184, .22);--btnSubtlePressedBg: rgba(148, 163, 184, .12);--fishGridWrapBg: rgba(0, 0, 0, .06);--dialogBorder: rgba(148, 163, 184, .18);color:var(--text);background:var(--bg)}:root[data-theme=light]{--bg: #f1f5f9;--mainBg: #ffffff;--surface: #ffffff;--surface2: #ffffff;--text: #0b1220;--muted: rgba(15, 23, 42, .72);--border: rgba(15, 23, 42, .14);--border2: rgba(15, 23, 42, .1);--btnBg: rgba(15, 23, 42, .06);--btnBgHover: rgba(15, 23, 42, .1);--cardBg: #ffffff;--cardHeaderBg: rgba(15, 23, 42, .02);--panelBg: #ffffff;--panelHeaderBg: rgba(15, 23, 42, .035);--panelSubtleBg: rgba(15, 23, 42, .02);--shadow: none;--sidebarBg: #ffffff;--sidebarText: #0b1220;--navHoverBg: rgba(15, 23, 42, .06);--navActiveBg: rgba(59, 130, 246, .14);--navActiveBorder: rgba(59, 130, 246, .45);--dialogBackdrop: rgba(15, 23, 42, .24);--inputBg: #ffffff;--inputBorder: rgba(15, 23, 42, .18);--inputText: #0b1220;--inputPlaceholder: rgba(15, 23, 42, .4);--colorScheme: light;--badgeText: #1e293b;--badgeBg: rgba(15, 23, 42, .06);--badgeBorder: rgba(15, 23, 42, .18);--tabStripBg: rgba(241, 245, 249, .95);--tabStripBorder: rgba(15, 23, 42, .12);--tabBg: rgba(15, 23, 42, .04);--tabBorder: rgba(15, 23, 42, .12);--tabText: #1e293b;--tabActiveBg: #ffffff;--tabActiveBorder: rgba(15, 23, 42, .18);--gridHeaderBg: #f1f5f9;--gridHeaderText: #1e293b;--gridHeaderBorder: rgba(15, 23, 42, .1);--gridRowBorder: rgba(15, 23, 42, .06);--gridRowHoverBg: rgba(59, 130, 246, .06);--gridRowSelectedBg: rgba(59, 130, 246, .1);--gridRowSelectedHoverBg: rgba(59, 130, 246, .14);--gridWrapBg: #ffffff;--gridWrapBorder: rgba(15, 23, 42, .1);--gridFooterBg: #f8fafc;--gridFooterBorder: rgba(15, 23, 42, .08);--gridEmptyText: rgba(15, 23, 42, .5);--toolbarBtnBg: rgba(15, 23, 42, .05);--toolbarBtnBorder: rgba(15, 23, 42, .14);--kanbanColBg: #f8fafc;--kanbanColBorder: rgba(15, 23, 42, .1);--kanbanCardBg: #ffffff;--kanbanCardBorder: rgba(15, 23, 42, .12);--taskCardBg: #ffffff;--taskCardBorder: rgba(15, 23, 42, .12);--taskQueueTopBg: rgba(248, 250, 252, .95);--taskQueueTopBorder: rgba(15, 23, 42, .1);--paneSectionBg: #f8fafc;--paneSectionBorder: rgba(15, 23, 42, .1);--treeFolderBg: #f1f5f9;--treeFolderBorder: rgba(15, 23, 42, .1);--treeItemBg: #ffffff;--treeItemBorder: rgba(15, 23, 42, .08);--iconBtnBg: rgba(15, 23, 42, .05);--iconBtnBorder: rgba(15, 23, 42, .16);--iconBtnText: #1e293b;--iconBtnHoverBg: rgba(15, 23, 42, .1);--linkBtnBorder: rgba(15, 23, 42, .18);--linkBtnText: #1e293b;--linkBtnHoverBg: rgba(15, 23, 42, .06);--overlaySuggestBg: #ffffff;--overlaySuggestBorder: rgba(15, 23, 42, .16);--varSuggestItemBg: rgba(15, 23, 42, .05);--varSuggestItemBorder: rgba(15, 23, 42, .14);--varSuggestItemText: #1e293b;--varSuggestItemHoverBg: rgba(15, 23, 42, .1);--assigneeMenuBg: #ffffff;--assigneeMenuBorder: rgba(15, 23, 42, .16);--assigneeOptionBorder: rgba(15, 23, 42, .06);--assigneeOptionHoverBg: rgba(59, 130, 246, .08);--pillBg: rgba(15, 23, 42, .05);--pillBorder: rgba(15, 23, 42, .14);--fbPillBg: rgba(15, 23, 42, .06);--fbPillBorder: rgba(15, 23, 42, .14);--headerPillBorder: rgba(15, 23, 42, .14);--fishInputBg: #ffffff;--fishInputBorder: rgba(15, 23, 42, .14);--fishInputFocusBorder: rgba(59, 130, 246, .45);--fishInputFocusShadow: rgba(59, 130, 246, .1);--fishSelectOptionBg: #ffffff;--fishSelectOptionText: #0b1220;--soGridHeaderBg: #f1f5f9;--soGridHeaderText: #1e293b;--soGridCellText: #0b1220;--soGridEmptyText: rgba(15, 23, 42, .5);--soGridRowHoverBg: rgba(59, 130, 246, .06);--soGridRowSelectedBg: rgba(59, 130, 246, .1);--labelText: rgba(15, 23, 42, .72);--resizerBg: rgba(15, 23, 42, .04);--resizerHoverBg: rgba(15, 23, 42, .1);--resizerBorder: rgba(15, 23, 42, .08);--rightActionsBg: #f8fafc;--rightActionsBorder: rgba(15, 23, 42, .08);--fbTabBg: rgba(15, 23, 42, .04);--fbTabBorder: rgba(15, 23, 42, .12);--placeholderBg: rgba(15, 23, 42, .1);--navChildIndicator: rgba(15, 23, 42, .1);--tableCellBorder: rgba(15, 23, 42, .08);--btnBorder: rgba(15, 23, 42, .18);--btnSubtleBorder: rgba(15, 23, 42, .14);--btnSubtlePressedBg: rgba(15, 23, 42, .08);--fishGridWrapBg: rgba(15, 23, 42, .02);--dialogBorder: rgba(15, 23, 42, .14)}*{box-sizing:border-box}body{margin:0;min-height:100vh}dialog{border:1px solid var(--dialogBorder);border-radius:14px;background:var(--mainBg);color:var(--text);padding:14px 16px;box-shadow:none}dialog::backdrop{background:var(--dialogBackdrop)}.topRightBtn{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.topRightBtn:hover{background:var(--btnBgHover)}.topRightBtn--compact{width:34px;height:34px}dialog h3{margin:0 0 12px}a{color:inherit;text-decoration:none}.appShell{min-height:100vh;height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{padding:16px;background:var(--sidebarBg);border-right:1px solid var(--border);color:var(--sidebarText)}.brand{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.brandMark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#a78bfa,#22c55e);color:#0b1220;font-weight:800}.brandTitle{font-weight:700}.brandSub{opacity:.7;font-size:12px}.nav{margin-top:16px;display:flex;flex-direction:column;gap:14px}.navSectionHeader{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer}.navSectionTitle{padding:0 12px;font-size:12px;font-weight:900;letter-spacing:.12em;opacity:.78;text-transform:uppercase;margin-bottom:6px}.navSectionTitle--solo{margin-bottom:6px}.navSectionTitle--asLink{padding:0;margin:0}.navSectionLinks .navLink .navSectionTitle--asLink{display:block}:root[data-theme=light] .navSectionTitle{opacity:.85}.navSectionChevron{padding-right:10px;opacity:.7;font-size:12px}:root[data-theme=light] .navSectionChevron{opacity:.9}.navSection.collapsed .navSectionTitle{margin-bottom:0}.navSectionLinks{display:flex;flex-direction:column;gap:6px}.navLink{padding:8px 12px;border-radius:10px;border:1px solid transparent;color:inherit;opacity:1}.navLink--child{padding-left:22px;position:relative}.navLink--child:before{content:"";position:absolute;left:12px;top:9px;bottom:9px;width:1px;background:var(--navChildIndicator)}.navLink:hover{background:var(--navHoverBg);border-color:var(--border)}.navLink.active{background:var(--navActiveBg);border-color:var(--navActiveBorder);opacity:1}.sidebarFooter{margin-top:16px;padding:10px 12px;opacity:.55;font-size:12px}.sidebarUser{margin-top:auto;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.sidebarUserName{font-weight:700}.sidebarUserEmail{margin-top:2px;opacity:.75;font-size:12px;word-break:break-all}.btn{margin-top:10px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--btnBorder);background:var(--btnBg);color:var(--text);cursor:pointer}.fbBtn{width:auto;margin-top:0;padding:8px 10px;border-radius:10px;border:1px solid var(--btnBorder);background:var(--btnBg);color:var(--text);cursor:pointer;font-weight:700}.fbBtn:hover{background:var(--btnBgHover)}.fbBtn:disabled{opacity:.55;cursor:not-allowed}.fbLinkRow{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--border2);background:var(--panelSubtleBg);color:inherit;cursor:pointer}.fbLinkRow:hover{background:var(--navHoverBg);border-color:var(--border)}.btn:hover{background:var(--btnBgHover)}.btn:disabled{opacity:.55;cursor:not-allowed}.main{background:var(--mainBg);color:var(--text);padding:22px;min-height:0;display:flex;flex-direction:column;overflow:auto;position:relative}.page{max-width:1200px;min-height:0}.page.page--col{display:flex;flex-direction:column;flex:1;min-height:0}.page.page--wide{max-width:none}.gridDashboard{display:grid;grid-template-columns:2fr 1fr;gap:16px;flex:1;min-height:0}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:nowrap}.pageHeader>:first-child{flex:1 1 auto;min-width:0}.pageHeader>:last-child{flex:0 0 auto}h1{margin:0;font-size:24px}.muted{color:var(--muted);opacity:1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.grid2,.gridDashboard{grid-template-columns:1fr}}.card{border:1px solid var(--border);border-radius:14px;background:var(--cardBg);box-shadow:none;overflow:hidden;display:flex;flex-direction:column;min-height:0}.cardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border2);background:var(--cardHeaderBg)}.cardTitle{margin:0;font-size:14px;letter-spacing:.2px}.cardBody{padding:14px;flex:1;min-height:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--headerPillBorder);opacity:.8;font-size:12px}.placeholderLine{height:10px;border-radius:8px;margin-bottom:10px;background:var(--placeholderBg)}.placeholderLine.short{width:65%}.placeholderHint{margin-top:10px;opacity:.7;font-size:13px}.list{margin:0;padding-left:18px}.badge{display:inline-block;min-width:84px;text-align:center;padding:4px 10px;border-radius:999px;border:1px solid var(--badgeBorder);margin-right:8px;font-size:12px;font-weight:700;letter-spacing:.2px;color:var(--badgeText);background:var(--badgeBg)}.badge--queued{background:var(--badgeBg);border-color:var(--badgeBorder)}.badge--running{background:#60a5fa2e;border-color:#60a5fa8c}.badge--success{background:#22c55e2e;border-color:#22c55e8c}.badge--partial{background:#a855f72e;border-color:#a855f78c}.badge--failed{background:#ef44442e;border-color:#ef44448c}.badge--canceled{background:#eab30824;border-color:#eab30873}button.badge{font-family:inherit}button.badge:hover{filter:brightness(1.08)}.tabStrip{display:flex;align-items:flex-end;gap:2px;margin:0 0 12px;padding:0 4px;border-bottom:1px solid var(--tabStripBorder);overflow-x:auto;overflow-y:hidden;white-space:nowrap;position:sticky;top:0;z-index:10;background:var(--tabStripBg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tab{appearance:none;flex:0 0 auto;border:1px solid var(--tabBorder);border-bottom:none;background:var(--tabBg);color:var(--tabText);padding:10px 12px;border-top-left-radius:10px;border-top-right-radius:10px;font-weight:800;letter-spacing:.2px;cursor:pointer;transform:translateY(1px)}.tab:hover{filter:brightness(1.08)}.tab--active{background:var(--tabActiveBg);border-color:var(--tabActiveBorder);box-shadow:none;transform:translateY(0)}.tableWrap{overflow:auto;min-height:0}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 8px;border-bottom:1px solid var(--tableCellBorder);text-align:left}.crmTabBody{flex:1;min-height:0}.crmCommsBody{display:flex;flex-direction:column;gap:0;height:100%;min-height:0}.crmCommsTable{flex:1;min-height:0;overflow:auto}.crmCommsTable tbody tr{transition:background-color .3s ease,opacity .3s ease}@keyframes commRowSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.crmCommsTable tbody tr.comm-new{animation:commRowSlideIn .4s ease-out}.varSuggest{position:absolute;left:10px;right:10px;bottom:10px;border:1px solid var(--overlaySuggestBorder);background:var(--overlaySuggestBg);border-radius:12px;padding:10px;box-shadow:none;z-index:20}.varSuggestTitle{font-weight:800;font-size:12px;opacity:.9}.varSuggestList{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.varSuggestItem{width:auto;margin-top:0;padding:6px 10px;border-radius:999px;border:1px solid var(--varSuggestItemBorder);background:var(--varSuggestItemBg);color:var(--varSuggestItemText);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.varSuggestItem:hover{background:var(--varSuggestItemHoverBg)}.varSuggestItem--active{background:#60a5fa2e;border-color:#60a5fa8c}.varSuggestEmpty{margin-top:8px;opacity:.7;font-size:12px}.varSuggestHint{margin-top:8px;opacity:.6;font-size:12px}.iconBtn{appearance:none;border:1px solid var(--iconBtnBorder);background:var(--iconBtnBg);color:var(--iconBtnText);border-radius:10px;padding:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.iconBtn:hover{background:var(--iconBtnHoverBg)}.iconBtn:disabled{opacity:.55;cursor:not-allowed}.iconBtn svg{width:16px;height:16px}.taskQueue{display:flex;flex-direction:column;height:100%;min-height:0}.taskQueueTop{position:sticky;top:0;z-index:5;background:var(--taskQueueTopBg);border-radius:10px;padding:10px;margin:-10px -10px 10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--taskQueueTopBorder)}.taskQueueList{flex:1;min-height:0;overflow:auto;padding-right:6px}.taskCard{border:1px solid var(--taskCardBorder);background:var(--taskCardBg);border-radius:12px;padding:10px 12px}.taskCardRow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.taskMeta{opacity:.75;font-size:12px}.btn.btn--sm{width:auto;margin-top:0;padding:6px 10px}.linkBtn{background:transparent;border:1px solid var(--linkBtnBorder);color:var(--linkBtnText);border-radius:999px;padding:6px 10px;cursor:pointer;opacity:.9}.linkBtn:hover{background:var(--linkBtnHoverBg)}.taskDetailsBtn--open{background:#60a5fa1f;border-color:#60a5fa59}.error{padding:10px 12px;border-radius:10px;background:#ef44441f;border:1px solid rgba(239,68,68,.3)}.form{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12px;opacity:.8}input,textarea,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--inputBorder);background:var(--inputBg);color:var(--inputText);outline:none;color-scheme:var(--colorScheme)}input::placeholder,textarea::placeholder{color:var(--inputPlaceholder)}input[type=checkbox],input[type=radio]{width:auto;padding:0;border-radius:4px}textarea{min-height:120px;resize:vertical}.btn--subtle{background:transparent;border:1px solid var(--btnSubtleBorder);color:inherit}.btn--subtle[aria-pressed=true]{background:var(--btnSubtlePressedBg)}.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.kanbanCol{min-width:260px;max-width:320px;flex:0 0 auto;border:1px solid var(--kanbanColBorder);background:var(--kanbanColBg);border-radius:12px;padding:10px}.kanbanColHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.kanbanColTitle{font-weight:600}.kanbanColBody{display:flex;flex-direction:column;gap:8px}.kanbanCard{border:1px solid var(--kanbanCardBorder);border-radius:12px;background:var(--kanbanCardBg);padding:10px}.kanbanCard:active{opacity:.7}.kanbanCardTitle a{color:inherit}.kanbanCardTitle a:hover{text-decoration:underline}.kanbanCardMeta{margin-top:6px;font-size:12px;line-height:1.3}.assigneePicker{position:relative;width:100%;min-width:220px}.assigneePicker__menu{max-height:280px;overflow:auto;border-radius:12px;border:1px solid var(--assigneeMenuBorder);background:var(--assigneeMenuBg);box-shadow:none}.assigneePicker__option{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--assigneeOptionBorder)}.assigneePicker__option:last-child{border-bottom:none}.assigneePicker__option.isActive,.assigneePicker__option:hover{background:var(--assigneeOptionHoverBg)}.assigneePicker__label{font-weight:600}.assigneePicker__meta{margin-top:2px;font-size:12px}.assigneePicker__empty{padding:10px 12px}.kanbanDropLine{height:3px;border-radius:999px;background:#60a5fae6;box-shadow:none}.kanbanCol.isDropTarget{outline:2px solid rgba(96,165,250,.35)}.fbShell{display:flex;flex-direction:column;height:100%}.fbShellHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border2);background:var(--panelHeaderBg)}.fbShellTitle{font-weight:900;font-size:18px;letter-spacing:.2px;margin:0}.fbShellToolbar{display:flex;align-items:center;justify-content:flex-end;min-width:0}.fbShellWorkspaceTabs{border-bottom:1px solid var(--border2);background:var(--panelBg);padding:6px 10px}.fbWorkspaceTabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fbWorkspaceTab{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:8px;border:1px solid var(--border2);background:var(--btnBg);color:inherit;font-weight:700;text-decoration:none;cursor:pointer}.fbWorkspaceTab.isActive{background:#60a5fa38;border-color:#60a5fa59}.fbWorkspaceTab.isDisabled,.fbWorkspaceTab:disabled{opacity:.55;cursor:not-allowed}.fbShellBody{display:grid;grid-template-columns:var(--fb-left-width, 360px) 6px 1fr;min-height:0;flex:1}.fbShellBody--single{grid-template-columns:1fr}.fbShellLeft{min-height:0;overflow:hidden}.fbShellRight{display:grid;grid-template-columns:1fr 6px var(--fb-right-actions-width, 140px);min-height:0}.fbShellRight--noActions{grid-template-columns:1fr}.fbShellRightMain{min-height:0;overflow:auto;padding:0}.fbResizer{width:6px;cursor:col-resize;background:var(--resizerBg)}.fbResizer:hover{background:var(--resizerHoverBg)}.fbResizerLeft,.fbResizerRight{border-left:1px solid var(--resizerBorder);border-right:1px solid var(--resizerBorder)}.fbShellRightActions{border-left:1px solid var(--rightActionsBorder);min-height:0;overflow:auto;padding:10px;background:var(--rightActionsBg)}.fbTopToolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fbToolbarBtn{width:auto;height:var(--controlH);padding:0 var(--controlPadX);border-radius:var(--radius-md);border:1px solid var(--toolbarBtnBorder);background:var(--toolbarBtnBg);color:inherit;font-weight:700;cursor:pointer}.fbToolbarBtn:disabled{opacity:.45;cursor:not-allowed}.fbRightActionStrip{display:flex;flex-direction:column;gap:8px}.fbRightActionBtn{width:100%;height:var(--controlH);padding:0 var(--controlPadX);border-radius:var(--radius-md);border:1px solid var(--toolbarBtnBorder);background:var(--toolbarBtnBg);color:inherit;font-weight:800;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.fbRightActionBtn:disabled{opacity:.45;cursor:not-allowed}.fbPanel{border:1px solid var(--border2);border-radius:14px;background:var(--panelBg);box-shadow:none}.fbFishHeader{background:var(--panelHeaderBg);color:var(--text);padding:10px 14px;font-weight:900;border-bottom:1px solid var(--border2)}.fbFishSurface{background:transparent}.fbFishTabs{display:flex;gap:8px;padding:8px 10px;background:transparent;border-bottom:1px solid var(--border2)}.fbFishTabs button{border:1px solid transparent;background:transparent;padding:6px 10px;font-weight:800;color:var(--muted);border-radius:10px;cursor:pointer}.fbFishTabs button[data-active=true]{background:var(--navActiveBg);border-color:var(--navActiveBorder);color:var(--text)}.fbFishSectionHeader{background:var(--panelHeaderBg);color:var(--text);font-weight:900;padding:8px 10px;border:1px solid var(--border2);border-bottom:none;border-radius:14px 14px 0 0}.fbFishSectionBody{background:var(--panelBg);border:1px solid var(--border2);border-radius:0 0 14px 14px;padding:10px}.fbFishForm{display:grid;grid-template-columns:140px 1fr 140px 1fr;gap:8px 10px;align-items:center}.fbFishLabel{font-weight:800;color:var(--muted)}.fbFishInput,.fbFishSelect{width:100%;border:1px solid var(--fishInputBorder);background:var(--fishInputBg);padding:6px 8px;border-radius:10px;color:var(--text);outline:none}.fbFishInput::placeholder{color:var(--inputPlaceholder)}.fbFishInput:focus,.fbFishSelect:focus{border-color:var(--fishInputFocusBorder);box-shadow:0 0 0 2px var(--fishInputFocusShadow)}.fbFishSelect{-webkit-appearance:none;appearance:none;padding-right:28px;color-scheme:var(--colorScheme);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.fbFishSelect option{background:var(--fishSelectOptionBg);color:var(--fishSelectOptionText)}.fbFishSelect:disabled{opacity:.6}.fbFishGridWrap{border:1px solid var(--border2);background:var(--fishGridWrapBg);border-radius:12px;padding:0}.soLines .fbGridWrap{background:transparent;border:none;overflow-x:auto}.soLines .fbGrid{min-width:1400px;table-layout:fixed}.soLines .fbGrid thead th,.soLines .fbGrid tbody td{overflow:hidden}.soLines .fbGrid thead th{background:var(--soGridHeaderBg);color:var(--soGridHeaderText)}.soLines .fbGrid tbody td{color:var(--soGridCellText)}.soLines .soCell{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soLines .fbGridRowClickable:hover{background:var(--soGridRowHoverBg)}.soLines .fbGridRowSelected{background:var(--soGridRowSelectedBg)}.soLines .fbGridEmpty{color:var(--soGridEmptyText)}.fbPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border2);background:var(--panelHeaderBg)}.fbPanelTitle{font-weight:900;display:flex;align-items:center}.fbPanelHeaderActions{display:flex;align-items:center;gap:8px}.fbPanelHeaderActions .btn{width:auto;padding:4px 10px}.fbPanelHeaderActions>*{display:inline-flex;align-items:center}.fbPanelBody{padding:8px 10px;line-height:1.3}.fbPane{padding:14px;min-height:0}.fbPaneSection{border:1px solid var(--paneSectionBorder);border-radius:14px;background:var(--paneSectionBg);padding:10px 12px}.fbPaneSectionTitle{font-weight:900}.fbActions{display:flex;flex-direction:column;gap:8px}.fbActions .btn{width:100%}.fbFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fbField{display:flex;flex-direction:column;gap:6px;min-width:0}.fbLabel{font-size:12px;font-weight:800;color:var(--labelText);line-height:1.2}.fbFieldInline{flex-direction:row;align-items:center;gap:8px}.fbFieldInline input[type=checkbox]{width:16px;height:16px;margin:0}.fbMaster{padding:10px}.soMaster{--soMasterTopOffset: 44px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pickMaster{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pickMaster .fbPanelHeader{position:sticky;top:0;z-index:35;background:var(--panelHeaderBg)}.pickMaster .fbGridFooter{position:sticky;bottom:0;z-index:30;background:var(--gridFooterBg)}.pickMaster .fbPanel,.pickMaster .fbGridWrap,.pickMaster .fbFishGridWrap{box-shadow:none!important}.soMasterTop{position:sticky;top:0;z-index:40;background:transparent}.soMaster .fbPanelHeader{position:sticky;top:var(--soMasterTopOffset);z-index:35;background:var(--panelHeaderBg)}.soMaster .fbGridFooter{position:sticky;bottom:0;z-index:30;background:var(--gridFooterBg)}.soMaster .fbPanel,.soMaster .fbGridWrap,.soMaster .fbFishGridWrap{box-shadow:none!important}.fbMasterFooter{margin-top:10px;font-size:12px}.fbGridWrap{border:1px solid var(--gridWrapBorder);border-radius:14px;overflow:hidden;background:var(--gridWrapBg)}.fbGrid{width:100%;border-collapse:collapse}.fbGrid thead th{text-align:left;font-size:12px;padding:10px;background:var(--gridHeaderBg);border-bottom:1px solid var(--gridHeaderBorder);color:var(--gridHeaderText)}.fbGrid tbody td{padding:10px;border-bottom:1px solid var(--gridRowBorder)}.fbGridRowClickable{cursor:pointer}.fbGridRowClickable:hover{background:var(--gridRowHoverBg)}.fbGridRowSelected{background:var(--gridRowSelectedBg)}.fbGridRowSelected:hover{background:var(--gridRowSelectedHoverBg)}.fbGridEmpty{padding:10px 12px;font-size:12px;color:var(--gridEmptyText)}.fbGridFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--gridFooterBorder);background:var(--gridFooterBg);font-size:12px}.fbPill{display:inline-flex;padding:4px 8px;border-radius:999px;border:1px solid var(--fbPillBorder);background:var(--fbPillBg);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fbSingleLineGrid .fbGrid{table-layout:fixed}.fbSingleLineGrid .fbGridWrap>div{overflow-x:hidden!important}.fbSingleLineGrid .fbGrid thead th,.fbSingleLineGrid .fbGrid tbody td{overflow:hidden}.fbSingleLineGrid .fbGrid tbody td>*{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fbDetail{display:flex;flex-direction:column;gap:10px}.fbDetailHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border2);border-radius:14px;background:var(--panelHeaderBg)}.fbTabs{display:flex;gap:8px;flex-wrap:wrap}.fbTab{width:auto;padding:8px 10px;border-radius:999px;border:1px solid var(--fbTabBorder);background:var(--fbTabBg);color:inherit;font-weight:800;cursor:pointer}.fbTabActive{background:#60a5fa2e;border-color:#60a5fa66}.fbTab:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1080px){.fbShellBody{grid-template-columns:1fr}.fbResizer{display:none}.fbShellLeft{border-bottom:1px solid var(--border2)}.fbShellRight{grid-template-columns:1fr}.fbShellRightActions{display:none}.fbFormGrid{grid-template-columns:1fr}}.fbTree,.fbTreeFolder{display:flex;flex-direction:column;gap:4px}.fbTreeFolderHeader{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--treeFolderBorder);background:var(--treeFolderBg);color:inherit;cursor:pointer;font-weight:900}.fbTreeChildren{padding-left:18px;display:flex;flex-direction:column;gap:4px}.fbTreeItem{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--treeItemBorder);background:var(--treeItemBg);color:inherit;cursor:pointer}.fbTreeItem:hover{border-color:#60a5fa59;background:#60a5fa14}.fbTreeItemActive{border-color:#60a5fa99;background:#60a5fa24}.fbTreeIcon{opacity:.9}.fbTreeLabel{font-weight:800}
