/* =========================================================
   AXSIKENT IT — COMMAND CENTER
   ADMIN DESIGN SYSTEM
========================================================= */

:root {
    --bg-main: #070908;
    --bg-secondary: #0b0e0d;
    --bg-panel: #101412;
    --bg-panel-2: #141917;
    --bg-hover: #181e1b;

    --border: rgba(255, 255, 255, 0.075);
    --border-strong: rgba(255, 255, 255, 0.12);

    --text-main: #f2f5f3;
    --text-secondary: #a2aaa6;
    --text-muted: #69716d;

    --accent: #39e58c;
    --accent-strong: #20c975;
    --accent-soft: rgba(57, 229, 140, 0.10);
    --accent-glow: rgba(57, 229, 140, 0.20);

    --danger: #ff5f6d;
    --warning: #ffbd5a;
    --info: #6ca8ff;

    --sidebar-width: 270px;
    --topbar-height: 86px;

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 22px;

    --shadow:
        0 20px 60px rgba(0, 0, 0, 0.30);

    --transition:
        180ms cubic-bezier(.2,.8,.2,1);
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(57, 229, 140, 0.035),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(57, 229, 140, 0.025),
            transparent 30%
        ),
        var(--bg-main);

    color: var(--text-main);

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

    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    border: 0;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}


/* =========================================================
   SCROLLBAR
========================================================= */

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #252c28;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #37423c;
}


/* =========================================================
   MAIN APP
========================================================= */

.admin-app {
    min-height: 100vh;
    display: flex;
}


/* =========================================================
   SIDEBAR
========================================================= */

.sidebar {
    position: fixed;
    z-index: 1000;

    top: 0;
    left: 0;

    width: var(--sidebar-width);
    height: 100vh;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            180deg,
            rgba(18, 22, 20, 0.98),
            rgba(8, 10, 9, 0.99)
        );

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

    box-shadow:
        20px 0 70px rgba(0, 0, 0, 0.16);

    overflow: hidden;
}


/* =========================================================
   BRAND
========================================================= */

.brand {
    height: var(--topbar-height);

    display: flex;
    align-items: center;

    gap: 13px;

    padding: 0 22px;

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

.brand-mark {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            var(--accent),
            #1ab56b
        );

    color: #04150c;

    font-size: 13px;
    font-weight: 900;
    letter-spacing: -0.5px;

    box-shadow:
        0 0 0 1px rgba(57, 229, 140, 0.15),
        0 8px 28px rgba(57, 229, 140, 0.13);
}

.brand-info {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.brand-info strong {
    font-size: 14px;
    font-weight: 850;
    letter-spacing: 1.8px;
}

.brand-info small {
    margin-top: 2px;

    color: var(--text-muted);

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.45px;
}


/* =========================================================
   SIDEBAR NAV
========================================================= */

.sidebar-nav {
    flex: 1;

    padding: 18px 12px 16px;

    overflow-y: auto;
}

.nav-section {
    margin-bottom: 19px;
}

.nav-section-title {
    display: block;

    padding: 0 11px 8px;

    color: #4f5954;

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

    letter-spacing: 1.5px;
}

.nav-item {
    position: relative;

    width: 100%;
    min-height: 43px;

    display: flex;
    align-items: center;

    gap: 11px;

    margin: 3px 0;
    padding: 0 11px;

    border-radius: 11px;

    background: transparent;

    color: var(--text-secondary);

    text-align: left;

    font-size: 12px;
    font-weight: 600;

    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);
}

.nav-item:hover {
    background: rgba(255, 255, 255, 0.045);
    color: #e9efec;
    transform: translateX(2px);
}

.nav-item.active {
    color: var(--accent);

    background:
        linear-gradient(
            90deg,
            rgba(57, 229, 140, 0.12),
            rgba(57, 229, 140, 0.035)
        );

    box-shadow:
        inset 0 0 0 1px rgba(57, 229, 140, 0.07);
}

.nav-item.active::before {
    content: "";

    position: absolute;

    left: 0;
    top: 9px;
    bottom: 9px;

    width: 2px;

    border-radius: 5px;

    background: var(--accent);

    box-shadow:
        0 0 12px var(--accent-glow);
}

.nav-icon {
    width: 21px;

    display: inline-flex;
    justify-content: center;

    color: #6f7974;

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

    transition: color var(--transition);
}

.nav-item:hover .nav-icon,
.nav-item.active .nav-icon {
    color: var(--accent);
}

.nav-badge {
    min-width: 19px;
    height: 19px;

    display: inline-grid;
    place-items: center;

    margin-left: auto;

    padding: 0 5px;

    border-radius: 999px;

    background: rgba(255, 95, 109, 0.12);
    color: #ff7d88;

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


/* =========================================================
   SIDEBAR FOOTER
========================================================= */

.sidebar-footer {
    padding: 13px;

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

.admin-profile {
    min-height: 57px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 9px;

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

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.025);
}

.admin-avatar {
    width: 34px;
    height: 34px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #202923,
            #121714
        );

    border: 1px solid rgba(57, 229, 140, 0.14);

    color: var(--accent);

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

.admin-profile-info {
    min-width: 0;

    flex: 1;

    display: flex;
    flex-direction: column;
}

.admin-profile-info strong {
    overflow: hidden;

    color: #e8edea;

    font-size: 10px;
    font-weight: 750;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-profile-info span {
    margin-top: 2px;

    color: var(--text-muted);

    font-size: 8px;
}

.logout-btn {
    width: 31px;
    height: 31px;

    display: grid;
    place-items: center;

    border-radius: 9px;

    background: transparent;

    color: #68716d;

    font-size: 16px;

    transition:
        background var(--transition),
        color var(--transition);
}

.logout-btn:hover {
    background: rgba(255, 95, 109, 0.09);
    color: var(--danger);
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.main-content {
    width: calc(100% - var(--sidebar-width));

    min-height: 100vh;

    margin-left: var(--sidebar-width);
}


/* =========================================================
   TOPBAR
========================================================= */

.topbar {
    position: sticky;
    z-index: 900;

    top: 0;

    height: var(--topbar-height);

    display: flex;
    align-items: center;

    padding: 0 32px;

    background:
        rgba(7, 9, 8, 0.78);

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

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.page-heading {
    flex: 1;
}

.breadcrumb {
    display: flex;
    align-items: center;

    gap: 8px;

    color: var(--text-muted);

    font-size: 9px;
    font-weight: 600;
}

.breadcrumb span {
    color: #46504b;
}

#breadcrumbCurrent {
    color: #7d8782;
}

.page-heading h1 {
    margin-top: 4px;

    color: #f1f5f2;

    font-size: 20px;
    font-weight: 750;

    letter-spacing: -0.5px;
}

.topbar-actions {
    display: flex;
    align-items: center;

    gap: 8px;
}

.topbar-icon-btn {
    position: relative;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

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

    border-radius: 11px;

    background:
        rgba(255, 255, 255, 0.025);

    color: #8d9792;

    font-size: 17px;

    transition:
        background var(--transition),
        color var(--transition),
        border-color var(--transition),
        transform var(--transition);
}

.topbar-icon-btn:hover {
    background: rgba(255, 255, 255, 0.06);

    color: var(--accent);

    border-color:
        rgba(57, 229, 140, 0.18);

    transform: translateY(-1px);
}

.notification-dot {
    position: absolute;

    top: 8px;
    right: 8px;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--accent);

    box-shadow:
        0 0 8px var(--accent-glow);
}

.mobile-menu-btn {
    display: none;
}


/* =========================================================
   CONTENT AREA
========================================================= */

.content-area {
    max-width: 1600px;

    margin: 0 auto;

    padding: 32px;
}


/* =========================================================
   PAGE SECTIONS
========================================================= */

.page-section {
    display: none;

    animation:
        pageEnter 320ms ease both;

    scroll-margin-top: calc(var(--topbar-height) + 10px);
}

.page-section.active {
    display: block;
}

@keyframes pageEnter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   SECTION INTRO
========================================================= */

.section-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 28px;
}

.eyebrow,
.panel-eyebrow {
    display: block;

    color: var(--accent);

    font-size: 8px;
    font-weight: 850;

    letter-spacing: 1.8px;
}

.section-intro h2 {
    margin-top: 7px;

    font-size: 28px;
    font-weight: 780;

    letter-spacing: -1px;
}

.section-intro p {
    margin-top: 6px;

    color: var(--text-secondary);

    font-size: 12px;
}

.system-status {
    display: flex;
    align-items: center;

    gap: 8px;

    padding: 9px 13px;

    border: 1px solid rgba(57, 229, 140, 0.12);

    border-radius: 999px;

    background:
        rgba(57, 229, 140, 0.045);

    color: #9bb4a6;

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

.status-pulse {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--accent);

    box-shadow:
        0 0 0 4px rgba(57, 229, 140, 0.07),
        0 0 14px rgba(57, 229, 140, 0.3);

    animation:
        pulse 2s infinite;
}

@keyframes pulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.55;
    }
}


