/* ==========================================================
   TESTİM HAZIR
   UNIFIED BALANCED UI V2

   TASARIM KURALI:
   - Büyük ve okunaklı yazı
   - Gereksiz büyük buton yok
   - Ana işlem > normal işlem > mini işlem hiyerarşisi
   - Sıkı kart yerleşimi
   - Tablet öncelikli
   - Tıklanabilir alanlar net
   - Tek tasarım dili
   ========================================================== */

:root{
    --bg:#f4f6fa;
    --surface:#ffffff;
    --surface-2:#f8f9fc;
    --surface-purple:#f7f3ff;

    --text:#202633;
    --text-2:#626d7e;
    --text-3:#838c9c;

    --purple:#7042bd;
    --purple-hover:#5c32a3;
    --purple-soft:#eee6fb;

    --green:#269d7d;
    --green-hover:#20866b;
    --green-soft:#e8f7f2;

    --blue:#2878d5;
    --blue-hover:#2166b6;
    --blue-soft:#eaf3ff;

    --red:#d92735;
    --red-hover:#bd1f2b;
    --red-soft:#fff0f1;

    --orange:#e58a20;
    --orange-soft:#fff4e6;

    --border:#dde3eb;
    --border-2:#ccd4df;

    --shadow-1:0 3px 12px rgba(29,39,62,.05);
    --shadow-2:0 7px 20px rgba(29,39,62,.075);
    --shadow-3:0 12px 30px rgba(29,39,62,.10);

    --r-sm:9px;
    --r-md:12px;
    --r-lg:16px;
    --r-xl:20px;

    --gap-xs:6px;
    --gap-sm:9px;
    --gap:12px;
    --gap-lg:16px;
}

/* ==========================================================
   TEMEL
   ========================================================== */

*{
    box-sizing:border-box;
}

html{
    font-size:17px;
    background:var(--bg);
}

body{
    margin:0;
    background:var(--bg);
    color:var(--text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;

    font-size:17px;
    line-height:1.42;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

p{
    font-size:16px;
    line-height:1.45;
    margin:0 0 9px;
}

small,
.small{
    font-size:14px;
}

.muted,
.text-muted{
    color:var(--text-2) !important;
}

a{
    color:var(--purple);
}

h1,h2,h3,h4,h5,h6{
    margin-top:0;
    color:var(--text);
    font-weight:850;
    letter-spacing:-.02em;
}

h1{
    font-size:31px;
    line-height:1.12;
    margin-bottom:9px;
}

h2{
    font-size:24px;
    line-height:1.17;
    margin-bottom:8px;
}

h3{
    font-size:20px;
    line-height:1.2;
    margin-bottom:7px;
}

h4{
    font-size:18px;
}

/* ==========================================================
   SAYFA GENİŞLİĞİ
   ========================================================== */

.container,
.wrap,
.ep-shell,
.page-container,
.content-wrapper,
.main-content{
    width:min(1400px,calc(100% - 28px));
    margin-left:auto;
    margin-right:auto;
}

/* ==========================================================
   KART STANDARDI
   ========================================================== */

.card,
.panel,
.box,
.widget,
.module,
.content-card,
.quick-card,
.folder,
.item,
.student-card,
.stat,
.ep-summary-card,
.ep-intro,
.modal-box{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-1);
}

.card,
.panel,
.box,
.widget,
.module,
.content-card{
    padding:14px;
    margin-bottom:11px;
}

.card:hover,
.quick-card:hover,
.folder:hover,
.item:hover,
.student-card:hover{
    border-color:#c6b5e2;
}

/* ==========================================================
   BUTON HİYERARŞİSİ
   ========================================================== */

/* NORMAL BUTON */

button,
.btn,
a.btn,
input[type="submit"],
input[type="button"]{
    appearance:none;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    min-height:42px;
    padding:8px 13px;

    background:#fff;
    color:#3d4655;

    border:1px solid var(--border-2);
    border-radius:var(--r-md);

    font:inherit;
    font-size:15px;
    font-weight:800;
    line-height:1.15;

    text-decoration:none;
    cursor:pointer;

    box-shadow:0 2px 7px rgba(29,39,62,.04);

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

button:hover,
.btn:hover,
a.btn:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow-2);
}

/* ANA İŞLEM */

.btn.primary,
.btn.sec,
button.primary,
a.primary{
    min-height:44px;
    padding:9px 15px;

    background:var(--purple);
    color:#fff;
    border-color:var(--purple);

    font-size:16px;
}

