/* ==========================================
   ADMIN
========================================== */

.admin-page{
    display:flex;
    flex-direction:column;
    gap:24px;
    padding-bottom:120px;
}

/* ==========================================
   EMPTY STATE
========================================== */

.admin-empty,
.empty-state{

    background:#FFFFFF;

    border-radius:24px;

    padding:48px 24px;

    text-align:center;

    box-shadow:
        0 16px 40px rgba(0,0,0,.08),
        0 6px 16px rgba(0,0,0,.04);

}

.admin-empty h3,
.empty-state h3{

    margin:0 0 10px;

    color:#222;

    font-size:22px;

}

.admin-empty p,
.empty-state p{

    margin:0;

    color:#777;

    line-height:1.6;

}

/* ==========================================
   ACTIONS
========================================== */

.admin-course-actions,
.admin-actions{

    display:flex;

    flex-direction:column;

    gap:12px;

    margin-top:18px;

}

.admin-course-actions form,
.admin-actions form{

    margin:0;

}

.admin-course-actions a,
.admin-course-actions button,
.admin-actions a,
.admin-actions button{

    width:100%;

}

/* ==========================================
   FORMS
========================================== */

.admin-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.form-group label{

    font-size:15px;

    font-weight:600;

    color:#444;

}

.form-group input,
.form-group textarea{

    width:100%;

    padding:16px 18px;

    box-sizing:border-box;

    border:none;

    border-radius:18px;

    background:#F7F8FC;

    outline:none;

    font-size:16px;

    font-family:inherit;

    transition:.2s;

}

.form-group input:focus,
.form-group textarea:focus{

    background:#FFFFFF;

    box-shadow:0 0 0 2px rgba(229,138,179,.25);

}

.form-group textarea{

    resize:vertical;

    min-height:160px;

}

.form-group small{

    color:#888;

    font-size:13px;

}

/* ==========================================
   PREVIEW
========================================== */

.admin-cover-preview,
.admin-preview{

    width:100%;

    aspect-ratio:16/9;

    object-fit:cover;

    border-radius:24px;

    background:#F3F3F3;

    box-shadow:
        0 16px 40px rgba(0,0,0,.08),
        0 6px 16px rgba(0,0,0,.04);

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:640px){

    .admin-page{

        gap:20px;

    }

}

/* ==========================
   ADMIN PAGE HEADER
========================== */

.admin-page-header{

    margin-bottom:28px;

}

.admin-page-header h1{

    margin:0 0 10px;

    font-size:38px;

    font-weight:700;

    line-height:1.15;

    color:#1E1E1E;

}

.admin-page-subtitle{

    margin:0;

    font-size:16px;

    color:#7A7A7A;

    line-height:1.5;

}

/* ==========================
   FORMS
========================== */

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:10px;

    font-size:16px;

    font-weight:600;

    color:#2F2F2F;

}

.form-input,
.form-textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid #F1C8DB;

    border-radius:18px;

    background:#FFF8FC;

    box-shadow:0 0 0 4px rgba(229,138,179,.10);

    font-size:16px;

    font-family:inherit;

    color:#2F2F2F;

    box-sizing:border-box;

    transition:.2s;

    resize:none;

}

.form-textarea{

    min-height:160px;

}

.form-input:focus,
.form-textarea:focus{

    outline:none;

    border-color:#E58AB3;

    background:#FFF8FC;

    box-shadow:0 0 0 5px rgba(229,138,179,.18);

}

/* ==========================
   INFO
========================== */

.info-card{

    margin:28px 0;

    padding:18px;

    border-radius:18px;

    background:#FFF5FA;

    border:1px solid #F6D5E6;

    color:#555;

    font-size:15px;

    line-height:1.5;

}

/* ==========================
   BUTTON GROUP
========================== */

.button-group{

    display:flex;

    flex-direction:column;

    gap:14px;

}

/* ==========================
   ADMIN GALLERY
========================== */

.admin-gallery{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));

    gap:18px;

    margin-top:24px;

}

.admin-gallery-card{

    background:#FFFFFF;

    border-radius:20px;

    padding:14px;

    box-shadow:0 8px 20px rgba(0,0,0,.06);

    display:flex;

    flex-direction:column;

    gap:14px;

}

.admin-gallery-image{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:16px;

}

/* ==========================
   VIDEO
========================== */

.admin-video-player{

    width:100%;

    border-radius:20px;

    background:#000;

    margin-bottom:20px;

}

/* ==========================
   UPLOAD PROGRESS
========================== */

.upload-progress{

    margin:24px 0;

}

.upload-progress-track{

    width:100%;

    height:14px;

    margin:18px 0 10px;

    border-radius:999px;

    overflow:hidden;

    background:#F2E7ED;

}

.upload-progress-bar{

    width:0;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        #E58AB3,
        #F1A6C8
    );

    color:#FFFFFF;

    font-size:11px;

    font-weight:700;

    transition:width .2s;

}

.upload-progress-info{

    color:#777;

    font-size:14px;

}

/* ==========================
   IMAGE PREVIEW
========================== */

.admin-cover-preview{

    width:100%;

    border-radius:20px;

    margin-bottom:24px;

    object-fit:cover;

    box-shadow:0 8px 20px rgba(0,0,0,.06);

}

/* ==========================
   FILE INPUT
========================== */

.form-input[type="file"]{

    padding:12px;

    cursor:pointer;

}

.form-input[type="file"]::file-selector-button{

    margin-right:14px;

    padding:10px 18px;

    border:none;

    border-radius:12px;

    background:#E58AB3;

    color:#FFFFFF;

    font-weight:600;

    cursor:pointer;

    transition:.2s;

}

.form-input[type="file"]::file-selector-button:hover{

    background:#D974A2;

}

/* ==========================
   HELP TEXT
========================== */

.admin-help-text{

    margin-top:10px;

    font-size:14px;

    color:#7A7A7A;

    line-height:1.5;

}