/* =======================================================
   Instructor Portal Layout
======================================================= */

.instructor-layout{
    width:min(calc(100% - 40px),1400px);
    margin:34px auto 70px;

    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:28px;

    align-items:start;
}

/* =======================================================
   Sidebar
======================================================= */

.instructor-sidebar{
    position:sticky;
    top:96px;

    min-height:calc(100vh - 130px);

    display:flex;
    flex-direction:column;

    padding:22px;

    border:1px solid rgba(212,175,55,.24);
    border-radius:26px;

    background:
        radial-gradient(
            circle at top right,
            rgba(212,175,55,.16),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #1c1d19,
            #11120f
        );

    box-shadow:
        0 24px 60px rgba(15,23,42,.18);

    overflow:hidden;
}

.instructor-sidebar-brand{
    display:flex;
    align-items:center;
    gap:12px;

    padding-bottom:22px;
    margin-bottom:20px;

    border-bottom:1px solid rgba(255,255,255,.10);
}

.instructor-sidebar-icon{
    width:45px;
    height:45px;
    border-radius:15px;

    display:grid;
    place-items:center;

    background:
        linear-gradient(
            135deg,
            #f4d66b,
            #d4af37,
            #a87908
        );

    color:#171711;

    box-shadow:0 12px 26px rgba(212,175,55,.25);
}

.instructor-sidebar-brand strong{
    display:block;

    color:#ffffff;
    font-family:var(--font-heading);
    font-size:20px;
    line-height:1.1;
}

.instructor-sidebar-brand small{
    display:block;

    color:#aeb7c5;
    font-size:11px;
    font-weight:700;
    margin-top:4px;
}

.instructor-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.instructor-sidebar-label{
    display:block;

    margin:17px 12px 6px;

    color:#9ca3af;
    font-size:10px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:.12em;
}

.instructor-sidebar-link{
    display:flex;
    align-items:center;
    gap:12px;

    width:100%;
    padding:13px 14px;

    border-radius:14px;

    color:#e5e7eb;
    text-decoration:none;

    font-size:14px;
    font-weight:800;

    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease,
        box-shadow .22s ease;
}

.instructor-sidebar-link i{
    width:20px;

    color:#d4af37;
    text-align:center;
    font-size:15px;
}

.instructor-sidebar-link:hover,
.instructor-sidebar-link.active{
    color:#ffffff;

    background:rgba(212,175,55,.14);

    transform:translateX(4px);

    box-shadow:
        inset 3px 0 0 #d4af37;
}

.instructor-sidebar-link-primary{
    margin-top:4px;

    background:
        linear-gradient(
            135deg,
            #e7c653,
            #d4af37,
            #a87908
        );

    color:#171711;
}

.instructor-sidebar-link-primary i{
    color:#171711;
}

.instructor-sidebar-link-primary:hover{
    color:#171711;

    background:
        linear-gradient(
            135deg,
            #f1d86d,
            #dfbb42,
            #b4860b
        );

    box-shadow:
        0 13px 26px rgba(212,175,55,.24);
}

.instructor-sidebar-footer{
    margin-top:auto;
    padding-top:24px;
}

.instructor-sidebar-home{
    display:flex;
    align-items:center;
    gap:10px;

    padding:12px 14px;

    border-top:1px solid rgba(255,255,255,.08);

    color:#bfc6d1;
    text-decoration:none;
    font-weight:700;
    font-size:13px;

    transition:color .22s ease;
}

.instructor-sidebar-home:hover{
    color:#f4d66b;
}

/* =======================================================
   Instructor Main Content
======================================================= */

.instructor-main{
    min-width:0;

    padding:34px;

    border:1px solid rgba(226,232,240,.92);
    border-radius:28px;

    background:rgba(255,255,255,.94);

    box-shadow:
        0 22px 55px rgba(15,23,42,.10);
}

.instructor-page-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;

    padding-bottom:28px;
    margin-bottom:28px;

    border-bottom:1px solid #e5e7eb;
}

.instructor-page-header h1{
    margin:6px 0 8px;

    color:#0f172a;
    font-family:var(--font-heading);
    font-size:46px;
    line-height:1;
}