.btn.primary:hover,
.btn.sec:hover{
    background:var(--purple-hover);
}

/* BAŞARI */

.btn.success,
.btn.green{
    background:var(--green);
    color:#fff;
    border-color:var(--green);
}

.btn.success:hover,
.btn.green:hover{
    background:var(--green-hover);
}

/* GÖRÜNTÜLE */

.pdf-view-btn,
.btn.view{
    background:var(--blue) !important;
    color:#fff !important;
    border-color:var(--blue) !important;
}

.pdf-view-btn:hover,
.btn.view:hover{
    background:var(--blue-hover) !important;
}

/* SİL */

.btn.danger,
.btn.red,
.lesson-delete-btn{
    background:var(--red-soft);
    color:var(--red);
    border-color:#efc8cc;
}

.btn.danger:hover,
.btn.red:hover,
.lesson-delete-btn:hover{
    background:var(--red);
    color:#fff;
    border-color:var(--red);
}

/* MİNİ BUTON */

.btn-sm,
.btn-mini,
.actions .btn{
    min-height:37px;
    padding:6px 10px;

    font-size:14px;
    border-radius:10px;
}

/* ==========================================================
   FORM
   ========================================================== */

input,
select,
textarea{
    min-height:42px;
    width:100%;

    padding:8px 11px;

    background:#fff;
    color:var(--text);

    border:1px solid var(--border-2);
    border-radius:11px;

    font:inherit;
    font-size:16px;

    outline:none;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#9671cc;
    box-shadow:0 0 0 3px rgba(112,66,189,.09);
}

textarea{
    min-height:95px;
}

label{
    display:block;
    margin-bottom:4px;

    font-size:14px;
    font-weight:750;
}

/* ==========================================================
   ÜST MENÜ
   ========================================================== */

.ep-header,
.top,
header.site-header{
    background:#fff;
    border-color:var(--border);
    box-shadow:var(--shadow-1);
}

.ep-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;

    gap:10px;

    padding:11px 14px;
    margin:11px auto;

    border:1px solid var(--border);
    border-radius:var(--r-lg);
}

.ep-brand strong,
.brand{
    font-size:21px;
    font-weight:900;
}

.ep-nav,
.nav,
.top-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}

.ep-nav a,
.nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:40px;
    padding:7px 11px;

    background:#fff;
    color:#485163;

    border:1px solid var(--border);
    border-radius:10px;

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

    text-decoration:none;
}

.ep-nav a:hover,
.nav a:hover{
    background:var(--purple-soft);
    color:var(--purple-hover);
    border-color:#c5b2e0;
}

/* ==========================================================
   PANEL — BİLGİ KARTLARI
   ========================================================== */

.ep-summary,
.stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:9px;
    margin:9px 0 11px;
}

.ep-summary-card,
.stat{
    min-height:82px;
    padding:13px 15px;
}

.ep-summary-card small,
.stat small{
    display:block;
    margin-bottom:4px;

    color:var(--text-2);

    font-size:13px;
    font-weight:800;
}

.ep-summary-card strong,
.stat strong{
    display:block;

    font-size:25px;
    line-height:1.05;
    font-weight:900;
}

/* ==========================================================
   HOŞ GELDİN / HERO
   ========================================================== */

.ep-intro,
.hero{
    margin:10px 0 12px;
}

.ep-intro{
    padding:17px;

    background:
        linear-gradient(
            135deg,
            #fff 0%,
            #faf7ff 100%
        );
}

.ep-intro p,
.hero p{
    font-size:16px;
}

/* ==========================================================
   ANA İŞLEM KARTLARI
   ========================================================== */

.ep-actions,
.teacher-launch{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:10px;
    margin:11px 0 14px;
}

.ep-action,
.teacher-launch-card{
    min-height:145px;

    display:flex;
    flex-direction:column;

    padding:15px;

    background:#fff;
    color:var(--text);

    border:1px solid var(--border);
    border-radius:var(--r-lg);

    text-decoration:none;

    box-shadow:var(--shadow-1);
}

.ep-action:hover,
.teacher-launch-card:hover{
    transform:translateY(-2px);
    border-color:#c3b0df;
    box-shadow:var(--shadow-2);
}

.ep-action-icon,
.teacher-launch-icon{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    margin-bottom:10px;

    background:var(--purple-soft);
    border-radius:12px;

    font-size:23px;
}