/* =========================================================
   STAT GRID
========================================================= */

.stats-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin-bottom: 14px;
}

.stat-card {
    position: relative;

    min-height: 150px;

    padding: 20px;

    overflow: hidden;

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

    border-radius: var(--radius-md);

    background:
        linear-gradient(
            145deg,
            rgba(20, 25, 22, 0.98),
            rgba(12, 15, 13, 0.98)
        );

    box-shadow: var(--shadow);

    transition:
        transform var(--transition),
        border-color var(--transition);
}

.stat-card::after {
    content: "";

    position: absolute;

    width: 130px;
    height: 130px;

    right: -65px;
    bottom: -70px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(57, 229, 140, 0.08),
            transparent 70%
        );

    pointer-events: none;
}

.stat-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(255, 255, 255, 0.12);
}

.stat-card.accent-card {
    border-color:
        rgba(57, 229, 140, 0.13);

    background:
        linear-gradient(
            145deg,
            rgba(20, 34, 27, 0.98),
            rgba(11, 17, 14, 0.98)
        );
}

.stat-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.stat-label {
    color: var(--text-muted);

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

    letter-spacing: 1.3px;
}

.stat-icon {
    width: 30px;
    height: 30px;

    display: grid;
    place-items: center;

    border-radius: 9px;

    background:
        rgba(57, 229, 140, 0.07);

    color: var(--accent);

    font-size: 15px;
}

.stat-value {
    display: block;

    margin-top: 22px;

    color: #f5f8f6;

    font-size: 31px;
    font-weight: 780;

    line-height: 1;

    letter-spacing: -1.3px;
}

.stat-meta {
    display: block;

    margin-top: 8px;

    color: var(--text-muted);

    font-size: 9px;
}


/* =========================================================
   DASHBOARD GRID
========================================================= */

.dashboard-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(320px, .8fr);

    gap: 14px;

    margin-bottom: 14px;
}


/* =========================================================
   PANEL CARD
========================================================= */

.panel-card {
    min-width: 0;

    padding: 21px;

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

    border-radius: var(--radius-md);

    background:
        linear-gradient(
            145deg,
            rgba(17, 21, 19, 0.98),
            rgba(10, 13, 11, 0.98)
        );

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

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

    gap: 20px;

    margin-bottom: 20px;
}

.panel-header h3 {
    margin-top: 5px;

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

    letter-spacing: -0.25px;
}

.panel-link {
    background: transparent;

    color: var(--accent);

    font-size: 9px;
    font-weight: 750;

    white-space: nowrap;

    transition:
        opacity var(--transition),
        transform var(--transition);
}

.panel-link:hover {
    opacity: 0.75;
    transform: translateX(2px);
}


/* =========================================================
   REWARD OVERVIEW
========================================================= */

.reward-overview {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;
}

.overview-item {
    min-height: 92px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 15px;

    border: 1px solid rgba(255, 255, 255, 0.055);

    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.018);
}

.overview-value {
    color: #edf3ef;

    font-size: 23px;
    font-weight: 760;

    letter-spacing: -0.7px;
}

.overview-item > span:last-child {
    margin-top: 4px;

    color: var(--text-muted);

    font-size: 9px;
}


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

.quick-actions {
    display: grid;

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

    gap: 8px;
}

.quick-action {
    min-height: 61px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 9px 10px;

    border: 1px solid rgba(255, 255, 255, 0.055);

    border-radius: 12px;

    background:
        rgba(255, 255, 255, 0.018);

    color: var(--text-main);

    text-align: left;

    transition:
        transform var(--transition),
        background var(--transition),
        border-color var(--transition);
}

.quick-action:hover {
    transform: translateY(-2px);

    background:
        rgba(57, 229, 140, 0.045);

    border-color:
        rgba(57, 229, 140, 0.12);
}

.quick-icon {
    width: 33px;
    height: 33px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border-radius: 10px;

    background:
        rgba(57, 229, 140, 0.07);

    color: var(--accent);

    font-size: 14px;
}

.quick-action > span:nth-child(2) {
    min-width: 0;

    display: flex;
    flex-direction: column;

    color: #dfe7e2;

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

.quick-action small {
    margin-top: 2px;

    color: var(--text-muted);

    font-size: 8px;
    font-weight: 500;
}

.quick-action b {
    margin-left: auto;

    color: #56615b;

    font-size: 13px;

    transition:
        color var(--transition),
        transform var(--transition);
}

.quick-action:hover b {
    color: var(--accent);
    transform: translateX(2px);
}


/* =========================================================
   SYSTEM PANEL
========================================================= */

.system-panel {
    margin-bottom: 20px;
}

.system-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 9px;
}

.system-item {
    padding: 13px;

    border: 1px solid rgba(255, 255, 255, 0.045);

    border-radius: 11px;

    background:
        rgba(255, 255, 255, 0.015);
}

.system-item span {
    display: block;

    color: var(--text-muted);

    font-size: 8px;
    font-weight: 650;
}

.system-item strong {
    display: block;

    margin-top: 4px;

    color: #b9c3bd;

    font-size: 9px;
    font-weight: 650;
}


/* =========================================================
   EMPTY MODULE
========================================================= */

.empty-module {
    min-height: 460px;

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

    padding: 40px;

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

    border-radius: var(--radius-lg);

    background:
        radial-gradient(
            circle at center,
            rgba(57, 229, 140, 0.045),
            transparent 40%
        ),
        var(--bg-panel);

    text-align: center;
}

.empty-module > span {
    width: 68px;
    height: 68px;

    display: grid;
    place-items: center;

    margin-bottom: 20px;

    border: 1px solid rgba(57, 229, 140, 0.12);

    border-radius: 20px;

    background:
        rgba(57, 229, 140, 0.05);

    color: var(--accent);

    font-size: 27px;

    box-shadow:
        0 0 40px rgba(57, 229, 140, 0.06);
}

.empty-module h2 {
    font-size: 22px;
    font-weight: 750;
}

.empty-module p {
    max-width: 400px;

    margin-top: 8px;

    color: var(--text-muted);

    font-size: 11px;
}


/* =========================================================
   TOAST
========================================================= */

.toast-container {
    position: fixed;

    z-index: 5000;

    right: 22px;
    bottom: 22px;

    display: flex;
    flex-direction: column;

    gap: 8px;

    pointer-events: none;
}

.toast {
    min-width: 270px;

    padding: 13px 15px;

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

    border-radius: 13px;

    background:
        rgba(16, 20, 18, 0.96);

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.4);

    color: #dce5df;

    font-size: 10px;
    font-weight: 600;

    backdrop-filter: blur(18px);

    animation:
        toastIn 250ms ease both;
}

@keyframes toastIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   SELECTION
========================================================= */

