/* =========================================================
   TPSC MOCK TEST PLATFORM - UNIVERSAL CSS
   One stylesheet for Admin + Student pages
   ========================================================= */

*{box-sizing:border-box}

:root{
  --bg:#f5f7fb;
  --surface:#fff;
  --surface-soft:#f8fafc;
  --text:#172033;
  --text-2:#344054;
  --muted:#718096;
  --border:#e6eaf0;
  --border-2:#dce2ea;
  --green:#8bc34a;
  --green-dark:#7cb342;
  --green-soft:#edf7df;
  --danger:#dc2626;
  --danger-soft:#fff0f0;
  --warning:#a56700;
  --warning-soft:#fff3df;
  --shadow:0 3px 12px rgba(16,24,40,.04);
  --shadow-lg:0 8px 28px rgba(16,24,40,.07);
  --radius:14px;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}

a{color:#2563eb;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

/* =========================================================
   SHARED LAYOUT
   ========================================================= */

.container{width:min(94%,520px);margin:0 auto;padding:28px 0}
.container.wide{width:min(94%,1160px);margin:0 auto;padding:38px 0 55px}

h1{margin:0 0 6px;font-size:31px;line-height:1.2;letter-spacing:-.5px}
h2{margin:28px 0 10px;line-height:1.3}
h3{line-height:1.35}
.muted{color:var(--muted)}
.muted.normal{font-weight:400}
.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--green-dark);margin-bottom:5px}

/* =========================================================
   SHARED HEADER - ADMIN
   ========================================================= */

.topbar{
  min-height:72px;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  padding:0 4%;
  box-shadow:0 2px 12px rgba(16,24,40,.03);
}

.topbar-inner{
  width:100%;
  max-width:1160px;
  margin:auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand,.logo{
  font-weight:800;
  letter-spacing:.2px;
  color:var(--text);
}
.brand{font-size:18px}
.logo{font-size:23px}
.logo span{color:var(--green)}

.topnav{display:flex;align-items:center;gap:6px}
.topnav a{
  color:#536075;
  font-size:14px;
  font-weight:700;
  padding:9px 12px;
  border-radius:8px;
  transition:.2s ease;
}
.topnav a:hover,.topnav a:first-child{color:#689f38;background:#f1f8e9}

.student-area{display:flex;align-items:center;gap:18px}
.student-name{font-size:14px;font-weight:700;color:var(--text-2)}
.logout-btn{
  padding:10px 16px;
  border:1px solid var(--border-2);
  border-radius:9px;
  background:#fff;
  color:var(--text-2);
  font-weight:700;
  font-size:14px;
  transition:.2s;
}
.logout-btn:hover{background:var(--surface-soft)}

/* =========================================================
   BUTTONS
   ========================================================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--border-2);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font-weight:700;
  font-size:14px;
  line-height:1.2;
  transition:.18s ease;
}
.btn:hover{background:#f8fafc;transform:translateY(-1px)}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}
.btn.full{width:100%}
.btn.small{min-height:34px;padding:7px 10px;font-size:12px;border-radius:7px}
.btn.danger{color:var(--danger);border-color:#fecaca;background:#fff}
.btn.danger:hover{background:#fff5f5}

.actions,.form-actions,.admin-actions,.page-head-actions,.row-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.actions{justify-content:center;margin-top:24px}
.admin-actions{margin-top:20px}
.form-actions{justify-content:flex-end;margin-top:22px}
.row-actions{justify-content:flex-end}
.page-head-actions{justify-content:flex-end}

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

.stats,.stats.stats-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}

.stats>div{
  min-height:122px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  text-align:left;
  transition:.18s ease;
}
.stats>div:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.stats strong{display:block;margin:0 0 7px;font-size:30px;line-height:1;font-weight:800}
.stats span{display:block;color:var(--muted);font-size:13px;font-weight:600}

.coming,.welcome,.empty,.empty-box{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.coming{margin-top:20px;padding:28px}
.coming h2{margin:0 0 8px;font-size:21px}
.coming p{margin:0;color:#536075;font-size:14px;line-height:1.7}

/* =========================================================
   PAGE HEADINGS
   ========================================================= */

.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.page-head h1{margin-bottom:6px}

/* =========================================================
   FORMS - ADMIN + AUTH
   ========================================================= */

form{margin:0}
.admin-form{display:grid;gap:18px}

label{
  font-weight:700;
  font-size:14px;
  display:grid;
  gap:7px;
  color:var(--text-2);
}

input,select,textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #d7dce5;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font-size:15px;
  outline:none;
  transition:border-color .18s,box-shadow .18s;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(139,195,74,.14);
}
textarea{resize:vertical;min-height:90px;line-height:1.5}
input[type=checkbox],input[type=radio]{width:auto;padding:0;accent-color:var(--green)}

.form-page{max-width:1000px!important}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.paid-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,280px);
  gap:16px;
  padding:18px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  border-radius:12px;
}
.check{display:flex;align-items:center;gap:9px;align-content:center}

/* =========================================================
   AUTH
   ========================================================= */

