:root{--app-header-height: 64px;--z-overlays: 1060;--z-app-header: 1030;--z-help-panel: 1028;--z-controls: 1020;--z-org-header: 1010;--z-entity-header: 1005;--z-app-sidebar: 1000;--font-sans: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;--font-size-body: .9375rem;--font-size-h1: 1.75rem;--font-size-h2: 1.25rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 10px;--radius-md: 12px;--shadow-card: 0 12px 28px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .06);--shadow-soft: 0 2px 6px rgba(15, 23, 42, .08);--color-brand: #1f3a5f;--color-brand-strong: #172d4f;--color-bg: #f4f6f9;--color-surface: #ffffff;--color-border: #d7dde5;--color-border-strong: #c4ccd8;--color-text: #1f2937;--color-muted: #5b6472;--app-accent: #2b6ff2;--app-accent-strong: #1d4ed8;--app-accent-soft: rgba(43, 111, 242, .14);--logo-tint: brightness(0) saturate(100%) invert(24%) sepia(95%) saturate(1892%) hue-rotate(215deg) brightness(96%) contrast(93%);--status-success: #15803d;--status-warning: #b45309;--status-error: #b42318;--status-info: #2563eb;--transition-fast: .16s ease;--bs-body-font-family: var(--font-sans);--bs-body-font-size: var(--font-size-body);--bs-body-bg: var(--color-surface);--bs-body-color: var(--color-text);--bs-border-color: var(--color-border);--bs-primary: var(--color-brand);--bs-secondary: #64748b;--bs-success: var(--status-success);--bs-warning: var(--status-warning);--bs-danger: var(--status-error);--bs-info: var(--status-info);--bs-link-color: var(--color-brand);--bs-focus-ring-color: rgba(31, 58, 95, .25);--bs-border-radius: .75rem;--bs-border-radius-sm: .65rem;--bs-border-radius-lg: .85rem;--sticky-offset: var(--app-header-height)}html,body{height:100%}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);color:var(--bs-body-color);background-color:var(--color-bg)}.modal-content{color:var(--bs-body-color)}.app-shell{display:flex;min-height:100vh;background:var(--color-bg)}.main-panel{flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;background:var(--color-bg)}.main-content{flex:1;min-width:0;width:100%;padding:var(--space-6) var(--space-7) var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.app-lockup{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:inherit;min-width:0}.app-lockup__mark{height:28px;width:auto;max-width:140px;object-fit:contain;filter:var(--logo-tint)}.app-lockup__mark-secondary{height:20px;width:auto;max-width:160px;object-fit:contain;opacity:.95;filter:var(--logo-tint)}.app-lockup__text{display:flex;flex-direction:column;line-height:1.1}.app-lockup__parent{font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.app-lockup__product{font-size:1rem;font-weight:700;color:var(--app-accent-strong)}.app-lockup--compact .app-lockup__text{display:none}.app-lockup--compact .app-lockup__mark{max-width:36px}.sidebar{width:300px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);padding:calc((var(--app-header-height) - 28px) / 2) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:0;align-self:flex-start;min-height:100vh;overflow-y:auto;z-index:var(--z-app-sidebar);transition:transform var(--transition-fast)}.sidebar-header{display:flex;align-items:center;gap:var(--space-3);position:relative}.sidebar-header .app-lockup{flex:1;min-width:0;max-width:calc(100% - 40px)}.sidebar-close{flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:0!important;width:28px;height:28px;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-close svg{display:block}.sidebar-close:hover,.sidebar-close:focus-visible{background:color-mix(in srgb,var(--color-surface) 70%,#e6edf7 30%);border-color:color-mix(in srgb,var(--color-border) 60%,#a9b8d0 40%);box-shadow:0 0 0 3px #1f3a5f1f}.sidebar-header .app-lockup__mark-secondary{max-width:170px;flex-shrink:1}.sidebar-title{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.sidebar-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-soft)}.sidebar-section h2{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.nav-list{display:flex;flex-direction:column;gap:var(--space-2)}.nav-button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;font-weight:600;font-size:.95rem;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);justify-content:flex-start}.nav-button:hover{background:color-mix(in srgb,var(--color-surface) 70%,#eef2f7 30%)}.nav-button.is-active,.nav-button[aria-current=page]{background:var(--app-accent-soft);border-color:color-mix(in srgb,var(--app-accent) 35%,var(--color-border));color:var(--app-accent-strong);box-shadow:inset 0 0 0 1px #2b6ff21f}.nav-icon{width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--color-bg) 60%,white 40%);display:inline-flex;align-items:center;justify-content:center;color:var(--app-accent-strong);border:1px solid color-mix(in srgb,var(--color-border) 70%,white 30%);flex-shrink:0}.nav-label{flex:1;text-align:left}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#0f172a59;border:none;z-index:var(--z-overlays)}h1{font-size:var(--font-size-h1);font-weight:700;margin:0}h2{font-size:var(--font-size-h2);font-weight:700;margin:0}.page-header{display:flex;flex-direction:column;gap:var(--space-2)}.page-subtitle{margin:0;color:var(--color-muted);font-size:.95rem;max-width:720px}.auth-screen{min-height:calc(100vh - var(--app-header-height));display:flex;align-items:center;justify-content:center;padding:var(--space-7) var(--space-4)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-card);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);min-width:min(420px,90vw)}.auth-message{color:var(--color-muted);font-weight:600}.app-header{position:sticky;top:0;background:var(--color-surface);color:var(--color-text);box-shadow:none;border-bottom:1px solid var(--color-border);z-index:var(--z-app-header)!important;height:var(--app-header-height)}.app-header .header-search{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.app-header .header-search::placeholder{color:var(--color-muted)}.app-header .header-search-wrap:hover .header-search,.app-header .header-search:focus{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-brand) 35%,var(--color-border));box-shadow:0 0 0 3px #1f3a5f2e;transition:background var(--transition-fast)}.app-header .header-search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.app-header .clear-btn{opacity:.6;transition:opacity .15s ease-in-out}.app-header .clear-btn:hover,.app-header .clear-btn:focus{opacity:1}.app-header .icon-toggle{position:relative;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);background:transparent;border:0;opacity:.9;transition:opacity var(--transition-fast);font-size:16px}.app-header .icon-toggle:hover{opacity:1}.app-header .icon-toggle:disabled{opacity:.4;pointer-events:none}.app-header .help-toggle{background:var(--color-bg);border-radius:999px;box-shadow:inset 0 0 0 1px var(--color-border)}.app-header .help-toggle:hover,.app-header .help-toggle:focus-visible{background:color-mix(in srgb,var(--color-bg) 80%,white 20%);outline:none}.app-header .help-toggle .help-icon{display:block;width:16px;height:16px;position:relative;z-index:1;color:var(--color-text)}.app-header .help-toggle .slash-icon{position:absolute;inset:0;margin:auto;width:18px;height:18px;color:var(--color-text);opacity:.85;z-index:2;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.app-header .icon-toggle svg{width:1em;height:1em;display:block;position:relative;color:var(--color-text);z-index:1}.app-header .help-toggle .help-icon,.app-header .help-toggle .help-icon *{fill:currentColor}.app-header .header-search-action{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;padding:0;background:transparent;color:var(--color-muted);border-radius:50%;transition:background var(--transition-fast),opacity var(--transition-fast);opacity:.85}.app-header .header-search-wrap button.header-search-action:hover,.app-header .header-search-wrap button.header-search-action:focus-visible{background:color-mix(in srgb,var(--color-bg) 60%,white 40%);opacity:1;outline:none}.app-header .header-search-action svg{width:14px;height:14px;pointer-events:none}.app-header .header-search-wrap .header-help-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--color-text);opacity:.85;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast);z-index:2}.app-header .header-search-wrap .header-help-btn .slash-icon{position:absolute;inset:0;margin:auto;width:16px;height:16px;color:var(--color-text);opacity:.9;z-index:2;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.main-header__left,.main-header__center,.main-header__right{display:flex;align-items:center;gap:var(--space-3)}.main-header__left{min-width:0}.main-header__title{font-weight:700;color:var(--app-accent-strong);font-size:1.05rem;letter-spacing:.02em;text-transform:none;line-height:1}.main-header__center{flex:1;justify-content:center;min-width:0}.main-header__right{justify-content:flex-end}.sidebar-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:6px 12px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar-toggle:hover{background:color-mix(in srgb,var(--color-surface) 80%,#eef2f7 20%)}@media(max-width:719.98px){.sidebar-toggle{display:inline-flex}.sidebar{width:260px;position:fixed;inset:0 auto 0 0;transform:translate(-110%);box-shadow:12px 0 24px #0f172a2e;z-index:calc(var(--z-overlays) + 1)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{display:block}.main-content{padding:var(--space-5) var(--space-4) var(--space-7)}.sidebar-header .app-lockup{max-width:100%}.sidebar-header .app-lockup__mark-secondary{display:none}}@media(min-width:720px){.app-shell.tablet-mode .sidebar-close{display:none}.app-shell.sidebar-collapsed .sidebar{width:72px;padding:calc((var(--app-header-height) - 28px) / 2) var(--space-2) var(--space-4);border-right:1px solid var(--color-border);overflow:hidden;transform:translate(0)}.app-shell.sidebar-collapsed .sidebar>*{opacity:1;pointer-events:auto}.app-shell.sidebar-collapsed .sidebar-header{flex-direction:column;align-items:center;gap:var(--space-2);justify-content:center}.app-shell.sidebar-collapsed .app-lockup{justify-content:center}.app-shell.sidebar-collapsed .sidebar-close{position:static}.app-shell.sidebar-collapsed .sidebar-section h2,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .status-item .status-label,.app-shell.sidebar-collapsed .status-item .status-value{display:none}.app-shell.sidebar-collapsed .nav-button{justify-content:center;padding:8px;width:44px;height:44px;border-radius:14px}.app-shell.sidebar-collapsed .sidebar-section{padding:var(--space-3) var(--space-2);align-items:center}.app-shell.sidebar-collapsed .status-list{align-items:center}.app-shell.sidebar-collapsed .status-item{justify-content:center}.app-shell.sidebar-collapsed .nav-icon{margin:0}}@media(max-width:640px){.main-content{padding:var(--space-4) var(--space-4) var(--space-6)}h1{font-size:1.5rem}}.controls{position:sticky;top:var(--app-header-height);z-index:var(--z-controls);background:var(--color-surface);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.controls>*+*{margin-top:.8rem}.controls .filter-toggle{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.controls .filter-toggle>*{flex:1 1 120px}.controls .filter-toggle button{display:flex;align-items:center;gap:.5em}.controls .search-group{display:flex;gap:.5rem;max-width:500px;width:100%}.open-only-btn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--bs-gray-500);transition:background-color .15s ease-in-out,color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.open-only-btn:hover:not(:disabled),.open-only-btn:focus-visible{background-color:color-mix(in srgb,var(--color-surface) 80%,#eef2f7 20%);color:var(--bs-body-color);box-shadow:0 0 0 1px #1f3a5f40}.open-only-btn.active{background-color:var(--color-brand);color:#fff;border-color:var(--color-brand)}#helpPanel{position:fixed;top:var(--app-header-height);left:0;right:0;z-index:var(--z-help-panel);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);width:min(960px,calc(100% - 2rem));margin:0 auto}#helpPanel[data-animate=true]{transform:translateY(-6px);opacity:0;transition:transform .16s ease,opacity .16s ease}#helpPanel[data-animate=true].is-open{transform:translateY(0);opacity:1}.organisation{position:relative;overflow:visible;border:1px solid var(--color-border);padding:var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-md);transition:border-left-width var(--transition-fast),background-color var(--transition-fast)}.organisation:hover{background-color:color-mix(in srgb,var(--color-bg) 70%,white 30%);transition:background-color var(--transition-fast)}.organisation>button{width:100%;text-align:left;color:#212529}.organisation-header,.organisation-header.btn-link{position:sticky;top:var(--sticky-offset, var(--app-header-height));z-index:var(--z-org-header);display:block;width:100%;background-color:var(--color-surface)!important;border-bottom:1px solid var(--bs-border-color);text-decoration:none;padding:.25rem .5rem;box-shadow:0 1px #0000000a;will-change:transform}.organisation-header.btn-link:hover,.organisation-header.btn-link:focus,.organisation-header.btn-link:active,.organisation-header.btn-link:focus-visible{background-color:var(--color-surface)!important;text-decoration:none;box-shadow:none}.row-clickable{cursor:pointer}.contact,.lead{font-size:1rem;font-weight:500}.contact{background:#e6f7ff;padding:.5em;margin:.5em 0;cursor:pointer;border-left:4px solid #1890ff;display:flex;align-items:center;gap:.5em}.lead{background:#fff7e6;padding:.5em;margin:.5em 0;cursor:pointer;border-left:4px solid #faad14;display:flex;align-items:center;gap:.5em}.contact:hover,.contact:focus{background-color:#cef;outline:none;border-left-color:#096dd9;transition:background-color .3s ease,border-left-color .3s ease}.lead:hover,.lead:focus{background-color:#ffdb99;outline:none;border-left-color:#d48806;transition:background-color .3s ease,border-left-color .3s ease}.details{display:none;margin-top:.3em;font-size:.9rem;font-weight:400;color:#444;flex-basis:100%}.details.visible{display:block}.opportunity{background:#e6ffe6;padding:.5em;margin:.5em 0;cursor:pointer;border-left:4px solid #52c41a;display:flex;align-items:center;gap:.5em}.opportunity:hover,.opportunity:focus{background-color:#b7eb8f;outline:none;border-left-color:#389e0d;transition:background-color .3s ease,border-left-color .3s ease}.project{background:#fff0f6;padding:.5em;margin:.5em 0;cursor:pointer;border-left:4px solid #eb2f96;display:flex;align-items:center;gap:.5em}.project:hover,.project:focus{background-color:#ffadd2;outline:none;border-left-color:#c41d7f;transition:background-color .3s ease,border-left-color .3s ease}.highlight{background-color:#ff0;font-weight:700}.insightly-link{display:flex;align-items:center;color:#555;font-size:1.1rem;cursor:alias}.insightly-link:hover{color:#000}.btn-group>.btn+.btn.btn-addon{margin-left:-1px;border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.btn-addon-static{pointer-events:none}.controls .filter-toggle .btn-group.entity-toggle{display:flex;width:100%}.controls .filter-toggle .btn-group.entity-toggle>.btn:first-child{flex:1 1 auto;display:flex;gap:.5em;justify-content:flex-start}.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-addon{flex:0 0 auto;padding:.25rem .45rem;display:flex;align-items:center;justify-content:center;background-color:var(--bs-body-bg)!important;cursor:pointer;transition:background-color .12s ease-in-out,box-shadow .12s ease-in-out,transform .12s ease-in-out;transform-origin:center}.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-outline-warning.btn-addon:hover,.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-outline-warning.btn-addon:focus{background-color:#ffc10726!important}.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-outline-success.btn-addon:hover,.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-outline-success.btn-addon:focus{background-color:#19875426!important}.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-addon:focus-visible{outline:none;box-shadow:0 0 0 3px #0000001a,0 0 0 5px #007bff59}@media(prefers-reduced-motion:reduce){.controls .filter-toggle .btn-group.entity-toggle>.btn.btn-addon{transition:background-color .12s ease-in-out,box-shadow .12s ease-in-out;transform:none!important}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transition-color{transition:color .18s ease-in-out}.entity-grid{position:relative;overflow:visible}.entity-grid-group{border-left:6px solid var(--entity-accent, transparent);border-radius:var(--radius-md)}.entity-grid-group:hover .entity-grid-row{background:var(--entity-accent-row-hover, rgba(0, 0, 0, .03))}.entity-grid-row,.entity-grid-header{display:grid;grid-template-columns:var(--grid-template);align-items:center}.entity-grid-headcell,.entity-grid-cell{padding:.375rem .5rem;min-width:0}.entity-grid-headcell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-grid-row{border-bottom:1px solid var(--bs-border-color);font-size:.875rem;line-height:1.4;background-color:var(--entity-accent-bg, transparent);transition:background-color .2s ease-in-out}.entity-grid-row:hover{background-color:color-mix(in srgb,var(--entity-accent-bg, #0000) 55%,white)}.truncate{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-grid-cell.allow-wrap .truncate,.entity-grid.allow-wrap .entity-grid-cell .truncate{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.entity-grid-scroll{position:relative;overflow:auto;overscroll-behavior:contain}.entity-grid-header{position:sticky;top:var(--sticky-offset);z-index:var(--z-entity-header);background-color:var(--entity-header-bg, var(--bs-body-bg));box-shadow:inset 0 -1px 0 var(--bs-border-color);border-bottom:1px solid var(--bs-border-color)}.organisation[data-org-stuck=true] .entity-grid-header{top:calc(var(--sticky-offset) + var(--org-header-height, 0px))}.org-sticky-sentinel{height:0;padding:0;margin:0}.entity-grid-group[data-entity=contact]{--entity-accent: #1890ff;--entity-accent-bg: rgba(24, 144, 255, .08);--entity-accent-row-hover: rgba(24, 144, 255, .12)}.entity-grid-group[data-entity=lead]{--entity-accent: #faad14;--entity-accent-bg: rgba(250, 173, 20, .1);--entity-accent-row-hover: rgba(250, 173, 20, .14)}.entity-grid-group[data-entity=opportunity]{--entity-accent: #52c41a;--entity-accent-bg: rgba(82, 196, 26, .1);--entity-accent-row-hover: rgba(82, 196, 26, .14)}.entity-grid-group[data-entity=project]{--entity-accent: #eb2f96;--entity-accent-bg: rgba(235, 47, 150, .1);--entity-accent-row-hover: rgba(235, 47, 150, .14)}.entity-grid-group .entity-type-icon{color:var(--entity-accent)}.entity-grid-header{--entity-header-bg: var(--bs-body-bg)}.entity-grid[data-grid=contact] .entity-grid-header{--entity-header-bg: color-mix(in srgb, var(--bs-body-bg) 86%, #1890ff 14%)}.entity-grid[data-grid=lead] .entity-grid-header{--entity-header-bg: color-mix(in srgb, var(--bs-body-bg) 84%, #faad14 16%)}.entity-grid[data-grid=opportunity] .entity-grid-header{--entity-header-bg: color-mix(in srgb, var(--bs-body-bg) 85%, #52c41a 15%)}.entity-grid[data-grid=project] .entity-grid-header{--entity-header-bg: color-mix(in srgb, var(--bs-body-bg) 85%, #eb2f96 15%)}.entity-grid-iconbtn{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center}.entity-grid-detail{grid-column:1 / -1;background:var(--bs-body-bg)}.entity-grid-summary-wrap{grid-column:1 / -1!important;width:100%;background-color:color-mix(in srgb,var(--entity-accent-bg, #0000) 60%,white);padding:.4rem .6rem;transition:background-color .2s ease-in-out;border-bottom:1px solid var(--bs-border-color)}.entity-grid-summary-wrap:hover{background-color:color-mix(in srgb,var(--entity-accent-bg, #0000) 78%,white)}.entity-grid-summary-grid{display:grid;grid-template-columns:1fr;gap:.5rem;margin:0}@media(min-width:768px){.entity-grid-summary-grid{grid-template-columns:1fr 1fr}}.entity-grid-summary-grid .summary-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-left:4px solid var(--entity-accent, var(--bs-border-color));border-radius:var(--radius-sm);padding:.6rem .75rem;box-shadow:var(--shadow-soft);grid-column:1 / -1}.entity-grid-summary-grid .summary-span{grid-column:1 / -1}@media(min-width:768px){.entity-grid-summary-grid .summary-card.summary-half{grid-column:auto}}.entity-grid-summary-grid .summary-section+.summary-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--bs-border-color)}.entity-grid-summary-grid .summary-title{font-size:.75rem;font-weight:600;color:var(--bs-secondary-color);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.02em}.entity-grid-summary-grid .summary-item{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:.5rem;min-width:0}.entity-grid-summary-grid .summary-label{font-size:.75rem;color:var(--bs-secondary-color);white-space:nowrap}.entity-grid-summary-grid .summary-value{min-width:0}.entity-grid-summary-grid .summary-value .truncate,.entity-grid-summary-grid .summary-item .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.screen-nav__btn{border:1px solid var(--bs-border-color);background:var(--bs-body-bg);border-radius:.75rem;padding:.75rem 1rem;min-width:200px;display:flex;align-items:flex-start;gap:.75rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;color:inherit}.screen-nav__btn.is-active{border-color:var(--bs-primary);box-shadow:0 0 0 2px #0d6efd26;background:color-mix(in srgb,var(--bs-primary) 5%,var(--bs-body-bg))}.screen-nav__btn:focus-visible{outline:none;box-shadow:0 0 0 2px #0d6efd66}.screen-nav__icon{width:32px;height:32px;border-radius:50%;background:var(--bs-gray-100);display:inline-flex;align-items:center;justify-content:center;color:var(--bs-primary)}.screen-nav__body{flex:1;text-align:left}.screen-nav__label{font-weight:600;display:block}.screen-nav__desc{font-size:.85rem;color:var(--bs-gray-600)}.events-list{display:flex;flex-direction:column;gap:1rem;position:relative}.events-list:before{content:"";position:absolute;left:44px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#0d6efd66,#0d6efd1a);border-radius:999px;pointer-events:none}.event-row{display:grid;grid-template-columns:110px 1fr;gap:.1rem;align-items:flex-start;position:relative}.event-row__badge{min-height:100%;display:flex;align-items:flex-start;justify-content:flex-start;position:relative}.event-row__card{min-width:0}.calendar-badge{width:76px;border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-soft);text-align:center;overflow:hidden}.calendar-badge__month{background:var(--bs-primary);color:#fff;font-weight:700;letter-spacing:.05em;padding:.25rem .4rem;font-size:.75rem}.calendar-badge__day{font-size:1.8rem;font-weight:800;padding:.25rem .4rem .35rem;color:var(--bs-gray-900);line-height:1}.calendar-badge--now{border-color:#52c41a;box-shadow:0 0 0 3px #52c41a26}.calendar-badge--now .calendar-badge__month{background:#52c41a}.events-screen__sticky{position:sticky;top:var(--sticky-offset, var(--app-header-height));z-index:var(--z-controls);background:var(--color-surface);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.75rem}.events-screen__title{margin:0 0 .35rem}.events-screen__toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.events-section__header--sticky{margin:0}@media(max-width:767.98px){.event-row{grid-template-columns:1fr}.event-row__badge{order:-1;position:static}.event-row__badge,.event-row__card{width:100%}.calendar-badge{margin-bottom:.25rem}.events-list:before{display:none}}.event-card{border:1px solid var(--bs-border-color);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--bs-body-bg);box-shadow:var(--shadow-soft)}.event-card--did-not-run{border-color:#f1aeb5;background:linear-gradient(135deg,rgba(220,53,69,.06),var(--bs-body-bg))}.event-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.event-card__toggle{flex:1 1 auto;width:100%;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;color:inherit}.event-card__toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #0d6efd66;border-radius:.5rem}.event-card__header-actions{display:inline-flex;align-items:center;gap:.5rem}.event-card__title{display:inline-flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600}.event-card__status{margin-top:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.event-card__status-flag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;background:#dc35451f;color:#b02a37;font-weight:700;letter-spacing:.01em;text-transform:uppercase;font-size:.8rem}.event-card__status-text{color:var(--bs-gray-700);font-size:.9rem}.event-card__chevron{color:var(--bs-gray-600)}.event-card__meta{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.95rem}.event-card__meta-item{display:inline-flex;align-items:center;gap:.25rem;color:var(--bs-gray-700)}.event-card__relative{margin-left:.5rem;font-size:.85rem;color:var(--bs-gray-500)}.event-card__product{margin-top:.75rem;padding:.75rem;border:1px dashed var(--bs-border-color);border-radius:.65rem;background:linear-gradient(120deg,#0d6efd0a,#0d6efd05)}.event-card__product-title{font-weight:700;font-size:1rem}.event-card__product-summary{margin-top:.25rem}.event-card__product-header{display:flex;flex-direction:column;gap:.25rem}.event-card__product-badges-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem .75rem}.event-card__product-link-inline{padding:0;margin-left:.35rem;font-size:.85rem}.event-card__product-link-wrapper{display:inline-flex;align-items:center;justify-content:flex-end;white-space:nowrap}.event-card__product-link-inline svg{color:currentColor}.event-card__cohort-inline{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem}.event-card__catalogues{margin-top:.35rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.event-card__cohort{min-width:180px}.event-card__cohort-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#f1f5ff;color:#0d6efd;font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:.8rem}.event-card__cohort-chip--inline{background:#0d6efd14;font-weight:600}.event-card__cohort-chip--clickable{cursor:pointer}.event-card__product-button{white-space:nowrap}.event-card__cohort-summary{margin-top:.25rem}.event-card__cohort-schedule{margin-top:.75rem}.event-card__cohort-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.event-card__cohort-pill{border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.5rem;background:var(--bs-body-bg)}.event-card__pill-label{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:var(--bs-gray-600);font-weight:700}.event-card__pill-value{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.95rem}.event-card__pill-meta{color:var(--bs-gray-600);font-size:.85rem}.event-card__cohort-pill.is-current{border-color:#0d6efd;box-shadow:0 0 0 1px #0d6efd40}.event-card__cohort-pill-date{display:block;font-weight:600;font-size:.9rem}.event-card__cohort-pill-title{color:var(--bs-gray-700);font-size:.9rem}.event-card__cohort-count{margin-top:.25rem}.event-card__product-header .badge{font-weight:700}.event-card__product-assign{margin-top:.75rem;padding:.5rem;border:1px solid var(--bs-border-color);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.9rem;align-items:flex-start;background:var(--bs-body-bg)}.event-card__product-select{min-width:240px;flex:1 1 260px}.event-card__cohort-input{min-width:200px;flex:1 1 200px}.event-card__product-actions{display:flex;flex-direction:column;gap:.25rem;align-self:flex-end;margin-left:auto;align-items:flex-end}.event-card__stats{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bs-border-color);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.event-card__details{margin-top:1rem;border-top:1px solid var(--bs-border-color);padding-top:1rem}.event-card__section-divider{border-color:var(--bs-border-color);opacity:1;margin:1.5rem 0}.events-section+.events-section{margin-top:2rem}.events-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.events-section__title{font-size:1.1rem;margin:0}.participant-list{display:flex;flex-direction:column;gap:.75rem}.participant-card{border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.75rem;background:var(--bs-body-bg)}.participant-card__header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.participant-card__name{font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.participant-card__states{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.participant-state-flow{display:inline-flex;align-items:center;gap:0}.participant-state-flow__connector{position:relative;width:32px;height:2px;background:var(--bs-border-color);border-radius:999px;margin:0;flex-shrink:0}.participant-state-flow__connector:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--bs-border-color)}.participant-state{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.participant-state.bg-secondary-subtle,.participant-state.text-body{color:var(--bs-gray-700);font-weight:600}.participant-state--primary{box-shadow:0 0 0 2px #0d6efd26}.participant-state--placeholder{background:#ffc10733;color:#7a5b00;border:1px dashed #b58100;font-weight:700}.participant-card__activity{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.participant-card__activity-toggle{margin-top:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.participant-state-editor{border:1px dashed var(--bs-border-color);border-radius:.5rem;padding:.65rem .75rem;background:var(--bs-body-bg);margin-top:.75rem;display:flex;flex-direction:column;gap:.6rem;width:100%}.participant-state-editor__header{display:flex;justify-content:space-between;align-items:flex-start}.participant-state-editor__title{font-weight:700;font-size:.9rem}.participant-state-editor__hint{color:var(--bs-secondary-color);font-size:.8rem}.participant-state-editor__section{display:flex;flex-direction:column;gap:.35rem;flex:0 1 auto}.participant-state-editor__section--pills{flex:1 1 auto}.participant-state-editor__label{font-weight:600;font-size:.85rem;color:var(--bs-gray-800)}.participant-state-editor__pill-row{display:flex;flex-wrap:wrap;gap:.4rem}.participant-state-pill{border:1px solid var(--bs-border-color);background:transparent;border-radius:999px;padding:.25rem .7rem;font-size:.85rem;font-weight:600;color:var(--bs-gray-800)}.participant-state-pill.is-active{border-color:var(--bs-primary);background:var(--bs-primary);color:#fff;box-shadow:0 2px 6px #0d6efd33}.participant-state-pill--outcome{border-style:dashed;color:var(--bs-gray-700)}.participant-state-pill:disabled{opacity:.6;cursor:not-allowed}.participant-state-editor__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.participant-state-editor__actions--inline{flex:0 0 auto;align-self:flex-start}.participant-state-editor__row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;width:100%}.participant-card__activity-counts{display:inline-flex;align-items:center;gap:.35rem}.participant-card__activity-count{display:inline-flex;align-items:center;gap:.25rem;font-weight:600}.participant-quickadd{border:1px dashed var(--bs-border-color);border-radius:.5rem;padding:.75rem;margin-bottom:1rem;background:var(--bs-body-bg)}.participant-quickadd__results{min-height:2rem}.participant-quickadd__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.participant-quickadd__result{width:100%;display:flex;justify-content:space-between;gap:.75rem;border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.35rem .5rem;background:transparent;text-align:left;align-items:center}.participant-quickadd__result:hover,.participant-quickadd__result:focus-visible{border-color:var(--bs-primary);outline:none;box-shadow:0 0 0 2px #0d6efd26}.participant-quickadd__result-body{display:inline-flex;gap:.5rem;align-items:flex-start}.participant-quickadd__result-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-gray-600)}.participant-quickadd__links{border-top:1px solid var(--bs-border-color);padding-top:.5rem}.participant-state-toggle.is-active,.participant-state-toggle.is-active:focus-visible,.participant-state-toggle.is-active:hover{background:var(--bs-primary);color:#fff;border-color:var(--bs-primary)}.participant-linking-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px dashed var(--bs-border-color);border-radius:.5rem;background:#0d6efd0d;font-size:.9rem;color:var(--bs-gray-700);margin-bottom:.75rem}.participant-activity__block{border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.5rem .75rem}.participant-activity__title{font-weight:600;font-size:.9rem;margin-bottom:.25rem;display:flex;align-items:center}.participant-activity__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.participant-activity__item{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem}.participant-activity__item-body{flex:1;min-width:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.participant-activity__meta{font-size:.8rem;color:var(--bs-gray-600)}.participant-card__empty{font-size:.9rem;color:var(--bs-gray-600);display:flex;align-items:center}.catalogue-product--earlier{background-color:#f5f7f9!important;color:#6c757d}.catalogue-product--earlier:hover,.catalogue-product--earlier:focus{background-color:#e8eaed!important}@media(max-width:768px){.event-card__stats{flex-direction:column;align-items:flex-start}.participant-card__states{justify-content:flex-start}}.event-card__section-title{font-weight:700;font-size:1rem;margin:0;color:inherit}