::selection {
    background: rgba(57, 229, 140, 0.20);
    color: white;
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1100px) {

    :root {
        --sidebar-width: 230px;
    }

    .content-area {
        padding: 25px;
    }

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

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

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


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 760px) {

    :root {
        --topbar-height: 70px;
    }

    .sidebar {
        width: 270px;

        transform:
            translateX(-100%);

        transition:
            transform 260ms cubic-bezier(.2,.8,.2,1);

        box-shadow:
            25px 0 80px rgba(0, 0, 0, 0.55);
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .main-content {
        width: 100%;

        margin-left: 0;
    }

    .topbar {
        padding: 0 16px;
    }

    .mobile-menu-btn {
        width: 37px;
        height: 37px;

        display: grid;
        place-items: center;

        margin-right: 11px;

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

        border-radius: 10px;

        background:
            rgba(255, 255, 255, 0.025);

        color: #a0aaa4;

        font-size: 17px;
    }

    .page-heading h1 {
        font-size: 17px;
    }

    .breadcrumb {
        display: none;
    }

    .topbar-icon-btn {
        width: 35px;
        height: 35px;
    }

    .content-area {
        padding: 20px 15px 30px;
    }

    .section-intro {
        align-items: flex-start;
        flex-direction: column;

        margin-bottom: 20px;
    }

    .section-intro h2 {
        font-size: 23px;
    }

    .system-status {
        align-self: flex-start;
    }

    .stats-grid {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .stat-card {
        min-height: 130px;
    }

    .stat-value {
        margin-top: 17px;

        font-size: 28px;
    }

    .dashboard-grid {
        gap: 10px;
    }

    .panel-card {
        padding: 17px;
    }

    .reward-overview {
        grid-template-columns: 1fr;
    }

    .overview-item {
        min-height: 70px;
    }

    .quick-actions {
        grid-template-columns: 1fr;
    }

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

    .empty-module {
        min-height: 380px;
    }

    .toast-container {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .toast {
        min-width: 0;
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media (max-width: 390px) {

    .brand {
        padding: 0 17px;
    }

    .content-area {
        padding-left: 12px;
        padding-right: 12px;
    }

    .section-intro h2 {
        font-size: 21px;
    }

    .stat-card {
        padding: 17px;
    }

    .panel-card {
        padding: 15px;
    }
}

/* =========================================================
   AXSIKENT IT — ADMIN LOGIN
   PREMIUM COMMAND CENTER AUTH
========================================================= */

.admin-login-page {
    min-height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(57, 229, 140, 0.08),
            transparent 32%
        ),
        radial-gradient(
            circle at 80% 80%,
            rgba(100, 70, 180, 0.08),
            transparent 32%
        ),
        #070908;
    padding: 30px 18px;
}


/* BACKGROUND GLOW */

.admin-login-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    opacity: 0.18;
}

.glow-one {
    top: -180px;
    left: -150px;
    background: #39e58c;
}

.glow-two {
    right: -180px;
    bottom: -180px;
    background: #7657d9;
}


/* LOGIN CARD */

.admin-login-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 470px;
    padding: 42px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 26px;
    background:
        linear-gradient(
            145deg,
            rgba(20, 24, 22, 0.96),
            rgba(10, 12, 11, 0.98)
        );
    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(22px);
    animation: loginCardIn 0.7s ease both;
}


@keyframes loginCardIn {

    from {
        opacity: 0;
        transform: translateY(24px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* BRAND */

.login-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 48px;
}

.login-brand .brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            145deg,
            #39e58c,
            #1ca866
        );
    box-shadow:
        0 10px 30px rgba(57, 229, 140, 0.18);
}

.login-brand .brand-mark span {
    color: #06100a;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -0.5px;
}

.login-brand .brand-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.login-brand .brand-info strong {
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 1.5px;
}

.login-brand .brand-info small {
    color: #78817c;
    font-size: 8px;
    letter-spacing: 1.8px;
}


/* HEADING */

.login-heading {
    margin-bottom: 32px;
}

.login-heading .eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #39e58c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.login-heading h1 {
    margin: 0;
    color: #ffffff;
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.login-heading h1 span {
    color: #39e58c;
}

.login-heading p {
    max-width: 390px;
    margin: 16px 0 0;
    color: #7f8984;
    font-size: 13px;
    line-height: 1.7;
}


/* FORM */

.login-field {
    margin-bottom: 20px;
}

.login-field label {
    display: block;
    margin-bottom: 9px;
    color: #b7c0bb;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
}


.login-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}


.input-icon {
    position: absolute;
    left: 16px;
    z-index: 2;
    color: #5e6963;
    font-size: 15px;
    pointer-events: none;
}


.login-input-wrap input {
    width: 100%;
    height: 54px;
    padding: 0 48px 0 46px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    outline: none;
    background: rgba(255, 255, 255, 0.035);
    color: #ffffff;
    font-size: 14px;
    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
    box-sizing: border-box;
}


.login-input-wrap input::placeholder {
    color: #4f5954;
}


.login-input-wrap input:focus {
    border-color: rgba(57, 229, 140, 0.65);
    background: rgba(57, 229, 140, 0.035);
    box-shadow:
        0 0 0 4px rgba(57, 229, 140, 0.06);
}


.password-toggle {
    position: absolute;
    right: 8px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #69736e;
    cursor: pointer;
    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.password-toggle:hover {
    color: #39e58c;
    background: rgba(57, 229, 140, 0.07);
}


/* ERROR */

.login-error {
    display: none;
    margin: 4px 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 80, 80, 0.2);
    border-radius: 12px;
    background: rgba(255, 60, 60, 0.06);
    color: #ff8d8d;
    font-size: 12px;
    line-height: 1.5;
}

.login-error.show {
    display: block;
    animation: errorIn 0.25s ease;
}


@keyframes errorIn {

    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* LOGIN BUTTON */

.login-submit {
    position: relative;
    width: 100%;
    height: 56px;
    margin-top: 4px;
    border: 0;
    border-radius: 15px;
    cursor: pointer;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #39e58c,
            #22bb70
        );
    color: #06100a;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.2px;
    box-shadow:
        0 15px 35px rgba(57, 229, 140, 0.14);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
}


.login-submit:hover {
    transform: translateY(-2px);
    box-shadow:
        0 20px 45px rgba(57, 229, 140, 0.22);
    filter: brightness(1.04);
}


.login-submit:active {
    transform: translateY(0);
}


.login-submit:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}


.login-submit-arrow {
    position: absolute;
    right: 19px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    transition: transform 0.2s ease;
}


.login-submit:hover .login-submit-arrow {
    transform:
        translate(4px, -50%);
}


.login-submit-loader {
    display: none;
}


.login-submit.loading .login-submit-text {
    display: none;
}

.login-submit.loading .login-submit-loader {
    display: inline;
}

.login-submit.loading .login-submit-arrow {
    display: none;
}


/* SUCCESS */

.login-submit.success {
    background: #39e58c;
}


/* SECURITY */

.login-security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 25px;
    color: #59635e;
    font-size: 10px;
    letter-spacing: 0.4px;
}

.security-icon {
    color: #39e58c;
    font-size: 9px;
}


/* FOOTER */

.login-footer {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.055);
    text-align: center;
    color: #3f4743;
    font-size: 10px;
}


/* MOBILE */

@media (max-width: 520px) {

    .admin-login-page {
        padding: 18px;
    }

    .admin-login-card {
        padding: 30px 22px;
        border-radius: 22px;
    }

    .login-brand {
        margin-bottom: 38px;
    }

    .login-heading h1 {
        font-size: 32px;
    }

    .login-heading p {
        font-size: 12px;
    }

    .login-input-wrap input {
        height: 52px;
    }

    .login-submit {
        height: 54px;
    }
}


@media (max-width: 360px) {

    .admin-login-card {
        padding: 25px 18px;
    }

    .login-heading h1 {
        font-size: 29px;
    }
}

/* ============================================================
   STUDENTS MODULE
   ============================================================ */

.module-loading,
.module-error,
.module-empty {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px;
}

.module-loading {
    color: #a8b3ad;
}

.module-spinner {
    width: 34px;
    height: 34px;
    border: 3px solid rgba(255,255,255,.08);
    border-top-color: #35e0a1;
    border-radius: 50%;
    animation: adminSpin .8s linear infinite;
    margin-bottom: 15px;
}

@keyframes adminSpin {
    to {
        transform: rotate(360deg);
    }
}

.module-error-icon,
.module-empty-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 24px;
    margin-bottom: 16px;
}

.module-error-icon {
    color: #ff7777;
    background: rgba(255,70,70,.08);
    border: 1px solid rgba(255,70,70,.18);
}

.module-empty-icon {
    color: #35e0a1;
    background: rgba(53,224,161,.08);
    border: 1px solid rgba(53,224,161,.15);
}

.module-error h3,
.module-empty h3 {
    margin: 0 0 8px;
    color: #f2f6f4;
}

.module-error p,
.module-empty p {
    margin: 0;
    color: #7e8c86;
}

.module-retry {
    margin-top: 18px;
    padding: 11px 20px;
    border: 1px solid rgba(53,224,161,.25);
    border-radius: 10px;
    background: rgba(53,224,161,.08);
    color: #35e0a1;
    cursor: pointer;
}

.students-toolbar {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.students-search {
    flex: 1;
    height: 46px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
}

.students-search span {
    color: #68756f;
    font-size: 21px;
}

.students-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #eaf1ed;
    font-size: 14px;
}

.students-search input::placeholder {
    color: #65716c;
}

.students-filter select {
    height: 46px;
    min-width: 170px;
    padding: 0 13px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.08);
    outline: 0;
    background: #151a18;
    color: #dce5e1;
}

.students-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
}

.students-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.students-table th {
    padding: 15px 18px;
    text-align: left;
    font-size: 10px;
    letter-spacing: .12em;
    color: #66736d;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.students-table td {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255,255,255,.045);
    color: #dce5e1;
}

.students-table tbody tr {
    transition: background .2s ease;
}

.students-table tbody tr:hover {
    background: rgba(53,224,161,.025);
}

.student-identity {
    display: flex;
    align-items: center;
    gap: 12px;
}

