:root {
    --primary: #182B51;
    --primary-deep: #182B51;
    --primary-soft: #f1f3f5;
    --accent: #2563eb;
    --accent-soft: #eff6ff;
    --bg: #f5f6f8;
    --bg-strong: #eceff3;
    --card: #ffffff;
    --card-alt: #ffffff;
    --text: #182B51;
    --muted: #5f6674;
    --line: #d7dce3;
    --line-strong: #d7dce3;
    --shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    --shadow-lg: 0 18px 38px rgba(15, 23, 42, 0.08);
    --radius-xl: 24px;
    --radius-lg: 20px;
    --radius-md: 16px;
    --radius-pill: 10px;
    --transition: 180ms ease;
    --font-fa: "IRANYekan", "IRANSansX", Tahoma, sans-serif;
    --question-formula-inline-size: 1.02em;
    --question-formula-display-size: clamp(1rem, 0.95rem + 0.35vw, 1.16rem);
    --question-image-max-width: 520px;
    --question-image-max-height: 320px;
    --question-option-image-size: 168px;
    --question-option-image-max-height: 168px;
    --question-print-image-width: 92mm;
    --question-print-image-height: 54mm;
    --question-print-option-image-size: 34mm;
}

/* Complete online exam delivery */
.online-settings-shell,
.student-exams-shell,
.attempt-gate-shell,
.attempt-complete-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 32px auto 64px;
}

.online-settings-header,
.student-exams-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 28px;
    margin-bottom: 22px;
    color: #fff;
    background: linear-gradient(135deg, #182b51, #28497d);
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(24, 43, 81, .18);
}

.online-settings-header h1,
.student-exams-hero h1 {
    margin: 8px 0;
    color: #fff;
}

.online-settings-header p,
.student-exams-hero p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
}

.online-settings-kicker,
.student-exams-hero > div > span {
    color: #ffffff;
    font-weight: 800;
}

.online-settings-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.online-settings-run-code,
.student-device-chip {
    padding: 12px 16px;
    color: #182b51;
    background: #ffffff;
    border-radius: 16px;
}

.online-settings-run-code {
    display: grid;
    gap: 3px;
}

.online-settings-run-code span {
    font-size: .78rem;
}

.online-settings-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.online-settings-card,
.student-run-code-card,
.student-exam-list,
.attempt-gate-card,
.attempt-complete-shell {
    padding: 24px;
    background: #fff;
    border: 1px solid #d7dce3;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.online-settings-wide {
    grid-column: 1 / -1;
}

.online-settings-card-head {
    margin-bottom: 20px;
}

.online-settings-card-head > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.online-settings-card-head > div > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: #ffffff;
    background: #182b51;
    border-radius: 12px;
}

.online-settings-card-head strong,
.student-run-code-card strong {
    display: block;
    color: #182b51;
}

.online-settings-card-head small,
.student-run-code-card small {
    color: #64748b;
}

.online-settings-grid,
.online-settings-message-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.online-settings-choice-field,
.online-settings-check-list {
    padding: 16px;
    margin: 18px 0 0;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.online-settings-choice-field ul,
.online-settings-check-list ul {
    display: grid;
    gap: 10px;
    padding: 0;
    list-style: none;
}

.online-settings-switch {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
}

.online-settings-switch.compact {
    min-height: 58px;
}

.online-settings-switch small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.online-settings-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.online-settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

/* Online exam settings - reference dashboard layout. */
.exam-reference-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 4px auto 52px;
    color: #31343b;
}

.exam-reference-layout {
    display: grid;
    gap: 14px;
}

.exam-reference-top-grid {
    display: grid;
    grid-template-columns: minmax(220px, 250px) minmax(360px, 1fr) minmax(220px, 255px);
    grid-template-areas: "schedule preview summary";
    align-items: stretch;
    gap: 14px;
    direction: ltr;
}

.exam-reference-top-grid > * {
    direction: rtl;
}

.exam-reference-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 250px);
    grid-template-areas: "main guide";
    align-items: start;
    gap: 14px;
    direction: ltr;
}

.exam-reference-summary-card,
.exam-reference-guide,
.exam-reference-quick-card,
.exam-reference-schedule-card,
.exam-reference-panel,
.exam-reference-result-card {
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}

.exam-reference-summary-card,
.exam-reference-guide,
.exam-reference-quick-card,
.exam-reference-schedule-card {
    overflow: hidden;
    border-radius: 18px;
}

.exam-reference-summary-card {
    grid-area: summary;
    min-height: 318px;
}

.exam-reference-top-grid .exam-reference-summary-card,
.exam-reference-top-grid .exam-reference-quick-card,
.exam-reference-top-grid .exam-reference-schedule-card {
    height: 100%;
}

.exam-reference-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 12px;
    color: var(--primary);
    font-weight: 900;
}

.exam-reference-brand-mark {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 2px solid var(--accent);
    border-radius: 50%;
    color: var(--primary);
    background: var(--accent);
}

.exam-reference-cover {
    display: grid;
    min-height: 82px;
    place-content: center;
    gap: 6px;
    padding: 10px 14px;
    border-block: 1px solid #ededed;
    color: #fff;
    text-align: center;
    background:
        radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .34) 1px, transparent 0) 0 0 / 10px 10px,
        linear-gradient(145deg, var(--primary), #28497d);
}

.exam-reference-cover span,
.exam-reference-cover small {
    color: rgba(255, 255, 255, .74);
}

.exam-reference-cover strong {
    font-size: .9rem;
}

.exam-reference-meta {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 4px 13px;
}

.exam-reference-meta div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid #f0f1f2;
}

.exam-reference-meta div:last-child {
    border-bottom: 0;
}

.exam-reference-meta dt {
    color: #727680;
    font-size: .68rem;
}

.exam-reference-meta dd {
    margin: 0;
    color: #282b31;
    font-size: .7rem;
    font-weight: 800;
}

.exam-reference-code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 13px 9px;
    padding: 7px 9px;
    border-radius: 10px;
    background: #f7f7f8;
    font-size: .66rem;
}

.exam-reference-code strong {
    color: var(--primary);
    letter-spacing: .03em;
}

.exam-reference-summary-actions,
.exam-reference-mobile-actions {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10px;
}

.exam-reference-summary-actions {
    padding: 0 13px 11px;
}

.exam-reference-summary-actions .btn,
.exam-reference-mobile-actions .btn {
    min-height: 36px;
    padding-inline: 14px;
}

.exam-reference-summary-actions .btn-primary,
.exam-reference-mobile-actions .btn-primary {
    border-color: var(--primary) !important;
    background: var(--primary) !important;
    color: var(--accent) !important;
    box-shadow: none !important;
}

.exam-reference-summary-actions .btn-primary:hover,
.exam-reference-mobile-actions .btn-primary:hover {
    border-color: #28497d !important;
    background: #28497d !important;
    color: var(--accent) !important;
}

.exam-reference-guide {
    grid-area: guide;
    position: sticky;
    top: 112px;
    padding: 18px;
}

.exam-reference-guide-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    font-size: .85rem;
}

.exam-reference-guide ul {
    display: grid;
    gap: 9px;
    margin: 14px 0 0;
    padding: 0 18px 0 0;
    color: #656a74;
    font-size: .75rem;
    line-height: 1.9;
}

.exam-reference-main {
    grid-area: main;
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
    direction: rtl;
}

.exam-reference-quick-card {
    grid-area: preview;
    display: flex;
    min-height: 318px;
    flex-direction: column;
    gap: 11px;
    padding: 15px;
}

.exam-reference-quick-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eceef0;
}

.exam-reference-quick-head > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.exam-reference-quick-head h2 {
    margin: 0;
    color: #37343a;
    font-size: .9rem;
}

.exam-reference-quick-head p {
    margin: 3px 0 0;
    color: #8a8d94;
    font-size: .68rem;
}

.exam-reference-quick-count {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 10px;
    color: var(--primary);
    background: #f1f5f9;
    font-size: .7rem;
    font-weight: 900;
}

.exam-reference-quick-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    color: #9a3412;
    background: #fff7ed;
    font-size: .68rem;
}

.exam-reference-quick-notice span {
    color: #9a6a52;
}

.exam-reference-quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.exam-reference-quick-card .field-wrap {
    gap: 4px;
}

.exam-reference-quick-card .field-wrap label {
    font-size: .7rem;
}

.exam-reference-shell .exam-reference-quick-card .form-control,
.exam-reference-shell .exam-reference-quick-card select,
.exam-reference-shell .exam-reference-quick-card input[type='number'] {
    min-height: 38px;
    padding: 7px 9px;
    font-size: .72rem;
}

.exam-reference-quick-activation {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    border: 1px solid #dce3ed;
    border-radius: 11px;
    background: #f8fafc;
    cursor: pointer;
}

.exam-reference-quick-activation input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    accent-color: var(--primary);
}

.exam-reference-quick-activation span {
    display: grid;
    gap: 2px;
}

.exam-reference-quick-activation strong {
    color: #414750;
    font-size: .75rem;
}

.exam-reference-quick-activation small {
    color: #7d8490;
    font-size: .65rem;
    line-height: 1.6;
}

.exam-reference-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: auto;
    padding-top: 9px;
    border-top: 1px solid #eceef0;
}

.exam-reference-quick-links a {
    color: var(--primary);
    font-size: .7rem;
    font-weight: 900;
}

.exam-reference-schedule-card {
    grid-area: schedule;
    min-height: 318px;
    padding: 9px;
}

.exam-reference-schedule-card-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 5px;
}

.exam-reference-schedule-card .field-wrap {
    gap: 4px;
}

.exam-reference-schedule-card .field-wrap label {
    font-size: .68rem;
}

.exam-reference-schedule-card .form-control,
.exam-reference-schedule-card select {
    min-height: 38px;
    padding: 7px 9px;
    font-size: .72rem;
}

.exam-reference-alert {
    padding: 12px 16px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    background: #fff7ed;
}

.exam-reference-connection {
    display: grid;
    gap: 12px;
}

.exam-reference-connection-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.exam-reference-connection-question > strong {
    color: #555a63;
    font-size: .76rem;
}

.exam-reference-connection-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(92px, 1fr));
    gap: 7px;
}

.exam-reference-connection-tabs label {
    cursor: pointer;
}

.exam-reference-connection-tabs input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.exam-reference-connection-tabs span {
    display: grid;
    min-height: 38px;
    place-items: center;
    padding: 6px 14px;
    border: 1px solid #d9dee7;
    border-radius: 10px;
    background: #fff;
    color: #656b76;
    font-size: .72rem;
    font-weight: 800;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.exam-reference-connection-tabs input:checked + span {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--accent);
}

.exam-reference-connection-panel {
    padding: 11px;
    border: 1px solid #edf0f3;
    border-radius: 12px;
    background: #fbfbfc;
}

.exam-reference-connection-panel[hidden] {
    display: none;
}

.exam-reference-participant-capacity {
    width: min(100%, 360px);
    margin-bottom: 12px;
}

.exam-reference-access-scope {
    padding: 10px 12px;
    margin: 0 0 10px;
    border: 1px solid #e7eaf0;
    border-radius: 10px;
    background: #fff;
}

.exam-reference-access-scope legend {
    padding: 0 4px;
    color: #656b74;
    font-size: .72rem;
    font-weight: 800;
}

.exam-reference-access-scope > div {
    display: grid;
    gap: 6px;
}

.exam-reference-access-scope label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.exam-reference-access-scope input {
    accent-color: var(--primary);
}

[data-participant-target-panel][hidden] {
    display: none;
}

.exam-reference-participant-search {
    width: min(100%, 290px);
    margin-bottom: 9px;
}

.exam-reference-participant-list {
    padding: 0;
    border: 0;
}

.exam-reference-participant-list legend {
    margin-bottom: 7px;
    color: #656b74;
    font-size: .7rem;
    font-weight: 800;
}

.exam-reference-participant-list > div {
    display: grid;
    max-height: 145px;
    gap: 4px;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    list-style: none;
}

.exam-reference-participant-list > div > div label,
.exam-reference-class-selector > div > div label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 4px 7px;
    border-radius: 7px;
    color: #5e646e;
    font-size: .7rem;
}

.exam-reference-participant-list > div > div label:hover,
.exam-reference-class-selector > div > div label:hover {
    background: #f0f3f7;
}

.exam-reference-participant-list > div > div input,
.exam-reference-class-selector > div > div input {
    accent-color: var(--primary);
}

.exam-reference-class-selector {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e7eaf0;
}

.exam-reference-class-selector summary {
    color: var(--primary);
    font-size: .7rem;
    font-weight: 800;
    cursor: pointer;
}

.exam-reference-class-selector > div {
    display: grid;
    gap: 3px;
    padding: 7px 0 0;
    margin: 0;
    list-style: none;
}

.exam-reference-panel {
    padding: 14px;
    border-radius: 14px;
    box-shadow: none;
}

.exam-reference-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 9px;
    border-bottom: 1px solid #eceef0;
}

.exam-reference-section-head > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.exam-reference-section-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: var(--primary);
    font-weight: 900;
}

.exam-reference-section-head h2,
.exam-reference-result-card h2,
.exam-reference-subsection h2 {
    margin: 0;
    color: #37343a;
    font-size: .92rem;
}

.exam-reference-section-head p {
    margin: 3px 0 0;
    color: #8a8d94;
    font-size: .7rem;
}

.exam-reference-chevron {
    color: #7c8088;
}

.exam-reference-inline-fields {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, minmax(110px, .7fr));
    gap: 9px;
}

.exam-reference-shell .field-wrap {
    gap: 6px;
}

.exam-reference-shell .field-wrap label,
.exam-reference-choice-block legend,
.exam-reference-check-columns legend {
    color: #545760;
    font-size: .76rem;
    font-weight: 800;
}

.exam-reference-shell .form-control,
.exam-reference-shell select,
.exam-reference-shell textarea,
.exam-reference-shell input[type='text'],
.exam-reference-shell input[type='number'],
.exam-reference-shell input[type='time'],
.exam-reference-shell input[type='file'] {
    min-height: 42px;
    padding: 9px 12px;
    border-color: #d9dce1;
    border-radius: 10px;
    color: #454850;
    font-size: .78rem;
}

.exam-reference-shell textarea {
    min-height: 104px;
}

.exam-reference-mode-row {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-top: 11px;
    padding-top: 11px;
    border-top: 1px solid #f0f1f2;
    font-size: .78rem;
}

.exam-reference-mode-row > span {
    font-weight: 900;
}

.exam-reference-mode-row > a {
    color: var(--primary);
    font-size: .73rem;
    font-weight: 900;
}

.exam-reference-radio-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 8px 12px;
    border: 1px solid #e0e2e6;
    border-radius: 10px;
    background: #fafafa;
    cursor: pointer;
}

.exam-reference-radio-card input,
.exam-reference-check-row input,
.exam-reference-check-columns input {
    accent-color: var(--primary);
}

.exam-reference-radio-card input {
    width: 17px;
    height: 17px;
}

.exam-reference-radio-card span {
    display: grid;
    gap: 2px;
}

.exam-reference-radio-card strong {
    color: #474a52;
}

.exam-reference-radio-card small {
    color: #92959c;
    font-size: .68rem;
}

.exam-reference-schedule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.exam-reference-schedule-grid .field-wrap:nth-child(5),
.exam-reference-schedule-grid .field-wrap:nth-child(6) {
    grid-column: span 2;
}

.exam-reference-choice-block {
    padding: 0;
    margin: 16px 0 0;
    border: 0;
}

.exam-reference-choice-block legend {
    margin-bottom: 8px;
}

.exam-reference-choice-block ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.exam-reference-choice-block li label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid #e1e3e7;
    border-radius: 10px;
    background: #fafafa;
    color: #5a5d64;
    font-size: .74rem;
    cursor: pointer;
}

.exam-reference-choice-block input {
    accent-color: var(--primary);
}

.exam-reference-answer-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 12px;
}

.exam-reference-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    color: #5a5d64;
    font-size: .73rem;
    cursor: pointer;
}

.exam-reference-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.exam-reference-toggle > span {
    position: relative;
    width: 34px;
    height: 19px;
    border-radius: 50%;
    background: #d8dadd;
    transition: background .18s ease;
}

.exam-reference-toggle > span::after {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
    content: "";
    transition: transform .18s ease;
}

.exam-reference-toggle input:checked + span {
    background: var(--primary);
}

.exam-reference-start-picker,
.exam-reference-floating-picker {
    grid-column: span 2;
}

.exam-reference-schedule-workspace {
    display: grid;
    grid-template-columns: minmax(245px, 280px) minmax(0, 1fr);
    grid-template-areas: "calendar controls";
    align-items: stretch;
    gap: 14px;
    direction: ltr;
}

.exam-reference-compact-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
}

.exam-reference-calendar-card,
.exam-reference-schedule-controls {
    direction: rtl;
}

.exam-reference-calendar-card {
    grid-area: calendar;
    padding: 12px;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
    background: #fbfbfc;
}

.exam-reference-calendar-title {
    display: grid;
    gap: 3px;
    margin-bottom: 8px;
}

.exam-reference-calendar-title strong {
    color: var(--primary);
    font-size: .8rem;
}

.exam-reference-calendar-title span {
    color: #8b9099;
    font-size: .68rem;
}

.exam-reference-schedule-controls {
    grid-area: controls;
    display: grid;
    align-content: start;
    gap: 12px;
}

.exam-reference-time-row,
.exam-reference-stat-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.exam-reference-time-row .exam-reference-floating-picker {
    grid-column: auto;
}

.exam-persian-time-picker {
    display: grid;
    grid-template-columns: minmax(82px, 1fr) 10px minmax(82px, 1fr);
    align-items: end;
    gap: 6px;
    width: 100%;
    direction: ltr;
}

.exam-persian-time-segment {
    display: grid;
    min-width: 0;
    gap: 3px;
    direction: rtl;
}

.exam-persian-time-segment > span {
    color: #727985;
    font-size: .62rem;
    font-weight: 700;
    text-align: center;
}

.exam-persian-time-separator {
    display: grid;
    min-height: 38px;
    place-items: center;
    color: var(--primary);
    font-size: 1rem;
    font-weight: 900;
}

.exam-persian-time-segment select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    direction: rtl;
    padding: 6px 8px !important;
    color: var(--primary) !important;
    text-align: center;
    font-weight: 800;
}

.exam-reference-schedule-card .persian-date-picker-time {
    display: none !important;
}

.exam-reference-calendar-card .persian-date-picker.is-inline {
    min-height: 292px;
}

.exam-reference-schedule-card .persian-date-picker.is-inline {
    min-height: 196px;
}

.exam-reference-schedule-card .persian-date-picker.is-inline > .persian-date-picker-display,
.exam-reference-schedule-card .persian-date-picker.is-inline > .persian-date-picker-toggle {
    display: none !important;
}

.exam-reference-schedule-card .persian-date-picker.is-inline .persian-date-picker-panel {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 5px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

.exam-reference-schedule-card .persian-date-picker-header {
    gap: 4px;
}

.exam-reference-schedule-card .persian-date-picker-header strong {
    font-size: .72rem;
}

.exam-reference-schedule-card .persian-date-picker-nav,
.exam-reference-schedule-card .persian-date-picker-action {
    min-height: 28px;
    padding: 2px 6px;
    border-radius: 8px;
    font-size: .62rem;
}

.exam-reference-schedule-card .persian-date-picker-weekdays {
    margin: 6px 0 3px;
    font-size: .62rem;
}

.exam-reference-schedule-card .persian-date-picker-days {
    gap: 3px;
}

.exam-reference-schedule-card .persian-date-picker-day {
    min-height: 25px;
    border: 1px solid #edf0f3;
    border-radius: 8px;
    background: #fff;
    color: #646a73;
    font-size: .62rem;
}

.exam-reference-schedule-card .persian-date-picker-day.is-selected {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--primary);
}

.exam-reference-schedule-card .persian-date-picker-actions {
    display: none;
}

.exam-reference-schedule-card .exam-reference-calendar-title {
    display: none;
}

.exam-reference-schedule-card .exam-reference-floating-help {
    margin-top: 4px;
    padding: 5px 7px;
    font-size: .62rem;
}

.exam-reference-schedule-card .exam-reference-manual-window {
    margin: 6px 0 0;
    padding: 7px;
}

.exam-reference-calendar-card .persian-date-picker.is-inline .persian-date-picker-panel {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
}

.exam-reference-calendar-card .persian-date-picker-day {
    min-height: 30px;
    border: 1px solid #edf0f3;
    border-radius: 9px;
    background: #fff;
    color: #616771;
    font-size: .72rem;
}

.exam-reference-calendar-card .persian-date-picker-day.is-selected {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--primary);
}

.exam-reference-calendar-card .persian-date-picker-day.is-today {
    box-shadow: inset 0 0 0 1px var(--primary);
}

.exam-reference-calendar-card .persian-date-picker-action.is-primary {
    background: var(--primary);
    color: var(--accent);
}

.exam-reference-floating-help {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px solid #e1e5eb;
    border-radius: 10px;
    background: #f8fafc;
    color: #69707c;
    font-size: .72rem;
    line-height: 1.8;
}

.exam-reference-floating-help strong {
    flex: 0 0 auto;
    color: var(--primary);
}

.exam-reference-floating-picker select {
    color: var(--primary);
    font-weight: 800;
}

.exam-reference-manual-window {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid #e1e5eb;
    border-radius: 10px;
    background: #f8fafc;
}

.exam-reference-toggle input:checked + span::after {
    transform: translateX(-15px);
}

.exam-reference-toggle strong {
    font-weight: 700;
}

.exam-reference-more {
    padding: 0;
}

.exam-reference-more > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 18px;
    color: #52555d;
    font-size: .78rem;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.exam-reference-more > summary::-webkit-details-marker {
    display: none;
}

.exam-reference-more[open] > summary {
    border-bottom: 1px solid #eceef0;
}

.exam-reference-more[open] > summary span:last-child {
    transform: rotate(180deg);
}

.exam-reference-more-content {
    display: grid;
    gap: 0;
}

.exam-reference-subsection {
    padding: 18px;
    border-bottom: 1px solid #eceef0;
}

.exam-reference-subsection:last-child {
    border-bottom: 0;
}

.exam-reference-subsection h2 {
    margin-bottom: 14px;
}

.exam-reference-two-column,
.exam-reference-check-columns,
.exam-reference-message-grid,
.exam-reference-extra-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.exam-reference-check-columns {
    margin-top: 12px;
}

.exam-reference-check-columns fieldset {
    padding: 12px;
    border: 1px solid #e1e3e7;
    border-radius: 10px;
}

.exam-reference-check-columns ul {
    display: grid;
    gap: 7px;
    padding: 0;
    margin: 8px 0 0;
    list-style: none;
}

.exam-reference-check-columns li label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #62656c;
    font-size: .73rem;
}

.exam-reference-check-columns small {
    color: #92959c;
    font-size: .68rem;
}

.exam-reference-check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    color: #5b5e65;
    font-size: .74rem;
    cursor: pointer;
}

.exam-reference-check-row input {
    width: 16px;
    height: 16px;
}

.exam-reference-message-wide {
    grid-column: 1 / -1;
}

.exam-reference-compact-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 12px;
}

.exam-reference-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.exam-reference-result-card {
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 13px;
    border-radius: 12px;
    box-shadow: none;
}

.exam-reference-result-card h2 {
    margin-bottom: 6px;
}

.exam-reference-result-card small {
    color: #8a8f98;
    font-size: .66rem;
    line-height: 1.8;
}

.exam-reference-mobile-actions {
    display: none;
}

@media (max-width: 1000px) {
    .exam-reference-top-grid {
        grid-template-columns: minmax(205px, 230px) minmax(300px, 1fr) minmax(205px, 230px);
    }

    .exam-reference-content-grid {
        grid-template-columns: minmax(0, 1fr) minmax(205px, 230px);
    }

    .exam-reference-inline-fields,
    .exam-reference-schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exam-reference-schedule-grid .field-wrap:nth-child(5),
    .exam-reference-schedule-grid .field-wrap:nth-child(6) {
        grid-column: auto;
    }

    .exam-reference-start-picker,
    .exam-reference-floating-picker {
        grid-column: auto;
    }

    .exam-reference-schedule-workspace {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .exam-reference-title-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .exam-reference-shell {
        width: min(100% - 20px, 1180px);
        margin-top: 0;
    }

    .exam-reference-top-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "summary schedule"
            "preview preview";
    }

    .exam-reference-content-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "main"
            "guide";
    }

    .exam-reference-summary-actions {
        display: none;
    }

    .exam-reference-guide {
        position: static;
    }

    .exam-reference-choice-block ul,
    .exam-reference-answer-grid,
    .exam-reference-result-grid {
        grid-template-columns: 1fr;
    }

    .exam-reference-quick-notice {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .exam-reference-schedule-workspace {
        grid-template-columns: 1fr;
        grid-template-areas:
            "controls"
            "calendar";
    }

    .exam-reference-mobile-actions {
        display: grid;
    }
}

@media (max-width: 520px) {
    .exam-reference-top-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "summary"
            "schedule"
            "preview";
    }

    .exam-reference-inline-fields,
    .exam-reference-schedule-grid,
    .exam-reference-two-column,
    .exam-reference-check-columns,
    .exam-reference-message-grid,
    .exam-reference-extra-grid {
        grid-template-columns: 1fr;
    }

    .exam-reference-time-row,
    .exam-reference-stat-row,
    .exam-reference-compact-stats,
    .exam-reference-quick-grid {
        grid-template-columns: 1fr;
    }

    .exam-reference-title-field,
    .exam-reference-message-wide {
        grid-column: auto;
    }

    .exam-reference-mode-row {
        grid-template-columns: 1fr;
    }

    .exam-reference-connection-question {
        align-items: stretch;
        flex-direction: column;
    }

    .exam-reference-panel {
        padding: 15px;
    }
}

.student-run-code-card {
    margin-bottom: 22px;
}

.student-run-code-card form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    margin-top: 16px;
}

.student-exam-list-head,
.student-exam-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

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

.student-exam-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    border: 1px solid #d7dce3;
    border-radius: 18px;
}

.student-exam-card.is-locked {
    background: #f8fafc;
}

.student-exam-card h3,
.student-exam-card p,
.student-exam-card dl {
    margin: 0;
}

.student-exam-card dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.student-exam-card dl div {
    padding: 10px;
    background: #f8fafc;
    border-radius: 12px;
}

.student-exam-card dt {
    color: #64748b;
    font-size: .8rem;
}

.student-exam-card dd {
    margin: 4px 0 0;
    font-weight: 800;
}

.student-exam-lock-message {
    color: #b45309;
    font-size: .88rem;
}

.attempt-gate-shell > header {
    margin-bottom: 20px;
    text-align: center;
}

.attempt-gate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.attempt-gate-card dl {
    display: grid;
    gap: 10px;
}

.attempt-gate-card dl div {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}

.attempt-gate-note,
.attempt-gate-rules,
.attempt-gate-warning {
    padding: 14px;
    margin: 14px 0;
    background: #f8fafc;
    border-radius: 14px;
}

.attempt-gate-warning {
    color: #9a3412;
    background: #fff7ed;
}

.attempt-rules-accept {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0;
}

.attempt-complete-shell {
    max-width: 660px;
    text-align: center;
}

.attempt-complete-icon {
    display: grid;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    place-items: center;
    color: #fff;
    background: #15803d;
    border-radius: 50%;
    font-size: 2rem;
}

@media (max-width: 900px) {
    .online-settings-form,
    .online-settings-grid,
    .online-settings-message-grid,
    .attempt-gate-grid {
        grid-template-columns: 1fr;
    }

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

    .online-settings-header,
    .student-exams-hero {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 620px) {
    .online-settings-shell,
    .student-exams-shell,
    .attempt-gate-shell,
    .attempt-complete-shell {
        width: min(100% - 20px, 1180px);
        margin-top: 16px;
    }

    .online-settings-header-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .student-run-code-card form,
    .student-exam-grid,
    .online-settings-toggle-grid {
        grid-template-columns: 1fr;
    }
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iran-yekan-400.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iran-yekan-700.ttf") format("truetype");
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANSansX";
    src: url("../fonts/IRANSans Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-y: auto;
}

body {
    margin: 0;
    direction: rtl;
    font-family: var(--font-fa);
    color: var(--text);
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--bg);
}

@media (min-width: 761px) {
    html.authenticated-app {
        font-size: 110%;
    }
}

main.app-shell,
.app-shell-guest-home,
.home-reference-build {
    overflow: visible !important;
    font-family: "IRANYekan", var(--font-fa);
}

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

img {
    max-width: 100%;
    display: block;
}

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

.container {
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
}

.site-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(236, 239, 243, 0.72));
}

.edu-navbar-shell {
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 18px 0 0;
}

.edu-navbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 28px;
    box-shadow: var(--shadow);
    backdrop-filter: blur(14px);
    padding: 16px 22px;
}

.edu-navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-self: start;
}

.edu-brand-mark {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.site-logo {
    display: block;
    height: 40px;
    width: auto;
    object-fit: contain;
    max-width: 100%;
}

.edu-brand-text {
    display: grid;
    gap: 3px;
}

.edu-brand-text strong {
    font-size: 1.05rem;
    font-weight: 800;
}

.edu-brand-text small {
    color: var(--muted);
    font-size: 0.82rem;
}

.edu-navbar-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.edu-nav-link {
    padding: 12px 18px;
    border-radius: var(--radius-pill);
    color: var(--primary);
    font-weight: 700;
    transition: background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.edu-nav-link:hover {
    background: var(--primary);
    color: var(--accent);
}

.edu-nav-link.is-active {
    color: var(--accent);
    background: var(--primary);
    box-shadow: inset 0 -2px 0 rgba(24, 43, 81, 0.24);
}

.edu-navbar-user {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-self: end;
    flex-wrap: nowrap;
}

.edu-user-profile-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    flex-wrap: nowrap;
}

.edu-user-profile-link:hover .edu-user-label,
.edu-user-profile-link:focus-visible .edu-user-label {
    color: var(--accent);
}

.edu-user-profile-link:focus-visible {
    outline: 2px solid rgba(24, 43, 81, 0.22);
    outline-offset: 4px;
    border-radius: 50%;
}

.edu-user-label {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 16px;
    border-radius: var(--radius-pill);
    background: #ffffff;
    border: 1px solid var(--line);
    color: var(--primary);
    font-weight: 700;
}

.edu-bell-btn {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    color: var(--primary);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    cursor: pointer;
    font-size: 1.15rem;
}

.app-shell {
    position: relative;
    padding: 28px 0 56px;
}

.messages-stack {
    display: grid;
    gap: 12px;
    margin-bottom: 20px;
}

.flash {
    padding: 14px 18px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.purchase-feedback-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: none;
    place-items: center;
    padding: 20px;
    background: rgba(10, 20, 40, 0.58);
    backdrop-filter: blur(5px);
}

.purchase-feedback-backdrop.is-visible { display: grid; }
.purchase-feedback-backdrop[hidden] { display: none !important; }

.purchase-feedback-modal {
    position: relative;
    width: min(440px, 100%);
    padding: 30px;
    border-radius: 26px;
    border: 1px solid rgba(37, 99, 235, 0.8);
    background: linear-gradient(180deg, #fff, #eff6ff);
    box-shadow: 0 28px 80px rgba(10, 20, 40, 0.28);
    text-align: center;
}

.purchase-feedback-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #182b51;
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
}

.purchase-feedback-modal.error .purchase-feedback-icon { background: #182b51; color: #ffffff; }
.purchase-feedback-modal h2 { margin-bottom: 8px; color: #182b51; }
.purchase-feedback-modal p { margin-bottom: 20px; }
.exam-delivery-choice-modal {
    width: min(560px, 100%);
}

.exam-delivery-choice-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.exam-delivery-choice-later {
    display: inline-block;
    margin-top: 18px;
    color: #475569;
    font-size: 0.9rem;
    font-weight: 700;
}

.exam-capability-status {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.exam-status-pill.is-inactive {
    background: #f1f5f9;
    color: #64748b;
    border-color: #cbd5e1;
}

@media (max-width: 560px) {
    .exam-delivery-choice-actions {
        grid-template-columns: 1fr;
    }
}

.purchase-feedback-close {
    position: absolute;
    top: 12px;
    left: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f1f3f5;
    color: #182b51;
    font-size: 22px;
    cursor: pointer;
}

h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}

p {
    color: var(--muted);
    line-height: 1.9;
}

.btn,
.cta-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    cursor: pointer;
    font-weight: 800;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}

.btn:hover,
.cta-pill:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.btn-primary,
.cta-orange {
    background: var(--primary);
    color: var(--accent);
    box-shadow: 0 14px 28px rgba(24, 43, 81, 0.16);
}

.btn-secondary,
.cta-light {
    background: #fff;
    color: var(--primary);
    border-color: #d7dce3;
    box-shadow: var(--shadow);
}

.btn-secondary:hover,
.cta-light:hover,
.btn-primary:hover,
.cta-orange:hover,
.store-add-button:hover,
.store-tab-pill:hover,
.feature-tool-card:hover,
.package-card:hover,
.store-product-card:hover,
.question-card:hover,
.content-card:hover,
.stat-card:hover,
.option-card:hover,
.list-row:hover {
    background: var(--primary);
    color: var(--accent);
    border-color: var(--primary);
    box-shadow: 0 16px 30px rgba(24, 43, 81, 0.14);
}

.form-control,
select,
textarea,
input[type='text'],
input[type='number'],
input[type='file'] {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 16px;
    padding: 12px 16px;
    color: var(--text);
    transition: border-color var(--transition), box-shadow var(--transition);
}

textarea,
.textarea {
    min-height: 140px;
    resize: vertical;
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
    outline: none;
    border-color: rgba(24, 43, 81, 0.32);
    box-shadow: 0 0 0 4px rgba(24, 43, 81, 0.08);
}

.field-wrap {
    display: grid;
    gap: 8px;
}

.field-wrap label {
    color: var(--primary);
    font-size: 0.95rem;
    font-weight: 700;
}

.error-text,
.help-text {
    font-size: 0.86rem;
}

.error-text {
    color: var(--primary);
}

.help-text {
    color: var(--muted);
}

.landing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 22px;
}

.hero-copy h1 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.2;
    margin-bottom: 14px;
}

.hero-copy p {
    margin-bottom: 0;
}

.hero-points,
.feature-list {
    margin: 0;
    padding-right: 18px;
    display: grid;
    gap: 8px;
    color: var(--muted);
}

.hero-panel {
    align-content: start;
}

.mock-card,
.mini-card {
    padding: 22px;
}

.soft-accent {
    background: #ffffff;
}

.outline-card {
    border: 1px dashed #d7dce3;
    background: #ffffff;
}

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

.mini-stats div {
    min-height: 92px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 12px;
}

.mini-stats strong,
.price-tag,
.price-box {
    display: block;
    font-size: 1.5rem;
    color: var(--text);
    font-weight: 900;
}

.badge-pill.success {
    background: #ffffff;
    color: var(--primary);
    border: 1px solid #d7dce3;
}

.dashboard-shell {
    display: grid;
    gap: 24px;
}

.dashboard-hero-card {
    min-height: 270px;
    border-radius: 32px;
    background: #ffffff;
    box-shadow: var(--shadow);
    padding: 42px;
    color: var(--primary);
    display: grid;
    place-items: center;
    text-align: center;
    overflow: hidden;
    position: relative;
}

.dashboard-hero-card::before,
.dashboard-hero-card::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.dashboard-hero-card::before {
    width: 220px;
    height: 220px;
    top: -70px;
    right: -30px;
}

.dashboard-hero-card::after {
    width: 170px;
    height: 170px;
    left: 5%;
    bottom: -60px;
}

.dashboard-hero-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
    display: grid;
    gap: 14px;
    justify-items: center;
}

.dashboard-chip,
.store-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.22);
    font-size: 0.86rem;
    font-weight: 800;
}

.dashboard-hero-content h1 {
    margin-bottom: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
}

.dashboard-hero-content p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
}

.school-profile-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px;
    background: var(--card);
    border-radius: 28px;
    box-shadow: var(--shadow);
}

.school-profile-main {
    display: flex;
    align-items: center;
    gap: 18px;
}

.school-profile-logo {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    font-size: 2rem;
    background: linear-gradient(135deg, #ffffff, #f1f3f5);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 81, 0.08);
}

.school-profile-copy h2 {
    margin-bottom: 8px;
    font-size: 1.35rem;
}

.school-location {
    color: var(--muted);
    font-weight: 700;
}

.dashboard-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.feature-tool-card {
    min-height: 192px;
    border-radius: 26px;
    padding: 24px 20px;
    color: var(--primary);
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

.tool-icon {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    font-size: 2rem;
    background: #f1f3f5;
    backdrop-filter: blur(8px);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 81, 0.08);
}

.feature-tool-card strong {
    font-size: 1.08rem;
    font-weight: 900;
}

.tone-purple,
.tone-indigo,
.tone-pink,
.tone-orange,
.tone-green,
.tone-blue,
.tone-violet,
.tone-teal { background: #ffffff; }

.store-shell {
    display: grid;
    gap: 24px;
}

.store-tabs-bar {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.76);
    border-radius: 22px;
    box-shadow: var(--shadow);
    width: fit-content;
}

.store-tab-pill {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 16px;
    background: #f3f4f6;
    color: #4b5563;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    transition: all var(--transition);
}

.store-tab-pill.is-active {
    background: var(--primary);
    color: var(--accent);
    border-color: var(--primary);
    box-shadow: 0 10px 20px rgba(24, 43, 81, 0.12);
}

.store-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.store-products-panel,
.store-filter-card,
.content-card,
.page-head,
.auth-shell,
.question-card,
.package-card,
.stat-card,
.option-card,
.list-row,
.landing-hero,
.mock-card,
.mini-card {
    background: var(--card);
    border-radius: 28px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.85);
}

.store-products-panel {
    padding: 28px;
}

.store-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.store-section-head h1 {
    margin-bottom: 8px;
    font-size: 1.8rem;
}

.store-filter-card {
    padding: 24px;
    position: sticky;
    top: 112px;
}

.store-filter-head h3 {
    margin-bottom: 8px;
}

.store-filter-form {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.store-toggle-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    color: #374151;
    background: #fff;
    font-weight: 700;
}

.store-toggle-row input {
    accent-color: var(--accent);
}

.store-filter-actions,
.actions,
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.store-products-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.store-product-card {
    position: relative;
    overflow: hidden;
    background: var(--card-alt);
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: var(--shadow);
    transition: transform var(--transition), box-shadow var(--transition);
}

.store-sale-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 14px;
    background: var(--primary);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
}

.store-sale-badge.soft-badge {
    background: var(--primary);
}

.store-product-media {
    aspect-ratio: 1 / 1;
    background: linear-gradient(135deg, #ffffff, #f1f3f5);
    padding: 22px;
    display: grid;
    place-items: center;
}

.store-product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
}

.store-product-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: var(--primary);
    font-size: 3rem;
    font-weight: 900;
    background: linear-gradient(135deg, #ffffff, #f1f3f5);
}

.store-product-body {
    display: grid;
    gap: 14px;
    padding: 22px;
}

.store-product-body h2 {
    margin-bottom: 0;
    font-size: 1.18rem;
    font-weight: 900;
}

.store-price-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.store-price-row del {
    color: #9ca3af;
}

.store-price-row strong {
    color: var(--text);
    font-size: 1.15rem;
    font-weight: 900;
}

.store-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.store-meta-chip,
.badge-pill,
.meta-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: var(--radius-pill);
    background: #ffffff;
    color: var(--primary);
    border: 1px solid #d7dce3;
    font-size: 0.82rem;
    font-weight: 800;
}

.muted-chip {
    background: #f1f3f5;
    color: var(--primary);
}

.store-add-button {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: var(--primary);
    border: 1px solid #d7dce3;
    font-size: 1.5rem;
    font-weight: 900;
    box-shadow: var(--shadow);
}

.store-secondary-link,
.text-link {
    color: var(--primary);
    font-weight: 800;
}

.store-empty-card {
    grid-column: 1 / -1;
    min-height: 180px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #fff, #f8fafc);
    border: 1px dashed var(--line-strong);
}

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

.question-mode-card .store-product-media {
    aspect-ratio: 16 / 10;
}

.question-placeholder {
    font-size: 1.4rem;
    padding: 18px;
    text-align: center;
}

.question-card-top,
.question-meta-list,
.price-row,
.question-head,
.meta-inline,
.meta-tags,
.inline-filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.question-preview {
    min-height: 58px;
}

.question-meta-list span {
    color: var(--muted);
    font-size: 0.88rem;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: var(--radius-pill);
    padding: 7px 12px;
}

.question-preview-box {
    border-top: 1px solid #eef2f7;
    padding-top: 14px;
}

.question-preview-box.answer-reveal-box {
    display: grid;
    justify-items: stretch;
    gap: 12px;
    background: transparent;
    border: 0 !important;
    outline: 0;
    box-shadow: none;
    padding-top: 0;
    width: 100%;
}

.question-preview-box.answer-reveal-box > :not(summary) {
    width: 100%;
    max-width: 100%;
    text-align: right;
    direction: rtl;
    justify-self: stretch;
}

.question-preview-box.answer-reveal-box[open] > :not(summary) {
    padding: 8px 0 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.question-preview-box summary,
.answer-box summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--primary-deep);
}

.question-preview-box.answer-reveal-box summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 116px;
    padding: 7px 16px;
    border-radius: 10px;
    border: 1px solid rgba(24, 43, 86, 0.12);
    background: #182b51;
    color: #ffffff;
    font-size: 0.8rem;
    line-height: 1.2;
    list-style: none;
    justify-self: center;
    margin-inline: auto;
}


.question-preview-box.answer-reveal-box summary::-webkit-details-marker {
    display: none;
}

.question-preview-box.answer-reveal-box summary::after {
    content: "▾";
    font-size: 0.72rem;
    line-height: 1;
}

.question-preview-box.answer-reveal-box[open] summary::after {
    content: "▴";
}

.question-preview-box.answer-reveal-box[open] summary,
.question-preview-box.answer-reveal-box summary {
    text-align: right;
}

.question-preview-box[open] summary,
.answer-box[open] summary {
    margin-bottom: 12px;
}

.question-rich-content,
.question-body {
    line-height: 2;
    color: var(--text);
}

.rich-text-content {
    display: block;
}

.rich-text-content .katex,
.question-body .katex,
.exam-option-text .katex,
.question-rich-content .katex {
    direction: ltr !important;
    font-size: var(--question-formula-inline-size);
    line-height: 1.55;
    unicode-bidi: isolate !important;
    text-align: initial;
}

.rich-text-content .katex-display,
.question-body .katex-display,
.exam-option-text .katex-display,
.question-rich-content .katex-display {
    direction: ltr !important;
    font-size: var(--question-formula-display-size);
    line-height: 1.65;
    unicode-bidi: isolate !important;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.35rem 0;
    text-align: center;
}

.rich-text-content > *:first-child {
    margin-top: 0;
}

.rich-text-content > *:last-child {
    margin-bottom: 0;
}

.rich-text-plain {
    white-space: pre-line;
}

.question-option-list,
.options-list {
    margin: 14px 0 0;
    padding-right: 18px;
    display: grid;
    gap: 8px;
}

.question-option-list {
    padding-right: 0;
    list-style: none;
}

.question-option-list li {
    color: #374151;
}

.question-answer-box {
    margin-top: 16px;
    padding: 16px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #eef2f7;
    display: grid;
    gap: 8px;
    width: 100%;
    justify-items: stretch;
    text-align: right;
    direction: rtl;
}

.question-answer-box > * {
    width: 100%;
    max-width: 100%;
    text-align: right;
}

.question-preview-box.answer-reveal-box .question-rich-content,
.question-preview-box.answer-reveal-box .question-body,
.question-preview-box.answer-reveal-box .rich-text-content,
.question-preview-box.answer-reveal-box p,
.question-preview-box.answer-reveal-box div,
.question-preview-box.answer-reveal-box ul,
.question-preview-box.answer-reveal-box ol,
.question-answer-box .question-rich-content,
.question-answer-box .question-body,
.question-answer-box .rich-text-content,
.question-answer-box p,
.question-answer-box div,
.question-answer-box ul,
.question-answer-box ol {
    width: 100%;
    max-width: 100%;
    text-align: right !important;
    margin-inline: 0;
}

.question-list,
.exam-answer-sheet {
    display: grid;
    gap: 18px;
}

.exam-question-card {
    gap: 16px;
}

.exam-answer-block {
    display: grid;
    gap: 12px;
    margin-top: 6px;
}

.exam-answer-label {
    font-weight: 800;
    color: var(--text);
}

.exam-answer-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
    justify-items: center;
}

.exam-answer-options.is-static {
    margin-top: 8px;
}

.exam-option-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    max-width: 420px;
    padding: 10px 12px;
    border: 1px solid rgba(24, 43, 86, 0.09);
    border-radius: 12px;
    background: #fff;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.exam-option-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(24, 43, 86, 0.08);
    border-color: rgba(24, 43, 86, 0.16);
}

.exam-option-control {
    display: inline-flex;
    align-items: center;
}

.exam-option-control input[type='radio'] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}

.exam-option-badge {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    background: var(--primary-soft);
    color: var(--primary-deep);
    font-weight: 900;
}

.exam-option-label-text {
    display: inline-block;
    margin-left: 8px;
    font-weight: 800;
    color: var(--primary-deep);
}

.exam-option-content {
    display: grid;
    gap: 8px;
    flex: 1;
    justify-items: center;
}

.exam-option-text {
    color: #374151;
    line-height: 1.75;
    width: 100%;
}

.exam-option-text .rich-text-content {
    display: inline-block;
}

@media (max-width: 760px) {
    .exam-answer-options {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }
}

/* Phase 2 - Day 3: reversible topic-tree navigation. */
body.phase-two-day-three .builder-start-modal-backdrop {
    cursor: pointer;
}

body.phase-two-day-three .builder-start-navigation-actions {
    justify-content: center;
    margin-top: 18px;
}

body.phase-two-day-three .builder-start-navigation-actions .btn {
    flex: 1 1 210px;
    min-height: 48px;
}

body.phase-two-day-three #confirm-builder-start-modal {
    background: #1f2a78 !important;
    border-color: #1f2a78 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 0.92rem;
    font-weight: 800;
}

body.phase-two-day-three #builder-topic-modal .actions {
    justify-content: center;
}

body.phase-two-day-three #builder-topic-modal .actions .btn {
    min-width: 190px;
}

/* Phase 2 - Day 4: clearer and denser topic tree. */
body.phase-two-day-four #builder-topic-modal .builder-topic-tree.compact-tree {
    gap: 0 !important;
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-node {
    gap: 0 !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-row {
    min-height: 26px !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 4px !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-label,
body.phase-two-day-four #builder-topic-modal .builder-tree-label span {
    min-height: 26px !important;
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-label {
    gap: 7px !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-label input[type='checkbox'] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: #1f2a78;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-children {
    margin-right: 10px !important;
    padding-right: 7px !important;
    gap: 0 !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-toggle {
    display: inline-grid;
    place-items: center;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    padding: 0 !important;
    color: #475569;
    font-size: 1rem !important;
    font-weight: 800;
    line-height: 1 !important;
    opacity: 1;
    direction: ltr;
    unicode-bidi: isolate;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-toggle.has-children:hover,
body.phase-two-day-four #builder-topic-modal .builder-tree-toggle.has-children:focus-visible {
    color: #1f2a78;
    background: #eef2ff;
    outline: 0;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-toggle.is-leaf {
    visibility: hidden;
    pointer-events: none;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-label.is-branch {
    width: 100%;
    justify-content: flex-start;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: right;
}

body.phase-two-day-four .builder-inline-validation {
    width: min(100%, 680px);
    margin: 10px auto 0;
    padding: 9px 12px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff1f2;
    color: #b42318;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.7;
    text-align: center;
}

body.phase-two-day-four .builder-inline-validation[hidden] {
    display: none !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-node.level-subject > .builder-tree-row .builder-tree-label {
    font-weight: 800 !important;
}

body.phase-two-day-four #builder-topic-modal .builder-tree-node.level-chapter > .builder-tree-row .builder-tree-label {
    font-weight: 700 !important;
}

/* Phase 2 - Day 5: compact, RTL online exam experience. */
body.phase-two-day-five .online-exam-shell {
    display: grid;
    gap: 14px;
    direction: rtl;
    color: #182b51;
}

body.phase-two-day-five .online-exam-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 82px;
    padding: 14px 18px;
    background: #ffffff;
    border: 1px solid #d7dce3;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-five .online-exam-heading {
    display: grid;
    gap: 3px;
}

body.phase-two-day-five .online-exam-eyebrow {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}

body.phase-two-day-five .online-exam-heading h1 {
    margin: 0;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
}

body.phase-two-day-five .online-exam-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

body.phase-two-day-five .online-exam-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 0 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 0.76rem;
}

body.phase-two-day-five .online-exam-meta strong {
    color: #182b51;
}

body.phase-two-day-five .online-exam-form {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    direction: rtl;
}

body.phase-two-day-five .online-exam-navigator,
body.phase-two-day-five .online-exam-main {
    background: #ffffff;
    border: 1px solid #d7dce3;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-five .online-exam-navigator {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

body.phase-two-day-five .online-exam-progress-copy {
    display: grid;
    gap: 3px;
}

body.phase-two-day-five .online-exam-progress-copy strong {
    font-size: 0.86rem;
}

body.phase-two-day-five .online-exam-progress-copy span {
    color: #64748b;
    font-size: 0.7rem;
}

body.phase-two-day-five .online-exam-progress-track {
    height: 6px;
    overflow: hidden;
    background: #e2e8f0;
}

body.phase-two-day-five .online-exam-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    background: #182b51;
    transition: width 180ms ease;
}

body.phase-two-day-five .online-exam-question-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(30px, 1fr));
    gap: 6px;
    max-height: 264px;
    overflow: auto;
    padding-left: 2px;
}

body.phase-two-day-five .online-exam-question-jump {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    min-width: 30px;
    padding: 0;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 800;
}

body.phase-two-day-five .online-exam-question-jump.is-answered {
    background: #e7f7ee;
    border-color: #86c99f;
    color: #166534;
}

body.phase-two-day-five .online-exam-question-jump.is-current {
    background: #182b51;
    border-color: #182b51;
    color: #ffffff;
    outline: 2px solid rgba(24, 43, 81, 0.16);
    outline-offset: 2px;
}

body.phase-two-day-five .online-exam-legend {
    display: grid;
    gap: 7px;
    padding-top: 9px;
    border-top: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 0.68rem;
}

body.phase-two-day-five .online-exam-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.phase-two-day-five .online-exam-legend i {
    width: 11px;
    height: 11px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
}

body.phase-two-day-five .online-exam-legend i.is-current {
    background: #182b51;
    border-color: #182b51;
}

body.phase-two-day-five .online-exam-legend i.is-answered {
    background: #e7f7ee;
    border-color: #86c99f;
}

body.phase-two-day-five .online-exam-main {
    min-width: 0;
    overflow: hidden;
}

body.phase-two-day-five .online-exam-question[hidden] {
    display: none !important;
}

body.phase-two-day-five .online-exam-question {
    display: grid;
    align-content: start;
    gap: 16px;
    min-height: 430px;
    padding: 18px;
    direction: rtl;
    text-align: right;
}

body.phase-two-day-five .online-exam-question-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 11px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-five .online-exam-question-head > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

body.phase-two-day-five .online-exam-question-number {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    background: #182b51;
    color: #ffffff;
    font-weight: 900;
}

body.phase-two-day-five .online-exam-question-type {
    padding: 5px 9px;
    background: #f1f3f5;
    color: #475569;
    border: 1px solid #d7dce3;
    font-size: 0.7rem;
    font-weight: 700;
}

body.phase-two-day-five .online-exam-question-body {
    min-height: 64px;
    color: #172033;
    font-size: 0.92rem;
    line-height: 1.9;
}

body.phase-two-day-five .online-exam-question-body .rich-text-content {
    text-align: right;
}

body.phase-two-day-five .online-exam-question .question-media-wrap {
    max-height: 180px;
    margin: 0 auto;
}

body.phase-two-day-five .online-exam-question .question-media-image {
    max-height: 180px;
    object-fit: contain;
}

body.phase-two-day-five .online-exam-answer-block {
    display: grid;
    gap: 10px;
}

body.phase-two-day-five .online-exam-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.phase-two-day-five .online-exam-option {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 54px;
    padding: 8px 10px;
    background: #ffffff;
    border: 1px solid #d7dce3;
    color: #334155;
    cursor: pointer;
}

body.phase-two-day-five .online-exam-option:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

body.phase-two-day-five .online-exam-option:has(input:checked) {
    border-color: #182b51;
    background: #f1f5f9;
    box-shadow: inset 0 0 0 1px #182b51;
}

body.phase-two-day-five .online-exam-option:has(input:focus-visible) {
    outline: 3px solid rgba(24, 43, 81, 0.14);
    outline-offset: 2px;
}

body.phase-two-day-five .online-exam-option > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

body.phase-two-day-five .online-exam-option-number {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    background: #f1f3f5;
    color: #182b51;
    font-size: 0.78rem;
    font-weight: 900;
}

body.phase-two-day-five .online-exam-option input:checked + .online-exam-option-number {
    background: #182b51;
    color: #ffffff;
}

body.phase-two-day-five .online-exam-option-content,
body.phase-two-day-five .online-exam-option-content .rich-text-content {
    min-width: 0;
    color: inherit;
    font-size: 0.82rem;
    line-height: 1.7;
    text-align: right;
}

body.phase-two-day-five .online-exam-option .option-image-wrap {
    min-height: 90px;
    max-height: 130px;
    margin-top: 6px;
}

body.phase-two-day-five .online-exam-descriptive label {
    font-size: 0.8rem;
    font-weight: 800;
}

body.phase-two-day-five .online-exam-descriptive textarea {
    min-height: 150px;
    border-radius: 0;
}

body.phase-two-day-five .online-exam-actions {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 10px 14px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

body.phase-two-day-five .online-exam-actions .btn {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 0.76rem;
}

body.phase-two-day-five .online-exam-actions .btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

body.phase-two-day-five #online-exam-position {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 700;
}

body.phase-two-day-five .online-exam-submit {
    justify-self: end;
}

@media (max-width: 820px) {
    body.phase-two-day-five .online-exam-header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.phase-two-day-five .online-exam-form {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-five .online-exam-navigator {
        position: static;
    }

    body.phase-two-day-five .online-exam-question-grid {
        grid-template-columns: repeat(10, minmax(30px, 1fr));
        max-height: 118px;
    }
}

@media (max-width: 560px) {
    body.phase-two-day-five .online-exam-meta {
        justify-content: flex-start;
    }

    body.phase-two-day-five .online-exam-question-grid {
        grid-template-columns: repeat(6, minmax(30px, 1fr));
    }

    body.phase-two-day-five .online-exam-options {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-five .online-exam-question {
        min-height: 0;
        padding: 14px;
    }

    body.phase-two-day-five .online-exam-actions {
        grid-template-columns: 1fr 1fr;
    }

    body.phase-two-day-five #online-exam-position {
        order: -1;
        grid-column: 1 / -1;
    }

    body.phase-two-day-five .online-exam-submit {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* Phase 2 - Day 6: per-question timer and review tools. */
body.phase-two-day-six .online-exam-question-tools {
    display: grid;
    gap: 9px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

body.phase-two-day-six .online-exam-tool-row {
    display: grid;
    grid-template-columns: repeat(3, 82px);
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
}

body.phase-two-day-six .online-exam-tool {
    position: relative;
    display: grid;
    grid-template-rows: 27px 18px;
    align-items: center;
    justify-items: center;
    gap: 3px;
    width: 82px;
    min-width: 82px;
    height: 68px;
    min-height: 68px;
    padding: 8px 7px 6px;
    box-sizing: border-box;
    border: 1px solid rgba(37, 99, 235, 0.28);
    border-radius: 9px;
    background: #ffffff;
    color: #182b51;
    cursor: pointer;
    font-size: 0.68rem;
    font-weight: 800;
    box-shadow: 0 4px 10px rgba(24, 43, 81, 0.06);
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body.phase-two-day-six .online-exam-tool:hover,
body.phase-two-day-six .online-exam-tool:focus-visible {
    border-color: #182b51;
    color: #182b51;
    outline: 2px solid rgba(24, 43, 81, 0.12);
    outline-offset: 2px;
    transform: translateY(-1px);
}

body.phase-two-day-six .online-exam-tool.is-active {
    border-color: #182b51;
    background: #eef2ff;
    color: #182b51;
}

body.phase-two-day-six .online-exam-tool.is-paused {
    border-color: #b45309;
    background: #fff7ed;
    color: #9a3412;
}

body.phase-two-day-six .online-exam-tool-icon {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    color: #182b51;
}

body.phase-two-day-six .online-exam-tool-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.phase-two-day-six .online-exam-tool.is-active[data-question-action="like"] .online-exam-tool-icon svg {
    fill: currentColor;
}

body.phase-two-day-six .online-exam-tool strong {
    color: inherit;
}

body.phase-two-day-six .online-exam-tool-count {
    position: absolute;
    top: 5px;
    left: 6px;
    display: grid;
    min-width: 17px;
    height: 17px;
    place-items: center;
    padding: 0 4px;
    border-radius: 50%;
    background: #f1f5f9;
    font-size: 0.57rem;
    line-height: 1;
}

body.phase-two-day-six .online-exam-interaction-modal[hidden] {
    display: none !important;
}

body.phase-two-day-six .online-exam-interaction-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 18px;
}

body.phase-two-day-six .online-exam-interaction-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.62);
    cursor: pointer;
}

body.phase-two-day-six .online-exam-interaction-card {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: min(760px, 90vh);
    overflow: auto;
    display: grid;
    gap: 14px;
    padding: 22px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}

body.phase-two-day-six .online-exam-interaction-close {
    position: absolute;
    top: 10px;
    left: 12px;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 1.5rem;
    cursor: pointer;
}

body.phase-two-day-six .online-exam-interaction-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
}

body.phase-two-day-six .online-exam-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-six .online-exam-stat-grid span {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
}

body.phase-two-day-six .online-exam-issue-reasons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

body.phase-two-day-six .online-exam-issue-reasons label {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

body.phase-two-day-six .online-exam-interaction-card textarea {
    width: 100%;
    min-height: 96px;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    resize: vertical;
}

@media (max-width: 560px) {
    body.phase-two-day-six .online-exam-tool-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.phase-two-day-six .online-exam-tool {
        justify-content: center;
        min-width: 0;
        width: 100%;
    }

    body.phase-two-day-six .online-exam-stat-grid,
    body.phase-two-day-six .online-exam-issue-reasons {
        grid-template-columns: 1fr;
    }
}

/* Phase 2 - Day 7: analytical answer sheet and visual statuses. */
body.phase-two-day-seven .exam-result-shell {
    display: grid;
    gap: 14px;
    direction: rtl;
    color: #182b51;
}

body.phase-two-day-seven .exam-result-header,
body.phase-two-day-seven .exam-result-answer-map,
body.phase-two-day-seven .exam-result-question {
    background: #ffffff;
    border: 1px solid #d7dce3;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-seven .exam-result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
}

body.phase-two-day-seven .exam-result-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

/* Phase 2 comprehensive student reports: standard, thematic and AI tabs. */
body.phase-two-day-seven .student-result-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    overflow-x: auto;
    padding: 7px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-seven .student-result-tabs a {
    flex: 0 0 auto;
    min-width: 132px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    text-align: center;
}

body.phase-two-day-seven .student-result-tabs a:hover,
body.phase-two-day-seven .student-result-tabs a:focus-visible {
    border-color: #bfdbfe;
    color: #1d4ed8;
    background: #eff6ff;
}

body.phase-two-day-seven .student-result-tabs a.is-active {
    border-color: #182b51;
    color: #ffffff;
    background: #182b51;
}

body.phase-two-day-seven .standard-answer-overview {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-seven .standard-answer-overview-grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(210px, 0.55fr) minmax(360px, 1.2fr);
    gap: 12px;
    align-items: stretch;
}

body.phase-two-day-seven .standard-answer-overview .exam-result-stats {
    grid-template-columns: 1fr;
    align-content: start;
}

body.phase-two-day-seven .standard-answer-overview .exam-result-stat {
    min-height: 54px;
}

body.phase-two-day-seven .answer-distribution-card,
body.phase-two-day-seven .difficulty-response-card {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #f8fafc;
}

body.phase-two-day-seven .answer-distribution-card h3,
body.phase-two-day-seven .difficulty-response-card h3 {
    margin: 0;
    color: #182b51;
    font-size: 0.86rem;
    text-align: center;
}

body.phase-two-day-seven .answer-distribution-donut {
    display: grid;
    place-items: center;
    width: min(174px, 100%);
    margin: 4px auto;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        conic-gradient(
            #22a35a 0 var(--correct-end),
            #ef476f var(--correct-end) var(--wrong-end),
            #cbd5e1 var(--wrong-end) var(--unanswered-end),
            #3b82f6 var(--unanswered-end) var(--pending-end)
        );
}

body.phase-two-day-seven .answer-distribution-donut::before {
    content: "";
    grid-area: 1 / 1;
    width: 55%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.2);
}

body.phase-two-day-seven .answer-distribution-donut > span {
    z-index: 1;
    grid-area: 1 / 1;
    display: grid;
    color: #182b51;
    text-align: center;
}

body.phase-two-day-seven .answer-distribution-donut strong {
    font-size: 1.25rem;
}

body.phase-two-day-seven .answer-distribution-donut small {
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-seven .answer-distribution-legend,
body.phase-two-day-seven .difficulty-response-legend {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex-wrap: wrap;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 800;
}

body.phase-two-day-seven .answer-distribution-legend span::before,
body.phase-two-day-seven .difficulty-response-legend span::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-inline-end: 4px;
    border-radius: 2px;
    vertical-align: -1px;
}

body.phase-two-day-seven .answer-distribution-legend .is-correct::before,
body.phase-two-day-seven .difficulty-response-legend .is-correct::before,
body.phase-two-day-seven .difficulty-response-stack .is-correct {
    background: #22a35a;
}

body.phase-two-day-seven .answer-distribution-legend .is-wrong::before,
body.phase-two-day-seven .difficulty-response-legend .is-wrong::before,
body.phase-two-day-seven .difficulty-response-stack .is-wrong {
    background: #ef476f;
}

body.phase-two-day-seven .answer-distribution-legend .is-unanswered::before,
body.phase-two-day-seven .difficulty-response-legend .is-unanswered::before,
body.phase-two-day-seven .difficulty-response-stack .is-unanswered {
    background: #cbd5e1;
}

body.phase-two-day-seven .answer-distribution-legend .is-pending::before,
body.phase-two-day-seven .difficulty-response-legend .is-pending::before,
body.phase-two-day-seven .difficulty-response-stack .is-pending {
    background: #3b82f6;
}

body.phase-two-day-seven .difficulty-response-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    gap: 12px;
    min-height: 222px;
    padding: 12px 10px 0;
    border-bottom: 1px solid #94a3b8;
    background:
        repeating-linear-gradient(
            to top,
            transparent 0,
            transparent 43px,
            rgba(148, 163, 184, 0.22) 44px,
            transparent 45px
        );
}

body.phase-two-day-seven .difficulty-response-column {
    display: grid;
    flex: 1 1 0;
    justify-items: center;
    gap: 4px;
    min-width: 48px;
}

body.phase-two-day-seven .difficulty-response-stack {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    width: min(48px, 72%);
    height: 174px;
}

body.phase-two-day-seven .difficulty-response-stack i {
    display: block;
    width: 100%;
    min-height: 2px;
}

body.phase-two-day-seven .difficulty-response-column strong {
    color: #334155;
    font-size: 0.68rem;
}

body.phase-two-day-seven .difficulty-response-column small {
    color: #64748b;
    font-size: 0.58rem;
}

body.phase-two-day-seven .exam-result-subject-answer-groups {
    display: grid;
    gap: 12px;
}

body.phase-two-day-seven .exam-result-subject-answer-group {
    overflow: hidden;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #ffffff;
}

body.phase-two-day-seven .exam-result-subject-answer-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    background: #f3e8ff;
    color: #5b21b6;
}

body.phase-two-day-seven .exam-result-subject-answer-group h3 {
    margin: 0;
    font-size: 0.8rem;
}

body.phase-two-day-seven .exam-result-subject-answer-group header span {
    font-size: 0.64rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-subject-answer-group .exam-result-map-grid {
    padding: 12px;
}

body.phase-two-day-seven .attempt-ai-report {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid #d7dce3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-seven .attempt-ai-report-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 17px;
    border-radius: 13px;
    background: linear-gradient(135deg, #182b51, #315b8d);
    color: #ffffff;
}

body.phase-two-day-seven .attempt-ai-report-header span {
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 900;
}

body.phase-two-day-seven .attempt-ai-report-header h2 {
    margin: 4px 0;
    color: #ffffff;
}

body.phase-two-day-seven .attempt-ai-report-header p {
    max-width: 760px;
    margin: 0;
    color: #e2e8f0;
    font-size: 0.78rem;
    line-height: 1.9;
}

body.phase-two-day-seven .attempt-ai-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

body.phase-two-day-seven .attempt-ai-kpis article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #f8fafc;
    text-align: center;
}

body.phase-two-day-seven .attempt-ai-kpis span {
    color: #64748b;
    font-size: 0.64rem;
}

body.phase-two-day-seven .attempt-ai-kpis strong {
    color: #182b51;
    font-size: 1.1rem;
}

body.phase-two-day-seven .attempt-ai-dimensions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

body.phase-two-day-seven .attempt-ai-dimensions article {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 13px;
    border: 1px solid #e0e7ff;
    border-radius: 11px;
    background: #f5f7ff;
}

body.phase-two-day-seven .attempt-ai-dimensions article > span {
    font-size: 1.3rem;
}

body.phase-two-day-seven .attempt-ai-dimensions strong {
    color: #182b51;
}

body.phase-two-day-seven .attempt-ai-dimensions p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 0.69rem;
    line-height: 1.7;
}

body.phase-two-day-seven .attempt-ai-subjects {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-seven .attempt-ai-subjects > article {
    padding: 14px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #ffffff;
}

body.phase-two-day-seven .attempt-ai-subjects > article.is-strength {
    border-color: #86efac;
}

body.phase-two-day-seven .attempt-ai-subjects > article.is-weakness {
    border-color: #fca5a5;
}

body.phase-two-day-seven .attempt-ai-subjects > article > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

body.phase-two-day-seven .attempt-ai-subjects h3,
body.phase-two-day-seven .attempt-ai-plan h3 {
    margin: 0;
    color: #182b51;
    font-size: 0.86rem;
}

body.phase-two-day-seven .attempt-ai-progress {
    height: 8px;
    margin: 10px 0;
    overflow: hidden;
    border-radius: 4px;
    background: #e2e8f0;
}

body.phase-two-day-seven .attempt-ai-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
}

body.phase-two-day-seven .attempt-ai-subjects p {
    margin: 0 0 8px;
    color: #64748b;
    font-size: 0.68rem;
}

body.phase-two-day-seven .attempt-ai-subjects article > div:last-child {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

body.phase-two-day-seven .attempt-ai-subjects article > div:last-child > span {
    padding: 5px 7px;
    border-radius: 10px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 0.61rem;
}

body.phase-two-day-seven .attempt-ai-plan {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
}

body.phase-two-day-seven .attempt-ai-plan > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

body.phase-two-day-seven .attempt-ai-plan article {
    display: flex;
    gap: 8px;
    padding: 10px;
    border-radius: 9px;
    background: #ffffff;
}

body.phase-two-day-seven .attempt-ai-plan b {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    height: 28px;
    border-radius: 50%;
    background: #182b51;
    color: #ffffff;
}

body.phase-two-day-seven .attempt-ai-plan article span {
    display: grid;
    gap: 3px;
}

body.phase-two-day-seven .attempt-ai-plan small,
body.phase-two-day-seven .attempt-ai-engine {
    color: #64748b;
    font-size: 0.64rem;
}

body.phase-two-day-seven .attempt-ai-engine {
    margin: 0;
    padding: 9px 11px;
    border-radius: 9px;
    background: #f1f5f9;
    text-align: center;
}

body.phase-two-day-seven .attempt-ai-empty {
    display: grid;
    justify-items: center;
    gap: 9px;
    padding: 48px 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 13px;
    background: #f8fafc;
    text-align: center;
}

body.phase-two-day-seven .attempt-ai-empty > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #182b51;
    color: #ffffff;
    font-weight: 900;
}

body.phase-two-day-seven .attempt-ai-empty h2,
body.phase-two-day-seven .attempt-ai-empty p {
    margin: 0;
}

body.phase-two-day-seven .attempt-ai-empty p {
    color: #64748b;
}

body.phase-two-day-seven .student-exam-report-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

body.phase-two-day-seven .student-exam-report-links a {
    padding: 8px 7px;
    border: 1px solid #d7dce3;
    border-radius: 7px;
    color: #334155;
    background: #f8fafc;
    font-size: 0.68rem;
    font-weight: 800;
    text-align: center;
}

body.phase-two-day-seven .student-exam-report-links a:hover {
    border-color: #182b51;
    color: #ffffff;
    background: #182b51;
}

body.phase-two-day-seven .school-report-shell {
    display: grid;
    gap: 14px;
    direction: rtl;
    color: #182b51;
}

body.phase-two-day-seven .school-report-header,
body.phase-two-day-seven .school-report-meta,
body.phase-two-day-seven .school-report-table-wrap {
    background: #ffffff;
    border: 1px solid #d7dce3;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-seven .school-report-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
}

body.phase-two-day-seven .school-report-header span,
body.phase-two-day-seven .school-report-header p {
    color: #64748b;
    font-size: 0.76rem;
}

body.phase-two-day-seven .school-report-header h1,
body.phase-two-day-seven .school-report-header p {
    margin: 0;
}

body.phase-two-day-seven .school-report-actions,
body.phase-two-day-seven .school-report-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

body.phase-two-day-seven .school-report-meta {
    padding: 11px 14px;
}

body.phase-two-day-seven .school-report-meta span {
    padding: 6px 9px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.74rem;
}

body.phase-two-day-seven .school-report-table-wrap {
    overflow-x: auto;
}

body.phase-two-day-seven .school-report-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

body.phase-two-day-seven .school-report-table th,
body.phase-two-day-seven .school-report-table td {
    padding: 10px;
    border-bottom: 1px solid #e2e8f0;
    text-align: center;
    font-size: 0.76rem;
}

body.phase-two-day-seven .school-report-table th {
    background: #f8fafc;
    color: #475569;
}

body.phase-two-day-seven .school-report-table td:nth-child(2) {
    text-align: right;
}

body.phase-two-day-seven .school-report-table .is-correct {
    color: #15803d;
    font-weight: 900;
}

body.phase-two-day-seven .school-report-table .is-wrong {
    color: #b91c1c;
    font-weight: 900;
}

@media print {
    body.phase-two-day-seven .site-header,
    body.phase-two-day-seven .site-footer,
    body.phase-two-day-seven .breadcrumbs,
    body.phase-two-day-seven .exam-result-header-actions,
    body.phase-two-day-seven .student-result-tabs,
    body.phase-two-day-seven .school-report-actions {
        display: none !important;
    }

    body.phase-two-day-seven .exam-result-shell,
    body.phase-two-day-seven .school-report-shell {
        gap: 8px;
    }

    body.phase-two-day-seven .exam-result-header,
    body.phase-two-day-seven .exam-result-answer-map,
    body.phase-two-day-seven .exam-result-question,
    body.phase-two-day-seven .standard-answer-overview,
    body.phase-two-day-seven .attempt-ai-report,
    body.phase-two-day-seven .thematic-report-shell,
    body.phase-two-day-seven .school-report-header,
    body.phase-two-day-seven .school-report-meta,
    body.phase-two-day-seven .school-report-table-wrap {
        box-shadow: none !important;
        break-inside: avoid;
    }
}

/* Online exam runner: booklet view with a left answer sheet. */
body.phase-two-day-thirteen:has(.online-exam-shell) main.app-shell {
    width: min(1480px, calc(100% - 28px));
    padding-top: 6px;
}

body.phase-two-day-thirteen .online-exam-shell {
    gap: 12px;
}

body.phase-two-day-thirteen .online-exam-header {
    min-height: 76px;
    padding: 11px 16px;
    border: 0;
    border-radius: 14px;
    background: #182b51;
    color: #fff;
    box-shadow: 0 14px 34px rgba(24, 43, 81, 0.18);
}

body.phase-two-day-thirteen .online-exam-brand,
body.phase-two-day-thirteen .online-exam-student,
body.phase-two-day-thirteen .online-exam-header-summary {
    display: flex;
    align-items: center;
}

body.phase-two-day-thirteen .online-exam-brand {
    gap: 11px;
    min-width: 250px;
}

body.phase-two-day-thirteen .online-exam-brand-mark,
body.phase-two-day-thirteen .online-exam-student-avatar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 43px;
    height: 43px;
    border: 1px solid rgba(37, 99, 235, 0.55);
    border-radius: 12px;
    background: #ffffff;
    color: #182b51;
    font-size: 1.1rem;
    font-weight: 950;
}

body.phase-two-day-thirteen .online-exam-heading {
    gap: 1px;
}

body.phase-two-day-thirteen .online-exam-eyebrow {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.66rem;
}

body.phase-two-day-thirteen .online-exam-heading h1 {
    max-width: 390px;
    overflow: hidden;
    color: #fff;
    font-size: 1.02rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.phase-two-day-thirteen .online-exam-header-summary {
    justify-content: center;
    gap: 4px;
}

body.phase-two-day-thirteen .online-exam-header-summary > span {
    display: grid;
    gap: 2px;
    min-width: 105px;
    padding: 5px 13px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
    text-align: center;
}

body.phase-two-day-thirteen .online-exam-header-summary > span:last-child {
    border-left: 0;
}

body.phase-two-day-thirteen .online-exam-header-summary small,
body.phase-two-day-thirteen .online-exam-student small {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.61rem;
}

body.phase-two-day-thirteen .online-exam-header-summary strong,
body.phase-two-day-thirteen .online-exam-student strong {
    color: #fff;
    font-size: 0.73rem;
}

body.phase-two-day-thirteen .online-exam-student {
    justify-content: flex-end;
    gap: 9px;
    min-width: 190px;
}

body.phase-two-day-thirteen .online-exam-student > div {
    display: grid;
    gap: 2px;
}

body.phase-two-day-thirteen .online-exam-student-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

body.phase-two-day-thirteen .online-exam-form {
    grid-template-columns: minmax(0, 1fr) 292px;
    gap: 12px;
    direction: rtl;
}

body.phase-two-day-thirteen .online-exam-main,
body.phase-two-day-thirteen .online-exam-navigator {
    direction: rtl;
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07);
}

body.phase-two-day-thirteen .online-exam-main {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    min-height: 0;
    align-self: start;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    background: #e8ebef;
}

body.phase-two-day-thirteen .online-exam-form.is-free .online-exam-main {
    min-height: 0;
}

body.phase-two-day-thirteen .online-exam-navigator {
    grid-column: 2;
    grid-row: 1;
    top: 86px;
    gap: 11px;
    max-height: calc(100vh - 102px);
    overflow: hidden;
    padding: 12px;
}

body.phase-two-day-thirteen .online-exam-timer-panel {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 3px 0 8px;
    border-bottom: 1px solid #e5e7eb;
}

body.phase-two-day-thirteen .online-exam-countdown-ring {
    display: grid;
    place-items: center;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background:
        radial-gradient(circle closest-side, #fff 78%, transparent 80% 99%, #fff 0),
        conic-gradient(#2563eb calc(var(--exam-progress) * 1%), #e5e7eb 0);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 81, 0.05);
}

body.phase-two-day-thirteen .online-exam-countdown-ring.is-urgent {
    background:
        radial-gradient(circle closest-side, #fff 78%, transparent 80% 99%, #fff 0),
        conic-gradient(#dc2626 calc(var(--exam-progress) * 1%), #fee2e2 0);
}

body.phase-two-day-thirteen .online-exam-countdown-ring.is-untimed {
    background:
        radial-gradient(circle closest-side, #fff 78%, transparent 80% 99%, #fff 0),
        conic-gradient(#182b51 100%, #e5e7eb 0);
}

body.phase-two-day-thirteen .online-exam-countdown-ring > div {
    display: grid;
    justify-items: center;
    gap: 3px;
}

body.phase-two-day-thirteen .online-exam-countdown-ring small {
    color: #64748b;
    font-size: 0.62rem;
}

body.phase-two-day-thirteen .online-exam-countdown-ring strong {
    color: #182b51;
    direction: ltr;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
}

body.phase-two-day-thirteen .online-exam-countdown-ring.is-urgent strong {
    color: #b91c1c;
}

body.phase-two-day-thirteen .online-exam-save-state {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 25px;
    color: #64748b;
    font-size: 0.61rem;
    font-weight: 700;
}

body.phase-two-day-thirteen .online-exam-save-state i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
}

body.phase-two-day-thirteen .online-exam-save-state.is-saving i {
    background: #f59e0b;
    animation: online-exam-save-pulse 850ms infinite alternate;
}

body.phase-two-day-thirteen .online-exam-save-state.is-error {
    color: #b91c1c;
}

body.phase-two-day-thirteen .online-exam-save-state.is-error i {
    background: #dc2626;
}

@keyframes online-exam-save-pulse {
    to { opacity: 0.3; }
}

body.phase-two-day-thirteen .online-exam-progress-copy {
    grid-template-columns: auto 1fr;
    align-items: center;
}

body.phase-two-day-thirteen .online-exam-progress-copy span {
    justify-self: end;
}

body.phase-two-day-thirteen .online-exam-answer-sheet {
    display: grid;
    gap: 5px;
    max-height: min(360px, calc(100vh - 430px));
    overflow: auto;
    padding: 2px 0 2px 3px;
    scrollbar-width: thin;
}

body.phase-two-day-thirteen .online-exam-answer-row {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-height: 37px;
    padding: 3px 5px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #f8fafc;
}

body.phase-two-day-thirteen .online-exam-answer-row.is-current {
    border-color: rgba(24, 43, 81, 0.35);
    background: #f1f5f9;
}

body.phase-two-day-thirteen .online-exam-answer-row.is-answered {
    background: #f0fdf4;
}

body.phase-two-day-thirteen .online-exam-question-jump {
    width: 29px;
    min-width: 29px;
    height: 29px;
    min-height: 29px;
    aspect-ratio: auto;
    border-radius: 7px;
}

body.phase-two-day-thirteen .online-exam-answer-choices {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    direction: rtl;
}

body.phase-two-day-thirteen .online-exam-answer-choice {
    display: grid;
    place-items: center;
    min-width: 0;
    height: 26px;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 50%;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    font-size: 0.65rem;
    font-weight: 850;
}

body.phase-two-day-thirteen .online-exam-answer-choice:hover,
body.phase-two-day-thirteen .online-exam-answer-choice.is-selected {
    border-color: #182b51;
    background: #182b51;
    color: #ffffff;
}

body.phase-two-day-thirteen .online-exam-answer-choice:disabled,
body.phase-two-day-thirteen .online-exam-question-jump:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

body.phase-two-day-thirteen .online-exam-descriptive-state {
    color: #64748b;
    font-size: 0.64rem;
    font-weight: 750;
}

body.phase-two-day-thirteen .online-exam-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    padding-top: 8px;
}

body.phase-two-day-thirteen .online-exam-legend i {
    border-radius: 3px;
}

body.phase-two-day-thirteen .online-exam-legend i.is-locked {
    background: #e5e7eb;
}

body.phase-two-day-thirteen .online-exam-guide-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid #d7dce3;
    border-radius: 8px;
    background: #fff;
    color: #182b51;
    cursor: pointer;
    font-size: 0.7rem;
    font-weight: 850;
}

body.phase-two-day-thirteen .online-exam-guide-button span {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff;
}

body.phase-two-day-thirteen .online-exam-booklet-toolbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 8px 15px;
    border-bottom: 1px solid #d7dce3;
    background: #fff;
    color: #64748b;
    font-size: 0.67rem;
}

body.phase-two-day-thirteen .online-exam-booklet-toolbar > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.phase-two-day-thirteen .online-exam-booklet-toolbar strong {
    color: #182b51;
    font-size: 0.82rem;
}

body.phase-two-day-thirteen .online-exam-warning-chip {
    padding: 5px 8px;
    border: 1px solid #fbbf24;
    border-radius: 6px;
    background: #fffbeb;
    color: #92400e;
    font-weight: 800;
}

body.phase-two-day-thirteen .online-exam-questions {
    flex: 0 0 auto;
    margin: 0;
    padding: 20px clamp(12px, 3vw, 38px);
}

body.phase-two-day-thirteen .online-exam-form.is-free .online-exam-questions {
    display: grid;
    gap: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
}

body.phase-two-day-thirteen .online-exam-question {
    position: relative;
    width: min(820px, 100%);
    min-height: 565px;
    margin: 0 auto;
    padding: 26px clamp(18px, 4vw, 42px);
    border: 1px solid #cfd4dc;
    border-radius: 2px;
    background:
        linear-gradient(90deg, transparent 0 44px, rgba(220, 38, 38, 0.08) 44px 45px, transparent 45px),
        #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.13);
}

body.phase-two-day-thirteen .online-exam-form.is-free .online-exam-question {
    min-height: 0;
    scroll-margin-top: 12px;
}

body.phase-two-day-thirteen .online-exam-form.is-free .online-exam-question.is-active {
    border-color: rgba(24, 43, 81, 0.72);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.13), 0 0 0 3px rgba(37, 99, 235, 0.55);
}

body.phase-two-day-thirteen .online-exam-paper-head {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
    padding-bottom: 13px;
    border-bottom: 2px solid #182b51;
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-thirteen .online-exam-paper-head strong {
    color: #182b51;
    font-size: 0.86rem;
    text-align: center;
}

body.phase-two-day-thirteen .online-exam-paper-head span:last-child {
    text-align: left;
}

body.phase-two-day-thirteen .online-exam-question-head {
    margin-top: 5px;
    padding: 11px 0;
}

body.phase-two-day-thirteen .online-exam-question-number {
    border-radius: 8px;
    background: #ffffff;
    color: #182b51;
}

body.phase-two-day-thirteen .online-exam-question-body {
    padding: 10px 4px 2px;
    font-size: 0.9rem;
    line-height: 2.05;
}

body.phase-two-day-thirteen .online-exam-options {
    grid-template-columns: 1fr;
    gap: 7px;
}

body.phase-two-day-thirteen .online-exam-option {
    min-height: 47px;
    border-radius: 7px;
}

body.phase-two-day-thirteen .online-exam-option-number {
    border-radius: 50%;
}

body.phase-two-day-thirteen .online-exam-actions {
    position: sticky;
    bottom: 0;
    z-index: 4;
    border-radius: 0 0 14px 14px;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
}

body.phase-two-day-thirteen .online-exam-submit {
    min-width: 160px;
}

body.phase-two-day-thirteen .online-exam-guide[hidden] {
    display: none !important;
}

body.phase-two-day-thirteen .online-exam-guide {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 18px;
}

body.phase-two-day-thirteen .online-exam-guide-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.68);
}

body.phase-two-day-thirteen .online-exam-guide-card {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 13px;
    width: min(560px, 100%);
    max-height: 88vh;
    overflow: auto;
    padding: 24px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

body.phase-two-day-thirteen .online-exam-guide-card h2,
body.phase-two-day-thirteen .online-exam-guide-card ul {
    margin: 0;
}

body.phase-two-day-thirteen .online-exam-guide-card ul {
    display: grid;
    gap: 8px;
    padding-right: 22px;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.8;
}

body.phase-two-day-thirteen .online-exam-guide-rules {
    padding: 12px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.73rem;
    line-height: 1.8;
}

@media (max-width: 1050px) {
    body.phase-two-day-thirteen .online-exam-header-summary {
        display: none;
    }

    body.phase-two-day-thirteen .online-exam-form {
        grid-template-columns: minmax(0, 1fr) 250px;
    }
}

@media (max-width: 820px) {
    body.phase-two-day-thirteen .online-exam-header {
        align-items: center;
        flex-direction: row;
    }

    body.phase-two-day-thirteen .online-exam-student {
        min-width: 0;
    }

    body.phase-two-day-thirteen .online-exam-student > div {
        display: none;
    }

    body.phase-two-day-thirteen .online-exam-form {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-thirteen .online-exam-main,
    body.phase-two-day-thirteen .online-exam-navigator {
        grid-column: 1;
    }

    body.phase-two-day-thirteen .online-exam-main {
        grid-row: 2;
    }

    body.phase-two-day-thirteen .online-exam-navigator {
        position: static;
        grid-row: 1;
        max-height: none;
    }

    body.phase-two-day-thirteen .online-exam-timer-panel {
        grid-template-columns: auto 1fr;
        justify-items: start;
    }

    body.phase-two-day-thirteen .online-exam-countdown-ring {
        width: 94px;
        height: 94px;
    }

    body.phase-two-day-thirteen .online-exam-answer-sheet {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 185px;
    }
}

@media (max-width: 560px) {
    body.phase-two-day-thirteen:has(.online-exam-shell) main.app-shell {
        width: min(100% - 16px, 1480px);
    }

    body.phase-two-day-thirteen .online-exam-brand-mark,
    body.phase-two-day-thirteen .online-exam-student-avatar {
        display: none;
    }

    body.phase-two-day-thirteen .online-exam-brand {
        min-width: 0;
    }

    body.phase-two-day-thirteen .online-exam-heading h1 {
        max-width: 230px;
    }

    body.phase-two-day-thirteen .online-exam-answer-sheet {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-thirteen .online-exam-booklet-toolbar,
    body.phase-two-day-thirteen .online-exam-paper-head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    body.phase-two-day-thirteen .online-exam-booklet-toolbar > div:last-child {
        display: none;
    }

    body.phase-two-day-thirteen .online-exam-paper-head span {
        display: none;
    }

    body.phase-two-day-thirteen .online-exam-question {
        min-height: 0;
        padding: 18px 14px;
        background: #fff;
    }
}

.persian-date-picker {
    position: relative;
    width: 100%;
}

.persian-date-picker-display {
    cursor: pointer;
    padding-inline-start: 2.8rem !important;
    text-align: right;
}

.persian-date-picker-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #182b51;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.15rem;
    height: 2.5rem;
    inset-inline-start: 0.35rem;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.5rem;
}

.persian-date-picker-panel {
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    box-shadow: 0 22px 55px rgba(24, 43, 81, 0.2);
    direction: rtl;
    inset-inline-start: 0;
    margin-top: 0.45rem;
    min-width: min(330px, calc(100vw - 32px));
    padding: 0.85rem;
    position: absolute;
    z-index: 1200;
}

.persian-date-picker-panel[hidden] {
    display: none;
}

.persian-date-picker-header,
.persian-date-picker-actions,
.persian-date-picker-time {
    align-items: center;
    display: flex;
    gap: 0.55rem;
    justify-content: space-between;
}

.persian-date-picker-header strong {
    color: #182b51;
    flex: 1;
    text-align: center;
}

.persian-date-picker-nav,
.persian-date-picker-action {
    background: #f4f7fb;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    color: #182b51;
    cursor: pointer;
    min-height: 2.25rem;
    padding: 0.35rem 0.65rem;
}

.persian-date-picker-weekdays,
.persian-date-picker-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.25rem;
}

.persian-date-picker-weekdays {
    color: #64748b;
    font-size: 0.78rem;
    margin: 0.85rem 0 0.35rem;
    text-align: center;
}

.persian-date-picker-day {
    aspect-ratio: 1;
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #26364f;
    cursor: pointer;
    font-family: inherit;
}

.persian-date-picker-day:hover,
.persian-date-picker-day:focus-visible {
    background: #eef4ff;
    outline: none;
}

.persian-date-picker-day.is-today {
    box-shadow: inset 0 0 0 1px #1f6feb;
}

.persian-date-picker-day.is-selected {
    background: #182b51;
    color: #ffffff;
}

.persian-date-picker-day.is-empty {
    cursor: default;
    visibility: hidden;
}

.persian-date-picker-time {
    border-top: 1px solid #e8edf4;
    justify-content: center;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.persian-date-picker-time select {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    font-family: inherit;
    padding: 0.4rem;
}

.persian-date-picker-actions {
    border-top: 1px solid #e8edf4;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.persian-date-picker-action.is-primary {
    background: #182b51;
    color: #ffffff;
}

@media (max-width: 480px) {
    .persian-date-picker-panel {
        inset-inline-start: auto;
        inset-inline-end: 0;
        min-width: min(310px, calc(100vw - 24px));
    }
}

body.phase-two-day-seven .exam-result-eyebrow {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 700;
}

body.phase-two-day-seven .exam-result-header h1 {
    margin: 3px 0 4px;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
}

body.phase-two-day-seven .exam-result-header p {
    margin: 0;
    color: #64748b;
    font-size: 0.8rem;
}

body.phase-two-day-seven .exam-result-header .btn {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 0.74rem;
}

body.phase-two-day-seven .exam-result-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

body.phase-two-day-seven .exam-result-stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    padding: 11px 14px;
    background: #ffffff;
    border: 1px solid #d7dce3;
    border-right-width: 5px;
}

body.phase-two-day-seven .exam-result-stat span {
    font-size: 0.78rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-stat strong {
    font-size: 1.35rem;
}

body.phase-two-day-seven .exam-result-stat.result-status-correct {
    border-right-color: #16a34a;
    color: #166534;
    background: #f0fdf4;
}

body.phase-two-day-seven .exam-result-stat.result-status-wrong {
    border-right-color: #dc2626;
    color: #991b1b;
    background: #fef2f2;
}

body.phase-two-day-seven .exam-result-stat.result-status-unanswered {
    border-right-color: #94a3b8;
    color: #475569;
    background: #f8fafc;
}

body.phase-two-day-seven .exam-result-stat.result-status-pending {
    border-right-color: #2563eb;
    color: #1d4ed8;
    background: #eff6ff;
}

body.phase-two-day-seven .exam-result-answer-map {
    padding: 14px;
}

body.phase-two-day-seven .exam-result-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

body.phase-two-day-seven .exam-result-section-head h2 {
    margin: 0 0 3px;
    font-size: 0.96rem;
}

body.phase-two-day-seven .exam-result-section-head p {
    margin: 0;
    font-size: 0.7rem;
}

body.phase-two-day-seven .exam-result-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-seven .exam-result-legend span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.phase-two-day-seven .exam-result-legend i {
    width: 11px;
    height: 11px;
    border: 1px solid transparent;
}

body.phase-two-day-seven .exam-result-legend i.result-status-correct,
body.phase-two-day-seven .exam-result-map-item.result-status-correct {
    background: #dcfce7;
    border-color: #4ade80;
    color: #166534;
}

body.phase-two-day-seven .exam-result-legend i.result-status-wrong,
body.phase-two-day-seven .exam-result-map-item.result-status-wrong {
    background: #fee2e2;
    border-color: #f87171;
    color: #991b1b;
}

body.phase-two-day-seven .exam-result-legend i.result-status-unanswered,
body.phase-two-day-seven .exam-result-map-item.result-status-unanswered {
    background: #e2e8f0;
    border-color: #94a3b8;
    color: #475569;
}

body.phase-two-day-seven .exam-result-legend i.result-status-pending,
body.phase-two-day-seven .exam-result-map-item.result-status-pending {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #1d4ed8;
}

body.phase-two-day-seven .exam-result-legend i.result-status-special {
    background: #ede9fe;
    border-color: #8b5cf6;
}

body.phase-two-day-seven .exam-result-map-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
    gap: 6px;
}

body.phase-two-day-seven .exam-result-map-item {
    position: relative;
    display: grid;
    place-items: center;
    max-width: 52px;
    aspect-ratio: 1;
    border: 1px solid;
    font-size: 0.76rem;
    font-weight: 900;
}

body.phase-two-day-seven .exam-result-map-item:hover,
body.phase-two-day-seven .exam-result-map-item:focus-visible {
    outline: 2px solid rgba(24, 43, 81, 0.22);
    outline-offset: 2px;
}

body.phase-two-day-seven .exam-result-map-item.has-special-status {
    box-shadow: inset 0 0 0 2px #8b5cf6;
}

body.phase-two-day-seven .exam-result-map-item.has-special-status span {
    position: absolute;
    top: -5px;
    left: -4px;
    color: #7c3aed;
    font-size: 0.58rem;
}

body.phase-two-day-seven .exam-result-questions {
    display: grid;
    gap: 11px;
}

body.phase-two-day-seven .exam-result-question {
    display: grid;
    gap: 13px;
    padding: 16px;
    border-right-width: 5px;
    scroll-margin-top: 94px;
}

body.phase-two-day-seven .exam-result-question.result-status-correct {
    border-right-color: #16a34a;
}

body.phase-two-day-seven .exam-result-question.result-status-wrong {
    border-right-color: #dc2626;
}

body.phase-two-day-seven .exam-result-question.result-status-unanswered {
    border-right-color: #94a3b8;
}

body.phase-two-day-seven .exam-result-question.result-status-pending {
    border-right-color: #2563eb;
}

body.phase-two-day-seven .exam-result-question-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-seven .exam-result-question-head > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

body.phase-two-day-seven .exam-result-question-head small {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: 0.65rem;
}

body.phase-two-day-seven .exam-result-question-number {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    background: #182b51;
    color: #ffffff;
    font-weight: 900;
}

body.phase-two-day-seven .exam-result-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    border: 1px solid;
    font-size: 0.68rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-status-badge.result-status-correct {
    background: #dcfce7;
    border-color: #4ade80;
    color: #166534;
}

body.phase-two-day-seven .exam-result-status-badge.result-status-wrong {
    background: #fee2e2;
    border-color: #f87171;
    color: #991b1b;
}

body.phase-two-day-seven .exam-result-status-badge.result-status-unanswered {
    background: #e2e8f0;
    border-color: #94a3b8;
    color: #475569;
}

body.phase-two-day-seven .exam-result-status-badge.result-status-pending {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #1d4ed8;
}

body.phase-two-day-seven .exam-result-question-body,
body.phase-two-day-seven .exam-result-question-body .rich-text-content {
    color: #172033;
    font-size: 0.86rem;
    line-height: 1.85;
    text-align: right;
}

body.phase-two-day-seven .exam-result-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

body.phase-two-day-seven .exam-result-option {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 8px 9px;
    background: #ffffff;
    border: 1px solid #d7dce3;
    color: #475569;
}

body.phase-two-day-seven .exam-result-option.is-correct-option {
    background: #f0fdf4;
    border-color: #4ade80;
    color: #166534;
}

body.phase-two-day-seven .exam-result-option.is-selected-option.is-wrong-option {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
}

body.phase-two-day-seven .exam-result-option-number {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    background: #e2e8f0;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 900;
}

body.phase-two-day-seven .exam-result-option.is-correct-option .exam-result-option-number {
    background: #16a34a;
    color: #ffffff;
}

body.phase-two-day-seven .exam-result-option.is-wrong-option .exam-result-option-number {
    background: #dc2626;
    color: #ffffff;
}

body.phase-two-day-seven .exam-result-option-content,
body.phase-two-day-seven .exam-result-option-content .rich-text-content {
    min-width: 0;
    color: inherit;
    font-size: 0.78rem;
    line-height: 1.65;
    text-align: right;
}

body.phase-two-day-seven .exam-result-option > small {
    font-size: 0.62rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-no-answer {
    margin: 0;
    padding: 9px 11px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.74rem;
}

body.phase-two-day-seven .exam-result-descriptive-answer,
body.phase-two-day-seven .exam-result-report {
    display: grid;
    gap: 6px;
    padding: 10px 11px;
    background: #f8fafc;
    border: 1px solid #d7dce3;
    color: #334155;
    font-size: 0.76rem;
}

body.phase-two-day-seven .exam-result-specials {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

body.phase-two-day-seven .exam-result-specials span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 8px;
    background: #f5f3ff;
    border: 1px solid #c4b5fd;
    color: #6d28d9;
    font-size: 0.66rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-report {
    background: #faf5ff;
    border-color: #c084fc;
    color: #6b21a8;
}

body.phase-two-day-seven .exam-result-explanation {
    border-top: 1px solid #e2e8f0;
    padding-top: 10px;
}

body.phase-two-day-seven .exam-result-explanation summary {
    width: fit-content;
    cursor: pointer;
    color: #182b51;
    font-size: 0.74rem;
    font-weight: 800;
}

body.phase-two-day-seven .exam-result-explanation[open] summary {
    margin-bottom: 10px;
}

@media (max-width: 760px) {
    body.phase-two-day-seven .exam-result-header,
    body.phase-two-day-seven .exam-result-section-head {
        align-items: stretch;
        flex-direction: column;
    }

    body.phase-two-day-seven .standard-answer-overview-grid {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-seven .standard-answer-overview .exam-result-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-seven .attempt-ai-kpis,
    body.phase-two-day-seven .attempt-ai-dimensions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-seven .attempt-ai-plan > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-seven .attempt-ai-report-header {
        flex-direction: column;
    }

    body.phase-two-day-seven .exam-result-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-seven .exam-result-legend {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    body.phase-two-day-seven .student-result-tabs a {
        min-width: 116px;
        padding-inline: 11px;
    }

    body.phase-two-day-seven .standard-answer-overview .exam-result-stats,
    body.phase-two-day-seven .attempt-ai-kpis,
    body.phase-two-day-seven .attempt-ai-dimensions,
    body.phase-two-day-seven .attempt-ai-subjects,
    body.phase-two-day-seven .attempt-ai-plan > div {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-seven .difficulty-response-chart {
        gap: 5px;
        padding-inline: 2px;
    }

    body.phase-two-day-seven .difficulty-response-column {
        min-width: 0;
    }

    body.phase-two-day-seven .exam-result-subject-answer-group > header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.phase-two-day-seven .exam-result-options {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-seven .exam-result-option {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    body.phase-two-day-seven .exam-result-option > small {
        grid-column: 2;
    }
}

.exam-option-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.option-image-wrap {
    display: grid;
    place-items: center;
    width: min(var(--question-option-image-size), 100%);
    min-height: var(--question-option-image-size);
    margin-top: 4px;
    padding: 10px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e5edf6;
    overflow: hidden;
}

.inline-option-image-wrap {
    width: min(var(--question-option-image-size), 100%);
    max-width: 100%;
    margin-inline: auto;
    padding: 10px;
}

.inline-option-image {
    display: block;
    width: 100%;
    height: var(--question-option-image-size);
    max-width: var(--question-option-image-size);
    max-height: var(--question-option-image-max-height);
    margin: 0 auto;
    object-fit: contain;
}

.exam-option-content > .option-image {
    width: var(--question-option-image-size);
    height: var(--question-option-image-size);
    max-width: 100%;
    max-height: var(--question-option-image-max-height);
    margin-top: 4px;
    object-fit: contain;
}

.exam-option-image-head {
    margin-bottom: 8px;
    font-weight: 800;
    color: var(--primary-deep);
}

.exam-option-card.is-selected {
    border-color: rgba(24, 43, 81, 0.35);
    background: #ffffff;
}

.exam-option-card.is-correct {
    border-color: rgba(24, 43, 81, 0.28);
    background: #f1f3f5;
}

.muted,
.meta-inline {
    color: var(--muted);
}

.content-card,
.question-card,
.page-head,
.auth-shell,
.package-card,
.stat-card,
.option-card,
.list-row,
.landing-hero {
    padding: 24px;
}

.glass {
    background: rgba(255, 255, 255, 0.94);
}

.page-head,
.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

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

.field-wrap.full,
.actions.full {
    grid-column: 1 / -1;
}

.section-grid,
.stat-grid,
.options-grid,
.content-stack,
.list-stack,
.messages-stack,
.two-panel,
.detail-layout,
.page-grid.side-layout,
.wide-layout,
.auth-shell,
.mini-stats,
.hero-panel {
    display: grid;
    gap: 20px;
}

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

.section-grid.two,
.two-panel,
.detail-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-grid.side-layout {
    grid-template-columns: 320px minmax(0, 1fr);
}

.wide-layout,
.auth-shell {
    grid-template-columns: minmax(0, 1fr) 340px;
}

.sticky-panel {
    position: sticky;
    top: 112px;
}

.inline-image,
.content-image,
.option-image {
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow);
}

.image-wrap {
    margin-top: 12px;
    padding: 12px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid #eef2f7;
}

.inline-image { max-width: 440px; }
.content-image {
    width: auto;
    max-width: min(var(--question-image-max-width), 100%);
    max-height: var(--question-image-max-height);
    object-fit: contain;
    margin: 0 auto;
}
.option-image {
    max-width: var(--question-option-image-size);
    max-height: var(--question-option-image-max-height);
    object-fit: contain;
}

.question-media-wrap {
    width: min(var(--question-image-max-width), 100%);
    margin-inline: auto;
}

.question-media-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: var(--question-image-max-height);
    object-fit: contain;
    margin: 0 auto;
}

@media print {
    .rich-text-content .katex,
    .question-body .katex,
    .exam-option-text .katex,
    .question-rich-content .katex {
        font-size: 10.5pt;
        line-height: 1.45;
    }

    .rich-text-content .katex-display,
    .question-body .katex-display,
    .exam-option-text .katex-display,
    .question-rich-content .katex-display {
        font-size: 11pt;
        line-height: 1.5;
        overflow: visible;
        padding: 2mm 0;
    }

    .question-media-wrap {
        width: min(var(--question-print-image-width), 100%);
        padding: 3mm;
        break-inside: avoid;
    }

    .content-image,
    .question-media-image {
        max-width: min(var(--question-print-image-width), 100%);
        max-height: var(--question-print-image-height);
        box-shadow: none;
    }

    .option-image-wrap,
    .inline-option-image-wrap {
        width: min(var(--question-print-option-image-size), 100%);
        min-height: var(--question-print-option-image-size);
        padding: 2mm;
        break-inside: avoid;
    }

    .option-image,
    .inline-option-image,
    .exam-option-content > .option-image {
        width: var(--question-print-option-image-size);
        height: var(--question-print-option-image-size);
        max-width: 100%;
        max-height: var(--question-print-option-image-size);
        box-shadow: none;
    }
}

code,
.latex {
    display: inline-block;
    direction: ltr;
    font-family: "Courier New", monospace;
    padding: 2px 8px;
    border-radius: 10px;
    background: #f3f4f6;
}

@media (max-width: 1100px) {
    .edu-navbar {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .store-layout,
    .auth-shell,
    .wide-layout,
    .page-grid.side-layout,
    .landing-hero,
    .detail-layout,
    .two-panel,
    .section-grid.three,
    .section-grid.two {
        grid-template-columns: 1fr;
    }

    .store-filter-card,
    .sticky-panel {
        position: static;
    }

    .dashboard-feature-grid,
    .stat-grid,
    .store-products-grid,
    .question-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .container {
        width: min(100% - 20px, 1200px);
    }

    .edu-navbar-shell {
        padding-top: 12px;
    }

    .edu-navbar {
        padding: 14px;
        gap: 14px;
    }

    .edu-navbar-menu,
    .page-head,
    .section-head,
    .school-profile-card,
    .store-card-footer,
    .store-filter-actions,
    .actions,
    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .school-profile-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-hero-card,
    .store-products-panel,
    .store-filter-card,
    .content-card,
    .question-card,
    .page-head,
    .auth-shell,
    .package-card,
    .stat-card,
    .option-card,
    .list-row,
    .landing-hero {
        padding: 18px;
        border-radius: 22px;
    }

    .dashboard-feature-grid,
    .store-products-grid,
    .question-products-grid,
    .stat-grid,
    .form-grid,
    .section-grid.three,
    .section-grid.two,
    .mini-stats {
        grid-template-columns: 1fr;
    }

    .store-tabs-bar {
        width: 100%;
    }

    .store-tab-pill {
        flex: 1 1 calc(50% - 10px);
    }
}

/* Screenshot-matched layout overrides */
body {
    background: #f8f8f8;
}

.edu-navbar-shell {
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 1px 8px rgba(15, 23, 42, 0.06);
}

.edu-navbar {
    min-height: 74px;
    grid-template-columns: auto 1fr auto;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
    padding: 12px 8px;
}

.edu-navbar-brand {
    gap: 10px;
}

.edu-brand-mark {
    background: transparent;
    box-shadow: none;
}

.edu-brand-text strong {
    font-size: 0.95rem;
}

.edu-brand-text small,
.edu-user-meta small {
    color: #9ca3af;
    font-size: 0.78rem;
}

.edu-navbar-menu {
    gap: 14px;
}

.edu-nav-link {
    padding: 14px 18px;
    border-radius: 0;
    background: transparent;
    font-weight: 800;
    color: #111827;
}

.edu-nav-link.is-active {
    background: #f3d9fb;
    border-radius: 0;
    color: #111827;
    box-shadow: none;
}

.edu-navbar-user {
    gap: 10px;
}

.edu-account-chip,
.edu-user-name-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.edu-account-chip .edu-user-label {
    min-height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    white-space: nowrap;
}

.edu-bell-btn {
    background: transparent;
    box-shadow: none;
    width: 32px;
    height: 32px;
    font-size: 1rem;
}

.edu-user-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.2;
}

.edu-user-logout {
    display: inline-flex;
    align-items: center;
    align-self: center;
    line-height: 1;
    font-size: 0.78rem;
    color: #9ca3af;
    text-decoration: none;
    white-space: nowrap;
}

.edu-user-logout:hover,
.edu-user-logout:focus-visible {
    color: #111827;
}

.edu-auth-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.edu-auth-btn {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
}

.edu-auth-outline {
    border: 1px solid #d7dce3;
    color: #182b51;
    background: #ffffff;
}

.edu-auth-solid {
    background: #ff6b00;
    color: #fff;
    box-shadow: 0 8px 18px rgba(255, 107, 0, 0.18);
}

.edu-auth-muted {
    background: #f3f4f6;
    color: #111827;
}

.edu-user-label {
    min-height: auto;
    padding: 0;
    background: transparent;
    border: 0;
    font-size: 0.92rem;
}

.app-shell {
    padding: 20px 0 70px;
}

.app-shell-guest-home {
    width: 100%;
    max-width: none;
    padding-top: 12px;
}

.page-breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    color: #94a3b8;
    font-size: 0.92rem;
    margin-bottom: 14px;
}

.page-breadcrumbs a {
    color: #94a3b8;
}

.page-breadcrumbs strong {
    color: #60a5fa;
    font-weight: 800;
}

.edu-navbar-guest-home {
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    padding: 10px 18px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.edu-navbar-brand-guest .edu-brand-mark {
    background: transparent;
    box-shadow: none;
}

.edu-navbar-brand-guest .site-logo {
    height: 64px;
}

.edu-navbar-menu-guest-home {
    display: flex;
    justify-content: flex-start;
    gap: 18px;
    align-items: center;
}

.edu-mega-item {
    position: relative;
}

.edu-nav-link-guest-home {
    min-height: auto;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: #182B51;
    text-align: right;
    font-size: 0.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.edu-nav-link-guest-home:nth-child(even) {
    background: transparent;
    color: #182B51;
    border-color: transparent;
}

.edu-nav-link-guest-home:hover {
    background: transparent;
    color: #182B51;
}

.edu-nav-caret {
    font-size: 0.72rem;
    color: #6b7280;
}

.edu-nav-trigger {
    font: inherit;
}

.edu-mega-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 180px;
    display: none;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 8px 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    z-index: 80;
}

.edu-mega-item:hover .edu-mega-panel,
.edu-mega-item:focus-within .edu-mega-panel {
    display: grid;
}

.edu-mega-panel-list {
    min-width: 196px;
}

.edu-mega-links-compact,
.edu-mega-flyout-list {
    display: grid;
    gap: 0;
}

.edu-mega-links-compact a,
.edu-flyout-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: 0 12px;
    color: #182B51;
    font-size: 0.78rem;
    white-space: nowrap;
}

.edu-mega-links-compact a:hover,
.edu-flyout-link:hover {
    background: #f8fafc;
}

.edu-flyout-item {
    position: relative;
}

.edu-flyout-link {
    direction: rtl;
    text-align: right;
}

.edu-flyout-label {
    direction: rtl;
    text-align: right;
}

.edu-flyout-arrow {
    color: #94a3b8;
    font-size: 0.88rem;
    line-height: 1;
}

.edu-flyout-submenu {
    position: absolute;
    top: -8px;
    right: calc(100% + 6px);
    left: auto;
    min-width: 210px;
    display: none;
    padding: 8px 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.edu-flyout-item:hover .edu-flyout-submenu,
.edu-flyout-item:focus-within .edu-flyout-submenu {
    display: grid;
}

.edu-flyout-submenu a {
    min-height: 34px;
    padding: 0 12px;
    color: #182B51;
    font-size: 0.76rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.edu-flyout-submenu a:hover {
    background: #f8fafc;
}

@media (max-width: 980px) {
    .edu-navbar-guest-home {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 14px;
    }

    .edu-navbar-menu-guest-home {
        flex-wrap: wrap;
        justify-content: center;
        gap: 14px;
    }

    .edu-mega-panel {
        position: static;
        min-width: 100%;
        margin-top: 10px;
        grid-template-columns: 1fr;
    }

    .edu-flyout-submenu {
        position: static;
        display: none;
        margin: 6px 8px 8px;
        border: 0;
        box-shadow: none;
        background: #f8fafc;
    }

    .edu-flyout-item:hover .edu-flyout-submenu,
    .edu-flyout-item:focus-within .edu-flyout-submenu {
        display: grid;
    }
}

@media (max-width: 560px) {
    .edu-navbar-menu-guest-home {
        flex-direction: column;
        gap: 10px;
    }
}

.edu-navbar-user-guest {
    gap: 10px;
}

.edu-auth-actions-guest .edu-auth-solid {
    background: #182B51;
    color: #ffffff;
    border-color: #182B51;
}

.guest-home {
    display: grid;
    gap: 28px;
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
}

.guest-home-hero-banner {
    width: 100vw;
    max-width: none;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 42px max(24px, calc((100vw - 1200px) / 2 + 24px));
    background:
        radial-gradient(circle at left center, rgba(37, 99, 235, 0.32), transparent 24%),
        radial-gradient(circle at right top, rgba(24, 43, 86, 0.14), transparent 26%),
        linear-gradient(135deg, #ffffff 0%, #eff6ff 42%, #f6f8fc 100%);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.guest-home-section {
    position: relative;
    display: grid;
    gap: 22px;
    padding: 28px;
    border-radius: 36px;
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9)),
        radial-gradient(circle at top right, rgba(24, 43, 86, 0.08), transparent 28%);
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.08);
}

.guest-home-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.28);
    color: #182b56;
    font-size: 0.82rem;
    font-weight: 800;
}

.guest-home-hero-content {
    overflow: hidden;
}

.guest-home-hero-copy,
.guest-home-hero-slider,
.guest-home-intro-copy,
.guest-school-cta-copy {
    display: grid;
    gap: 18px;
}

.guest-home-hero-slider {
    position: relative;
    min-height: 100%;
    align-self: stretch;
    width: min(1200px, 100%);
    margin: 0 auto;
}

.guest-home-hero-copy h1,
.guest-home-intro-copy h2,
.guest-home-section-head h2,
.guest-school-cta-copy h2 {
    margin: 0;
    color: #0f172a;
    line-height: 1.45;
}

.guest-home-hero-copy h1 {
    font-size: clamp(2rem, 4vw, 3.45rem);
}

.guest-home-hero-copy p,
.guest-home-intro-copy p,
.guest-school-cta-copy p,
.guest-benefit-card p,
.guest-bank-card p,
.guest-testimonial-card p {
    margin: 0;
    color: #475569;
    line-height: 2;
}

.guest-home-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.guest-home-trust-row span {
    padding: 10px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(24, 43, 86, 0.1);
    color: #182b56;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

.guest-home-targets,
.guest-home-actions,
.guest-home-slider-badges,
.guest-home-tabs,
.guest-product-card-meta,
.guest-learning-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.guest-home-targets span,
.guest-home-slider-badges span,
.guest-learning-card-meta span,
.guest-bank-card-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(24, 43, 86, 0.08);
    color: #182b56;
    font-size: 0.88rem;
    font-weight: 700;
}

.guest-home-hero-contact {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    color: #0f172a;
    font-weight: 700;
}

.guest-home-hero-contact a {
    color: #182b56;
}

.guest-home-btn,
.guest-inline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 13px 20px;
    border-radius: 16px;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.guest-home-btn:hover,
.guest-inline-btn:hover {
    transform: translateY(-2px);
}

.guest-home-btn-primary,
.guest-inline-btn {
    color: #fff;
    background: linear-gradient(135deg, #182b56, #254785);
    box-shadow: 0 16px 28px rgba(24, 43, 86, 0.24);
}

.guest-home-btn-secondary {
    color: #182b56;
    background: rgba(37, 99, 235, 0.38);
    border: 1px solid rgba(37, 99, 235, 0.72);
}

.guest-home-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 6px;
}

.guest-home-mini-stats article {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(24, 43, 86, 0.1);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.guest-home-mini-stats strong {
    color: #0f172a;
    font-size: 1.2rem;
}

.guest-home-mini-stats span {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 700;
}

.guest-home-slider-card,
.guest-home-video-card,
.guest-school-card {
    position: relative;
    display: grid;
    gap: 16px;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(145deg, #182b56, #223d78);
    color: #fff;
    overflow: hidden;
}

.guest-home-slider-card {
    min-height: 100%;
    height: 100%;
    padding: 28px;
    padding-bottom: 116px;
    box-shadow: 0 28px 54px rgba(15, 23, 42, 0.22);
    border-radius: 36px;
}

.guest-home-slider-glow {
    position: absolute;
    inset: auto -50px -50px auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.42), rgba(37, 99, 235, 0));
    pointer-events: none;
}

.guest-home-slider-top,
.guest-home-slider-stats,
.guest-home-section-head,
.guest-product-card-price,
.guest-bank-card-footer,
.guest-learning-card-footer,
.guest-home-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.guest-home-slider-nav {
    display: inline-flex;
    gap: 8px;
}

.guest-home-slider-nav button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
}

.guest-home-slider-lines {
    display: flex;
    gap: 10px;
    margin-top: auto;
}

.guest-home-slider-lines span {
    display: block;
    height: 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.16);
}

.guest-home-slider-lines span:nth-child(1) {
    width: 88px;
    background: linear-gradient(90deg, #ffffff, #dbeafe);
}

.guest-home-slider-lines span:nth-child(2) {
    width: 42px;
}

.guest-home-slider-lines span:nth-child(3) {
    width: 26px;
}

.guest-home-slider-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    position: absolute;
    right: 18px;
    left: 18px;
    bottom: 18px;
    z-index: 2;
}

.guest-home-slider-stats article,
.guest-stats-bar article {
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.84));
    color: #fff;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
}

.guest-home-slider-stats strong,
.guest-stats-bar strong {
    font-size: 1.5rem;
}

.guest-home-tabs {
    overflow-x: auto;
    padding-bottom: 4px;
    padding-inline: 2px;
}

.guest-home-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    padding: 9px 14px;
    min-height: 38px;
    line-height: 1.5;
    text-align: center;
    background: #eef2f7;
    color: #475569;
    font-weight: 800;
    font-size: 0.84rem;
    cursor: pointer;
    white-space: nowrap;
}

.guest-home-tabs button.is-active {
    background: linear-gradient(135deg, #182b56, #254785);
    color: #ffffff;
}

.guest-home-card-row,
.guest-testimonial-row,
.guest-home-footer-grid,
.guest-benefit-cards,
.guest-school-cta {
    display: grid;
    gap: 18px;
}

.guest-home-card-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.guest-product-card,
.guest-bank-card,
.guest-learning-card,
.guest-testimonial-card,
.guest-benefit-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.guest-product-card:hover,
.guest-bank-card:hover,
.guest-learning-card:hover,
.guest-testimonial-card:hover,
.guest-benefit-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.1);
    border-color: rgba(24, 43, 86, 0.18);
}

.guest-product-card.is-hidden-by-filter,
.guest-bank-card.is-hidden-by-filter,
.guest-learning-card.is-hidden-by-filter {
    display: none;
}

.guest-product-card-media,
.guest-learning-card-media {
    min-height: 180px;
    border-radius: 22px;
    background: linear-gradient(145deg, #ffffff, #f1f3f5);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #0f766e;
    font-size: 1.2rem;
    font-weight: 900;
}

.guest-product-card-media img,
.guest-learning-card-media img,
.guest-home-video-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guest-product-card-body,
.guest-learning-card-body {
    display: grid;
    gap: 12px;
}

.guest-product-card-body h3,
.guest-bank-card h3,
.guest-learning-card h3,
.guest-testimonial-card strong,
.guest-benefit-card strong {
    margin: 0;
    color: #0f172a;
    line-height: 1.7;
}

.guest-badge {
    padding: 6px 10px;
    border-radius: 10px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.8rem;
    font-weight: 800;
}

.guest-product-card-price strong,
.guest-bank-card-footer strong,
.guest-learning-card-footer strong {
    color: #0f172a;
    font-size: 1.1rem;
}

.guest-product-card-price small {
    color: #94a3b8;
    text-decoration: line-through;
}

.guest-home-intro,
.guest-school-cta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
}

.guest-home-video-card {
    min-height: 320px;
    background: linear-gradient(145deg, #182b56, #2d4e90);
    box-shadow: 0 28px 54px rgba(15, 23, 42, 0.18);
}

.guest-home-video-placeholder {
    display: grid;
    place-items: center;
    gap: 12px;
    height: 100%;
    text-align: center;
}

.guest-home-video-placeholder span {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    font-size: 1.6rem;
}

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

.guest-testimonial-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.guest-testimonial-avatar {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, #182b56, #254785);
    color: #fff;
    font-weight: 900;
}

.guest-stats-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    background:
        radial-gradient(circle at left top, rgba(37, 99, 235, 0.22), transparent 24%),
        linear-gradient(135deg, #182b56, #254785);
}

.guest-stats-bar article {
    background: rgba(255, 255, 255, 0.08);
}

.guest-school-cta-art {
    display: grid;
    gap: 16px;
}

.guest-school-card {
    min-height: 160px;
    background: linear-gradient(145deg, #eff6ff, #ffffff);
    color: #182b56;
    border: 1px solid rgba(37, 99, 235, 0.45);
}

.guest-school-card.is-accent {
    background: linear-gradient(145deg, #182b56, #254785);
    color: #ffffff;
}

.guest-home-footer {
    display: grid;
    gap: 20px;
    padding: 32px 28px 8px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(248, 250, 252, 0.8));
}

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

.guest-home-footer-grid div {
    display: grid;
    gap: 10px;
}

.guest-home-footer-grid h3 {
    margin: 0 0 6px;
    color: #0f172a;
}

.guest-home-footer-grid a,
.guest-home-footer-bottom span {
    color: #64748b;
}

.guest-enamad-badge {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(145deg, #f8fafc, #e2e8f0);
    color: #0f172a;
    font-weight: 900;
}

.page-breadcrumbs .is-current {
    color: #1f2a44;
    font-weight: 800;
}

.showcase-page,
.market-page,
.school-dashboard-page {
    display: grid;
    gap: 18px;
}

.hero-banner-card,
.school-summary-card,
.market-board,
.market-filter-box,
.market-product-card,
.mini-app-card,
.dashboard-ad-banner {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06);
    border: 1px solid #f1f5f9;
}

.hero-banner-card {
    min-height: 240px;
    display: grid;
    align-items: center;
    padding: 28px 32px;
}

.hero-banner-content {
    min-height: 180px;
    display: grid;
    align-content: center;
    justify-items: center;
    position: relative;
}

.hero-banner-content h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: #8b8b8b;
    margin-bottom: 10px;
    font-weight: 700;
}

.hero-banner-content p {
    font-size: 1rem;
    color: #d1d5db;
}

.hero-banner-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 128px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #ff6b00;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(255, 107, 0, 0.24);
}

.school-summary-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 28px;
}

.school-summary-meta {
    display: grid;
    justify-items: start;
    gap: 10px;
    color: #7c93ad;
    font-size: 0.92rem;
}

.school-summary-main {
    display: flex;
    align-items: center;
    gap: 16px;
}

.school-summary-copy {
    display: grid;
    gap: 6px;
    text-align: right;
}

.school-summary-copy h2 {
    margin-bottom: 0;
    font-size: 1.45rem;
}

.school-summary-copy p,
.school-summary-copy span {
    margin-bottom: 0;
    color: #8b8b8b;
}

.school-summary-logo {
    width: 100px;
    height: 100px;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8fafc, #f0fdf4);
    border: 1px solid #e2e8f0;
    display: grid;
    place-items: center;
    color: #15803d;
    font-weight: 900;
}

.school-outline-btn {
    min-width: 160px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1.5px solid #2563eb;
    color: #1d4ed8;
    font-weight: 800;
}

.promo-strip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.promo-strip-card {
    min-height: 190px;
    border-radius: 26px;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12);
    display: grid;
    place-items: center;
    text-align: center;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 900;
    line-height: 1.55;
}

.tone-rose { background: #f39aa0; }
.tone-cyan { background: #55c9cf; }
.tone-lime { background: #b7e27a; }

.market-board {
    padding: 16px 18px;
}

.market-board-head {
    display: grid;
    gap: 14px;
}

.market-board-head h1 {
    margin-bottom: 0;
    justify-self: end;
    font-size: 2rem;
}

.market-tabs-row {
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr));
    gap: 12px;
}

.market-tab-card {
    min-height: 100px;
    border-radius: 18px;
    background: #f8f8ff;
    border: 1px solid #eff2fa;
    color: #737a8c;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 10px;
    font-size: 0.92rem;
    line-height: 1.7;
}

.market-tab-active {
    background: #eff6ff;
    border: 1.5px solid #2563eb;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}

.market-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.market-sidebar {
    display: grid;
    gap: 16px;
}

.market-filter-box {
    padding: 22px;
}

.market-filter-box h3 {
    margin-bottom: 0;
    font-size: 1.35rem;
}

.market-search-input {
    position: relative;
    margin-top: 18px;
}

.market-search-input input {
    width: 100%;
    min-height: 54px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    padding: 0 16px 0 44px;
    background: #fff;
}

.market-search-input span {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
}

.market-select-box,
.market-toggle-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
}

.market-toggle-ui {
    width: 54px;
    height: 30px;
    border-radius: 50%;
    background: #f1f5f9;
    position: relative;
}

.market-toggle-ui span {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.12);
}

.market-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.market-product-card {
    position: relative;
    padding: 18px;
}

.market-discount-badge {
    position: absolute;
    top: 10px;
    right: 22px;
    min-width: 40px;
    min-height: 26px;
    border-radius: 6px;
    background: #ff7a1a;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
}

.market-product-top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.market-product-thumb {
    width: 88px;
    height: 88px;
    border-radius: 16px;
    background: linear-gradient(135deg, #52d1d4, #64d5b0);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #fff;
    font-size: 0.78rem;
    text-align: center;
    padding: 8px;
    flex-shrink: 0;
}

.market-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.market-product-copy {
    display: grid;
    gap: 16px;
    flex: 1;
}

.market-product-copy h2 {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.market-product-copy p {
    color: #8b8b8b;
    margin-bottom: 0;
}

.market-product-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

.market-add-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid #374151;
    display: grid;
    place-items: center;
    color: #ff7a1a;
    font-size: 1.8rem;
    line-height: 1;
    flex-shrink: 0;
}

.market-price-box {
    display: grid;
    gap: 6px;
    text-align: left;
}

.market-price-box del {
    color: #9ca3af;
    font-size: 0.88rem;
}

.market-price-box span {
    color: #4b5563;
    font-size: 0.94rem;
}

.market-price-box strong {
    font-size: 1.35rem;
    color: #111827;
}

.market-empty-state {
    grid-column: 1 / -1;
    min-height: 180px;
    display: grid;
    place-items: center;
    background: #fff;
    border-radius: 24px;
}

.school-dashboard-page {
    gap: 22px;
}

.dashboard-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 38px;
    justify-items: center;
    padding-top: 32px;
}

.mini-app-card {
    width: 156px;
    min-height: 180px;
    padding: 18px 14px;
    border-radius: 20px;
    display: grid;
    align-content: space-between;
    justify-items: center;
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.mini-app-card:hover {
    transform: translateY(-3px);
    background: var(--primary);
    color: var(--accent);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.mini-app-title {
    color: inherit;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.5;
}

.mini-app-icon {
    font-size: 3.3rem;
    filter: none;
}

.card-blue,
.card-green,
.card-pink,
.card-yellow,
.card-cyan,
.card-violet,
.card-magenta,
.card-orange {
    background: #ffffff;
    border: 1px solid var(--line);
}

.dashboard-ad-banner {
    min-height: 220px;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: var(--primary);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 900;
}

.floating-support-btn {
    position: fixed;
    left: 20px;
    bottom: 18px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #182B51;
    color: #ffffff;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12);
    font-size: 1.8rem;
    z-index: 70;
}

@media (max-width: 1100px) {
    .market-tabs-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .market-layout,
    .market-product-grid,
    .promo-strip-grid,
    .dashboard-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .market-sidebar {
        order: 2;
    }
}

@media (max-width: 760px) {
    .edu-navbar {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 8px;
    }

    .edu-navbar-menu {
        gap: 6px;
    }

    .edu-nav-link {
        padding: 10px 12px;
        font-size: 0.9rem;
    }

    .hero-banner-card,
    .school-summary-card,
    .market-board,
    .market-filter-box,
    .market-product-card,
    .dashboard-ad-banner {
        border-radius: 18px;
    }

    .hero-banner-card {
        min-height: 180px;
        padding: 20px;
    }

    .hero-banner-content {
        min-height: 140px;
    }

    .hero-banner-btn {
        position: static;
        margin-top: 16px;
    }

    .school-summary-card,
    .school-summary-main,
    .market-product-top,
    .market-product-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .promo-strip-grid,
    .market-tabs-row,
    .market-layout,
    .market-product-grid,
    .dashboard-card-grid {
        grid-template-columns: 1fr;
    }

    .mini-app-card {
        width: 100%;
    }

    .dashboard-ad-banner {
        min-height: 150px;
        font-size: 2rem;
    }
}

.hero-banner-actions {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-flex;
    gap: 10px;
}

.hero-banner-btn-secondary {
    background: #ffffff;
    color: var(--primary);
    box-shadow: none;
    border: 1px solid #d7dce3;
}

/* Student dashboard screenshot match */
.edu-user-balance {
    min-height: 34px;
    padding: 0 10px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--primary);
    font-weight: 800;
    font-size: 0.9rem;
}

.edu-user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 0 0 1px rgba(13, 45, 113, 0.1);
}

.edu-user-avatar-image {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.student-dashboard-page {
    display: grid;
    gap: 18px;
}

.student-mega-menu-card {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 30px;
    min-height: 260px;
    padding: 22px 28px;
    background: #fff;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.student-mega-column {
    display: grid;
    align-content: start;
    gap: 14px;
    text-align: right;
}

.student-mega-column h3 {
    margin-bottom: 6px;
    font-size: 1.05rem;
    color: #6b7280;
}

.student-mega-column a {
    color: #374151;
    font-weight: 700;
}

.student-package-grid {
    display: grid;
    gap: 18px;
    max-width: 760px;
    margin-right: auto;
}

.student-package-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 18px;
    padding: 18px 20px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.student-package-media {
    width: 82px;
    height: 82px;
    border-radius: 14px;
    background: linear-gradient(135deg, #bfdbfe, #2563eb);
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #182b51;
    font-size: 2.2rem;
    font-weight: 900;
}

.student-package-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.student-package-content {
    display: grid;
    gap: 14px;
}

.student-package-content h2 {
    margin-bottom: 0;
    font-size: 1.45rem;
}

.student-package-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    color: #6b7280;
    font-size: 0.94rem;
}

.student-package-remaining {
    color: #2563eb;
    font-weight: 800;
}

.student-package-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.student-package-price {
    display: grid;
    gap: 4px;
    text-align: left;
}

.student-package-price span {
    color: #6b7280;
}

.student-package-price strong {
    font-size: 1.2rem;
}

.student-renew-btn {
    min-width: 100px;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 10px;
    background: #ff6b00;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.student-package-empty {
    grid-template-columns: 1fr;
}

@media (max-width: 900px) {
    .student-mega-menu-card {
        grid-template-columns: 1fr;
        min-height: auto;
    }

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

@media (max-width: 760px) {
    .student-package-footer,
    .student-package-meta {
        flex-direction: column;
        align-items: stretch;
    }
}

/* School dashboard screenshot match */
.school-admin-page {
    display: grid;
    gap: 18px;
}

.school-admin-mega-menu {
    display: grid;
    grid-template-columns: 1.8fr 1.1fr 1.1fr 1fr 1fr .9fr;
    gap: 0;
    padding: 10px 0;
    background: #fff;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.school-admin-menu-col {
    padding: 8px 24px 16px;
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 310px;
    border-left: 1px solid #eef2f7;
}

.school-admin-menu-col:first-child {
    border-left: 0;
}

.school-admin-menu-col h3 {
    margin: 0 0 6px;
    color: #6b7280;
    font-size: 1rem;
}

.school-admin-menu-col a {
    color: #4b5563;
    font-weight: 700;
    line-height: 1.8;
}

.school-home-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px;
    align-items: center;
    gap: 20px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
    padding: 30px;
    min-height: 210px;
}

.school-home-hero-copy {
    display: grid;
    gap: 12px;
}

.school-home-hero-copy h1 {
    margin: 0;
    color: #a3a3a3;
    font-size: clamp(2rem, 4vw, 3rem);
}

.school-home-hero-copy p {
    margin: 0;
}

.school-home-hero-art {
    display: grid;
    place-items: center;
    font-size: 5rem;
    opacity: .85;
}

.school-summary-wide-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    padding: 22px 28px;
}

.school-dashboard-widgets {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 18px;
}

.school-widget-card {
    background: #fff;
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    padding: 22px 24px;
    min-height: 180px;
}

.school-widget-card h3 {
    margin: 0 0 22px;
    font-size: 1.5rem;
}

.school-credit-row {
    margin-top: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #4b5563;
}

.school-credit-row strong {
    font-size: 2rem;
    color: #111827;
}

.school-note-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #9ca3af;
}

.school-note-badge {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f8fafc;
    color: #6b7280;
    font-size: .8rem;
}

.school-note-line {
    margin-top: 48px;
    height: 1px;
    background: #e5e7eb;
}

@media (max-width: 1200px) {
    .school-admin-mega-menu {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .school-admin-menu-col {
        min-height: auto;
    }
}

@media (max-width: 900px) {
    .school-home-hero-card,
    .school-summary-wide-card,
    .school-dashboard-widgets {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 760px) {
    .school-admin-mega-menu,
    .school-dashboard-widgets {
        grid-template-columns: 1fr;
    }

    .school-admin-menu-col {
        border-left: 0;
        border-bottom: 1px solid #eef2f7;
    }

    .school-admin-menu-col:last-child {
        border-bottom: 0;
    }
}

/* Teacher register flow + teacher dashboard */
.teacher-register-page {
    display: grid;
    place-items: center;
    padding: 20px 0 40px;
}

.teacher-register-card {
    width: min(720px, 100%);
    min-height: 620px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.18), transparent 24%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.92));
    border: 1px solid rgba(24, 43, 86, 0.1);
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(16, 29, 59, 0.08);
    padding: 20px 22px 28px;
}

.teacher-register-narrow {
    width: min(760px, 100%);
    min-height: auto;
}

.teacher-register-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.teacher-register-back {
    color: var(--primary);
    font-weight: 800;
}

.teacher-stepper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.teacher-stepper span {
    width: 96px;
    height: 2px;
    background: #e5e7eb;
    position: relative;
}

.teacher-stepper span::before {
    content: "✓";
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    color: var(--accent);
    display: grid;
    place-items: center;
    font-size: 0.9rem;
    border: 2px solid var(--accent);
}

.teacher-stepper span.current,
.teacher-stepper span.is-done {
    background: var(--primary);
    color: var(--accent);
}

.teacher-register-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
}

.teacher-register-form-card {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    padding: 18px 22px 22px;
    display: grid;
    gap: 10px;
}

.teacher-register-note,
.teacher-choice-title,
.teacher-choice-subtitle {
    text-align: center;
    color: #4b5563;
    margin-bottom: 10px;
}

.teacher-register-illustration {
    min-height: 360px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fafc, #eef2ff);
    display: grid;
    place-items: center;
    font-size: 9rem;
}

.teacher-register-submit {
    margin-top: 8px;
    min-height: 46px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), #27457f);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(24, 43, 86, 0.18);
}

.teacher-register-submit:hover,
.teacher-register-submit:focus-visible {
    background: linear-gradient(135deg, var(--primary-deep), var(--primary));
    box-shadow: 0 18px 34px rgba(24, 43, 86, 0.22);
}

.teacher-choice-form {
    max-width: 520px;
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.teacher-choice-list.vertical {
    display: grid;
    gap: 18px;
}

.teacher-choice-list.grid-card-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.teacher-option-card {
    position: relative;
    min-height: 132px;
    border-radius: 20px;
    border: 1px solid #dbe1ea;
    background: #fff;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 12px;
    padding: 12px;
    text-align: center;
    cursor: pointer;
}

.teacher-option-card.wide-card {
    min-height: 140px;
    grid-template-columns: 72px 1fr auto;
    justify-items: stretch;
    align-items: center;
    text-align: right;
}

.teacher-option-art {
    font-size: 3rem;
}

.teacher-option-art.light-art {
    opacity: .28;
}

.teacher-option-label {
    color: #1f2937;
    font-weight: 800;
    line-height: 1.7;
}

.teacher-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.teacher-option-card input[type='radio'] {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.teacher-option-card:has(input[type='radio']:checked),
.teacher-referral-item:has(input[type='radio']:checked) {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(24, 43, 81, 0.08);
    background: #ffffff;
}

.teacher-referral-list {
    display: grid;
    gap: 14px;
}

.teacher-referral-item {
    position: relative;
    min-height: 50px;
    border-radius: 14px;
    border: 1px solid #dbe1ea;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    cursor: pointer;
}

.soft-submit {
    background: #ffb277;
}

.teacher-admin-page {
    display: grid;
    gap: 18px;
}

.teacher-admin-menu .school-admin-menu-col a:last-child {
    color: #ef4444;
}

.teacher-profile-wide-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    padding: 22px 28px;
}

.teacher-avatar-card {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: #f1f5f9;
    display: grid;
    place-items: center;
    font-size: 2.8rem;
    color: #6b7280;
}

.teacher-subject-form {
    max-width: 660px;
}

.teacher-subject-grid {
    max-height: 470px;
    overflow-y: auto;
    padding-left: 8px;
}

.teacher-subject-grid.teacher-subject-grid-elementary {
    max-height: none;
    overflow: visible;
}

.teacher-subject-card {
    min-height: 132px;
}

.teacher-subject-grid::-webkit-scrollbar {
    width: 8px;
}

.teacher-subject-grid::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.55);
    border-radius: 4px;
}

@media (max-width: 900px) {
    .teacher-register-layout,
    .teacher-choice-list.grid-card-list {
        grid-template-columns: 1fr 1fr;
    }

    .teacher-register-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .teacher-stepper span {
        width: 52px;
    }

    .teacher-choice-list.grid-card-list,
    .teacher-option-card.wide-card,
    .teacher-profile-wide-card {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .teacher-register-card {
        padding: 16px;
    }
}


.role-select-card {
    max-width: 760px;
}

.role-select-header {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 18px;
}

.role-select-header h1,
.role-select-header p,
.modern-login-header h1,
.modern-login-header p {
    position: relative;
    z-index: 1;
}

.role-select-header h1,
.modern-login-header h1 {
    color: var(--primary-deep);
}

.role-select-header p,
.modern-login-header p {
    color: var(--muted);
}

.role-select-logo {
    display: grid;
    place-items: center;
    background: transparent;
    box-shadow: none;
}

.sanjeshno-logo-mark {
    background: transparent;
    box-shadow: none;
}

.role-select-form {
    display: grid;
    gap: 16px;
    max-width: 560px;
    margin: 0 auto;
}

.role-phone-field {
    max-width: 320px;
    margin: 0 auto;
}

.role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.role-card-selector {
    position: relative;
    min-height: 138px;
    border-radius: 18px;
    border: 1px solid rgba(24, 43, 86, 0.1);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.9));
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(16, 29, 59, 0.04);
}

.role-card-selector input {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.role-card-selector:has(input:checked) {
    border-color: rgba(24, 43, 86, 0.26);
    background: linear-gradient(145deg, rgba(233, 238, 248, 0.96), rgba(255, 246, 223, 0.96));
    box-shadow: 0 0 0 3px rgba(24, 43, 86, 0.08);
}

.role-card-art {
    font-size: 3.2rem;
}

.role-card-title {
    font-weight: 800;
    color: var(--primary-deep);
}

.role-select-login-link {
    text-align: center;
    margin-top: 18px;
}

.school-stepper-3 span {
    width: 120px;
}

@media (max-width: 760px) {
    .role-grid {
        grid-template-columns: 1fr 1fr;
    }

    .school-stepper-3 span {
        width: 64px;
    }
}

.student-register-modal[hidden] {
    display: none;
}

.student-register-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
}

.student-register-overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.42);
}

.student-register-dialog {
    position: relative;
    width: min(570px, calc(100% - 24px));
    margin: 14vh auto 0;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.94));
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
    overflow: hidden;
    border: 1px solid rgba(24, 43, 86, 0.1);
}

.student-register-close {
    position: absolute;
    top: 14px;
    left: 16px;
    border: 0;
    background: transparent;
    font-size: 2rem;
    color: #8b8b8b;
    cursor: pointer;
}

.student-register-dialog-head {
    padding: 18px 24px;
    border-bottom: 1px solid rgba(24, 43, 86, 0.1);
    text-align: right;
    font-size: 1.35rem;
    color: var(--primary-deep);
}

.student-register-dialog-body {
    padding: 28px 24px 30px;
    display: grid;
    gap: 20px;
    text-align: right;
}

.student-register-dialog-body h3 {
    margin: 0;
    font-size: 1.5rem;
}

.student-register-dialog-body p {
    margin: 0;
    color: #4b5563;
    line-height: 2.1;
}

.student-school-login-link {
    color: var(--primary);
    font-weight: 800;
}

.student-register-continue {
    width: 180px;
}

body.modal-open {
    overflow-x: hidden;
    overflow-y: auto;
}

.student-register-form {
    max-width: 640px;
}

.student-level-card {
    min-height: 142px;
}

.student-option-illustration {
    width: 84px;
    height: 84px;
    border-radius: 24px;
    background: linear-gradient(145deg, #eef5ff, #eff6ff);
    display: grid;
    place-items: center;
    font-size: 2.8rem;
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.06);
}

.student-grade-grid.student-grade-grid-elementary,
.student-grade-grid.student-grade-grid-middle,
.student-grade-grid.student-grade-grid-high,
.student-track-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-grade-card,
.student-track-card {
    min-height: 128px;
}

.student-grade-art,
.student-track-art {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    font-size: 2.2rem;
    background: linear-gradient(145deg, #f8fafc, #eef2ff);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.05);
}

.student-track-art.track-math {
    background: linear-gradient(145deg, #eef7ff, #dbeafe);
}

.student-track-art.track-science {
    background: linear-gradient(145deg, #ffffff, #f1f3f5);
}

.student-track-art.track-humanities {
    background: linear-gradient(145deg, #ffffff, #f1f3f5);
}

.student-track-section {
    display: grid;
    gap: 16px;
    margin-top: 6px;
}


.login-card-shell {
    min-height: 620px;
}

.modern-login-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(24, 43, 81, 0.16);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.34), transparent 30%),
        radial-gradient(circle at bottom left, rgba(24, 43, 81, 0.12), transparent 25%),
        linear-gradient(160deg, #ffffff, #eff6ff);
}

.modern-login-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0));
}

.login-header {
    margin-top: 18px;
}

.modern-login-header {
    position: relative;
    text-align: center;
    gap: 14px;
}

.modern-login-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 16px;
    margin: 0 auto 8px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--accent), #eff6ff);
    color: var(--primary-deep);
    border: 1px solid rgba(24, 43, 81, 0.1);
    font-weight: 900;
}

.modern-login-logo {
    margin: 0 auto;
}

.login-logo {
    display: block;
    height: 120px;
    width: auto;
    object-fit: contain;
    max-width: 100%;
}

@media (max-width: 760px) {
    .site-logo {
        height: 34px;
    }

    .role-select-logo,
    .modern-login-logo {
        width: 100%;
    }

    .login-logo {
        height: 88px;
    }
}

.modern-login-header h1 {
    margin-bottom: 8px;
}

.modern-login-header p {
    max-width: 360px;
    margin: 0 auto;
}

.login-simple-form {
    max-width: 360px;
    margin: 40px auto 0;
    display: grid;
    gap: 16px;
}

.modern-login-form {
    position: relative;
    z-index: 1;
}

.login-password-wrap {
    gap: 10px;
}

.login-password-field {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.login-password-field:focus-within {
    box-shadow: none;
}

.login-password-field input {
    min-height: 50px;
    width: 100%;
    border: 1px solid rgba(24, 43, 86, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    padding: 12px 16px 12px 56px !important;
}

.login-password-field input:focus {
    border-color: rgba(24, 43, 86, 0.34) !important;
    box-shadow: 0 0 0 4px rgba(24, 43, 86, 0.08) !important;
}

.login-password-toggle {
    position: absolute;
    top: 1px;
    left: 1px;
    z-index: 2;
    width: 50px;
    height: 48px;
    border: 0;
    border-right: 1px solid rgba(24, 43, 81, 0.1);
    border-radius: 15px 0 0 15px;
    background: transparent;
    cursor: pointer;
    font-size: 0.92rem;
    color: var(--primary);
    transition: background var(--transition), color var(--transition);
}

.login-password-toggle:hover,
.login-password-toggle:focus-visible {
    background: var(--accent);
    color: var(--primary-deep);
}

.login-help-link {
    text-align: left;
}

.login-help-link a,
.login-otp-link,
.login-footer-link a {
    color: var(--primary);
    font-weight: 800;
}

.login-otp-link {
    display: block;
    text-align: center;
    color: var(--primary-deep);
}

.login-footer-link {
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid rgba(24, 43, 86, 0.1);
    text-align: center;
    color: var(--muted);
}

.modern-login-submit {
    min-height: 54px;
    font-size: 1rem;
    box-shadow: 0 18px 34px rgba(24, 43, 86, 0.22);
}

.modern-login-form .teacher-register-submit,
.role-select-form .teacher-register-submit,
.student-register-dialog .teacher-register-submit {
    background: linear-gradient(135deg, var(--primary-deep), #243b69) !important;
    color: var(--accent) !important;
    border: 1px solid rgba(37, 99, 235, 0.28) !important;
    box-shadow: 0 18px 34px rgba(24, 43, 86, 0.22) !important;
}

.modern-login-form .teacher-register-submit:hover,
.modern-login-form .teacher-register-submit:focus-visible,
.role-select-form .teacher-register-submit:hover,
.role-select-form .teacher-register-submit:focus-visible,
.student-register-dialog .teacher-register-submit:hover,
.student-register-dialog .teacher-register-submit:focus-visible {
    background: linear-gradient(135deg, var(--accent), #60a5fa) !important;
    color: #ffffff !important;
    border-color: var(--accent) !important;
    box-shadow: 0 20px 38px rgba(24, 43, 86, 0.26) !important;
}


.profile-page-shell {
    display: grid;
    place-items: start center;
    gap: 24px;
}

.profile-school-shell {
    width: min(1180px, 100%);
    display: grid;
    gap: 24px;
}

.profile-info-card {
    width: min(680px, 100%);
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    padding: 26px;
}

.profile-info-avatar {
    width: 96px;
    height: 96px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #ffffff, #f1f3f5);
    font-size: 3rem;
}

.profile-info-copy {
    display: grid;
    gap: 8px;
}

.profile-info-copy h1 {
    margin: 0;
}

.profile-info-copy p,
.profile-info-copy span {
    margin: 0;
    color: #6b7280;
}

.profile-management-card,
.profile-details-card,
.profile-form-card {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    padding: 24px;
}

.profile-management-grid,
.profile-details-grid,
.profile-edit-grid {
    display: grid;
    gap: 16px;
}

.profile-management-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.profile-management-link {
    display: grid;
    gap: 6px;
    min-height: 112px;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(24, 43, 86, 0.06), rgba(37, 99, 235, 0.14));
    border: 1px solid rgba(24, 43, 86, 0.08);
    transition: transform var(--transition), box-shadow var(--transition);
}

.profile-management-link:hover,
.profile-management-link:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(16, 29, 59, 0.12);
}

.profile-management-link span {
    font-size: 1.6rem;
}

.profile-management-link small,
.profile-details-grid span {
    color: var(--muted);
}

.profile-details-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-details-grid div {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(24, 43, 86, 0.08);
}

.profile-form-shell {
    display: grid;
    place-items: start center;
}

.profile-form-card {
    width: min(860px, 100%);
}

.profile-edit-form {
    display: grid;
    gap: 18px;
}

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

.profile-edit-grid .field-wrap {
    display: grid;
    gap: 8px;
}

.profile-edit-grid .field-wrap:has(textarea) {
    grid-column: 1 / -1;
}

.profile-form-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.panel-page {
    display: grid;
    gap: 24px;
}

.panel-hero,
.panel-profile-card,
.panel-stat-card,
.panel-action-card,
.panel-affiliate-card,
.panel-list-card,
.panel-subscription-card {
    background: #fff;
    border: 1px solid #edf2f7;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    border-radius: 24px;
}

.panel-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 32px;
    background: #ffffff;
}

.panel-hero-copy {
    display: grid;
    gap: 12px;
}

.panel-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 10px;
    background: #f1f3f5;
    color: var(--primary);
    font-weight: 800;
}

.panel-hero-copy h1 {
    margin: 0;
    font-size: clamp(1.8rem, 2vw + 1rem, 2.8rem);
}

.panel-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.panel-hero-badge {
    width: 108px;
    min-width: 108px;
    height: 108px;
    border-radius: 32px;
    display: grid;
    place-items: center;
    font-size: 3rem;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.8);
}

.panel-profile-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px;
}

.panel-profile-main {
    display: flex;
    align-items: center;
    gap: 16px;
}

.panel-profile-main h2,
.panel-section-head h3,
.panel-subscription-card h4,
.panel-list-card h4 {
    margin: 0 0 8px;
}

.panel-profile-main p,
.panel-profile-main span {
    margin: 0;
}

.panel-profile-avatar {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    font-size: 2rem;
    color: #111827;
}

.panel-profile-avatar.teacher {
    background: linear-gradient(135deg, #ede9fe, #ddd6fe);
}

.panel-profile-avatar.school {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
}

.panel-profile-avatar.student {
    background: linear-gradient(135deg, #ffffff, #f1f3f5);
}

.panel-profile-avatar.admin {
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
}

.panel-stat-grid,
.panel-action-grid,
.panel-affiliate-grid,
.panel-subscription-grid,
.panel-dual-grid {
    display: grid;
    gap: 18px;
}

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

.panel-action-grid,
.panel-affiliate-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.panel-stat-card,
.panel-action-card,
.panel-affiliate-card,
.panel-subscription-card {
    padding: 22px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.panel-stat-card:hover,
.panel-action-card:hover,
.panel-affiliate-card:hover,
.panel-subscription-card:hover {
    transform: scale(1.03);
    box-shadow: 0 18px 35px rgba(15, 23, 42, 0.12);
}

.panel-stat-card span,
.panel-affiliate-card span {
    color: #6b7280;
    font-weight: 700;
}

.panel-stat-card strong,
.panel-affiliate-card strong,
.panel-big-number {
    display: block;
    margin: 12px 0 8px;
    color: #111827;
    font-size: 2rem;
    font-weight: 900;
}

.panel-action-card {
    color: inherit;
    text-decoration: none;
}

.panel-action-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    font-size: 1.5rem;
    background: #f3f4f6;
}

.panel-section {
    display: grid;
    gap: 18px;
}

.panel-section-head p,
.panel-action-card p,
.panel-affiliate-card small,
.panel-stat-card small,
.panel-subscription-card p,
.panel-list-card p {
    margin: 0;
}

.panel-list-card {
    padding: 22px;
}

.panel-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
}

.panel-list-row:last-child {
    border-bottom: 0;
}

.panel-empty-state {
    display: grid;
    gap: 8px;
    padding: 12px 0;
}

.dashboard-workbench-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.dashboard-workbench-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
    min-height: 640px;
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr);
    background: #ffffff;
    border: 1px solid #edf0f4;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    direction: rtl;
}

.dashboard-workbench-sidebar {
    grid-column: 1;
    grid-row: 1;
    background: #10294d;
    color: #ffffff;
    padding: 18px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dashboard-workbench-brand {
    display: grid;
    gap: 4px;
    padding: 0 6px 8px;
    color: #ffffff;
    font-weight: 900;
    text-align: left;
    direction: ltr;
}

.dashboard-workbench-brand small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.7rem;
    font-weight: 700;
}

.dashboard-workbench-menu {
    display: grid;
    gap: 3px;
}

.dashboard-workbench-menu a {
    min-height: 29px;
    padding: 5px 8px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.73rem;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--transition), color var(--transition);
}

.dashboard-workbench-menu a:hover,
.dashboard-workbench-menu a.is-active {
    background: #ffffff;
    color: #10294d;
}

.dashboard-workbench-menu svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.dashboard-workbench-menu-separator {
    height: 1px;
    margin: 7px 4px;
    background: rgba(255, 255, 255, 0.14);
}

.dashboard-workbench-main {
    grid-column: 2;
    grid-row: 1;
    background:
        radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.12), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    padding: 34px 30px 30px;
}

.dashboard-workbench-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 0 0 18px;
}

.dashboard-workbench-title {
    display: grid;
    gap: 6px;
    text-align: right;
}

.dashboard-workbench-title h1 {
    margin: 0;
    color: var(--primary);
    font-size: clamp(1.32rem, 1.1rem + 0.55vw, 1.75rem);
    font-weight: 900;
}

.dashboard-workbench-title p {
    margin: 0;
    color: #6f7785;
    font-size: 0.94rem;
    font-weight: 700;
}

.dashboard-workbench-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-workbench-action {
    min-height: 36px;
    padding: 0 13px;
    border-radius: 8px;
    border: 1px solid #d7dce3;
    background: #fff;
    color: var(--primary);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.dashboard-workbench-action.is-highlighted {
    background: #dbeafe;
    border-color: #93c5fd;
}

.dashboard-workbench-action:hover {
    transform: translateY(-1px);
    border-color: #60a5fa;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.08);
}

.dashboard-workbench-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(132px, 1fr));
    gap: 13px;
    padding: 0;
    direction: rtl;
}

.dashboard-workbench-card {
    min-height: 136px;
    padding: 15px 10px 13px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #eef1f5;
    box-shadow:
        0 1px 0 rgba(15, 23, 42, 0.03),
        0 8px 18px rgba(15, 23, 42, 0.045);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    color: #182B51;
    text-align: center;
    text-decoration: none;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.dashboard-workbench-card:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.dashboard-workbench-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #eff6ff;
    color: #243657;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.dashboard-workbench-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-workbench-card strong {
    color: #182B51;
    font-size: 0.88rem;
    line-height: 1.45;
    font-weight: 900;
}

.dashboard-workbench-card small {
    max-width: 118px;
    color: #727b8a;
    font-size: 0.7rem;
    line-height: 1.7;
    font-weight: 700;
}

.dashboard-workbench-card.is-empty {
    visibility: hidden;
    pointer-events: none;
}

.learning-brand-theme .page-head,
.learning-brand-theme .content-card,
.learning-brand-theme .manual-stat-card,
.learning-brand-theme .manual-selected-item,
.learning-brand-theme .builder-setup-summary {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #edf0f4 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045) !important;
}

.learning-brand-theme .page-head h1,
.learning-brand-theme .content-card h2,
.learning-brand-theme .manual-selected-item strong,
.learning-brand-theme .manual-stat-card strong {
    color: var(--primary) !important;
}

.learning-brand-theme .builder-badge,
.learning-brand-theme .question-chip,
.learning-brand-theme .badge-pill,
.learning-brand-theme .purchase-help {
    background: rgba(var(--accent-rgb), 0.18) !important;
    color: var(--primary) !important;
    border-color: rgba(var(--accent-rgb), 0.42) !important;
}

.learning-brand-theme .btn-primary,
.learning-brand-theme button.btn-primary {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

.learning-brand-theme .btn-secondary {
    background: #ffffff !important;
    color: var(--primary) !important;
    border-color: #e5eaf0 !important;
}

.learning-brand-theme .btn-primary:hover,
.learning-brand-theme .btn-secondary:hover {
    background: var(--accent) !important;
    color: var(--primary-deep) !important;
    border-color: var(--accent) !important;
}

.school-dashboard-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.school-dashboard-shot {
    padding-top: 4px;
}

.school-dashboard-crumbs {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    color: #8a94a6;
    font-size: 0.92rem;
    font-weight: 700;
}

.school-dashboard-crumbs a {
    color: inherit;
    text-decoration: none;
}

.school-dashboard-stage {
    padding-top: 28px;
}

.school-tool-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px 34px;
    justify-items: center;
    width: min(900px, 100%);
    margin: 0 auto;
    direction: rtl;
}

.school-tool-card {
    width: 152px;
    min-height: 176px;
    border-radius: 18px;
    padding: 14px 12px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-align: center;
    text-decoration: none;
    color: #2a2f38;
    border: 1px solid rgba(155, 155, 155, 0.18);
    box-shadow:
        0 4px 10px rgba(15, 23, 42, 0.12),
        0 10px 22px rgba(15, 23, 42, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
    position: relative;
}

.school-tool-card::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 15px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
    pointer-events: none;
}

.school-tool-card:hover {
    transform: translateY(-4px) scale(1.015);
    box-shadow:
        0 7px 16px rgba(15, 23, 42, 0.14),
        0 14px 28px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    filter: saturate(1.03);
}

.school-tool-card strong {
    font-size: 0.98rem;
    line-height: 1.45;
    font-weight: 900;
    margin-top: 2px;
}

.school-tool-icon {
    width: 96px;
    height: 92px;
    border-radius: 28px;
    display: block;
    position: relative;
    background:
        radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.1) 58%, rgba(255, 255, 255, 0) 60%),
        rgba(255, 255, 255, 0.08);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 10px 16px rgba(15, 23, 42, 0.12);
}

.school-tool-icon .art-core,
.school-tool-icon .art-accent,
.school-tool-icon .art-detail,
.school-tool-icon::before,
.school-tool-icon::after {
    position: absolute;
    content: "";
}

.school-tool-icon .art-detail {
    content: none;
}

.art-build .art-core {
    width: 52px;
    height: 66px;
    top: 13px;
    left: 20px;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff, #edf2f7);
    box-shadow: 0 6px 10px rgba(56, 72, 110, 0.18);
}

.art-build .art-core::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 10px;
    width: 32px;
    height: 4px;
    background: #b6bdcb;
    box-shadow: 0 10px 0 #b6bdcb, 0 20px 0 #b6bdcb;
}

.art-build .art-accent {
    width: 34px;
    height: 10px;
    right: 10px;
    bottom: 18px;
    border-radius: 8px;
    background: linear-gradient(90deg, #2563eb, #60a5fa);
    transform: rotate(-42deg);
    box-shadow: 0 4px 8px rgba(15, 23, 42, 0.18);
}

.art-build .art-accent::after {
    content: "";
    position: absolute;
    left: -6px;
    top: 0;
    width: 10px;
    height: 10px;
    border-radius: 8px 0 0 8px;
    background: #bfdbfe;
}

.art-build .art-detail {
    position: absolute;
    top: 22px;
    left: 28px;
    font-size: 0.82rem;
    font-weight: 900;
    color: #64748b;
    letter-spacing: 0.08em;
}

.art-manage .art-core {
    width: 54px;
    height: 52px;
    top: 18px;
    left: 21px;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff, #f1f3f5);
    box-shadow: 0 6px 12px rgba(24, 43, 81, 0.08);
}

.art-manage .art-core::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 10px;
    width: 34px;
    height: 4px;
    background: #9ca3af;
    box-shadow: 0 12px 0 #9ca3af;
}

.art-manage .art-accent {
    width: 24px;
    height: 24px;
    right: 12px;
    bottom: 16px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #bfdbfe, #2563eb);
    box-shadow: 0 6px 10px rgba(37, 99, 235, 0.2);
}

.art-manage .art-detail {
    position: absolute;
    right: 16px;
    bottom: 9px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 16px solid #a78bfa;
    transform: rotate(8deg);
}

.art-report .art-core {
    width: 52px;
    height: 14px;
    top: 24px;
    left: 22px;
    background: linear-gradient(180deg, #3b82f6, #1d4ed8);
    transform: skewX(-30deg);
    border-radius: 4px;
    box-shadow: 0 8px 12px rgba(30, 64, 175, 0.22);
}

.art-report .art-core::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 8px;
    width: 36px;
    height: 16px;
    background: linear-gradient(180deg, #c7d2fe, #93c5fd);
    transform: skewX(30deg);
    border-radius: 0 0 6px 6px;
}

.art-report .art-accent {
    width: 3px;
    height: 24px;
    top: 35px;
    right: 26px;
    background: #2563eb;
}

.art-report .art-accent::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: -6px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.45);
}

.art-book .art-core,
.art-analytics .art-core {
    width: 44px;
    height: 14px;
    left: 25px;
    border-radius: 5px;
    background: linear-gradient(180deg, #dbeafe, #93c5fd);
    box-shadow: 0 5px 10px rgba(59, 130, 246, 0.16);
}

.art-book .art-core {
    top: 44px;
}

.art-book .art-core::before,
.art-book .art-core::after,
.art-analytics .art-core::before,
.art-analytics .art-core::after {
    content: "";
    position: absolute;
    width: 44px;
    height: 14px;
    left: 0;
    border-radius: 5px;
}

.art-book .art-core::before {
    top: -16px;
    background: linear-gradient(180deg, #bfdbfe, #60a5fa);
}

.art-book .art-core::after {
    top: -32px;
    background: linear-gradient(180deg, #93c5fd, #3b82f6);
}

.art-book .art-accent {
    width: 3px;
    height: 36px;
    right: 26px;
    top: 25px;
    background: #1d4ed8;
    transform: rotate(-30deg);
}

.art-analytics .art-core {
    top: 42px;
    background: linear-gradient(180deg, #f5d0fe, #c084fc);
}

.art-analytics .art-core::before {
    top: -16px;
    background: linear-gradient(180deg, #bfdbfe, #2563eb);
}

.art-analytics .art-core::after {
    top: -32px;
    background: linear-gradient(180deg, #c4b5fd, #8b5cf6);
}

.art-analytics .art-accent {
    width: 18px;
    height: 18px;
    right: 14px;
    bottom: 18px;
    border-radius: 3px;
    background: linear-gradient(180deg, #f8fafc, #cbd5e1);
    transform: rotate(45deg);
}

.art-learning::before {
    width: 18px;
    height: 34px;
    left: 18px;
    bottom: 16px;
    background: linear-gradient(180deg, #93c5fd, #60a5fa);
    border-radius: 5px 5px 0 0;
}

.art-learning::after {
    width: 18px;
    height: 50px;
    left: 40px;
    bottom: 16px;
    background: linear-gradient(180deg, #f9a8d4, #ec4899);
    border-radius: 5px 5px 0 0;
}

.art-learning .art-core {
    width: 18px;
    height: 24px;
    left: 62px;
    bottom: 16px;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, #bfdbfe, #2563eb);
}

.art-learning .art-accent {
    width: 34px;
    height: 34px;
    right: 12px;
    top: 18px;
    border-radius: 50%;
    background: conic-gradient(#2563eb 0 70deg, #c084fc 70deg 220deg, #60a5fa 220deg 360deg);
    box-shadow: 0 6px 10px rgba(168, 85, 247, 0.16);
}

.art-virtual .art-core {
    width: 52px;
    height: 34px;
    left: 22px;
    bottom: 16px;
    border-radius: 8px 8px 12px 12px;
    background: linear-gradient(180deg, #ffffff, #dbeafe);
    box-shadow: 0 6px 12px rgba(37, 99, 235, 0.16);
}

.art-virtual .art-core::before {
    content: "";
    position: absolute;
    inset: -18px 8px auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 4px solid #60a5fa;
    background:
        linear-gradient(90deg, transparent 46%, #60a5fa 46% 54%, transparent 54%),
        linear-gradient(transparent 46%, #60a5fa 46% 54%, transparent 54%);
}

.art-virtual .art-accent {
    width: 48px;
    height: 3px;
    left: 24px;
    bottom: 28px;
    background: #93c5fd;
    box-shadow: 0 8px 0 #93c5fd;
}

.art-advice .art-core {
    width: 42px;
    height: 42px;
    left: 26px;
    top: 26px;
    border-radius: 50%;
    border: 5px solid #cbd5e1;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,0.5);
}

.art-advice .art-core::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 5px;
    border-radius: 3px;
    background: #94a3b8;
    right: -16px;
    bottom: -10px;
    transform: rotate(45deg);
}

.art-advice .art-accent {
    width: 16px;
    height: 16px;
    right: 12px;
    top: 18px;
    background: #2563eb;
    clip-path: polygon(50% 0, 61% 37%, 100% 37%, 68% 58%, 79% 100%, 50% 73%, 21% 100%, 32% 58%, 0 37%, 39% 37%);
}

.tool-book {
    background: linear-gradient(180deg, #9ad2ff 0%, #5a95f3 100%);
}

.tool-report {
    background: linear-gradient(180deg, #d9fb94 0%, #7ed85f 100%);
}

.tool-manage {
    background: linear-gradient(180deg, #ffb7bf 0%, #ef6d92 100%);
}

.tool-build {
    background: linear-gradient(180deg, #bfdbfe 0%, #3b82f6 100%);
}

.tool-advice {
    background: linear-gradient(180deg, #77e8ed 0%, #31c8d2 100%);
}

.tool-analytics {
    background: linear-gradient(180deg, #d6aaf8 0%, #9a67ef 100%);
}

.tool-learning {
    background: linear-gradient(180deg, #ffb3de 0%, #ef78b3 100%);
}

.tool-virtual {
    background: linear-gradient(180deg, #c7d2fe 0%, #6366f1 100%);
}

.school-dashboard-banner {
    width: min(1160px, 100%);
    min-height: 178px;
    margin: 18px auto 0;
    border-radius: 26px;
    background: linear-gradient(180deg, #29a8ff 0%, #178fe8 100%);
    box-shadow:
        0 10px 22px rgba(2, 132, 199, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 24px;
}

.school-dashboard-banner-copy {
    display: grid;
    gap: 4px;
    color: #fff;
}

.school-dashboard-banner-copy span {
    font-size: 1.15rem;
    font-weight: 700;
    opacity: 0.92;
}

.school-dashboard-banner-copy strong {
    font-size: clamp(2.35rem, 3.6vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.panel-subscription-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0 18px;
    color: #6b7280;
    font-weight: 700;
}

.panel-affiliate-link {
    font-size: 1.1rem;
    line-height: 1.8;
    word-break: break-word;
}

.panel-affiliate-cta {
    text-decoration: none;
    color: inherit;
    background: #ffffff;
}

.django_ckeditor_5,
.ck-editor,
.ck-editor__editable {
    width: 100%;
}

.ck.ck-editor {
    border-radius: 18px;
    overflow: hidden;
}

.ck.ck-toolbar {
    border-color: #e5e7eb !important;
    background: #f8fafc !important;
}

.ck.ck-content {
    min-height: 260px;
    direction: rtl;
    text-align: right;
    font-family: inherit;
    line-height: 2;
}

@media (max-width: 1100px) {
    .dashboard-workbench-shell {
        grid-template-columns: 152px minmax(0, 1fr);
    }

    .dashboard-workbench-main {
        padding: 28px 22px;
    }

    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .dashboard-workbench-grid,
    .school-tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .panel-subscription-grid,
    .panel-dual-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dashboard-workbench-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-workbench-sidebar,
    .dashboard-workbench-main {
        grid-column: 1;
    }

    .dashboard-workbench-sidebar {
        grid-row: 1;
        order: -1;
    }

    .dashboard-workbench-main {
        grid-row: 2;
    }

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

    .dashboard-workbench-main {
        padding: 24px 16px;
    }

    .panel-hero,
    .panel-profile-card {
        flex-direction: column;
        align-items: stretch;
    }

    .panel-hero-badge {
        align-self: flex-start;
    }

    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .dashboard-workbench-grid,
    .school-tool-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-workbench-head {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-workbench-actions {
        justify-content: flex-start;
    }

    .panel-profile-main {
        align-items: flex-start;
    }

    .panel-list-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .school-tool-card {
        width: 100%;
        max-width: 280px;
    }

    .school-dashboard-crumbs {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.edu-brand-text strong,
.edu-nav-link,
.school-summary-copy h2,
.store-section-head h1,
.dashboard-hero-content h1,
.school-profile-copy h2,
.question-card h2,
.page-head h1 {
    color: var(--primary);
}

.edu-nav-link:hover,
.edu-nav-link.is-active {
    background: var(--primary);
    color: var(--accent);
}

.edu-user-label,
.store-tab-pill,
.badge-pill,
.meta-tags span,
.store-meta-chip {
    background: #ffffff;
    border-color: var(--line);
    color: var(--primary);
}

.edu-bell-btn,
.store-add-button,
.hero-banner-btn,
.floating-support-btn {
    background: var(--primary);
    color: var(--accent);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
}

.btn-primary,
.cta-orange,
.edu-auth-solid {
    background: var(--primary);
    color: var(--accent);
    box-shadow: 0 18px 30px rgba(15, 23, 42, 0.08);
}

.btn-secondary,
.cta-light,
.edu-auth-outline,
.school-outline-btn {
    background: #ffffff;
    color: var(--primary);
    border-color: var(--line);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.btn:hover,
.cta-pill:hover,
.edu-auth-btn:hover,
.store-add-button:hover,
.hero-banner-btn:hover,
.floating-support-btn:hover {
    transform: translateY(-2px);
}

.flash,
.market-board,
.market-filter-box,
.market-product-card,
.school-summary-card,
.hero-banner-card,
.dashboard-ad-banner,
.store-products-panel,
.store-filter-card,
.content-card,
.page-head,
.auth-shell,
.question-card,
.package-card,
.stat-card,
.option-card,
.list-row,
.landing-hero,
.mock-card,
.mini-card,
.school-profile-card {
    background: #ffffff;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.dashboard-hero-card,
.school-dashboard-banner,
.panel-hero {
    background: #ffffff;
    color: var(--primary);
    box-shadow: var(--shadow-lg);
}

.dashboard-chip,
.store-kicker,
.panel-hero-badge {
    background: #ffffff;
    border-color: var(--line);
    color: var(--primary);
}

.dashboard-hero-content p,
.school-dashboard-banner-copy span,
.panel-hero-copy p {
    color: var(--muted);
}

.store-tab-pill {
    background: #ffffff;
}

.store-tab-pill.is-active {
    background: var(--primary);
    color: var(--accent);
    border-color: var(--primary);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.store-sale-badge,
.tool-build,
.tool-virtual,
.tool-advice {
    background: #ffffff;
    color: var(--primary);
}

.store-sale-badge.soft-badge,
.tone-purple,
.tone-indigo,
.tone-pink,
.tone-orange,
.tone-green,
.tone-blue,
.tone-violet,
.tone-teal,
.tool-book,
.tool-report,
.tool-manage,
.tool-analytics,
.tool-learning {
    background: #ffffff;
    color: var(--primary);
}

.tool-icon,
.school-profile-logo,
.school-summary-logo,
.market-product-thumb,
.store-product-placeholder {
    background: #ffffff;
    color: var(--primary);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 81, 0.08);
}

.store-product-media,
.image-wrap,
.question-answer-box,
.exam-option-card,
.store-toggle-row,
.form-control,
select,
textarea,
input[type='text'],
input[type='number'],
input[type='file'] {
    background: #ffffff;
    border-color: var(--line);
}

.store-product-placeholder,
.question-placeholder {
    background: #ffffff;
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: rgba(24, 43, 81, 0.35);
    box-shadow: 0 0 0 4px rgba(24, 43, 81, 0.08);
}

.question-meta-list span,
code,
.latex,
.muted-chip,
.panel-chip {
    background: #ffffff;
    color: var(--primary);
    border: 1px solid var(--line);
}

.question-preview-box,
.answer-box,
.panel-list-row,
.panel-subscription-item,
.store-product-card,
.market-product-card,
.market-filter-box,
.market-select-box {
    border-color: var(--line);
}

.question-preview-box summary,
.answer-box summary,
.store-secondary-link,
.text-link,
.eyebrow,
.page-breadcrumbs strong,
.page-breadcrumbs a:hover {
    color: var(--primary);
}

.store-product-card:hover,
.package-card:hover,
.content-card:hover,
.stat-card:hover,
.option-card:hover,
.list-row:hover,
.market-product-card:hover,
.feature-tool-card:hover,
.school-tool-card:hover,
.panel-action-card:hover {
    box-shadow: 0 24px 44px rgba(15, 29, 61, 0.14);
}

.exam-option-card.is-selected {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--accent);
}

.exam-option-card.is-correct,
.badge-pill.success {
    background: rgba(37, 99, 235, 0.22);
    border-color: rgba(37, 99, 235, 0.72);
    color: var(--primary-deep);
}

.ck.ck-toolbar,
.ck.ck-content {
    background: #ffffff !important;
}

.ck.ck-toolbar {
    border-color: rgba(24, 43, 86, 0.12) !important;
}

.panel-affiliate-cta,
.soft-accent,
.outline-card {
    background:
        linear-gradient(135deg, rgba(24, 43, 86, 0.05), rgba(37, 99, 235, 0.2));
    border-color: rgba(24, 43, 86, 0.12);
}

.page-head,
.section-head,
.store-section-head,
.school-profile-card,
.school-summary-card,
.panel-list-row,
.market-product-bottom,
.market-board-head,
.market-layout,
.market-tabs-row {
    gap: 16px;
}

@media (max-width: 1200px) {
    .dashboard-feature-grid,
    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .school-tool-grid,
    .promo-strip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .market-layout,
    .market-board-head,
    .school-summary-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .container {
        width: min(100% - 24px, 1200px);
    }

    .edu-navbar {
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 12px;
        padding: 14px 0;
    }

    .edu-navbar-brand,
    .edu-navbar-user {
        justify-self: center;
    }

    .edu-navbar-menu {
        justify-content: center;
    }

    .landing-hero,
    .store-layout,
    .page-grid.side-layout,
    .wide-layout,
    .auth-shell,
    .detail-layout,
    .two-panel,
    .market-layout,
    .market-board-head,
    .school-summary-card,
    .school-profile-card {
        grid-template-columns: 1fr;
    }

    .store-filter-card,
    .sticky-panel,
    .market-sidebar {
        position: static;
        top: auto;
    }

    .store-products-grid,
    .question-products-grid,
    .stat-grid,
    .mini-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-head,
    .section-head,
    .school-profile-card,
    .school-summary-card,
    .market-product-bottom {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 760px) {
    body {
        background:
            radial-gradient(circle at top right, rgba(37, 99, 235, 0.28), transparent 22%),
            linear-gradient(180deg, #f5f6f8 0%, #eceff3 100%);
    }

    .app-shell {
        padding: 16px 0 48px;
    }

    .edu-navbar-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .edu-nav-link,
    .store-tab-pill,
    .btn,
    .cta-pill,
    .edu-auth-btn {
        width: 100%;
    }

    .edu-navbar-user,
    .edu-auth-actions {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .dashboard-hero-card,
    .store-products-panel,
    .store-filter-card,
    .content-card,
    .question-card,
    .page-head,
    .auth-shell,
    .package-card,
    .stat-card,
    .option-card,
    .list-row,
    .landing-hero,
    .market-board,
    .market-filter-box,
    .market-product-card,
    .school-summary-card,
    .school-profile-card,
    .dashboard-ad-banner {
        padding: 18px;
        border-radius: 22px;
    }

    .dashboard-feature-grid,
    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .school-tool-grid,
    .store-products-grid,
    .question-products-grid,
    .stat-grid,
    .form-grid,
    .section-grid.three,
    .section-grid.two,
    .mini-stats,
    .promo-strip-grid {
        grid-template-columns: 1fr;
    }

    .store-card-footer,
    .store-filter-actions,
    .actions,
    .hero-actions,
    .market-product-bottom,
    .market-tabs-row,
    .panel-subscription-meta {
        flex-direction: column;
        align-items: stretch;
    }

    .market-tabs-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .school-summary-main,
    .school-profile-main,
    .panel-profile-main,
    .panel-hero,
    .panel-profile-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .content-image,
    .inline-image {
        max-width: 100%;
    }

    .content-image,
    .question-media-image {
        max-height: var(--question-image-max-height);
    }

    .option-image,
    .inline-option-image {
        max-width: 100%;
        max-height: var(--question-option-image-max-height);
    }

    .exam-option-card {
        align-items: flex-start;
    }
}

/* Brand polish pass */
:root {
    --primary-rgb: 24, 43, 86;
    --accent-rgb: 37, 99, 235;
    --navy-900: #0f1a35;
    --navy-800: #182b56;
    --navy-700: #27447d;
    --brand-blue-500: #2563eb;
    --brand-blue-400: #60a5fa;
    --brand-blue-300: #bfdbfe;
    --surface-1: #ffffff;
    --surface-2: #f8fafc;
    --surface-3: #e2e8f0;
}

body,
.showcase-page,
.market-page,
.school-dashboard-page,
.panel-page,
.store-shell {
    color: var(--navy-900);
}

h1, h2, h3, h4, h5, h6,
.market-board-head h1,
.market-product-copy h2,
.panel-profile-main h2,
.panel-section-head h3,
.panel-subscription-card h4,
.panel-list-card h4,
.hero-banner-content h1,
.school-dashboard-banner-copy strong {
    color: var(--navy-800);
}

p,
.help-text,
.panel-profile-main p,
.panel-profile-main span,
.panel-section-head p,
.panel-action-card p,
.panel-affiliate-card small,
.panel-stat-card small,
.panel-subscription-card p,
.panel-list-card p,
.school-summary-meta,
.school-summary-copy p,
.school-summary-copy span,
.market-product-copy p {
    color: var(--muted);
}

.hero-banner-card,
.market-board,
.market-filter-box,
.market-product-card,
.panel-hero,
.panel-profile-card,
.panel-stat-card,
.panel-action-card,
.panel-affiliate-card,
.panel-list-card,
.panel-subscription-card,
.school-dashboard-banner,
.school-summary-card,
.school-summary-wide-card {
    background:
        radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.22), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.98));
    border: 1px solid rgba(var(--primary-rgb), 0.1);
}

.dashboard-hero-card,
.panel-hero,
.school-dashboard-banner,
.hero-banner-card.dark,
.hero-banner-card.hero-brand {
    background:
        radial-gradient(circle at 16% 18%, rgba(var(--accent-rgb), 0.28), transparent 20%),
        radial-gradient(circle at 84% 88%, rgba(255, 255, 255, 0.08), transparent 22%),
        linear-gradient(135deg, var(--navy-900) 0%, var(--navy-800) 48%, var(--navy-700) 100%);
    color: #eff6ff;
}

.dashboard-hero-card h1,
.panel-hero-copy h1,
.dashboard-hero-card .dashboard-chip,
.panel-kicker,
.panel-hero-badge,
.school-dashboard-banner-copy strong,
.school-dashboard-banner-copy span {
    color: #eff6ff;
}

.dashboard-chip,
.panel-kicker,
.panel-hero-badge,
.hero-banner-btn-secondary {
    background: rgba(var(--accent-rgb), 0.16);
    border: 1px solid rgba(var(--accent-rgb), 0.24);
    color: var(--brand-blue-300);
}

.panel-action-icon,
.panel-profile-avatar,
.school-summary-logo,
.school-profile-logo,
.tool-icon,
.market-product-thumb,
.market-toggle-ui,
.edu-brand-mark {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92));
    border: 1px solid rgba(var(--primary-rgb), 0.08);
}

.panel-profile-avatar.teacher,
.panel-profile-avatar.school,
.panel-profile-avatar.student,
.panel-profile-avatar.admin,
.tool-book,
.tool-report,
.tool-manage,
.tool-build,
.tool-advice,
.tool-analytics,
.tool-learning,
.tool-virtual,
.tone-purple,
.tone-indigo,
.tone-pink,
.tone-orange,
.tone-green,
.tone-blue,
.tone-violet,
.tone-teal {
    background:
        radial-gradient(circle at top, rgba(var(--accent-rgb), 0.22), transparent 24%),
        linear-gradient(145deg, var(--navy-800), var(--navy-700));
    color: #ffffff;
}

.btn-primary,
.cta-orange,
.hero-banner-btn,
.market-add-btn,
.store-add-button,
.floating-support-btn,
.edu-auth-solid {
    background:
        linear-gradient(135deg, var(--navy-900), var(--navy-800));
    color: #ffffff;
    border: 1px solid rgba(var(--accent-rgb), 0.16);
}

.btn-secondary,
.cta-light,
.edu-auth-outline,
.hero-banner-btn-secondary,
.school-outline-btn,
.market-tab-card,
.store-tab-pill {
    background: linear-gradient(180deg, var(--surface-1), var(--surface-2));
    color: var(--navy-800);
    border: 1px solid rgba(var(--accent-rgb), 0.72);
}

.market-tab-active,
.store-tab-pill.is-active,
.edu-nav-link.is-active {
    background:
        linear-gradient(135deg, rgba(var(--accent-rgb), 0.7), rgba(255, 247, 227, 0.95));
    color: var(--navy-900);
    border-color: rgba(var(--accent-rgb), 0.95);
}

.edu-nav-link:hover,
.market-tab-card:hover,
.store-tab-pill:hover,
.btn-secondary:hover,
.cta-light:hover {
    background:
        linear-gradient(135deg, rgba(var(--accent-rgb), 0.42), rgba(255, 247, 227, 0.96));
}

.market-discount-badge,
.store-sale-badge,
.badge-pill,
.meta-tags span,
.store-meta-chip,
.dashboard-chip,
.panel-chip {
    background:
        linear-gradient(135deg, rgba(var(--accent-rgb), 0.95), rgba(247, 226, 175, 0.95));
    color: var(--navy-900);
    border: 1px solid rgba(var(--primary-rgb), 0.08);
}

.question-answer-box,
.image-wrap,
.store-toggle-row,
.market-search-input,
.market-select-box,
.market-toggle-box,
.panel-list-row,
.panel-subscription-card,
.exam-option-card,
.question-preview-box,
.answer-box {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.92));
    border: 1px solid rgba(var(--primary-rgb), 0.1);
}

.form-control,
select,
textarea,
input[type='text'],
input[type='number'],
input[type='file'],
.market-search-input input {
    background: rgba(255, 255, 255, 0.98);
    color: var(--navy-900);
    border: 1px solid rgba(var(--primary-rgb), 0.16);
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: rgba(var(--primary-rgb), 0.42);
}

.question-meta-list span,
.muted-chip,
code,
.latex {
    background: rgba(var(--primary-rgb), 0.06);
    color: var(--navy-800);
    border: 1px solid rgba(var(--primary-rgb), 0.08);
}

.page-breadcrumbs,
.page-breadcrumbs a {
    color: rgba(var(--primary-rgb), 0.56);
}

.page-breadcrumbs strong,
.page-breadcrumbs a:hover,
.store-secondary-link,
.text-link,
.panel-affiliate-link {
    color: var(--navy-800);
}

.market-price-box strong,
.store-price-row strong,
.panel-stat-card strong,
.panel-affiliate-card strong,
.panel-big-number,
.price-tag,
.price-box {
    color: var(--navy-800);
}

.market-price-box del,
.store-price-row del {
    color: rgba(var(--primary-rgb), 0.4);
}

.panel-action-card,
.panel-affiliate-card,
.panel-stat-card,
.market-product-card,
.store-product-card,
.question-card,
.package-card,
.content-card,
.stat-card,
.option-card,
.list-row {
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.panel-action-card:hover,
.panel-affiliate-card:hover,
.panel-stat-card:hover,
.market-product-card:hover,
.store-product-card:hover,
.question-card:hover,
.package-card:hover,
.content-card:hover,
.stat-card:hover,
.option-card:hover,
.list-row:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--accent-rgb), 0.8);
    background:
        radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.16), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(239, 246, 255, 0.98));
}

.panel-affiliate-cta,
.soft-accent,
.outline-card,
.market-board,
.school-summary-wide-card {
    background:
        radial-gradient(circle at 90% 14%, rgba(var(--accent-rgb), 0.18), transparent 20%),
        linear-gradient(135deg, rgba(var(--primary-rgb), 0.04), rgba(var(--accent-rgb), 0.16));
}

.school-dashboard-banner-copy,
.panel-hero-copy,
.dashboard-hero-content {
    max-width: 760px;
}

.market-layout,
.market-product-grid,
.dashboard-feature-grid,
.panel-stat-grid,
.panel-action-grid,
.panel-affiliate-grid,
.school-tool-grid,
.promo-strip-grid {
    align-items: stretch;
}

.market-product-card,
.store-product-card,
.panel-action-card,
.panel-affiliate-card,
.panel-stat-card,
.school-tool-card {
    min-height: 100%;
}

@media (max-width: 1100px) {
    .market-product-grid,
    .dashboard-feature-grid,
    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .school-tool-grid,
    .promo-strip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .market-layout,
    .market-board-head,
    .school-summary-wide-card,
    .panel-dual-grid,
    .panel-subscription-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .edu-navbar-menu {
        grid-template-columns: 1fr;
    }

    .market-product-grid,
    .dashboard-feature-grid,
    .panel-stat-grid,
    .panel-action-grid,
    .panel-affiliate-grid,
    .school-tool-grid,
    .promo-strip-grid,
    .store-products-grid,
    .question-products-grid,
    .stat-grid,
    .mini-stats {
        grid-template-columns: 1fr;
    }

    .market-product-top,
    .market-product-bottom,
    .school-summary-card,
    .school-summary-main,
    .market-tabs-row,
    .page-head,
    .section-head,
    .panel-hero,
    .panel-profile-card,
    .panel-list-row {
        flex-direction: column;
        align-items: stretch;
    }

    .market-sidebar,
    .store-filter-card,
    .sticky-panel {
        width: 100%;
    }

    .market-add-btn,
    .store-add-button,
    .hero-banner-btn,
    .hero-banner-btn-secondary,
    .btn,
    .cta-pill,
    .market-tab-card,
    .store-tab-pill {
        width: 100%;
        justify-content: center;
    }
}

.builder-start-shell,
.builder-setup-summary {
    display: grid;
    gap: 20px;
}

.builder-wizard-card {
    display: grid;
    gap: 20px;
    padding: 28px;
}

.builder-step-card {
    position: relative;
    display: grid;
    gap: 18px;
    padding: 26px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.94));
    border: 1px solid rgba(var(--primary-rgb), 0.1);
}

.builder-step-badge {
    position: absolute;
    top: -16px;
    right: 28px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-blue-500), var(--brand-blue-400));
    color: var(--navy-900);
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(var(--primary-rgb), 0.14);
}

.builder-step-head h2 {
    margin-bottom: 6px;
}

.builder-initial-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.builder-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.builder-choice-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 14px;
    border-radius: 18px;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    background: rgba(255, 255, 255, 0.96);
    color: var(--navy-800);
    cursor: pointer;
    font-weight: 800;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.builder-choice-pill input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.builder-choice-pill.is-selected {
    background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
    color: #eff6ff;
    border-color: rgba(var(--accent-rgb), 0.5);
    box-shadow: 0 14px 28px rgba(var(--primary-rgb), 0.16);
}

.builder-topic-layout {
    position: relative;
    display: block;
    width: 100%;
    min-height: 780px;
    --builder-selected-width: 220px;
    --builder-selected-gap: 18px;
}

.builder-selected-panel,
.builder-tree-panel {
    direction: rtl;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(var(--primary-rgb), 0.1);
}

.builder-selected-panel {
    position: absolute;
    left: 0;
    top: 0;
    min-width: var(--builder-selected-width);
    width: var(--builder-selected-width);
    max-width: var(--builder-selected-width);
    display: flex;
    flex-direction: column;
    height: 640px;
    max-height: 640px;
    min-height: 640px;
    overflow: hidden;
    padding: 16px;
    z-index: 2;
    transform: none;
}

.builder-tree-panel {
    display: block;
    min-width: 0;
    width: calc(100% - var(--builder-selected-width) - var(--builder-selected-gap));
    margin-right: 0;
    margin-left: auto;
    min-height: 640px;
    padding: 24px 26px;
    transform: none;
}

.builder-selected-head,
.builder-tree-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.builder-selected-head {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 10px;
}

.builder-selected-head h3 {
    font-size: 0.95rem;
    line-height: 1.4;
    margin: 0;
}

.builder-selected-tags {
    min-height: 72px;
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    align-content: start;
    gap: 8px;
    overflow-y: auto;
    max-height: none;
    padding-left: 0;
    padding-right: 0;
}

.builder-selected-head .btn {
    min-height: 30px !important;
    padding: 0 9px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    width: 100%;
    justify-content: center;
}

.builder-selected-tags::-webkit-scrollbar {
    width: 8px;
}

.builder-selected-tags::-webkit-scrollbar-thumb {
    background: rgba(var(--primary-rgb), 0.24);
    border-radius: 4px;
}

.builder-tag {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 6px;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid rgba(var(--primary-rgb), 0.18);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 255, 0.95));
    color: var(--navy-900);
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: right;
    box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), 0.16);
}

.builder-tag span {
    flex: 1;
}

.builder-tag strong {
    font-size: 0.78rem;
    line-height: 1;
    color: rgba(var(--primary-rgb), 0.78);
}

.builder-tree-search {
    flex: 1;
    min-width: 220px;
}

.builder-tree-search input {
    width: 100%;
}

.builder-tree-empty {
    min-height: 32px;
    display: grid;
    place-items: center;
    color: var(--muted);
    text-align: center;
    margin-bottom: 8px;
}

.builder-topic-tree {
    display: grid;
    gap: 10px;
    max-height: 620px;
    overflow: auto;
    padding-left: 4px;
}

.builder-topic-tree.compact-tree {
    width: min(100%, 760px);
    max-width: 760px;
    margin-right: 0;
    margin-left: auto;
}

.builder-tree-node {
    display: grid;
    gap: 8px;
}

.builder-tree-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 42px;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.builder-tree-toggle {
    width: 28px;
    height: 28px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: var(--navy-800);
    cursor: pointer;
    box-shadow: none;
    direction: ltr;
    unicode-bidi: isolate;
}

.builder-tree-toggle.has-children {
    display: inline-grid;
    place-items: center;
}

.builder-tree-arrow {
    display: block;
    width: 13px;
    height: 13px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
    direction: ltr;
    unicode-bidi: isolate;
}

.builder-tree-toggle:disabled {
    cursor: default;
    opacity: 0.65;
}

.builder-tree-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    color: var(--navy-800);
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
}

.builder-tree-label input[type='checkbox'] {
    width: 18px;
    height: 18px;
    accent-color: var(--navy-800);
    cursor: pointer;
    flex: 0 0 auto;
}

.builder-tree-label.is-locked {
    opacity: 0.7;
    cursor: pointer;
}

.builder-tree-label.is-locked span {
    color: #7c2d12;
}

.builder-tree-children {
    margin-right: 22px;
    padding-right: 16px;
    border-right: 0;
    display: grid;
    gap: 10px;
}

.builder-tree-node.is-collapsed > .builder-tree-children {
    display: none;
}

.builder-tree-node.level-subject > .builder-tree-row .builder-tree-label {
    background: transparent;
}

.builder-tree-node.level-chapter > .builder-tree-row .builder-tree-label {
    background: transparent;
}

.builder-tree-node.level-topic > .builder-tree-row .builder-tree-label {
    background: transparent;
}

.topic-lock-dialog[hidden] {
    display: none !important;
}

.topic-lock-dialog {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
}

.topic-lock-dialog__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.topic-lock-dialog__card {
    position: relative;
    width: min(92vw, 460px);
    padding: 24px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid rgba(var(--primary-rgb), 0.12);
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.18);
    display: grid;
    gap: 14px;
}

.builder-actions {
    justify-content: flex-start;
}

.builder-submit-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 26px;
    border-radius: 26px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.92));
    border: 1px solid rgba(24, 43, 86, 0.08);
    box-shadow: 0 16px 34px rgba(16, 29, 59, 0.06);
}

.builder-filter-modal {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: grid;
    place-items: center;
    padding: 20px;
}

.builder-filter-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.34);
    backdrop-filter: blur(2px);
}

.builder-filter-modal-card {
    position: relative;
    z-index: 1;
    width: min(460px, 100%);
    display: grid;
    justify-items: center;
    gap: 14px;
    text-align: center;
    padding: 30px 24px 24px;
    border-radius: 28px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.94));
    border: 1px solid rgba(24, 43, 86, 0.1);
    box-shadow: 0 26px 60px rgba(16, 29, 59, 0.16);
}

.builder-filter-modal-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.3), #eff6ff);
    border: 1px solid rgba(37, 99, 235, 0.42);
    color: var(--primary-deep);
    font-weight: 900;
}

.builder-filter-modal-card h2 {
    margin-bottom: 0;
    color: var(--primary-deep);
}

.builder-filter-modal-card p {
    margin-bottom: 0;
}

.builder-filter-modal-close {
    position: absolute;
    top: 12px;
    left: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(24, 43, 86, 0.06);
    color: var(--primary-deep);
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}

.builder-submit-bar h2 {
    margin-bottom: 6px;
    color: var(--primary-deep);
}

.builder-submit-bar p {
    margin-bottom: 0;
}

.builder-actions-footer {
    flex-shrink: 0;
}

.exam-builder-shell {
    align-items: start;
}

.exam-builder-shell .builder-step-card,
.exam-builder-shell .content-card,
.exam-builder-shell .manual-question-card,
.exam-builder-shell .manual-selected-item,
.exam-builder-shell .manual-stat-card,
.exam-builder-shell .exam-option-card {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
}

.exam-builder-shell .builder-step-card:hover,
.exam-builder-shell .content-card:hover,
.exam-builder-shell .manual-question-card:hover,
.exam-builder-shell .manual-selected-item:hover,
.exam-builder-shell .manual-stat-card:hover,
.exam-builder-shell .exam-option-card:hover {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    box-shadow: inherit !important;
    transform: none !important;
}

.exam-builder-content {
    width: 100%;
}

.builder-filter-panel {
    position: static;
    width: 100%;
}

.builder-filter-panel .actions {
    justify-content: flex-start;
}

.builder-filter-panel .builder-filter-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.question-year-range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: end;
    gap: 10px;
    width: 100%;
}

.question-year-range__title {
    display: block;
    margin-bottom: 7px;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
}

.question-year-range__field {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
}

.question-year-range__field > span {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
}

.question-year-range__separator {
    padding-bottom: 10px;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 900;
}

@media (max-width: 560px) {
    .question-year-range {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .question-year-range__separator {
        display: none;
    }
}

.builder-filter-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 180px));
    gap: 12px;
}

.builder-filter-choice-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 140px));
    justify-content: start;
}

.builder-filter-type-field {
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(160deg, rgba(var(--primary-rgb), 0.06), rgba(var(--accent-rgb), 0.14));
    border: 1px solid rgba(var(--primary-rgb), 0.08);
}

.builder-filter-type-field > label {
    color: var(--navy-900);
    font-size: 1rem;
    font-weight: 900;
}

.builder-filter-choice-pill,
.builder-filter-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 16px;
    border: 1px solid rgba(var(--primary-rgb), 0.12);
    background: rgba(255, 255, 255, 0.94);
    color: var(--navy-800);
    font-weight: 800;
    cursor: pointer;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition), color var(--transition);
}

.builder-filter-choice-pill input,
.builder-filter-chip input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.builder-filter-choice-pill.is-selected,
.builder-filter-choice-pill:has(input:checked),
.builder-filter-chip:has(input:checked) {
    background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
    color: #eff6ff;
    border-color: rgba(var(--accent-rgb), 0.52);
    box-shadow: 0 14px 28px rgba(var(--primary-rgb), 0.14);
}

.builder-filter-panel .builder-filter-tree-shell {
    display: grid;
    gap: 12px;
}

.builder-start-shell .builder-filter-panel {
    margin-top: 10px;
}

.builder-mode-shell {
    display: grid;
    gap: 22px;
    padding: 24px;
}

.builder-mode-shell-fullwidth {
    width: 100%;
}

.builder-active-filters {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(var(--accent-rgb), 0.12);
    color: var(--navy-900);
}

.builder-active-filters p {
    margin: 0;
}

.builder-mode-copy,
.builder-mode-controls {
    display: grid;
    gap: 14px;
}

.builder-mode-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

.builder-mode-tab {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid rgba(var(--primary-rgb), 0.12);
    background: rgba(255, 255, 255, 0.92);
    color: var(--navy-800);
    font-weight: 800;
    cursor: pointer;
}

.builder-mode-tab.is-active {
    background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
    color: #ffffff;
    box-shadow: 0 16px 28px rgba(var(--primary-rgb), 0.14);
}

.builder-mode-panel {
    display: none;
}

.builder-mode-panel.is-active {
    display: block;
}

.builder-inline-note {
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(var(--accent-rgb), 0.14);
    color: var(--navy-900);
    font-weight: 700;
}

.manual-builder-stage {
    display: grid;
    gap: 20px;
}

.auto-controls-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.auto-control-card {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(var(--primary-rgb), 0.1);
    background: rgba(255, 255, 255, 0.96);
    color: var(--navy-900);
    font-weight: 800;
}

.auto-control-card input {
    width: 100%;
}

.auto-select-btn {
    min-height: 56px;
}

.manual-builder-head,
.manual-pagination,
.manual-question-card-head,
.manual-question-foot,
.manual-selection-head,
.manual-meta-row,
.manual-selected-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.manual-builder-summary {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

.manual-builder-summary span,
.manual-question-chip,
.manual-question-toggle,
.manual-remove-btn {
    border-radius: 10px;
    font-weight: 800;
}

.manual-builder-summary span {
    padding: 10px 16px;
    background: rgba(var(--accent-rgb), 0.18);
    color: var(--navy-900);
}

.manual-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 20px;
    align-items: start;
}

.manual-builder-grid-fullwidth {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.manual-question-list {
    min-width: 0;
}

.manual-question-list,
.manual-selection-list,
.manual-selection-stats,
.manual-selection-meta {
    display: grid;
    gap: 14px;
}

.manual-question-card {
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(var(--primary-rgb), 0.1);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.96));
    box-shadow: 0 16px 36px rgba(var(--primary-rgb), 0.08);
    overflow: hidden;
}

.manual-question-meta {
    display: grid;
    gap: 6px;
}

.manual-question-meta strong {
    font-size: 1.05rem;
    color: var(--navy-900);
}

.manual-question-meta span,
.manual-question-foot,
.manual-selection-placeholder,
.manual-selected-item p,
.manual-question-body {
    color: var(--muted);
}

.manual-question-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.manual-question-chip {
    padding: 7px 12px;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--navy-800);
    font-size: 0.82rem;
}

.manual-question-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
    color: #ffffff;
    cursor: pointer;
}

.manual-question-toggle input {
    width: 18px;
    height: 18px;
    accent-color: var(--brand-blue-500);
}

.manual-question-body {
    margin: 18px 0;
    line-height: 2;
    font-size: 0.95rem;
}

.manual-question-body .question-rich-content,
.manual-question-body .rich-text-content {
    display: block;
    color: var(--navy-900);
}

.manual-question-body .rich-text-content > * {
    max-width: 100%;
}

.manual-question-image-wrap {
    margin-top: 16px;
}

.manual-question-options {
    display: grid;
    gap: 12px;
    padding-top: 4px;
}

.manual-question-options-title {
    font-weight: 800;
    color: var(--navy-900);
}

.manual-question-options .exam-answer-options {
    gap: 10px;
}

.manual-question-options .exam-option-card {
    background: rgba(255, 255, 255, 0.72);
}

.manual-question-options .exam-option-content {
    min-width: 0;
    justify-items: center;
}

.manual-question-options .exam-option-text .rich-text-content {
    display: block;
}

.manual-question-foot {
    font-size: 0.88rem;
}

.manual-selection-panel {
    position: sticky;
    top: 112px;
    display: grid;
    gap: 16px;
    padding: 22px;
}

.manual-builder-grid-fullwidth .manual-selection-panel {
    position: static;
    top: auto;
}

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

.manual-stat-card,
.manual-selected-item {
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(var(--primary-rgb), 0.1);
}

.manual-stat-card {
    display: grid;
    gap: 8px;
}

.manual-stat-card span {
    color: var(--muted);
    font-size: 0.86rem;
}

.manual-stat-card strong {
    color: var(--navy-900);
    font-size: 1.1rem;
}

.manual-meta-row {
    padding: 10px 0;
    border-bottom: 1px dashed rgba(var(--primary-rgb), 0.12);
}

.manual-meta-row:last-child {
    border-bottom: 0;
}

.manual-selected-item {
    align-items: flex-start;
}

.manual-selected-item strong {
    color: var(--navy-900);
}

.manual-selected-item p {
    margin: 8px 0 0;
    line-height: 1.8;
    font-size: 0.86rem;
}

.manual-remove-btn {
    padding: 10px 14px;
    border: 1px solid rgba(211, 103, 75, 0.24);
    background: rgba(211, 103, 75, 0.08);
    color: #b14c33;
    cursor: pointer;
}

.manual-question-empty {
    padding: 28px;
    text-align: center;
}

.exam-builder-shell #manual-question-list {
    gap: 10px;
}

.exam-builder-shell #manual-question-list .manual-question-card,
.student-practice-shell .practice-question-card {
    padding: 14px;
    border-radius: 18px;
    box-shadow: 0 10px 22px rgba(var(--primary-rgb), 0.06);
}

.exam-builder-shell #manual-question-list .manual-question-card-head,
.student-practice-shell .practice-question-card .manual-question-card-head {
    gap: 8px;
    align-items: flex-start;
}

.exam-builder-shell #manual-question-list .manual-question-meta strong,
.student-practice-shell .practice-question-card .manual-question-meta strong {
    font-size: 0.92rem;
}

.exam-builder-shell #manual-question-list .manual-question-chips,
.student-practice-shell .practice-question-card .manual-question-chips {
    gap: 5px;
    margin-top: 6px;
}

.exam-builder-shell #manual-question-list .manual-question-chip,
.student-practice-shell .practice-question-card .manual-question-chip {
    padding: 4px 8px;
    font-size: 0.72rem;
}

.exam-builder-shell #manual-question-list .manual-question-toggle {
    gap: 7px;
    padding: 8px 11px;
    font-size: 0.82rem;
}

.exam-builder-shell #manual-question-list .manual-question-toggle input {
    width: 15px;
    height: 15px;
}

.exam-builder-shell #manual-question-list .manual-question-body,
.student-practice-shell .practice-question-card .manual-question-body {
    margin: 10px 0;
    line-height: 1.65;
    font-size: 0.88rem;
}

.exam-builder-shell #manual-question-list .manual-question-image-wrap,
.student-practice-shell .practice-question-card .manual-question-image-wrap {
    margin-top: 8px;
}

.exam-builder-shell #manual-question-list .manual-question-options,
.student-practice-shell .practice-question-card .manual-question-options {
    gap: 8px;
}

.exam-builder-shell #manual-question-list .exam-answer-options,
.student-practice-shell .practice-question-card .exam-answer-options {
    gap: 7px;
}

.exam-builder-shell #manual-question-list .exam-option-card,
.student-practice-shell .practice-question-card .exam-option-card {
    gap: 8px;
    padding: 7px 9px;
    border-radius: 10px;
}

.exam-builder-shell #manual-question-list .manual-question-foot,
.student-practice-shell .practice-question-card .manual-question-foot {
    gap: 8px;
    margin-top: 8px;
    font-size: 0.78rem;
}

.hidden-inputs {
    display: none;
}

.pdf-template-picker-shell,
.pdf-template-picker-form {
    display: grid;
    gap: 22px;
}

.pdf-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 18px;
}

.pdf-template-card {
    display: block;
    cursor: pointer;
}

.pdf-template-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pdf-template-preview {
    display: grid;
    gap: 16px;
    min-height: 230px;
    padding: 16px;
    border-radius: 24px;
    border: 2px solid var(--template-border);
    background: var(--template-surface);
    box-shadow: 0 14px 30px rgba(var(--primary-rgb), 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pdf-template-preview-header {
    display: grid;
    place-items: center;
    min-height: 42px;
    border-radius: 14px;
    background: var(--template-accent);
    color: #fff;
    font-weight: 900;
}

.pdf-template-preview-body {
    display: grid;
    gap: 10px;
    color: var(--navy-900);
    font-weight: 700;
}

.pdf-template-preview-body span {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.pdf-template-card.is-active .pdf-template-preview,
.pdf-template-card input:checked + .pdf-template-preview {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(var(--primary-rgb), 0.14);
    border-color: var(--template-accent);
}

.pdf-answer-mode-shell {
    display: grid;
    gap: 16px;
    padding: 22px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(232, 242, 255, 0.72));
    border: 1px solid rgba(var(--primary-rgb), 0.12);
}

.pdf-answer-mode-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
}

.pdf-answer-mode-card {
    display: block;
    cursor: pointer;
}

.pdf-answer-mode-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pdf-answer-mode-content {
    display: grid;
    gap: 8px;
    min-height: 124px;
    padding: 18px;
    border-radius: 22px;
    border: 1.5px solid rgba(var(--primary-rgb), 0.14);
    background: rgba(255, 255, 255, 0.86);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pdf-answer-mode-content strong {
    color: var(--navy-900);
    font-size: 1rem;
}

.pdf-answer-mode-content span {
    color: var(--ink-500);
    line-height: 1.8;
    font-size: 0.9rem;
}

.pdf-answer-mode-card input:checked + .pdf-answer-mode-content {
    transform: translateY(-3px);
    border-color: rgba(var(--primary-rgb), 0.42);
    box-shadow: 0 16px 28px rgba(var(--primary-rgb), 0.12);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(224, 241, 255, 0.92));
}

@media (max-width: 1100px) {
    .builder-topic-layout {
        display: grid;
        gap: 14px;
        min-height: 0;
    }

    .builder-selected-panel {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        max-width: none;
        min-width: 0;
        max-height: 360px;
        z-index: auto;
        transform: none;
    }

    .builder-tree-panel {
        transform: none;
    }

    .manual-builder-grid,
    .manual-builder-grid-fullwidth {
        grid-template-columns: 1fr;
    }

    .manual-selection-panel {
        position: static;
    }

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

    .pdf-answer-mode-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .builder-wizard-card,
    .builder-step-card {
        padding: 18px;
    }

    .pdf-answer-mode-grid {
        grid-template-columns: 1fr;
    }

    .builder-step-badge {
        right: 18px;
    }

    .builder-initial-grid,
    .builder-choice-grid,
    .builder-filter-choice-grid {
        grid-template-columns: 1fr;
    }

    .builder-tree-toolbar,
    .builder-selected-head,
    .builder-actions,
    .builder-submit-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .manual-builder-head,
    .manual-pagination,
    .manual-question-card-head,
    .manual-question-foot,
    .manual-selection-head,
    .manual-meta-row,
    .manual-selected-item {
        flex-direction: column;
        align-items: stretch;
    }

    .manual-selection-stats {
        grid-template-columns: 1fr;
    }

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

.exam-management-shell {
    display: grid;
    gap: 24px;
    padding: 18px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(31, 42, 120, 0.08), rgba(37, 99, 235, 0.12));
}

.exam-management-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.exam-management-header h1 {
    margin-bottom: 8px;
    color: #1f2a78;
}

.exam-management-actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.exam-create-btn,
.exam-combine-btn,
.exam-filter-toggle {
    min-height: 48px;
    padding: 0 20px;
    border-radius: 14px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.exam-create-btn {
    background: #1f2a78;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(31, 42, 120, 0.18);
}

.exam-create-btn:hover,
.exam-create-btn:focus-visible,
.exam-combine-btn:hover,
.exam-combine-btn:focus-visible,
.exam-filter-toggle:hover,
.exam-filter-toggle:focus-visible {
    background: #17205d;
    color: #ffffff;
}

.exam-combine-btn {
    min-height: 54px;
    padding: 0 26px;
    background: #1f2a78;
    color: #ffffff;
    box-shadow: 0 16px 30px rgba(31, 42, 120, 0.2);
}

.exam-combine-btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
    box-shadow: none;
}

.exam-combine-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.46);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.exam-combine-modal-backdrop.is-visible {
    display: flex;
}

.exam-combine-modal {
    position: relative;
    width: min(92vw, 460px);
    padding: 30px 28px 26px;
    border: 1px solid rgba(239, 68, 68, 0.18);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.24);
    text-align: center;
}

.exam-combine-modal-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #ef4444, #ff8a1d);
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
}

.exam-combine-modal h2 {
    margin: 0 0 10px;
    color: #1f2a44;
    font-size: 1.28rem;
}

.exam-combine-modal p {
    margin: 0 0 22px;
    color: #64748b;
    line-height: 1.9;
}

.exam-combine-modal-close {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #eff6ff;
    color: #1d4ed8;
    cursor: pointer;
    font-size: 1.4rem;
    line-height: 1;
}

.exam-filter-toggle {
    display: none;
    background: #1f2a78;
    color: #ffffff;
    border: 1px solid #1f2a78;
}

.exam-management-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}

.exam-list-card,
.exam-filter-panel {
    background: rgba(255, 253, 247, 0.98);
    border: 1px solid rgba(31, 42, 120, 0.18);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(31, 42, 120, 0.1);
}

.exam-filter-panel {
    position: sticky;
    top: 120px;
    padding: 22px;
}

.exam-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.exam-filter-head strong {
    font-size: 1.05rem;
    color: #1f2a78;
}

.exam-filter-close {
    display: none;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #1f2a78;
    color: #ffffff;
    font-size: 1.35rem;
    cursor: pointer;
}

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

.exam-filter-field {
    display: grid;
    gap: 7px;
}

.exam-filter-field span {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1f2a78;
}

.exam-filter-field input,
.exam-filter-field select {
    min-height: 48px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid rgba(31, 42, 120, 0.18);
    background: #ffffff;
    color: #1f2a78;
    font: inherit;
}

.exam-filter-field input:focus,
.exam-filter-field select:focus {
    outline: none;
    border-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18);
}

.exam-filter-buttons {
    display: grid;
    gap: 10px;
    margin-top: 6px;
}

.exam-filter-buttons .btn {
    border-color: #1f2a78;
    background: #1f2a78;
    color: #ffffff;
    box-shadow: none;
}

.exam-filter-buttons .btn:hover,
.exam-filter-buttons .btn:focus-visible {
    border-color: #17205d;
    background: #17205d;
    color: #ffffff;
}

.exam-list-card {
    padding: 20px;
}

.exam-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.exam-list-tabs {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.exam-list-tab {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
    color: #1f2a78;
    background: rgba(37, 99, 235, 0.14);
}

.exam-list-tab:hover,
.exam-list-tab:focus-visible,
.exam-list-tab.is-active {
    color: #ffffff;
    background: #1f2a78;
}

.exam-list-summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #1f2a78;
    color: #ffffff;
}

.exam-list-table-wrap {
    overflow-x: auto;
}

.exam-list-table {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0 12px;
}

.exam-list-table th {
    padding: 0 12px 8px;
    color: #1f2a78;
    font-size: 0.86rem;
    font-weight: 800;
    text-align: right;
}

.exam-list-table td {
    padding: 16px 12px;
    vertical-align: middle;
    background: #ffffff;
    border-top: 1px solid rgba(31, 42, 120, 0.12);
    border-bottom: 1px solid rgba(31, 42, 120, 0.12);
}

.exam-list-table td:first-child {
    border-right: 1px solid rgba(31, 42, 120, 0.12);
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

.exam-list-table td:last-child {
    border-left: 1px solid rgba(31, 42, 120, 0.12);
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

.exam-row {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.exam-row:hover td {
    background: #1f2a78;
    border-color: #1f2a78;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(31, 42, 120, 0.16);
}

.exam-code-stack,
.exam-title-cell {
    display: grid;
    gap: 4px;
}

.exam-code-stack strong,
.exam-title-cell strong {
    color: #1f2a78;
}

.exam-code-stack small,
.exam-title-cell small {
    color: #94a3b8;
}

.exam-row:hover .exam-code-stack strong,
.exam-row:hover .exam-title-cell strong,
.exam-row:hover .exam-code-stack small,
.exam-row:hover .exam-title-cell small,
.exam-row:hover .exam-icon-btn {
    color: #ffffff;
}

.exam-status-pill {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
}

.exam-status-pill.is-online {
    background: rgba(31, 42, 120, 0.1);
    color: #1f2a78;
}

.exam-status-pill.is-print {
    background: rgba(37, 99, 235, 0.14);
    color: #1f2a78;
}

.exam-status-pill.is-pending {
    background: rgba(245, 185, 66, 0.2);
    color: #7a5200;
}

.exam-status-pill.is-rejected {
    background: rgba(185, 28, 28, 0.12);
    color: #991b1b;
}

.exam-row:hover .exam-status-pill {
    background: #ffffff;
    color: #1f2a78;
}

.exam-action-strip {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.exam-icon-btn {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.exam-icon-btn:hover,
.exam-icon-btn:focus-visible {
    background: #1f2a78;
    color: #ffffff;
    transform: translateY(-1px);
}

.exam-row:hover .exam-icon-btn:hover,
.exam-row:hover .exam-icon-btn:focus-visible {
    background: #ffffff;
    color: #1f2a78;
}

.exam-icon-btn.is-danger {
    color: #dc6b6b;
}

.exam-icon-btn.is-danger:hover,
.exam-icon-btn.is-danger:focus-visible {
    background: #fff1f1;
    color: #c24141;
}

.exam-icon-btn.is-muted {
    opacity: 0.4;
    cursor: not-allowed;
}

.exam-empty-state {
    padding: 36px 18px;
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
}

.exam-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.28);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 39;
}

.exam-filter-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 980px) {
    .exam-management-grid {
        grid-template-columns: 1fr;
    }

    .exam-filter-toggle,
    .exam-filter-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .exam-filter-panel {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(90vw, 360px);
        border-radius: 24px 0 0 24px;
        transform: translateX(100%);
        transition: transform 0.24s ease;
        z-index: 40;
        overflow-y: auto;
    }

    .exam-filter-panel.is-open {
        transform: translateX(0);
    }
}

@media (max-width: 760px) {
    .exam-management-header,
    .exam-list-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .exam-management-actions,
    .exam-list-tabs {
        width: 100%;
    }

    .exam-create-btn,
    .exam-combine-btn,
    .exam-filter-toggle,
    .exam-list-tab {
        width: 100%;
    }
}

/* Exam list layout overrides */
.exam-management-grid {
    display: block;
}

.exam-filter-panel {
    position: static;
    top: auto;
    padding: 20px;
}

.exam-filter-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
}

.exam-filter-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
}

.exam-list-card {
    width: 100%;
}

.exam-list-table-wrap {
    overflow: visible;
}

.exam-list-table {
    min-width: 0;
    table-layout: fixed;
}

.exam-list-table th,
.exam-list-table td {
    word-break: break-word;
}

.exam-list-table th:nth-child(1),
.exam-list-table td:nth-child(1) {
    width: 4%;
}

.exam-list-table th:nth-child(2),
.exam-list-table td:nth-child(2) {
    width: 12%;
}

.exam-list-table th:nth-child(3),
.exam-list-table td:nth-child(3) {
    width: 18%;
}

.exam-list-table th:nth-child(4),
.exam-list-table td:nth-child(4) {
    width: 14%;
}

.exam-list-table th:nth-child(5),
.exam-list-table td:nth-child(5) {
    width: 11%;
}

.exam-list-table th:nth-child(6),
.exam-list-table td:nth-child(6) {
    width: 8%;
}

.exam-list-table th:nth-child(7),
.exam-list-table td:nth-child(7) {
    width: 10%;
}

.exam-list-table th:nth-child(8),
.exam-list-table td:nth-child(8) {
    width: 23%;
}

.exam-action-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.exam-icon-btn {
    width: 100%;
}

@media (max-width: 1200px) {
    .exam-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .exam-list-table th,
    .exam-list-table td {
        padding: 14px 8px;
        font-size: 0.88rem;
    }
}

@media (max-width: 980px) {
    .exam-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exam-list-table {
        table-layout: auto;
    }

    .exam-action-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .exam-filter-form,
    .exam-filter-buttons {
        grid-template-columns: 1fr;
    }

    .exam-list-table th:nth-child(4),
    .exam-list-table td:nth-child(4),
    .exam-list-table th:nth-child(5),
    .exam-list-table td:nth-child(5) {
        display: none;
    }

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

@media (max-width: 1100px) {
    .guest-home-intro,
    .guest-school-cta,
    .guest-benefit-cards,
    .guest-home-card-row,
    .guest-home-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guest-testimonial-row {
        grid-template-columns: 1fr 1fr;
    }

    .guest-home-hero-slider {
        min-height: 420px;
    }
}

@media (max-width: 860px) {
    .edu-navbar-guest-home {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .edu-navbar-user-guest {
        justify-self: center;
    }

    .guest-home-mini-stats,
    .guest-home-slider-stats,
    .guest-stats-bar,
    .guest-benefit-cards,
    .guest-testimonial-row,
    .guest-home-footer-grid {
        grid-template-columns: 1fr;
    }

    .guest-home-slider-stats {
        position: static;
    }

    .guest-home-slider-card {
        padding-bottom: 28px;
        min-height: 320px;
    }
}

@media (max-width: 640px) {
    .guest-home-hero-banner {
        padding: 26px 16px;
    }

    .guest-home-section {
        padding: 20px;
        border-radius: 26px;
    }

    .guest-home-intro,
    .guest-school-cta,
    .guest-home-card-row,
    .guest-home-mini-stats {
        grid-template-columns: 1fr;
    }

    .guest-home-actions,
    .guest-home-section-head,
    .guest-product-card-price,
    .guest-bank-card-footer,
    .guest-learning-card-footer,
    .guest-home-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .guest-home-btn,
    .guest-inline-btn {
        width: 100%;
    }
}

/* Brand refresh overrides */
:root {
    --primary: #182b56;
    --primary-deep: #101d3b;
    --primary-soft: #e9eef8;
    --accent: #2563eb;
    --accent-soft: #eff6ff;
    --accent-strong: #1d4ed8;
    --bg: #f5f6f8;
    --bg-strong: #e7edf7;
    --card: rgba(255, 255, 255, 0.88);
    --card-alt: #f8fafc;
    --text: #14213d;
    --muted: #5f6b81;
    --line: rgba(24, 43, 86, 0.12);
    --line-strong: rgba(24, 43, 86, 0.22);
    --shadow: 0 18px 40px rgba(16, 29, 59, 0.08);
    --shadow-lg: 0 28px 70px rgba(16, 29, 59, 0.16);
}

body {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.24), transparent 24%),
        radial-gradient(circle at bottom left, rgba(24, 43, 86, 0.12), transparent 28%),
        linear-gradient(180deg, #f5f6f8 0%, #eceff3 100%);
    color: var(--text);
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: auto;
    pointer-events: none;
    z-index: -1;
    border-radius: 50%;
    filter: none;
}

body::before {
    top: 84px;
    right: -100px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.24), rgba(37, 99, 235, 0));
}

body::after {
    left: -140px;
    bottom: 48px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(24, 43, 86, 0.16), rgba(24, 43, 86, 0));
}

.site-bg {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 14% 18%, rgba(37, 99, 235, 0.18), transparent 18%),
        radial-gradient(circle at 86% 0%, rgba(24, 43, 86, 0.14), transparent 24%);
    opacity: 0.7;
}

.edu-navbar-shell {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.88));
    box-shadow: 0 8px 26px rgba(16, 29, 59, 0.06);
    border-bottom: 1px solid rgba(24, 43, 86, 0.08);
}

.edu-navbar {
    min-height: 82px;
    padding: 14px 8px;
}

.edu-brand-text strong,
.edu-user-label,
.page-breadcrumbs .is-current,
.store-section-head h1,
.market-board-head h1,
.hero-banner-content h1,
.profile-info-copy h1,
.panel-profile-card h2,
.panel-section-head h3 {
    color: var(--primary-deep);
}

.edu-brand-text small,
.edu-user-meta small,
.edu-user-logout a,
.page-breadcrumbs,
.page-breadcrumbs a {
    color: var(--muted);
}

.global-breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    color: #182B51;
    font-family: "IRANYekan", var(--font-fa);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.8;
}

.global-breadcrumbs a,
.global-breadcrumbs span {
    color: #182B51;
}

.global-breadcrumbs .breadcrumb-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #182B51;
    font-family: "IRANYekan", var(--font-fa);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.global-breadcrumbs a:hover,
.global-breadcrumbs a:focus-visible {
    color: #182B51;
}

.global-breadcrumbs .is-current {
    color: #182B51;
    font-weight: 700;
}

.edu-nav-link {
    position: relative;
    border-radius: 10px;
    color: var(--primary);
    transition: color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.edu-nav-link:hover {
    background: rgba(24, 43, 86, 0.06);
}

.edu-nav-link.is-active {
    background: linear-gradient(135deg, rgba(24, 43, 86, 0.12), rgba(37, 99, 235, 0.28));
    color: var(--primary-deep);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.08);
}

.edu-auth-btn,
.btn,
.cta-pill,
.guest-home-btn,
.guest-inline-btn,
.hero-banner-btn,
.school-outline-btn,
.market-add-btn,
.store-add-button,
.floating-support-btn {
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

.btn-primary,
.cta-orange,
.edu-auth-solid,
.guest-home-btn-primary,
.guest-inline-btn,
.hero-banner-btn,
.market-add-btn,
.store-add-button,
.floating-support-btn {
    background: linear-gradient(135deg, var(--primary), #27457f);
    color: #fff;
    box-shadow: 0 16px 34px rgba(24, 43, 86, 0.2);
}

.btn-primary:hover,
.cta-orange:hover,
.edu-auth-solid:hover,
.guest-home-btn-primary:hover,
.guest-inline-btn:hover,
.hero-banner-btn:hover,
.market-add-btn:hover,
.store-add-button:hover,
.floating-support-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(24, 43, 86, 0.24);
}

.btn-secondary,
.cta-light,
.edu-auth-outline,
.guest-home-btn-secondary {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(251, 244, 223, 0.96));
    color: var(--primary-deep);
    border-color: rgba(24, 43, 86, 0.12);
    box-shadow: 0 10px 24px rgba(16, 29, 59, 0.06);
}

.edu-auth-outline {
    border-color: rgba(37, 99, 235, 0.88);
    color: var(--primary-deep);
}

.edu-auth-actions-guest .edu-auth-outline {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(251, 244, 223, 0.94));
    border-color: rgba(37, 99, 235, 0.88);
    color: var(--primary-deep);
}

.edu-auth-actions-guest .edu-auth-solid {
    background: linear-gradient(135deg, var(--primary), #27457f);
    color: #fff;
    box-shadow: 0 14px 30px rgba(24, 43, 86, 0.18);
}

.edu-navbar-guest-home .edu-auth-actions-guest .edu-auth-outline {
    background: #fff !important;
    border: 1px solid #182B51 !important;
    color: #182B51 !important;
    box-shadow: none !important;
    border-radius: 8px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 0.8rem !important;
}

.edu-navbar-guest-home .edu-auth-actions-guest .edu-auth-solid {
    background: #182B51 !important;
    border: 1px solid #182B51 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    border-radius: 8px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 0.8rem !important;
}

.edu-navbar-guest-home .edu-auth-actions-guest .edu-auth-outline:hover,
.edu-navbar-guest-home .edu-auth-actions-guest .edu-auth-solid:hover {
    transform: none;
}

.edu-user-balance {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.95), #dbeafe);
    color: var(--primary-deep);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.08);
    font-weight: 900;
}

.edu-bell-btn {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.42), rgba(255, 255, 255, 0.94));
    box-shadow: 0 10px 24px rgba(16, 29, 59, 0.08);
    color: var(--primary-deep);
}

.edu-user-avatar {
    background: linear-gradient(135deg, rgba(24, 43, 86, 0.12), rgba(37, 99, 235, 0.36));
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.08);
}

.flash,
.content-card,
.question-card,
.page-head,
.auth-shell,
.package-card,
.stat-card,
.option-card,
.list-row,
.landing-hero,
.mock-card,
.mini-card,
.store-products-panel,
.store-filter-card,
.market-board,
.market-filter-box,
.market-product-card,
.hero-banner-card,
.school-summary-card,
.mini-app-card,
.dashboard-ad-banner,
.profile-info-card,
.panel-profile-card,
.panel-stat-card,
.panel-action-card,
.panel-list-card,
.manual-stat-card,
.exam-list-card,
.exam-filter-panel,
.exam-summary-card,
.pdf-template-card {
    background:
        linear-gradient(155deg, rgba(255, 255, 255, 0.94), rgba(255, 251, 240, 0.88)),
        linear-gradient(0deg, rgba(37, 99, 235, 0.06), rgba(37, 99, 235, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: var(--shadow);
}

.store-product-card,
.guest-product-card,
.guest-bank-card,
.guest-learning-card,
.guest-testimonial-card,
.guest-benefit-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 251, 243, 0.92));
    border: 1px solid rgba(24, 43, 86, 0.08);
    box-shadow: 0 16px 38px rgba(16, 29, 59, 0.08);
}

.store-product-card:hover,
.guest-product-card:hover,
.guest-bank-card:hover,
.guest-learning-card:hover,
.guest-testimonial-card:hover,
.guest-benefit-card:hover,
.question-card:hover,
.content-card:hover,
.stat-card:hover,
.option-card:hover,
.panel-action-card:hover,
.panel-stat-card:hover,
.market-product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(16, 29, 59, 0.1);
    border-color: rgba(24, 43, 86, 0.14);
}

.glass {
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(239, 246, 255, 0.9));
}

.form-control,
select,
textarea,
input[type='text'],
input[type='number'],
input[type='file'],
input[type='email'],
input[type='password'],
input[type='tel'] {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(24, 43, 86, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: rgba(24, 43, 86, 0.34);
    box-shadow: 0 0 0 4px rgba(24, 43, 86, 0.08);
}

.dashboard-hero-card,
.hero-banner-card,
.guest-home-slider-card,
.guest-home-video-card,
.guest-stats-bar,
.school-dashboard-hero,
.dashboard-ad-banner {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.22), transparent 28%),
        linear-gradient(135deg, #101d3b 0%, #182b56 58%, #244179 100%);
    color: #fff;
    box-shadow: var(--shadow-lg);
}

.dashboard-chip,
.store-kicker,
.eyebrow,
.guest-home-kicker {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(37, 99, 235, 0.38));
    color: var(--primary-deep);
    border: 1px solid rgba(37, 99, 235, 0.48);
    letter-spacing: normal;
}

.dashboard-hero-content p,
.hero-banner-content p {
    color: rgba(255, 255, 255, 0.84);
}

.store-tabs-bar,
.market-tabs-row,
.guest-home-tabs {
    background: transparent;
}

.store-tab-pill,
.guest-home-tabs button,
.market-tab-card {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(24, 43, 86, 0.08);
    color: var(--muted);
    box-shadow: 0 10px 20px rgba(16, 29, 59, 0.04);
}

.store-tab-pill.is-active,
.guest-home-tabs button.is-active,
.market-tab-active {
    background: linear-gradient(135deg, rgba(24, 43, 86, 0.96), rgba(38, 69, 127, 0.92));
    color: #ffffff;
    border-color: rgba(24, 43, 86, 0.22);
    box-shadow: 0 16px 30px rgba(24, 43, 86, 0.16);
}

.store-sale-badge,
.market-discount-badge,
.guest-badge,
.store-meta-chip,
.badge-pill,
.meta-tags span,
.guest-home-targets span,
.guest-home-slider-badges span,
.guest-learning-card-meta span,
.guest-bank-card-tag {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.32), rgba(255, 248, 229, 0.88));
    color: var(--primary-deep);
    border: 1px solid rgba(37, 99, 235, 0.42);
}

.store-sale-badge.soft-badge {
    background: linear-gradient(135deg, rgba(24, 43, 86, 0.92), rgba(48, 77, 136, 0.92));
    color: #ffffff;
}

.store-product-media,
.question-mode-card .store-product-media,
.guest-product-card-media,
.guest-learning-card-media,
.market-product-thumb {
    background:
        radial-gradient(circle at top, rgba(37, 99, 235, 0.38), transparent 42%),
        linear-gradient(145deg, #eff6ff, #edf2fb);
}

.store-product-placeholder,
.question-placeholder {
    background: linear-gradient(145deg, rgba(24, 43, 86, 0.92), rgba(48, 77, 136, 0.92));
    color: #ffffff;
}

.question-meta-list span,
.question-answer-box,
.image-wrap,
.store-toggle-row,
.market-search-input input,
.market-select-box,
.market-toggle-box,
.guest-home-trust-row span,
.guest-home-mini-stats article,
.guest-home-slider-stats article,
.guest-stats-bar article {
    border: 1px solid rgba(24, 43, 86, 0.09);
    box-shadow: 0 8px 18px rgba(16, 29, 59, 0.04);
}

.question-meta-list span,
.question-answer-box,
.image-wrap,
.store-toggle-row,
.market-search-input input {
    background: rgba(255, 255, 255, 0.84);
}

.question-preview-box summary,
.answer-box summary,
.store-secondary-link,
.text-link,
.guest-home-hero-contact a {
    color: var(--primary);
}

.exam-option-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(24, 43, 86, 0.1);
}

.exam-option-card:hover,
.exam-option-card.is-selected {
    border-color: rgba(24, 43, 86, 0.22);
    background: linear-gradient(135deg, rgba(233, 238, 248, 0.92), rgba(255, 250, 239, 0.92));
}

.exam-option-badge {
    background: linear-gradient(135deg, rgba(24, 43, 86, 0.12), rgba(37, 99, 235, 0.34));
    color: var(--primary-deep);
}

.tone-purple,
.tone-indigo,
.tone-blue {
    background: linear-gradient(135deg, #101d3b, #244179);
}

.tone-orange,
.tone-lime,
.tone-cyan {
    background: linear-gradient(135deg, #2563eb, #ffffff);
    color: var(--primary-deep);
}

.tone-green,
.tone-teal {
    background: linear-gradient(135deg, #1d3c63, #3f6f8e);
}

.tone-pink,
.tone-violet,
.tone-rose {
    background: linear-gradient(135deg, #3a4269, #6c7aa8);
}

.panel-stat-card,
.panel-action-card,
.promo-strip-card,
.feature-tool-card {
    box-shadow: 0 14px 28px rgba(16, 29, 59, 0.09);
}

.panel-stat-card span,
.panel-stat-card small,
.panel-action-card p {
    color: inherit;
    opacity: 0.88;
}

.profile-info-card,
.panel-profile-card,
.school-summary-card {
    position: relative;
    overflow: hidden;
}

.profile-info-card::before,
.panel-profile-card::before,
.school-summary-card::before,
.store-products-panel::before,
.market-board::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    transform: translate(-34%, -34%);
    background: radial-gradient(circle, rgba(37, 99, 235, 0.22), rgba(37, 99, 235, 0));
    pointer-events: none;
}

.profile-info-avatar,
.panel-profile-avatar,
.school-summary-logo {
    background: linear-gradient(145deg, rgba(24, 43, 86, 0.14), rgba(37, 99, 235, 0.42));
    color: var(--primary-deep);
    box-shadow: inset 0 0 0 1px rgba(24, 43, 86, 0.08);
}

.floating-support-btn {
    border: 1px solid rgba(255, 255, 255, 0.48);
}

.auth-shell {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.18), transparent 24%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.92));
    border: 1px solid rgba(24, 43, 86, 0.1);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }
}

.page-head,
.store-section-head,
.market-board-head,
.panel-section-head {
    position: relative;
    z-index: 1;
}

@media (max-width: 980px) {
    .edu-navbar-user {
        flex-wrap: wrap;
        justify-content: center;
    }

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

    .market-tabs-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .edu-nav-link,
    .store-tab-pill,
    .guest-home-tabs button,
    .market-tab-card,
    .btn,
    .cta-pill,
    .edu-auth-btn {
        width: 100%;
    }

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

    .edu-user-profile-link {
        justify-content: center;
    }

    .profile-management-grid,
    .profile-details-grid,
    .profile-edit-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .market-tabs-row {
        grid-template-columns: 1fr;
    }

    .edu-user-balance,
    .edu-bell-btn {
        width: 100%;
    }
}

.status-page {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 220px);
    padding: 28px 0 52px;
}

.status-card {
    width: min(760px, 100%);
    display: grid;
    justify-items: center;
    gap: 18px;
    text-align: center;
    padding: 36px 28px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.22), transparent 28%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.92));
    border: 1px solid rgba(24, 43, 86, 0.1);
    box-shadow: 0 24px 56px rgba(16, 29, 59, 0.1);
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.3), #eff6ff);
    border: 1px solid rgba(37, 99, 235, 0.42);
    color: var(--primary-deep);
    font-weight: 900;
}

.status-hero-mark {
    width: 132px;
    height: 132px;
    display: grid;
    place-items: center;
    border-radius: 32px;
    background: linear-gradient(135deg, var(--primary-deep), var(--primary));
    color: #ffffff;
    box-shadow: 0 22px 42px rgba(24, 43, 86, 0.22);
    font-size: 2.4rem;
    font-weight: 900;
}

.status-card h1 {
    margin-bottom: 0;
    color: var(--primary-deep);
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.status-card p {
    max-width: 560px;
    margin-bottom: 0;
    color: var(--muted);
}

.status-actions,
.status-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.status-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    min-height: 56px;
    width: 100%;
    padding: 0 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(24, 43, 86, 0.08);
    color: var(--primary);
}

.status-meta strong {
    color: var(--primary-deep);
}

.status-links a {
    color: var(--primary);
    font-weight: 800;
}

@media (max-width: 760px) {
    .status-card {
        padding: 26px 18px;
        border-radius: 24px;
    }

    .status-hero-mark {
        width: 104px;
        height: 104px;
        border-radius: 24px;
        font-size: 2rem;
    }

    .status-actions,
    .status-links,
    .status-meta {
        flex-direction: column;
    }

    .status-actions .btn {
        width: 100%;
    }
}

/* Remove the extra English eyebrow labels and tighten button corners site-wide. */
.eyebrow {
    display: none !important;
}

.btn,
.cta-pill,
.store-tab-pill,
.builder-mode-tab,
.builder-choice-pill,
.builder-filter-choice-pill,
.builder-filter-chip,
.manual-question-chip,
.exam-status-pill,
.store-add-button,
.hero-banner-btn,
.guest-home-btn,
.guest-inline-btn,
.edu-auth-btn,
.market-tab-card,
.guest-home-tabs button,
.floating-support-btn {
    border-radius: 10px !important;
}

.btn,
.cta-pill,
.store-tab-pill,
.builder-mode-tab,
.builder-choice-pill,
.builder-filter-choice-pill,
.builder-filter-chip,
.store-add-button,
.hero-banner-btn,
.guest-home-btn,
.guest-inline-btn,
.edu-auth-btn,
.market-tab-card,
.guest-home-tabs button {
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    box-shadow: 0 2px 8px rgba(16, 29, 59, 0.04) !important;
}

.btn-primary,
.cta-orange,
.store-tab-pill.is-active,
.builder-mode-tab.is-active,
.builder-choice-pill.is-selected,
.builder-filter-choice-pill.is-selected,
.builder-filter-chip:has(input:checked),
.store-add-button,
.hero-banner-btn,
.guest-home-btn-primary,
.guest-inline-btn,
.edu-auth-solid,
.market-tab-active,
.guest-home-tabs button.is-active {
    box-shadow: 0 3px 10px rgba(24, 43, 86, 0.08) !important;
}

.btn:hover,
.cta-pill:hover,
.store-tab-pill:hover,
.builder-mode-tab:hover,
.builder-choice-pill:hover,
.builder-filter-choice-pill:hover,
.builder-filter-chip:hover,
.store-add-button:hover,
.hero-banner-btn:hover,
.guest-home-btn:hover,
.guest-inline-btn:hover,
.edu-auth-btn:hover,
.market-tab-card:hover,
.guest-home-tabs button:hover {
    transform: none !important;
    box-shadow: 0 4px 12px rgba(16, 29, 59, 0.06) !important;
}
.builder-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
    font-size: 0.85rem;
    font-weight: 700;
}

.builder-badge.success {
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
}

.lesson-video-card .actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.lesson-video-card .question-chip-row {
    margin-top: 10px;
}

.manual-card-select {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
    font-weight: 700;
    cursor: pointer;
}

.manual-card-select input {
    width: 18px;
    height: 18px;
}

.admin-dashboard-cards .panel-section {
    margin-top: 28px;
}

.admin-workbench {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.admin-workbench-section {
    background: transparent;
}

.admin-workbench-head {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.admin-workbench-head h3 {
    margin: 0;
    padding-right: 14px;
    position: relative;
    font-size: 1.18rem;
    font-weight: 800;
    color: #182b56;
}

.admin-workbench-head h3::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
    transform: translateY(-50%);
}

.admin-workbench-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    background: #ffffff;
    border: 1px solid rgba(24, 43, 86, 0.1);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.admin-workbench-card {
    min-height: 118px;
    padding: 18px 16px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-align: center;
    background: #ffffff;
    color: #182b56;
    border-left: 1px solid rgba(24, 43, 86, 0.08);
    border-bottom: 1px solid rgba(24, 43, 86, 0.08);
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.admin-workbench-card:hover {
    background: #eff6ff;
    color: #182b56;
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.18);
}

.admin-workbench-icon {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    line-height: 1;
    color: #1b3566;
}

.admin-workbench-card strong {
    color: #182b56;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.55;
}

.admin-workbench-card small {
    color: #5f6f8f;
    font-size: 0.78rem;
    line-height: 1.8;
}

.admin-workbench-grid .admin-workbench-card:nth-child(4n) {
    border-left: 0;
}

.admin-workbench-grid .admin-workbench-card:nth-last-child(-n+4) {
    border-bottom: 0;
}

@media (max-width: 1200px) {
    .admin-workbench-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-workbench-grid .admin-workbench-card:nth-child(4n) {
        border-left: 1px solid rgba(24, 43, 86, 0.08);
    }

    .admin-workbench-grid .admin-workbench-card:nth-child(3n) {
        border-left: 0;
    }

    .admin-workbench-grid .admin-workbench-card:nth-last-child(-n+4) {
        border-bottom: 1px solid rgba(24, 43, 86, 0.08);
    }

    .admin-workbench-grid .admin-workbench-card:nth-last-child(-n+3) {
        border-bottom: 0;
    }
}

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

    .admin-workbench-grid .admin-workbench-card:nth-child(3n) {
        border-left: 1px solid rgba(24, 43, 86, 0.08);
    }

    .admin-workbench-grid .admin-workbench-card:nth-child(2n) {
        border-left: 0;
    }

    .admin-workbench-grid .admin-workbench-card:nth-last-child(-n+3) {
        border-bottom: 1px solid rgba(24, 43, 86, 0.08);
    }

    .admin-workbench-grid .admin-workbench-card:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

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

    .admin-workbench-grid .admin-workbench-card {
        border-left: 0 !important;
        border-bottom: 1px solid rgba(24, 43, 86, 0.08) !important;
    }

    .admin-workbench-grid .admin-workbench-card:last-child {
        border-bottom: 0 !important;
    }
}

/* Profile stat cards: keep all account roles in one close color family and preserve contrast on hover. */
.profile-page-shell .panel-stat-grid .panel-stat-card,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-purple,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-indigo,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-pink,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-violet,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(37, 99, 235, 0.24);
    background:
        radial-gradient(circle at 16% 12%, rgba(37, 99, 235, 0.34), transparent 34%),
        linear-gradient(145deg, #132447 0%, #1b3566 58%, #244179 100%);
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(16, 29, 59, 0.16);
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(2n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    background:
        radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.38), transparent 35%),
        linear-gradient(145deg, #172b54 0%, #234573 62%, #2f5d88 100%);
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(3n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green {
    background:
        radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.32), transparent 35%),
        linear-gradient(145deg, #101d3b 0%, #203b6e 58%, #3d5f92 100%);
}

.profile-page-shell .panel-stat-grid .panel-stat-card::after {
    content: "";
    position: absolute;
    inset: auto -42px -52px auto;
    width: 138px;
    height: 138px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    pointer-events: none;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:hover {
    transform: translateY(-4px);
    border-color: rgba(37, 99, 235, 0.46);
    background:
        radial-gradient(circle at 16% 12%, rgba(37, 99, 235, 0.42), transparent 34%),
        linear-gradient(145deg, #0f1d3d 0%, #1f3b70 58%, #2b518c 100%);
    box-shadow: 0 22px 44px rgba(16, 29, 59, 0.24);
    color: #ffffff;
}

.profile-page-shell .panel-stat-grid .panel-stat-card span,
.profile-page-shell .panel-stat-grid .panel-stat-card strong,
.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover span,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover strong,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    position: relative;
    z-index: 1;
    color: #ffffff;
    opacity: 1;
}

.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    color: rgba(255, 246, 223, 0.86);
}

/* Account/profile polish overrides */
.edu-navbar .edu-navbar-user {
    gap: 10px !important;
    align-items: center !important;
}

.edu-navbar .edu-account-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 260px;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(219, 234, 254, 0.72)) !important;
    border: 1px solid rgba(24, 43, 86, 0.1) !important;
    box-shadow: 0 10px 24px rgba(16, 29, 59, 0.08) !important;
}

.edu-navbar .edu-account-chip .edu-user-avatar {
    flex: 0 0 34px !important;
}

.edu-navbar .edu-account-chip .edu-user-meta {
    min-width: 0 !important;
    align-items: flex-start !important;
}

.edu-navbar .edu-user-name-row {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
    white-space: nowrap !important;
}

.edu-navbar .edu-account-chip .edu-user-label {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 126px !important;
    min-height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--primary-deep) !important;
    font-weight: 900 !important;
}

.edu-navbar .edu-account-chip .edu-user-logout {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 0 9px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    border: 1px solid #d7dce3 !important;
    color: var(--primary) !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.edu-navbar .edu-account-chip .edu-user-logout:hover,
.edu-navbar .edu-account-chip .edu-user-logout:focus-visible {
    background: var(--primary) !important;
    color: var(--accent) !important;
}

.profile-page-shell > .profile-school-shell:first-of-type {
    gap: 18px !important;
}

.profile-management-card,
.profile-details-card,
.profile-form-card {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 24px !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at 8% 0%, rgba(37, 99, 235, 0.28), transparent 28%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 240, 0.9)) !important;
    border: 1px solid rgba(24, 43, 86, 0.09) !important;
    box-shadow: 0 18px 38px rgba(16, 29, 59, 0.08) !important;
}

.profile-management-card .panel-section-head,
.profile-details-card .panel-section-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
}

.profile-management-card .panel-section-head h3,
.profile-details-card .panel-section-head h3 {
    margin: 0 !important;
}

.profile-management-card .panel-section-head p,
.profile-details-card .panel-section-head p {
    margin: 0 !important;
    color: var(--muted) !important;
}

.profile-management-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.profile-management-link {
    display: grid !important;
    grid-template-rows: auto auto 1fr !important;
    gap: 7px !important;
    min-height: 116px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.24), transparent 34%),
        linear-gradient(145deg, #132447 0%, #1f3b70 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(37, 99, 235, 0.24) !important;
    box-shadow: 0 12px 26px rgba(16, 29, 59, 0.14) !important;
}

.profile-management-link:nth-child(even) {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(145deg, #17315c 0%, #2b5185 100%) !important;
}

.profile-management-link:hover,
.profile-management-link:focus-visible {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 36px rgba(16, 29, 59, 0.22) !important;
}

.profile-management-link span {
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    font-size: 1.1rem !important;
}

.profile-management-link strong {
    font-size: 0.98rem !important;
}

.profile-management-link strong,
.profile-management-link small {
    color: inherit !important;
}

.profile-management-link small {
    opacity: 0.78 !important;
    line-height: 1.55 !important;
    font-size: 0.82rem !important;
}

.profile-details-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.profile-details-grid > div {
    display: grid !important;
    gap: 8px !important;
    padding: 15px 16px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(24, 43, 86, 0.09) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.52) !important;
}

.profile-details-grid span {
    color: var(--muted) !important;
    font-size: 0.86rem !important;
}

.profile-details-grid strong {
    color: var(--primary-deep) !important;
    direction: ltr !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

.profile-edit-grid .field-wrap.full,
.profile-edit-grid .field-wrap:has(textarea) {
    grid-column: 1 / -1 !important;
}

@media (max-width: 980px) {
    .profile-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .profile-management-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .edu-navbar .edu-account-chip {
        max-width: 100% !important;
    }

    .profile-management-card .panel-section-head,
    .profile-details-card .panel-section-head {
        display: grid !important;
    }

    .profile-management-grid,
    .profile-details-grid,
    .profile-edit-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Profile cleanup: remove repeated identity banners and keep dashboard action in the account menu. */
.profile-page-shell {
    padding-top: 18px;
}

.profile-section-head-actions {
    align-items: center !important;
}

.profile-dashboard-link {
    min-height: 42px !important;
    padding: 0 18px !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(37, 99, 235, 0.45)) !important;
    border: 1px solid rgba(24, 43, 86, 0.1) !important;
    color: var(--primary-deep) !important;
    box-shadow: 0 10px 22px rgba(16, 29, 59, 0.08) !important;
    white-space: nowrap !important;
}

.profile-dashboard-link:hover,
.profile-dashboard-link:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 28px rgba(16, 29, 59, 0.12) !important;
}

@media (max-width: 760px) {
    .profile-section-head-actions {
        gap: 12px !important;
    }

    .profile-dashboard-link {
        width: 100% !important;
    }
}

/* Profile finance section */
.profile-finance-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 8% 0%, rgba(37, 99, 235, 0.28), transparent 28%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 240, 0.9));
    border: 1px solid rgba(24, 43, 86, 0.09);
    box-shadow: 0 18px 38px rgba(16, 29, 59, 0.08);
}

.profile-finance-card .panel-section-head {
    margin-bottom: 18px;
}

.profile-finance-card .panel-section-head h3,
.profile-finance-card .panel-section-head p {
    margin: 0;
}

.profile-finance-card .panel-section-head p {
    margin-top: 8px;
    color: var(--muted);
}

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

.profile-finance-summary article {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(145deg, #132447 0%, #1f3b70 100%);
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(16, 29, 59, 0.14);
}

.profile-finance-summary span {
    color: rgba(255, 246, 223, 0.78);
}

.profile-finance-summary strong {
    color: #ffffff;
    font-size: 1.25rem;
}

.profile-wallet-charge-form {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(180px, 260px) minmax(180px, 260px) minmax(180px, 260px) auto;
    align-items: end;
    gap: 12px;
    margin: 0 0 18px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(24, 43, 86, 0.08);
}

.finance-bank-card {
    display: grid;
    gap: 5px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #d7dce3;
}

.finance-bank-card span,
.finance-bank-card small {
    color: var(--muted);
}

.finance-bank-card strong,
.bank-card-number {
    direction: ltr;
    text-align: left;
    letter-spacing: 2px;
    color: var(--primary-deep);
}

.profile-wallet-charge-form .field-wrap {
    display: grid;
    gap: 8px;
}

.profile-finance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.profile-finance-panel {
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(24, 43, 86, 0.08);
}

.profile-finance-panel.finance-wide {
    grid-column: 1 / -1;
}

.profile-finance-panel h4 {
    margin: 0;
    color: var(--primary-deep);
}

.finance-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(24, 43, 86, 0.08);
}

.finance-panel-heading > div:first-child {
    display: grid;
    gap: 5px;
}

.finance-panel-heading p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.finance-status-panel {
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: inset 4px 0 0 rgba(37, 99, 235, 0.75);
}

.finance-status-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.finance-status-summary span,
.finance-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: max-content;
    padding: 5px 10px;
    border: 1px solid rgba(24, 43, 86, 0.13);
    border-radius: 7px;
    background: #f4f5f7;
    color: #465269;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.finance-status-summary strong {
    color: var(--primary-deep);
}

.finance-status-badge.status-paid {
    border-color: rgba(22, 163, 74, 0.32);
    background: #f0fdf4;
    color: #166534;
}

.finance-status-badge.status-pending {
    border-color: rgba(24, 43, 86, 0.25);
    background: #f2f5fa;
    color: var(--primary-deep);
}

.finance-status-badge.status-failed {
    border-color: rgba(128, 45, 52, 0.25);
    background: #fbf4f4;
    color: #802d34;
}

.profile-finance-list {
    display: grid;
    gap: 10px;
}

.profile-finance-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(24, 43, 86, 0.08);
}

.profile-finance-row:last-child {
    border-bottom: 0;
}

.profile-finance-row div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.profile-finance-row strong {
    color: #132447;
    overflow-wrap: anywhere;
}

.profile-finance-row small,
.profile-finance-empty {
    color: var(--muted);
}

.profile-finance-row > span {
    flex: 0 0 auto;
    font-weight: 900;
    color: var(--primary-deep);
}

.profile-finance-row > span.finance-credit {
    color: #15803d;
}

.profile-finance-row > span.finance-debit {
    color: #b91c1c;
}

.profile-finance-row > span.finance-status-badge {
    color: #465269;
}

.profile-finance-row > span.finance-status-badge.status-paid {
    color: #765815;
}

.profile-finance-row > span.finance-status-badge.status-pending {
    color: var(--primary-deep);
}

.profile-finance-row > span.finance-status-badge.status-failed {
    color: #802d34;
}

@media (max-width: 980px) {
    .profile-finance-summary,
    .profile-finance-grid {
        grid-template-columns: 1fr;
    }

    .profile-finance-panel.finance-wide {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .profile-wallet-charge-form {
        grid-template-columns: 1fr;
    }

    .finance-panel-heading,
    .profile-finance-row {
        align-items: stretch;
        flex-direction: column;
    }
}


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

.earning-referral-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.earning-referral-box > div {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #d7dce3;
}

.earning-referral-box span {
    color: var(--muted);
}

.earning-referral-box strong {
    color: var(--primary-deep);
}

.earning-settlement-form {
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

@media (max-width: 980px) {
    .earning-summary-grid,
    .earning-referral-box,
    .earning-settlement-form {
        grid-template-columns: 1fr;
    }
}

/* Homepage redesign from provided assets */
.guest-home-v2 {
    width: min(1280px, calc(100% - 32px));
    gap: 48px;
}

.home-hero-slider {
    position: relative;
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 18px max(16px, calc((100vw - 1280px) / 2 + 16px));
    overflow: hidden;
}

.home-hero-track {
    position: relative;
    min-height: clamp(220px, 36vw, 468px);
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 26px 58px rgba(15, 23, 42, 0.12);
}

.home-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.025);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.home-hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}

.home-hero-slide img,
.home-image-section img,
.home-consult-cta img,
.home-footer-image img,
.guest-testimonials-v2 .guest-home-section-head img {
    display: block;
    width: 100%;
    height: auto;
}

.home-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #1d4ed8;
    font-size: 1.7rem;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.home-slider-prev { right: max(24px, calc((100vw - 1280px) / 2 + 24px)); }
.home-slider-next { left: max(24px, calc((100vw - 1280px) / 2 + 24px)); }

.home-slider-dots {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 34px;
    z-index: 5;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.home-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.62);
    cursor: pointer;
}

.home-slider-dots button.is-active {
    width: 28px;
    background: #2154ff;
}

.home-product-section {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 28px;
    border-radius: 32px;
    background: #fff;
}

.home-product-head {
    align-items: flex-start;
}

.home-product-head h2 {
    font-size: 24px;
    line-height: 32px;
    color: #13183f;
}

.home-product-head p {
    margin: 8px 0 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 22px;
}

.home-product-head .guest-home-tabs {
    justify-content: flex-start;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 6px;
}

.home-slider-shell {
    position: relative;
}

.home-slider-controls {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.home-slider-controls button {
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    background: #fff;
    color: #2154ff;
    font-size: 1.4rem;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.home-product-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(270px, 1fr);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 2px 2px 14px;
}

.home-product-card {
    display: grid;
    gap: 12px;
    min-height: 240px;
    padding: 16px 16px 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #f3f4f6;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
    scroll-snap-align: start;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.home-product-card.is-hidden-by-filter { display: none; }

.home-product-card:hover {
    transform: translateY(-3px);
    background: #071b4d;
    border-color: #163a79;
    box-shadow: 0 20px 40px rgba(7, 27, 77, 0.24);
}

.home-product-card-top,
.home-product-price-row,
.home-product-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.home-product-card-top > span,
.home-product-bottom-row > span {
    padding: 4px 10px;
    border-radius: 10px;
    background: #f9fafb;
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
}

.home-product-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, #4f46e5, #1d4ed8);
}

.home-product-question-bank .home-product-icon { background: linear-gradient(135deg, #0ea5e9, #10b981); }
.home-product-learning .home-product-icon { background: var(--primary); }

.home-product-card h3 {
    margin: 0;
    color: #111827;
    font-size: 14px;
    line-height: 22px;
    font-weight: 900;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.18s ease;
}

.home-product-card p {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.18s ease;
}

.home-product-price-row strong {
    color: #111827;
    font-size: 14px;
    font-weight: 900;
    transition: color 0.18s ease;
}

.home-product-price-row small {
    margin-left: 8px;
    color: #9ca3af;
    font-size: 12px;
    text-decoration: line-through;
    transition: color 0.18s ease;
}

.home-discount-badge {
    display: inline-flex;
    padding: 3px 8px;
    border-radius: 10px;
    background: #ecfdf3;
    color: #16a34a;
    font-size: 11px;
    font-weight: 800;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.home-product-bottom-row .guest-inline-btn {
    min-width: 112px;
    height: 40px;
    padding: 0 18px;
    border-radius: 10px;
    background: #1d4ed8;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
    font-size: 13px;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.home-product-card-top > span,
.home-product-bottom-row > span,
.home-product-icon {
    transition: color 0.18s ease, background 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.home-product-card:hover .home-product-card-top > span,
.home-product-card:hover .home-product-bottom-row > span,
.home-product-card:hover h3,
.home-product-card:hover p,
.home-product-card:hover .home-product-price-row strong,
.home-product-card:hover .home-product-price-row small,
.home-product-card:hover .home-discount-badge,
.home-product-card:hover .guest-inline-btn {
    color: #2563eb;
}

.home-product-card:hover .home-product-card-top > span,
.home-product-card:hover .home-product-bottom-row > span,
.home-product-card:hover .home-discount-badge {
    background: rgba(37, 99, 235, 0.12);
}

.home-product-card:hover .home-product-icon {
    background: #2563eb;
    color: #071b4d;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28);
}

.home-product-card:hover .home-product-bottom-row .guest-inline-btn {
    background: #2563eb;
    color: #071b4d;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28);
}

.home-image-section,
.home-consult-cta,
.home-footer-image {
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.home-panel-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 18px;
}

.home-panel-cards button {
    border: 0;
    background: transparent;
    cursor: pointer;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.home-consult-cta {
    position: relative;
}

.home-consult-cta .guest-home-btn {
    position: absolute;
    right: 8%;
    bottom: 12%;
}

.guest-testimonials-v2 .guest-home-section-head {
    grid-template-columns: 1fr minmax(220px, 360px);
}

.consult-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.5);
}

.tools-trial-modal {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: none;
    width: 100vw;
    height: 100vh;
    place-items: center;
    padding: 20px;
    background: rgba(3, 10, 24, 0.68);
    overflow: hidden;
}

.tools-trial-modal[hidden] { display: none !important; }
.tools-trial-modal.is-visible { display: grid; }

.tools-trial-modal-card {
    position: relative;
    width: min(640px, 100%);
    padding: 24px 28px 20px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 50% 100%, rgba(96, 165, 250, 0.1), transparent 36%),
        linear-gradient(180deg, rgba(12, 24, 58, 0.88), rgba(6, 14, 36, 0.92));
    backdrop-filter: blur(20px) saturate(115%);
    -webkit-backdrop-filter: blur(20px) saturate(115%);
    color: #fff;
    text-align: center;
    box-shadow: 0 28px 80px rgba(2, 6, 23, 0.5);
    border: 1px solid rgba(96, 165, 250, 0.34);
}

.tools-trial-modal-card::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 24px;
    border: 1px solid rgba(96, 165, 250, 0.14);
    pointer-events: none;
}

.tools-trial-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}

.tools-trial-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto 6px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    color: #60a5fa;
    font-size: 36px;
    font-weight: 900;
}

.tools-trial-brand {
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.5px;
}

.tools-trial-kicker {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
}

.tools-trial-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 16px auto 18px;
    color: #60a5fa;
}

.tools-trial-divider span {
    width: 120px;
    max-width: 28vw;
    height: 1px;
    background: rgba(96, 165, 250, 0.42);
}

.tools-trial-divider i {
    font-style: normal;
    font-size: 16px;
}

.tools-trial-modal-card h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3.8vw, 48px);
    line-height: 1.55;
    font-weight: 900;
    letter-spacing: -1px;
}

.tools-trial-modal-card h3 span {
    color: #60a5fa;
}

.tools-trial-description {
    margin: 14px auto 0;
    max-width: 500px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 16px;
    line-height: 1.85;
}

.tools-trial-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 22px;
}

.tools-trial-btn {
    min-height: 64px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 18px;
    text-decoration: none;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
}

.tools-trial-btn-primary {
    border: 0;
    color: #ffffff;
    background: linear-gradient(180deg, #3b82f6, #1d4ed8);
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.3);
}

.tools-trial-btn-secondary {
    border: 2px solid rgba(96, 165, 250, 0.72);
    color: #60a5fa;
    background: transparent;
}

.tools-trial-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.tools-trial-features article {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: right;
    justify-content: center;
}

.tools-trial-features i {
    color: #60a5fa;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
}

.tools-trial-features strong {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.tools-trial-features span {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
}

.consult-modal[hidden] { display: none; }

.consult-modal-card {
    position: relative;
    width: min(440px, 100%);
    padding: 28px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.24);
}

.consult-modal-close {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    cursor: pointer;
}

.consult-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.profile-avatar-preview {
    width: 110px;
    height: 110px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 32px;
    overflow: hidden;
    background: linear-gradient(135deg, #182b56, #254785);
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14);
}

.profile-avatar-preview img,
.school-summary-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 900px) {
    .home-product-head,
    .guest-testimonials-v2 .guest-home-section-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .home-product-head .guest-home-tabs {
        max-width: 100%;
        justify-content: flex-start;
    }

    .home-product-row {
        grid-template-columns: unset;
        grid-auto-columns: minmax(260px, 78vw);
    }

    .home-panel-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .guest-home-v2 { width: min(100% - 18px, 1280px); }
    .home-hero-track { min-height: 160px; border-radius: 20px; }
    .home-slider-arrow { width: 36px; height: 36px; }
    .home-product-section { padding: 28px 14px; }
    .home-consult-cta .guest-home-btn { position: static; margin: 14px; }
}

/* Homepage v3: real interactive layout matching provided reference */
.guest-home-v3 {
    width: min(1180px, calc(100% - 32px));
    gap: 34px;
}

.home-hero-v3 {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 28px;
    align-items: center;
    padding: 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #ffffff 0%, #f6f9ff 55%, #fff7e7 100%);
    box-shadow: 0 22px 54px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(226, 232, 240, 0.8);
}

.home-hero-copy-v3,
.home-video-copy-v3,
.home-why-copy-v3,
.home-consult-v3 > div {
    display: grid;
    gap: 16px;
}

.home-hero-copy-v3 h1,
.home-why-copy-v3 h2,
.home-video-copy-v3 h2,
.home-consult-v3 h2 {
    margin: 0;
    color: #10183f;
    line-height: 1.45;
}

.home-hero-copy-v3 h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
.home-hero-copy-v3 p,
.home-why-copy-v3 p,
.home-video-copy-v3 p,
.home-consult-v3 p { margin: 0; color: #64748b; line-height: 2; }

.home-hero-actions-v3 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.home-hero-metrics-v3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.home-hero-metrics-v3 article,
.home-stats-v3 article {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.home-hero-metrics-v3 strong,
.home-stats-v3 strong { color: #1d4ed8; font-size: 1.35rem; }
.home-hero-metrics-v3 span,
.home-stats-v3 span { color: #6b7280; font-weight: 800; }

.home-hero-visual-v3 { position: relative; }
.home-hero-v3 .home-hero-track { min-height: 330px; border-radius: 28px; }
.home-hero-v3 .home-slider-prev { right: 14px; }
.home-hero-v3 .home-slider-next { left: 14px; }
.home-hero-v3 .home-slider-dots { bottom: 14px; }

.home-panels-v3,
.home-why-v3,
.home-success-tools-v3,
.home-video-v3,
.home-advantages-v3,
.home-faq-v3,
.guest-testimonials-v3 {
    background: #fff;
}

.home-panel-grid-v3,
.home-tool-grid-v3,
.home-advantage-grid-v3,
.home-faq-grid-v3,
.guest-testimonial-row {
    display: grid;
    gap: 16px;
}

.home-panel-grid-v3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-panel-grid-v3 a {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(180deg, #f8fbff, #fff);
    border: 1px solid #e5e7eb;
    color: #10183f;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}
.home-panel-grid-v3 img { width: 100%; border-radius: 18px; }
.home-panel-grid-v3 strong { font-size: 1.08rem; }
.home-panel-grid-v3 span { color: #64748b; }

.home-why-v3,
.home-video-v3,
.home-consult-v3 {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 24px;
    align-items: center;
}

.home-why-cards-v3,
.home-tool-grid-v3,
.home-advantage-grid-v3 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-why-cards-v3 {
    display: grid;
    gap: 14px;
}
.home-why-cards-v3 article,
.home-tool-grid-v3 a,
.home-advantage-grid-v3 article,
.home-faq-grid-v3 details {
    display: grid;
    gap: 10px;
    padding: 18px;
    border-radius: 22px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    color: #10183f;
}
.home-why-cards-v3 article { background: #ffffff; }
.home-why-cards-v3 p,
.home-tool-grid-v3 p,
.home-advantage-grid-v3 p,
.home-faq-grid-v3 p { margin: 0; color: #64748b; line-height: 1.9; }
.home-tool-grid-v3 span { font-size: 2rem; }
.home-advantage-grid-v3 span { color: #2154ff; font-weight: 900; }

.home-video-frame-v3 {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    min-height: 330px;
    background: #08142c;
    box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16);
}
.home-video-frame-v3 video,
.home-video-frame-v3 img { width: 100%; height: 100%; display: block; object-fit: cover; }
.home-video-frame-v3 button { width: 100%; height: 100%; padding: 0; border: 0; cursor: pointer; background: transparent; }
.home-video-frame-v3 button span {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(29, 78, 216, 0.92);
    color: #fff;
    font-size: 1.8rem;
    box-shadow: 0 18px 38px rgba(29, 78, 216, 0.35);
}

.home-stats-v3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: linear-gradient(135deg, #10183f, #0f3c88);
}
.home-stats-v3 article { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.16); }
.home-stats-v3 strong,
.home-stats-v3 span { color: #fff; }

.home-faq-grid-v3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-faq-grid-v3 summary { cursor: pointer; font-weight: 900; color: #10183f; }

.guest-testimonials-v3 .guest-home-section-head { align-items: center; }
.guest-testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.site-testimonial-form { display: grid; gap: 14px; }
.site-testimonial-form textarea { width: 100%; }

.home-consult-v3 {
    padding: 28px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid #d7dce3;
}

.home-footer-v3 {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
    gap: 22px;
    padding: 34px;
    border-radius: 34px 34px 0 0;
    background: #061733;
    color: #dbeafe;
}
.home-footer-v3 img { width: 150px; border-radius: 16px; background: #fff; }
.home-footer-v3 h3 { margin: 0 0 12px; color: #fff; }
.home-footer-v3 a,
.home-footer-v3 span,
.home-footer-v3 p { display: block; color: #bfdbfe; line-height: 2; }
.home-footer-brand-v3 { display: grid; gap: 14px; }

@media (max-width: 960px) {
    .home-hero-v3,
    .home-why-v3,
    .home-video-v3,
    .home-consult-v3,
    .home-footer-v3 { grid-template-columns: 1fr; }
    .home-panel-grid-v3,
    .home-why-cards-v3,
    .home-tool-grid-v3,
    .home-advantage-grid-v3,
    .home-stats-v3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .home-hero-v3 { padding: 18px; }
    .home-hero-v3 .home-hero-track { min-height: 210px; }
    .home-hero-metrics-v3,
    .home-panel-grid-v3,
    .home-why-cards-v3,
    .home-tool-grid-v3,
    .home-advantage-grid-v3,
    .home-stats-v3,
    .home-faq-grid-v3 { grid-template-columns: 1fr; }
}

/* Reference homepage exact-style pass */
.home-reference-page {
    width: min(1060px, calc(100% - 32px));
    margin: 0 auto;
    display: grid;
    gap: 34px;
    color: #111827;
}

.home-reference-hero {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 20px;
    align-items: center;
    min-height: 265px;
    padding: 26px 30px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #eef2ff;
    box-shadow: 0 20px 45px rgba(30, 64, 175, 0.08);
}

.home-reference-hero-copy { display: grid; gap: 12px; }
.home-reference-hero-copy span,
.home-reference-head span,
.home-reference-video-copy span,
.home-reference-consult span { color: #1d4ed8; font-weight: 900; font-size: 0.82rem; }
.home-reference-hero-copy h1 { margin: 0; color: #13183f; font-size: 1.85rem; line-height: 1.75; font-weight: 950; }
.home-reference-hero-copy p { margin: 0; color: #6b7280; line-height: 2; font-size: 0.95rem; }
.home-reference-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.home-reference-actions a,
.home-reference-comment-link,
.home-reference-consult button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #1d4ed8;
    font-weight: 900;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
    cursor: pointer;
}
.home-reference-actions a:nth-child(2) { color: #1d4ed8; background: #eff6ff; box-shadow: none; }

.home-reference-hero-media { position: relative; }
.home-reference-hero .home-hero-track { min-height: 225px; border-radius: 20px; box-shadow: none; }
.home-reference-hero .home-slider-arrow { width: 34px; height: 34px; font-size: 1.2rem; }
.home-reference-hero .home-slider-prev { right: 8px; }
.home-reference-hero .home-slider-next { left: 8px; }
.home-reference-hero .home-slider-dots { bottom: 10px; }

.home-reference-section,
.home-product-section {
    max-width: 1060px;
    margin: 0 auto;
    padding: 42px 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.home-reference-head,
.home-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.home-reference-head > div,
.home-product-head > div:first-child { display: grid; gap: 8px; }
.home-reference-head h2,
.home-product-head h2 { margin: 0; color: #13183f; font-size: 24px; line-height: 32px; font-weight: 950; }
.home-reference-head p,
.home-product-head p { margin: 0; color: #6b7280; font-size: 14px; line-height: 22px; }
.home-product-head .guest-home-tabs { max-width: 100%; justify-content: flex-start; gap: 6px; }

.home-reference-panel-list { display: grid; gap: 16px; }
.home-reference-panel-list a {
    display: grid;
    grid-template-columns: 42% 1fr;
    gap: 18px;
    align-items: center;
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #eef2ff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
    color: #111827;
}
.home-reference-panel-list a:nth-child(even) { grid-template-columns: 1fr 42%; }
.home-reference-panel-list a:nth-child(even) img { order: 2; }
.home-reference-panel-list img { width: 100%; border-radius: 18px; }
.home-reference-panel-list div { display: grid; gap: 8px; }
.home-reference-panel-list strong { color: #13183f; font-size: 1.2rem; }
.home-reference-panel-list span { color: #6b7280; line-height: 2; }

.home-reference-why-grid,
.home-reference-tool-grid,
.home-reference-advantage-grid,
.home-reference-testimonial-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.home-reference-why-grid article,
.home-reference-tool-grid a,
.home-reference-advantage-grid article,
.home-reference-testimonial-row article,
.home-reference-faq-list details {
    display: grid;
    gap: 9px;
    padding: 18px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #eef2ff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
    color: #111827;
}
.home-reference-why-grid article > span,
.home-reference-tool-grid a > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: #eff6ff; color: #1d4ed8; font-size: 1.35rem; }
.home-reference-why-grid strong,
.home-reference-tool-grid strong,
.home-reference-advantage-grid strong { color: #13183f; }
.home-reference-why-grid p,
.home-reference-tool-grid p,
.home-reference-advantage-grid p,
.home-reference-testimonial-row p,
.home-reference-faq-list p { margin: 0; color: #6b7280; line-height: 1.9; font-size: 0.88rem; }

.home-reference-video {
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    gap: 24px;
    align-items: center;
}
.home-reference-video-copy { display: grid; gap: 12px; }
.home-reference-video-copy h2 { margin: 0; color: #13183f; font-size: 24px; }
.home-reference-video-copy p { margin: 0; color: #6b7280; line-height: 2; }
.home-reference-video-frame { position: relative; overflow: hidden; min-height: 305px; border-radius: 26px; background: #0b1740; box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16); }
.home-reference-video-frame video,
.home-reference-video-frame img { width: 100%; height: 100%; display: block; object-fit: cover; }
.home-reference-video-frame button { width: 100%; height: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.home-reference-video-frame button span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: #1d4ed8; color: #fff; font-size: 1.8rem; box-shadow: 0 16px 32px rgba(29, 78, 216, 0.35); }

.home-reference-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    max-width: 1060px;
    margin: 0 auto;
    padding: 28px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fbff, #fff);
    border: 1px solid #eef2ff;
}
.home-reference-stats article { display: grid; place-items: center; gap: 6px; padding: 14px; border-radius: 18px; background: #fff; }
.home-reference-stats strong { color: #1d4ed8; font-size: 1.7rem; }
.home-reference-stats span { color: #6b7280; font-weight: 900; }

.home-reference-faq-list { display: grid; gap: 12px; }
.home-reference-faq-list details { padding: 16px 18px; }
.home-reference-faq-list summary { cursor: pointer; color: #13183f; font-weight: 950; }

.home-reference-testimonial-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-reference-comment-link { width: fit-content; margin-top: 18px; }

.home-reference-consult {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    max-width: 1060px;
    margin: 0 auto;
    padding: 26px 30px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #d7dce3;
}
.home-reference-consult h2 { margin: 6px 0; color: #13183f; }
.home-reference-consult p { margin: 0; color: #6b7280; }

.home-reference-footer {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 42px max(24px, calc((100vw - 1060px) / 2 + 24px));
    background: #061733;
    color: #dbeafe;
}
.home-reference-footer img { width: 138px; border-radius: 14px; background: #fff; }
.home-reference-footer h3 { margin: 0 0 12px; color: #fff; }
.home-reference-footer a,
.home-reference-footer span,
.home-reference-footer p { display: block; color: #bfdbfe; line-height: 2.05; }
.home-reference-footer-brand { display: grid; gap: 12px; }

@media (max-width: 900px) {
    .home-reference-hero,
    .home-reference-video,
    .home-reference-footer { grid-template-columns: 1fr; }
    .home-reference-why-grid,
    .home-reference-tool-grid,
    .home-reference-advantage-grid,
    .home-reference-stats,
    .home-reference-testimonial-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-reference-head,
    .home-product-head { display: grid; }
    .home-product-head .guest-home-tabs { max-width: 100%; justify-content: flex-start; }
}
@media (max-width: 560px) {
    .home-reference-page { width: min(100% - 18px, 1060px); }
    .home-reference-hero { padding: 18px; }
    .home-reference-hero .home-hero-track { min-height: 190px; }
    .home-reference-panel-list a,
    .home-reference-panel-list a:nth-child(even),
    .home-reference-why-grid,
    .home-reference-tool-grid,
    .home-reference-advantage-grid,
    .home-reference-stats,
    .home-reference-testimonial-row { grid-template-columns: 1fr; }
    .home-reference-panel-list a:nth-child(even) img { order: initial; }
    .home-reference-consult { display: grid; }
}

/* Exact homepage layout requested */
.home-exact {
    width: min(1060px, calc(100% - 32px));
    margin: 0 auto;
    display: grid;
    gap: 44px;
    color: #111827;
}
.home-exact-hero {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    align-items: center;
    gap: 22px;
    padding: 26px 30px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #edf2ff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}
.home-exact-hero-copy { display: grid; gap: 13px; }
.home-exact-hero-copy span,
.home-exact-section header span,
.home-exact-video > div > span,
.home-exact-consult span { color: #1d4ed8; font-size: 0.82rem; font-weight: 900; }
.home-exact-hero-copy h1 { margin: 0; color: #13183f; font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.65; font-weight: 950; }
.home-exact-hero-copy p { margin: 0; color: #6b7280; line-height: 2; font-size: 0.95rem; }
.home-exact-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.home-exact-hero-actions a,
.home-exact-testimonials > a,
.home-exact-consult button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 38px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    background: #1d4ed8;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
}
.home-exact-hero-actions a:nth-child(2) { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.home-exact-hero-slider { position: relative; }
.home-exact-hero .home-hero-track { min-height: 232px; border-radius: 20px; box-shadow: none; }
.home-exact-hero .home-slider-arrow { width: 34px; height: 34px; font-size: 1.15rem; }
.home-exact-hero .home-slider-prev { right: 8px; }
.home-exact-hero .home-slider-next { left: 8px; }
.home-exact-hero .home-slider-dots { bottom: 10px; }

.home-exact .home-product-section,
.home-exact-section {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.home-exact .home-product-section { padding-top: 4px; }
.home-exact-section header,
.home-exact .home-product-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}
.home-exact-section header h2,
.home-exact .home-product-head h2 { margin: 0; color: #13183f; font-size: 24px; line-height: 32px; font-weight: 950; }
.home-exact-section header p,
.home-exact .home-product-head p { margin: 8px 0 0; color: #6b7280; font-size: 14px; line-height: 22px; }
.home-exact .home-product-head .guest-home-tabs { max-width: 100%; justify-content: flex-start; gap: 6px; }

.home-exact-panel-flow { display: grid; gap: 16px; }
.home-exact-panel-flow a {
    display: grid;
    grid-template-columns: 42% 1fr;
    align-items: center;
    gap: 18px;
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #eef2ff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
    color: #111827;
}
.home-exact-panel-flow a:nth-child(2) { grid-template-columns: 1fr 42%; }
.home-exact-panel-flow img { width: 100%; border-radius: 18px; display: block; }
.home-exact-panel-flow div { display: grid; gap: 8px; }
.home-exact-panel-flow strong { color: #13183f; font-size: 1.16rem; }
.home-exact-panel-flow p { margin: 0; color: #6b7280; line-height: 2; }

.home-exact-why-grid,
.home-exact-tools > div,
.home-exact-advantages > div,
.home-exact-testimonials > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.home-exact-why-grid article,
.home-exact-tools a,
.home-exact-advantages article,
.home-exact-testimonials article,
.home-exact-faq details {
    display: grid;
    gap: 9px;
    padding: 18px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #eef2ff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
    color: #111827;
}
.home-exact-why-grid i,
.home-exact-tools b { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: #eff6ff; color: #1d4ed8; font-style: normal; font-size: 1.35rem; }
.home-exact-why-grid strong,
.home-exact-tools strong,
.home-exact-advantages strong { color: #13183f; }
.home-exact-why-grid p,
.home-exact-tools p,
.home-exact-advantages p,
.home-exact-testimonials p,
.home-exact-faq p { margin: 0; color: #6b7280; line-height: 1.9; font-size: 0.88rem; }

.home-exact-video {
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    gap: 24px;
    align-items: center;
}
.home-exact-video > div:first-child { display: grid; gap: 12px; }
.home-exact-video h2 { margin: 0; color: #13183f; font-size: 24px; }
.home-exact-video p { margin: 0; color: #6b7280; line-height: 2; }
.home-exact-video-box { position: relative; overflow: hidden; min-height: 305px; border-radius: 26px; background: #08142c; box-shadow: 0 22px 52px rgba(15, 23, 42, 0.16); }
.home-exact-video-box video,
.home-exact-video-box img { width: 100%; height: 100%; display: block; object-fit: cover; }
.home-exact-video-box button { width: 100%; height: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.home-exact-video-box em { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: #1d4ed8; color: #fff; font-style: normal; font-size: 1.8rem; box-shadow: 0 16px 32px rgba(29, 78, 216, 0.35); }

.home-exact-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    padding: 28px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fbff, #fff);
    border: 1px solid #eef2ff;
}
.home-exact-stats article { display: grid; place-items: center; gap: 6px; padding: 14px; border-radius: 18px; background: #fff; }
.home-exact-stats strong { color: #1d4ed8; font-size: 1.7rem; }
.home-exact-stats span { color: #6b7280; font-weight: 900; }
.home-exact-faq > div { display: grid; gap: 12px; }
.home-exact-faq summary { cursor: pointer; color: #13183f; font-weight: 950; }
.home-exact-testimonials > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-exact-testimonials small { color: #1d4ed8; font-weight: 800; }
.home-exact-testimonials > a { width: fit-content; margin-top: 18px; }

.home-exact-consult {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
    padding: 26px 30px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #d7dce3;
}
.home-exact-consult h2 { margin: 6px 0; color: #13183f; }
.home-exact-consult p { margin: 0; color: #6b7280; }
.home-exact-footer {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 42px max(24px, calc((100vw - 1060px) / 2 + 24px));
    background: #061733;
    color: #dbeafe;
}
.home-exact-footer img { width: 138px; border-radius: 14px; background: #fff; }
.home-exact-footer h3 { margin: 0 0 12px; color: #fff; }
.home-exact-footer a,
.home-exact-footer span,
.home-exact-footer p { display: block; color: #bfdbfe; line-height: 2.05; }
.home-exact-footer > div { display: grid; gap: 12px; }

@media (max-width: 900px) {
    .home-exact-hero,
    .home-exact-video,
    .home-exact-footer { grid-template-columns: 1fr; }
    .home-exact-why-grid,
    .home-exact-tools > div,
    .home-exact-advantages > div,
    .home-exact-stats,
    .home-exact-testimonials > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-exact-section header,
    .home-exact .home-product-head { display: grid; }
    .home-exact .home-product-head .guest-home-tabs { max-width: 100%; justify-content: flex-start; }
}
@media (max-width: 560px) {
    .home-exact { width: min(100% - 18px, 1060px); }
    .home-exact-hero { padding: 18px; }
    .home-exact-hero .home-hero-track { min-height: 190px; }
    .home-exact-panel-flow a,
    .home-exact-panel-flow a:nth-child(2),
    .home-exact-why-grid,
    .home-exact-tools > div,
    .home-exact-advantages > div,
    .home-exact-stats,
    .home-exact-testimonials > div { grid-template-columns: 1fr; }
    .home-exact-consult { display: grid; }
}

/* Final exact product slider spec from user */
.home-exact {
    width: min(1280px, calc(100% - 32px)) !important;
    gap: 48px !important;
}
.home-exact .home-product-section {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 48px 0 !important;
}
.home-exact .home-product-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-bottom: 16px !important;
}
.home-exact .home-product-head h2 {
    margin: 0 !important;
    color: #13183F !important;
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 950 !important;
}
.home-exact .home-product-head p {
    margin: 8px 0 0 !important;
    color: #6B7280 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
}
.home-exact .home-product-head .guest-home-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    max-width: 100% !important;
    overflow-x: visible !important;
    padding-bottom: 0 !important;
}
.home-exact .guest-home-tabs button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 16px !important;
    padding: 6px 10px !important;
    background: #F3F4F6 !important;
    color: #4B5563 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.home-exact .guest-home-tabs button.is-active {
    background: #2154FF !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
}
.home-exact .home-slider-shell {
    position: relative !important;
}
.home-exact .home-slider-controls {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}
.home-exact .home-slider-controls button {
    width: 40px !important;
    height: 40px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: #2154FF !important;
    font-size: 16px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
}
.home-exact .home-product-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(270px, 1fr) !important;
    gap: 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding: 2px 2px 14px !important;
}
.home-exact .home-product-card {
    width: 100% !important;
    min-width: 270px !important;
    min-height: 240px !important;
    display: grid !important;
    align-content: start !important;
    gap: 0 !important;
    padding: 16px 16px 14px 16px !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    border: 1px solid #F3F4F6 !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
    scroll-snap-align: start !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease !important;
}
.home-exact .home-product-card:hover {
    transform: translateY(-3px) !important;
    background: #071b4d !important;
    border-color: #163a79 !important;
    box-shadow: 0 20px 40px rgba(7, 27, 77, 0.24) !important;
}
.home-exact .home-product-card.is-hidden-by-filter {
    display: none !important;
}
.home-exact .home-product-card-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}
.home-exact .home-product-card-top > span {
    display: inline-flex !important;
    align-items: center !important;
    max-height: 22px !important;
    padding: 4px 10px !important;
    border-radius: 10px !important;
    background: #F9FAFB !important;
    color: #6B7280 !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
}
.home-exact .home-product-icon {
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 16px !important;
    color: #FFFFFF !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    background: linear-gradient(135deg, #5B5CF6, #2154FF) !important;
}
.home-exact .home-product-question-bank .home-product-icon {
    background: linear-gradient(135deg, #0EA5E9, #10B981) !important;
}
.home-exact .home-product-learning .home-product-icon {
    background: linear-gradient(135deg, #7C3AED, #F97316) !important;
}
.home-exact .home-product-card h3 {
    margin: 0 0 6px !important;
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    font-weight: 950 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.15s ease !important;
}
.home-exact .home-product-card p {
    margin: 0 !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.15s ease !important;
}
.home-exact .home-product-price-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
.home-exact .home-product-price-row strong {
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    transition: color 0.15s ease !important;
}
.home-exact .home-product-price-row small {
    margin-left: 8px !important;
    color: #9CA3AF !important;
    font-size: 12px !important;
    text-decoration: line-through !important;
    transition: color 0.15s ease !important;
}
.home-exact .home-discount-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 8px !important;
    border-radius: 10px !important;
    background: #ECFDF3 !important;
    color: #16A34A !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
.home-exact .home-product-bottom-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
.home-exact .home-product-bottom-row > span {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 10px !important;
    background: #F3F4F6 !important;
    color: #4B5563 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
.home-exact .home-product-bottom-row .guest-inline-btn {
    min-width: 112px !important;
    height: 40px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    background: #1D4ED8 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}
.home-exact .home-product-card:hover .home-product-card-top > span,
.home-exact .home-product-card:hover .home-product-bottom-row > span,
.home-exact .home-product-card:hover h3,
.home-exact .home-product-card:hover p,
.home-exact .home-product-card:hover .home-product-price-row strong,
.home-exact .home-product-card:hover .home-product-price-row small,
.home-exact .home-product-card:hover .home-discount-badge,
.home-exact .home-product-card:hover .guest-inline-btn {
    color: #2563eb !important;
}
.home-exact .home-product-card:hover .home-product-card-top > span,
.home-exact .home-product-card:hover .home-product-bottom-row > span,
.home-exact .home-product-card:hover .home-discount-badge {
    background: rgba(37, 99, 235, 0.12) !important;
}
.home-exact .home-product-card:hover .home-product-icon {
    background: #2563eb !important;
    color: #071b4d !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28) !important;
}
.home-exact .home-product-card:hover .home-product-bottom-row .guest-inline-btn {
    background: #2563eb !important;
    color: #071b4d !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28) !important;
}
.home-exact .home-product-bottom-row .guest-inline-btn:hover {
    background: #1E40AF !important;
    transform: translateY(-1px) !important;
}
@media (max-width: 900px) {
    .home-exact .home-product-head {
        display: grid !important;
    }
    .home-exact .home-product-head .guest-home-tabs {
        max-width: 100% !important;
    }
    .home-exact .home-product-row {
        grid-template-columns: repeat(3, minmax(270px, 1fr)) !important;
        grid-auto-columns: minmax(270px, 1fr) !important;
    }
}
@media (max-width: 560px) {
    .home-exact .home-product-head .guest-home-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 6px !important;
    }
    .home-exact .home-product-row {
        grid-template-columns: unset !important;
        grid-auto-columns: minmax(270px, 88vw) !important;
    }
}

/* Pixel-spec product card final override */
.home-exact .home-product-card-top > span {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6B7280 !important;
    background: #F9FAFB !important;
    padding: 4px 10px !important;
    line-height: 14px !important;
}
.home-exact .home-product-bottom-row .guest-inline-btn {
    min-width: 132px !important;
    width: 64% !important;
    max-width: 168px !important;
}
.home-exact .home-product-bottom-row > span {
    max-width: 36% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.home-exact .home-product-row::-webkit-scrollbar,
.home-exact .guest-home-tabs::-webkit-scrollbar {
    height: 6px !important;
}
.home-exact .home-product-row::-webkit-scrollbar-thumb,
.home-exact .guest-home-tabs::-webkit-scrollbar-thumb {
    background: #E5E7EB !important;
    border-radius: 3px !important;
}

/* Managed homepage based on Word reference and provided design images */
.home-reference-build {
    width: min(1180px, calc(100% - 24px));
    margin: 0 auto;
    display: grid;
    gap: 34px;
    color: #13183f;
}
.home-reference-build img {
    width: 100%;
    display: block;
}
.home-ref-hero {
    padding-top: 8px;
}
.home-ref-hero-slider {
    position: relative;
}
.home-reference-build .home-hero-track {
    position: relative;
    min-height: 386px;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}
.home-reference-build .home-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 240ms ease;
}
.home-reference-build .home-hero-slide.is-active {
    opacity: 1;
}
.home-reference-build .home-hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-reference-build .home-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    background: #fff;
    color: #2154ff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    cursor: pointer;
}
.home-reference-build .home-slider-prev { right: 14px; }
.home-reference-build .home-slider-next { left: 14px; }
.home-reference-build .home-slider-dots {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 14px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.home-reference-build .home-slider-dots button {
    width: 8px;
    height: 8px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.65);
    padding: 0;
}
.home-reference-build .home-slider-dots button.is-active {
    width: 24px;
    background: #fff;
}
.home-reference-build .home-product-section {
    width: 100% !important;
    max-width: 1280px !important;
    padding: 38px 0 34px !important;
    margin: -2px auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.home-reference-build .home-product-head {
    display: grid !important;
    justify-items: end !important;
    gap: 0 !important;
    margin-bottom: 12px !important;
    text-align: right !important;
}
.home-reference-build .home-product-head > div {
    max-width: 460px !important;
}
.home-reference-build .home-product-head h2 {
    margin: 0 !important;
    color: #071b4d !important;
    font-size: 26px !important;
    line-height: 34px !important;
    font-weight: 950 !important;
}
.home-reference-build .home-product-head p {
    margin: 8px 0 0 !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    line-height: 22px !important;
}
.home-reference-build .guest-home-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    overflow-x: auto !important;
    padding: 2px 2px 8px !important;
    scroll-padding-inline: 2px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.home-reference-build .guest-home-tabs::-webkit-scrollbar {
    display: none !important;
}
.home-reference-build .guest-home-tabs button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    height: auto !important;
    min-width: 72px !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 16px !important;
    padding: 6px 10px !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.035) !important;
    white-space: nowrap !important;
}
.home-reference-build .guest-home-tabs button.is-active {
    background: #071b4d !important;
    border-color: #071b4d !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(7, 27, 77, 0.18) !important;
}
.home-reference-build .home-slider-shell {
    position: relative !important;
    display: grid !important;
    gap: 8px !important;
}
.home-reference-build .home-slider-controls {
    display: flex !important;
    gap: 8px !important;
    position: static !important;
    z-index: 3 !important;
    margin: 0 0 4px !important;
    justify-content: flex-start !important;
}
.home-reference-build .home-slider-controls button {
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #93c5fd !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #2563eb !important;
    font-size: 20px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
.home-reference-build .home-product-row {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(270px, 1fr) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    padding: 2px 2px 16px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    overscroll-behavior-inline: contain !important;
}
.home-reference-build .home-product-row::-webkit-scrollbar {
    display: none !important;
}
.home-reference-build .home-product-card {
    min-width: 270px !important;
    min-height: 230px !important;
    display: grid !important;
    align-content: start !important;
    gap: 0 !important;
    border-radius: 16px !important;
    border: 1px solid #edf0f5 !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055) !important;
    padding: 14px !important;
    scroll-snap-align: start !important;
    transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}
.home-reference-build .home-product-card.is-hidden-by-filter { display: none !important; }
.home-reference-build .home-product-card:hover {
    transform: translateY(-3px) !important;
    background: #071b4d !important;
    border-color: #163a79 !important;
    box-shadow: 0 20px 40px rgba(7, 27, 77, 0.24) !important;
}
.home-reference-build .home-product-card:hover .home-product-card-top > span,
.home-reference-build .home-product-card:hover .home-product-bottom-row > span,
.home-reference-build .home-product-card:hover h3,
.home-reference-build .home-product-card:hover p,
.home-reference-build .home-product-card:hover .home-product-price-row strong,
.home-reference-build .home-product-card:hover .home-product-price-row small,
.home-reference-build .home-product-card:hover .home-discount-badge,
.home-reference-build .home-product-card:hover .guest-inline-btn {
    color: #2563eb !important;
}
.home-reference-build .home-product-card:hover .home-product-card-top > span,
.home-reference-build .home-product-card:hover .home-product-bottom-row > span,
.home-reference-build .home-product-card:hover .home-discount-badge {
    background: rgba(37, 99, 235, 0.12) !important;
}
.home-reference-build .home-product-card:hover .home-product-icon {
    background: #2563eb !important;
    color: #071b4d !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28) !important;
}
.home-reference-build .home-product-card:hover .home-product-bottom-row .guest-inline-btn {
    background: transparent !important;
    border-color: rgba(37, 99, 235, 0.45) !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.18) !important;
}
.home-reference-build .home-product-card-top {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}
.home-reference-build .home-product-card-top > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    padding: 3px 9px !important;
    border-radius: 10px !important;
    background: #f7f8fa !important;
    color: #8b95a6 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
}
.home-reference-build .home-product-icon {
    width: 58px !important;
    height: 58px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #1e3a8a, #071b4d) !important;
    color: #2563eb !important;
    font-size: 22px !important;
    font-weight: 950 !important;
    box-shadow: inset 0 1px 8px rgba(255, 255, 255, 0.15) !important;
}
.home-reference-build .home-product-card:nth-child(2n) .home-product-icon { background: linear-gradient(135deg, #19a38b, #256d64) !important; color: #fff !important; }
.home-reference-build .home-product-card:nth-child(3n) .home-product-icon { background: linear-gradient(135deg, #9b5cf6, #6d3bd1) !important; color: #fff !important; }
.home-reference-build .home-product-card:nth-child(4n) .home-product-icon { background: linear-gradient(135deg, #ff8e8e, #ef6f6c) !important; color: #fff !important; }
.home-reference-build .home-product-question-bank .home-product-icon { background: linear-gradient(135deg, #35a6d5, #176f9b) !important; color: #fff !important; }
.home-reference-build .home-product-learning .home-product-icon { background: linear-gradient(135deg, #163a79, #071b4d) !important; color: #2563eb !important; }
.home-reference-build .home-product-card h3 {
    min-height: 42px !important;
    margin: 0 0 7px !important;
    color: #111827 !important;
    font-size: 13.5px !important;
    line-height: 21px !important;
    font-weight: 950 !important;
    text-align: right !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.18s ease !important;
}
.home-reference-build .home-product-card p {
    min-height: 40px !important;
    margin: 0 !important;
    color: #6b7280 !important;
    font-size: 11.5px !important;
    line-height: 20px !important;
    text-align: right !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.18s ease !important;
}
.home-reference-build .home-product-price-row {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-top: 12px !important;
}
.home-reference-build .home-product-price-row > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
}
.home-reference-build .home-product-price-row strong {
    color: #071b4d !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 950 !important;
    transition: color 0.18s ease !important;
}
.home-reference-build .home-product-price-row small {
    color: #a7afbd !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    text-decoration: line-through !important;
    transition: color 0.18s ease !important;
}
.home-reference-build .home-discount-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 4px 9px !important;
    border-radius: 10px !important;
    background: #dff6e8 !important;
    color: #16a34a !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.home-reference-build .home-product-bottom-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-top: 12px !important;
}
.home-reference-build .home-product-bottom-row .guest-inline-btn {
    min-width: 108px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #071b4d !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 14px rgba(7, 27, 77, 0.16) !important;
    transition: transform 0.15s ease, background 0.15s ease !important;
}
.home-reference-build .home-product-bottom-row .guest-inline-btn:hover {
    background: #0b255f !important;
    transform: translateY(-1px) !important;
}
.home-reference-build .home-product-bottom-row > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    max-width: 115px !important;
    padding: 4px 9px !important;
    border-radius: 8px !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.home-ref-image-section,
.home-ref-tools,
.home-ref-faq,
.home-ref-testimonials,
.home-ref-consult {
    width: 100%;
    margin: 0 auto;
}
.home-ref-image-section img,
.home-ref-testimonials > img,
.home-ref-consult img,
.home-ref-footer img {
    border-radius: 22px;
}
.home-ref-timeline {
    position: relative;
    width: 100%;
    max-width: none;
}
.home-ref-panel-links {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: repeat(3, 1fr);
}
.home-ref-panel-links a {
    opacity: 0;
}
.home-ref-hidden-copy {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.home-ref-coded-section {
    display: grid;
    gap: 24px;
    width: 100%;
    padding: 22px 0 8px;
}
.home-ref-coded-head {
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;
}
.home-ref-coded-head > span {
    color: #2563eb;
    font-size: 15px;
    font-weight: 900;
}
.home-ref-coded-head h2 {
    margin: 0;
    color: #071b4d;
    font-size: clamp(28px, 3.8vw, 48px);
    line-height: 1.45;
    font-weight: 950;
}
.home-ref-coded-head p {
    max-width: 760px;
    margin: 0;
    color: #7b8494;
    font-size: 15px;
    line-height: 2;
}
.home-panel-timeline {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
}
.home-panel-timeline::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    right: 50%;
    width: 2px;
    height: 2px;
    transform: translateX(50%);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.2), rgba(24, 43, 81, 0.45), rgba(37, 99, 235, 0.2));
}
.home-panel-showcase {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 24px;
    align-items: center;
    z-index: 1;
}
.home-panel-showcase:nth-child(even) .home-panel-showcase-media {
    order: 2;
}
.home-panel-showcase:nth-child(even) .home-panel-step-card {
    order: 1;
}
.home-panel-step-badge {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #182B51;
    color: #ffffff;
    font-size: 20px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(24, 43, 81, 0.16);
    position: absolute;
    top: 18px;
    right: 50%;
    transform: translateX(50%);
    z-index: 2;
}
.home-panel-showcase-media {
    padding: 10px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 249, 252, 0.96));
    box-shadow: 0 18px 34px rgba(7, 27, 77, 0.07);
}
.home-panel-showcase-media img {
    width: 100%;
    border-radius: 18px;
}
.home-panel-step-card {
    width: 100%;
    min-height: 0;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 24px 20px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(229, 234, 242, 0.92);
    box-shadow: 0 18px 34px rgba(7, 27, 77, 0.07);
    text-align: center;
}
.home-panel-step-card strong {
    color: #071b4d;
    font-size: 20px;
    font-weight: 950;
}
.home-panel-step-card p {
    margin: 0;
    color: #6c7892;
    font-size: 14px;
    line-height: 2;
}
.home-panel-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 4px;
}
.home-panel-feature-grid-school {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.home-panel-feature-grid div {
    position: relative;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #182B51;
    font-size: 13px;
    font-weight: 800;
    overflow: hidden;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-panel-feature-grid div span {
    color: #2563eb;
    font-size: 10px;
}
.home-panel-feature-grid div small {
    font-size: 12.5px;
    font-weight: 800;
    color: inherit;
    transition: opacity 0.2s ease, color 0.2s ease;
}
.home-panel-feature-grid div em {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 8px 10px;
    border-radius: 12px;
    background: #182B51;
    border: 1px solid #182B51;
    color: #ffffff;
    font-size: 10.5px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.65;
    text-align: center;
    box-shadow: none;
    opacity: 0;
    transform: scale(0.98);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    overflow: hidden;
}
.home-panel-feature-grid div:hover {
    transform: translateY(-2px);
    background: #182B51;
    border-color: #182B51;
    box-shadow: 0 12px 18px rgba(24, 43, 81, 0.16);
    color: #ffffff;
}
.home-panel-feature-grid div:hover small,
.home-panel-feature-grid div:hover span {
    color: #ffffff;
    opacity: 0;
}
.home-panel-feature-grid div:hover em {
    opacity: 1;
    transform: scale(1);
}
.home-ref-why {
    padding-top: 34px;
}
.home-ref-why .home-ref-coded-head {
    display: grid;
    justify-items: center;
    gap: 18px;
    margin-bottom: 34px;
    text-align: center;
    font-family: "IRANYekan", var(--font-fa);
}
.home-ref-why .home-ref-coded-head > span {
    display: none;
}
.home-why-heading-line {
    width: min(100%, 770px);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
}
.home-why-heading-line span {
    height: 2px;
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.08), #2563eb, rgba(37, 99, 235, 0.08));
}
.home-why-heading-line i {
    color: #2563eb;
    font-style: normal;
    font-size: 26px;
    line-height: 1;
}
.home-ref-why .home-ref-coded-head h2 {
    margin: 0;
    color: #071b4d;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.12;
    font-weight: 950;
}
.home-ref-why .home-ref-coded-head p {
    width: min(100%, 820px);
    margin: 0;
    color: #6c7892;
    font-size: clamp(0.95rem, 1.15vw, 1.08rem);
    line-height: 1.95;
    font-weight: 600;
}
.home-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.home-why-card {
    min-height: 350px;
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 14px;
    padding: 28px 22px 40px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    border: 1px solid rgba(230, 236, 244, 0.95);
    box-shadow: 0 16px 34px rgba(7, 27, 77, 0.08);
    position: relative;
    overflow: hidden;
    font-family: "IRANYekan", var(--font-fa);
}
.home-why-card::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 0;
    width: 210px;
    height: 4px;
    border-radius: 10px 10px 0 0;
    transform: translateX(50%);
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.04), #2563eb, rgba(37, 99, 235, 0.04));
}
.home-why-card b {
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    color: #0d2950;
    font-style: normal;
}
.home-why-card b svg {
    width: 100%;
    height: 100%;
    display: block;
}
.home-why-card h3 {
    margin: 0;
    color: #071b4d;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.42rem;
    line-height: 1.55;
    font-weight: 900;
    text-align: center;
}
.home-why-card p {
    margin: 0;
    color: #6c7892;
    font-size: 0.92rem;
    line-height: 2;
    text-align: center;
}
.home-ref-tools {
    position: relative;
    isolation: isolate;
    display: grid;
    justify-items: center;
    gap: 20px;
    padding: 42px 0 18px;
    overflow: visible;
    text-align: center;
}
.home-ref-tools::before,
.home-ref-tools::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.home-ref-tools::before {
    right: 6px;
    top: 250px;
    width: 96px;
    height: 96px;
    border-radius: 52% 48% 55% 45%;
    background: radial-gradient(circle at 35% 25%, #7c4dff 0 4px, transparent 5px), radial-gradient(circle, rgba(124, 77, 255, 0.13), rgba(124, 77, 255, 0.02) 66%);
}
.home-ref-tools::after {
    left: 0;
    top: 382px;
    width: 130px;
    height: 100px;
    background-image: radial-gradient(#ded8ff 1.5px, transparent 1.5px);
    background-size: 12px 12px;
    opacity: 0.9;
}
.home-tools-orb {
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.home-tools-orb-right {
    right: 18px;
    top: 272px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(112, 78, 255, 0.12), rgba(112, 78, 255, 0.02));
}
.home-tools-orb-left {
    left: 44px;
    top: 286px;
    width: 72px;
    height: 72px;
    border: 2px dashed rgba(124, 77, 255, 0.18);
    border-radius: 50%;
}
.home-tools-head {
    max-width: 860px;
    margin: 0 auto;
    display: grid;
    justify-items: center;
    gap: 6px;
}
.home-ref-tools h2 {
    max-width: 720px;
    margin: 0 auto;
    color: #020b2d;
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 950;
    line-height: 1.34;
    letter-spacing: -1px;
}
.home-ref-tools h2 {
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
.home-ref-tools h2 span {
    color: #704eff;
}
.home-ref-tools header p {
    max-width: 610px;
    margin: 12px auto 0;
    color: #74809a;
    font-size: 15px;
    line-height: 2;
}
.home-tools-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    align-items: center;
    margin-top: 2px;
}
.home-tools-action {
    min-width: 178px;
    min-height: 56px;
    padding: 0 26px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 900;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.home-tools-action:hover {
    transform: translateY(-2px);
}
.home-tools-action-primary {
    background: linear-gradient(135deg, #7c4dff, #5b39e5);
    color: #fff;
    box-shadow: 0 18px 38px rgba(91, 57, 229, 0.28);
}
.home-tools-action-secondary {
    background: #fff;
    border: 1px solid rgba(112, 78, 255, 0.16);
    color: #394150;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}
.home-tools-video-wrap {
    position: relative;
    width: min(850px, calc(100% - 280px));
    margin: 18px auto 0;
    padding-bottom: 0;
}
.home-tools-video-frame {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background: transparent;
    aspect-ratio: 15 / 8;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.16);
}
.home-tools-video-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 62%, rgba(3, 7, 18, 0.34));
}
.home-tools-video-frame video,
.home-tools-video-frame img {
    width: 100%;
    aspect-ratio: 15 / 8;
    display: block;
    object-fit: contain;
}
.home-tools-video-frame video {
    background: #111827;
    object-fit: cover;
}
.home-tools-video-poster {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    border: 0;
    padding: 0;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
}
.home-tools-video-frame.is-playing .home-tools-video-poster {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.home-tools-video-poster img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
}
.home-tools-video-poster::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 35%;
    background: linear-gradient(180deg, transparent, rgba(3, 7, 18, 0.58));
    pointer-events: none;
}
.home-tools-video-poster span {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: 116px;
    height: 116px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: #704eff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
}
.home-tools-video-poster span::before {
    content: "";
    width: 0;
    height: 0;
    margin-right: -5px;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-right: 0;
    border-left: 26px solid #704eff;
}
.home-tools-video-frame > button:not(.home-tools-video-poster),
.home-ref-consult button {
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}
.home-tools-video-frame > button:not(.home-tools-video-poster) > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 0;
    background: #fff;
    color: #704eff;
    font-size: 1.7rem;
    box-shadow: 0 12px 34px rgba(24, 16, 67, 0.18);
}
.home-tool-float-card {
    position: absolute;
    z-index: 6;
    width: 272px;
    min-width: 272px;
    min-height: 96px;
    display: grid;
    grid-template-columns: 52px 1fr;
    column-gap: 14px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 22px 42px rgba(15, 23, 42, 0.12);
    text-align: right;
}
.home-tool-float-card b {
    grid-row: span 2;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f1edff;
    color: #9b5cf6;
    font-style: normal;
}
.home-tool-float-card strong {
    color: #151a3f;
    font-size: 16px;
    font-weight: 950;
}
.home-tool-float-card small {
    max-width: none;
    color: #79849a;
    font-size: 12px;
    line-height: 1.8;
}
.home-tool-card-plan {
    right: calc(100% - 66px);
    top: 72px;
}
.home-tool-card-analysis {
    right: calc(100% - 66px);
    bottom: 86px;
}
.home-tool-card-exam {
    left: calc(100% - 66px);
    top: 72px;
}
.home-tool-card-course {
    left: calc(100% - 66px);
    bottom: 86px;
}
.home-tool-card-analysis b { background: #e9fbee; color: #22c55e; }
.home-tool-card-exam b { background: #e8f4ff; color: #1889df; }
.home-tool-card-course b { background: #eff6ff; color: #2563eb; }
.home-ref-faq {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 20px 0 8px;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.home-ref-stats {
    position: relative;
    display: grid;
    gap: 30px;
    overflow: hidden;
    padding: 46px 42px 38px;
    border-radius: 0;
    background: #ffffff;
    border: 0;
    box-shadow: none;
}
.home-ref-stats::after {
    display: none;
}
.home-ref-stats header,
.home-ref-faq header {
    text-align: center;
}
.home-ref-stats header > span,
.home-ref-faq header span {
    color: #2563eb;
    font-size: 15px;
    font-weight: 900;
}
.home-ref-faq header span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    justify-content: center;
}
.home-ref-faq header span::before,
.home-ref-faq header span::after {
    content: "";
    width: 34px;
    height: 2px;
    border-radius: 1px;
    background: #2563eb;
}
.home-ref-stats header > span::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin: 10px auto 0;
    border-radius: 2px;
    background: #2563eb;
}
.home-ref-stats h2,
.home-ref-faq h2 {
    margin: 14px 0 0;
    color: #071b4d;
    font-size: clamp(34px, 4.2vw, 64px);
    line-height: 1.4;
    font-weight: 950;
}
.home-ref-stats header p,
.home-ref-faq header p {
    max-width: 620px;
    margin: 18px auto 0;
    color: #7b8494;
    font-size: 18px;
    line-height: 32px;
}
.home-ref-faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    max-width: none;
}
.home-ref-faq-list details {
    width: 100%;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(233, 238, 248, 0.95);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}
.home-ref-faq-list summary {
    list-style: none;
    min-height: 122px;
    padding: 28px 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 18px;
    color: #102a63;
    font-size: 18px;
    font-weight: 900;
}
.home-ref-faq-list summary::-webkit-details-marker {
    display: none;
}
.home-faq-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #182B51;
    color: #ffffff;
    font-size: 0;
    font-weight: 400;
    flex-shrink: 0;
}
.home-ref-faq-list details[open] summary {
    border-bottom: 1px solid rgba(226, 232, 240, 0.7);
}
.home-ref-faq-list details[open] .home-faq-icon {
    font-size: 0;
}
.home-ref-faq-list details[open] .home-faq-icon::before {
    content: "−";
    font-size: 26px;
    color: #2563eb;
}
.home-ref-faq-list details:not([open]) .home-faq-icon::before {
    content: "+";
    font-size: 30px;
    color: #2563eb;
}
.home-ref-faq-list details p {
    margin: 0;
    padding: 0 28px 28px;
    color: #6c7892;
    font-size: 16px;
    line-height: 2;
}
.home-faq-note {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 8px auto 0;
    color: #8693ac;
    font-size: 16px;
}
.home-faq-note > span {
    color: #2563eb;
    font-size: 28px;
}
.home-faq-note strong {
    color: #7a879f;
    font-weight: 900;
}
.home-faq-note small {
    font-size: 16px;
}
.home-ref-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    position: relative;
    z-index: 1;
}
.home-ref-stats-grid article {
    display: grid;
    place-items: center;
    gap: 12px;
    min-height: 292px;
    padding: 28px 22px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(229, 234, 242, 0.85);
    box-shadow: 0 18px 34px rgba(7, 27, 77, 0.08);
    text-align: center;
}
.home-ref-stats-grid i {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f3f5f9;
    color: #071b4d;
    font-size: 38px;
    font-style: normal;
    font-weight: 950;
}
.home-ref-stats-grid article:nth-child(1) i::before { content: "☑"; }
.home-ref-stats-grid article:nth-child(2) i::before { content: "👥"; }
.home-ref-stats-grid article:nth-child(3) i::before { content: "▰"; }
.home-ref-stats-grid article:nth-child(4) i::before { content: "▣"; }
.home-ref-stats-grid i {
    font-size: 0;
}
.home-ref-stats-grid strong {
    direction: ltr;
    color: #071b4d;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 950;
}
.home-ref-stats-grid strong::after {
    content: "+";
    color: #2563eb;
    margin-right: 5px;
}
.home-ref-stats-grid span {
    color: #071b4d;
    font-size: 16px;
    font-weight: 900;
}
.home-ref-stats-grid em {
    width: 44px;
    height: 2px;
    border-radius: 1px;
    background: #2563eb;
    font-style: normal;
}
.home-ref-stats-grid p {
    margin: 0;
    color: #7b8494;
    font-size: 14px;
    line-height: 28px;
}
.home-ref-trusted-strip {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 260px 1fr;
    align-items: center;
    gap: 26px;
    padding: 22px 28px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(229, 234, 242, 0.85);
    box-shadow: 0 16px 34px rgba(7, 27, 77, 0.07);
}
.home-ref-trusted-strip > div {
    display: grid;
    gap: 8px;
    padding-right: 24px;
    border-right: 2px solid #2563eb;
}
.home-ref-trusted-strip strong {
    color: #071b4d;
    font-size: 20px;
    font-weight: 950;
}
.home-ref-trusted-strip > div span {
    color: #7b8494;
    font-size: 13px;
}
.home-ref-trusted-strip ul {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-ref-trusted-strip li {
    display: grid;
    justify-items: center;
    gap: 8px;
    color: #53627a;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
}
.home-ref-trusted-strip b {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #53627a;
    font-size: 30px;
    line-height: 1;
}
.home-ref-trusted-strip b img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
}
.home-ref-faq-list {
    width: 100%;
    max-width: none;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
.home-ref-faq-list details {
    width: 100%;
    padding: 0;
    border: 1px solid rgba(233, 238, 248, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}
.home-ref-faq-list summary {
    cursor: pointer;
    color: #102a63;
    font-weight: 900;
    min-height: 122px;
    padding: 28px 28px;
}
.home-ref-faq-list p {
    margin: 0;
    color: #6c7892;
    font-size: 16px;
    line-height: 2;
    padding: 0 28px 28px;
}
.home-ref-empty {
    margin: 0 !important;
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    color: #7b8494 !important;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.home-ref-testimonials {
    display: grid;
    gap: 26px;
    padding: 38px 58px 46px;
    border-radius: 30px 30px 0 0;
    background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.home-ref-testimonials header {
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: center;
    align-items: center;
    gap: 14px;
    text-align: center;
}
.home-ref-testimonials header span {
    color: #2563eb;
    font-weight: 950;
    letter-spacing: 4px;
}
.home-ref-testimonials h2 {
    grid-column: 2;
    margin: 0;
    color: #071b4d;
    font-size: 24px;
    line-height: 32px;
    font-weight: 950;
}
.home-ref-testimonials header p {
    grid-column: 1 / -1;
    margin: -4px 0 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 24px;
}
.home-testimonial-slider-shell {
    display: grid;
    gap: 16px;
}
.home-testimonial-row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(300px, calc((100% - 40px) / 3));
    gap: 20px;
    overflow-x: auto;
    padding: 4px 4px 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}
.home-testimonial-row::-webkit-scrollbar {
    display: none;
}
.home-ref-testimonials article {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 210px;
    padding: 26px 26px 22px;
    border-radius: 12px;
    background: #182B51;
    border: 1px solid #182B51;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
    scroll-snap-align: start;
}
.home-testimonial-quote {
    height: 30px;
    color: #ffffff;
    font-size: 54px;
    line-height: 44px;
    font-family: Georgia, serif;
    font-weight: 900;
    text-align: right;
}
.home-ref-testimonials article > p {
    margin: 8px 0 22px;
    color: #ffffff;
    font-size: 16px;
    line-height: 2.1;
    font-weight: 700;
    text-align: center;
}
.home-ref-testimonials article footer {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid #e5e7eb;
    text-align: right;
}
.home-ref-testimonials article footer > div {
    display: grid;
    gap: 4px;
}
.home-ref-testimonials small {
    display: block;
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
}
.home-ref-testimonials strong {
    color: #ffffff;
    font-size: 16px;
    font-weight: 950;
}
.home-testimonial-avatar {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: linear-gradient(135deg, #e5edf4, #c9d7df);
}
.home-testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.home-ref-testimonials > a {
    width: fit-content;
    margin: -4px auto 0;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border-radius: 10px;
    background: #182B51;
    border: 1px solid #2563eb;
    color: #ffffff;
    font-weight: 900;
}
.home-ref-testimonials > a:hover {
    background: #2563eb;
    color: #182B51;
}
.home-ref-consult {
    width: min(760px, 100%);
}
.home-ref-footer {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 10%, rgba(28, 69, 125, 0.34), transparent 34%),
        linear-gradient(145deg, #06152f 0%, #071b3a 48%, #06142c 100%);
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.12);
}
.home-ref-footer-inner {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 58px 0 26px;
    color: #d7e5f8;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
}
.home-ref-footer-inner > * {
    min-width: 0;
    padding: 0 30px;
    border-inline-start: 1px solid rgba(148, 163, 184, 0.13);
}
.home-ref-footer-inner > *:first-child {
    border-inline-start: 0;
    padding-inline-start: 0;
}
.home-ref-footer-inner > *:last-child {
    padding-inline-end: 0;
}
.home-ref-footer img {
    display: block;
}
.home-footer-logo-block {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 34px;
}
.home-footer-logo {
    width: 96px;
    height: 72px;
    object-fit: contain;
    border-radius: 8px;
}
.home-footer-logo-block h2 {
    margin: 0 0 5px;
    color: #bfdbfe;
    font-size: 1.14rem;
    font-weight: 950;
    line-height: 1.3;
}
.home-footer-logo-block span {
    color: #e6edf9;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.8;
}
.home-ref-footer h3 {
    margin: 0 0 10px;
    color: #60a5fa;
    font-size: 1.12rem;
    font-weight: 950;
    text-align: center;
}
.home-footer-heading-line {
    width: 34px;
    height: 2px;
    margin: 22px auto 34px;
    background: linear-gradient(90deg, transparent, #60a5fa, transparent);
}
.home-ref-footer p,
.home-ref-footer span,
.home-ref-footer a {
    display: block;
    margin: 0;
    color: #bdcce2;
    line-height: 2.05;
    text-decoration: none;
}
.home-footer-about > p {
    max-width: 100%;
    margin-bottom: 34px;
    color: #c2d0e4;
    font-size: 0.9rem;
    line-height: 2.15;
}
.home-footer-feature-row {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 0 0 42px;
}
.home-footer-feature-list {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    align-items: stretch;
}
.home-footer-feature-list article,
.home-footer-support a,
.home-footer-bottom article {
    display: flex;
    align-items: center;
    gap: 13px;
}
.home-footer-feature-list article {
    flex: 1 1 0;
    min-height: 78px;
    padding: 18px 16px;
    border-radius: 12px;
    background: rgba(8, 28, 60, 0.58);
}
.home-footer-feature-list i,
.home-footer-support i,
.home-footer-social a,
.home-footer-bottom i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid rgba(96, 165, 250, 0.32);
    color: #60a5fa;
}
.home-footer-feature-list i {
    width: 42px;
    height: 42px;
    border-radius: 9px;
    background: rgba(10, 34, 70, 0.78);
    font-size: 1.25rem;
    font-style: normal;
}
.home-footer-feature-list strong,
.home-footer-support strong,
.home-footer-bottom strong,
.home-footer-social strong {
    display: block;
    color: #60a5fa;
    font-size: 0.88rem;
    font-weight: 950;
}
.home-footer-feature-list span,
.home-footer-support span,
.home-footer-bottom small {
    color: #aebbd1;
    font-size: 0.74rem;
    line-height: 1.8;
}
.home-footer-links a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    width: 100%;
    margin: 0 0 13px;
    color: #e4ebf7;
    font-size: 0.91rem;
    font-weight: 800;
    transition: color 0.2s ease, transform 0.2s ease;
}
.home-footer-links a span {
    color: #60a5fa;
    font-size: 1.35rem;
    line-height: 1;
}
.home-footer-links a:hover,
.home-footer-support a:hover,
.home-footer-social a:hover {
    color: #60a5fa;
    transform: translateX(-3px);
}
.home-footer-support {
    text-align: right;
}
.home-footer-support a {
    justify-content: flex-start;
    padding: 22px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.13);
}
.home-footer-support i {
    width: 34px;
    height: 34px;
    border: 0;
    font-size: 1.7rem;
    font-style: normal;
}
.home-footer-newsletter p {
    max-width: 284px;
    margin: 0 auto 34px;
    text-align: center;
    font-size: 0.86rem;
    line-height: 2.1;
}
.home-footer-newsletter form {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 246px;
    height: 48px;
    margin: 0 auto 40px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 7px;
    background: rgba(8, 28, 60, 0.72);
    overflow: hidden;
}
.home-footer-newsletter input {
    width: 100%;
    height: 100%;
    padding: 0 18px 0 58px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #eef5ff;
    text-align: right;
}
.home-footer-newsletter input::placeholder {
    color: #8ea0ba;
}
.home-ref-footer button {
    position: absolute;
    left: 0;
    top: 0;
    width: 48px;
    height: 48px;
    min-height: 0;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 7px 0 0 7px;
    background: linear-gradient(135deg, #60a5fa, #2563eb);
    color: #ffffff;
    font-weight: 900;
    cursor: pointer;
    font-size: 1.55rem;
}
.home-footer-social {
    text-align: center;
}
.home-footer-social strong {
    margin-bottom: 22px;
}
.home-footer-social > div {
    display: flex;
    justify-content: center;
    gap: 16px;
}
.home-footer-social a {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    font-size: 1.15rem;
    font-weight: 950;
}
.home-footer-divider {
    position: relative;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(96, 165, 250, 0.1), rgba(96, 165, 250, 0.75), rgba(96, 165, 250, 0.1));
}
.home-footer-divider span {
    position: absolute;
    top: 50%;
    right: 50%;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translate(50%, -50%);
    color: #60a5fa;
    background: #071833;
    font-size: 1.18rem;
}
.home-footer-bottom {
    width: min(1180px, calc(100% - 28px));
    min-height: 88px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2.1fr;
    align-items: center;
    gap: 28px;
    color: #aebbd1;
}
.home-footer-bottom > span {
    color: #9dadc5;
    font-size: 0.82rem;
}
.home-footer-bottom > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.home-footer-bottom article {
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-inline-start: 1px solid rgba(148, 163, 184, 0.14);
}
.home-footer-bottom article:last-child {
    border-inline-start: 0;
}
.home-footer-bottom i {
    width: 46px;
    height: 46px;
    border: 0;
    font-size: 2rem;
    font-style: normal;
}
.consult-form {
    display: grid;
    gap: 12px;
}
.consult-form input,
.consult-form textarea {
    width: 100%;
}
html[dir="rtl"] .consult-modal-card,
body[dir="rtl"] .consult-modal-card {
    text-align: right;
}
@media (max-width: 1180px) {
    .home-tools-video-wrap {
        width: min(760px, calc(100% - 220px));
    }
    .home-tool-float-card {
        width: 228px;
        min-width: 228px;
        min-height: 90px;
        padding: 16px 16px;
    }
    .home-tool-card-plan,
    .home-tool-card-exam {
        top: 62px;
    }
    .home-tool-card-plan {
        right: calc(100% - 34px);
    }
    .home-tool-card-analysis {
        right: calc(100% - 34px);
    }
    .home-tool-card-exam {
        left: calc(100% - 34px);
    }
    .home-tool-card-course {
        left: calc(100% - 34px);
    }
}
@media (max-width: 900px) {
    .home-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-why-card { min-height: 320px; }
    .home-panel-timeline::before { display: none; }
    .home-panel-showcase { grid-template-columns: 1fr; gap: 18px; }
    .home-panel-showcase:nth-child(even) .home-panel-showcase-media,
    .home-panel-showcase:nth-child(even) .home-panel-step-card { order: initial; }
    .home-panel-step-badge {
        position: static;
        transform: none;
        margin: 0 auto;
    }
    .home-panel-feature-grid,
    .home-panel-feature-grid-school { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-reference-build .home-hero-track { min-height: 240px; }
    .home-reference-build .home-product-head { display: grid !important; }
    .home-reference-build .guest-home-tabs { max-width: 100% !important; margin: 0 0 18px !important; justify-content: flex-start !important; flex-wrap: wrap !important; gap: 8px !important; }
    .home-reference-build .home-slider-controls { position: static !important; margin-bottom: 14px !important; }
    .home-reference-build .home-product-row { grid-template-columns: repeat(3, minmax(270px, 1fr)) !important; grid-auto-columns: minmax(270px, 1fr) !important; }
    .home-ref-stats-grid,
    .home-ref-testimonials > div,
    .home-ref-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-ref-footer-inner > * {
        padding: 24px;
        border-inline-start: 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.13);
    }
    .home-ref-footer-inner > *:first-child,
    .home-ref-footer-inner > *:last-child {
        padding-inline-start: 24px;
        padding-inline-end: 24px;
    }
    .home-footer-bottom {
        grid-template-columns: 1fr;
        padding: 22px 0;
        text-align: center;
    }
    .home-tools-actions { gap: 10px; }
    .home-tools-action { min-width: 150px; min-height: 50px; font-size: 16px; }
    .home-tools-video-wrap { width: 100%; padding-bottom: 0; }
    .home-tool-float-card { position: static; min-width: 0; margin-bottom: 10px; }
    .home-tool-card-plan,
    .home-tool-card-analysis,
    .home-tool-card-exam,
    .home-tool-card-course { display: none; }
    .home-testimonial-row { grid-auto-columns: minmax(280px, calc((100% - 20px) / 2)); }
    .home-ref-stats { padding: 38px 22px; }
    .home-ref-stats h2 { font-size: 28px; line-height: 42px; }
    .home-ref-trusted-strip { grid-template-columns: 1fr; }
    .home-ref-trusted-strip > div { padding: 0 0 18px; border-right: 0; border-bottom: 2px solid #2563eb; text-align: center; }
    .home-ref-trusted-strip ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .home-ref-testimonials { padding: 32px 24px 38px; }
    .home-footer-feature-row { padding-bottom: 30px; }
    .home-footer-feature-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .tools-trial-modal-card {
        padding: 28px 22px 24px;
        border-radius: 28px;
    }
    .tools-trial-modal-card h3 {
        font-size: 34px;
        line-height: 1.65;
    }
    .tools-trial-description {
        font-size: 18px;
        line-height: 1.9;
    }
    .tools-trial-actions,
    .tools-trial-features {
        grid-template-columns: 1fr;
    }
    .tools-trial-btn {
        min-height: 70px;
        font-size: 20px;
    }
}
@media (max-width: 560px) {
    .home-ref-coded-head h2 { font-size: 26px; }
    .home-why-heading-line { gap: 12px; }
    .home-why-heading-line i { font-size: 18px; }
    .home-ref-why .home-ref-coded-head { gap: 12px; margin-bottom: 24px; }
    .home-ref-why .home-ref-coded-head p { font-size: 0.92rem; line-height: 1.85; }
    .home-why-grid { grid-template-columns: 1fr; }
    .home-panel-step-card,
    .home-why-card { min-height: 0; padding: 22px 16px 30px; }
    .home-why-card h3 { min-height: 0; font-size: 1.22rem; }
    .home-why-card p { font-size: 0.88rem; }
    .home-panel-feature-grid,
    .home-panel-feature-grid-school { grid-template-columns: 1fr; }
    .home-reference-build { width: min(100% - 16px, 1060px); gap: 28px; }
    .home-reference-build .home-hero-track { min-height: 180px; }
    .home-reference-build .guest-home-tabs { flex-wrap: nowrap !important; overflow-x: auto !important; }
    .home-reference-build .home-product-row { grid-template-columns: unset !important; grid-auto-columns: minmax(260px, 88vw) !important; }
    .home-ref-stats { padding: 24px 16px; }
    .home-ref-stats-grid,
    .home-ref-testimonials > div,
    .home-ref-footer-inner { grid-template-columns: 1fr; }
    .home-ref-footer-inner { padding: 26px 0 18px; }
    .home-footer-logo-block { justify-content: center; text-align: center; }
    .home-footer-about > p { max-width: none; text-align: center; }
    .home-footer-feature-list article { justify-content: center; text-align: center; }
    .home-footer-bottom > div { grid-template-columns: 1fr; gap: 14px; }
    .home-footer-bottom article {
        border-inline-start: 0;
        padding: 0;
    }
    .home-ref-tools { padding-top: 28px; }
    .home-ref-tools h2 { font-size: 32px; line-height: 1.45; }
    .home-tools-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .home-tools-action { min-width: 0; width: 100%; padding: 0 14px; font-size: 15px; }
    .home-tools-video-wrap { padding-bottom: 0; }
    .home-tools-video-frame video,
    .home-tools-video-frame img { aspect-ratio: 15 / 8; }
    .home-ref-stats h2 { font-size: 24px; line-height: 36px; }
    .home-ref-stats header p { font-size: 14px; line-height: 26px; }
    .home-testimonial-row { grid-auto-columns: minmax(260px, 88vw); }
    .home-ref-stats-grid article { min-height: 250px; }
    .home-ref-trusted-strip { padding: 20px 16px; }
    .home-ref-trusted-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-ref-testimonials { padding: 26px 14px 32px; }
    .home-ref-testimonials header { grid-template-columns: auto; gap: 6px; }
    .home-ref-testimonials h2,
    .home-ref-testimonials header p { grid-column: auto; }
    .home-ref-testimonials header span { display: none; }
}

/* Final homepage product sliders: match reference card rows */

/* Global design system override */
@font-face {
    font-family: "IRANSans";
    src: local("IRANSans"), local("IRANSansWeb"), local("IranSans");
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --primary: #182b56;
    --primary-deep: #0f1d38;
    --primary-soft: #e9eef7;
    --accent: #2563eb;
    --accent-soft: #eff6ff;
    --bg: #f3f4f6;
    --bg-strong: #eceff3;
    --card: #ffffff;
    --card-alt: #f8f9fb;
    --text: #182b56;
    --muted: #4f5f7b;
    --line: rgba(24, 43, 86, 0.16);
    --line-strong: rgba(24, 43, 86, 0.26);
    --shadow: 0 12px 30px rgba(24, 43, 86, 0.08);
    --shadow-lg: 0 20px 44px rgba(24, 43, 86, 0.14);
    --font-fa: "IRANYekan", "IRANSans", "IRANSansX", Tahoma, sans-serif;
}

html,
body {
    background: var(--bg) !important;
}

body,
button,
input,
select,
textarea {
    font-family: var(--font-fa);
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
th,
label,
.btn,
button {
    font-family: "IRANYekan", "IRANSans", var(--font-fa);
}

p,
span,
small,
li,
a,
input,
textarea,
select {
    font-family: "IRANSans", "IRANYekan", var(--font-fa);
}

body {
    color: var(--text);
    background-image: none !important;
}

.site-bg {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(243, 244, 246, 0.92)),
        radial-gradient(circle at 10% 10%, rgba(24, 43, 86, 0.05), transparent 22%),
        radial-gradient(circle at 90% 0%, rgba(24, 43, 86, 0.04), transparent 24%);
}

hr,
.home-footer-divider,
.home-footer-heading-line {
    background-color: transparent;
    border-color: var(--line);
}

* {
    scrollbar-color: var(--primary) var(--bg-strong);
}

.edu-navbar,
.edu-navbar-guest-home,
.flash,
.store-products-panel,
.store-filter-card,
.content-card,
.page-head,
.auth-shell,
.question-card,
.package-card,
.stat-card,
.option-card,
.list-row,
.landing-hero,
.mock-card,
.mini-card,
.feature-tool-card,
.store-product-card,
.dashboard-hero-card,
.school-profile-card,
.guest-product-card,
.guest-bank-card,
.guest-learning-card,
.guest-testimonial-card,
.guest-benefit-card,
.hero-banner-card,
.school-summary-card,
.market-product-card,
.mini-app-card,
.guest-home-slider-card,
.guest-home-video-card,
.guest-school-card,
.home-ref-stats,
.home-ref-testimonials,
.home-ref-trusted-strip,
.home-ref-tools,
.home-ref-panel,
.home-ref-why,
.home-ref-faq,
.home-footer-feature-list article,
.home-footer-bottom article,
.edu-mega-panel,
.consult-modal-card,
.tools-trial-modal-card {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow) !important;
    border-radius: 24px !important;
}

.store-product-card,
.guest-product-card,
.guest-bank-card,
.guest-learning-card,
.guest-testimonial-card,
.guest-benefit-card,
.feature-tool-card,
.market-product-card,
.mini-app-card,
.question-card,
.package-card,
.stat-card,
.option-card,
.content-card {
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.store-product-card:hover,
.guest-product-card:hover,
.guest-bank-card:hover,
.guest-learning-card:hover,
.guest-testimonial-card:hover,
.guest-benefit-card:hover,
.feature-tool-card:hover,
.market-product-card:hover,
.mini-app-card:hover,
.question-card:hover,
.package-card:hover,
.stat-card:hover,
.option-card:hover,
.content-card:hover {
    transform: translateY(-4px);
    border-color: var(--line-strong) !important;
    box-shadow: var(--shadow-lg) !important;
}

.btn,
.cta-pill,
.edu-auth-btn,
.edu-bell-btn,
button,
input[type='submit'],
input[type='button'],
a.btn,
a[class*='btn-'],
.home-tools-action,
.guest-home-tabs button,
.edu-nav-link,
.edu-nav-link-guest-home {
    min-height: 46px;
    border-radius: 10px !important;
    border: 1px solid var(--primary);
    box-shadow: none;
    transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.btn-primary,
.cta-orange,
.edu-auth-solid,
button[type='submit'],
input[type='submit'],
.home-tools-action,
.guest-home-tabs button.is-active {
    background: var(--primary) !important;
    color: var(--accent) !important;
    border-color: var(--primary) !important;
    box-shadow: 0 12px 24px rgba(24, 43, 86, 0.18) !important;
}

.btn-secondary,
.cta-light,
.edu-auth-outline,
.edu-auth-muted,
.btn:not(.btn-primary):not(.cta-orange):not(.btn-secondary),
.guest-home-tabs button,
.edu-nav-link,
.edu-nav-link-guest-home,
.edu-bell-btn {
    background: var(--accent-soft) !important;
    color: var(--primary) !important;
    border-color: rgba(24, 43, 86, 0.22) !important;
}

.btn:hover,
.cta-pill:hover,
.edu-auth-btn:hover,
.edu-bell-btn:hover,
button:hover,
input[type='submit']:hover,
input[type='button']:hover,
.home-tools-action:hover,
.guest-home-tabs button:hover,
.edu-nav-link:hover,
.edu-nav-link-guest-home:hover {
    transform: translateY(-1px);
    background: var(--accent) !important;
    color: var(--primary-deep) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 12px 24px rgba(24, 43, 86, 0.16) !important;
}

.btn-primary:hover,
.cta-orange:hover,
.edu-auth-solid:hover,
button[type='submit']:hover,
input[type='submit']:hover,
.guest-home-tabs button.is-active:hover {
    background: var(--accent) !important;
    color: var(--primary-deep) !important;
    border-color: var(--accent) !important;
}

.form-control,
select,
textarea,
input[type='text'],
input[type='number'],
input[type='file'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='url'],
input[type='date'] {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    color: var(--text) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(24, 43, 86, 0.12) !important;
}

.edu-nav-link.is-active,
.guest-home-tabs button.is-active {
    color: var(--accent) !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    box-shadow: 0 10px 22px rgba(24, 43, 86, 0.18) !important;
}

.store-sale-badge,
.store-sale-badge.soft-badge,
.dashboard-chip,
.store-meta-chip,
.muted-chip {
    background: var(--accent-soft) !important;
    color: var(--primary) !important;
    border: 1px solid rgba(24, 43, 86, 0.18) !important;
    box-shadow: none !important;
}

.home-ref-footer {
    background:
        radial-gradient(circle at 12% 10%, rgba(28, 69, 125, 0.34), transparent 34%),
        linear-gradient(145deg, #06152f 0%, #071b3a 48%, #06142c 100%) !important;
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.12);
}

.home-ref-footer p,
.home-ref-footer span,
.home-ref-footer a,
.home-ref-footer h2,
.home-ref-footer h3,
.home-footer-feature-list strong,
.home-footer-support strong,
.home-footer-bottom strong,
.home-footer-social strong {
    color: #ffffff !important;
}

.home-footer-feature-list span,
.home-footer-support span,
.home-footer-bottom small,
.home-ref-footer p,
.home-footer-bottom > span {
    color: #c7d2e5 !important;
}

.home-footer-links a {
    color: #bfdbfe !important;
}

.home-footer-links a span {
    color: #ffffff !important;
}

.home-footer-links a:hover,
.home-footer-support a:hover,
.home-footer-social a:hover {
    color: #ffffff !important;
}

.home-footer-support a,
.home-footer-social strong,
.home-footer-bottom > span {
    color: #c7d2e5 !important;
}

.home-footer-feature-list i,
.home-footer-support i,
.home-footer-social a,
.home-footer-bottom i {
    border-color: rgba(37, 99, 235, 0.35) !important;
    color: #ffffff !important;
    background: rgba(10, 28, 59, 0.78) !important;
}

.home-ref-footer .home-footer-heading-line,
.home-ref-footer .home-footer-divider {
    background-image: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.85), transparent) !important;
}

.home-ref-footer-inner > *,
.home-footer-bottom article {
    border-color: rgba(170, 188, 214, 0.12) !important;
}

.home-footer-feature-list article {
    background: rgba(8, 28, 60, 0.5) !important;
    border-color: rgba(170, 188, 214, 0.1) !important;
    box-shadow: none !important;
}

.home-footer-bottom article {
    background: transparent !important;
    box-shadow: none !important;
}

.tone-purple,
.tone-indigo,
.tone-pink,
.tone-orange,
.tone-green,
.tone-blue,
.tone-violet,
.tone-teal,
.card-blue,
.card-green,
.card-pink,
.card-yellow,
.card-cyan,
.card-violet,
.card-magenta,
.card-orange {
    background: linear-gradient(135deg, var(--accent-soft), #ffffff) !important;
    color: var(--primary) !important;
}

.edu-navbar-menu-guest-home .edu-nav-link-guest-home,
.profile-page-shell .panel-stat-grid .panel-stat-card,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-purple,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-indigo,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-pink,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-violet,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    background:
        radial-gradient(circle at 16% 12%, rgba(37, 99, 235, 0.34), transparent 34%),
        linear-gradient(145deg, #132447 0%, #1b3566 58%, #244179 100%) !important;
    color: #ffffff !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(2n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    background:
        radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.38), transparent 35%),
        linear-gradient(145deg, #172b54 0%, #234573 62%, #2f5d88 100%) !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(3n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green {
    background:
        radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.32), transparent 35%),
        linear-gradient(145deg, #101d3b 0%, #203b6e 58%, #3d5f92 100%) !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card span,
.profile-page-shell .panel-stat-grid .panel-stat-card strong,
.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover span,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover strong,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    color: #ffffff !important;
    opacity: 1 !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    color: rgba(255, 246, 223, 0.86) !important;
}

.profile-page-shell .profile-info-card,
.profile-page-shell .panel-profile-card,
.profile-page-shell .profile-management-card,
.profile-page-shell .profile-details-card,
.profile-page-shell .profile-form-card,
.profile-page-shell .profile-finance-card,
.profile-page-shell .panel-list-card,
.profile-page-shell .panel-subscription-card {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    color: var(--primary) !important;
}

.profile-page-shell .profile-info-card::before,
.profile-page-shell .panel-profile-card::before {
    display: none !important;
}

.profile-page-shell .profile-info-avatar,
.profile-page-shell .panel-profile-avatar {
    background: linear-gradient(135deg, #ffffff, #eef1f5) !important;
    color: var(--primary) !important;
    border-color: #d7dce3 !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-purple,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-indigo,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-pink,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-violet,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    background: #182B51 !important;
    background-image: none !important;
    border-color: rgba(37, 99, 235, 0.28) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(16, 29, 59, 0.16) !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(2n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-orange,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-teal {
    background: #132447 !important;
    background-image: none !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:nth-child(3n),
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-blue,
.profile-page-shell .panel-stat-grid .panel-stat-card.tone-green {
    background: #182B51 !important;
    background-image: none !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card::after {
    display: none !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card:hover {
    background: #0d1b36 !important;
    background-image: none !important;
    border-color: rgba(37, 99, 235, 0.45) !important;
    color: #ffffff !important;
    box-shadow: 0 22px 44px rgba(16, 29, 59, 0.24) !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card span,
.profile-page-shell .panel-stat-grid .panel-stat-card strong,
.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover span,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover strong,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    color: #ffffff !important;
}

.profile-page-shell .panel-stat-grid .panel-stat-card small,
.profile-page-shell .panel-stat-grid .panel-stat-card:hover small {
    color: rgba(37, 99, 235, 0.82) !important;
}

.profile-page-shell .profile-info-copy p,
.profile-page-shell .profile-info-copy span {
    color: var(--muted) !important;
}

.profile-page-shell .profile-details-grid div,
.profile-page-shell .panel-list-row {
    background: #f5f6f8 !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    color: var(--primary) !important;
}

.profile-page-shell .profile-details-grid div:nth-child(2n),
.profile-page-shell .panel-list-row:nth-child(2n) {
    background: #ffffff !important;
}

.profile-page-shell .profile-management-link,
.profile-page-shell .profile-management-link:nth-child(2n) {
    background: #182B51 !important;
    background-image: none !important;
    border-color: rgba(37, 99, 235, 0.28) !important;
    color: #ffffff !important;
}

.profile-page-shell .profile-management-link:hover,
.profile-page-shell .profile-management-link:focus-visible {
    background: #0d1b36 !important;
    background-image: none !important;
    border-color: rgba(37, 99, 235, 0.45) !important;
}

.profile-page-shell .profile-management-link strong,
.profile-page-shell .profile-management-link span,
.profile-page-shell .profile-management-link small,
.profile-page-shell .profile-management-link:hover strong,
.profile-page-shell .profile-management-link:hover span,
.profile-page-shell .profile-management-link:hover small {
    color: #ffffff !important;
}

/* Exam management neutral cards + organizational buttons */
.exam-management-shell {
    background: #f5f6f8 !important;
    background-image: none !important;
}

.exam-management-shell .exam-list-card,
.exam-management-shell .exam-filter-panel {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    box-shadow: var(--shadow) !important;
}

.exam-management-shell .exam-list-toolbar,
.exam-management-shell .exam-list-table-wrap {
    background: #ffffff !important;
}

.exam-management-shell .exam-list-table td {
    background: #ffffff !important;
    border-color: #d7dce3 !important;
    color: var(--primary) !important;
}

.exam-management-shell .exam-list-table tbody tr:nth-child(even) td {
    background: #f5f6f8 !important;
}

.exam-management-shell .exam-row:hover td {
    background: #eef1f5 !important;
    border-color: #cfd6df !important;
    color: var(--primary) !important;
    box-shadow: none !important;
}

.exam-management-shell .exam-code-stack strong,
.exam-management-shell .exam-title-cell strong,
.exam-management-shell .exam-row:hover .exam-code-stack strong,
.exam-management-shell .exam-row:hover .exam-title-cell strong {
    color: var(--primary) !important;
}

.exam-management-shell .exam-code-stack small,
.exam-management-shell .exam-title-cell small,
.exam-management-shell .exam-row:hover .exam-code-stack small,
.exam-management-shell .exam-row:hover .exam-title-cell small {
    color: var(--muted) !important;
}

.exam-management-shell .exam-create-btn,
.exam-management-shell .exam-combine-btn,
.exam-management-shell .exam-filter-toggle,
.exam-management-shell .exam-filter-close,
.exam-management-shell .exam-filter-buttons .btn,
.exam-management-shell .exam-list-tab.is-active,
.exam-management-shell .exam-icon-btn:hover,
.exam-management-shell .exam-icon-btn:focus-visible {
    background: #182B51 !important;
    border-color: #182B51 !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-create-btn:hover,
.exam-management-shell .exam-create-btn:focus-visible,
.exam-management-shell .exam-combine-btn:hover,
.exam-management-shell .exam-combine-btn:focus-visible,
.exam-management-shell .exam-filter-toggle:hover,
.exam-management-shell .exam-filter-toggle:focus-visible,
.exam-management-shell .exam-filter-close:hover,
.exam-management-shell .exam-filter-close:focus-visible,
.exam-management-shell .exam-filter-buttons .btn:hover,
.exam-management-shell .exam-filter-buttons .btn:focus-visible,
.exam-management-shell .exam-list-tab.is-active:hover,
.exam-management-shell .exam-list-tab.is-active:focus-visible {
    background: #0d1b36 !important;
    border-color: #0d1b36 !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-list-tab {
    background: #f5f6f8 !important;
    color: #182B51 !important;
    border: 1px solid #d7dce3 !important;
}

.exam-management-shell .exam-list-tab:hover,
.exam-management-shell .exam-list-tab:focus-visible {
    background: #182B51 !important;
    color: #ffffff !important;
    border-color: #182B51 !important;
}

.exam-management-shell .exam-list-summary,
.exam-management-shell .exam-status-pill.is-online,
.exam-management-shell .exam-status-pill.is-print {
    background: #f5f6f8 !important;
    border: 1px solid #d7dce3 !important;
    color: #182B51 !important;
}

.exam-management-shell .exam-row:hover .exam-status-pill {
    background: #ffffff !important;
    color: #182B51 !important;
}

.exam-management-shell .exam-icon-btn,
.exam-management-shell .exam-row:hover .exam-icon-btn {
    color: #182B51 !important;
}

.exam-management-shell .exam-row:hover .exam-icon-btn:hover,
.exam-management-shell .exam-row:hover .exam-icon-btn:focus-visible {
    background: #182B51 !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-icon-btn.is-danger {
    color: #b91c1c !important;
}

.exam-management-shell .exam-icon-btn.is-danger:hover,
.exam-management-shell .exam-icon-btn.is-danger:focus-visible {
    background: #182B51 !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-row:hover td,
.exam-management-shell .exam-list-table tbody tr:nth-child(even):hover td {
    border-color: #d7dce3 !important;
    color: var(--primary) !important;
    box-shadow: none !important;
}

.exam-management-shell .exam-row:hover td {
    background: #ffffff !important;
}

.exam-management-shell .exam-list-table tbody tr:nth-child(even):hover td {
    background: #f5f6f8 !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) td,
.exam-management-shell .exam-list-table tbody tr.exam-row:has(.exam-row-checkbox:checked):nth-child(even) td,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover td {
    background:
        radial-gradient(circle at 12% 16%, rgba(37, 99, 235, 0.16), transparent 28%),
        linear-gradient(135deg, #182B51 0%, #132447 56%, #0d1b36 100%) !important;
    border-color: rgba(37, 99, 235, 0.34) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-code-stack strong,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-title-cell strong,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-code-stack small,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-title-cell small,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-icon-btn,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-code-stack strong,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-title-cell strong,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-code-stack small,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-title-cell small,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-icon-btn {
    color: #ffffff !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked) .exam-status-pill,
.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-status-pill {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1e3a8a !important;
}

.exam-management-shell .exam-row-checkbox {
    accent-color: #182B51 !important;
}

.exam-management-shell .exam-create-btn,
.exam-management-shell .exam-combine-btn,
.exam-management-shell .exam-combine-btn:disabled,
.exam-management-shell .exam-list-summary {
    background: #182B51 !important;
    background-image: none !important;
    border-color: #182B51 !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-list-summary strong,
.exam-management-shell .exam-list-summary span {
    color: #ffffff !important;
}

.exam-management-shell .exam-combine-btn:disabled {
    opacity: 0.65 !important;
}

.exam-management-shell .exam-row:hover td {
    background: #ffffff !important;
    border-color: #d7dce3 !important;
    color: var(--primary) !important;
    box-shadow: none !important;
}

.exam-management-shell .exam-list-table tbody tr.exam-row:nth-child(even):hover td {
    background: #f5f6f8 !important;
}

.exam-management-shell .exam-row:hover .exam-status-pill.is-online {
    background: #f5f6f8 !important;
    border: 1px solid #d7dce3 !important;
    color: #182B51 !important;
}

.exam-management-shell .exam-row:hover .exam-status-pill.is-print {
    background: #f5f6f8 !important;
    border: 1px solid #d7dce3 !important;
    color: #182B51 !important;
}

.exam-management-shell .exam-row:hover .exam-icon-btn {
    background: transparent !important;
    color: #182B51 !important;
    transform: none !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover td {
    background:
        radial-gradient(circle at 12% 16%, rgba(37, 99, 235, 0.16), transparent 28%),
        linear-gradient(135deg, #182B51 0%, #132447 56%, #0d1b36 100%) !important;
    border-color: rgba(37, 99, 235, 0.34) !important;
    color: #ffffff !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-status-pill {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1e3a8a !important;
}

.exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover .exam-icon-btn {
    color: #ffffff !important;
}
.edu-navbar-menu-guest-home .edu-nav-trigger {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #182b56 !important;
    font-family: "IRANYekan", "IRANSans", var(--font-fa) !important;
    font-size: 0.79rem !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
}

.edu-navbar-menu-guest-home .edu-nav-link-guest-home:hover,
.edu-navbar-menu-guest-home .edu-nav-trigger:hover,
.edu-navbar-menu-guest-home .edu-nav-link-guest-home:focus-visible,
.edu-navbar-menu-guest-home .edu-nav-trigger:focus-visible {
    background: #ffffff !important;
    color: #182b56 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.edu-navbar-menu-guest-home .edu-nav-caret {
    font-size: 0.62rem !important;
    color: #182b56 !important;
}

.edu-navbar-menu-guest-home {
    gap: 22px !important;
}

/* Phase 2 - Day 1: authenticated-app visual scale, neutral surfaces, rectangular controls. */
html.authenticated-app {
    font-size: 110%;
}

body.phase-two-day-one {
    --accent: #2563eb;
    --accent-soft: #eff6ff;
    --radius-xl: 16px;
    --radius-lg: 14px;
    --radius-md: 10px;
    --radius-pill: 10px;
    background: #f5f6f8 !important;
}

body.phase-two-day-one .site-bg {
    background:
        radial-gradient(circle at 14% 8%, rgba(24, 43, 81, 0.035), transparent 28%),
        linear-gradient(180deg, #f8f9fb 0%, #eef1f4 100%) !important;
}

body.phase-two-day-one .edu-navbar-shell,
body.phase-two-day-one .app-shell,
body.phase-two-day-one .app-shell-guest-home,
body.phase-two-day-one .home-reference-build,
body.phase-two-day-one .dashboard-workbench-main {
    background-color: transparent !important;
}

body.phase-two-day-one .dashboard-hero-card,
body.phase-two-day-one .panel-hero,
body.phase-two-day-one .panel-affiliate-cta,
body.phase-two-day-one .home-consult-v3,
body.phase-two-day-one .home-reference-consult,
body.phase-two-day-one .home-exact-consult,
body.phase-two-day-one .guest-school-card,
body.phase-two-day-one .package-price-hero,
body.phase-two-day-one .store-card-image,
body.phase-two-day-one .store-plan-chip,
body.phase-two-day-one .purchase-plan-off {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    color: #182b51 !important;
}

body.phase-two-day-one .guest-stats-bar,
body.phase-two-day-one .dashboard-workbench-main,
body.phase-two-day-one .exam-option-card:hover,
body.phase-two-day-one .exam-option-card.is-selected {
    background-image: none !important;
}

body.phase-two-day-one .guest-home-slider-lines span:nth-child(1),
body.phase-two-day-one .exam-option-badge,
body.phase-two-day-one .tone-orange,
body.phase-two-day-one .tone-lime,
body.phase-two-day-one .tone-cyan {
    background: #e7ebf0 !important;
    background-image: none !important;
    border-color: #d7dce3 !important;
    color: #182b51 !important;
}

body.phase-two-day-one .dashboard-workbench-brand,
body.phase-two-day-one .dashboard-workbench-menu a:hover,
body.phase-two-day-one .dashboard-workbench-menu a.is-active,
body.phase-two-day-one .edu-nav-link:hover,
body.phase-two-day-one .edu-nav-link.is-active,
body.phase-two-day-one .btn-primary,
body.phase-two-day-one .cta-orange,
body.phase-two-day-one .builder-submit-bar .btn,
body.phase-two-day-one .exam-management-shell .exam-create-btn,
body.phase-two-day-one .exam-management-shell .exam-combine-btn,
body.phase-two-day-one .exam-management-shell .exam-list-summary,
body.phase-two-day-one .exam-management-shell .exam-list-summary strong,
body.phase-two-day-one .exam-management-shell .exam-list-summary span {
    color: #ffffff !important;
}

body.phase-two-day-one .dashboard-workbench-menu a:hover,
body.phase-two-day-one .dashboard-workbench-menu a.is-active {
    background: rgba(255, 255, 255, 0.14) !important;
}

body.phase-two-day-one .exam-management-shell .exam-row:has(.exam-row-checkbox:checked) td,
body.phase-two-day-one .exam-management-shell .exam-row:has(.exam-row-checkbox:checked):hover td {
    background: linear-gradient(135deg, #182b51 0%, #132447 58%, #0d1b36 100%) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

body.phase-two-day-one .exam-management-shell .exam-row:has(.exam-row-checkbox:checked) :is(
    .exam-code-stack strong,
    .exam-title-cell strong,
    .exam-code-stack small,
    .exam-title-cell small,
    .exam-icon-btn,
    .exam-status-pill
) {
    color: #ffffff !important;
}

body.phase-two-day-one :is(
    .btn,
    .cta-pill,
    .btn-secondary,
    .cta-light,
    .cta-orange,
    .edu-nav-link,
    .edu-auth-btn,
    .edu-user-label,
    .edu-user-logout,
    .store-add-button,
    .store-tab-pill,
    .builder-choice-pill,
    .builder-filter-choice-pill,
    .exam-create-btn,
    .exam-combine-btn,
    .exam-filter-toggle,
    .exam-list-tab,
    button:not(.edu-bell-btn):not(.edu-user-avatar)
) {
    border-radius: 10px !important;
}

body.phase-two-day-one :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
) {
    border-radius: 10px !important;
}

body.phase-two-day-one :is(
    .card,
    .content-card,
    .outline-card,
    .dashboard-hero-card,
    .panel-hero,
    .panel-action-card,
    .panel-stat-card,
    .feature-tool-card,
    .store-product-card,
    .package-card,
    .question-card,
    .stat-card,
    .option-card,
    .list-row,
    .builder-step-card
) {
    border-radius: 14px !important;
}

@media (max-width: 760px) {
    html.authenticated-app {
        font-size: 106.25%;
    }
}

/* Phase 2 - Day 2: compact primary navigation and reference dashboard ordering. */
body.phase-two-day-two .edu-navbar {
    gap: 14px !important;
    padding: 10px 16px !important;
    border-radius: 14px !important;
}

body.phase-two-day-two .edu-navbar-shell {
    padding-top: 10px !important;
}

body.phase-two-day-two .site-logo {
    height: 32px !important;
}

body.phase-two-day-two .edu-navbar-brand {
    gap: 8px !important;
}

body.phase-two-day-two .edu-brand-text {
    gap: 1px !important;
}

body.phase-two-day-two .edu-brand-text strong {
    font-size: 0.88rem !important;
}

body.phase-two-day-two .edu-brand-text small {
    font-size: 0.66rem !important;
}

body.phase-two-day-two .edu-navbar-menu {
    gap: 4px !important;
}

body.phase-two-day-two .edu-nav-link {
    min-height: 34px !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    font-size: 0.78rem !important;
}

body.phase-two-day-two .edu-navbar-user,
body.phase-two-day-two .edu-account-chip,
body.phase-two-day-two .edu-user-name-row {
    gap: 7px !important;
}

body.phase-two-day-two .edu-user-balance,
body.phase-two-day-two .edu-user-label,
body.phase-two-day-two .edu-user-logout {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font-size: 0.74rem !important;
}

body.phase-two-day-two .edu-bell-btn,
body.phase-two-day-two .edu-user-avatar {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) {
    min-height: 560px;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-main {
    padding: 24px 22px 22px;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-head {
    padding-bottom: 14px;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-title {
    gap: 3px;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-title h1 {
    font-size: clamp(1.1rem, 0.98rem + 0.35vw, 1.42rem);
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-title p {
    font-size: 0.78rem;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-grid {
    gap: 10px;
}

body.phase-two-day-two .dashboard-workbench-shell--student .dashboard-workbench-grid {
    grid-template-columns: repeat(5, minmax(118px, 1fr));
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-card {
    min-height: 118px;
    padding: 11px 8px 10px;
    gap: 7px;
    border-radius: 10px !important;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-icon {
    width: 36px;
    height: 36px;
    background: #eef1f4;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-icon svg {
    width: 20px;
    height: 20px;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-card strong {
    font-size: 0.78rem;
}

body.phase-two-day-two :is(
    .dashboard-workbench-shell--school,
    .dashboard-workbench-shell--student
) .dashboard-workbench-card small {
    max-width: 132px;
    font-size: 0.64rem;
    line-height: 1.55;
}

body.phase-two-day-two .dashboard-tool-placeholder {
    max-width: 860px;
    margin: 28px auto;
}

body.phase-two-day-two .dashboard-tool-placeholder-card {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: var(--shadow);
}

body.phase-two-day-two .dashboard-tool-placeholder-eyebrow {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f3f5f7;
    color: var(--primary);
    font-size: 0.76rem;
    font-weight: 800;
}

body.phase-two-day-two .dashboard-tool-placeholder-card h1 {
    margin: 16px 0 8px;
}

body.phase-two-day-two .dashboard-tool-placeholder-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.9;
}

body.phase-two-day-two .dashboard-tool-placeholder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 1100px) {
    body.phase-two-day-two .dashboard-workbench-shell--student .dashboard-workbench-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.phase-two-day-two .edu-navbar {
        padding: 10px 12px !important;
    }

    body.phase-two-day-two .dashboard-workbench-shell--student .dashboard-workbench-grid {
        grid-template-columns: 1fr;
    }
}

/* Phase 2 - Day 8: base exam settings management. */
body.phase-two-day-eight .exam-basic-settings-shell {
    display: grid;
    gap: 16px;
    max-width: 1120px;
    margin: 0 auto;
    direction: rtl;
}

body.phase-two-day-eight .exam-basic-settings-header,
body.phase-two-day-eight .exam-basic-settings-card {
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-eight .exam-basic-settings-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
}

body.phase-two-day-eight .exam-basic-settings-header span {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
}

body.phase-two-day-eight .exam-basic-settings-header h1 {
    margin: 4px 0;
    color: #182b51;
    font-size: 1.35rem;
}

body.phase-two-day-eight .exam-basic-settings-header p {
    margin: 0;
    color: #64748b;
}

body.phase-two-day-eight .exam-basic-settings-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.phase-two-day-eight .exam-basic-settings-full {
    grid-column: 1 / -1;
}

body.phase-two-day-eight .exam-basic-settings-card {
    padding: 18px;
}

body.phase-two-day-eight details.exam-basic-settings-card > summary {
    cursor: pointer;
    color: #182b51;
    font-weight: 900;
}

body.phase-two-day-eight .exam-basic-settings-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-eight .exam-basic-settings-section-head strong {
    color: #182b51;
}

body.phase-two-day-eight .exam-basic-settings-section-head span {
    color: #64748b;
    font-size: 0.78rem;
}

body.phase-two-day-eight .exam-basic-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.phase-two-day-eight .exam-basic-settings-time-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.phase-two-day-eight .exam-basic-settings-extra {
    margin-top: 18px;
}

body.phase-two-day-eight .exam-basic-settings-type > span {
    display: block;
    margin-bottom: 8px;
    font-weight: 800;
}

body.phase-two-day-eight .exam-basic-settings-type > label {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 4px 10px;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #d7dce3;
    border-radius: 10px;
    background: #f8fafc;
    cursor: pointer;
}

body.phase-two-day-eight .exam-basic-settings-type input {
    grid-row: 1 / span 2;
    width: 20px;
    height: 20px;
}

body.phase-two-day-eight .exam-basic-settings-type small,
body.phase-two-day-eight .exam-basic-settings-card .help-text {
    color: #64748b;
    font-size: 0.72rem;
}

body.phase-two-day-eight .exam-basic-settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 900px) {
    body.phase-two-day-eight .exam-basic-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.phase-two-day-eight .exam-basic-settings-header {
        align-items: stretch;
        flex-direction: column;
    }

    body.phase-two-day-eight .exam-basic-settings-form,
    body.phase-two-day-eight .exam-basic-settings-grid,
    body.phase-two-day-eight .exam-basic-settings-time-grid {
        grid-template-columns: 1fr;
    }
}

/* Phase 2 - Day 9: technical online-exam delivery settings. */
body.phase-two-day-nine .exam-technical-settings-card {
    display: grid;
    gap: 16px;
}

body.phase-two-day-nine .exam-technical-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-nine .exam-technical-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #d7dce3;
    border-radius: 10px;
    background: #f8fafc;
    color: #182b51;
    font-weight: 800;
    cursor: pointer;
}

body.phase-two-day-nine .exam-technical-toggle input {
    width: 20px;
    height: 20px;
}

body.phase-two-day-nine .online-exam-remaining {
    border-color: #f59e0b !important;
    background: #fffbeb !important;
}

body.phase-two-day-nine .online-exam-remaining strong {
    min-width: 64px;
    color: #92400e;
    direction: ltr;
    font-variant-numeric: tabular-nums;
}

body.phase-two-day-nine .exam-result-share {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #ffffff;
}

body.phase-two-day-nine .exam-result-share strong {
    color: #182b51;
}

body.phase-two-day-nine .exam-result-share p {
    margin: 0;
    color: #64748b;
}

body.phase-two-day-nine .exam-result-share input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    direction: ltr;
    text-align: left;
}

@media (max-width: 640px) {
    body.phase-two-day-nine .exam-technical-toggle-grid {
        grid-template-columns: 1fr;
    }
}

/* Phase 2 - Day 10: thematic report card by subject and topic. */
body.phase-two-day-ten .thematic-report-shell {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid #d7dce3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-ten .thematic-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.phase-two-day-ten .thematic-summary-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #f8fafc;
}

body.phase-two-day-ten .thematic-summary-card > div,
body.phase-two-day-ten .thematic-summary-card li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-ten .thematic-summary-card > div > span,
body.phase-two-day-ten .thematic-summary-card li span {
    color: #334155;
    font-weight: 800;
}

body.phase-two-day-ten .thematic-summary-card > div > strong {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 1.05rem;
}

body.phase-two-day-ten .thematic-summary-card ul {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

body.phase-two-day-ten .thematic-summary-card li {
    padding-top: 8px;
    border-top: 1px solid rgba(148, 163, 184, 0.3);
    font-size: 0.78rem;
}

body.phase-two-day-ten .thematic-summary-card p {
    margin: 14px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

body.phase-two-day-ten .thematic-summary-card.is-strength {
    border-color: #86efac;
    background: #f0fdf4;
}

body.phase-two-day-ten .thematic-summary-card.is-strength > div > strong {
    background: #dcfce7;
    color: #166534;
}

body.phase-two-day-ten .thematic-summary-card.is-weakness {
    border-color: #fca5a5;
    background: #fef2f2;
}

body.phase-two-day-ten .thematic-summary-card.is-weakness > div > strong {
    background: #fee2e2;
    color: #991b1b;
}

body.phase-two-day-ten .thematic-summary-card.is-practice {
    border-color: #fcd34d;
    background: #fffbeb;
}

body.phase-two-day-ten .thematic-summary-card.is-practice > div > strong {
    background: #fef3c7;
    color: #92400e;
}

body.phase-two-day-ten .thematic-subject-list {
    display: grid;
    gap: 14px;
}

body.phase-two-day-ten .thematic-subject-card {
    overflow: hidden;
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #ffffff;
}

body.phase-two-day-ten .thematic-subject-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 18px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

body.phase-two-day-ten .thematic-subject-card > header span {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 800;
}

body.phase-two-day-ten .thematic-subject-card h3 {
    margin: 3px 0 0;
    color: #182b51;
    font-size: 1.08rem;
}

body.phase-two-day-ten .thematic-subject-score {
    display: grid;
    min-width: 108px;
    padding: 8px 12px;
    border-radius: 10px;
    text-align: center;
}

body.phase-two-day-ten .thematic-subject-score.is-strength,
body.phase-two-day-ten .thematic-status.is-strength {
    background: #dcfce7;
    color: #166534;
}

body.phase-two-day-ten .thematic-subject-score.is-weakness,
body.phase-two-day-ten .thematic-status.is-weakness {
    background: #fee2e2;
    color: #991b1b;
}

body.phase-two-day-ten .thematic-subject-score.is-practice,
body.phase-two-day-ten .thematic-status.is-practice {
    background: #fef3c7;
    color: #92400e;
}

body.phase-two-day-ten .thematic-subject-score.is-pending,
body.phase-two-day-ten .thematic-status.is-pending {
    background: #e2e8f0;
    color: #475569;
}

body.phase-two-day-ten .thematic-subject-score strong {
    font-size: 1.05rem;
}

body.phase-two-day-ten .thematic-subject-score span {
    color: inherit;
}

body.phase-two-day-ten .thematic-topic-table-wrap {
    overflow-x: auto;
}

body.phase-two-day-ten .thematic-subject-analysis {
    display: grid;
    grid-template-columns: minmax(300px, 0.75fr) minmax(480px, 1.25fr);
    gap: 12px;
    padding: 12px;
}

body.phase-two-day-ten .thematic-subject-chart {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 11px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #f8fafc;
}

body.phase-two-day-ten .thematic-subject-chart figcaption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #182b51;
    font-size: 0.68rem;
}

body.phase-two-day-ten .thematic-subject-chart figcaption span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #64748b;
    font-size: 0.59rem;
}

body.phase-two-day-ten .thematic-subject-chart figcaption i {
    width: 16px;
    border-top: 2px dotted #7c3aed;
}

body.phase-two-day-ten .thematic-subject-chart svg {
    width: 100%;
    min-height: 210px;
    overflow: visible;
}

body.phase-two-day-ten .thematic-subject-chart svg line {
    stroke: #d4dbe5;
    stroke-width: 1;
}

body.phase-two-day-ten .thematic-subject-chart svg rect {
    fill: #7dd3fc;
    opacity: 0.82;
}

body.phase-two-day-ten .thematic-subject-chart svg rect.is-below-average {
    fill: #fda4af;
}

body.phase-two-day-ten .thematic-subject-chart svg polyline {
    fill: none;
    stroke: #7c3aed;
    stroke-width: 3;
    stroke-dasharray: 5 5;
}

body.phase-two-day-ten .thematic-subject-chart svg circle {
    fill: #ffffff;
    stroke: #7c3aed;
    stroke-width: 3;
}

body.phase-two-day-ten .thematic-subject-chart svg text {
    fill: #475569;
    font-family: inherit;
    font-size: 8px;
    text-anchor: middle;
}

body.phase-two-day-ten .thematic-topic-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    white-space: nowrap;
}

body.phase-two-day-ten .thematic-topic-table th,
body.phase-two-day-ten .thematic-topic-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-ten .thematic-topic-table th:first-child,
body.phase-two-day-ten .thematic-topic-table td:first-child {
    text-align: right;
}

body.phase-two-day-ten .thematic-topic-table th {
    color: #64748b;
    font-size: 0.75rem;
}

body.phase-two-day-ten .thematic-topic-table tbody tr:last-child td {
    border-bottom: 0;
}

body.phase-two-day-ten .thematic-status {
    display: inline-flex;
    justify-content: center;
    min-width: 98px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 0.74rem;
    font-weight: 900;
}

body.phase-two-day-ten .thematic-empty-state {
    padding: 24px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #64748b;
    text-align: center;
}

@media (max-width: 900px) {
    body.phase-two-day-ten .thematic-summary-grid {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-ten .thematic-subject-analysis {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.phase-two-day-ten .thematic-report-shell {
        padding: 14px;
    }

    body.phase-two-day-ten .thematic-subject-card > header {
        align-items: stretch;
        flex-direction: column;
    }

    body.phase-two-day-ten .thematic-subject-score {
        width: 100%;
    }
}

/* Phase 2 - Day 11: participant comparison charts and topic details. */
body.phase-two-day-eleven .thematic-comparison-shell {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #f8fafc;
}

body.phase-two-day-eleven .thematic-comparison-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

body.phase-two-day-eleven .thematic-comparison-head h3 {
    margin: 0 0 5px;
    color: #182b51;
    font-size: 1.02rem;
}

body.phase-two-day-eleven .thematic-comparison-head p {
    margin: 0;
    color: #64748b;
    font-size: 0.8rem;
}

body.phase-two-day-eleven .thematic-comparison-legend {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

body.phase-two-day-eleven .thematic-comparison-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

body.phase-two-day-eleven .thematic-comparison-legend i {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

body.phase-two-day-eleven .thematic-comparison-legend .is-student,
body.phase-two-day-eleven .thematic-comparison-bars .is-student {
    background: #2563eb;
}

body.phase-two-day-eleven .thematic-comparison-legend .is-average,
body.phase-two-day-eleven .thematic-comparison-bars .is-average {
    background: #94a3b8;
}

body.phase-two-day-eleven .thematic-comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-eleven .thematic-comparison-card {
    overflow: hidden;
    border: 1px solid #d7dce3;
    border-radius: 12px;
    background: #ffffff;
}

body.phase-two-day-eleven .thematic-comparison-card > summary {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) 72px minmax(96px, auto);
    align-items: center;
    gap: 12px;
    min-height: 112px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}

body.phase-two-day-eleven .thematic-comparison-card > summary::-webkit-details-marker {
    display: none;
}

body.phase-two-day-eleven .thematic-comparison-card > summary::after {
    content: "مشاهده جزئیات";
    grid-column: 1 / -1;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 900;
}

body.phase-two-day-eleven .thematic-comparison-card[open] > summary::after {
    content: "بستن جزئیات";
}

body.phase-two-day-eleven .thematic-comparison-label,
body.phase-two-day-eleven .thematic-comparison-values {
    display: grid;
    gap: 4px;
}

body.phase-two-day-eleven .thematic-comparison-label strong,
body.phase-two-day-eleven .thematic-comparison-values strong {
    color: #182b51;
}

body.phase-two-day-eleven .thematic-comparison-label small,
body.phase-two-day-eleven .thematic-comparison-values small {
    color: #64748b;
    font-size: 0.72rem;
}

body.phase-two-day-eleven .thematic-comparison-values {
    text-align: left;
}

body.phase-two-day-eleven .thematic-comparison-bars {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 7px;
    height: 76px;
    padding-top: 5px;
    border-bottom: 1px solid #cbd5e1;
}

body.phase-two-day-eleven .thematic-comparison-bars i {
    width: 18px;
    min-height: 2px;
    border-radius: 5px 5px 0 0;
}

body.phase-two-day-eleven .thematic-topic-details {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

body.phase-two-day-eleven .thematic-details-copy {
    display: none;
}

body.phase-two-day-eleven .thematic-topic-details > div {
    display: grid;
    gap: 4px;
    padding: 9px;
    border-radius: 8px;
    background: #ffffff;
    text-align: center;
}

body.phase-two-day-eleven .thematic-topic-details span {
    color: #64748b;
    font-size: 0.68rem;
}

body.phase-two-day-eleven .thematic-topic-details strong {
    color: #182b51;
}

body.phase-two-day-eleven .thematic-topic-details strong.is-positive {
    color: #15803d;
}

body.phase-two-day-eleven .thematic-topic-details strong.is-negative {
    color: #b91c1c;
}

@media (max-width: 900px) {
    body.phase-two-day-eleven .thematic-comparison-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.phase-two-day-eleven .thematic-comparison-head {
        flex-direction: column;
    }

    body.phase-two-day-eleven .thematic-comparison-card > summary {
        grid-template-columns: minmax(100px, 1fr) 64px minmax(88px, auto);
        padding: 10px;
    }

    body.phase-two-day-eleven .thematic-topic-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Online exam report dashboards: student, teacher and school views. */
body.phase-two-day-eleven .student-report-overview,
body.phase-two-day-eleven .student-report-chart-card,
body.phase-two-day-eleven .advanced-school-report .school-report-overview,
body.phase-two-day-eleven .advanced-school-report .school-report-section {
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(24, 43, 81, 0.055);
}

/* Formal student scorecard: single-subject and multi-subject exams. */
body.phase-two-day-eleven .student-formal-scorecard {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid #b8c0ca;
    border-radius: 14px;
    background: #fff;
    color: #27313f;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

body.phase-two-day-eleven .student-formal-title,
body.phase-two-day-eleven .student-formal-table-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-eleven .student-formal-title {
    padding-bottom: 10px;
    border-bottom: 2px solid #182b51;
}

body.phase-two-day-eleven .student-formal-title span {
    color: #64748b;
    font-size: 0.72rem;
}

body.phase-two-day-eleven .student-formal-title h2,
body.phase-two-day-eleven .student-formal-table-title h3,
body.phase-two-day-eleven .student-formal-chart h3 {
    margin: 0;
    color: #182b51;
}

body.phase-two-day-eleven .student-formal-title h2 {
    margin-top: 2px;
    font-size: 1.08rem;
}

body.phase-two-day-eleven .student-formal-title > strong {
    font-size: 0.8rem;
}

body.phase-two-day-eleven .student-formal-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    padding: 1px;
    background: #cbd5e1;
    border-radius: 8px;
}

body.phase-two-day-eleven .student-formal-summary > div {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 7px 9px;
    background: #fff;
    font-size: 0.69rem;
}

body.phase-two-day-eleven .student-formal-summary span {
    color: #64748b;
}

body.phase-two-day-eleven .student-formal-summary strong {
    overflow: hidden;
    color: #172033;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.phase-two-day-eleven .student-formal-dashboard {
    display: grid;
    grid-template-columns: minmax(310px, 0.9fr) minmax(460px, 1.25fr);
    gap: 12px;
    align-items: stretch;
}

body.phase-two-day-eleven .student-formal-chart,
body.phase-two-day-eleven .student-formal-subjects,
body.phase-two-day-eleven .student-formal-leaderboard {
    padding: 12px;
    border: 1px solid #b8c0ca;
    border-radius: 9px;
    background: #fff;
}

body.phase-two-day-eleven .student-formal-chart {
    display: grid;
    align-content: start;
    gap: 8px;
}

body.phase-two-day-eleven .student-formal-chart h3,
body.phase-two-day-eleven .student-formal-table-title h3 {
    font-size: 0.82rem;
}

body.phase-two-day-eleven .student-formal-chart svg {
    width: 100%;
    min-height: 190px;
    overflow: visible;
}

body.phase-two-day-eleven .student-formal-chart svg line {
    stroke: #d5dae2;
    stroke-width: 1;
}

body.phase-two-day-eleven .student-formal-chart svg polyline {
    fill: none;
    stroke: #0ea5b7;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.phase-two-day-eleven .student-formal-chart svg circle {
    fill: #0ea5b7;
    stroke: #fff;
    stroke-width: 2;
}

body.phase-two-day-eleven .student-formal-chart svg circle.is-current {
    fill: #db2777;
    stroke: #fce7f3;
    stroke-width: 4;
}

body.phase-two-day-eleven .student-formal-chart-labels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
    gap: 5px;
}

body.phase-two-day-eleven .student-formal-chart-labels span {
    display: grid;
    gap: 2px;
    padding: 5px;
    border-radius: 5px;
    color: #64748b;
    background: #f8fafc;
    font-size: 0.58rem;
    text-align: center;
}

body.phase-two-day-eleven .student-formal-chart-labels span.is-current {
    background: #fdf2f8;
    color: #9d174d;
}

body.phase-two-day-eleven .student-formal-table-title {
    margin-bottom: 8px;
}

body.phase-two-day-eleven .student-formal-table-title span {
    padding: 4px 8px;
    border-radius: 10px;
    color: #475569;
    background: #e8eef5;
    font-size: 0.62rem;
    font-weight: 800;
}

body.phase-two-day-eleven .student-formal-table-wrap {
    overflow-x: auto;
}

body.phase-two-day-eleven .student-formal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.67rem;
    text-align: center;
}

body.phase-two-day-eleven .student-formal-table th,
body.phase-two-day-eleven .student-formal-table td {
    padding: 7px 6px;
    border: 1px solid #aeb7c2;
    white-space: nowrap;
}

body.phase-two-day-eleven .student-formal-table th {
    color: #182b51;
    background: #dfe7ef;
    font-weight: 900;
}

body.phase-two-day-eleven .student-formal-table tbody tr:nth-child(even) {
    background: #f8fafc;
}

body.phase-two-day-eleven .student-formal-table tr.is-current-student {
    background: #eff6ff;
    box-shadow: inset 3px 0 #2563eb;
}

body.phase-two-day-eleven .student-formal-rank-notes {
    display: grid;
    gap: 3px;
    margin-top: 8px;
    color: #5b6470;
    font-size: 0.64rem;
}

body.phase-two-day-eleven .student-formal-rank-notes p {
    margin: 0;
}

body.phase-two-day-eleven .student-report-overview {
    display: grid;
    gap: 14px;
    padding: 18px;
}

body.phase-two-day-eleven .student-report-identity {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    overflow: hidden;
}

body.phase-two-day-eleven .student-report-identity > div {
    display: grid;
    gap: 5px;
    padding: 11px 13px;
    border-inline-end: 1px solid #cbd5e1;
    text-align: center;
}

body.phase-two-day-eleven .student-report-identity > div:last-child {
    border-inline-end: 0;
}

body.phase-two-day-eleven .student-report-identity span,
body.phase-two-day-eleven .student-report-kpis span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
}

body.phase-two-day-eleven .student-report-identity strong {
    color: #182b51;
    font-size: 0.84rem;
}

body.phase-two-day-eleven .student-report-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-eleven .student-report-kpis article {
    display: grid;
    align-content: center;
    gap: 6px;
    min-height: 84px;
    padding: 12px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
    text-align: center;
}

body.phase-two-day-eleven .student-report-kpis strong {
    color: #172554;
    font-size: 1rem;
}

body.phase-two-day-eleven .student-report-kpis article:nth-child(2) {
    background: #eff6ff;
    border-color: #bfdbfe;
}

body.phase-two-day-eleven .student-report-kpis article:nth-child(3),
body.phase-two-day-eleven .student-report-kpis article:nth-child(4) {
    background: #f5f3ff;
    border-color: #ddd6fe;
}

body.phase-two-day-eleven .student-report-visuals {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.7fr);
    gap: 14px;
}

body.phase-two-day-eleven .student-report-chart-card {
    min-width: 0;
    padding: 17px;
}

body.phase-two-day-eleven .student-report-chart-card header h2,
body.phase-two-day-eleven .advanced-school-report h2 {
    margin: 0 0 4px;
    color: #182b51;
    font-size: 1rem;
}

body.phase-two-day-eleven .student-report-chart-card header p,
body.phase-two-day-eleven .advanced-school-report header span,
body.phase-two-day-eleven .advanced-school-report header p {
    margin: 0;
    color: #64748b;
    font-size: 0.74rem;
}

body.phase-two-day-eleven .student-history-chart,
body.phase-two-day-eleven .school-trend-chart {
    width: 100%;
    height: 180px;
    margin-top: 12px;
    overflow: visible;
}

body.phase-two-day-eleven .student-history-chart line,
body.phase-two-day-eleven .school-trend-chart line {
    stroke: #dbe3ef;
    stroke-width: 1;
    stroke-dasharray: 4 5;
}

body.phase-two-day-eleven .student-history-chart polyline,
body.phase-two-day-eleven .school-trend-chart polyline {
    fill: none;
    stroke: #14b8a6;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.phase-two-day-eleven .student-history-chart circle,
body.phase-two-day-eleven .school-trend-chart circle {
    fill: #14b8a6;
    stroke: #ffffff;
    stroke-width: 2;
}

body.phase-two-day-eleven .student-history-chart circle.is-current,
body.phase-two-day-eleven .school-trend-chart circle.is-current {
    fill: #7c3aed;
}

body.phase-two-day-eleven .student-history-labels,
body.phase-two-day-eleven .school-trend-labels {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    overflow-x: auto;
}

body.phase-two-day-eleven .student-history-labels span,
body.phase-two-day-eleven .school-trend-labels span {
    display: grid;
    gap: 3px;
    min-width: 70px;
    color: #64748b;
    font-size: 0.62rem;
    text-align: center;
}

body.phase-two-day-eleven .student-history-labels strong,
body.phase-two-day-eleven .school-trend-labels strong {
    color: #0f766e;
}

body.phase-two-day-eleven .student-history-labels .is-current strong,
body.phase-two-day-eleven .school-trend-labels .is-current strong {
    color: #7c3aed;
}

body.phase-two-day-eleven .student-answer-distribution {
    display: grid;
    justify-items: center;
}

body.phase-two-day-eleven .student-answer-distribution header {
    width: 100%;
}

body.phase-two-day-eleven .student-answer-donut {
    display: grid;
    place-items: center;
    width: 174px;
    height: 174px;
    margin: 18px auto;
    border-radius: 50%;
    background: conic-gradient(
        #22c55e 0 var(--correct-end),
        #ef4444 var(--correct-end) var(--wrong-end),
        #cbd5e1 var(--wrong-end) var(--unanswered-end),
        #f59e0b var(--unanswered-end) var(--pending-end)
    );
}

body.phase-two-day-eleven .student-answer-donut::before {
    content: "";
    grid-area: 1 / 1;
    width: 112px;
    height: 112px;
    border-radius: 50%;
    background: #ffffff;
}

body.phase-two-day-eleven .student-answer-donut > div {
    z-index: 1;
    grid-area: 1 / 1;
    display: grid;
    gap: 2px;
    text-align: center;
}

body.phase-two-day-eleven .student-answer-donut strong {
    color: #182b51;
    font-size: 1.35rem;
}

body.phase-two-day-eleven .student-answer-donut span {
    color: #64748b;
    font-size: 0.7rem;
}

body.phase-two-day-eleven .student-answer-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

body.phase-two-day-eleven .student-answer-legend span {
    padding: 7px 9px;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.72rem;
    text-align: center;
}

body.phase-two-day-eleven .student-answer-legend .is-correct strong { color: #15803d; }
body.phase-two-day-eleven .student-answer-legend .is-wrong strong { color: #b91c1c; }
body.phase-two-day-eleven .student-answer-legend .is-unanswered strong { color: #64748b; }
body.phase-two-day-eleven .student-answer-legend .is-pending strong { color: #b45309; }

body.phase-two-day-eleven .advanced-school-report {
    gap: 16px;
}

body.phase-two-day-eleven .teacher-formal-report {
    display: grid;
    gap: 12px;
    color: #27313f;
}

body.phase-two-day-eleven .teacher-formal-report__title,
body.phase-two-day-eleven .teacher-formal-analysis article > header,
body.phase-two-day-eleven .teacher-class-rankings > header,
body.phase-two-day-eleven .teacher-student-errors > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-eleven .teacher-formal-report__title {
    padding: 0 2px 9px;
    border-bottom: 2px solid #182b51;
}

body.phase-two-day-eleven .teacher-formal-report__title span,
body.phase-two-day-eleven .teacher-formal-analysis header span,
body.phase-two-day-eleven .teacher-class-rankings header span,
body.phase-two-day-eleven .teacher-student-errors header span {
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-eleven .teacher-formal-report__title h2,
body.phase-two-day-eleven .teacher-formal-analysis h3,
body.phase-two-day-eleven .teacher-class-rankings h3,
body.phase-two-day-eleven .teacher-student-errors h3 {
    margin: 0;
    color: #182b51;
}

body.phase-two-day-eleven .teacher-formal-report__title h2 {
    margin-top: 2px;
    font-size: 1.05rem;
}

body.phase-two-day-eleven .teacher-formal-report__title > strong {
    font-size: 0.78rem;
}

body.phase-two-day-eleven .teacher-formal-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    padding: 1px;
    border-radius: 8px;
    background: #cbd5e1;
}

body.phase-two-day-eleven .teacher-formal-meta > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 7px 9px;
    background: #fff;
    font-size: 0.66rem;
}

body.phase-two-day-eleven .teacher-formal-meta span {
    color: #64748b;
}

body.phase-two-day-eleven .teacher-formal-meta strong {
    overflow: hidden;
    color: #172033;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.phase-two-day-eleven .teacher-formal-analysis {
    display: grid;
    grid-template-columns: minmax(290px, 0.72fr) minmax(590px, 1.45fr);
    gap: 12px;
    align-items: stretch;
}

body.phase-two-day-eleven .teacher-formal-analysis > article,
body.phase-two-day-eleven .teacher-class-rankings,
body.phase-two-day-eleven .teacher-student-errors {
    min-width: 0;
    padding: 12px;
    border: 1px solid #b8c0ca;
    border-radius: 9px;
    background: #fff;
}

body.phase-two-day-eleven .teacher-formal-analysis h3,
body.phase-two-day-eleven .teacher-class-rankings h3,
body.phase-two-day-eleven .teacher-student-errors h3 {
    font-size: 0.79rem;
}

body.phase-two-day-eleven .teacher-formal-trend svg {
    width: 100%;
    min-height: 190px;
    overflow: visible;
}

body.phase-two-day-eleven .teacher-formal-trend svg line {
    stroke: #d5dae2;
    stroke-width: 1;
}

body.phase-two-day-eleven .teacher-formal-trend svg polyline {
    fill: none;
    stroke: #17b8c9;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.phase-two-day-eleven .teacher-formal-trend svg circle {
    fill: #17b8c9;
    stroke: #fff;
    stroke-width: 2;
}

body.phase-two-day-eleven .teacher-formal-trend svg circle.is-current {
    fill: #db2777;
    stroke: #fce7f3;
    stroke-width: 4;
}

body.phase-two-day-eleven .teacher-formal-trend__labels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    gap: 5px;
}

body.phase-two-day-eleven .teacher-formal-trend__labels span {
    display: grid;
    gap: 2px;
    padding: 5px;
    border-radius: 5px;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.58rem;
    text-align: center;
}

body.phase-two-day-eleven .teacher-formal-trend__labels .is-current {
    background: #fdf2f8;
    color: #9d174d;
}

body.phase-two-day-eleven .teacher-formal-table-wrap {
    margin-top: 8px;
    overflow: auto;
}

body.phase-two-day-eleven .teacher-formal-table-wrap table {
    width: 100%;
    min-width: max-content;
    border-collapse: collapse;
    font-size: 0.62rem;
    text-align: center;
}

body.phase-two-day-eleven .teacher-formal-table-wrap th,
body.phase-two-day-eleven .teacher-formal-table-wrap td {
    min-width: 44px;
    padding: 6px 5px;
    border: 1px solid #aeb7c2;
    white-space: nowrap;
}

body.phase-two-day-eleven .teacher-formal-table-wrap th {
    color: #182b51;
    background: #dfe7ef;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-formal-table-wrap tbody tr:nth-child(even) {
    background: #f8fafc;
}

body.phase-two-day-eleven .teacher-question-option-table td.is-key {
    color: #15803d;
    background: #dcfce7;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-question-option-table td.is-key span {
    color: #22c55e;
}

body.phase-two-day-eleven .teacher-question-option-table td.is-positive {
    color: #15803d;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-question-option-table td.is-negative {
    color: #b91c1c;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-difficulty {
    display: inline-flex;
    justify-content: center;
    min-width: 43px;
    padding: 3px 5px;
    border-radius: 10px;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-difficulty.is-easy {
    color: #166534;
    background: #dcfce7;
}

body.phase-two-day-eleven .teacher-difficulty.is-medium {
    color: #92400e;
    background: #fef3c7;
}

body.phase-two-day-eleven .teacher-difficulty.is-hard {
    color: #991b1b;
    background: #fee2e2;
}

body.phase-two-day-eleven .teacher-question-legend {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
    color: #475569;
    font-size: 0.62rem;
}

body.phase-two-day-eleven .teacher-question-legend span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.phase-two-day-eleven .teacher-question-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

body.phase-two-day-eleven .teacher-question-legend i.is-key {
    background: #22c55e;
}

body.phase-two-day-eleven .teacher-question-legend i.is-wrong {
    background: #ef4444;
}

body.phase-two-day-eleven .teacher-question-legend p {
    flex-basis: 100%;
    margin: 0;
}

body.phase-two-day-eleven .teacher-student-errors td.is-wrong {
    color: #dc2626;
    font-size: 0.86rem;
    font-weight: 900;
}

body.phase-two-day-eleven .teacher-student-errors td.is-unanswered {
    color: #64748b;
}

body.phase-two-day-eleven .teacher-student-errors td.is-pending {
    color: #d97706;
    font-weight: 900;
}

body.phase-two-day-eleven .school-report-mode-tabs a.is-active {
    color: #fff;
    background: #182b51;
}

body.phase-two-day-eleven .school-individual-report {
    display: grid;
    gap: 12px;
    color: #27313f;
}

body.phase-two-day-eleven .school-individual-title,
body.phase-two-day-eleven .school-individual-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-eleven .school-individual-title {
    padding: 0 2px 9px;
    border-bottom: 2px solid #182b51;
}

body.phase-two-day-eleven .school-individual-title span,
body.phase-two-day-eleven .school-individual-section > header span {
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-eleven .school-individual-title h2,
body.phase-two-day-eleven .school-individual-section h3 {
    margin: 0;
    color: #182b51;
}

body.phase-two-day-eleven .school-individual-title h2 {
    margin-top: 2px;
    font-size: 1.05rem;
}

body.phase-two-day-eleven .school-individual-title > strong {
    font-size: 0.78rem;
}

body.phase-two-day-eleven .school-individual-identity {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    padding: 1px;
    border-radius: 8px;
    background: #cbd5e1;
}

body.phase-two-day-eleven .school-individual-identity > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 7px 9px;
    background: #fff;
    font-size: 0.66rem;
}

body.phase-two-day-eleven .school-individual-identity span {
    color: #64748b;
}

body.phase-two-day-eleven .school-individual-identity strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.phase-two-day-eleven .school-individual-overall {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 7px;
}

body.phase-two-day-eleven .school-individual-overall article {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 9px 5px;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    background: #f8fafc;
    text-align: center;
}

body.phase-two-day-eleven .school-individual-overall span {
    color: #64748b;
    font-size: 0.59rem;
}

body.phase-two-day-eleven .school-individual-overall strong {
    color: #182b51;
    font-size: 0.82rem;
}

body.phase-two-day-eleven .school-individual-overall strong.is-positive {
    color: #15803d;
}

body.phase-two-day-eleven .school-individual-overall strong.is-negative {
    color: #b91c1c;
}

body.phase-two-day-eleven .school-individual-section {
    min-width: 0;
    padding: 12px;
    border: 1px solid #b8c0ca;
    border-radius: 9px;
    background: #fff;
}

body.phase-two-day-eleven .school-individual-section h3 {
    font-size: 0.79rem;
}

body.phase-two-day-eleven .school-group-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 8px;
}

body.phase-two-day-eleven .school-group-summary article {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}

body.phase-two-day-eleven .school-group-summary article:nth-child(2) {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

body.phase-two-day-eleven .school-group-summary article.is-empty {
    opacity: 0.62;
}

body.phase-two-day-eleven .school-group-summary article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

body.phase-two-day-eleven .school-group-summary article > div span {
    color: #64748b;
    font-size: 0.62rem;
}

body.phase-two-day-eleven .school-group-summary dl {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
}

body.phase-two-day-eleven .school-group-summary dl > div {
    display: grid;
    gap: 2px;
    padding: 5px 3px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.78);
    text-align: center;
}

body.phase-two-day-eleven .school-group-summary dt {
    color: #64748b;
    font-size: 0.56rem;
}

body.phase-two-day-eleven .school-group-summary dd {
    margin: 0;
    color: #172033;
    font-size: 0.68rem;
    font-weight: 900;
}

body.phase-two-day-eleven .school-evaluation {
    display: inline-flex;
    justify-content: center;
    min-width: 35px;
    padding: 2px 5px;
    border-radius: 4px;
    font-weight: 900;
}

body.phase-two-day-eleven .school-evaluation.is-excellent {
    color: #065f46;
    background: #6ee7b7;
}

body.phase-two-day-eleven .school-evaluation.is-good {
    color: #1e3a8a;
    background: #bfdbfe;
}

body.phase-two-day-eleven .school-evaluation.is-average {
    color: #92400e;
    background: #fde68a;
}

body.phase-two-day-eleven .school-evaluation.is-weak {
    color: #991b1b;
    background: #fecaca;
}

body.phase-two-day-eleven .school-evaluation.is-empty {
    color: #475569;
    background: #e2e8f0;
}

body.phase-two-day-eleven .school-individual-subject-table .is-correct {
    color: #15803d;
    font-weight: 900;
}

body.phase-two-day-eleven .school-individual-subject-table .is-wrong {
    color: #b91c1c;
    font-weight: 900;
}

body.phase-two-day-eleven .school-individual-charts,
body.phase-two-day-eleven .school-individual-rankings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.phase-two-day-eleven .school-subject-comparison-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    gap: 8px;
    min-height: 200px;
    margin-top: 10px;
    padding: 12px 8px 0;
    border-bottom: 1px solid #cbd5e1;
}

body.phase-two-day-eleven .school-subject-comparison-chart > div {
    display: grid;
    grid-template-rows: 145px auto auto;
    justify-items: center;
    gap: 3px;
    color: #64748b;
    font-size: 0.58rem;
}

body.phase-two-day-eleven .school-subject-bars {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    height: 145px;
}

body.phase-two-day-eleven .school-subject-bars span {
    width: 13px;
    min-height: 2px;
    border-radius: 4px 4px 0 0;
}

body.phase-two-day-eleven .school-subject-bars .is-student {
    background: #38bdf8;
}

body.phase-two-day-eleven .school-subject-bars .is-average {
    background: #34d399;
}

body.phase-two-day-eleven .school-student-progress-chart {
    width: 100%;
    min-height: 190px;
    margin-top: 8px;
    overflow: visible;
}

body.phase-two-day-eleven .school-student-progress-chart line {
    stroke: #d5dae2;
    stroke-width: 1;
}

body.phase-two-day-eleven .school-student-progress-chart polyline {
    fill: none;
    stroke: #14b8a6;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.phase-two-day-eleven .school-student-progress-chart circle {
    fill: #14b8a6;
    stroke: #fff;
    stroke-width: 2;
}

body.phase-two-day-eleven .school-student-progress-chart circle.is-current {
    fill: #db2777;
    stroke: #fce7f3;
    stroke-width: 4;
}

body.phase-two-day-eleven .school-student-progress-labels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 4px;
}

body.phase-two-day-eleven .school-student-progress-labels span {
    display: grid;
    gap: 2px;
    padding: 4px;
    border-radius: 5px;
    color: #64748b;
    background: #f8fafc;
    font-size: 0.56rem;
    text-align: center;
}

body.phase-two-day-eleven .school-individual-answer-sheet > div {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
    gap: 5px;
    margin-top: 8px;
}

body.phase-two-day-eleven .school-individual-answer-sheet > div > span {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 32px;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.62rem;
}

body.phase-two-day-eleven .school-individual-answer-sheet i {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 900;
}

body.phase-two-day-eleven .school-individual-answer-sheet .is-correct {
    color: #166534;
    background: #dcfce7;
}

body.phase-two-day-eleven .school-individual-answer-sheet .is-wrong {
    color: #991b1b;
    background: #fee2e2;
}

body.phase-two-day-eleven .school-individual-answer-sheet .is-unanswered {
    color: #475569;
    background: #e2e8f0;
}

body.phase-two-day-eleven .school-individual-answer-sheet .is-pending {
    color: #92400e;
    background: #fef3c7;
}

body.phase-two-day-eleven .advanced-school-report .school-report-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #ffffff;
}

body.phase-two-day-eleven .advanced-school-report .school-report-tabs a {
    flex: 0 0 auto;
    padding: 8px 13px;
    border-radius: 8px;
    background: #f5f3ff;
    color: #6d28d9;
    font-size: 0.75rem;
    font-weight: 900;
}

body.phase-two-day-eleven .advanced-school-report .school-report-overview,
body.phase-two-day-eleven .advanced-school-report .school-report-section {
    display: grid;
    gap: 15px;
    padding: 17px;
    scroll-margin-top: 100px;
}

body.phase-two-day-eleven .advanced-school-report .school-report-meta {
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.phase-two-day-eleven .school-report-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-eleven .school-report-kpis article {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    background: #faf5ff;
    text-align: center;
}

body.phase-two-day-eleven .school-report-kpis span {
    color: #64748b;
    font-size: 0.7rem;
}

body.phase-two-day-eleven .school-report-kpis strong {
    color: #5b21b6;
    font-size: 1.18rem;
}

body.phase-two-day-eleven .school-report-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.phase-two-day-eleven .school-report-chart-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #f8fafc;
}

body.phase-two-day-eleven .school-distribution-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    gap: 10px;
    min-height: 210px;
    margin-top: 15px;
    padding: 15px 10px 0;
    border-bottom: 1px solid #cbd5e1;
}

body.phase-two-day-eleven .school-distribution-chart > div {
    display: grid;
    grid-template-rows: 150px auto auto;
    justify-items: center;
    gap: 4px;
    height: 100%;
    color: #64748b;
    font-size: 0.65rem;
}

body.phase-two-day-eleven .school-distribution-bar {
    align-self: end;
    width: 34px;
    min-height: 3px;
    border-radius: 7px 7px 0 0;
    background: linear-gradient(180deg, #38bdf8, #2563eb);
}

body.phase-two-day-eleven .school-distribution-chart strong {
    color: #182b51;
}

body.phase-two-day-eleven .school-class-summary {
    display: grid;
    gap: 12px;
}

body.phase-two-day-eleven .school-class-summary > header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

body.phase-two-day-eleven .school-class-summary > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.phase-two-day-eleven .school-class-summary article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
}

body.phase-two-day-eleven .school-class-summary article span,
body.phase-two-day-eleven .school-class-summary article small {
    color: #475569;
    font-size: 0.7rem;
}

body.phase-two-day-eleven .school-report-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

body.phase-two-day-eleven .school-report-section-head h2,
body.phase-two-day-eleven .school-report-section-head p {
    margin: 0;
}

body.phase-two-day-eleven .school-report-section-head p {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.74rem;
}

body.phase-two-day-eleven .school-percentage-cell {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 130px;
}

body.phase-two-day-eleven .school-percentage-cell > span {
    flex: 1;
    height: 7px;
    overflow: hidden;
    border-radius: 10px;
    background: #e2e8f0;
}

body.phase-two-day-eleven .school-percentage-cell i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #38bdf8, #2563eb);
}

body.phase-two-day-eleven .school-answer-legend {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

body.phase-two-day-eleven .school-answer-legend span {
    padding: 5px 8px;
    border-radius: 7px;
    font-size: 0.68rem;
    font-weight: 900;
}

body.phase-two-day-eleven .school-answer-matrix-wrap {
    overflow: auto;
}

body.phase-two-day-eleven .school-answer-matrix {
    width: 100%;
    min-width: max-content;
    border-collapse: separate;
    border-spacing: 3px;
}

body.phase-two-day-eleven .school-answer-matrix th,
body.phase-two-day-eleven .school-answer-matrix td {
    min-width: 31px;
    height: 31px;
    padding: 4px;
    border-radius: 5px;
    background: #f1f5f9;
    color: #475569;
    text-align: center;
    font-size: 0.7rem;
}

body.phase-two-day-eleven .school-answer-matrix th:first-child,
body.phase-two-day-eleven .school-answer-matrix td:first-child {
    position: sticky;
    right: 0;
    z-index: 1;
    min-width: 150px;
    background: #ffffff;
    text-align: right;
}

body.phase-two-day-eleven .school-answer-matrix .is-correct,
body.phase-two-day-eleven .school-answer-legend .is-correct {
    background: #dcfce7;
    color: #166534;
}

body.phase-two-day-eleven .school-answer-matrix .is-wrong,
body.phase-two-day-eleven .school-answer-legend .is-wrong {
    background: #fee2e2;
    color: #991b1b;
}

body.phase-two-day-eleven .school-answer-matrix .is-unanswered,
body.phase-two-day-eleven .school-answer-legend .is-unanswered {
    background: #e2e8f0;
    color: #475569;
}

body.phase-two-day-eleven .school-answer-matrix .is-pending,
body.phase-two-day-eleven .school-answer-legend .is-pending {
    background: #fef3c7;
    color: #92400e;
}

body.phase-two-day-eleven .school-question-analysis-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.phase-two-day-eleven .school-question-analysis-card {
    display: grid;
    gap: 12px;
    padding: 13px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
}

body.phase-two-day-eleven .school-question-analysis-card > header,
body.phase-two-day-eleven .school-question-analysis-card > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

body.phase-two-day-eleven .school-question-analysis-card > header div {
    display: grid;
    gap: 2px;
}

body.phase-two-day-eleven .school-question-analysis-card > header span,
body.phase-two-day-eleven .school-question-analysis-card > header small,
body.phase-two-day-eleven .school-question-analysis-card > footer {
    color: #64748b;
    font-size: 0.66rem;
}

body.phase-two-day-eleven .school-question-bars {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 18px;
    height: 150px;
    border-bottom: 1px solid #cbd5e1;
}

body.phase-two-day-eleven .school-question-bars > div {
    display: grid;
    grid-template-rows: 105px auto auto;
    justify-items: center;
    gap: 3px;
    height: 100%;
    font-size: 0.65rem;
}

body.phase-two-day-eleven .school-question-bars span {
    align-self: end;
    width: 28px;
    min-height: 2px;
    border-radius: 6px 6px 0 0;
}

body.phase-two-day-eleven .school-question-bars .is-correct span { background: #22c55e; }
body.phase-two-day-eleven .school-question-bars .is-wrong span { background: #ef4444; }
body.phase-two-day-eleven .school-question-bars .is-unanswered span { background: #cbd5e1; }

@media (max-width: 1100px) {
    body.phase-two-day-eleven .school-individual-overall {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .teacher-formal-analysis {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .student-report-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .school-question-analysis-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    body.phase-two-day-eleven .school-individual-identity {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .school-group-summary,
    body.phase-two-day-eleven .school-individual-charts,
    body.phase-two-day-eleven .school-individual-rankings {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .school-group-summary dl {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .teacher-formal-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .student-formal-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .student-formal-dashboard {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .student-report-identity,
    body.phase-two-day-eleven .school-report-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .student-report-identity > div:nth-child(2) {
        border-inline-end: 0;
    }

    body.phase-two-day-eleven .student-report-visuals,
    body.phase-two-day-eleven .school-report-chart-grid {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .school-class-summary > div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.phase-two-day-eleven .school-individual-title,
    body.phase-two-day-eleven .school-individual-section > header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.phase-two-day-eleven .school-individual-identity,
    body.phase-two-day-eleven .school-individual-overall {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .school-group-summary dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .teacher-formal-report__title,
    body.phase-two-day-eleven .teacher-formal-analysis article > header,
    body.phase-two-day-eleven .teacher-class-rankings > header,
    body.phase-two-day-eleven .teacher-student-errors > header {
        align-items: flex-start;
        flex-direction: column;
    }

    body.phase-two-day-eleven .teacher-formal-meta {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .student-formal-scorecard {
        padding: 9px;
    }

    body.phase-two-day-eleven .student-formal-title {
        align-items: flex-start;
        flex-direction: column;
    }

    body.phase-two-day-eleven .student-formal-summary {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .student-formal-summary > div {
        min-height: 38px;
    }

    body.phase-two-day-eleven .student-report-identity,
    body.phase-two-day-eleven .student-report-kpis,
    body.phase-two-day-eleven .school-report-kpis,
    body.phase-two-day-eleven .school-question-analysis-grid {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-eleven .student-report-identity > div {
        border-inline-end: 0;
        border-bottom: 1px solid #cbd5e1;
    }

    body.phase-two-day-eleven .student-report-identity > div:last-child {
        border-bottom: 0;
    }

    body.phase-two-day-eleven .school-report-section-head {
        flex-direction: column;
    }
}

@media print {
    body.phase-two-day-eleven .school-report-tabs {
        display: none !important;
    }

    body.phase-two-day-eleven .student-report-overview,
    body.phase-two-day-eleven .student-report-chart-card,
    body.phase-two-day-eleven .student-formal-scorecard,
    body.phase-two-day-eleven .advanced-school-report .school-report-overview,
    body.phase-two-day-eleven .advanced-school-report .school-report-section {
        box-shadow: none !important;
        break-inside: avoid;
    }

    body.phase-two-day-eleven .student-formal-scorecard {
        padding: 6mm;
        border-radius: 0;
    }

    body.phase-two-day-eleven .student-formal-dashboard {
        grid-template-columns: 42% 58%;
    }

    body.phase-two-day-eleven .student-formal-chart,
    body.phase-two-day-eleven .student-formal-subjects,
    body.phase-two-day-eleven .student-formal-leaderboard {
        break-inside: avoid;
    }

    body.phase-two-day-eleven .teacher-formal-report {
        gap: 4mm;
    }

    body.phase-two-day-eleven .teacher-formal-analysis {
        grid-template-columns: 38% 62%;
    }

    body.phase-two-day-eleven .teacher-formal-analysis > article,
    body.phase-two-day-eleven .teacher-class-rankings,
    body.phase-two-day-eleven .teacher-student-errors {
        padding: 3mm;
        box-shadow: none;
        break-inside: avoid;
    }

    body.phase-two-day-eleven .school-individual-report {
        gap: 3mm;
    }

    body.phase-two-day-eleven .school-individual-overall {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .school-individual-section {
        padding: 3mm;
        box-shadow: none;
        break-inside: avoid;
    }

    body.phase-two-day-eleven .school-individual-charts,
    body.phase-two-day-eleven .school-individual-rankings {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.phase-two-day-eleven .school-question-analysis-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Phase 2 - Day 12: exam cost formula by questions and participant/exam capacity. */
body.phase-two-day-twelve .exam-pricing-note {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
}

body.phase-two-day-twelve .exam-pricing-note strong {
    color: #1e3a8a;
}

body.phase-two-day-twelve .exam-pricing-note span,
body.phase-two-day-twelve .exam-participant-capacity .help-text {
    color: #475569;
    font-size: 0.75rem;
}

body.phase-two-day-twelve .exam-pricing-breakdown {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    background: #f8fafc;
}

body.phase-two-day-twelve .exam-pricing-breakdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-twelve .exam-pricing-breakdown-head strong {
    color: #182b51;
}

body.phase-two-day-twelve .exam-pricing-breakdown-head span {
    color: #64748b;
    font-size: 0.75rem;
}

body.phase-two-day-twelve .exam-pricing-formula {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

body.phase-two-day-twelve .exam-pricing-formula > b {
    display: grid;
    place-items: center;
    color: #64748b;
    font-size: 1.25rem;
}

body.phase-two-day-twelve .exam-pricing-formula article {
    display: grid;
    flex: 1;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #ffffff;
    text-align: center;
}

body.phase-two-day-twelve .exam-pricing-formula article.is-total {
    border-color: #93c5fd;
    background: #eff6ff;
}

body.phase-two-day-twelve .exam-pricing-formula span {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 800;
}

body.phase-two-day-twelve .exam-pricing-formula strong {
    color: #182b51;
}

body.phase-two-day-twelve .exam-pricing-formula small {
    color: #2563eb;
    font-weight: 800;
}

@media (max-width: 640px) {
    body.phase-two-day-twelve .exam-pricing-breakdown-head,
    body.phase-two-day-twelve .exam-pricing-formula {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Phase 2 - Day 13: Alocom online-class requests and activation. */
body.phase-two-day-thirteen .online-class-shell {
    display: grid;
    gap: 18px;
}

body.phase-two-day-thirteen .online-class-header,
body.phase-two-day-thirteen .online-class-request-card,
body.phase-two-day-thirteen .online-class-history-card,
body.phase-two-day-thirteen .online-class-active-card,
body.phase-two-day-thirteen .online-class-pricing-card,
body.phase-two-day-thirteen .online-class-provider-health {
    border: 1px solid #d7dce3;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

body.phase-two-day-thirteen .online-class-provider-health {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
}

body.phase-two-day-thirteen .online-class-provider-health > * {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    background: #f8fafc;
    font-size: 0.75rem;
}

body.phase-two-day-thirteen .online-class-provider-health .is-ready {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

body.phase-two-day-thirteen .online-class-provider-health .is-missing {
    border-color: #fcd34d;
    background: #fffbeb;
    color: #92400e;
}

body.phase-two-day-thirteen .online-class-pricing-card {
    padding: 18px;
}

body.phase-two-day-thirteen .online-class-pricing-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}

body.phase-two-day-thirteen .online-class-pricing-list article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    background: #f8fafc;
}

body.phase-two-day-thirteen .online-class-pricing-list strong { color: #182b51; }
body.phase-two-day-thirteen .online-class-pricing-list span { color: #64748b; font-size: 0.72rem; }

body.phase-two-day-thirteen .online-class-header,
body.phase-two-day-thirteen .online-class-active-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
}

body.phase-two-day-thirteen .online-class-header > div > span,
body.phase-two-day-thirteen .online-class-active-card > div > span {
    color: #2563eb;
    font-size: 0.75rem;
    font-weight: 900;
}

body.phase-two-day-thirteen .online-class-header h1,
body.phase-two-day-thirteen .online-class-active-card h2 {
    margin: 4px 0;
    color: #182b51;
}

body.phase-two-day-thirteen .online-class-header p,
body.phase-two-day-thirteen .online-class-active-card p,
body.phase-two-day-thirteen .online-class-section-head p {
    margin: 0;
    color: #64748b;
    font-size: 0.8rem;
}

body.phase-two-day-thirteen .online-class-active-card {
    border-color: #86efac;
    background: #f0fdf4;
}

body.phase-two-day-thirteen .online-class-active-actions {
    display: flex;
    gap: 8px;
}

body.phase-two-day-thirteen .online-class-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

body.phase-two-day-thirteen .online-class-request-card,
body.phase-two-day-thirteen .online-class-history-card {
    padding: 18px;
}

body.phase-two-day-thirteen .online-class-section-head {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-thirteen .online-class-section-head h2 {
    margin: 0 0 4px;
    color: #182b51;
    font-size: 1.08rem;
}

body.phase-two-day-thirteen .online-class-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.phase-two-day-thirteen .online-class-full {
    grid-column: 1 / -1;
}

body.phase-two-day-thirteen .online-class-form-note {
    padding: 10px 12px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.75rem;
}

body.phase-two-day-thirteen .online-class-request-list {
    display: grid;
    gap: 10px;
}

body.phase-two-day-thirteen .online-class-request-item {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid #dbe3ef;
    border-right: 4px solid #94a3b8;
    border-radius: 10px;
    background: #f8fafc;
}

body.phase-two-day-thirteen .online-class-request-item.is-active {
    border-right-color: #22c55e;
}

body.phase-two-day-thirteen .online-class-request-item.is-pending,
body.phase-two-day-thirteen .online-class-request-item.is-processing {
    border-right-color: #f59e0b;
}

body.phase-two-day-thirteen .online-class-request-item.is-rejected,
body.phase-two-day-thirteen .online-class-request-item.is-failed {
    border-right-color: #ef4444;
}

body.phase-two-day-thirteen .online-class-request-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

body.phase-two-day-thirteen .online-class-request-main > div {
    display: grid;
    gap: 4px;
}

body.phase-two-day-thirteen .online-class-request-main strong {
    color: #182b51;
}

body.phase-two-day-thirteen .online-class-request-main span {
    color: #64748b;
    font-size: 0.72rem;
}

body.phase-two-day-thirteen .online-class-status {
    padding: 5px 9px;
    border-radius: 10px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 900;
    white-space: nowrap;
}

body.phase-two-day-thirteen .online-class-status.is-active {
    background: #dcfce7;
    color: #166534;
}

body.phase-two-day-thirteen .online-class-status.is-pending,
body.phase-two-day-thirteen .online-class-status.is-processing {
    background: #fef3c7;
    color: #92400e;
}

body.phase-two-day-thirteen .online-class-status.is-rejected,
body.phase-two-day-thirteen .online-class-status.is-failed {
    background: #fee2e2;
    color: #991b1b;
}

body.phase-two-day-thirteen .online-class-request-item dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

body.phase-two-day-thirteen .online-class-request-item dl > div {
    display: grid;
    gap: 3px;
    padding: 7px;
    border-radius: 7px;
    background: #ffffff;
}

body.phase-two-day-thirteen .online-class-request-item dt {
    color: #64748b;
    font-size: 0.65rem;
}

body.phase-two-day-thirteen .online-class-request-item dd {
    margin: 0;
    color: #334155;
    font-size: 0.73rem;
    font-weight: 800;
}

body.phase-two-day-thirteen .online-class-request-links {
    display: flex;
    gap: 8px;
}

body.phase-two-day-thirteen .online-class-request-links a {
    color: #2563eb;
    font-size: 0.75rem;
    font-weight: 900;
}

body.phase-two-day-thirteen .online-class-pay-form {
    display: flex;
    justify-content: flex-end;
}

body.phase-two-day-thirteen .online-class-reconciliation {
    margin: 0;
    padding: 7px 9px;
    border-radius: 7px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.72rem;
}

body.phase-two-day-thirteen .online-class-reconciliation.is-matched { background: #dcfce7; color: #166534; }
body.phase-two-day-thirteen .online-class-reconciliation.is-mismatch,
body.phase-two-day-thirteen .online-class-reconciliation.is-review { background: #fff1f2; color: #9f1239; }

body.phase-two-day-thirteen .online-class-admin-note {
    margin: 0;
    padding: 8px 10px;
    border-radius: 7px;
    background: #fff1f2;
    color: #9f1239;
    font-size: 0.74rem;
}

body.phase-two-day-thirteen .online-class-empty {
    padding: 24px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

body.phase-two-day-thirteen .dashboard-online-classes {
    display: grid;
    gap: 16px;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #d7dce3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    scroll-margin-top: 24px;
}

body.phase-two-day-thirteen .dashboard-online-classes-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e2e8f0;
}

body.phase-two-day-thirteen .dashboard-online-classes-head span,
body.phase-two-day-thirteen .dashboard-online-class-session > div > span {
    color: #2563eb;
    font-size: 0.75rem;
    font-weight: 900;
}

body.phase-two-day-thirteen .dashboard-online-classes-head h2,
body.phase-two-day-thirteen .dashboard-online-class-session h3 {
    margin: 4px 0 0;
    color: #182b51;
}

body.phase-two-day-thirteen .dashboard-online-classes-head p {
    max-width: 520px;
    margin: 0;
    color: #64748b;
    font-size: 0.78rem;
}

body.phase-two-day-thirteen .dashboard-online-class-list {
    display: grid;
    gap: 10px;
}

body.phase-two-day-thirteen .dashboard-online-class-session {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    background: #f0fdf4;
}

body.phase-two-day-thirteen .dashboard-online-class-session p,
body.phase-two-day-thirteen .dashboard-online-class-session small {
    display: block;
    margin: 5px 0 0;
    color: #64748b;
    font-size: 0.74rem;
}

body.phase-two-day-thirteen .dashboard-online-class-session .btn {
    flex: 0 0 auto;
}

body.phase-two-day-thirteen .dashboard-online-class-empty {
    padding: 22px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

@media (max-width: 900px) {
    body.phase-two-day-thirteen .online-class-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    body.phase-two-day-thirteen .online-class-header,
    body.phase-two-day-thirteen .online-class-active-card,
    body.phase-two-day-thirteen .dashboard-online-classes-head,
    body.phase-two-day-thirteen .dashboard-online-class-session {
        align-items: stretch;
        flex-direction: column;
    }

    body.phase-two-day-thirteen .online-class-form {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-thirteen .online-class-provider-health {
        grid-template-columns: 1fr;
    }

    body.phase-two-day-thirteen .online-class-full {
        grid-column: auto;
    }

    body.phase-two-day-thirteen .online-class-request-item dl {
        grid-template-columns: 1fr;
    }
}

/* Smart advice: report selection, self-assessment and four-dimensional analysis. */
.smart-advice-shell {
    display: grid;
    gap: 16px;
    max-width: 1180px;
    margin: 0 auto;
    color: #182b51;
}

.smart-advice-header,
.smart-advice-result-header,
.smart-advice-share-panel,
.smart-advice-selection-card,
.smart-advice-guide-card,
.smart-advice-history,
.smart-advice-selected-exams,
.smart-advice-analysis-complete,
.smart-advice-story,
.smart-advice-guess-section,
.smart-advice-dimensions,
.smart-advice-science-section,
.smart-advice-starting-points,
.smart-advice-plan,
.smart-advice-glossary,
.smart-advice-closing {
    border: 1px solid #e1e6ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.smart-advice-header,
.smart-advice-result-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
}

.smart-advice-header h1,
.smart-advice-result-header h1 {
    margin: 5px 0;
    font-size: clamp(1.25rem, 2vw, 1.7rem);
}

.smart-advice-header p,
.smart-advice-result-header p {
    margin: 0;
    color: #64748b;
    font-size: 0.82rem;
}

.smart-advice-eyebrow,
.smart-advice-result-header > div > span,
.smart-advice-section-head > div > span,
.smart-advice-result-section-head > div > span {
    color: #7c3aed;
    font-size: 0.72rem;
    font-weight: 900;
}

.smart-advice-header-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #faf5ff;
    font-size: 1.65rem;
}

.smart-advice-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid #e9e3ff;
    border-radius: 14px;
    background: #faf8ff;
}

.smart-advice-steps span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    color: #94a3b8;
    font-size: 0.76rem;
    font-weight: 800;
}

.smart-advice-steps b {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
}

.smart-advice-steps .is-active {
    color: #6d28d9;
}

.smart-advice-steps .is-active b {
    background: #7c3aed;
    color: #ffffff;
}

.smart-advice-steps .is-done {
    color: #047857;
}

.smart-advice-steps .is-done b {
    background: #6ee7b7;
    color: #065f46;
}

.smart-advice-start-grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.smart-advice-guide-card,
.smart-advice-selection-card,
.smart-advice-history,
.smart-advice-selected-exams {
    padding: 18px;
}

.smart-advice-guide-card > span {
    color: #2563eb;
    font-size: 0.75rem;
    font-weight: 900;
}

.smart-advice-guide-card h2 {
    margin: 8px 0;
    font-size: 1rem;
}

.smart-advice-guide-card ul {
    display: grid;
    gap: 9px;
    margin: 12px 0;
    padding-right: 18px;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.8;
}

.smart-advice-privacy {
    margin-top: 18px;
    padding: 12px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
}

.smart-advice-privacy strong {
    color: #1e3a8a;
    font-size: 0.76rem;
}

.smart-advice-privacy p {
    margin: 6px 0 0;
    color: #1e40af;
    font-size: 0.7rem;
    line-height: 1.8;
}

.smart-advice-section-head,
.smart-advice-result-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.smart-advice-section-head h2,
.smart-advice-result-section-head h2 {
    margin: 4px 0 0;
    font-size: 1.05rem;
}

.smart-advice-student-picker {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

.smart-advice-student-picker label {
    align-self: center;
    font-size: 0.75rem;
    font-weight: 900;
}

.smart-advice-attempt-list {
    display: grid;
    gap: 9px;
}

.smart-advice-attempt-card {
    position: relative;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.smart-advice-attempt-card:has(input:checked) {
    border-color: #8b5cf6;
    background: #faf5ff;
}

.smart-advice-attempt-card input {
    width: 18px;
    height: 18px;
    accent-color: #7c3aed;
}

.smart-advice-attempt-check {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 900;
}

.smart-advice-attempt-card:has(input:checked) .smart-advice-attempt-check {
    background: #7c3aed;
    color: #ffffff;
}

.smart-advice-attempt-card > span:nth-of-type(2) {
    display: grid;
    gap: 4px;
}

.smart-advice-attempt-card small {
    color: #64748b;
    font-size: 0.7rem;
}

.smart-advice-attempt-score {
    display: grid;
    gap: 2px;
    min-width: 66px;
    text-align: center;
    color: #7c3aed;
    font-size: 1rem;
    font-weight: 900;
}

.smart-advice-primary-action {
    min-width: 240px;
    margin: 16px auto 0;
}

.smart-advice-error {
    margin: 8px 0;
    padding: 9px 11px;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #fff1f2;
    color: #b42318;
    font-size: 0.73rem;
    font-weight: 800;
}

.smart-advice-empty {
    padding: 28px 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.smart-advice-history-list {
    display: grid;
    gap: 8px;
}

.smart-advice-history-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
}

.smart-advice-history-list a > span {
    display: grid;
    gap: 3px;
}

.smart-advice-history-list small {
    color: #64748b;
    font-size: 0.68rem;
}

.smart-advice-history-list b {
    padding: 5px 8px;
    border-radius: 10px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.68rem;
}

.smart-advice-history-list b.is-completed {
    background: #dcfce7;
    color: #166534;
}

.smart-advice-selected-exams {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.smart-advice-selected-exams > div {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.smart-advice-selected-exams span {
    padding: 6px 9px;
    border-radius: 10px;
    background: #f3e8ff;
    color: #6b21a8;
    font-size: 0.7rem;
    font-weight: 800;
}

.smart-advice-self-form {
    display: grid;
    gap: 16px;
}

.smart-advice-question-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.smart-advice-question-card {
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid #e9e3ff;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(109, 40, 217, 0.05);
}

.smart-advice-question-card legend {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 5px;
    color: #182b51;
    font-size: 0.82rem;
    font-weight: 900;
}

.smart-advice-question-card legend span {
    font-size: 1.25rem;
}

.smart-advice-radio-list {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.smart-advice-radio-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #475569;
    font-size: 0.73rem;
    cursor: pointer;
}

.smart-advice-radio-list label:has(input:checked) {
    border-color: #8b5cf6;
    background: #faf5ff;
    color: #5b21b6;
    font-weight: 800;
}

.smart-advice-radio-list input {
    accent-color: #7c3aed;
}

.smart-advice-form-actions,
.smart-advice-result-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.smart-advice-share-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1.2fr);
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    border-color: #c4b5fd;
    background: #faf8ff;
}

.smart-advice-share-panel > div:first-child > span {
    color: #7c3aed;
    font-size: 0.72rem;
    font-weight: 900;
}

.smart-advice-share-panel h2 {
    margin: 5px 0;
    font-size: 1rem;
}

.smart-advice-share-panel p {
    margin: 0;
    color: #64748b;
    font-size: 0.74rem;
    line-height: 1.8;
}

.smart-advice-share-panel > form {
    justify-self: end;
}

.smart-advice-share-controls {
    display: grid;
    gap: 7px;
}

.smart-advice-share-controls > label {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 900;
}

.smart-advice-share-controls > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 7px;
}

.smart-advice-share-controls input {
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #d8d2f0;
    border-radius: 9px;
    background: #ffffff;
    color: #334155;
    direction: ltr;
    font: inherit;
    font-size: 0.72rem;
}

.smart-advice-share-controls small {
    min-height: 1.2em;
    color: #047857;
    font-size: 0.68rem;
}

.smart-advice-share-controls small.is-error {
    color: #b91c1c;
}

.smart-advice-share-controls form {
    justify-self: end;
}

.smart-advice-revoke-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #b91c1c;
    cursor: pointer;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 800;
}

.smart-advice-public-notice {
    padding: 11px 16px;
    border: 1px solid #c4b5fd;
    border-radius: 12px;
    background: #faf8ff;
    color: #5b21b6;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 800;
}

.smart-advice-public-page {
    min-height: 100vh;
    margin: 0;
    background: #f5f6f8;
    color: #182b51;
    font-family: "IRANYekan", "Vazir", Tahoma, sans-serif;
}

.smart-advice-public-brand {
    padding: 12px 20px;
    border-bottom: 1px solid #e1e6ef;
    background: #ffffff;
}

.smart-advice-public-brand > a {
    display: flex;
    align-items: center;
    width: min(1040px, 100%);
    margin: 0 auto;
    gap: 10px;
    color: #182b51;
    text-decoration: none;
}

.smart-advice-public-brand img {
    width: 52px;
    height: 40px;
    object-fit: contain;
}

.smart-advice-public-brand span {
    display: grid;
    gap: 2px;
}

.smart-advice-public-brand small {
    color: #64748b;
    font-size: 0.68rem;
}

.smart-advice-analysis-complete {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 32px 22px;
    text-align: center;
}

.smart-advice-pulse {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #ecfdf5;
    box-shadow: 0 0 0 12px #f0fdf4;
}

.smart-advice-pulse span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #10b981;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 900;
}

.smart-advice-analysis-complete h2 {
    margin: 8px 0 0;
}

.smart-advice-analysis-complete > p {
    margin: 0;
    color: #64748b;
}

.smart-advice-dimension-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 10px;
}

.smart-advice-dimension-preview article {
    display: grid;
    gap: 6px;
    padding: 14px 10px;
    border: 1px solid #ede9fe;
    border-radius: 11px;
    background: #faf8ff;
}

.smart-advice-dimension-preview article > span {
    font-size: 1.35rem;
}

.smart-advice-dimension-preview small {
    color: #64748b;
    line-height: 1.7;
}

.smart-advice-result-shell {
    max-width: 1040px;
}

.smart-advice-result-header {
    position: sticky;
    top: 88px;
    z-index: 12;
}

.smart-advice-story,
.smart-advice-guess-section,
.smart-advice-dimensions,
.smart-advice-science-section,
.smart-advice-starting-points,
.smart-advice-plan,
.smart-advice-glossary,
.smart-advice-closing {
    padding: 20px;
}

.smart-advice-story {
    border-color: #ddd6fe;
    background: #faf8ff;
}

.smart-advice-story h2 {
    margin: 0 0 10px;
    color: #6d28d9;
}

.smart-advice-story p,
.smart-advice-insight,
.smart-advice-conclusion p,
.smart-advice-closing p {
    margin: 0;
    color: #334155;
    font-size: 0.8rem;
    line-height: 2;
}

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

.smart-advice-comparison-grid article {
    display: grid;
    gap: 7px;
    padding: 13px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fffafa;
}

.smart-advice-comparison-grid article.is-match {
    border-color: #a7f3d0;
    background: #f0fdf4;
}

.smart-advice-comparison-grid header {
    display: flex;
    align-items: center;
    gap: 7px;
}

.smart-advice-comparison-grid h3,
.smart-advice-comparison-grid p {
    margin: 0;
}

.smart-advice-comparison-grid p,
.smart-advice-comparison-grid small {
    color: #475569;
    font-size: 0.72rem;
    line-height: 1.8;
}

.smart-advice-comparison-grid b {
    color: #dc2626;
    font-size: 0.72rem;
}

.smart-advice-comparison-grid .is-match b {
    color: #047857;
}

.smart-advice-insight {
    margin-top: 12px;
    padding: 11px 13px;
    border-radius: 9px;
    background: #ede9fe;
    color: #5b21b6;
    font-weight: 800;
}

.smart-advice-summary-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
}

.smart-advice-summary-kpis article {
    display: grid;
    gap: 5px;
    padding: 13px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #ffffff;
    text-align: center;
}

.smart-advice-summary-kpis span {
    color: #64748b;
    font-size: 0.66rem;
}

.smart-advice-summary-kpis strong {
    color: #7c3aed;
    font-size: 1.15rem;
}

.smart-advice-dimensions > div:last-child,
.smart-advice-plan > div:last-child {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.smart-advice-dimensions article {
    display: grid;
    gap: 7px;
    padding: 13px;
    border: 1px solid #ede9fe;
    border-radius: 10px;
    background: #faf8ff;
}

.smart-advice-dimensions article > span {
    font-size: 1.3rem;
}

.smart-advice-dimensions p {
    margin: 0;
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.8;
}

.smart-advice-conclusion {
    margin-bottom: 12px;
    padding: 12px 14px;
    border-right: 4px solid #2563eb;
    border-radius: 9px;
    background: #eff6ff;
}

.smart-advice-subject-list,
.smart-advice-starting-points > div:last-child {
    display: grid;
    gap: 10px;
}

.smart-advice-subject-list > article,
.smart-advice-starting-points article {
    padding: 14px;
    border: 1px solid #fecaca;
    border-right: 4px solid #ef4444;
    border-radius: 10px;
    background: #fffafa;
}

.smart-advice-subject-list > article.is-practice {
    border-color: #fde68a;
    border-right-color: #f59e0b;
    background: #fffbeb;
}

.smart-advice-subject-list > article.is-strength {
    border-color: #a7f3d0;
    border-right-color: #10b981;
    background: #f0fdf4;
}

.smart-advice-subject-list header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.smart-advice-subject-list header > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.smart-advice-subject-list h3,
.smart-advice-starting-points h3 {
    margin: 0;
    font-size: 0.9rem;
}

.smart-advice-subject-stats,
.smart-advice-topic-chips {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 9px;
}

.smart-advice-subject-stats span,
.smart-advice-topic-chips span {
    padding: 5px 8px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.78);
    color: #475569;
    font-size: 0.67rem;
}

.smart-advice-subject-list p,
.smart-advice-starting-points p {
    margin: 9px 0 0;
    color: #475569;
    font-size: 0.72rem;
    line-height: 1.9;
}

.smart-advice-starting-points article {
    border-color: #bae6fd;
    border-right-color: #0ea5e9;
    background: #f0f9ff;
}

.smart-advice-plan article {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.smart-advice-plan article > b {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #7c3aed;
    color: #ffffff;
}

.smart-advice-plan article > span {
    display: grid;
    gap: 5px;
}

.smart-advice-plan small {
    color: #64748b;
    font-size: 0.69rem;
    line-height: 1.7;
}

.smart-advice-glossary summary {
    cursor: pointer;
    color: #6d28d9;
    font-weight: 900;
}

.smart-advice-glossary p {
    color: #475569;
    font-size: 0.73rem;
}

.smart-advice-closing {
    display: flex;
    align-items: center;
    gap: 12px;
    border-color: #a7f3d0;
    background: #f0fdf4;
}

.smart-advice-closing > span {
    font-size: 1.8rem;
}

/* Final Phase 2 theme contract: blue/neutral surfaces and rectangular controls. */
:root {
    --primary: #182b51;
    --primary-deep: #0f1d38;
    --primary-soft: #e9eef7;
    --accent: #2563eb;
    --accent-soft: #eff6ff;
    --accent-strong: #1d4ed8;
    --accent-rgb: 37, 99, 235;
    --bg: #f5f6f8;
    --bg-strong: #eceff3;
    --card: #ffffff;
    --card-alt: #f8fafc;
    --text: #182b51;
    --muted: #5f6674;
    --line: #d7dce3;
    --line-strong: #c4ccd7;
    --radius-xl: 16px;
    --radius-lg: 14px;
    --radius-md: 10px;
    --radius-pill: 10px;
}

html,
body {
    background: var(--bg) !important;
    font-family: var(--font-fa) !important;
}

.site-bg {
    background:
        radial-gradient(circle at 12% 8%, rgba(var(--accent-rgb), 0.045), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(236, 239, 243, 0.76)) !important;
}

:is(
    .soft-accent,
    .outline-card,
    .dashboard-hero-card,
    .panel-hero,
    .panel-affiliate-cta,
    .home-consult-v3,
    .home-reference-consult,
    .home-exact-consult,
    .store-product-media,
    .store-product-placeholder,
    .guest-product-card-media,
    .guest-learning-card-media,
    .student-track-art.track-science,
    .student-track-art.track-humanities,
    .profile-info-avatar,
    .art-manage .art-core,
    .finance-bank-card,
    .earning-referral-box > div,
    .home-why-cards-v3 article,
    .hero-banner-btn-secondary,
    .edu-user-balance,
    .exam-option-card.is-selected,
    .exam-option-card.is-correct,
    .teacher-option-card:has(input[type='radio']:checked),
    .teacher-referral-item:has(input[type='radio']:checked),
    .panel-profile-avatar.student,
    .panel-profile-avatar.school,
    .panel-profile-avatar.admin,
    .badge-pill.success,
    .builder-step-card,
    .content-card,
    .card,
    .glass,
    .store-product-card,
    .package-card,
    .question-card,
    .stat-card,
    .option-card,
    .list-row,
    .manual-selected-item,
    .manual-question-card,
    .school-profile-logo
) {
    background: #ffffff !important;
    background-image: none !important;
    border-color: var(--line) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

:is(
    .btn,
    .cta-pill,
    .btn-secondary,
    .cta-light,
    .store-add-button,
    .store-tab-pill,
    .builder-tree-toolbar .btn,
    .builder-selected-head .btn,
    .teacher-stepper span.current,
    .teacher-stepper span.is-done
) {
    background: #ffffff !important;
    color: var(--primary) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

:is(
    .btn-primary,
    .cta-orange,
    .store-sale-badge,
    .store-sale-badge.soft-badge,
    .builder-submit-bar .btn,
    .home-product-card:hover,
    .feature-tool-card:hover,
    .store-product-card:hover,
    .package-card:hover,
    .question-card:hover,
    .content-card:hover,
    .stat-card:hover,
    .option-card:hover,
    .list-row:hover,
    .btn:hover,
    .cta-pill:hover,
    .btn-secondary:hover,
    .cta-light:hover,
    .store-add-button:hover,
    .store-tab-pill:hover,
    .edu-nav-link:hover,
    .edu-nav-link.is-active,
    .builder-choice-pill:hover,
    .builder-choice-pill.is-selected,
    .builder-filter-choice-pill:hover,
    .builder-filter-choice-pill.is-selected
) {
    background: var(--primary) !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

:is(
    .tool-icon,
    .store-meta-chip,
    .badge-pill,
    .meta-tags span,
    .muted-chip,
    .panel-kicker,
    .edu-bell-btn,
    .edu-user-label
) {
    background: #ffffff !important;
    color: var(--primary) !important;
    border: 1px solid var(--line) !important;
}

:is(
    .tone-purple,
    .tone-indigo,
    .tone-pink,
    .tone-orange,
    .tone-green,
    .tone-blue,
    .tone-violet,
    .tone-teal,
    .home-product-learning .home-product-icon,
    .home-product-question-bank .home-product-icon,
    .home-reference-tool-grid a > span,
    .home-exact-tools b
) {
    background: #ffffff !important;
    background-image: none !important;
    color: var(--primary) !important;
    border: 1px solid var(--line) !important;
}

:is(
    .store-tab-pill.is-active,
    .hero-banner-btn-secondary:hover,
    .home-reference-actions a:nth-child(2):hover,
    .home-exact-hero-actions a:nth-child(2):hover
) {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

:is(
    .home-reference-actions a:nth-child(2),
    .home-exact-hero-actions a:nth-child(2)
) {
    background: #ffffff !important;
    color: var(--primary) !important;
    border: 1px solid var(--line) !important;
}

:is(
    .btn,
    .cta-pill,
    .edu-auth-btn,
    .edu-nav-link,
    .edu-nav-link-guest-home,
    .edu-user-label,
    .edu-user-logout,
    .edu-user-balance,
    .store-add-button,
    .store-tab-pill,
    .builder-choice-pill,
    .builder-filter-choice-pill,
    .exam-create-btn,
    .exam-combine-btn,
    .exam-filter-toggle,
    .exam-list-tab,
    .exam-status-pill,
    .status-badge,
    .badge-pill,
    .builder-badge,
    .muted-chip,
    .store-meta-chip,
    .meta-tags span,
    .guest-home-btn,
    .guest-inline-btn,
    .home-tools-action,
    .guest-home-tabs button,
    button:not(.edu-bell-btn):not(.edu-user-avatar):not(.home-slider-arrow):not(.home-slider-controls button):not(.home-slider-dots button):not(.tools-trial-close):not(.consult-modal-close):not(.purchase-feedback-close):not(.builder-filter-modal-close):not(.exam-combine-modal-close):not(.exam-filter-close):not(.online-exam-interaction-close):not(.student-register-close):not(.builder-start-modal-close):not(.question-interaction-modal__close)
) {
    border-radius: var(--radius-pill) !important;
}

:is(
    input:not([type='checkbox']):not([type='radio']),
    select,
    textarea
) {
    border-radius: var(--radius-pill) !important;
}

/* Keep genuinely circular controls circular. */
:is(
    .edu-bell-btn,
    .edu-user-avatar,
    .home-slider-arrow,
    .home-slider-controls button,
    .home-slider-dots button,
    .tools-trial-close,
    .consult-modal-close,
    .purchase-feedback-close,
    .builder-filter-modal-close,
    .exam-combine-modal-close,
    .exam-filter-close,
    .online-exam-interaction-close,
    .student-register-close,
    .builder-start-modal-close,
    .question-interaction-modal__close
) {
    border-radius: 50% !important;
}

@media (max-width: 900px) {
    .smart-advice-start-grid {
        grid-template-columns: 1fr;
    }

    .smart-advice-dimension-preview,
    .smart-advice-dimensions > div:last-child,
    .smart-advice-plan > div:last-child {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .smart-advice-summary-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .smart-advice-header,
    .smart-advice-result-header {
        align-items: stretch;
        flex-direction: column;
    }

    .smart-advice-result-header {
        position: static;
    }

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

    .smart-advice-student-picker,
    .smart-advice-question-grid,
    .smart-advice-comparison-grid,
    .smart-advice-dimension-preview,
    .smart-advice-dimensions > div:last-child,
    .smart-advice-plan > div:last-child {
        grid-template-columns: 1fr;
    }

    .smart-advice-attempt-card {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .smart-advice-attempt-score {
        grid-column: 2 / -1;
        justify-self: start;
        grid-auto-flow: column;
    }

    .smart-advice-summary-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .smart-advice-share-panel {
        grid-template-columns: 1fr;
    }

    .smart-advice-share-panel > form,
    .smart-advice-share-controls form {
        justify-self: stretch;
    }

    .smart-advice-share-panel > form .btn {
        width: 100%;
    }

    .smart-advice-share-controls > div {
        grid-template-columns: 1fr 1fr;
    }

    .smart-advice-share-controls input {
        grid-column: 1 / -1;
    }
}

@media print {
    .smart-advice-result-shell .smart-advice-result-actions,
    .smart-advice-result-shell .smart-advice-share-panel,
    .smart-advice-result-shell .smart-advice-public-notice,
    .smart-advice-public-brand,
    .smart-advice-result-shell .edu-navbar-shell,
    .smart-advice-result-shell + footer {
        display: none !important;
    }

    .smart-advice-result-header {
        position: static;
    }

    .smart-advice-result-shell > section,
    .smart-advice-result-shell > footer {
        break-inside: avoid;
        box-shadow: none;
    }
}
