/* ==========================================================
   LAEC LEARNING ACADEMY
   ADMIN.CSS
   Shared Administrator Portal Styles
   Version 1.1
========================================================== */


/* ==========================================================
   1. ADMIN DESIGN TOKENS
========================================================== */

:root{
    --admin-forest:#1B5E20;
    --admin-green:#2E7D32;
    --admin-dark-green:#174F1B;
    --admin-gold:#D6A23D;
    --admin-gold-soft:#FFD97A;

    --admin-bg:#F5F7F5;
    --admin-surface:#FFFFFF;
    --admin-ink:#263238;
    --admin-muted:#68716C;
    --admin-line:#DFE7DF;

    --admin-danger:#B3261E;
    --admin-danger-soft:#FBECEA;

    --admin-success:#1F7A3D;
    --admin-success-soft:#E8F5EC;

    --admin-warning:#9A6500;
    --admin-warning-soft:#FFF5DA;

    --admin-info:#315F8C;
    --admin-info-soft:#EAF2FB;

    --admin-shadow-sm:0 8px 24px rgba(27,94,32,.05);
    --admin-shadow:0 15px 42px rgba(27,94,32,.16);
    --admin-shadow-lg:0 22px 65px rgba(27,94,32,.16);

    --admin-radius-sm:11px;
    --admin-radius:16px;
    --admin-radius-lg:24px;

    --admin-sidebar-width:270px;
    --admin-transition:.25s ease;
}


/* ==========================================================
   2. ADMIN GLOBAL
========================================================== */

.admin-page{
    margin:0;
    min-height:100vh;
    font-family:"Inter",sans-serif;
    color:var(--admin-ink);
    background:var(--admin-bg);
}

.admin-page *{
    box-sizing:border-box;
}

.admin-page.loading{
    overflow:hidden;
}

.admin-page a{
    transition:
        color var(--admin-transition),
        background-color var(--admin-transition),
        border-color var(--admin-transition),
        transform var(--admin-transition),
        box-shadow var(--admin-transition);
}


/* ==========================================================
   3. FULL-SCREEN AUTHORIZATION LOADER
========================================================== */

.screen-loader{
    position:fixed;
    inset:0;
    z-index:3000;
    display:grid;
    place-items:center;
    background:var(--admin-bg);
    transition:
        opacity var(--admin-transition),
        visibility var(--admin-transition);
}

.screen-loader.hide{
    opacity:0;
    visibility:hidden;
}

.loader-box{
    color:var(--admin-forest);
    text-align:center;
}

.loader-box i{
    margin-bottom:14px;
    font-size:2rem;
}


/* ==========================================================
   4. ADMIN LOGIN AND PASSWORD-RESET PAGES
========================================================== */

.admin-auth-page{
    background:
        radial-gradient(
            circle at top left,
            rgba(214,162,61,.15),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #F7F3EA 0%,
            #EAF3EB 100%
        );
}

.admin-auth-navbar{
    background:var(--admin-surface);
    box-shadow:0 2px 14px rgba(27,94,32,.08);
}

.admin-auth-navbar .navbar-brand{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--admin-forest)!important;
    font-weight:700;
}

.admin-auth-navbar .navbar-brand img{
    width:46px;
    height:46px;
    object-fit:contain;
}

.admin-auth-wrap{
    min-height:calc(100vh - 76px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:110px 16px 45px;
}

.admin-auth-shell{
    width:min(980px,100%);
    display:grid;
    grid-template-columns:1.05fr .95fr;
    overflow:hidden;
    border:1px solid rgba(27,94,32,.08);
    border-radius:var(--admin-radius-lg);
    background:var(--admin-surface);
    box-shadow:var(--admin-shadow-lg);
}

.admin-auth-info{
    position:relative;
    overflow:hidden;
    padding:54px 46px;
    color:#FFFFFF;
    background:
        linear-gradient(
            145deg,
            rgba(20,70,26,.97),
            rgba(46,125,50,.94)
        );
}

.admin-auth-info::before,
.admin-auth-info::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.07);
}

.admin-auth-info::before{
    width:260px;
    height:260px;
    right:-110px;
    top:-100px;
}

.admin-auth-info::after{
    width:180px;
    height:180px;
    left:-75px;
    bottom:-80px;
}

.admin-auth-info > *{
    position:relative;
    z-index:1;
}