.ep-action strong,
.teacher-launch-card strong{
    display:block;

    margin-bottom:4px;

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

.ep-action small,
.teacher-launch-card small{
    color:var(--text-2);

    font-size:14px;
    line-height:1.38;
}

/* ==========================================================
   TIKLANABİLİR ACCORDION
   ========================================================== */

details{
    margin:7px 0;
}

details > summary{
    list-style:none;

    min-height:48px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:8px;
    padding:9px 12px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:11px;

    box-shadow:var(--shadow-1);

    cursor:pointer;

    color:#463757;

    font-size:15px;
    font-weight:800;
}

details > summary::-webkit-details-marker{
    display:none;
}

details > summary::after{
    content:"Aç";

    min-width:46px;

    padding:6px 8px;

    background:var(--purple);
    color:#fff;

    border-radius:8px;

    text-align:center;
    font-size:12px;
    font-weight:900;
}

details[open] > summary::after{
    content:"Kapat";
}

/* ==========================================================
   KAYNAKLAR / PDF
   ========================================================== */

.source-check{
    min-height:58px;

    display:flex;
    align-items:center;

    gap:10px;

    padding:10px 12px;
    margin:6px 0;

    background:#fff;

    border:1px solid var(--border);
    border-radius:11px;

    cursor:pointer;
}

.source-check:hover{
    background:#faf8ff;
    border-color:#c5b2df;
}

.source-check input[type="checkbox"]{
    width:24px;
    height:24px;
    min-height:auto;
    flex:none;
}

.resource-grid,
.lesson-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(275px,1fr));

    gap:10px;
}

.resource-card,
.lesson-card{
    padding:14px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--r-lg);

    box-shadow:var(--shadow-1);
}

.resource-card h3,
.lesson-card h3{
    font-size:18px;
    overflow-wrap:anywhere;
}

.resource-card .actions,
.lesson-card .actions{
    display:flex;
    flex-wrap:wrap;

    gap:6px;
    margin-top:9px;
}

/* ==========================================================
   DERS KAYITLARI
   ========================================================== */

.lesson-note-row{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:10px;

    padding:11px 0;

    border-bottom:1px solid var(--border);
}

.lesson-note-row:last-child{
    border-bottom:0;
}

.lesson-note-row > div:last-child{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;

    gap:6px;
}

.lesson-note-name{
    font-size:17px;
    font-weight:900;
}

.lesson-note-meta{
    margin-top:3px;

    color:var(--text-2);
    font-size:14px;
}

/* ==========================================================
   MASAÜSTÜ
   ========================================================== */

.searchbar{
    display:grid;
    grid-template-columns:1fr auto auto;

    gap:7px;
    margin:9px 0 11px;
}

.quick{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:9px;
}

.quick-card{
    min-height:105px;
    padding:13px;

    cursor:pointer;
}

.quick-card strong{
    display:block;

    margin-top:6px;

    color:var(--purple-hover);

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

.quick-card small{
    color:var(--text-2);
    font-size:14px;
}

.folder-grid,
.item-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(245px,1fr));

    gap:9px;
}

.folder,
.item{
    padding:13px;
}

.folder-name,
.item-title{
    font-size:16px;
    font-weight:900;
}

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

/* ==========================================================
   KOÇLUK
   ========================================================== */

.page-kocluk .hero{
    padding:11px 0 6px !important;
}

.page-kocluk .hero h1{
    font-size:29px !important;
    margin-bottom:3px !important;
}