.instructor-page-header p{
    max-width:680px;
    margin:0;

    color:#64748b;
    line-height:1.7;
}

.instructor-eyebrow{
    color:#a87908;

    font-size:11px;
    font-weight:900;

    text-transform:uppercase;
    letter-spacing:.12em;
}

/* =======================================================
   Responsive Instructor Layout
======================================================= */

@media(max-width:1000px){

    .instructor-layout{
        grid-template-columns:220px minmax(0,1fr);
        gap:18px;
    }

    .instructor-sidebar{
        padding:17px;
    }

    .instructor-main{
        padding:26px;
    }
}

@media(max-width:780px){

    .instructor-layout{
        width:min(calc(100% - 24px),1400px);
        margin-top:20px;

        grid-template-columns:1fr;
    }

    .instructor-sidebar{
        position:relative;
        top:auto;

        min-height:auto;

        padding:16px;
        border-radius:20px;
    }

    .instructor-sidebar-brand{
        padding-bottom:15px;
        margin-bottom:12px;
    }

    .instructor-sidebar-nav{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .instructor-sidebar-label{
        grid-column:1/-1;
        margin-top:10px;
    }

    .instructor-sidebar-link{
        justify-content:flex-start;
        padding:12px;
    }

    .instructor-sidebar-footer{
        margin-top:12px;
        padding-top:4px;
    }

    .instructor-main{
        padding:22px;
        border-radius:22px;
    }

    .instructor-page-header h1{
        font-size:36px;
    }
}

@media(max-width:520px){

    .instructor-sidebar-nav{
        grid-template-columns:1fr;
    }

    .instructor-sidebar-label{
        grid-column:auto;
    }

    .instructor-main{
        padding:18px;
    }

    .instructor-page-header{
        flex-direction:column;
    }

    .instructor-page-header h1{
        font-size:32px;
    }
}


/* =======================================================
   Instructor Portal
======================================================= */

.instructor-shell{
    width:min(100% - 48px,1280px);
    margin:auto;
    padding:70px 0;
}

/* Hero */

.instructor-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:42px;
    flex-wrap:wrap;
}

.instructor-eyebrow{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:#fff8e1;
    color:#b8860b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:16px;
}

.instructor-hero h1{
    margin:0 0 12px;
    font-family:var(--font-heading);
    font-size:54px;
    line-height:1.05;
    color:#0f172a;
}

.instructor-hero p{
    max-width:680px;
    color:#64748b;
    font-size:17px;
    line-height:1.75;
    margin:0;
}

.instructor-hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

/* Statistics */

.instructor-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:22px;
    margin-bottom:36px;
}

.instructor-stat{
    background:white;
    border:1px solid #e2e8f0;
    border-top:4px solid #d4af37;
    border-radius:24px;
    padding:28px;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.instructor-stat span{
    display:block;
    color:#64748b;
    font-weight:800;
    margin-bottom:10px;
}

.instructor-stat strong{
    display:block;
    color:#0f172a;
    font-size:42px;
    font-weight:900;
}

/* Panel */

.instructor-panel{
    background:white;
    border:1px solid #e2e8f0;
    border-radius:28px;
    padding:32px;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.panel-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px;
}

.panel-heading h2{
    margin:0 0 6px;
    font-size:34px;
    color:#0f172a;
    font-family:var(--font-heading);
}

.panel-heading p{
    margin:0;
    color:#64748b;
}

.panel-heading a{
    color:#b8860b;
    font-weight:900;
    text-decoration:none;
}

/* Course rows */

.instructor-course-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:22px 0;
    border-top:1px solid #e2e8f0;
}

.instructor-course-row:first-of-type{
    border-top:0;
}

.instructor-course-row strong{
    display:block;
    color:#0f172a;
    font-size:20px;
}

.instructor-course-row span{
    display:block;
    color:#64748b;
    margin-top:4px;
}

.row-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

/* Course cards */

.instructor-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:28px;
}

.instructor-course-card{
    background:white;
    border:1px solid #e2e8f0;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
    transition:.25s ease;
}

