/* =========================================================
   AIMT — STUDENT RESULT PORTAL (sirf result pages par load hoti hai)
   Sab rules .page-student-result ke andar scoped hain, isliye
   kisi aur page ka design override nahi hoga.
   ========================================================= */

/* ---------- Roll No + DOB card ---------- */
.page-student-result .sr-card {
    max-width: 480px;
    margin: 0 auto;
    padding: 36px 34px;
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.page-student-result .sr-card-head {
    text-align: center;
    margin-bottom: 22px;
}

.page-student-result .sr-ico {
    width: 70px;
    height: 70px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 28px;
    color: var(--white);
    background: linear-gradient(145deg, var(--green-600), var(--green-900));
    box-shadow: 0 0 0 6px var(--gold-100);
}

.page-student-result .sr-card-head h2 {
    font-size: 26px;
    margin-bottom: 6px;
}

.page-student-result .sr-card-head p {
    font-size: 14.5px;
    margin: 0;
}

.page-student-result .sr-alert {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: var(--radius-sm);
    background: #fdecec;
    color: #b42318;
    font-size: 14px;
    border: 1px solid #f7caca;
}

.page-student-result .sr-alert i {
    margin-top: 3px;
}

.page-student-result .sr-form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink-900);
    margin-bottom: 6px;
}

.page-student-result .sr-input {
    position: relative;
    margin-bottom: 18px;
}

.page-student-result .sr-input i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--green-600);
    font-size: 15px;
    pointer-events: none;
}

.page-student-result .sr-input input {
    width: 100%;
    height: 48px;
    padding: 0 14px 0 42px;
    font: inherit;
    font-size: 15px;
    color: var(--ink-900);
    background: var(--green-50);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.page-student-result .sr-input input:focus {
    background: var(--white);
    border-color: var(--green-600);
    box-shadow: 0 0 0 3px rgba(58, 81, 115, .12);
}

.page-student-result .sr-submit {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
}

.page-student-result .sr-help {
    margin: 18px 0 0;
    font-size: 13px;
    text-align: center;
    color: var(--ink-500);
}

.page-student-result .sr-help i {
    color: var(--green-600);
    margin-right: 4px;
}

/* ---------- Marksheet (Statement of Marks) ---------- */
.page-student-result {
    --ms-green: #2f4666;
    --ms-green-2: #3a5173;
    --ms-line: #d5dde8;
    --ms-soft: #f1f4f8;
    --ms-muted: #6b7585;
    --ms-red: #c62828;
}

.page-student-result .sr-toolbar {
    max-width: 900px;
    margin: 0 auto 18px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.page-student-result .sr-sem {
    max-width: 900px;
    margin: 0 auto 30px;
}

.page-student-result .ms-sem-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    font-weight: 700;
    color: var(--ms-green);
}

.page-student-result .sr-print-one {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    cursor: pointer;
    border: 1px solid var(--ms-green);
    border-radius: 999px;
    background: #fff;
    color: var(--ms-green);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    transition: background .2s, color .2s;
}

.page-student-result .sr-print-one:hover {
    background: var(--ms-green);
    color: #fff;
}

/* Sheet */
.page-student-result .ms-sheet {
    background: #fff;
    border: 2px solid var(--ms-green);
    padding: 18px 16px 22px;
    box-shadow: var(--shadow-sm);
    color: #1a2433;
    font-size: 14px;
}

/* Header */
.page-student-result .ms-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 4px double #1a2433;
    margin-bottom: 12px;
}

.page-student-result .ms-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.page-student-result .ms-logo {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    border-radius: 50%;
    overflow: hidden;
    display: grid;
    place-items: center;
    border: 2px solid var(--ms-green);
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #c9a227;
    background: #fff;
}

.page-student-result .ms-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.page-student-result .ms-brand h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ms-green);
    line-height: 1.2;
}

.page-student-result .ms-brand p {
    margin: 3px 0 0;
    font-size: 13px;
    color: #3a4556;
}

.page-student-result .ms-title {
    text-align: right;
}

.page-student-result .ms-title h3 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1a2433;
}

.page-student-result .ms-title p {
    margin: 4px 0 0;
    font-size: 12.5px;
    color: #3a4556;
}

/* Details */
.page-student-result .ms-detail {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.page-student-result .ms-detail td {
    padding: 7px 6px;
    border-bottom: 1px solid #eef1f5;
}

.page-student-result .ms-detail .lbl {
    color: #3a4556;
    text-transform: uppercase;
    font-size: 12.5px;
    width: 18%;
    white-space: nowrap;
}

.page-student-result .ms-detail .val {
    font-weight: 700;
    width: 32%;
}

.page-student-result .ms-section {
    margin: 18px 0 8px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ms-green);
}