.page-kocluk .stats{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.page-kocluk .tabs{
    display:flex !important;
    flex-wrap:wrap !important;

    gap:6px !important;
    margin:8px 0 10px !important;
}

.page-kocluk .tab{
    min-height:40px !important;

    padding:7px 11px !important;

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

    border-radius:10px !important;
}

.page-kocluk .student-grid{
    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:9px !important;
}

.page-kocluk .student-card{
    padding:12px !important;
    margin:0 !important;
}

.page-kocluk .student-name{
    font-size:18px !important;
    margin-bottom:3px !important;
}

.page-kocluk .student-code,
.page-kocluk .student-info{
    font-size:14px !important;
}

.page-kocluk .student-card .actions{
    display:grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap:5px !important;

    margin-top:8px !important;
}

.page-kocluk .student-card .actions .btn{
    width:100% !important;

    min-height:36px !important;

    padding:5px 7px !important;

    font-size:13px !important;
}

/* Profil ana buton */
.page-kocluk .student-card .actions .btn:first-child{
    grid-column:1 / -1 !important;

    min-height:40px !important;

    font-size:14px !important;
}

/* ==========================================================
   ÖĞRENCİ KARTLARI GENEL
   ========================================================== */

.student-row,
.student-card{
    padding:12px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:13px;

    margin-bottom:7px;
}

.student-actions{
    display:flex;
    flex-wrap:wrap;

    gap:5px;
    margin-top:7px;
}

.student-actions .btn{
    min-height:36px;
    padding:5px 8px;
    font-size:13px;
}

/* ==========================================================
   TABLOLAR
   ========================================================== */

table{
    width:100%;

    border-collapse:separate;
    border-spacing:0;

    font-size:15px;
}

th,
td{
    padding:9px 10px;

    border-bottom:1px solid var(--border);

    text-align:left;
}

th{
    background:#f8f9fc;
    font-weight:850;
}

/* ==========================================================
   BOŞ DURUMLAR
   ========================================================== */

.empty,
.empty-state{
    min-height:90px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:16px;

    background:#fff;

    border:1px dashed var(--border-2);
    border-radius:13px;

    color:var(--text-2);

    text-align:center;
    font-size:15px;
}

/* ==========================================================
   PDF VIEWER
   ========================================================== */

.pdf-viewer-page{
    background:#e9edf3;
}

.pdf-viewer-shell{
    width:min(1500px,calc(100% - 18px));
    margin:9px auto 20px;
}

.pdf-viewer-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    padding:11px 13px;
    margin-bottom:7px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:14px;

    box-shadow:var(--shadow-1);
}

.pdf-viewer-header h1{
    font-size:22px;
    margin-bottom:2px;
}

.pdf-viewer-name{
    color:var(--text-2);

    font-size:14px;
    font-weight:700;
}

.pdf-viewer-header-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.pdf-viewer-toolbar{
    position:sticky;
    top:4px;
    z-index:50;

    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:6px;

    padding:7px;
    margin-bottom:7px;

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

    border:1px solid var(--border);
    border-radius:12px;

    box-shadow:var(--shadow-2);
}

.pdf-page-status,
.pdf-zoom-status{
    min-height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:6px 9px;

    background:var(--surface-2);

    border:1px solid var(--border);
    border-radius:9px;

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

.pdf-canvas-wrapper{
    min-height:70vh;

    overflow:auto;

    display:flex;
    justify-content:center;
    align-items:flex-start;

    padding:9px;

    background:#d4dae3;

    border:1px solid #c7ced8;
    border-radius:14px;
}

#pdfCanvas{
    display:block;
    max-width:none;

    background:#fff;

    box-shadow:
        0 7px 24px
        rgba(20,30,50,.20);
}

/* ==========================================================
   BOŞLUK KONTROLÜ
   ========================================================== */

section{
    margin-top:9px;
    margin-bottom:9px;
}

.mt-5,
.mt-4{
    margin-top:14px !important;
}

.mb-5,
.mb-4{
    margin-bottom:14px !important;
}

.py-5,
.py-4{
    padding-top:14px !important;
    padding-bottom:14px !important;
}

/* ==========================================================
   TABLET — ANA HEDEF
   ========================================================== */