.student-avatar,
.modal-avatar {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 13px;
    font-weight: 800;
    color: #07120e;
    background: linear-gradient(135deg,#35e0a1,#79f5c4);
}

.student-avatar {
    width: 42px;
    height: 42px;
    font-size: 12px;
}

.student-name {
    font-weight: 700;
    color: #edf4f1;
}

.student-role {
    margin-top: 3px;
    font-size: 11px;
    color: #68756f;
}

.student-phone,
.student-id {
    font-size: 13px;
    color: #aab6b0;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.status-badge > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.status-active {
    color: #52e5aa;
    background: rgba(53,224,161,.08);
    border: 1px solid rgba(53,224,161,.14);
}

.status-active > span {
    background: #35e0a1;
    box-shadow: 0 0 8px rgba(53,224,161,.7);
}

.status-inactive {
    color: #ff8b8b;
    background: rgba(255,90,90,.07);
    border: 1px solid rgba(255,90,90,.12);
}

.status-inactive > span {
    background: #ff7777;
}

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

.student-action-btn {
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
    color: #bfcac5;
    border-radius: 9px;
    padding: 8px 11px;
    cursor: pointer;
    font-size: 11px;
    transition: .2s ease;
}

.student-action-btn:hover {
    border-color: rgba(53,224,161,.3);
    color: #35e0a1;
}

.student-action-btn.danger:hover {
    color: #ff8585;
    border-color: rgba(255,90,90,.25);
}

.student-action-btn.success:hover {
    color: #35e0a1;
}

.students-footer {
    padding-top: 15px;
    color: #68756f;
    font-size: 12px;
}

.students-footer strong {
    color: #b9c5c0;
}

.table-empty {
    padding: 45px;
    text-align: center;
    color: #69756f;
}

/* Student modal */

.admin-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(12px);
    opacity: 0;
    transition: opacity .25s ease;
}

.admin-modal-overlay.show {
    opacity: 1;
}

.admin-modal {
    width: min(560px,100%);
    position: relative;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            rgba(25,31,28,.98),
            rgba(10,13,12,.99)
        );
    box-shadow:
        0 30px 90px rgba(0,0,0,.65),
        0 0 50px rgba(53,224,161,.04);
    transform: translateY(15px) scale(.98);
    transition: transform .25s ease;
}

.admin-modal-overlay.show .admin-modal {
    transform: translateY(0) scale(1);
}

.admin-modal-close {
    position: absolute;
    right: 17px;
    top: 15px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #89958f;
    font-size: 22px;
    cursor: pointer;
}

.admin-modal-close:hover {
    color: #fff;
    background: rgba(255,255,255,.09);
}

.modal-profile {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-right: 35px;
}

.modal-avatar {
    width: 62px;
    height: 62px;
    font-size: 17px;
}

.modal-eyebrow {
    color: #35e0a1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
    margin-bottom: 5px;
}

.modal-profile h2 {
    margin: 0 0 9px;
    color: #f3f7f5;
    font-size: 22px;
}

.modal-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 25px;
}

.modal-info-card {
    padding: 15px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 13px;
    background: rgba(255,255,255,.025);
}

.modal-info-card span {
    display: block;
    margin-bottom: 6px;
    color: #66736d;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.modal-info-card strong {
    color: #dce6e1;
    font-size: 14px;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 25px;
}

.modal-secondary-btn,
.modal-primary-btn {
    padding: 11px 17px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 700;
}

.modal-secondary-btn {
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
    color: #aab5b0;
}

.modal-primary-btn {
    border: 1px solid rgba(53,224,161,.25);
    background: rgba(53,224,161,.1);
    color: #45e5aa;
}

.modal-primary-btn:hover {
    background: rgba(53,224,161,.16);
}

@media (max-width: 700px) {
    .students-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .students-filter select {
        width: 100%;
    }

    .admin-modal {
        padding: 22px;
    }

    .modal-info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .mobile-menu-btn {
        display: grid !important;
        place-items: center;
        width: 42px;
        height: 42px;
        margin-right: 12px;
        flex-shrink: 0;
        border: 1px solid rgba(255,255,255,.10);
        border-radius: 12px;
        background: rgba(255,255,255,.04);
        color: #39e58c;
        font-size: 22px;
        cursor: pointer;
    }
}


/* =========================================================
   ADMINISTRATOR MANAGEMENT
========================================================= */

.administrator-layout {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(360px, 1.28fr);
    gap: 14px;
    margin-bottom: 20px;
}

.administrator-hero,
.administrator-form-panel {
    min-width: 0;
}

.administrator-hero {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    padding: 28px;
    border: 1px solid rgba(57, 229, 140, 0.10);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(57, 229, 140, 0.08),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            rgba(18, 23, 20, 0.98),
            rgba(8, 11, 9, 0.98)
        );
    box-shadow: var(--shadow);
}

.administrator-hero-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(57, 229, 140, 0.16);
    border-radius: 16px;
    background: rgba(57, 229, 140, 0.07);
    color: var(--accent);
    font-size: 25px;
    box-shadow: 0 0 35px rgba(57, 229, 140, 0.08);
}

.administrator-hero h3 {
    margin-top: 6px;
    font-size: 20px;
    letter-spacing: -0.5px;
}

.administrator-hero p {
    max-width: 620px;
    margin-top: 9px;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 1.7;
}

.administrator-form-panel {
    padding: 24px;
    border-color: rgba(255, 255, 255, 0.09);
}

.administrator-form {
    display: grid;
    gap: 14px;
}

.administrator-form label {
    display: grid;
    gap: 7px;
}

.administrator-form label > span {
    color: #b8c1bc;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.administrator-form input {
    width: 100%;
    min-height: 45px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 11px;
    outline: none;
    background: rgba(255, 255, 255, 0.025);
    color: var(--text-main);
    font: inherit;
    font-size: 11px;
    transition:
        border-color var(--transition),
        background var(--transition),
        box-shadow var(--transition);
}

.administrator-form input::placeholder {
    color: #59625d;
}

.administrator-form input:focus {
    border-color: rgba(57, 229, 140, 0.38);
    background: rgba(57, 229, 140, 0.025);
    box-shadow: 0 0 0 3px rgba(57, 229, 140, 0.06);
}

.administrator-submit {
    min-height: 46px;
    margin-top: 4px;
    border: 1px solid rgba(57, 229, 140, 0.18);
    border-radius: 11px;
    background:
        linear-gradient(
            135deg,
            rgba(57, 229, 140, 0.18),
            rgba(32, 201, 117, 0.08)
        );
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform var(--transition),
        border-color var(--transition),
        background var(--transition);
}

.administrator-submit:hover {
    transform: translateY(-1px);
    border-color: rgba(57, 229, 140, 0.34);
    background:
        linear-gradient(
            135deg,
            rgba(57, 229, 140, 0.23),
            rgba(32, 201, 117, 0.11)
        );
}

.administrator-submit:disabled {
    opacity: .55;
    cursor: wait;
    transform: none;
}

@media (max-width: 900px) {
    .administrator-layout {
        grid-template-columns: 1fr;
    }

    .administrator-hero {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .administrator-layout {
        gap: 10px;
    }

    .administrator-hero,
    .administrator-form-panel {
        padding: 18px;
    }

    .administrator-hero h3 {
        font-size: 17px;
    }
}


/* =========================================================
   LIVE MODULE TABLES
========================================================= */

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

.admin-data-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 14px;
}

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

.admin-data-table th {
    padding: 12px 13px;
    background: rgba(255,255,255,.018);
    color: var(--text-muted);
    font-size: 8px;
    font-weight: 750;
    text-align: left;
    letter-spacing: .45px;
}

.admin-data-table td {
    padding: 13px;
    border-top: 1px solid rgba(255,255,255,.045);
    color: #c8d0cb;
    font-size: 10px;
    vertical-align: middle;
}

.admin-data-table td strong,
.admin-data-table td small {
    display: block;
}

.admin-data-table td strong {
    color: #e5ebe7;
    font-weight: 700;
}

.admin-data-table td small {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 8px;
}

.module-action-btn {
    min-height: 29px;
    padding: 0 9px;
    margin: 2px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.025);
    color: #bfc8c2;
    font-size: 8px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--transition);
}

.module-action-btn:hover {
    border-color: rgba(57,229,140,.25);
    background: rgba(57,229,140,.06);
    color: var(--accent);
}

.module-action-btn.danger:hover {
    border-color: rgba(255,95,109,.25);
    background: rgba(255,95,109,.06);
    color: var(--danger);
}

.module-action-btn.success:hover {
    border-color: rgba(57,229,140,.25);
    color: var(--accent);
}

.module-status-select {
    min-height: 29px;
    padding: 0 7px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: #101412;
    color: #c8d0cb;
    font-size: 8px;
    outline: none;
}

.module-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    margin: 18px 0;
}

.module-detail-grid > div {
    padding: 13px;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 11px;
    background: rgba(255,255,255,.018);
}

.module-detail-grid small {
    display: block;
    color: var(--text-muted);
    font-size: 8px;
}

