/* planner-grid — main scrollable grid area with modern UI/UX */ .planner-grid-viewport { height: calc(100vh - 64px) !important; overflow: auto !important; background: var(--background-primary); position: relative; display: block; border-top: 1px solid var(--border-color); box-shadow: var(--shadow-sm) inset 0 1px 0 0 var(--border-color-light); } .planner-grid-content { display: inline-block; min-width: fit-content; vertical-align: top; } .planner-grid-row { display: flex; flex-direction: row; border-bottom: 1px solid var(--border-color-light); } .planner-grid-left-col { width: var(--left-col-width); min-width: var(--left-col-width); position: sticky; left: 0; z-index: 20; background: var(--background-primary); border-right: 1px solid var(--border-color); display: flex; align-items: center; padding: 0 var(--spacing-xl); flex-shrink: 0; font-size: 13px; font-weight: 500; color: var(--text-primary); transition: background-color 0.2s ease; } @media (max-width: 599px) { .planner-grid-left-col { padding: 0 var(--spacing-md) !important; font-size: 12px; } .planner-grid-agent-role { display: none; } } .planner-grid-cells-area { display: flex; flex-direction: row; } /* Sticky header rows - denser heights */ .planner-grid-row-eod { position: sticky; top: 0; z-index: 40; height: var(--h-eod); background: rgba(239, 68, 68, 0.04); border-bottom: 1px solid rgba(239, 68, 68, 0.1); } .planner-grid-row-eod .planner-grid-left-col { z-index: 60; background: rgba(239, 68, 68, 0.04); color: var(--danger-color); font-weight: 600; font-size: 12px; border-bottom: 1px solid rgba(239, 68, 68, 0.1); } .planner-grid-row-status { position: sticky; top: var(--h-eod); z-index: 39; height: var(--h-status); background: var(--background-primary); border-bottom: 1px solid var(--border-color-light); } .planner-grid-row-status .planner-grid-left-col { z-index: 59; background: var(--background-primary); color: var(--text-secondary); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; } .planner-grid-row-dates { position: sticky; top: calc(var(--h-eod) + var(--h-status)); z-index: 38; height: var(--h-dates); background: var(--background-secondary); border-bottom: 1px solid var(--border-color); } .planner-grid-row-dates .planner-grid-left-col { z-index: 58; background: var(--background-secondary); padding-right: var(--spacing-lg); border-bottom: 1px solid var(--border-color); font-weight: 600; color: var(--text-primary); } /* Group headers - unified color scheme */ .planner-grid-header-l1 { background: var(--primary-light); font-size: 11px; font-weight: 900; color: var(--primary-dark); letter-spacing: 0.05em; height: 32px; /* Reduced from 36px for denser layout */ border-top: 1px solid rgba(79, 70, 229, 0.2); border-bottom: 1px solid rgba(79, 70, 229, 0.1); text-transform: uppercase; } .planner-grid-header-l1 .planner-grid-left-col { background: var(--primary-light); color: var(--primary-dark); } .planner-grid-header-l2 { background: var(--background-tertiary); font-size: 10px; font-weight: 800; color: var(--text-secondary); letter-spacing: 0.025em; height: 28px; /* Reduced from 32px for denser layout */ border-top: 1px solid var(--border-color-light); border-bottom: 1px solid var(--border-color-light); } .planner-grid-header-l2 .planner-grid-left-col { background: var(--background-tertiary); color: var(--text-secondary); padding-left: var(--spacing-2xl); } /* Agent row - compact mode */ .planner-grid-compact { height: 38px; /* Reduced from 42px for denser layout */ } /* Row highlight (persistent reading helper) */ .planner-grid-row-highlighted .planner-grid-left-col { background-color: rgba(255, 249, 196, 0.9) !important; box-shadow: inset 2px 0 0 var(--warning-color); } /* Agent row hover triggers for highlight button */ .planner-grid-agent-hover .planner-grid-highlight-btn { opacity: 0; transition: opacity 0.2s ease; } .planner-grid-agent-hover: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: rgba(79, 70, 229, 0.1) !important; border-top: 1px solid var(--highlight-border); border-bottom: 1px solid var(--highlight-border); color: var(--primary-dark); font-weight: 600; } /* EOD / availability cell (inside header rows) */ .planner-grid-eod-cell { width: var(--cell-width); min-width: var(--cell-width); border-right: 1px solid var(--border-color-light); 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: var(--spacing-sm); width: 100%; } /* Filter button */ .planner-grid-filter-btn-active { background-color: var(--primary-light) !important; border: 1px solid rgba(79, 70, 229, 0.3) !important; color: var(--primary-dark) !important; font-weight: 600; } .planner-grid-filter-status-dot { width: 6px; height: 6px; background-color: var(--warning-color); border-radius: 50%; position: absolute; top: var(--spacing-xs); right: var(--spacing-xs); box-shadow: 0 0 0 2px var(--primary-light); z-index: 10; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* Dense date card for date picker */ .planner-grid-dense-date-card { width: 280px; border-radius: var(--radius-xl) !important; overflow: hidden; } .planner-grid-dense-date-card .q-date { width: 100%; min-height: unset; } /* Enhanced row hover effects */ .planner-grid-row-item:not(.planner-grid-header-l1):not(.planner-grid-header-l2):not(.planner-grid-row-eod):not(.planner-grid-row-status):not(.planner-grid-row-dates):hover { background-color: var(--hover-bg); } /* Compact spacing utilities */ .planner-grid-compact-spacing { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important; } /* Modern border radius for cells */ .planner-grid-left-col, .planner-grid-eod-cell { border-radius: 0; /* Straight edges for grid consistency */ } /* Weekend styling */ .planner-grid-weekend { background-color: var(--background-tertiary) !important; } /* Status indicators */ .planner-grid-status-available { background-color: rgba(16, 185, 129, 0.1) !important; border-left: 2px solid var(--success-color) !important; } .planner-grid-status-unavailable { background-color: rgba(239, 68, 68, 0.1) !important; border-left: 2px solid var(--danger-color) !important; } .planner-grid-status-partial { background-color: rgba(245, 158, 11, 0.1) !important; border-left: 2px solid var(--warning-color) !important; }