/* planner-grid — main scrollable grid area */ .planner-grid-viewport { height: calc(100vh - 56px) !important; overflow: auto !important; background: white; position: relative; display: block; } .planner-grid-viewport::-webkit-scrollbar { width: 8px; height: 8px; } .planner-grid-viewport::-webkit-scrollbar-track { background: transparent; } .planner-grid-viewport::-webkit-scrollbar-thumb { background-color: #d1d5db; border-radius: 20px; border: 2px solid transparent; background-clip: padding-box; } .planner-grid-content { display: inline-block; min-width: fit-content; vertical-align: top; } .planner-grid-row { display: flex; flex-direction: row; } /* Left column — agent cards */ .planner-grid-left-col { width: var(--left-col-width); min-width: var(--left-col-width); position: sticky; left: 0; z-index: 20; background: white; border-right: 1px solid var(--border-color); display: flex; align-items: center; padding: 0 12px; flex-shrink: 0; } .planner-grid-left-col-header { z-index: 58; background: #fdfdfd; padding-right: 8px; border-bottom: 1px solid var(--border-color); } @media (max-width: 599px) { .planner-grid-left-col { padding: 0 6px !important; } } .planner-grid-cells-area { display: flex; flex-direction: row; } /* Sticky header rows */ .planner-grid-row-eod { position: sticky; top: 0; z-index: 40; height: var(--h-eod); background: #fffafb; } .planner-grid-row-eod .planner-grid-left-col { z-index: 60; background: #fffafb; color: #db2777; border-bottom: 1px solid #fce7f3; } .planner-grid-row-status { position: sticky; top: var(--h-eod); z-index: 39; height: var(--h-status); background: white; } .planner-grid-row-status .planner-grid-left-col { z-index: 59; background: white; color: #64748b; } .planner-grid-row-dates { position: sticky; top: calc(var(--h-eod) + var(--h-status)); z-index: 38; height: var(--h-dates); background: #fdfdfd; } /* Group headers */ .planner-grid-header-l1 { background: #eff6ff; font-size: 11px; font-weight: 800; color: #1e40af; letter-spacing: 0.06em; height: 36px; border-top: 1px solid #bfdbfe; border-bottom: 1px solid #dbeafe; } .planner-grid-header-l1 .planner-grid-left-col { background: #eff6ff; color: #1e40af; } .planner-grid-header-l2 { background: #f8fafc; font-size: 10px; font-weight: 700; color: #64748b; letter-spacing: 0.04em; height: 32px; border-top: 1px solid #e2e8f0; } .planner-grid-header-l2 .planner-grid-left-col { background: #f8fafc; color: #64748b; padding-left: 24px; } /* Agent cell / card */ .planner-grid-agent-cell { cursor: pointer; position: relative; border-bottom: 1px solid #f1f5f9; transition: background 0.15s ease; padding: 6px 12px; gap: 0; } .planner-grid-agent-cell:hover { background: #f8fafc; } .planner-grid-compact { height: 50px; padding: 4px 10px; } /* Blue selection bar on left edge */ .planner-grid-select-bar { position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; background: #2563eb; border-radius: 0 3px 3px 0; } /* Avatar wrapper for status dot positioning */ .planner-grid-avatar-wrap { position: relative; flex-shrink: 0; } .planner-grid-agent-avatar { border: 2px solid #f1f5f9; } /* Agent name */ .planner-grid-agent-name { font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; } /* Badges row */ .planner-grid-agent-badges { display: flex; flex-wrap: nowrap; gap: 4px; margin-top: 2px; overflow: hidden; } /* Row highlight (persistent reading helper) */ .planner-grid-row-highlighted .planner-grid-left-col { background-color: #fffde7 !important; } /* Selected agent row */ .planner-grid-row-selected .planner-grid-agent-cell { background: #eff6ff !important; } /* Agent row hover triggers for highlight button */ .planner-grid-agent-cell .planner-grid-highlight-btn { opacity: 0; transition: opacity 0.2s; flex-shrink: 0; } .planner-grid-agent-cell:hover .planner-grid-highlight-btn, .planner-grid-highlight-btn.planner-grid-is-active { opacity: 1; } /* Crosshair row highlight on hover */ .planner-grid-row-item.planner-grid-crosshair-enabled:hover { background-color: var(--highlight-bg); box-shadow: inset 0 1px 0 var(--highlight-border), inset 0 -1px 0 var(--highlight-border); } .planner-grid-row-item.planner-grid-crosshair-enabled:hover .planner-grid-left-col { background-color: #eff6ff !important; border-top: 1px solid var(--highlight-border); border-bottom: 1px solid var(--highlight-border); } /* EOD / availability cell (inside header rows) */ .planner-grid-eod-cell { width: var(--cell-width); min-width: var(--cell-width); border-right: 1px solid #f1f5f9; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; } /* Search + controls container */ .planner-grid-search-container { display: flex; align-items: center; gap: 4px; width: 100%; } .planner-grid-search-input { flex: 1; } .planner-grid-search-input .q-field__control { height: 34px !important; } /* Filter button */ .planner-grid-filter-btn-active { background-color: #dbeafe !important; border: 1px solid #93c5fd !important; border-radius: 50%; } .planner-grid-filter-status-dot { width: 7px; height: 7px; background-color: #f59e0b; border-radius: 50%; position: absolute; top: 2px; right: 2px; box-shadow: 0 0 0 2px #dbeafe; z-index: 10; } /* Dense date card for date picker */ .planner-grid-dense-date-card { width: 290px; } .planner-grid-dense-date-card .q-date { width: 100%; min-height: unset; }