.module-detail-grid strong {
    display: block;
    margin-top: 5px;
    color: #e5ebe7;
    font-size: 11px;
}

.module-info-modal {
    max-width: 680px;
}

.module-info-body {
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.6;
}

.module-info-body > p {
    margin-top: 14px;
}

.module-detail-list {
    display: grid;
    gap: 7px;
}

.module-detail-list > div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.045);
    border-radius: 9px;
    background: rgba(255,255,255,.015);
}

.module-detail-list strong {
    color: #dce4df;
    font-size: 9px;
}

.module-detail-list span {
    color: var(--text-muted);
    font-size: 8px;
}

@media (max-width: 760px) {
    .module-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

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

    .admin-data-table {
        min-width: 650px;
    }
}

/* ============================================================
   PREMIUM MODULE TABLES + CONTENT FORMS
============================================================ */

.section-header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
    padding:2px 2px 16px;
    border-bottom:1px solid rgba(255,255,255,.065);
}

.section-header h2 {
    margin:7px 0 0;
    color:#f2f7f4;
    font-size:22px;
    letter-spacing:-.45px;
}

.section-header p {
    margin:7px 0 0;
    color:#77837d;
    font-size:11px;
    line-height:1.6;
}

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

.module-actions .panel-link {
    min-height:38px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(57,229,140,.14);
    border-radius:11px;
    background:linear-gradient(135deg,rgba(57,229,140,.08),rgba(255,255,255,.025));
    color:#45e5aa;
    transition:all .2s ease;
}

.module-actions .panel-link:hover {
    border-color:rgba(57,229,140,.32);
    background:linear-gradient(135deg,rgba(57,229,140,.14),rgba(255,255,255,.035));
    transform:translateY(-1px);
}

.module-table-wrap {
    width:100%;
    overflow-x:auto;
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    background:rgba(255,255,255,.018);
}

.module-table {
    width:100%;
    min-width:760px;
    border-collapse:separate;
    border-spacing:0;
}

.module-table th {
    padding:15px 17px;
    text-align:left;
    white-space:nowrap;
    color:#9eaca5;
    background:linear-gradient(180deg,rgba(57,229,140,.055),rgba(255,255,255,.018));
    border-bottom:1px solid rgba(57,229,140,.13);
    font-size:9px;
    font-weight:850;
    letter-spacing:.11em;
}

.module-table td {
    padding:16px 17px;
    border-bottom:1px solid rgba(255,255,255,.045);
    color:#d3ddd7;
    font-size:11px;
    vertical-align:middle;
    line-height:1.55;
}

.module-table tbody tr:last-child td { border-bottom:0; }
.module-table tbody tr { transition:background .18s ease; }
.module-table tbody tr:hover { background:rgba(57,229,140,.035); }

.module-table td strong {
    display:block;
    color:#f0f5f2;
    font-size:11px;
}

.module-table td small {
    display:block;
    margin-top:5px;
    color:#6f7d76;
    line-height:1.45;
}

.module-action {
    min-height:32px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    background:rgba(255,255,255,.035);
    color:#bfcac3;
    cursor:pointer;
    font-size:9px;
    font-weight:750;
    transition:all .2s ease;
}

.module-action:hover {
    border-color:rgba(57,229,140,.28);
    background:rgba(57,229,140,.08);
    color:#45e5aa;
}

.admin-content-form-modal {
    width:min(650px,100%);
    max-height:90vh;
    overflow:auto;
    border-color:rgba(139,92,246,.24);
    background:
        radial-gradient(circle at 90% 0%,rgba(139,92,246,.13),transparent 35%),
        linear-gradient(145deg,rgba(22,24,30,.99),rgba(8,10,13,.99));
}

.admin-content-form-modal h2 {
    margin:7px 0 4px;
    color:#f7f4ff;
    font-size:22px;
}

.admin-form-subtitle {
    margin:0 0 20px;
    color:#777485;
    font-size:11px;
}

.admin-content-form {
    display:grid;
    gap:13px;
}

.admin-form-field {
    display:grid;
    gap:7px;
}

.admin-form-field > span {
    color:#aaa4b8;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.admin-form-input,
.admin-form-textarea {
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;
    outline:0;
    background:rgba(255,255,255,.035);
    color:#f3f1f8;
    font:inherit;
    font-size:12px;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.admin-form-input {
    height:46px;
    padding:0 13px;
}

.admin-form-textarea {
    min-height:88px;
    padding:12px 13px;
    resize:vertical;
    line-height:1.5;
}

.admin-form-input:focus,
.admin-form-textarea:focus {
    border-color:rgba(139,92,246,.48);
    background:rgba(139,92,246,.035);
    box-shadow:0 0 0 3px rgba(139,92,246,.07);
}

.admin-form-actions {
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:6px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.06);
}

.admin-form-actions .modal-primary-btn {
    min-width:105px;
    background:linear-gradient(135deg,#8b5cf6,#6d45d9);
    border-color:rgba(167,139,250,.35);
    color:#fff;
    box-shadow:0 10px 28px rgba(109,69,217,.18);
}

.admin-form-actions .modal-secondary-btn {
    min-width:105px;
}

@media (max-width:760px) {
    .section-header {
        align-items:stretch;
        flex-direction:column;
        gap:14px;
    }

    .module-actions {
        width:100%;
    }

    .module-actions .panel-link {
        flex:1;
    }

    .module-table {
        min-width:700px;
    }

    .admin-content-form-modal {
        padding:20px;
    }
}


/* =========================================================
   LEADS / ARIZALAR — PREMIUM ACTIONS & DETAIL
========================================================= */

.lead-action-group {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.lead-view-btn,
.lead-approve-btn,
.lead-delete-btn,
.lead-secondary-btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.lead-view-btn {
    color: #eef7f1;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border-color: rgba(255,255,255,.11);
}

.lead-view-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(57,229,140,.35);
    background: rgba(57,229,140,.08);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

.lead-view-icon {
    color: #39e58c;
    font-size: 15px;
    line-height: 1;
}

.lead-approve-btn {
    color: #06100a;
    background: linear-gradient(135deg, #65f0a5, #20c979);
    border-color: rgba(101,240,165,.45);
    box-shadow: 0 8px 24px rgba(32,201,121,.16);
}

.lead-approve-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(32,201,121,.25);
}

.lead-delete-btn {
    color: #ffb5b5;
    background: rgba(239,68,68,.055);
    border-color: rgba(239,68,68,.15);
}

.lead-delete-btn:hover {
    transform: translateY(-2px);
    background: rgba(239,68,68,.11);
    border-color: rgba(239,68,68,.3);
}

.lead-detail-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.lead-detail-hero {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(57,229,140,.12);
    border-radius: 16px;
    background:
        radial-gradient(circle at 10% 0%, rgba(57,229,140,.10), transparent 38%),
        rgba(255,255,255,.025);
}

.lead-detail-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #07110b;
    background: linear-gradient(145deg, #65f0a5, #1ebc70);
    font-size: 20px;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(32,201,121,.18);
}

.lead-detail-kicker {
    display: block;
    margin-bottom: 4px;
    color: #39e58c;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 2px;
}

.lead-detail-hero h3 {
    margin: 0 0 7px;
    color: #f4faf6;
    font-size: 19px;
}

.lead-detail-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    color: #9ef4c2;
    background: rgba(57,229,140,.08);
    border: 1px solid rgba(57,229,140,.15);
    font-size: 8px;
    font-weight: 850;
}

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

.lead-detail-grid > div,
.lead-detail-extra > div {
    padding: 14px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 13px;
    background: rgba(255,255,255,.02);
}

.lead-detail-grid span,
.lead-detail-extra span,
.lead-detail-note > span {
    display: block;
    margin-bottom: 6px;
    color: #6f7b74;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: 1.3px;
}

.lead-detail-grid strong,
.lead-detail-extra strong {
    color: #eef5f0;
    font-size: 12px;
    font-weight: 800;
}

.lead-detail-extra {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
}

.lead-detail-note {
    padding: 15px;
    border-left: 2px solid #39e58c;
    border-radius: 0 12px 12px 0;
    background: rgba(57,229,140,.035);
}

.lead-detail-note p {
    margin: 0;
    color: #b8c3bc;
    font-size: 11px;
    line-height: 1.7;
}

.lead-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
    padding-top: 3px;
}

.lead-approve-large {
    min-height: 42px;
    padding: 10px 16px;
}

.lead-secondary-btn {
    color: #c8d1cc;
    background: rgba(255,255,255,.035);
}

.lead-secondary-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
}

@media (max-width: 600px) {
    .lead-detail-grid,
    .lead-detail-extra {
        grid-template-columns: 1fr;
    }

    .lead-action-group {
        flex-direction: column;
        align-items: stretch;
    }

    .lead-view-btn,
    .lead-approve-btn,
    .lead-delete-btn {
        width: 100%;
    }

    .lead-detail-actions {
        flex-direction: column;
    }

    .lead-detail-actions button {
        width: 100%;
    }
}