.admin-gold-label{
    color:var(--admin-gold-soft);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.admin-auth-info h1{
    margin:12px 0 17px;
    color:#FFFFFF;
    font-family:"Merriweather",serif;
    font-size:2.1rem;
    line-height:1.25;
}

.admin-auth-info > p{
    color:rgba(255,255,255,.88);
    line-height:1.75;
}

.admin-auth-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50px;
    background:rgba(255,255,255,.13);
    font-size:.88rem;
    font-weight:600;
}

.admin-security-list{
    display:grid;
    gap:13px;
    margin-top:30px;
}

.admin-security-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.admin-security-item .icon{
    width:35px;
    height:35px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:var(--admin-forest);
    background:var(--admin-gold-soft);
}

.admin-security-item b{
    display:block;
    margin-bottom:2px;
}

.admin-security-item small{
    color:rgba(255,255,255,.78);
    line-height:1.5;
}

.admin-auth-panel{
    padding:54px 46px;
}

.admin-auth-panel h2{
    margin-bottom:8px;
    color:var(--admin-forest);
    font-family:"Merriweather",serif;
    font-size:1.6rem;
}

.admin-auth-lead{
    margin-bottom:25px;
    color:var(--admin-muted);
    font-size:.94rem;
    line-height:1.65;
}

.admin-page .form-label{
    color:#33423A;
    font-size:.9rem;
    font-weight:700;
}

.admin-page .form-control,
.admin-page .form-select{
    padding:12px 14px;
    border:1px solid var(--admin-line);
    border-radius:12px;
}

.admin-page .form-control:focus,
.admin-page .form-select:focus{
    border-color:var(--admin-green);
    box-shadow:0 0 0 .2rem rgba(46,125,50,.12);
}

.admin-page .input-group-text{
    color:var(--admin-forest);
    background:#F3F7F3;
    border-color:var(--admin-line);
    border-radius:12px 0 0 12px;
}

.admin-page .input-group .btn-outline-secondary{
    color:var(--admin-forest);
    border-color:var(--admin-line);
    border-radius:0 12px 12px 0;
}

.admin-page .input-group .btn-outline-secondary:hover{
    color:var(--admin-forest);
    background:#EEF4EE;
}

.admin-primary-btn{
    width:100%;
    margin-top:8px;
    padding:13px 20px;
    border:0;
    border-radius:50px;
    color:#FFFFFF;
    background:var(--admin-green);
    font-weight:800;
}

.admin-primary-btn:hover{
    color:#FFFFFF;
    background:var(--admin-forest);
}

.admin-primary-btn:disabled{
    cursor:not-allowed;
    opacity:.65;
}

.admin-helper-links{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
    font-size:.88rem;
}

.admin-helper-links a{
    color:var(--admin-forest);
    font-weight:700;
    text-decoration:none;
}

.admin-security-note{
    margin-top:20px;
    padding:11px 13px;
    border:1px solid var(--admin-line);
    border-radius:12px;
    color:var(--admin-muted);
    background:#F7FAF7;
    font-size:.8rem;
    line-height:1.55;
}


/* ==========================================================
   5. ADMIN RESET CARD
========================================================== */

.admin-reset-card{
    width:min(680px,100%);
    overflow:hidden;
    border:1px solid rgba(27,94,32,.08);
    border-radius:var(--admin-radius-lg);
    background:var(--admin-surface);
    box-shadow:var(--admin-shadow-lg);
}

.admin-reset-head{
    position:relative;
    overflow:hidden;
    padding:38px 34px;
    color:#FFFFFF;
    background:
        linear-gradient(
            145deg,
            var(--admin-dark-green),
            var(--admin-green)
        );
    text-align:center;
}

.admin-reset-head::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-70px;
    top:-75px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.admin-reset-head > *{
    position:relative;
    z-index:1;
}

.admin-reset-icon{
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border-radius:20px;
    color:var(--admin-forest);
    background:var(--admin-gold-soft);
    font-size:1.7rem;
}

.admin-reset-head h1{
    margin:0 0 10px;
    color:#FFFFFF;
    font-family:"Merriweather",serif;
    font-size:1.9rem;
}

.admin-reset-head p{
    max-width:520px;
    margin:0 auto;
    color:rgba(255,255,255,.85);
    line-height:1.7;
}

.admin-reset-body{
    padding:38px 34px;
}