/* Marks table */
.page-student-result .ms-table-wrap {
    overflow-x: auto;
}

.page-student-result .ms-table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: 13.5px;
    border: 1px solid var(--ms-green);
}

.page-student-result .ms-table th,
.page-student-result .ms-table td {
    padding: 8px 10px;
    text-align: center;
    border: 1px solid var(--ms-line);
}

.page-student-result .ms-table thead th {
    background: #fff;
    color: #9aa3b0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ms-green);
    white-space: nowrap;
}

.page-student-result .ms-table .left {
    text-align: left;
}

.page-student-result .ms-table td.total {
    font-weight: 800;
    color: var(--ms-green);
}

.page-student-result .ms-table td.res {
    font-size: 12px;
    font-weight: 700;
}

.page-student-result .ms-table td.res.is-pass {
    color: var(--ms-green);
}

.page-student-result .ms-table td.res.is-fail {
    color: var(--ms-red);
}

.page-student-result .ms-empty {
    padding: 18px;
    color: var(--ms-muted);
}

/* Summary boxes */
.page-student-result .ms-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.page-student-result .ms-stat {
    padding: 12px 10px;
    text-align: center;
    border: 1px solid #dbe2eb;
    border-radius: 10px;
    background: #fff;
}

.page-student-result .ms-stat span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    color: #3a4556;
}

.page-student-result .ms-stat strong {
    display: block;
    margin-top: 2px;
    font-size: 18px;
    font-weight: 800;
    color: #1a2433;
}

.page-student-result .ms-stat.is-hl {
    border-color: #bccadb;
}

.page-student-result .ms-stat.is-hl strong {
    color: var(--ms-green);
}

.page-student-result .ms-stat.is-fail {
    border-color: #f1c4c0;
}

.page-student-result .ms-stat.is-fail strong {
    color: var(--ms-red);
}

/* Footer */
.page-student-result .ms-foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-top: 30px;
}

.page-student-result .ms-issued {
    font-size: 12px;
    line-height: 1.6;
    color: #3a4556;
}

.page-student-result .ms-sign {
    text-align: center;
    font-size: 13px;
    color: #1a2433;
}

.page-student-result .ms-sign span {
    display: block;
    width: 160px;
    margin: 0 auto 8px;
    border-top: 1px solid var(--ms-green-2);
}

/* Overall (multi-semester) */
.page-student-result .ms-overall {
    max-width: 900px;
    margin: 0 auto;
    padding: 16px;
    background: #fff;
    /* border: 2px solid var(--ms-green); */
}

.page-student-result .ms-overall .ms-section {
    margin-top: 0;
}