/* ============================================================
   ADMIN NAV / REPORTS / SETTINGS POLISH
   ============================================================ */

.section-back-btn{
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(20,28,26,.95),rgba(10,14,13,.98));
    color:#d1fae5;
    display:grid;
    place-items:center;
    cursor:pointer;
    font-size:22px;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    transition:.22s ease;
    flex:0 0 auto;
}
.section-back-btn:hover{
    transform:translateX(-3px);
    border-color:rgba(52,211,153,.45);
    box-shadow:0 12px 34px rgba(16,185,129,.16);
}
.stat-card[data-section]{
    cursor:pointer;
}
.stat-card[data-section]:focus-visible{
    outline:2px solid rgba(52,211,153,.7);
    outline-offset:3px;
}
.report-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.report-card{
    padding:22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(20,27,25,.95),rgba(10,14,13,.98));
    box-shadow:0 14px 35px rgba(0,0,0,.20);
}
.report-card span,.report-card small{
    display:block;
    color:#8fa39b;
}
.report-card strong{
    display:block;
    margin:8px 0 4px;
    font-size:32px;
    color:#eafff3;
}
.report-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:18px;
}
.report-summary>div{
    padding:18px;
    border-radius:18px;
    background:rgba(16,185,129,.07);
    border:1px solid rgba(52,211,153,.12);
}
.report-summary small{display:block;color:#8fa39b}
.report-summary strong{display:block;margin-top:6px;color:#d1fae5;font-size:22px}
.settings-grid{
    display:grid;
    gap:12px;
}
.settings-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(20,27,25,.95),rgba(10,14,13,.98));
}
.settings-card strong,.settings-card small{display:block}
.settings-card strong{color:#eafff3;margin-bottom:5px}
.settings-card small{color:#81928b}
.settings-toggle{
    width:52px;
    height:30px;
    padding:3px;
    border:0;
    border-radius:999px;
    background:#26332f;
    cursor:pointer;
    transition:.2s ease;
}
.settings-toggle span{
    display:block;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#9aa8a3;
    transition:.2s ease;
}
.settings-toggle.active{
    background:#059669;
}
.settings-toggle.active span{
    transform:translateX(22px);
    background:#fff;
}
.settings-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
.settings-actions .panel-link{
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    padding:11px 15px;
    background:rgba(255,255,255,.04);
    color:#d1fae5;
    cursor:pointer;
}
.settings-actions .danger{color:#fecaca;border-color:rgba(248,113,113,.22)}
.admin-compact .module-table th,
.admin-compact .module-table td{padding:9px 10px}
.admin-compact .module-table{font-size:12px}
@media(max-width:900px){
    .report-grid{grid-template-columns:1fr 1fr}
    .report-summary{grid-template-columns:1fr}
}
@media(max-width:600px){
    .report-grid{grid-template-columns:1fr}
    .section-back-btn{width:38px;height:38px}
}

#section-homework .section-header h2,
#section-homework .section-header p,
#section-homework .panel-header h3,
#section-homework .panel-header p{
    font-size:inherit;
}
#section-homework .section-header h2{font-size:22px!important}
#section-homework .section-header p{font-size:12px!important}
#section-homework .panel-header h3{font-size:16px!important}
#section-homework .panel-header p{font-size:11px!important}
#section-homework .homework-stat-card strong{font-size:22px!important}
#section-homework .homework-stat-card small{font-size:11px!important}
#section-homework .module-table{font-size:12px}
#section-homework .module-table th{font-size:10px;letter-spacing:.06em}
#section-homework .module-table td{font-size:12px}


/* =========================================================
   FINAL ADMIN POLISH
========================================================= */
.section-back-btn{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    margin-right:12px;
    border:1px solid rgba(57,229,140,.18);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(25,35,30,.96),rgba(8,12,10,.98));
    color:#d8fbea;
    box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 0 18px rgba(57,229,140,.035);
    transition:.2s ease;
}
.section-back-btn span{font-size:22px;line-height:1;transform:translateX(-1px)}
.section-back-btn:hover{transform:translateX(-3px);border-color:rgba(57,229,140,.55);color:#39e58c;box-shadow:0 14px 32px rgba(57,229,140,.12)}
.section-back-btn[hidden]{display:none!important}

#section-homework .section-header h2{
    font-size:20px;
    letter-spacing:-.2px;
}
#section-homework .panel-header h3{
    font-size:14px;
    letter-spacing:-.1px;
}
#section-homework .section-header p,
#section-homework .panel-header p{font-size:11px}
#section-homework .homework-stat-card strong{font-size:20px}
#section-homework .homework-stat-card small{font-size:10px}
#section-homework .module-table th{font-size:9px}
#section-homework .module-table td{font-size:11px}