.admin-helper-box{
    margin-top:22px;
    padding:15px;
    border-left:4px solid var(--admin-gold);
    border-radius:0 12px 12px 0;
    color:#6F541C;
    background:#FFF8E8;
    font-size:.82rem;
    line-height:1.6;
}

.admin-back-link{
    display:block;
    margin-top:22px;
    color:var(--admin-forest);
    font-weight:700;
    text-align:center;
    text-decoration:none;
}


/* ==========================================================
   6. SHARED STATUS MESSAGES
========================================================== */

.admin-status,
.status-message{
    display:none;
    margin-top:16px;
    padding:12px 14px;
    border-radius:12px;
    font-size:.9rem;
    line-height:1.55;
}

.admin-status.show,
.status-message.show{
    display:block;
}

.admin-status.info,
.status-message.info{
    border:1px solid #CADCF0;
    color:var(--admin-info);
    background:var(--admin-info-soft);
}

.admin-status.success,
.status-message.success{
    border:1px solid #BFE3C9;
    color:var(--admin-success);
    background:var(--admin-success-soft);
}

.admin-status.error,
.status-message.error{
    border:1px solid #EFC4BF;
    color:var(--admin-danger);
    background:var(--admin-danger-soft);
}


/* ==========================================================
   7. ADMIN SIDEBAR
========================================================== */

.admin-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:1040;
    width:var(--admin-sidebar-width);
    display:flex;
    flex-direction:column;
    color:#FFFFFF;
    background:
        linear-gradient(
            180deg,
            var(--admin-dark-green) 0%,
            #1F6C27 100%
        );
    box-shadow:8px 0 30px rgba(27,94,32,.12);
    transition:transform var(--admin-transition);
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:22px 20px;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#FFFFFF;
    text-decoration:none;
}

.admin-brand img{
    width:48px;
    height:48px;
    object-fit:contain;
    padding:4px;
    border-radius:12px;
    background:#FFFFFF;
}

.admin-brand strong{
    display:block;
    color:#FFFFFF;
    font-family:"Merriweather",serif;
    font-size:1rem;
    line-height:1.25;
}

.admin-brand span{
    display:block;
    margin-top:2px;
    color:rgba(255,255,255,.72);
    font-size:.73rem;
}

.admin-sidebar-label{
    padding:20px 20px 8px;
    color:var(--admin-gold-soft);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.admin-side-nav{
    padding:0 12px;
}

.admin-side-link{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    margin:4px 0;
    padding:12px 14px;
    border:0;
    border-radius:12px;
    color:rgba(255,255,255,.84);
    background:transparent;
    font-weight:600;
    text-align:left;
    text-decoration:none;
}

.admin-side-link:hover,
.admin-side-link.active{
    color:#FFFFFF;
    background:rgba(255,255,255,.13);
    transform:translateX(2px);
}

.admin-side-link i{
    width:20px;
    text-align:center;
}

.admin-side-link .badge{
    margin-left:auto;
    color:var(--admin-forest);
    background:var(--admin-gold-soft);
}

.admin-side-link.disabled{
    pointer-events:none;
    opacity:.5;
}

.admin-sidebar-footer{
    margin-top:auto;
    padding:16px 12px 20px;
    border-top:1px solid rgba(255,255,255,.12);
}

.admin-mini-profile{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:12px;
    padding:10px;
    border-radius:12px;
    background:rgba(255,255,255,.08);
}

.admin-avatar{
    width:40px;
    height:40px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--admin-forest);
    background:var(--admin-gold-soft);
    font-weight:800;
}

.admin-mini-profile strong{
    display:block;
    color:#FFFFFF;
    font-size:.84rem;
}

.admin-mini-profile span{
    display:block;
    max-width:150px;
    overflow:hidden;
    color:rgba(255,255,255,.68);
    font-size:.68rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.admin-logout-btn{
    width:100%;
    padding:11px 14px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:12px;
    color:#FFFFFF;
    background:transparent;
    font-weight:700;
}

.admin-logout-btn:hover{
    background:rgba(255,255,255,.1);
}


/* ==========================================================
   8. ADMIN MAIN SHELL AND TOPBAR
========================================================== */

.admin-main-shell{
    min-height:100vh;
    margin-left:var(--admin-sidebar-width);
}

.admin-topbar{
    position:sticky;
    top:0;
    z-index:1030;
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 28px;
    border-bottom:1px solid var(--admin-line);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}

.admin-topbar h1{
    margin:0;
    color:var(--admin-forest);
    font-family:"Merriweather",serif;
    font-size:1.35rem;
}

.admin-topbar p{
    margin:3px 0 0;
    color:var(--admin-muted);
    font-size:.82rem;
}

.admin-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid var(--admin-line);
    border-radius:11px;
    color:var(--admin-forest);
    background:#FFFFFF;
}