@media(max-width:1100px){

    html,
    body{
        font-size:16px;
    }

    h1{
        font-size:29px;
    }

    h2{
        font-size:23px;
    }

    .ep-summary,
    .stats{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .ep-actions,
    .teacher-launch{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .quick{
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

    .page-kocluk .student-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }
}

/* ==========================================================
   DAR TABLET
   ========================================================== */

@media(max-width:800px){

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

    .searchbar{
        grid-template-columns:1fr auto;
    }

    .searchbar > *:last-child{
        grid-column:auto;
    }

    .ep-nav,
    .nav{
        display:grid;
        grid-template-columns:
            repeat(3,minmax(0,1fr));

        width:100%;
    }

    .ep-nav a,
    .nav a{
        width:100%;
    }
}

/* ==========================================================
   MOBİL
   ========================================================== */

@media(max-width:600px){

    .container,
    .wrap,
    .ep-shell,
    .page-container,
    .content-wrapper,
    .main-content{
        width:calc(100% - 16px);
    }

    h1{
        font-size:26px;
    }

    h2{
        font-size:21px;
    }

    h3{
        font-size:18px;
    }

    p{
        font-size:15px;
    }

    .ep-header{
        align-items:flex-start;
        flex-direction:column;
    }

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

    .ep-summary,
    .stats{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .ep-actions,
    .teacher-launch{
        grid-template-columns:1fr;
    }

    .ep-action,
    .teacher-launch-card{
        min-height:125px;
    }

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

    .folder-grid,
    .item-grid,
    .resource-grid,
    .lesson-grid{
        grid-template-columns:1fr;
    }

    .page-kocluk .student-grid{
        grid-template-columns:1fr !important;
    }

    .page-kocluk .tabs{
        display:grid !important;
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

    .lesson-note-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .lesson-note-row > div:last-child{
        width:100%;
        justify-content:flex-start;
    }

    .searchbar{
        grid-template-columns:1fr;
    }

    .pdf-viewer-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .pdf-viewer-header-actions{
        width:100%;
    }
}


/* PANEL_ACCORDION_SINGLE_CONTROL_V2
   Panelde summary zaten kendi okunu içeriyor; global Aç/Kapat rozetini gizle. */
body.page-panel .ep-fold > summary::after,
body.th-rebuild-v2.page-panel .ep-fold > summary::after{
    content:none !important;
    display:none !important;
}
body.page-panel .ep-fold .ep-fold-arrow,
body.th-rebuild-v2.page-panel .ep-fold .ep-fold-arrow{
    font-size:18px !important;
    min-width:28px;
    text-align:center;
    opacity:.85;
}

/* ==========================================================
   PANEL_CONCEPT_V3 — visual-only refinement
   Existing href/onclick/id wiring is intentionally preserved.
   ========================================================== */
body.page-panel{
    --th-navy:#12385d;
    --th-navy-2:#0d2f50;
    --th-blue:#2563eb;
    --th-soft-blue:#eef3ff;
    --th-soft-red:#fff0f2;
    --th-soft-yellow:#fff8e8;
    --th-soft-green:#eefaf5;
    --th-line:#dfe6ee;
}
body.page-panel .ep-shell{max-width:1180px!important;}
body.page-panel .ep-section-title{color:var(--th-navy)!important;font-size:24px!important;}

/* Upload / create area */
body.page-panel .ep-workspace{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:12px 0 18px!important;
}
body.page-panel .ep-workspace>.card{
    margin:0!important;
    border-radius:20px!important;
    box-shadow:0 8px 24px rgba(15,47,79,.08)!important;
    border:1px solid var(--th-line)!important;
    background:#fff!important;
}
body.page-panel .ep-workspace>#uploadCard{
    border-bottom-left-radius:0!important;
    border-bottom-right-radius:0!important;
    border-bottom:0!important;
    padding-bottom:8px!important;
}
body.page-panel .ep-workspace>#test-create-section{
    border-top-left-radius:0!important;
    border-top-right-radius:0!important;
    padding-top:8px!important;
}
body.page-panel #uploadCard h2,
body.page-panel #test-create-section h2{
    color:var(--th-navy)!important;
    font-size:20px!important;
}
body.page-panel #test-create-section h2{display:none!important;}
body.page-panel #uploadArea{
    min-height:74px!important;
    padding:14px 18px!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:12px!important;
    text-align:left!important;
    border:1px solid #cfd8e3!important;
    background:#fbfdff!important;
    border-radius:14px!important;
}
body.page-panel #uploadArea .upload-icon{font-size:28px!important;margin:0!important;}
body.page-panel #uploadArea strong{color:var(--th-navy)!important;font-size:15px!important;}
body.page-panel #uploadArea .muted{grid-column:2/3!important;margin-top:-6px!important;}
body.page-panel #uploadArea::after{
    content:'Dosya Seç';
    grid-column:3;
    grid-row:1/3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border:1px solid #b8a8ff;
    border-radius:12px;
    color:#6246d8;
    background:#fff;
    font-weight:900;
    white-space:nowrap;
}
body.page-panel #test-create-section #title{
    border:1px solid #d8e0e8!important;
    background:#fff!important;
    min-height:46px!important;
    margin-bottom:10px!important;
}
body.page-panel .source-check{
    min-height:58px!important;
    margin:0!important;
    border-radius:0!important;
    border-bottom:0!important;
    background:#fff!important;
}
body.page-panel .source-check:first-of-type{border-radius:13px 13px 0 0!important;}
body.page-panel .source-check:last-of-type{border-bottom:1px solid var(--th-line)!important;border-radius:0 0 13px 13px!important;}
body.page-panel #test-create-section>.btn{
    margin-top:14px!important;
    min-height:48px!important;
    padding:11px 18px!important;
    border-radius:13px!important;
    background:var(--th-navy)!important;
    box-shadow:none!important;
    font-size:15px!important;
}