.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.report-card{padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:linear-gradient(145deg,rgba(22,28,25,.95),rgba(10,13,12,.98));box-shadow:0 14px 36px rgba(0,0,0,.18)}
.report-card span,.report-card small{display:block;color:#7f8a84;font-size:11px}
.report-card strong{display:block;margin:6px 0;color:#f2f7f4;font-size:30px}
.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.report-summary>div{padding:16px;border-radius:15px;background:rgba(57,229,140,.055);border:1px solid rgba(57,229,140,.09)}
.report-summary small{display:block;color:#7f8a84;font-size:10px}
.report-summary strong{display:block;margin-top:5px;color:#39e58c;font-size:20px}

.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.settings-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:linear-gradient(145deg,rgba(22,28,25,.95),rgba(10,13,12,.98))}
.settings-card strong{display:block;font-size:13px;color:#eef4f0}.settings-card small{display:block;margin-top:4px;color:#7f8a84;font-size:10px}
.settings-toggle{width:48px;height:27px;padding:3px;border-radius:999px;background:#252d29;border:1px solid rgba(255,255,255,.08);transition:.2s}
.settings-toggle span{display:block;width:19px;height:19px;border-radius:50%;background:#77817c;transition:.2s}
.settings-toggle.active{background:rgba(57,229,140,.18);border-color:rgba(57,229,140,.3)}
.settings-toggle.active span{transform:translateX(19px);background:#39e58c;box-shadow:0 0 14px rgba(57,229,140,.35)}
.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.settings-actions .danger{color:#ff7d88}

@media(max-width:900px){
    .report-grid,.settings-grid{grid-template-columns:1fr 1fr}
    .report-summary{grid-template-columns:1fr}
}
@media(max-width:600px){
    .report-grid,.settings-grid{grid-template-columns:1fr}
    .section-back-btn{width:38px;height:38px;margin-right:7px}
}


/* =========================================================
   TECHNICAL SUPPORT
========================================================= */

/* ADMIN MOBILE — THESE SECTIONS MUST OPEN AT THE REAL TOP */
@media (max-width: 760px) {
    #section-online-test-list,
    #section-locked-tests,
    #section-ranking,
    #section-reports,
    #section-administrators,
    #section-settings,
    #section-support {
        margin-top: -20px;
    }
}

.admin-support-card,
.admin-support-page {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px;
    margin-top: 14px;
    border: 1px solid rgba(57, 229, 140, 0.12);
    border-radius: 16px;
    background:
        linear-gradient(145deg, rgba(20, 30, 25, 0.98), rgba(10, 14, 12, 0.98));
}

.admin-support-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(57, 229, 140, 0.09);
    color: var(--accent);
    border: 1px solid rgba(57, 229, 140, 0.14);
    font-size: 20px;
    font-weight: 800;
}

.admin-support-content {
    min-width: 0;
}

.admin-support-content h3 {
    margin-top: 5px;
    font-size: 17px;
}

.admin-support-content p {
    margin-top: 7px;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 1.6;
}

.admin-support-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.admin-support-links a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px;
    background: rgba(255,255,255,0.025);
    color: #dfe8e2;
    font-size: 10px;
    font-weight: 700;
}

.admin-support-links a:hover {
    color: var(--accent);
    border-color: rgba(57, 229, 140, 0.2);
}

.students-filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

#studentAllBtn {
    padding: 8px 10px;
    border: 1px solid rgba(57, 229, 140, 0.12);
    border-radius: 9px;
    background: rgba(57, 229, 140, 0.045);
}

@media (max-width: 700px) {
    .admin-support-card,
    .admin-support-page {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-support-links {
        flex-direction: column;
    }

    .admin-support-links a {
        width: 100%;
        box-sizing: border-box;
    }
}

.teacher-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px 0}.teacher-create-form[hidden]{display:none}.teacher-create-form label{display:grid;gap:7px}.teacher-create-form label span{font-size:11px;color:#9ca3af;font-weight:800}.teacher-create-form input,.teacher-create-form select{width:100%;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#0c1110;color:#fff;padding:13px 14px}.teacher-create-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.teacher-create-message{grid-column:1/-1;color:#86efac;font-size:12px;min-height:20px}@media(max-width:700px){.teacher-create-form{grid-template-columns:1fr}.teacher-create-actions{grid-column:auto}.teacher-create-message{grid-column:auto}}

.premium-password-field{position:relative;display:flex;align-items:center}.premium-password-field input{padding-right:52px}.password-eye{position:absolute;right:7px;width:38px;height:38px;border:1px solid rgba(167,139,250,.18);border-radius:11px;background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(34,197,94,.08));color:#c4b5fd;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 18px rgba(0,0,0,.25)}.password-eye.active{color:#fff;background:linear-gradient(135deg,rgba(139,92,246,.38),rgba(34,197,94,.18));box-shadow:0 0 18px rgba(139,92,246,.2)}


/* =========================================================
   ADMIN BRAND LOGO
========================================================= */
.brand-mark{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 72px;
    overflow:hidden;
    background:transparent;
}
.brand-mark img{
    width:68px;
    height:68px;
    display:block;
    object-fit:contain;
    filter:drop-shadow(0 8px 22px rgba(57,229,140,.12));
}


/* ADMIN BRAND HEADER — LOGO + TITLE */
.brand{
    height:205px;
    flex-direction:column;
    justify-content:flex-start;
    gap:0;
    padding:0;
    background:transparent;
    text-align:center;
    overflow:visible;
    position:relative;
}
.brand-mark{
    width:220px;
    height:220px;
    flex:0 0 220px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transform:translateY(5px);
}
.brand-mark img{
    width:220px;
    height:220px;
    object-fit:contain;
    filter:drop-shadow(0 7px 20px rgba(57,229,140,.14));
}
.brand-info{
    width:100%;
    align-items:center;
    position:absolute;
    left:0;
    top:180px;
    margin:0;
    z-index:2;
}
.brand-info small{
    margin-top:0;
    color:#fff;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.05px;
    line-height:1.25;
}

/* ADMIN NAV — PREMIUM TOUCH / ACTIVE STATE */
.nav-item,
.nav-item:focus,
.nav-item:focus-visible,
.nav-item:-webkit-focus-ring-color{
    outline:none !important;
    -webkit-tap-highlight-color:transparent !important;
    -webkit-touch-callout:none;
    user-select:none;
    -webkit-user-select:none;
    touch-action:manipulation;
}
.nav-item::-moz-focus-inner{
    border:0;
}
.nav-item:active{
    outline:none !important;
    -webkit-tap-highlight-color:transparent !important;
    background:rgba(57,229,140,.075) !important;
    color:#39e58c !important;
    transform:scale(.985);
    box-shadow:inset 0 0 0 1px rgba(57,229,140,.10);
}
.nav-item.active,
.nav-item.active:focus,
.nav-item.active:focus-visible{
    outline:none !important;
    -webkit-tap-highlight-color:transparent !important;
    background:linear-gradient(90deg,rgba(57,229,140,.12),rgba(57,229,140,.035)) !important;
    color:#39e58c;
    box-shadow:inset 0 0 0 1px rgba(57,229,140,.07);
}
.nav-item.active:active{
    background:rgba(57,229,140,.10) !important;
    transform:scale(.985);
    box-shadow:inset 0 0 0 1px rgba(57,229,140,.13);
}


/* ADMIN TOUCH STATES — REMOVE BLUE BROWSER/DEFAULT BUTTON FLASH */
button,
a,
.nav-item,
.quick-action,
.panel-link,
.stat-card,
.settings-toggle,
.section-back-btn,
#studentAllBtn{
    -webkit-tap-highlight-color:transparent !important;
    -webkit-touch-callout:none;
}
button:focus,
button:focus-visible,
a:focus,
a:focus-visible,
.nav-item:focus,
.nav-item:focus-visible,
.quick-action:focus,
.quick-action:focus-visible,
.panel-link:focus,
.panel-link:focus-visible,
.stat-card:focus,
.stat-card:focus-visible,
.settings-toggle:focus,
.settings-toggle:focus-visible,
.section-back-btn:focus,
.section-back-btn:focus-visible,
#studentAllBtn:focus,
#studentAllBtn:focus-visible{
    outline:none !important;
    box-shadow:none;
}
button:active,
.nav-item:active,
.quick-action:active,
.panel-link:active,
.stat-card:active,
.settings-toggle:active,
.section-back-btn:active,
#studentAllBtn:active{
    -webkit-tap-highlight-color:transparent !important;
}


/* HOMEWORK — MATCH ADMIN TYPOGRAPHY + REMOVE BLUE TOUCH STATE */
#section-homework button,
#section-homework a,
#section-homework .quick-action,
#section-homework .panel-link,
#section-homework .stat-card{
    -webkit-tap-highlight-color:transparent !important;
    -webkit-touch-callout:none;
}
#section-homework button:focus,
#section-homework button:focus-visible,
#section-homework a:focus,
#section-homework a:focus-visible,
#section-homework .quick-action:focus,
#section-homework .quick-action:focus-visible,
#section-homework .panel-link:focus,
#section-homework .panel-link:focus-visible,
#section-homework .stat-card:focus,
#section-homework .stat-card:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}
#section-homework button:active,
#section-homework a:active,
#section-homework .quick-action:active,
#section-homework .panel-link:active,
#section-homework .stat-card:active{
    -webkit-tap-highlight-color:transparent !important;
    background-color:transparent;
}
#section-homework .section-header h2{font-size:18px!important}
#section-homework .section-header p{font-size:10px!important}
#section-homework .panel-header h3{font-size:13px!important}
#section-homework .panel-header p{font-size:10px!important}
#section-homework .homework-stat-card strong{font-size:18px!important}
#section-homework .homework-stat-card small{font-size:9px!important}
#section-homework .module-table{font-size:11px}
#section-homework .module-table th{font-size:9px!important}
#section-homework .module-table td{font-size:11px!important}


/* HOMEWORK CONTENT — ONLY THIS SECTION */
#section-homework .homework-panel .homework-stats{
    gap:10px;
}
#section-homework .homework-panel .homework-stat-card{
    padding:13px 14px;
    border-radius:14px;
}
#section-homework .homework-panel .homework-stat-card span{
    font-size:16px;
}
#section-homework .homework-panel .homework-stat-card small{
    font-size:9px!important;
}
#section-homework .homework-panel .homework-stat-card strong{
    font-size:17px!important;
}
#section-homework .homework-panel .students-toolbar{
    margin-bottom:12px;
}
#section-homework .homework-panel .students-search{
    height:40px;
    padding:0 12px;
}
#section-homework .homework-panel .students-search span{
    font-size:18px;
}
#section-homework .homework-panel .admin-table{
    font-size:11px!important;
}
#section-homework .homework-panel .admin-table th{
    padding:10px 12px!important;
    font-size:9px!important;
}
#section-homework .homework-panel .admin-table td{
    padding:11px 12px!important;
    font-size:10px!important;
    line-height:1.4;
}
#section-homework .homework-panel .admin-table td strong{
    font-size:10px!important;
}
#section-homework .homework-answer-preview{
    font-size:10px!important;
}
#section-homework .homework-panel .admin-table tbody tr,
#section-homework .homework-panel .admin-table tbody tr *{
    -webkit-tap-highlight-color:transparent!important;
    -webkit-touch-callout:none;
}
#section-homework .homework-panel .admin-table tbody tr:focus,
#section-homework .homework-panel .admin-table tbody tr:focus-visible,
#section-homework .homework-panel .admin-table tbody tr:active{
    outline:none!important;
    background:rgba(57,229,140,.035)!important;
    -webkit-tap-highlight-color:transparent!important;
}
#section-homework .homework-panel .admin-table tbody tr:active td{
    background:transparent!important;
}


/* ============================================================
   LOGIN BRAND — MATCH ADMIN PANEL BRANDING ONLY
   ============================================================ */