.center-card{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.auth-card{
  width:440px !important;
  max-width:92% !important;
  margin:8vh auto 0 !important;
  background:#fff;
  padding:28px !important;
  border-radius:14px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
}

.auth-card form{
  display:grid;
  gap:14px;
  margin-top:20px;
}

.auth-card .brand{
  font-size:16px;
  font-weight:800;
  margin-bottom:6px;
}

.auth-card h1{
  font-size:28px;
  margin:0 0 4px;
}

.switch{
  text-align:center;
  margin-top:16px;
}

.admin-link{
  margin-top:25px;
  font-size:14px;
}

.alert{
  padding:12px 14px;
  border-radius:8px;
  margin:18px 0;
  font-size:14px;
  border:1px solid transparent;
}

.alert.error{
  background:var(--danger-soft);
  color:#a32626;
  border-color:#fecaca;
}

.alert.success{
  background:#effbea;
  color:#356a18;
  border-color:#cde7ae;
}

@media(max-width:600px){
  .auth-card{
    width:92% !important;
    max-width:440px !important;
    padding:24px !important;
    margin-top:5vh !important;
  }
}

/* =========================================================
   ADMIN TEST LIST / TABLES
   ========================================================= */

.table-wrap{
  width:100%;
  overflow-x:auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

table{width:100%;border-collapse:collapse;min-width:760px}
th{
  text-align:left;
  padding:14px 16px;
  background:#f8fafc;
  color:#667085;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.3px;
  white-space:nowrap;
}
td{
  padding:15px 16px;
  border-top:1px solid #edf0f4;
  font-size:13px;
  color:#344054;
  vertical-align:middle;
}
td strong{display:block;color:var(--text)}
td small{display:block;margin-top:3px;color:var(--muted)}
.admin-table tr:hover td{background:#fcfdfd}

.status{display:inline-flex;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:800}
.status.published{background:var(--green-soft);color:#5d8d20}
.status.draft{background:#eef1f5;color:#667085}
.inline-form{display:inline-flex;margin:0}

/* =========================================================
   QUESTIONS
   ========================================================= */

.question-list{display:grid;gap:16px}
.question-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:20px;
  box-shadow:var(--shadow);
}
.question-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:16px;
}
.q-number{font-weight:800;color:var(--green-dark);margin-right:8px}
.q-marks{font-size:12px;color:var(--muted);font-weight:700}
.question-text{font-size:16px;font-weight:700;line-height:1.55;margin-bottom:18px}
.options{display:grid;gap:8px}
.options>div{padding:10px 12px;background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;font-size:14px;line-height:1.5}
.options>div.correct{background:var(--green-soft);border-color:#b8d98a;color:#315d0b}
.explanation{margin-top:15px;padding:13px 14px;background:#f8fafc;border-left:3px solid var(--green);border-radius:7px;color:#536075;font-size:13px;line-height:1.6}
.icon-btn{
  width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border-2);background:#fff;border-radius:7px;
  font-weight:800;color:var(--text-2)
}
.icon-btn:hover{background:#f8fafc}
.icon-btn:disabled{opacity:.4;cursor:not-allowed}

/* =========================================================
   STUDENT DASHBOARD
   ========================================================= */

.dashboard{max-width:1160px;margin:0 auto;padding:38px 20px 60px}
.welcome{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
.welcome h1{margin:0 0 6px;font-size:31px;line-height:1.2;letter-spacing:-.5px}
.welcome p{margin:0;color:#718096;font-size:16px}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.stat-label{color:#718096;font-size:14px;font-weight:600;margin-bottom:8px}
.stat-value{font-size:28px;font-weight:800;color:var(--text)}

.section{margin-top:36px}
.section-title{font-size:22px;margin:0 0 16px;font-weight:800}
.tests-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.test-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:22px;box-shadow:var(--shadow)}
.test-top{display:flex;justify-content:space-between;gap:15px}
.test-title{font-size:18px;font-weight:800;line-height:1.35}
.category{margin-top:7px;color:#718096;font-size:13px}
.badge{white-space:nowrap;height:fit-content;padding:5px 9px;border-radius:7px;background:var(--green-soft);color:#5d8d20;font-size:12px;font-weight:800}
.badge.paid{background:var(--warning-soft);color:var(--warning)}
.test-description{color:#667085;font-size:14px;line-height:1.5;margin:15px 0}
.test-info{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.info-item{background:#f7f8fa;border-radius:7px;padding:7px 9px;font-size:12px;color:#475467;font-weight:600}
.start-btn{display:block;width:100%;text-align:center;padding:12px 15px;background:var(--green);color:#fff;border-radius:9px;font-size:14px;font-weight:800;transition:.2s}
.start-btn:hover{background:var(--green-dark)}
.empty-box{padding:42px 20px;text-align:center;color:#718096}
.attempts-box{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.completed{color:#4d7c0f;font-weight:700}
.in-progress{color:#b45309;font-weight:700}
.result-btn{display:inline-block;padding:7px 11px;border:1px solid var(--border-2);border-radius:7px;font-size:12px;font-weight:700;background:#fff;color:var(--text-2)}

/* =========================================================
   STUDENT TEST / EXAM
   ========================================================= */

.exam-container{max-width:1180px;margin:auto;padding:25px 20px 50px}
.exam-header{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.exam-title{margin:0;font-size:23px}
.exam-category{margin-top:5px;color:#718096;font-size:13px}
.timer-box{min-width:130px;text-align:center;background:var(--text);color:#fff;border-radius:10px;padding:10px 15px}
.timer-label{font-size:11px;opacity:.75}
.timer{font-size:24px;font-weight:800;margin-top:2px}
.exam-layout{display:grid;grid-template-columns:1fr 280px;gap:18px}
.question-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:25px}
.question-number{font-size:13px;font-weight:800;color:var(--green);margin-bottom:12px}
.question-text{font-size:19px;font-weight:700;line-height:1.55;margin-bottom:22px}
.option{border:1px solid #dfe4eb;border-radius:10px;padding:14px;cursor:pointer;display:flex;align-items:flex-start;gap:12px;transition:.15s}
.option:hover{border-color:var(--green);background:#fbfef7}
.option.selected{border-color:var(--green);background:#f1f8e9}
.option input{margin-top:3px;width:auto;padding:0}
.option-letter{font-weight:800;min-width:24px}
.option-text{line-height:1.45}
.question-navigation{margin-top:25px;display:flex;justify-content:space-between;gap:10px}
.nav-btn{border:1px solid var(--border-2);background:#fff;padding:11px 18px;border-radius:8px;font-weight:700;cursor:pointer}
.nav-btn:hover{background:#f7f8fa}
.next-btn{background:var(--green);border-color:var(--green);color:#fff}
.next-btn:hover{background:var(--green-dark)}
.sidebar{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;height:fit-content;position:sticky;top:15px}
.sidebar-title{font-weight:800;margin-bottom:15px}
.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.question-btn{border:1px solid var(--border-2);background:#fff;height:38px;border-radius:7px;font-weight:700;cursor:pointer}
.question-btn.active{background:var(--green);border-color:var(--green);color:#fff}
.question-btn.answered{background:#e8f5d7;border-color:#b8d98a}
.question-btn.review{background:#fff1d6;border-color:#f3c76b}
.review-area{margin-top:18px;display:flex;align-items:center;gap:8px;font-size:14px;color:#475467}
.submit-btn{width:100%;margin-top:20px;padding:13px;border:none;border-radius:9px;background:var(--text);color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.submit-btn:hover{background:#0f172a}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:850px){
  .stats,.stats.stats-4,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tests-grid{grid-template-columns:1fr}
  .form-grid.three{grid-template-columns:1fr 1fr}
  .exam-layout{grid-template-columns:1fr}
  .sidebar{position:static;order:2}
}

@media(max-width:600px){
  .topbar{min-height:auto;padding:12px 15px;gap:9px}
  .topbar-inner{padding:0;min-height:40px}
  .brand{font-size:15px;line-height:1.2}
  .logo{font-size:20px}
  .student-name{display:none}
  .topnav{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .topnav a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 4px;font-size:12px;white-space:nowrap}
  .student-area{gap:0}
  .logout-btn{padding:8px 12px;font-size:12px}

  .container{width:92%;padding:24px 0}
  .container.wide{width:92%;padding:27px 0 35px}
  h1{font-size:25px}
  .dashboard{padding:28px 15px 45px}
  .welcome h1{font-size:25px}
  .welcome p{font-size:14px}

  .stats,.stats.stats-4,.stats-grid{gap:10px;margin-top:22px}
  .stats>div{min-height:98px;padding:17px 14px;border-radius:12px}
  .stats strong{font-size:25px}
  .stats span{font-size:12px}
  .stat-card{padding:17px;border-radius:12px}
  .stat-label{font-size:12px}
  .stat-value{font-size:23px}

  .page-head{flex-direction:column;gap:12px}
  .page-head-actions{width:100%;justify-content:stretch}
  .page-head-actions .btn{width:100%}

  .admin-actions,.form-actions{flex-direction:column;align-items:stretch}
  .admin-actions .btn,.form-actions .btn{width:100%}

  .form-grid,.form-grid.three,.option-grid{grid-template-columns:1fr}
  .paid-box{grid-template-columns:1fr;padding:15px}
  .form-page{width:92%!important}

  .auth-card{width:92%;padding:24px;margin-top:5vh}

  .table-wrap{border-radius:11px}
  table{min-width:760px}

  .question-card{padding:18px}
  .question-top{align-items:flex-start;flex-direction:column}
  .row-actions{width:100%;justify-content:flex-start}
  .question-text{font-size:17px}

  .test-card{padding:18px}
  .test-title{font-size:16px}
  .section{margin-top:30px}
  .section-title{font-size:19px}

  .exam-container{padding:15px 12px 35px}
  .exam-header{padding:16px;align-items:flex-start}
  .exam-title{font-size:18px}
  .timer-box{min-width:100px}
  .timer{font-size:20px}
  .question-navigation{margin-top:20px}
  .question-grid{grid-template-columns:repeat(5,1fr)}
}

@media(max-width:380px){
  .topnav a{font-size:11px;padding-left:3px;padding-right:3px}
  .brand{font-size:14px}
  .stats>div{padding:15px 11px}
  .stats strong{font-size:23px}
  .question-grid{gap:6px}
}


/* =========================================================
   ADMIN MOCK TESTS - POLISHED UNIVERSAL OVERRIDES
   ========================================================= */

.page-head > .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.admin-table {
    width: 100%;
    min-width: 900px;
}

.admin-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid var(--border);
    color: #667085;
    font-weight: 800;
    text-align: left;
}

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

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

.admin-table td {
    height: 72px;
}

.admin-table td:first-child {
    min-width: 230px;
}

.admin-table td:nth-child(2),
.admin-table td:nth-child(3),
.admin-table td:nth-child(4),
.admin-table td:nth-child(5) {
    white-space: nowrap;
}

.row-actions {
    justify-content: flex-start;
    align-items: center;
    gap: 7px;
    min-width: 370px;
}

.row-actions .inline-form {
    display: inline-flex;
}

.row-actions .btn {
    white-space: nowrap;
}

.page-head .btn.primary {
    box-shadow: 0 3px 10px rgba(139,195,74,.18);
}

/* Make the Admin header consistent even when pages have different markup. */
body > .topbar {
    width: 100%;
}

body > .topbar > .brand {
    flex: 0 0 auto;
}

body > .topbar > .topnav {
    margin-left: auto;
}

/* =========================================================
   MOBILE ADMIN TEST LIST
   ========================================================= */

@media (max-width: 700px) {
    .page-head {
        margin-bottom: 18px;
    }

    .page-head > .btn {
        width: 100%;
    }

    .table-wrap {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .admin-table {
        min-width: 0;
        display: block;
    }

    .admin-table thead {
        display: none;
    }

    .admin-table tbody,
    .admin-table tr,
    .admin-table td {
        display: block;
        width: 100%;
    }

    .admin-table tbody {
        display: grid;
        gap: 12px;
    }

    .admin-table tr {
        padding: 17px;
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 13px;
        box-shadow: var(--shadow);
    }

    .admin-table td {
        min-width: 0 !important;
        height: auto;
        padding: 8px 0;
        border: 0;
        white-space: normal !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .admin-table td:first-child {
        display: block;
        padding-top: 0;
        padding-bottom: 12px;
        margin-bottom: 4px;
        border-bottom: 1px solid #edf0f4;
    }

    .admin-table td:first-child strong {
        font-size: 16px;
    }

    .admin-table td:first-child small {
        font-size: 12px;
    }

    .admin-table td:nth-child(2)::before {
        content: "Questions";
    }

    .admin-table td:nth-child(3)::before {
        content: "Duration";
    }

    .admin-table td:nth-child(4)::before {
        content: "Marks";
    }

    .admin-table td:nth-child(5)::before {
        content: "Status";
    }

    .admin-table td:nth-child(2)::before,
    .admin-table td:nth-child(3)::before,
    .admin-table td:nth-child(4)::before,
    .admin-table td:nth-child(5)::before {
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
    }

    .admin-table td:last-child {
        display: block;
        padding-top: 12px;
        margin-top: 4px;
        border-top: 1px solid #edf0f4;
    }

    .admin-table td:last-child::before {
        content: "Actions";
        display: block;
        margin-bottom: 9px;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
    }

    .row-actions {
        min-width: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

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

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

    .row-actions .btn.small {
        min-height: 40px;
        padding: 9px 8px;
    }
}

@media (max-width: 380px) {
    .row-actions {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   FINAL ADMIN TESTS FIX
   High-specificity rules for the current admin markup
   ========================================================= */

body .topbar {
    min-height: 72px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4% !important;
    background: #fff !important;
    border-bottom: 1px solid #e6eaf0 !important;
}

body .topbar .brand {
    display: block !important;
    flex: 0 0 auto !important;
    color: #172033 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body .topbar .topnav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-left: auto !important;
}

body .topbar .topnav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #536075 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
}

body .topbar .topnav a:first-child {
    color: #689f38 !important;
    background: #f1f8e9 !important;
}

body .container.wide .page-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

body .container.wide .page-head h1 {
    margin: 0 0 6px !important;
}

body .container.wide .page-head > .btn {
    display: inline-flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
}

body .container.wide .table-wrap {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    background: #fff !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(16,24,40,.04) !important;
}

body .container.wide .table-wrap table.admin-table {
    display: table !important;
    width: 100% !important;
    min-width: 900px !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
}

body .container.wide .table-wrap table.admin-table thead {
    display: table-header-group !important;
}

body .container.wide .table-wrap table.admin-table tbody {
    display: table-row-group !important;
}

body .container.wide .table-wrap table.admin-table tr {
    display: table-row !important;
}

body .container.wide .table-wrap table.admin-table th {
    display: table-cell !important;
    padding: 14px 16px !important;
    background: #f8fafc !important;
    color: #667085 !important;
    border: 0 !important;
    border-bottom: 1px solid #e6eaf0 !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
    white-space: nowrap !important;
}

body .container.wide .table-wrap table.admin-table td {
    display: table-cell !important;
    padding: 15px 16px !important;
    background: #fff !important;
    color: #344054 !important;
    border: 0 !important;
    border-top: 1px solid #edf0f4 !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

body .container.wide .table-wrap table.admin-table td strong {
    display: block !important;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

body .container.wide .table-wrap table.admin-table td small {
    display: block !important;
    margin-top: 3px !important;
    color: #718096 !important;
    font-size: 12px !important;
}

body .container.wide .table-wrap table.admin-table .row-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-width: 370px !important;
}

body .container.wide .table-wrap table.admin-table .row-actions .btn {
    display: inline-flex !important;
    width: auto !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
}

body .container.wide .table-wrap table.admin-table .row-actions .inline-form {
    display: inline-flex !important;
    margin: 0 !important;
}

@media (max-width: 700px) {
    body .topbar {
        min-height: auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 9px !important;
        padding: 13px 15px 11px !important;
    }

    body .topbar .brand {
        text-align: center !important;
        font-size: 15px !important;
    }

    body .topbar .topnav {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        margin-left: 0 !important;
    }

    body .topbar .topnav a {
        min-height: 34px !important;
        width: 100% !important;
        padding: 7px 4px !important;
        font-size: 12px !important;
    }

    body .container.wide .page-head {
        flex-direction: column !important;
        gap: 12px !important;
    }

    body .container.wide .page-head > .btn {
        width: 100% !important;
    }

    body .container.wide .table-wrap {
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .container.wide .table-wrap table.admin-table {
        min-width: 0 !important;
        display: block !important;
        background: transparent !important;
    }

    body .container.wide .table-wrap table.admin-table thead {
        display: none !important;
    }

    body .container.wide .table-wrap table.admin-table tbody {
        display: grid !important;
        gap: 12px !important;
    }

    body .container.wide .table-wrap table.admin-table tr {
        display: block !important;
        width: 100% !important;
        padding: 16px !important;
        background: #fff !important;
        border: 1px solid #e6eaf0 !important;
        border-radius: 13px !important;
        box-shadow: 0 3px 12px rgba(16,24,40,.04) !important;
    }

    body .container.wide .table-wrap table.admin-table td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 8px 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body .container.wide .table-wrap table.admin-table td:first-child {
        display: block !important;
        padding: 0 0 12px !important;
        margin-bottom: 4px !important;
        border-bottom: 1px solid #edf0f4 !important;
    }

    body .container.wide .table-wrap table.admin-table td:nth-child(2)::before { content:"Questions"; }
    body .container.wide .table-wrap table.admin-table td:nth-child(3)::before { content:"Duration"; }
    body .container.wide .table-wrap table.admin-table td:nth-child(4)::before { content:"Marks"; }
    body .container.wide .table-wrap table.admin-table td:nth-child(5)::before { content:"Status"; }

    body .container.wide .table-wrap table.admin-table td:nth-child(2)::before,
    body .container.wide .table-wrap table.admin-table td:nth-child(3)::before,
    body .container.wide .table-wrap table.admin-table td:nth-child(4)::before,
    body .container.wide .table-wrap table.admin-table td:nth-child(5)::before {
        color: #718096 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    body .container.wide .table-wrap table.admin-table td:last-child {
        display: block !important;
        padding-top: 12px !important;
        margin-top: 4px !important;
        border-top: 1px solid #edf0f4 !important;
    }

    body .container.wide .table-wrap table.admin-table td:last-child::before {
        content: "Actions" !important;
        display: block !important;
        margin-bottom: 9px !important;
        color: #718096 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    body .container.wide .table-wrap table.admin-table .row-actions {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 7px !important;
    }

    body .container.wide .table-wrap table.admin-table .row-actions .btn,
    body .container.wide .table-wrap table.admin-table .row-actions .inline-form {
        width: 100% !important;
    }

    body .container.wide .table-wrap table.admin-table .row-actions .inline-form .btn {
        width: 100% !important;
    }
}
/* =========================================
   QUESTIONS PAGE
========================================= */

.questions-page {
    width: 100%;
}

.questions-page .page-head-content {
    min-width: 0;
}

.questions-page .test-meta {
    overflow-wrap: anywhere;
}

.question-empty {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.question-empty .empty-content {
    min-width: 0;
    max-width: 100%;
}

.question-empty h2 {
    margin: 0 0 10px;
    overflow-wrap: anywhere;
}

.question-empty p {
    margin: 0 0 18px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.empty-action {
    display: inline-flex;
}


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

@media (max-width: 600px) {

    .questions-page {
        padding-left: 15px;
        padding-right: 15px;
    }

    .questions-page .page-head {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .questions-page .page-head-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .questions-page .page-head-actions .btn {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
    }

    .question-empty {
        padding: 22px 18px;
        margin-top: 18px;
    }

    .question-empty h2 {
        font-size: 24px;
        line-height: 1.25;
    }

    .question-empty p {
        font-size: 15px;
        line-height: 1.5;
    }

    .question-empty .empty-action {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }

}

/* =========================================================
   MOCK TEST - MOBILE RESPONSIVE FIX
   Applies to questions.php and other mock-test admin pages
   ========================================================= */

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

/* Keep all main containers inside the viewport */
.container,
.container.wide,
main,
.page,
.content {
    width: 100%;
    max-width: 1170px;
    box-sizing: border-box;
}

/* Prevent cards from becoming wider than the screen */
.card,
.panel,
.empty-state,
.question-card,
.test-card {
    max-width: 100%;
    box-sizing: border-box;
}

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

@media (max-width: 768px) {

    /* Main page container */
    .container,
    .container.wide,
    main,
    .page,
    .content {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    /* Page headings */
    h1 {
        font-size: 30px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }

    h2 {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    h3 {
        font-size: 20px !important;
    }

    p {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    /* Top page header area */
    .page-header,
    .test-header,
    .header-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    /* Header buttons */
    .page-header .actions,
    .test-header .actions,
    .header-row .actions,
    .actions {
        width: 100%;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .actions a,
    .actions button {
        max-width: 100%;
    }

    /* =====================================================
       EMPTY QUESTIONS CARD
       ===================================================== */

    .empty-state,
    .empty-card,
    .no-questions,
    .card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Make empty card comfortable on phone */
    .empty-state,
    .empty-card {
        padding: 24px 20px !important;
        overflow: hidden !important;
    }

    /* "No questions yet" */
    .empty-state h2,
    .empty-card h2,
    .no-questions h2 {
        font-size: 24px !important;
        line-height: 1.25 !important;
        margin: 0 0 10px !important;
        white-space: normal !important;
        word-break: normal !important;
    }

    /* Description */
    .empty-state p,
    .empty-card p,
    .no-questions p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        max-width: 100% !important;
    }

    /* Buttons */
    button,
    .btn,
    a.btn {
        min-height: 44px;
        box-sizing: border-box;
    }

    /* Add First Question */
    .empty-state .btn,
    .empty-card .btn,
    .no-questions .btn {
        width: auto !important;
        max-width: 100% !important;
    }

    /* Tables */
    table {
        width: 100% !important;
    }

    .table-wrap,
    .table-responsive {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


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

@media (max-width: 480px) {

    .container,
    .container.wide,
    main,
    .page,
    .content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    h1 {
        font-size: 27px !important;
    }

    h2,
    .empty-state h2,
    .empty-card h2,
    .no-questions h2 {
        font-size: 22px !important;
    }

    .empty-state,
    .empty-card {
        padding: 20px 16px !important;
    }

    .empty-state .btn,
    .empty-card .btn,
    .no-questions .btn {
        width: 100% !important;
    }
}

/* =========================================================
   QUESTIONS PAGE - FINAL MOBILE FIX
   Actual markup uses .empty
   ========================================================= */

.questions-page .empty {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 18px;
    padding: 28px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.questions-page .empty h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.25;
    color: var(--text);
    overflow-wrap: break-word;
}

.questions-page .empty p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

.questions-page .empty .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}


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

@media (max-width: 768px) {

    .questions-page .empty {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 16px;
        padding: 22px 18px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .questions-page .empty h2 {
        font-size: 24px !important;
        line-height: 1.25 !important;
        margin: 0 0 10px !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    .questions-page .empty p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        margin: 0 0 18px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        max-width: 100% !important;
    }

    .questions-page .empty .btn {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
        text-align: center;
    }

}


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

@media (max-width: 480px) {

    .questions-page .empty {
        padding: 20px 16px !important;
        border-radius: 12px;
    }

    .questions-page .empty h2 {
        font-size: 22px !important;
    }

    .questions-page .empty p {
        font-size: 14px !important;
    }

}

/* =========================================================
   QUESTIONS.PHP — FINAL MOBILE FIX
   Actual markup uses .empty
   ========================================================= */

.empty {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.empty h2 {
    margin: 0 0 10px;
    color: var(--text);
    line-height: 1.25;
    overflow-wrap: break-word;
}

.empty p {
    margin: 0 0 18px;
    color: var(--muted);
    line-height: 1.5;
    max-width: 100%;
    overflow-wrap: break-word;
}


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

@media (max-width: 768px) {

    .empty {
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px 0 0 !important;
        padding: 22px 18px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .empty h2 {
        font-size: 23px !important;
        line-height: 1.25 !important;
        margin: 0 0 10px !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .empty p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        margin: 0 0 18px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .empty .btn {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }
}


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

@media (max-width: 480px) {

    .empty {
        padding: 20px 16px !important;
        border-radius: 12px !important;
    }

    .empty h2 {
        font-size: 21px !important;
    }

    .empty p {
        font-size: 14px !important;
    }

    .empty .btn {
        width: 100% !important;
    }
}

/* =========================================================
   MOCK TEST - MOBILE RESPONSIVE FIX
   Add this at the VERY END of style.css
   ========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* Main containers */
.container,
.container.wide,
main,
main.container,
.page,
.content,
.content-area {
    width: 100% !important;
    max-width: 1170px;
    min-width: 0 !important;
}

/* Prevent cards from forcing horizontal overflow */
.card,
.panel,
.empty-state,
.question-card,
.test-card,
.questions-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

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

@media (max-width: 700px) {

    body {
        font-size: 15px;
        overflow-x: hidden;
    }

    /* Header */
    .topbar {
        width: 100%;
        min-height: auto;
        padding: 14px 16px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .topbar > * {
        min-width: 0;
    }

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

    .topbar a {
        white-space: nowrap;
    }

    /* Main page container */
    .container,
    .container.wide,
    main,
    main.container,
    .page,
    .content,
    .content-area {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Test heading area */
    .test-header,
    .page-header,
    .hero,
    .header-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Heading */
    h1 {
        font-size: 28px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    h2 {
        font-size: 23px;
    }

    /* Top action buttons */
    .actions,
    .header-actions,
    .test-actions {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .actions button,
    .actions a,
    .header-actions button,
    .header-actions a,
    .test-actions button,
    .test-actions a {
        max-width: 100%;
    }

    /* Empty questions card */
    .empty-state,
    .card,
    .panel,
    .questions-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 20px !important;
        overflow: hidden !important;
    }

    /* Empty state text */
    .empty-state h2,
    .empty-state h3,
    .card h2,
    .card h3 {
        max-width: 100%;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal;
    }

    .empty-state p,
    .card p {
        max-width: 100%;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* Add First Question button */
    .empty-state .btn,
    .empty-state button,
    .empty-state a {
        max-width: 100%;
    }

    /* Tables */
    table {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Forms / inputs */
    input,
    select,
    textarea {
        max-width: 100%;
    }

    /* Images */
    img {
        max-width: 100%;
        height: auto;
    }
}


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

@media (max-width: 420px) {

    .container,
    .container.wide,
    main,
    main.container,
    .page,
    .content,
    .content-area {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .empty-state,
    .card,
    .panel,
    .questions-card {
        padding: 18px !important;
        border-radius: 14px;
    }

    h1 {
        font-size: 26px;
    }

    .empty-state h2,
    .card h2 {
        font-size: 24px;
        line-height: 1.25;
    }

    .empty-state .btn,
    .empty-state button,
    .empty-state a {
        width: 100%;
    }
}



/* =========================================================
   STUDENT DASHBOARD - PREMIUM / CONVERSION UI
   ========================================================= */

.featured-product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 25px;
    padding: 28px;
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #f7fbea 100%
    );
    border: 1px solid #dcebc8;
    border-radius: 18px;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

.featured-product::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -70px;
    top: -70px;
    background: rgba(139,195,74,.10);
    border-radius: 50%;
    pointer-events: none;
}

.featured-product-content {
    position: relative;
    z-index: 1;
}

.featured-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 7px;
    background: var(--green-soft);
    color: #5d8d20;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .3px;
}

.featured-product h2 {
    margin: 12px 0 2px;
    font-size: 28px;
    line-height: 1.2;
}

.featured-title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--green-dark);
}

.featured-description {
    max-width: 650px;
    margin: 12px 0 18px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.featured-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.featured-highlights span {
    padding: 7px 10px;
    background: #fff;
    border: 1px solid #e4ecd9;
    border-radius: 7px;
    color: #536075;
    font-size: 12px;
    font-weight: 700;
}

.featured-action {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 23px;
}

.featured-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.featured-price strong {
    font-size: 30px;
    line-height: 1;
    color: var(--text);
}

.featured-price .old-price {
    color: #98a2b3;
    font-size: 15px;
    text-decoration: line-through;
}

.featured-price small {
    color: var(--muted);
    font-size: 11px;
}

.featured-product-side {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.featured-test-count,
.featured-free {
    padding: 18px;
    border-radius: 13px;
    background: rgba(255,255,255,.9);
    border: 1px solid #e4ecd9;
    text-align: center;
}

.featured-test-count strong,
.featured-free strong {
    display: block;
    font-size: 32px;
    line-height: 1;
    color: var(--green-dark);
}

.featured-test-count span,
.featured-free span {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.featured-free {
    background: var(--green-soft);
}

.featured-free strong {
    color: #5d8d20;
}

.section-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
}

.test-card {
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.test-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.test-card.locked {
    border-color: #eadfca;
}

.badge.unlocked {
    background: var(--green-soft);
    color: #4d7c0f;
}

.locked-btn {
    background: #667085 !important;
}

.locked-btn:hover {
    background: #475467 !important;
}

.conversion-card {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr);
    gap: 25px;
    padding: 25px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.conversion-card h2 {
    margin: 0 0 8px;
    font-size: 21px;
}

.conversion-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.conversion-points {
    display: grid;
    gap: 9px;
    align-content: center;
}

.conversion-points div {
    padding: 9px 11px;
    background: var(--surface-soft);
    border-radius: 8px;
    color: #536075;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 850px) {

    .featured-product {
        grid-template-columns: 1fr;
    }

    .featured-product-side {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .conversion-card {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 600px) {

    .featured-product {
        padding: 20px;
        border-radius: 15px;
        gap: 18px;
    }

    .featured-product h2 {
        font-size: 22px;
    }

    .featured-title {
        font-size: 16px;
    }

    .featured-description {
        font-size: 13px;
    }

    .featured-highlights {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .featured-highlights span {
        font-size: 11px;
        padding: 7px 8px;
    }

    .featured-action {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .featured-price {
        justify-content: center;
    }

    .featured-price strong {
        font-size: 28px;
    }

    .featured-action .btn {
        width: 100%;
    }

    .featured-product-side {
        gap: 8px;
    }

    .featured-test-count,
    .featured-free {
        padding: 14px 10px;
    }

    .featured-test-count strong,
    .featured-free strong {
        font-size: 27px;
    }

    .conversion-card {
        padding: 20px;
    }

    .conversion-card h2 {
        font-size: 19px;
    }

}

/* =========================================================
   STUDENT DASHBOARD - MOBILE NAVIGATION FIX
   ========================================================= */

@media (max-width: 700px) {

    /* Header */
    .topbar {
        height: auto !important;
        min-height: 0 !important;
        padding: 10px 15px !important;
    }

    /* Header layout */
    .topbar-inner {
        width: 100% !important;
        max-width: 100% !important;

        display: flex !important;
        flex-wrap: wrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        gap: 8px !important;
        padding: 0 !important;
    }

    /* Logo */
    .topbar-inner .logo,
    .topbar-inner .brand {
        order: 1;
        flex: 1 1 auto;
        min-width: 0;
        font-size: 19px !important;
        line-height: 1.2;
    }

    /* Student area / Logout */
    .topbar-inner .student-area {
        order: 2;
        flex: 0 0 auto;
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
    }

    /* Hide student name on mobile */
    .topbar-inner .student-name {
        display: none !important;
    }

    /* Logout */
    .topbar-inner .logout-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        padding: 7px 11px !important;
        font-size: 12px !important;
        white-space: nowrap;
    }

    /* Navigation */
    .topbar-inner .topnav {
        order: 3;

        width: 100% !important;
        flex: 0 0 100% !important;

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

        gap: 6px !important;

        margin-top: 2px !important;
    }

    /* Navigation links */
    .topbar-inner .topnav a {
        width: 100% !important;

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

        min-height: 36px !important;
        padding: 7px 4px !important;

        font-size: 12px !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
        text-align: center !important;

        border-radius: 7px;
    }
}

/* =========================================================
   TPSC MOCK TEST PLATFORM
   FINAL STUDENT DASHBOARD POLISH
   Target: Premium 9.5/10 UI
   ========================================================= */

/* ---------------------------------------------------------
   DASHBOARD OVERALL
   --------------------------------------------------------- */

body {
    background: #f5f7fb;
}

.dashboard {
    max-width: 1180px !important;
    padding: 38px 24px 70px !important;
}

/* ---------------------------------------------------------
   HEADER POLISH
   --------------------------------------------------------- */

body .topbar {
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid #e7ebf0 !important;
    box-shadow: 0 2px 14px rgba(16,24,40,.035) !important;
}

body .topbar .logo {
    font-size: 22px !important;
    letter-spacing: -.25px !important;
}

body .topbar .topnav a {
    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease !important;
}

body .topbar .topnav a:hover {
    transform: translateY(-1px);
}

body .topbar .logout-btn {
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease !important;
}

body .topbar .logout-btn:hover {
    transform: translateY(-1px);
}

/* ---------------------------------------------------------
   WELCOME AREA
   --------------------------------------------------------- */

.dashboard .welcome {
    padding: 4px 0 0 !important;
}

.dashboard .welcome .eyebrow {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    letter-spacing: .65px !important;
}

.dashboard .welcome h1 {
    font-size: clamp(28px, 3vw, 34px) !important;
    letter-spacing: -.7px !important;
    line-height: 1.16 !important;
}

.dashboard .welcome p {
    max-width: 680px;
    margin-top: 9px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* ---------------------------------------------------------
   STAT CARDS
   --------------------------------------------------------- */

.dashboard .stats-grid {
    gap: 16px !important;
    margin-top: 26px !important;
}

.dashboard .stat-card {
    position: relative;
    overflow: hidden;
    min-height: 116px;
    padding: 21px 22px !important;
    border: 1px solid #e4e9ef !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(16,24,40,.035) !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease !important;
}

.dashboard .stat-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #8bc34a;
    opacity: .7;
}

.dashboard .stat-card:hover {
    transform: translateY(-3px);
    border-color: #d9e6c7 !important;
    box-shadow: 0 10px 28px rgba(16,24,40,.07) !important;
}

.dashboard .stat-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #718096 !important;
    margin-bottom: 9px !important;
}

.dashboard .stat-value {
    font-size: 29px !important;
    line-height: 1 !important;
    letter-spacing: -.5px;
}

/* ---------------------------------------------------------
   SECTIONS
   --------------------------------------------------------- */

.dashboard .section {
    margin-top: 42px !important;
}

.dashboard .section-title {
    margin-top: 0 !important;
    margin-bottom: 17px !important;
    font-size: 23px !important;
    letter-spacing: -.25px;
}

.dashboard .section-heading-row {
    margin-bottom: 17px;
}

/* ---------------------------------------------------------
   FEATURED PRODUCT
   --------------------------------------------------------- */

.dashboard .featured-product {
    border-radius: 18px !important;
    border: 1px solid #dcebc8 !important;
    box-shadow: 0 7px 25px rgba(75,100,40,.055) !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

.dashboard .featured-product:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(75,100,40,.09) !important;
}

.dashboard .featured-badge {
    font-size: 11px !important;
    letter-spacing: .65px !important;
}

.dashboard .featured-product h2 {
    letter-spacing: -.45px !important;
}

.dashboard .featured-description {
    max-width: 720px;
    line-height: 1.65 !important;
}

.dashboard .featured-highlights span {
    border: 1px solid rgba(139,195,74,.14);
    transition: background .18s ease;
}

.dashboard .featured-highlights span:hover {
    background: #f2f9e9 !important;
}

.dashboard .featured-action .btn.primary {
    box-shadow: 0 5px 14px rgba(139,195,74,.18);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}

.dashboard .featured-action .btn.primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(139,195,74,.24);
}

/* ---------------------------------------------------------
   MOCK TEST CARDS
   --------------------------------------------------------- */

.dashboard .tests-grid {
    gap: 18px !important;
}

.dashboard .test-card {
    position: relative;
    border-radius: 15px !important;
    padding: 21px !important;
    border: 1px solid #e4e9ef !important;
    box-shadow: 0 3px 12px rgba(16,24,40,.035) !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease !important;
}

.dashboard .test-card:hover {
    transform: translateY(-3px);
    border-color: #d9e6c7 !important;
    box-shadow: 0 10px 28px rgba(16,24,40,.075) !important;
}

.dashboard .test-title {
    letter-spacing: -.15px;
}

.dashboard .category {
    margin-top: 6px !important;
}

.dashboard .test-description {
    line-height: 1.6 !important;
}

.dashboard .info-item {
    border: 1px solid #edf0f4;
    background: #f8fafc !important;
}

.dashboard .start-btn {
    border-radius: 9px !important;
    box-shadow: 0 4px 10px rgba(139,195,74,.12);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}

.dashboard .start-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 15px rgba(139,195,74,.18);
}

/* ---------------------------------------------------------
   PREMIUM CONVERSION CARD
   --------------------------------------------------------- */

.dashboard .conversion-card {
    border-radius: 16px !important;
    border: 1px solid #e4e9ef !important;
    box-shadow: 0 4px 16px rgba(16,24,40,.04) !important;
}

.dashboard .conversion-card h2 {
    letter-spacing: -.35px !important;
}

.dashboard .conversion-points div {
    border: 1px solid #edf0f4;
    transition:
        background .18s ease,
        transform .18s ease !important;
}

.dashboard .conversion-points div:hover {
    background: #f4f9ed !important;
    transform: translateX(2px);
}

/* ---------------------------------------------------------
   RECENT ATTEMPTS
   --------------------------------------------------------- */

.dashboard .attempts-box {
    border-radius: 15px !important;
    border: 1px solid #e4e9ef !important;
    box-shadow: 0 3px 12px rgba(16,24,40,.035) !important;
}

.dashboard .attempts-box table {
    min-width: 760px;
}

.dashboard .attempts-box th {
    background: #f8fafc !important;
    color: #667085 !important;
    font-size: 11px !important;
    letter-spacing: .45px !important;
}

.dashboard .attempts-box td {
    padding: 15px 16px !important;
}

.dashboard .attempts-box tbody tr {
    transition: background .15s ease;
}

.dashboard .attempts-box tbody tr:hover td {
    background: #fbfdf9 !important;
}

.dashboard .result-btn {
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease !important;
}

.dashboard .result-btn:hover {
    background: #f1f8e9 !important;
    border-color: #cfe3b4 !important;
    transform: translateY(-1px);
}

/* ---------------------------------------------------------
   EMPTY STATES
   --------------------------------------------------------- */

.dashboard .empty-box {
    border-radius: 15px !important;
    border: 1px solid #e4e9ef !important;
    box-shadow: 0 3px 12px rgba(16,24,40,.035) !important;
}

/* =========================================================
   MOBILE - PREMIUM FINISH
   ========================================================= */

@media (max-width: 700px) {

    .dashboard {
        width: 100% !important;
        padding: 25px 14px 45px !important;
    }

    .dashboard .welcome {
        padding-top: 2px !important;
    }

    .dashboard .welcome h1 {
        font-size: 25px !important;
        line-height: 1.18 !important;
        letter-spacing: -.45px !important;
    }

    .dashboard .welcome p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    /* Stats */

    .dashboard .stats-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 10px !important;
        margin-top: 21px !important;
    }

    .dashboard .stat-card {
        min-height: 94px !important;
        padding: 16px 14px !important;
        border-radius: 12px !important;
    }

    .dashboard .stat-label {
        font-size: 11px !important;
        margin-bottom: 7px !important;
    }

    .dashboard .stat-value {
        font-size: 23px !important;
    }

    /* Sections */

    .dashboard .section {
        margin-top: 31px !important;
    }

    .dashboard .section-title {
        font-size: 20px !important;
        margin-bottom: 14px !important;
    }

    /* Featured */

    .dashboard .featured-product {
        padding: 19px !important;
        border-radius: 15px !important;
    }

    .dashboard .featured-product h2 {
        font-size: 21px !important;
        line-height: 1.28 !important;
    }

    .dashboard .featured-title {
        font-size: 15px !important;
    }

    .dashboard .featured-description {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    .dashboard .featured-highlights {
        grid-template-columns: 1fr 1fr !important;
        gap: 7px !important;
    }

    .dashboard .featured-highlights span {
        min-height: 34px;
        display: flex;
        align-items: center;
        font-size: 10.5px !important;
        line-height: 1.25 !important;
        padding: 7px 8px !important;
    }

    .dashboard .featured-action {
        gap: 12px !important;
    }

    .dashboard .featured-action .btn {
        width: 100% !important;
        min-height: 43px;
    }

    .dashboard .featured-price strong {
        font-size: 27px !important;
    }

    /* Test cards */

    .dashboard .tests-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .dashboard .test-card {
        padding: 18px !important;
        border-radius: 13px !important;
    }

    .dashboard .test-title {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    .dashboard .test-description {
        font-size: 13px !important;
    }

    .dashboard .test-info {
        gap: 6px !important;
    }

    .dashboard .info-item {
        font-size: 11px !important;
        padding: 6px 8px !important;
    }

    .dashboard .start-btn {
        min-height: 42px;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    /* Premium card */

    .dashboard .conversion-card {
        grid-template-columns: 1fr !important;
        padding: 19px !important;
        gap: 17px !important;
        border-radius: 14px !important;
    }

    .dashboard .conversion-card h2 {
        font-size: 19px !important;
        line-height: 1.3 !important;
    }

    .dashboard .conversion-card p {
        font-size: 13px !important;
    }

    .dashboard .conversion-points {
        gap: 7px !important;
    }

    .dashboard .conversion-points div {
        padding: 9px 10px !important;
        font-size: 12px !important;
    }

    /* Recent attempts */

    .dashboard .attempts-box {
        border-radius: 12px !important;
    }

    .dashboard .table-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard .attempts-box table {
        min-width: 760px !important;
    }
}

/* ---------------------------------------------------------
   SMALL PHONES
   --------------------------------------------------------- */

@media (max-width: 380px) {

    .dashboard {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .dashboard .welcome h1 {
        font-size: 23px !important;
    }

    .dashboard .stats-grid {
        gap: 8px !important;
    }

    .dashboard .stat-card {
        padding: 14px 12px !important;
    }

    .dashboard .stat-value {
        font-size: 21px !important;
    }

    .dashboard .featured-product {
        padding: 17px !important;
    }

    .dashboard .featured-product h2 {
        font-size: 20px !important;
    }
}