﻿/* =====================================================
   OLI Scheduler Theme (EJ2)
   Scope class : .oli-schedule
   Primary     : #32893b
   Accent      : #85bc4d
   Font (text) : Poppins
   ===================================================== */


/* =========================
   TEXT FONT (NO ICONS)
   ========================= */
.oli-schedule,
.oli-schedule .e-date-range,
.oli-schedule .e-header-day,
.oli-schedule .e-header-date,
.oli-schedule .e-date-header,
.oli-schedule .e-tbar-btn-text,
.oli-schedule .e-more-indicator,
.oli-schedule .e-appointment-details {
    font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

    /* Preserve Syncfusion icon font */
    .oli-schedule .e-icons,
    .oli-schedule .e-btn-icon,
    .oli-schedule .e-icon {
        font-family: "e-icons" !important;
    }


    /* =========================
   CARD CONTAINER
   ========================= */
    .oli-schedule .e-schedule {
        background: #ffffff;
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid rgba(0,0,0,.08);
        box-shadow: 0 12px 28px rgba(0,0,0,.08);
    }


    /* =========================
   TOOLBAR / HEADER (FULL FIX)
   ========================= */
    .oli-schedule .e-schedule-toolbar,
    .oli-schedule .e-schedule-toolbar .e-toolbar,
    .oli-schedule .e-schedule-toolbar .e-toolbar-items.e-tbar-pos {
        background: linear-gradient(135deg, #32893b, #85bc4d) !important;
        border: none !important;
    }

        .oli-schedule .e-schedule-toolbar .e-toolbar-items.e-tbar-pos {
            padding: 6px 10px;
        }

        /* Month label */
        .oli-schedule .e-schedule-toolbar .e-date-range {
            color: #ffffff !important;
            font-weight: 600;
            letter-spacing: .3px;
        }

        /* Toolbar buttons */
        .oli-schedule .e-schedule-toolbar .e-tbar-btn {
            background: transparent !important;
            border-radius: 10px;
        }

            .oli-schedule .e-schedule-toolbar .e-tbar-btn:hover {
                background: rgba(255,255,255,.18) !important;
            }

        /* Icons + text */
        .oli-schedule .e-schedule-toolbar .e-btn-icon,
        .oli-schedule .e-schedule-toolbar .e-icon,
        .oli-schedule .e-schedule-toolbar .e-tbar-btn-text {
            color: #ffffff !important;
        }


    /* =========================
   WEEKDAY HEADER
   ========================= */
    .oli-schedule .e-month-view .e-date-header-wrap {
        background: #ffffff;
        border-bottom: 1px solid rgba(0,0,0,.08);
    }

    .oli-schedule .e-month-view .e-header-cells {
        background: #ffffff;
        border-color: rgba(0,0,0,.06) !important;
    }

    .oli-schedule .e-month-view .e-header-day {
        font-weight: 600;
        color: #1f2a1f;
        opacity: .85;
    }

    /* Sunday subtle highlight */
    .oli-schedule .e-month-view .e-header-cells:first-child .e-header-day {
        color: #b42318;
        opacity: .75;
    }


    /* =========================
   MONTH GRID / CELLS
   ========================= */
    .oli-schedule .e-month-view .e-content-wrap,
    .oli-schedule .e-month-view .e-work-cells {
        background: #ffffff;
    }

    .oli-schedule .e-month-view .e-work-cells {
        border-color: rgba(0,0,0,.05) !important;
        transition: background .15s ease, box-shadow .15s ease;
        cursor: pointer;
    }

        /* Hover */
        .oli-schedule .e-month-view .e-work-cells:hover {
            background: rgba(50,137,59,.06);
            box-shadow: inset 0 0 0 1px rgba(50,137,59,.20);
        }

        /* Selected cell */
        .oli-schedule .e-month-view .e-work-cells.e-selected-cell {
            background: rgba(50,137,59,.12) !important;
            box-shadow: inset 0 0 0 2px rgba(50,137,59,.45) !important;
        }


    /* =========================
   DATE NUMBER
   ========================= */
    .oli-schedule .e-month-view .e-date-header {
        padding: 6px 8px;
        font-weight: 600;
        color: #1f2a1f;
    }

    /* Today pill */
    .oli-schedule .e-month-view .e-current-day .e-date-header {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 28px;
        height: 28px;
        border-radius: 999px;
        background: rgba(50,137,59,.18);
        color: #1c6d2a;
    }


    /* =========================
   OUTSIDE MONTH DAYS
   ========================= */
    .oli-schedule .e-month-view .e-other-month {
        opacity: .35;
    }


    /* =========================
   MORE INDICATOR
   ========================= */
    .oli-schedule .e-month-view .e-more-indicator {
        margin-top: 4px;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 600;
        background: rgba(50,137,59,.12);
        color: #1c6d2a;
    }


    /* =========================
   EVENTS (FUTURE SAFE)
   ========================= */
    .oli-schedule .e-appointment {
        border-radius: 10px;
        box-shadow: 0 6px 14px rgba(0,0,0,.08);
    }

    .oli-schedule .e-appointment-details {
        padding: 4px 8px;
        font-weight: 600;
    }


    /* =========================
   MONTH VIEW – EVENT HEIGHT FIX
   ========================= */
    .oli-schedule .e-month-view .e-appointment {
        height: 28px !important;
        min-height: 28px;
        line-height: 28px;
        padding: 0 10px !important;
    }

    /* Center text vertically */
    .oli-schedule .e-month-view .e-appointment-details {
        height: 100%;
        display: flex;
        align-items: center;
        padding: 0 8px;
    }

    /* Prevent title clipping */
    .oli-schedule .e-month-view .e-subject {
        font-family: "Poppins", sans-serif;
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }



    /* =========================
   QUICK POPUP (OPTIONAL)
   ========================= */
    .oli-schedule .e-quick-popup-wrapper .e-popup {
        border-radius: 16px;
        border: 1px solid rgba(0,0,0,.12);
        box-shadow: 0 18px 40px rgba(0,0,0,.18);
    }


    /* =========================
   SCROLLBAR POLISH
   ========================= */
    .oli-schedule .e-content-wrap::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }

    .oli-schedule .e-content-wrap::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(0,0,0,.18);
    }

        .oli-schedule .e-content-wrap::-webkit-scrollbar-thumb:hover {
            background: rgba(0,0,0,.28);
        }


    /* =========================
   ACCESSIBILITY CLEANUP
   ========================= */
    .oli-schedule .e-work-cells:focus,
    .oli-schedule .e-work-cells *:focus {
        outline: none !important;
    }