.admin-login-card .login-brand{
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:0;
    margin-bottom:34px;
    text-align:center;
}
.admin-login-card .login-logo{
    width:170px;
    height:170px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:-18px;
    margin-bottom:-8px;
    flex:0 0 170px;
}
.admin-login-card .login-logo img{
    width:170px;
    height:170px;
    object-fit:contain;
    filter:drop-shadow(0 7px 20px rgba(57,229,140,.14));
}
.admin-login-card .login-brand-info{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.admin-login-card .login-brand-info small{
    color:#fff;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.05px;
    line-height:1.25;
}
@media (max-width:520px){
    .admin-login-card .login-logo{
        width:150px;
        height:150px;
        flex-basis:150px;
        margin-top:-14px;
    }
    .admin-login-card .login-logo img{
        width:150px;
        height:150px;
    }
    .admin-login-card .login-brand{
        margin-bottom:30px;
    }
}


/* FINAL BRAND POSITION — ONLY ADMIN LOGO */
.sidebar .brand{
    height:210px !important;
    width:100% !important;
    padding:0 !important;
    overflow:visible !important;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
}
.sidebar .brand .brand-mark{
    width:240px !important;
    height:240px !important;
    flex:0 0 240px !important;
    margin:0 auto !important;
    transform:translateY(-10px) !important;
    overflow:visible !important;
}
.sidebar .brand .brand-mark img{
    width:240px !important;
    height:240px !important;
    display:block !important;
    object-fit:contain !important;
    transform:scale(2.05) !important;
    transform-origin:center center !important;
}
.sidebar .brand .brand-info{
    position:absolute !important;
    left:0 !important;
    top:190px !important;
    width:100% !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:5 !important;
}
.sidebar .brand .brand-info small{
    margin:0 !important;
    font-size:9px !important;
    line-height:1.2 !important;
    color:#fff !important;
}


/* ADMIN LOGIN LOGO — TOP OF BLACK CARD, LARGE */
.admin-login-card .login-brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    margin:-90px -34px 28px !important;
    padding:0 34px !important;
    text-align:center !important;
}
.admin-login-card .login-logo{
    width:280px !important;
    height:280px !important;
    flex:0 0 280px !important;
    margin:-28px auto 0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
}
.admin-login-card .login-logo img{
    width:280px !important;
    height:280px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    filter:drop-shadow(0 10px 26px rgba(57,229,140,.18)) !important;
}
.admin-login-card .login-brand-info{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:-22px !important;
}
@media (max-width:520px){
    .admin-login-card .login-brand{
        margin:-70px -22px 24px !important;
        padding:0 22px !important;
    }
    .admin-login-card .login-logo{
        width:240px !important;
        height:240px !important;
        flex-basis:240px !important;
        margin:-20px auto 0 !important;
    }
    .admin-login-card .login-logo img{
        width:240px !important;
        height:240px !important;
    }
}

/* ONLY LOGIN BLACK CARD HEIGHT — TOP SHORTER */
.admin-login-card{
    padding-top:12px !important;
}

/* ONLY LOGIN LOGO TEXT — PLACE DIRECTLY UNDER LOGO */
.admin-login-card .login-brand-info{
    margin-top:-55px !important;
}

/* RESTORE SIDEBAR ADMIN LOGO SIZE */
.sidebar .brand .brand-mark{
    width:120px !important;
    height:120px !important;
    flex:0 0 120px !important;
    transform:translateY(0) !important;
}
.sidebar .brand .brand-mark img{
    width:120px !important;
    height:120px !important;
    transform:scale(1) !important;
}
.sidebar .brand .brand-info{
    top:auto !important;
}

/* SIDEBAR BRAND — COMPACT BLOCK, LARGE LOGO, TEXT BELOW */
.sidebar .brand{
    min-height:145px !important;
    height:145px !important;
    padding:8px 10px !important;
    overflow:visible !important;
}
.sidebar .brand .brand-mark{
    width:130px !important;
    height:130px !important;
    flex:0 0 130px !important;
    margin:0 auto !important;
    transform:translateY(-2px) !important;
    overflow:visible !important;
}
.sidebar .brand .brand-mark img{
    width:130px !important;
    height:130px !important;
    display:block !important;
    object-fit:contain !important;
    transform:scale(1.35) !important;
    transform-origin:center center !important;
}
.sidebar .brand .brand-info{
    position:absolute !important;
    left:0 !important;
    top:118px !important;
    width:100% !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:5 !important;
}
.sidebar .brand .brand-info small{
    margin:0 !important;
    position:static !important;
}

/* ONLY SIDEBAR LOGO — MOVE UP */
.sidebar .brand .brand-mark{
    transform:translateY(-14px) !important;
}


/* =========================
   TEST MODE NOTICE
========================= */
.test-mode-banner{position:relative;width:100%;max-width:100%;height:34px;overflow:hidden;background:rgba(255,255,255,.72);border-bottom:1px solid rgba(15,23,42,.07);backdrop-filter:blur(10px);pointer-events:none}
.test-mode-track{width:max-content;height:100%;display:flex;align-items:center;white-space:nowrap;animation:testModeMarquee 24s linear infinite;will-change:transform}
.test-mode-text{font-size:13px;font-weight:950;color:#9d174d;letter-spacing:.04em;padding-right:70px}
@keyframes testModeMarquee{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}.test-mode-banner{width:100%;max-width:100%}}

/* ============================================================
   PARENT MANAGEMENT
   ============================================================ */
.parent-management-panel{overflow:hidden}
.parent-create-form{margin:0 0 24px;padding:22px;border:1px solid rgba(77,214,129,.16);border-radius:18px;background:rgba(17,38,25,.45)}
.parent-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.parent-create-form label{display:flex;flex-direction:column;gap:7px;color:#dceee3;font-size:13px;font-weight:700}
.parent-create-form input{width:100%;padding:13px 14px;border:1px solid rgba(96,220,143,.16);border-radius:12px;background:#09160f;color:#f1fff5;outline:none}
.parent-create-form input:focus{border-color:rgba(87,226,135,.45);box-shadow:0 0 0 3px rgba(61,205,112,.08)}
.parent-child-picker{margin-top:18px}
.parent-picker-title{margin-bottom:10px;font-size:13px;font-weight:800;color:#dff5e7}
.parent-student-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;padding-right:4px}
.parent-student-option{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(85,211,132,.1);border-radius:12px;background:rgba(8,22,14,.7);cursor:pointer}
.parent-student-option input{width:17px!important;height:17px;grid-row:1 / span 2;accent-color:#35ca79}
.parent-student-option span{font-size:13px}
.parent-student-option small{color:#7e9c89;font-weight:500}
.parent-form-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}
.parent-form-actions .administrator-submit{width:auto;margin:0}
.parent-form-actions .panel-link{width:auto;margin:0}
.parents-table-wrap{width:100%;overflow:auto}
.parents-table{width:100%;min-width:900px;border-collapse:collapse}
.parents-table th,.parents-table td{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(113,174,132,.1);vertical-align:top}
.parents-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7f9c89}
.parents-table td strong{display:block;color:#edf8f0;font-size:14px}
.parents-table td small{display:block;margin-top:4px;color:#759182}
.parent-children-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.parent-child-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(48,195,113,.09);border:1px solid rgba(76,210,132,.14);color:#cfeedd;font-size:12px}
.parent-child-chip button{width:18px;height:18px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#91b39c;cursor:pointer;line-height:18px}
.parent-child-chip button:hover{background:rgba(255,92,92,.12);color:#ff9c9c}
.parent-no-child{color:#7f9a89;font-size:12px}
.parent-link-row{display:flex;gap:7px;align-items:center}
.parent-link-row select{min-width:170px;max-width:230px;padding:8px 10px;border-radius:9px;border:1px solid rgba(88,213,135,.14);background:#09160f;color:#dff3e6}
.parent-mini-btn,.parent-action-btn{padding:8px 11px;border-radius:9px;border:1px solid rgba(79,205,126,.16);background:#102519;color:#cdebd6;font-weight:800;font-size:12px;cursor:pointer}
.parent-mini-btn:hover,.parent-action-btn.success:hover{background:#153622}
.parent-action-btn.danger{border-color:rgba(255,121,121,.18);color:#ffb1b1;background:rgba(83,27,27,.34)}
.parent-action-btn.danger:hover{background:rgba(104,34,34,.5)}
.parent-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}
.parent-status.active{background:rgba(42,193,106,.1);border:1px solid rgba(73,212,132,.15);color:#8ce8ad}
.parent-status.inactive{background:rgba(255,156,87,.08);border:1px solid rgba(255,156,87,.15);color:#ffc08f}
.parent-action-btn.success{color:#94e9b0}
@media(max-width:900px){.parent-form-grid{grid-template-columns:1fr 1fr}.parent-student-options{grid-template-columns:1fr}}
@media(max-width:620px){.parent-form-grid{grid-template-columns:1fr}.parent-create-form{padding:16px}}

/* Parent Admin — professional SVG icon alignment */
#section-parents .action-icon{width:17px;height:17px;display:inline-block;vertical-align:-4px;flex:0 0 auto}
#section-parents .nav-icon .action-icon{width:19px;height:19px;vertical-align:-5px}
#section-parents .parent-child-chip .parent-chip-remove{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}
#section-parents .parent-child-chip .parent-chip-remove .action-icon{width:14px;height:14px;vertical-align:0}