/* Main accordion rows — single chevron, whole row clickable */
body.page-panel .ep-folders{display:grid!important;gap:10px!important;margin:0 0 14px!important;}
body.page-panel .ep-fold{margin:0!important;}
body.page-panel .ep-fold>summary{
    min-height:82px!important;
    padding:13px 18px!important;
    border:1px solid var(--th-line)!important;
    border-radius:16px!important;
    box-shadow:0 5px 15px rgba(15,47,79,.07)!important;
    color:var(--th-navy)!important;
}
body.page-panel .ep-fold:nth-of-type(1)>summary{background:linear-gradient(90deg,#f3f6ff,#eef2ff)!important;}
body.page-panel .ep-fold:nth-of-type(2)>summary{background:linear-gradient(90deg,#fff5f6,#fff0f3)!important;}
body.page-panel .ep-fold:nth-of-type(3)>summary{background:linear-gradient(90deg,#fffaf0,#fff6dc)!important;}
body.page-panel .ep-fold:nth-of-type(4)>summary{background:linear-gradient(90deg,#f3fbf8,#eaf8f2)!important;}
body.page-panel .ep-fold-left{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important;}
body.page-panel .ep-fold-icon{font-size:30px!important;line-height:1!important;flex:none!important;}
body.page-panel .ep-fold-title{display:block!important;font-size:18px!important;font-weight:950!important;color:var(--th-navy)!important;}
body.page-panel .ep-fold-sub{display:block!important;margin-top:3px!important;font-size:13px!important;font-weight:600!important;color:#6c7a89!important;}
body.page-panel .ep-fold .ep-fold-arrow{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    font-size:34px!important;
    line-height:1!important;
    font-weight:500!important;
    color:var(--th-navy)!important;
    opacity:1!important;
    transform:rotate(0deg);
    transition:transform .18s ease;
}
body.page-panel .ep-fold[open] .ep-fold-arrow{transform:rotate(90deg);}
body.page-panel .ep-fold>summary::after{display:none!important;content:none!important;}
body.page-panel .ep-fold-body{padding-top:8px!important;}
body.page-panel .ep-fold-body>.card{border-radius:16px!important;box-shadow:0 5px 15px rgba(15,47,79,.06)!important;}

/* The four links below accordions become proper buttons/cards */
body.page-panel .ep-bottom{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin:14px 0 16px!important;
}
body.page-panel .ep-bottom>a{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:76px!important;
    padding:12px 14px!important;
    border:1px solid var(--th-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 4px 13px rgba(15,47,79,.06)!important;
    text-decoration:none!important;
    color:var(--th-navy)!important;
}
body.page-panel .ep-bottom>a:hover{transform:translateY(-1px);border-color:#bac9d8!important;}
body.page-panel .ep-bottom-icon{font-size:25px!important;flex:none!important;}
body.page-panel .ep-bottom strong{display:block!important;font-size:15px!important;color:var(--th-navy)!important;}
body.page-panel .ep-bottom small{display:block!important;margin-top:2px!important;font-size:11px!important;color:#778594!important;line-height:1.25!important;}

/* Students card */
body.page-panel .th-concept-students>.card{
    border:1px solid var(--th-line)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(15,47,79,.07)!important;
    padding:16px!important;
}
body.page-panel .th-concept-students>.card>h2{font-size:22px!important;color:var(--th-navy)!important;}
body.page-panel .th-concept-students .item{background:#fff!important;border:1px solid var(--th-line)!important;border-radius:14px!important;}
body.page-panel .th-concept-students .btn:not(.danger){background:var(--th-navy)!important;box-shadow:none!important;}
body.page-panel .th-concept-students .btn.danger{background:#ef6b67!important;box-shadow:none!important;}

/* Never show accidental debug/source dumps on the panel. Intentional inline <code>
   examples inside tool dialogs remain visible. */
body.page-panel pre.debug,
body.page-panel .debug-output,
body.page-panel .traceback,
body.page-panel .raw-json{display:none!important;}

@media(max-width:760px){
    body.page-panel #uploadArea{grid-template-columns:auto 1fr!important;}
    body.page-panel #uploadArea::after{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;}
    body.page-panel .ep-bottom{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    body.page-panel .ep-fold>summary{min-height:72px!important;padding:11px 13px!important;}
    body.page-panel .ep-fold-icon{font-size:26px!important;}
    body.page-panel .ep-fold-title{font-size:16px!important;}
}
