/*
 * Tekimu LMS compact design layer.
 * Reference: INDEX_PAGE_DESIGN_SYSTEM.md + PLATFORM_UI_REVAMP_INSTRUCTIONS.txt
 */
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) {
    --lms-y: 22px;
    --lms-gap: 10px;
    --lms-card-pad: 14px;
    --lms-radius: 10px;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) body {
    font-family: 'Inter', sans-serif !important;
    font-size: .86rem !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    h1,h2,h3,h4,h5,h6,p,a,button,label,input,select,textarea,table,th,td,
    .title,.subtitle,.description
) {
    font-family: 'Inter', sans-serif !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    code,pre,kbd,samp,[class*="mono"],[class*="kicker"],[class*="eyebrow"],
    [class*="badge"],[class*="label"],[class*="tracker"],[class*="breadcrumb"]
) {
    font-family: 'Courier New', monospace !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(main,[class$="-main"]) {
    min-height: auto !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) h1 {
    font-size: clamp(1.55rem,3vw,2.25rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -1px !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) h2 {
    font-size: clamp(1.3rem,2.5vw,1.85rem) !important;
    line-height: 1.08 !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) h3 {
    font-size: clamp(1rem,1.8vw,1.25rem) !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(p,li,td) {
    line-height: 1.48 !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    [class*="content"],[class*="page-wrap"],[class*="dashboard-wrap"],
    [class*="portal-wrap"]
) {
    padding-top: var(--lms-y) !important;
    padding-bottom: var(--lms-y) !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    [class*="grid"],[class*="layout"],[class*="columns"],[class*="stats"],
    [class*="cards"],[class*="tools"],[class*="actions"]
) {
    gap: var(--lms-gap) !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    [class$="-card"],[class*="-card "],
    [class$="-panel"],[class*="-panel "],
    [class$="-widget"],[class*="-widget "],
    [class$="-box"],[class*="-box "],
    [class*="form-container"],[class*="modal-content"]
) {
    padding: var(--lms-card-pad) !important;
    border-radius: var(--lms-radius) !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    button,input[type="submit"],input[type="button"],
    .btn,.button,[class*="btn-"],[class$="-btn"],[class*="button-"]
) {
    min-height: 36px !important;
    padding: 8px 14px !important;
    border-radius: 7px !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .btn-primary,.primary-btn,[class*="btn-primary"],[class*="primary-btn"],
    [class*="submit-btn"],[class*="save-btn"],[class*="add-btn"]
) {
    background: linear-gradient(135deg,#EF9F27,#C87E10) !important;
    border-color: rgba(239,159,39,.55) !important;
    color: #0D0D0D !important;
    box-shadow: 0 7px 20px rgba(239,159,39,.2) !important;
}
[data-theme="light"]:is([data-tkm-scope="lms"],:not([data-tkm-scope])) :where(
    .btn-primary,.primary-btn,[class*="btn-primary"],[class*="primary-btn"],
    [class*="submit-btn"],[class*="save-btn"],[class*="add-btn"]
) {
    background: linear-gradient(135deg,#0F6E56,#0A4F3E) !important;
    border-color: rgba(15,110,86,.55) !important;
    color: #FFF !important;
    box-shadow: 0 7px 20px rgba(15,110,86,.2) !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,textarea
) {
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    font-size: .8rem !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .page-header,[class*="page-header"],[class*="content-header"],
    [class*="dashboard-header"],[class*="hero"]
) {
    margin-bottom: 14px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .table-responsive,[class*="table-wrap"],[class*="table-container"]
) {
    border-radius: 10px !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(th,td) {
    padding: 8px 10px !important;
    font-size: .76rem !important;
}

:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .alert,.notice,[class*="alert"],[class*="notice"],[class*="message"]
) {
    padding: 10px 12px !important;
    margin-bottom: 10px !important;
}

/* Student, Instructor, and Admin sidebars */
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .tkm-student-sidebar,.tkm-ins-sidebar,.tkm-admin-sidebar
) {
    width: 184px !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .ssb-top,.isb-top,.asb-top
) {
    padding: 8px 10px !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .ssb-link,.isb-link,.asb-link
) {
    padding: 5px 7px !important;
    margin-bottom: 1px !important;
    min-height: 32px !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .ssb-icon,.isb-icon,.asb-icon
) {
    width: 23px !important;
    height: 23px !important;
    font-size: .76rem !important;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    .ssb-text,.isb-text,.asb-text
) {
    font-size: .64rem !important;
}

/* Authentication and standalone gateways */
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    [class*="login-card"],[class*="auth-card"],[class*="otp-card"],
    [class*="password-card"],.tkm-error,.sl-copy,.sl-panel
) {
    padding: 18px !important;
    max-width: 520px;
}
:is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
    [class*="login-wrap"],[class*="auth-wrap"],[class*="otp-wrap"],
    [class*="password-wrap"],.sl-page
) {
    padding: 20px 14px !important;
}

@media (max-width: 768px) {
    :is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) {
        --lms-y: 14px;
        --lms-gap: 8px;
        --lms-card-pad: 11px;
    }
    :is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
        .tkm-student-sidebar,.tkm-ins-sidebar,.tkm-admin-sidebar
    ) {
        width: 184px !important;
    }
    :is(html[data-tkm-scope="lms"],html:not([data-tkm-scope])) :where(
        [class*="grid"],[class*="cards"]
    ) {
        justify-content: center !important;
    }
}