.instructor-course-card:hover{
    transform:translateY(-6px);
    box-shadow:0 28px 70px rgba(15,23,42,.14);
}

.instructor-course-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.course-card-body{
    padding:28px;
}

.course-card-body span{
    color:#b8860b;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.course-card-body h3{
    margin:12px 0;
    color:#0f172a;
    font-size:30px;
    font-family:var(--font-heading);
}

.course-card-body p{
    color:#64748b;
    line-height:1.7;
}

.course-card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:24px;
}

/* Forms */

.instructor-form-card{
    max-width:900px;
    margin:auto;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:28px;
    padding:36px;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.form-section-title{
    margin-bottom:28px;
}

.form-section-title h2{
    margin:0 0 8px;
    color:#0f172a;
    font-size:34px;
    font-family:var(--font-heading);
}

.form-section-title p{
    margin:0;
    color:#64748b;
}

.instructor-form-card p{
    margin-bottom:20px;
}

.instructor-form-card label{
    display:block;
    color:#0f172a;
    font-weight:800;
    margin-bottom:8px;
}

.instructor-form-card input,
.instructor-form-card textarea,
.instructor-form-card select{
    width:100%;
    padding:14px 16px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    font:inherit;
    transition:.2s ease;
}

.instructor-form-card input:focus,
.instructor-form-card textarea:focus,
.instructor-form-card select:focus{
    outline:none;
    border-color:#d4af37;
    box-shadow:0 0 0 4px rgba(212,175,55,.18);
}

.form-actions{
    display:flex;
    justify-content:flex-end;
    gap:14px;
    margin-top:34px;
    flex-wrap:wrap;
}

/* Empty state */

.empty-state{
    background:white;
    border:2px dashed #d4af37;
    border-radius:24px;
    padding:48px;
    text-align:center;
}

.empty-state h3{
    margin:0 0 12px;
    color:#0f172a;
    font-size:34px;
    font-family:var(--font-heading);
}

.empty-state p{
    color:#64748b;
    margin-bottom:24px;
}

.module-builder-card{
    max-width:1000px;
}

.module-form-box{
    border:1px solid #e2e8f0;
    border-radius:22px;
    padding:24px;
    margin-bottom:22px;
    background:#f8fafc;
}

.module-form-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.module-form-header h3{
    margin:0;
    color:#0f172a;
    font-family:var(--font-heading);
    font-size:26px;
}

body{
    background:
        radial-gradient(circle at top left, rgba(212,175,55,.12), transparent 32%),
        linear-gradient(180deg,#fffdf5 0%, #f8fafc 42%, #ffffff 100%);
}

main{
    background:
        radial-gradient(circle at top right, rgba(212,175,55,.10), transparent 28%);
}

/* Mobile */

@media(max-width:900px){

    .instructor-shell{
        width:min(100% - 28px,1280px);
        padding:50px 0;
    }

    .instructor-hero{
        align-items:flex-start;
    }

    .instructor-hero h1{
        font-size:40px;
    }

    .panel-heading{
        flex-direction:column;
        align-items:flex-start;
    }

}

@media(max-width:650px){

    .instructor-hero h1{
        font-size:34px;
    }

    .form-actions{
        flex-direction:column-reverse;
    }

    .form-actions .btn{
        width:100%;
    }

    .course-card-actions{
        flex-direction:column;
    }

    .course-card-actions .btn{
        width:100%;
    }

    .row-actions{
        flex-direction:column;
    }

    .row-actions .btn{
        width:100%;
    }

}

/* =======================================================
   Instructor Content Manager
======================================================= */

.content-manager-layout{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:28px;
    align-items:start;
}

.content-module-sidebar{
    position:sticky;
    top:100px;
    padding:24px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:26px;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.content-sidebar-heading{
    margin-bottom:20px;
}

.content-sidebar-heading > span{
    color:#b8860b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.content-sidebar-heading h2{
    margin:8px 0;
    color:#0f172a;
    font-family:var(--font-heading);
    font-size:28px;
    line-height:1.1;
}

.content-sidebar-heading p{
    margin:0;
    color:#64748b;
    line-height:1.6;
}

.content-module-list{
    list-style:none;
    margin:0 0 22px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.content-module-list li{
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#f8fafc;
    transition:.2s ease;
}

.content-module-list li:hover{
    border-color:rgba(212,175,55,.55);
    transform:translateX(3px);
}

.content-module-list li.selected{
    background:#fff8e1;
    border-color:#d4af37;
}

.content-module-list a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px;
    color:#0f172a;
    text-decoration:none;
}

.content-module-number{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#ffffff;
    color:#b8860b;
    font-weight:900;
}

.content-module-text{
    min-width:0;
}

.content-module-text small{
    display:block;
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.content-module-text strong{
    display:block;
    margin-top:3px;
    overflow:hidden;
    color:#0f172a;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.content-manager-main{
    min-width:0;
}

.content-type-panel{
    padding:30px;
    margin-bottom:28px;
    background:
        radial-gradient(
            circle at top right,
            rgba(212,175,55,.13),
            transparent 32%
        ),
        #ffffff;
    border:1px solid #e2e8f0;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.content-panel-heading h2{
    margin:0 0 8px;
    color:#0f172a;
    font-family:var(--font-heading);
    font-size:34px;
}

.content-panel-heading p{
    margin:0 0 24px;
    color:#64748b;
}

.content-type-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.content-type-card{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:22px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    color:#0f172a;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.content-type-card:hover{
    transform:translateY(-4px);
    border-color:#d4af37;
    box-shadow:0 20px 42px rgba(15,23,42,.12);
}

.content-type-icon{
    width:50px;
    height:50px;
    flex:0 0 50px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(135deg,#fff8e1,#fef3c7);
    color:#b8860b;
    font-size:20px;
}

.content-type-card h3{
    margin:0 0 7px;
    color:#0f172a;
    font-size:19px;
}

.content-type-card p{
    margin:0;
    color:#64748b;
    line-height:1.55;
}

.module-content-panel{
    margin-top:0;
}

.content-count{
    padding:8px 12px;
    border-radius:999px;
    background:#fff8e1;
    color:#b8860b;
    font-size:12px;
    font-weight:900;
}

.module-content-list{
    display:flex;
    flex-direction:column;
}

.module-content-row{
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px 0;
    border-top:1px solid #e2e8f0;
}

.module-content-row:first-child{
    border-top:0;
}

.content-drag-handle{
    color:#94a3b8;
    cursor:grab;
    font-size:18px;
}

.content-drag-handle:active{
    cursor:grabbing;
}

.module-content-info{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
    flex:1;
}

.module-content-number{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#fff8e1;
    color:#b8860b;
    font-weight:900;
}

.module-content-type{
    display:block;
    margin-bottom:4px;
    color:#b8860b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.module-content-info h3{
    margin:0;
    overflow:hidden;
    color:#0f172a;
    font-size:19px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.module-content-actions{
    display:flex;
    align-items:center;
    gap:9px;
}

.module-content-actions form{
    margin:0;
}

.sortable-placeholder{
    min-height:76px;
    border:2px dashed #d4af37;
    border-radius:18px;
    background:#fffdf5;
}

.content-sidebar-empty{
    padding:18px;
    color:#64748b;
    text-align:center;
}


/* =======================================================
   Instructor Workspace Layout
======================================================= */

.instructor-workspace{
    width:min(100% - 40px,1440px);
    margin:0 auto;
    padding:36px 0 72px;

    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:30px;
    align-items:start;
}

.instructor-workspace-main{
    min-width:0;
}

/* =======================================================
   Instructor Sidebar
======================================================= */

.instructor-sidebar{
    position:sticky;
    top:96px;

    min-height:calc(100vh - 130px);
    padding:22px;

    background:
        radial-gradient(
            circle at top left,
            rgba(212,175,55,.16),
            transparent 34%
        ),
        #ffffff;

    border:1px solid #e2e8f0;
    border-radius:28px;

    box-shadow:0 20px 55px rgba(15,23,42,.09);
}

.instructor-sidebar-brand{
    display:flex;
    align-items:center;
    gap:13px;

    padding:4px 4px 22px;
    margin-bottom:18px;

    border-bottom:1px solid #e2e8f0;
}

.sidebar-brand-icon{
    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:16px;

    background:linear-gradient(135deg,#d4af37,#b8860b);
    color:white;

    box-shadow:0 12px 28px rgba(212,175,55,.28);
}

.instructor-sidebar-brand strong{
    display:block;
    color:#0f172a;
    font-size:16px;
}

.instructor-sidebar-brand small{
    display:block;
    margin-top:4px;
    color:#64748b;
}

.instructor-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.instructor-sidebar-nav a{
    display:flex;
    align-items:center;
    gap:13px;

    padding:13px 14px;
    border-radius:14px;

    color:#475569;
    text-decoration:none;
    font-weight:800;

    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.instructor-sidebar-nav a i{
    width:20px;
    color:#b8860b;
    text-align:center;
}

.instructor-sidebar-nav a:hover{
    color:#0f172a;
    background:#fff8e1;
    transform:translateX(4px);
}

.instructor-sidebar-nav a.active{
    color:#0f172a;
    background:#fff8e1;
    box-shadow:
        inset 4px 0 0 #d4af37,
        0 8px 20px rgba(212,175,55,.12);
}

.sidebar-divider{
    height:1px;
    margin:12px 0;
    background:#e2e8f0;
}

/* =======================================================
   Module Switcher
======================================================= */

.module-switcher-panel{
    margin-bottom:28px;
}

.module-switcher-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;

    margin:0;
    padding:0;
    list-style:none;
}

.module-switcher-list li{
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#f8fafc;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.module-switcher-list li:hover{
    transform:translateY(-3px);
    border-color:rgba(212,175,55,.55);
    box-shadow:0 14px 30px rgba(15,23,42,.08);
}

.module-switcher-list li.selected{
    background:#fff8e1;
    border-color:#d4af37;
    box-shadow:0 14px 30px rgba(212,175,55,.14);
}

.module-switcher-list a{
    display:flex;
    align-items:center;
    gap:13px;

    min-height:88px;
    padding:16px;

    color:#0f172a;
    text-decoration:none;
}

.module-switcher-number{
    width:44px;
    height:44px;
    flex:0 0 44px;

    display:grid;
    place-items:center;

    border-radius:14px;

    background:#ffffff;
    color:#b8860b;
    font-weight:900;
}

.module-switcher-copy{
    min-width:0;
    flex:1;
}

.module-switcher-copy small{
    display:block;
    color:#94a3b8;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.module-switcher-copy strong{
    display:block;
    margin-top:4px;

    overflow:hidden;
    color:#0f172a;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.module-current-badge{
    padding:6px 9px;
    border-radius:999px;

    background:#d4af37;
    color:white;

    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.module-switcher-empty{
    display:flex;
    align-items:center;
    gap:14px;

    grid-column:1/-1;
    padding:24px;

    color:#64748b;
}

.module-switcher-empty i{
    color:#b8860b;
    font-size:22px;
}

.module-switcher-empty strong{
    display:block;
    color:#0f172a;
}

.module-switcher-empty span{
    display:block;
    margin-top:4px;
}

/* =======================================================
   Add Content Cards
======================================================= */

.content-type-panel{
    padding:30px;
    margin-bottom:28px;

    background:
        radial-gradient(
            circle at top right,
            rgba(212,175,55,.14),
            transparent 32%
        ),
        #ffffff;

    border:1px solid #e2e8f0;
    border-radius:28px;

    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.content-panel-heading h2{
    margin:0 0 8px;

    color:#0f172a;
    font-family:var(--font-heading);
    font-size:34px;
}

.content-panel-heading p{
    margin:0 0 24px;
    color:#64748b;
}

.content-type-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.content-type-card{
    position:relative;

    display:flex;
    align-items:flex-start;
    gap:16px;

    padding:22px;

    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:22px;

    color:#0f172a;
    text-decoration:none;

    box-shadow:0 12px 30px rgba(15,23,42,.06);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.content-type-card:hover{
    transform:translateY(-5px);
    border-color:#d4af37;
    box-shadow:0 22px 46px rgba(15,23,42,.12);
}

.content-type-icon{
    width:52px;
    height:52px;
    flex:0 0 52px;

    display:grid;
    place-items:center;

    border-radius:16px;

    background:linear-gradient(135deg,#fff8e1,#fef3c7);
    color:#b8860b;

    font-size:20px;
}

.content-type-card h3{
    margin:0 0 7px;
    color:#0f172a;
    font-size:20px;
}

.content-type-card p{
    margin:0;
    color:#64748b;
    line-height:1.55;
}

.content-type-arrow{
    position:absolute;
    top:20px;
    right:20px;

    color:#cbd5e1;

    transition:
        color .2s ease,
        transform .2s ease;
}

.content-type-card:hover .content-type-arrow{
    color:#b8860b;
    transform:translateX(4px);
}

/* =======================================================
   Module Content List
======================================================= */

.module-content-panel{
    margin-top:0;
}

.content-count{
    padding:8px 12px;
    border-radius:999px;

    background:#fff8e1;
    color:#b8860b;

    font-size:12px;
    font-weight:900;
}

.module-content-list{
    display:flex;
    flex-direction:column;
}

.module-content-row{
    display:flex;
    align-items:center;
    gap:16px;

    padding:20px 0;
    border-top:1px solid #e2e8f0;
}

.module-content-row:first-child{
    border-top:0;
}

.content-drag-handle{
    color:#94a3b8;
    cursor:grab;
    font-size:18px;
}

.content-drag-handle:active{
    cursor:grabbing;
}

.module-content-info{
    display:flex;
    align-items:center;
    gap:15px;

    min-width:0;
    flex:1;
}

.module-content-number{
    width:44px;
    height:44px;
    flex:0 0 44px;

    display:grid;
    place-items:center;

    border-radius:14px;

    background:#fff8e1;
    color:#b8860b;

    font-weight:900;
}

.module-content-type{
    display:block;
    margin-bottom:4px;

    color:#b8860b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.module-content-info h3{
    margin:0;

    overflow:hidden;
    color:#0f172a;
    font-size:19px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.module-content-actions{
    display:flex;
    align-items:center;
    gap:9px;
}

.module-content-actions form{
    margin:0;
}

.content-empty-state{
    min-height:240px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.empty-state-icon{
    width:64px;
    height:64px;

    display:grid;
    place-items:center;

    margin-bottom:18px;
    border-radius:20px;

    background:#fff8e1;
    color:#b8860b;

    font-size:26px;
}

.sortable-placeholder{
    min-height:80px;

    border:2px dashed #d4af37;
    border-radius:18px;

    background:#fffdf5;
}

/* =======================================================
   Responsive
======================================================= */

@media(max-width:1050px){
    .instructor-workspace{
        grid-template-columns:1fr;
    }

    .instructor-sidebar{
        position:static;
        min-height:auto;
    }

    .instructor-sidebar-nav{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .content-type-grid{
        grid-template-columns:1fr;
    }

    .module-switcher-list{
        grid-template-columns:1fr;
    }

    .module-content-row{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .module-content-actions{
        width:100%;
        padding-left:60px;
    }

    .module-content-actions .btn,
    .module-content-actions form{
        flex:1;
    }

    .module-content-actions form .btn{
        width:100%;
    }
}

@media(max-width:600px){
    .instructor-workspace{
        width:min(100% - 24px,1440px);
        padding-top:24px;
    }

    .instructor-sidebar-nav{
        grid-template-columns:1fr;
    }

    .module-content-actions{
        padding-left:0;
    }
}


@media(max-width:1000px){
    .content-manager-layout{
        grid-template-columns:1fr;
    }

    .content-module-sidebar{
        position:static;
    }

    .content-type-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .content-type-grid{
        grid-template-columns:1fr;
    }

    .module-content-row{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .module-content-actions{
        width:100%;
        padding-left:60px;
    }

    .module-content-actions .btn,
    .module-content-actions form{
        flex:1;
    }

    .module-content-actions form .btn{
        width:100%;
    }
}