/* ---------- Responsive (sirf screen par; print par nahi lagega) ---------- */
@media screen and (max-width: 767px) {
    .page-student-result .sr-card {
        padding: 28px 20px;
    }

    .page-student-result .ms-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-student-result .ms-title {
        text-align: left;
    }

    .page-student-result .ms-detail tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    }

    .page-student-result .ms-detail .lbl,
    .page-student-result .ms-detail .val {
        width: auto;
    }

    .page-student-result .ms-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-student-result .ms-foot {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-student-result .ms-sign {
        align-self: flex-end;
    }

    .page-student-result .sr-toolbar .btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* ---------- Print: A4, har semester ek page par, desktop jaisa format ---------- */
@media print {
    @page {
        size: A4;
        margin: 8mm;
    }

    html,
    body {
        background: #fff !important;
    }

    .page-student-result .topbar,
    .page-student-result .site-header,
    .page-student-result .site-footer,
    .page-student-result .page-banner,
    .page-student-result .sr-toolbar,
    .page-student-result .ms-sem-actions,
    .page-student-result .back-to-top,
    .page-student-result .nav-backdrop {
        display: none !important;
    }

    .page-student-result main,
    .page-student-result .inner-wrap {
        padding: 0 !important;
        margin: 0 !important;
    }

    .page-student-result .container {
        max-width: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .page-student-result .sr-sem {
        max-width: none;
        margin: 0;
        break-after: page;
        page-break-after: always;
    }

    .page-student-result .sr-sem:last-of-type {
        break-after: auto;
        page-break-after: auto;
    }

    .page-student-result .ms-sheet {
        box-shadow: none;
        padding: 14px 14px 16px;
        break-inside: avoid;
        page-break-inside: avoid;
        font-size: 12.5px;
    }

    /* header ek line me (logo+naam left, title right) */
    .page-student-result .ms-head {
        flex-direction: row;
        align-items: center;
        padding-bottom: 8px;
        margin-bottom: 8px;
    }

    .page-student-result .ms-title {
        text-align: right;
    }

    .page-student-result .ms-logo {
        width: 46px;
        height: 46px;
    }

    .page-student-result .ms-brand h2 {
        font-size: 18px;
    }

    .page-student-result .ms-brand p {
        font-size: 11.5px;
    }

    .page-student-result .ms-title h3 {
        font-size: 14px;
    }

    .page-student-result .ms-title p {
        font-size: 11px;
    }

    /* details 2 column */
    .page-student-result .ms-detail {
        font-size: 12px;
    }

    .page-student-result .ms-detail tr {
        display: table-row;
    }

    .page-student-result .ms-detail td {
        padding: 5px 6px;
    }

    .page-student-result .ms-detail .lbl {
        width: 18%;
        font-size: 11px;
    }

    .page-student-result .ms-detail .val {
        width: 32%;
    }

    .page-student-result .ms-section {
        margin: 12px 0 6px;
        font-size: 11.5px;
    }

    /* table poori width me, scrollbar nahi */
    .page-student-result .ms-table-wrap {
        overflow: visible !important;
    }

    .page-student-result .ms-table {
        min-width: 0 !important;
        width: 100%;
        font-size: 11.5px;
    }

    .page-student-result .ms-table th,
    .page-student-result .ms-table td {
        padding: 4px 6px;
    }

    .page-student-result .ms-table thead th {
        font-size: 10px;
    }

    .page-student-result .ms-table tr {
        break-inside: avoid;
    }

    /* summary 4 box ek line me */
    .page-student-result .ms-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        margin-top: 10px;
    }

    .page-student-result .ms-stat {
        padding: 8px 6px;
    }

    .page-student-result .ms-stat span {
        font-size: 10.5px;
    }

    .page-student-result .ms-stat strong {
        font-size: 16px;
    }

    /* footer: issued left, sign right */
    .page-student-result .ms-foot {
        flex-direction: row;
        align-items: flex-end;
        margin-top: 22px;
    }

    .page-student-result .ms-sign {
        align-self: auto;
        font-size: 12px;
    }

    .page-student-result .ms-issued {
        font-size: 11px;
    }

    .page-student-result .ms-overall {
        max-width: none;
        padding: 12px;
        break-inside: avoid;
    }

    .page-student-result * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* sirf ek semester print */
    body.print-single .sr-sem:not(.is-print-target),
    body.print-single .ms-overall {
        display: none !important;
    }

    body.print-single .sr-sem {
        break-after: auto;
        page-break-after: auto;
    }
}

/* ===== Overall Summary: light background + styling ===== */
.page-student-result .ms-sheet .ms-overall {
    margin-top: 18px;
    padding: 16px 16px 14px;
    background: #eef3f9 !important;
    /* light background */
    border: 0 !important;
    border-top: 2px dashed #b8c4d4 !important;
    border-radius: 0 0 10px 10px;
}

.page-student-result .ms-overall .ms-overall-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.page-student-result .ms-overall .ms-overall-head h4 {
    margin: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #1b2a40;
}

.page-student-result .ms-overall .ms-overall-head h4 i {
    margin-right: 6px;
    color: #3a5173;
}

.page-student-result .ms-overall .ms-overall-head span {
    padding: 4px 12px;
    border-radius: 20px;
    background: #3a5173;
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
}

.page-student-result .ms-overall .ms-summary {
    margin-top: 0;
}

.page-student-result .ms-overall .ms-stat {
    background: #fff;
}

/* Print me bhi background dikhe */
@media print {
    .page-student-result .ms-sheet .ms-overall {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        margin-top: 12px;
        padding: 10px 10px 8px;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .page-student-result .ms-overall .ms-overall-head {
        flex-wrap: wrap;
    }
}
/* ===== Result: border lines dark ===== */
.page-student-result .ms-table { border: 1.5px solid #1b2a40; }
.page-student-result .ms-table th,
.page-student-result .ms-table td { border: 1px solid #5f6b7a !important; }
.page-student-result .ms-table thead th {
  border-bottom: 1.5px solid #1b2a40 !important;
  color: #1b2a40;                     /* heading text bhi dark */
}

.page-student-result .ms-detail td { border-bottom: 1px solid #8a97a8; }

.page-student-result .ms-stat { border: 1px solid #5f6b7a; }
.page-student-result .ms-stat.is-hl { border-color: #3a5173; }
.page-student-result .ms-stat.is-fail { border-color: #c0392b; }

@media print {
  .page-student-result .ms-table th,
  .page-student-result .ms-table td,
  .page-student-result .ms-stat,
  .page-student-result .ms-detail td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
