/**
 * Hotel Scheduler Pro - Public Styles (Light Theme)
 */

/* Public-facing schedule display */
.hsp-public-schedule {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
}

.hsp-schedule-header {
    background: #1e3a5f;
    color: #fff;
    padding: 20px;
    text-align: center;
}

/* Frontend Scheduler - Light Theme */
.hsp-frontend-scheduler {
    color: #0f172a;
}

.hsp-frontend-scheduler h2 {
    color: #0f172a;
    margin-bottom: 20px;
}

.hsp-frontend-scheduler label {
    color: #334155;
    font-weight: 500;
}

.hsp-frontend-scheduler select,
.hsp-frontend-scheduler input[type="date"] {
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 12px;
}

.hsp-frontend-scheduler select:focus,
.hsp-frontend-scheduler input[type="date"]:focus {
    outline: none;
    border-color: #d4a54a;
    box-shadow: 0 0 0 3px rgba(212, 165, 74, 0.1);
}

/* Top info table (occupancy/requirements) */
.hsp-frontend-scheduler > div > div[style*="background: #f8f9fa"],
.hsp-frontend-scheduler > div > div[style*="background:#f8f9fa"] {
    background: #ffffff !important;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.hsp-frontend-scheduler table {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
}

.hsp-frontend-scheduler th {
    background: #f8fafc;
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.05em;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
}

.hsp-frontend-scheduler td {
    color: #0f172a;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
}

.hsp-frontend-scheduler td strong {
    color: #0f172a;
}

.hsp-frontend-scheduler td small {
    color: #64748b;
}

/* Employee rows */
.hsp-frontend-scheduler .emp-row td {
    background: #ffffff;
    color: #0f172a;
}

.hsp-frontend-scheduler .emp-row:hover td {
    background: #f8fafc;
}

/* Department headers */
.hsp-frontend-scheduler td[style*="background: #2c5282"],
.hsp-frontend-scheduler td[style*="background:#2c5282"] {
    background: linear-gradient(135deg, #d4a54a, #f0ca7a) !important;
    color: #0f172a !important;
}

/* Position names under employee */
.hsp-frontend-scheduler .emp-row td small,
.hsp-frontend-scheduler .emp-row td small[style*="color: #666"] {
    color: #64748b !important;
}

/* Select dropdowns in schedule grid */
.hsp-frontend-scheduler .emp-row select {
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
}

/* Weekly hours column */
.hsp-frontend-scheduler .weekly-hrs {
    color: #0f172a;
    font-weight: 600;
}

.hsp-frontend-scheduler .weekly-hrs.overtime {
    color: #dc2626 !important;
    background: rgba(239, 68, 68, 0.1);
}

.hsp-frontend-scheduler .weekly-hrs.near-max {
    color: #d97706 !important;
    background: rgba(245, 158, 11, 0.1);
}

/* Save button */
.hsp-frontend-scheduler button {
    background: linear-gradient(135deg, #d4a54a, #c9963c);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.hsp-frontend-scheduler button:hover {
    box-shadow: 0 4px 12px rgba(212, 165, 74, 0.3);
}

/* Badge styles for scheduling status */
.hsp-frontend-scheduler span[style*="background: rgba(16, 185, 129"] {
    background: rgba(16, 185, 129, 0.1) !important;
    color: #059669 !important;
}

.hsp-frontend-scheduler span[style*="background: rgba(239, 68, 68"] {
    background: rgba(239, 68, 68, 0.1) !important;
    color: #dc2626 !important;
}

.hsp-frontend-scheduler span[style*="background: rgba(245, 158, 11"] {
    background: rgba(245, 158, 11, 0.1) !important;
    color: #d97706 !important;
}

@media print {
    .hsp-public-schedule {
        max-width: 100%;
    }
}