.admin-main-content{
    padding:28px;
}

.admin-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:1035;
    background:rgba(0,0,0,.4);
}

.admin-backdrop.show{
    display:block;
}


/* ==========================================================
   9. DASHBOARD
========================================================== */

.admin-welcome-card{
    position:relative;
    overflow:hidden;
    margin-bottom:24px;
    padding:30px;
    border-radius:22px;
    color:#FFFFFF;
    background:
        linear-gradient(
            120deg,
            #195620,
            #2F8138
        );
    box-shadow:var(--admin-shadow);
}

.admin-welcome-card::after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    right:-80px;
    top:-90px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
}

.admin-welcome-card > *{
    position:relative;
    z-index:1;
}

.admin-eyebrow{
    color:var(--admin-gold-soft);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.admin-welcome-card h2{
    margin:8px 0 10px;
    color:#FFFFFF;
    font-family:"Merriweather",serif;
    font-size:clamp(1.6rem,3vw,2.3rem);
}

.admin-welcome-card p{
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.86);
    line-height:1.7;
}

.admin-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-bottom:24px;
}

.admin-stat-card{
    padding:22px;
    border:1px solid var(--admin-line);
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:var(--admin-shadow-sm);
}

.admin-stat-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:var(--admin-forest);
    background:var(--admin-success-soft);
    font-size:1.2rem;
}

.admin-stat-card.warning .admin-stat-icon{
    color:var(--admin-warning);
    background:var(--admin-warning-soft);
}

.admin-stat-card.info .admin-stat-icon{
    color:var(--admin-info);
    background:var(--admin-info-soft);
}

.admin-stat-card.gold .admin-stat-icon{
    color:#8D6509;
    background:#FBF3DF;
}

.admin-stat-value{
    margin-top:18px;
    color:var(--admin-forest);
    font-size:2rem;
    font-weight:800;
}

.admin-stat-label{
    color:var(--admin-muted);
    font-size:.84rem;
    font-weight:600;
}

.admin-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:20px;
}


/* ==========================================================
   10. SHARED ADMIN PANELS
========================================================== */

.admin-panel{
    overflow:hidden;
    border:1px solid var(--admin-line);
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:var(--admin-shadow-sm);
}

.admin-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:20px 22px;
    border-bottom:1px solid var(--admin-line);
}

.admin-panel-head h3{
    margin:0;
    color:var(--admin-forest);
    font-family:"Merriweather",serif;
    font-size:1.05rem;
}

.admin-panel-body{
    padding:22px;
}

.admin-empty-state{
    padding:30px 16px;
    color:var(--admin-muted);
    text-align:center;
}

.admin-empty-state i{
    margin-bottom:12px;
    color:#A7B5AA;
    font-size:2rem;
}

.admin-quick-actions{
    display:grid;
    gap:12px;
}

.admin-action-card{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    border:1px solid var(--admin-line);
    border-radius:14px;
    color:var(--admin-ink);
    background:#FBFDFB;
    text-decoration:none;
}

.admin-action-card:hover{
    color:var(--admin-ink);
    border-color:#B8D3BC;
    box-shadow:0 8px 20px rgba(27,94,32,.08);
    transform:translateY(-2px);
}

.admin-action-card.disabled{
    pointer-events:none;
    cursor:not-allowed;
    opacity:.62;
}

.admin-action-icon{
    width:42px;
    height:42px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:var(--admin-forest);
    background:var(--admin-success-soft);
}

.admin-action-card strong{
    display:block;
    font-size:.9rem;
}

.admin-action-card small{
    display:block;
    margin-top:2px;
    color:var(--admin-muted);
    font-size:.72rem;
}

.admin-system-note{
    margin-top:18px;
    padding:15px;
    border-left:4px solid var(--admin-gold);
    border-radius:0 12px 12px 0;
    color:#6F541C;
    background:#FFF8E8;
    font-size:.82rem;
    line-height:1.6;
}


/* ==========================================================
   11. RECENT ACTIVITY
========================================================== */

.admin-recent-list{
    display:grid;
    gap:12px;
}

