/* Agenda Grid Styles */

/* Agenda Container */
.agenda-container {
    overflow-x: auto;
    margin-bottom: 2rem;
}

/* Day Section */
.day-section {
    margin-bottom: 3rem;
}

/* Day Header */
.day-header {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.day-header h2 {
    margin: 0;
    font-size: 1.5rem;
    border: none;
    padding: 0;
    color: white;
}

.day-theme {
    font-size: 1rem;
    opacity: 0.9;
    font-style: italic;
}

/* Agenda Grid Table */
.agenda-grid {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.agenda-grid thead {
    background: #f1f5f9;
}

.agenda-grid th {
    padding: 0.75rem 0.5rem;
    text-align: left;
    font-weight: 600;
    color: #334155;
    border: 1px solid #e2e8f0;
    white-space: nowrap;
    font-size: 0.85rem;
}

.agenda-grid td {
    padding: 0.6rem 0.5rem;
    border: 1px solid #e2e8f0;
    vertical-align: top;
}

/* Time Band Row */
.time-band-row {
    background: #0f766e !important;
}

.time-band-row:hover {
    background: #0f766e !important;
}

.time-band {
    color: white !important;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.75rem 1rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Session Row */
.session-row:hover {
    background: #f0f9ff;
}

.session-row:nth-child(even) {
    background: #fafafa;
}

.session-row:nth-child(even):hover {
    background: #f0f9ff;
}

/* Column Styles */
.agenda-item {
    font-weight: 500;
    color: #1e3a8a;
    min-width: 150px;
    max-width: 200px;
}

.objective {
    min-width: 150px;
    max-width: 250px;
    color: #475569;
}

.input-col, .output-col {
    min-width: 120px;
    max-width: 180px;
    font-size: 0.85rem;
    color: #64748b;
}

.time {
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    white-space: nowrap;
    font-size: 0.85rem;
    color: #334155;
}

.location {
    min-width: 120px;
    color: #475569;
}

.notes {
    font-size: 0.85rem;
    color: #64748b;
    max-width: 200px;
}

.guests {
    font-size: 0.85rem;
    color: #475569;
}

/* Status Cells */
.status-cell {
    text-align: center;
}

.status-yes {
    display: inline-block;
    background: #10b981;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.status-no {
    display: inline-block;
    background: #ef4444;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.status-na {
    display: inline-block;
    background: #e2e8f0;
    color: #64748b;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

/* Linked Offers in Agenda */
.linked-offers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.linked-offer {
    background: #e0f2fe;
    color: #0369a1;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    font-size: 0.75rem;
    white-space: nowrap;
}

/* Tiers Covered */
.tiers-covered {
    display: flex;
    gap: 0.25rem;
}

.tier-mini {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 600;
    color: white;
}

.tier-mini.tier-a {
    background: #10b981;
}

.tier-mini.tier-b {
    background: #f59e0b;
}

.tier-mini.tier-c {
    background: #9ca3af;
}

/* Facilitators */
.facilitators {
    font-size: 0.8rem;
    color: #6b7280;
    font-style: italic;
    margin-top: 0.25rem;
}

/* Print Styles for Agenda */
@media print {
    .agenda-grid {
        font-size: 0.8rem;
    }

    .day-header {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .time-band-row {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* Responsive Agenda */
@media (max-width: 1200px) {
    .agenda-container {
        overflow-x: scroll;
    }

    .agenda-grid {
        min-width: 1200px;
    }
}

/* Agenda Page Header */
.agenda-page-header {
    background: white;
    padding: 1.5rem 2rem;
    margin-bottom: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.agenda-page-header h1 {
    color: #1e3a8a;
    margin-bottom: 0.5rem;
}

.agenda-page-header p {
    color: #64748b;
}

/* Day Navigation */
.day-nav {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.day-nav-btn {
    padding: 0.75rem 1.5rem;
    background: white;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: #475569;
}

.day-nav-btn:hover {
    border-color: #3b82f6;
    background: #f0f9ff;
}

.day-nav-btn.active {
    background: #1e3a8a;
    border-color: #1e3a8a;
    color: white;
}

/* Legend for Agenda */
.agenda-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 1.5rem;
    background: #f8fafc;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.legend-section {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.legend-section h4 {
    font-size: 0.85rem;
    color: #1e3a8a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.25rem 0;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #475569;
}

/* Day Header Enhancements */
.day-title-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.day-frameworks {
    display: flex;
    gap: 0.5rem;
}

/* Framework Badges */
.framework-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.framework-badge.framework-scan,
.framework-scan {
    background: #3b82f6;
    color: white;
}

.framework-badge.framework-focus,
.framework-focus {
    background: #f59e0b;
    color: white;
}

.framework-badge.framework-act,
.framework-act {
    background: #10b981;
    color: white;
}

.framework-badge.framework-focus-act,
.framework-focus-act {
    background: linear-gradient(135deg, #f59e0b 0%, #10b981 100%);
    color: white;
}

/* Session Framework Badge */
.session-framework {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Time Band Framework Label */
.band-framework {
    float: right;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    font-size: 0.75rem;
    margin-left: 1rem;
}

/* Format Badges */
.format-badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 500;
    margin-left: 0.25rem;
}

.format-badge.format-plenary {
    background: #e0f2fe;
    color: #0369a1;
}

.format-badge.format-diverge {
    background: #fef3c7;
    color: #92400e;
}

.format-badge.format-converge {
    background: #d1fae5;
    color: #065f46;
}

.format-badge.format-networking {
    background: #f3e8ff;
    color: #6b21a8;
}

.format-badge.format-break {
    background: #e2e8f0;
    color: #475569;
}

.format-badge.format-informal {
    background: #fce7f3;
    color: #9d174d;
}

.format-badge.format-setup {
    background: #f1f5f9;
    color: #64748b;
}

.format-badge.format-plenary---table {
    background: linear-gradient(135deg, #e0f2fe 0%, #fef3c7 100%);
    color: #0369a1;
}

/* Item Header */
.item-header {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
}

.item-title {
    font-weight: 500;
    color: #1e3a8a;
}

/* Breakout Pattern Styling */
.breakout-pattern {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: #f8fafc;
    border-radius: 4px;
    border-left: 3px solid #3b82f6;
}

.breakout-pattern.breakout-diverge {
    border-left-color: #f59e0b;
}

.breakout-pattern.breakout-converge {
    border-left-color: #10b981;
}

.breakout-pattern.breakout-table-discussion {
    border-left-color: #8b5cf6;
}

.breakout-type {
    font-weight: 600;
    font-size: 0.8rem;
    color: #1e3a8a;
    display: block;
    margin-bottom: 0.25rem;
}

.breakout-groups {
    font-size: 0.75rem;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.breakout-structure {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.structure-item {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    padding: 0.15rem 0;
    border-bottom: 1px dotted #e2e8f0;
}

.structure-item:last-child {
    border-bottom: none;
}

.structure-activity {
    color: #475569;
}

.structure-duration {
    color: #64748b;
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    font-size: 0.7rem;
}

/* Day Navigation Enhancements */
.day-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem 1.5rem;
    background: white;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: #475569;
    gap: 0.25rem;
}

.nav-day {
    font-size: 0.9rem;
    font-weight: 600;
}

.nav-date {
    font-size: 0.8rem;
    color: #64748b;
}

.nav-framework {
    font-size: 0.75rem;
    color: #3b82f6;
    font-weight: 500;
}

.day-nav-btn.active .nav-date,
.day-nav-btn.active .nav-framework {
    color: rgba(255,255,255,0.8);
}
