271 lines
7.0 KiB
CSS
271 lines
7.0 KiB
CSS
/* 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;
|
|
}
|