.admin-recent-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px;
    border:1px solid var(--admin-line);
    border-radius:13px;
    background:#FBFDFB;
}

.admin-recent-item strong{
    display:block;
    color:var(--admin-forest);
    font-size:.9rem;
}

.admin-recent-item small{
    display:block;
    margin-top:3px;
    color:var(--admin-muted);
    font-size:.74rem;
}

.admin-recent-status{
    flex:0 0 auto;
    padding:6px 10px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:800;
    text-transform:capitalize;
}

.admin-recent-status.pending{
    color:var(--admin-warning);
    background:var(--admin-warning-soft);
}

.admin-recent-status.approved{
    color:var(--admin-success);
    background:var(--admin-success-soft);
}

.admin-recent-status.rejected{
    color:var(--admin-danger);
    background:var(--admin-danger-soft);
}


/* ==========================================================
   12. REGISTRATION APPLICATIONS PAGE
========================================================== */

.admin-page-head{
    margin-bottom:22px;
    padding:26px;
    border-radius:20px;
    color:#FFFFFF;
    background:
        linear-gradient(
            120deg,
            #195620,
            #2F8138
        );
    box-shadow:0 14px 36px rgba(27,94,32,.15);
}

.admin-page-head h2{
    margin:6px 0 8px;
    color:#FFFFFF;
    font-family:"Merriweather",serif;
    font-size:1.8rem;
}

.admin-page-head p{
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.84);
    line-height:1.65;
}

.admin-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-bottom:20px;
}

.admin-summary-card{
    padding:20px;
    border:1px solid var(--admin-line);
    border-radius:17px;
    background:#FFFFFF;
    box-shadow:var(--admin-shadow-sm);
}

.admin-summary-value{
    color:var(--admin-forest);
    font-size:1.9rem;
    font-weight:800;
}

.admin-summary-label{
    color:var(--admin-muted);
    font-size:.82rem;
    font-weight:600;
}

.admin-filters{
    display:grid;
    grid-template-columns:
        minmax(220px,1.2fr)
        minmax(180px,.6fr)
        minmax(220px,.8fr)
        auto;
    gap:12px;
    margin-bottom:18px;
    padding:18px;
    border:1px solid var(--admin-line);
    border-radius:17px;
    background:#FFFFFF;
}

.admin-refresh-btn{
    padding:10px 16px;
    border:0;
    border-radius:11px;
    color:#FFFFFF;
    background:var(--admin-green);
    font-weight:700;
}

.admin-table-wrap{
    overflow:auto;
}

.admin-table{
    width:100%;
    min-width:980px;
    border-collapse:collapse;
}

.admin-table th,
.admin-table td{
    padding:14px 16px;
    border-bottom:1px solid var(--admin-line);
    text-align:left;
    vertical-align:middle;
}

.admin-table th{
    color:#4D5C52;
    background:#F7FAF7;
    font-size:.75rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.admin-table td{
    font-size:.86rem;
}

.admin-table tbody tr:hover{
    background:#FBFDFB;
}

.admin-applicant-name{
    color:var(--admin-forest);
    font-weight:700;
}

.admin-muted{
    color:var(--admin-muted);
    font-size:.77rem;
}

.admin-status-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    font-size:.74rem;
    font-weight:800;
    text-transform:capitalize;
}

.admin-status-badge.pending{
    color:var(--admin-warning);
    background:var(--admin-warning-soft);
}

.admin-status-badge.approved{
    color:var(--admin-success);
    background:var(--admin-success-soft);
}

.admin-status-badge.rejected{
    color:var(--admin-danger);
    background:var(--admin-danger-soft);
}

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

.admin-action-btn{
    padding:7px 10px;
    border:1px solid var(--admin-line);
    border-radius:9px;
    background:#FFFFFF;
    font-size:.78rem;
    font-weight:700;
}

.admin-action-btn.view{
    color:var(--admin-info);
    border-color:#C9DBEA;
}

.admin-action-btn.approve{
    color:var(--admin-success);
    border-color:#BDD8C1;
}

.admin-action-btn.reject{
    color:var(--admin-danger);
    border-color:#E8C3BF;
}

.admin-action-btn:disabled{
    cursor:not-allowed;
    opacity:.5;
}

.admin-load-more{
    display:none;
    padding:16px;
    border-top:1px solid var(--admin-line);
    text-align:center;
}

.admin-load-more.show{
    display:block;
}


/* ==========================================================
   13. APPLICATION DETAILS MODAL
========================================================== */

.admin-modal-header{
    color:#FFFFFF;
    background:
        linear-gradient(
            120deg,
            #195620,
            #2F8138
        );
}

.admin-modal-header .btn-close{
    filter:invert(1);
}

.admin-detail-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.admin-detail-item{
    padding:13px;
    border:1px solid var(--admin-line);
    border-radius:12px;
    background:#FAFCFA;
}

.admin-detail-item.full{
    grid-column:1 / -1;
}

.admin-detail-label{
    margin-bottom:4px;
    color:var(--admin-muted);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.admin-detail-value{
    white-space:pre-wrap;
    word-break:break-word;
    font-size:.9rem;
}


/* ==========================================================
   14. ADMIN FOOTER
========================================================== */

.admin-auth-footer{
    padding:18px;
    color:#6D766F;
    font-size:.78rem;
    text-align:center;
}


/* ==========================================================
   15. RESPONSIVE ADMIN LAYOUT
========================================================== */

@media(max-width:1100px){
    .admin-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:1000px){
    .admin-filters{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:900px){
    .admin-sidebar{
        transform:translateX(-105%);
    }

    .admin-sidebar.open{
        transform:none;
    }

    .admin-main-shell{
        margin-left:0;
    }

    .admin-menu-toggle{
        display:grid;
        place-items:center;
    }

    .admin-dashboard-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:820px){
    .admin-auth-shell{
        grid-template-columns:1fr;
    }

    .admin-auth-info,
    .admin-auth-panel{
        padding:38px 26px;
    }

    .admin-auth-wrap{
        padding-top:96px;
    }
}

@media(max-width:700px){
    .admin-summary-grid,
    .admin-filters,
    .admin-detail-list{
        grid-template-columns:1fr;
    }

    .admin-topbar,
    .admin-main-content{
        padding-left:16px;
        padding-right:16px;
    }

    .admin-page-head{
        padding:22px;
    }
}

@media(max-width:620px){
    .admin-stats-grid{
        grid-template-columns:1fr;
    }

    .admin-welcome-card{
        padding:24px 20px;
    }
}

@media(max-width:600px){
    .admin-reset-head,
    .admin-reset-body{
        padding-left:22px;
        padding-right:22px;
    }
}

/* ==========================================================
   16. VERSION 1.1 — DASHBOARD AND LEARNER ONBOARDING
========================================================== */

.admin-stat-top,
.stat-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.admin-main-content > .status-message{
    margin-top:0;
    margin-bottom:20px;
}

.admin-page .form-control[readonly],
.admin-page .form-select[disabled]{
    color:#4D5C52;
    background:#F6F8F6;
    cursor:not-allowed;
}

.admin-system-note code{
    padding:2px 6px;
    border-radius:6px;
    color:var(--admin-forest);
    background:rgba(255,255,255,.68);
    font-size:.78rem;
}

.admin-action-btn.create,
.admin-action-btn[data-action="create-learner"]{
    color:#6C4C00;
    border-color:#E1C36D;
    background:#FFF9E8;
}

.admin-action-btn.create:hover,
.admin-action-btn[data-action="create-learner"]:hover{
    color:#FFFFFF;
    border-color:var(--admin-warning);
    background:var(--admin-warning);
}

.admin-action-btn.create:disabled,
.admin-action-btn[data-action="create-learner"]:disabled{
    color:var(--admin-muted);
    border-color:var(--admin-line);
    background:#F5F6F5;
}

.admin-panel .form-shell{
    max-width:none;
}

.admin-panel .form-actions{
    margin-top:10px;
}

.admin-detail-value a{
    color:var(--admin-forest);
    font-weight:700;
    text-decoration:none;
}

.admin-detail-value a:hover{
    text-decoration:underline;
}

.admin-modal-header + .modal-body{
    padding:22px;
}

.modal-footer #createLearnerBtn{
    border-color:var(--admin-green);
    background:var(--admin-green);
}

.modal-footer #createLearnerBtn:hover{
    border-color:var(--admin-forest);
    background:var(--admin-forest);
}

@media(max-width:700px){
    .admin-recent-item{
        align-items:flex-start;
        flex-direction:column;
    }

    .admin-recent-status{
        align-self:flex-start;
    }

    .admin-actions{
        min-width:190px;
    }
}

