/* Онлайн-тесты используют карточки, навигацию и цвета публичной темы сайта. */
.test-online { color: #263b4b; }
.test-online-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); align-items: center; gap: 42px; padding: 52px 54px; border-radius: 16px; background: linear-gradient(120deg, #e6f6fb 0%, #f5fafc 58%, #eaf2fb 100%); overflow: hidden; }
.test-online-eyebrow, .test-online-kicker { display: inline-block; color: #19779a; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.test-online-eyebrow i { margin-right: 7px; }
.test-online-hero h1 { max-width: 700px; margin: 18px 0; color: #17334a; font-size: clamp(32px, 3.4vw, 48px); font-weight: 750; line-height: 1.16; }
.test-online-hero-copy > p { max-width: 650px; margin: 0 0 24px; color: #496271; font-size: 17px; line-height: 1.65; }
.test-online-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.test-online-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border: 1px solid transparent; border-radius: 7px; font-size: 15px; font-weight: 700; line-height: 1.3; text-decoration: none !important; }
.test-online-button-primary, .test-online-button-primary:hover { background: #2388b0; color: #fff; }
.test-online-button-primary:hover { background: #176c91; }
.test-online-button-secondary { border-color: #adcbd9; background: #fff; color: #176c91; }
.test-online-button-secondary:hover { background: #edf8fc; color: #155b7a; }
.test-online-button:focus { outline: 3px solid #f5b544; outline-offset: 3px; }
.test-online-hero-copy .test-online-note { margin: 17px 0 0; font-size: 13px; line-height: 1.5; }
.test-online-preview { padding: 25px; border: 1px solid #d4e6ed; border-radius: 14px; background: #fff; box-shadow: 0 18px 45px rgba(34, 91, 117, .12); transform: rotate(2deg); }
.test-online-preview-top, .test-online-preview-foot { display: flex; justify-content: space-between; gap: 10px; color: #6e8592; font-size: 12px; }
.test-online-preview-top { padding-bottom: 17px; border-bottom: 1px solid #e8eff2; }
.test-online-preview-top i { color: #4bb784; font-size: 9px; }
.test-online-preview-question { margin: 22px 0 7px; color: #213c50; font-size: 19px; font-weight: 700; }
.test-online-preview-sub { margin-bottom: 22px; color: #7a8e9a; font-size: 13px; line-height: 1.45; }
.test-online-preview-bar { height: 12px; margin: 13px 0; border-radius: 20px; background: #edf2f5; }
.test-online-preview-bar span { display: block; height: 100%; border-radius: 20px; background: #77c5df; }
.test-online-preview-bar:nth-of-type(5) span { background: #f0b76a; }
.test-online-preview-bar:nth-of-type(6) span { background: #8bcbb3; }
.test-online-preview-foot { margin-top: 24px; padding-top: 15px; border-top: 1px solid #e8eff2; }
.test-online-preview-foot i { margin-right: 4px; color: #2a94b9; }
.test-online-section { margin-top: 24px; padding: 48px; border: 1px solid #e0e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(34, 79, 103, .035); }
.test-online-heading { max-width: 720px; margin-bottom: 28px; }
.test-online-heading h2, .test-online-bottom h2 { margin: 10px 0 12px; color: #17334a; font-size: 32px; font-weight: 700; line-height: 1.23; }
.test-online-heading p, .test-online-bottom p { margin: 0; color: #627887; font-size: 16px; line-height: 1.6; }
.test-online-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.test-online-feature { padding: 27px; border: 1px solid #d8eaf1; border-radius: 11px; background: #f4fbfd; }
.test-online-icon { display: inline-flex; width: 47px; height: 47px; align-items: center; justify-content: center; border-radius: 11px; background: #e7f6fb; color: #2388b0; font-size: 21px; }
.test-online-feature h3, .test-online-steps h3 { margin: 18px 0 9px; color: #24465a; font-size: 19px; font-weight: 700; }
.test-online-feature p, .test-online-steps p { margin: 0; color: #627887; line-height: 1.6; }
.test-online-steps-wrap { border-color: #c9e5ef; background: #e8f5fa; box-shadow: none; }
.test-online-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 21px; margin: 0; padding: 0; list-style: none; }
.test-online-steps li { position: relative; padding: 22px; border: 1px solid #d6eaf2; border-radius: 10px; background: #fff; }
.test-online-step-number { display: inline-flex; width: 43px; height: 43px; align-items: center; justify-content: center; border-radius: 10px; background: #e5f5fb; color: #197da5; font-size: 19px; font-weight: 700; }
.test-online-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.test-online-options > div { display: flex; min-height: 86px; align-items: center; gap: 18px; padding: 19px 21px; border: 1px solid #d8eaf1; border-radius: 9px; background: #f4fbfd; color: #315164; font-size: 15px; font-weight: 600; }
.test-online-options i { display: inline-flex; width: 42px; height: 42px; flex: none; align-items: center; justify-content: center; border-radius: 10px; background: #e0f2f9; color: #2388b0; font-size: 19px; }
.test-online-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 24px 0 35px; padding: 35px 39px; border-radius: 12px; background: #173e58; }
.test-online-bottom .test-online-kicker { color: #9cdaec; }
.test-online-bottom h2 { color: #fff; }
.test-online-bottom p { color: #d0e2eb; }
.test-online-bottom .test-online-actions { justify-content: flex-end; flex: none; }
.test-online-bottom .test-online-button-secondary { border-color: #adcbd9; }
@media (max-width: 991px) { .test-online-hero { gap: 24px; padding: 38px; } .test-online-preview { padding: 19px; } .test-online-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .test-online-bottom { align-items: flex-start; flex-direction: column; } .test-online-bottom .test-online-actions { justify-content: flex-start; } }
@media (max-width: 700px) { .test-online-hero { grid-template-columns: 1fr; padding: 30px 23px; } .test-online-hero h1 { font-size: 31px; } .test-online-preview { display: none; } .test-online-benefits, .test-online-options { grid-template-columns: 1fr; } .test-online-section { padding: 31px 22px; } .test-online-heading h2, .test-online-bottom h2 { font-size: 27px; } .test-online-bottom { padding: 28px 23px; } }
@media (max-width: 480px) { .test-online-steps { grid-template-columns: 1fr; } .test-online-actions { align-items: stretch; flex-direction: column; } .test-online-button { width: 100%; } }
.test-studio-page { color: #34495b; }
.test-studio-page .front-article { min-width: 0; }
.test-studio-card h1 { margin: 0 0 12px; color: #1a2b3c; font-size: 25px; font-weight: 700; line-height: 1.35; }
.test-studio-card h2 { margin: 30px 0 14px; color: #233445; font-size: 20px; font-weight: 600; }
.test-studio-card h3, .test-studio-card legend { color: #233445; font-size: 17px; font-weight: 600; }
.test-studio-card p { color: #5d6b78; line-height: 1.6; }
.test-studio-card a { color: #247da8; }
.test-studio-card a:hover { color: #1c6387; }
.test-studio-card .btn { padding: 8px 13px; border-width: 1px; border-radius: 4px; box-shadow: none; text-shadow: none; font-weight: 600; }
.test-studio-card .btn-primary, .test-studio-card .btn-success { border-color: #328ab5; background: #3c9ac7; color: #fff; }
.test-studio-card .btn-primary:hover, .test-studio-card .btn-primary:focus, .test-studio-card .btn-primary:active, .test-studio-card .btn-success:hover, .test-studio-card .btn-success:focus, .test-studio-card .btn-success:active { border-color: #247da8; background: #247da8; color: #fff; box-shadow: none; }
.test-studio-card .btn-default { border-color: #cbd8e1; background: #fff; color: #247da8; }
.test-studio-card .btn-default:hover { background: #eef8fc; }
.test-studio-card .form-group { margin-bottom: 18px; }
.test-studio-card .form-group > label, .test-studio-card fieldset > label { display: block; margin-bottom: 7px; color: #233445; font-weight: 600; }
.test-studio-card .form-control { height: auto; min-height: 40px; border: 1px solid #bdcbd4; border-radius: 4px; box-shadow: none; color: #233445; }
.test-studio-card textarea.form-control { min-height: 96px; }
.test-studio-card .form-control:focus { border-color: #3c9ac7; box-shadow: 0 0 0 3px rgba(60,154,199,.17); }
.test-studio-card input[type=checkbox], .test-studio-card input[type=radio] { accent-color: #328ab5; }
.test-studio-card .well { border: 1px solid #dce5eb; border-radius: 7px; background: #f8fbfd; box-shadow: none; }
.test-studio-card fieldset.well { margin: 18px 0; }
.test-studio-card fieldset.well legend { width: auto; margin-bottom: 10px; border: 0; line-height: 1.45; }
.test-studio-card fieldset.well textarea { margin-bottom: 12px; }
.test-studio-card fieldset.well select { margin-bottom: 12px; }
.test-studio-card fieldset.well input:not([type=checkbox]):not([type=radio]) { max-width: 100%; }
.test-studio-card [id^="question-options-"] > div { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.test-studio-card [id^="question-options-"] > div label { min-width: 105px; margin: 0; font-weight: 400; white-space: nowrap; }
.test-studio-card [id^="question-options-"] > div input:not([type=checkbox]) { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid #bdcbd4; border-radius: 4px; }
.test-studio-card .form-inline { margin: 10px 0; }
.test-studio-card .form-inline label { font-weight: 500; }
.test-studio-card .table-responsive { margin: 18px 0 24px; border: 1px solid #dce5eb; border-radius: 6px; }
.test-studio-card .table { margin: 0; background: #fff; }
.test-studio-card .table th { border-bottom: 1px solid #dce5eb; background: #f7fafc; color: #233445; font-weight: 600; white-space: nowrap; }
.test-studio-card .table td, .test-studio-card .table th { padding: 11px 12px; vertical-align: middle; }
.test-studio-card .table td { border-top-color: #eef2f6; }
.test-studio-card .table tr:hover td { background: #fafcfe; }
.test-studio-card .alert { border-radius: 6px; }
.test-studio-card .help-block { color: #71808c; }
.test-studio-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: -5px 0 26px; padding-bottom: 14px; border-bottom: 1px solid #e1e8ef; }
.test-studio-tabs a { display: inline-flex; gap: 7px; align-items: center; padding: 8px 12px; border-radius: 5px; color: #426474; font-size: 13px; font-weight: 600; text-decoration: none; }
.test-studio-tabs a:hover, .test-studio-tabs a[aria-current=page] { background: #eaf5fb; color: #247da8; text-decoration: none; }
.test-studio-tabs a:focus, .test-studio-page a:focus, .test-studio-page button:focus { outline: 3px solid rgba(60,154,199,.35); outline-offset: 2px; }
.test-studio-aside .front-sidebar-block { margin-bottom: 20px; overflow: hidden; border: 1px solid #e1e8ef; border-radius: 8px; background: #fff; }
.test-studio-aside .front-sidebar-block-title i { margin-right: 6px; color: #3c9ac7; }
.test-studio-help { display: flex; gap: 12px; padding: 17px 18px; border-left: 4px solid #3c9ac7; border-radius: 5px; background: #eef8fc; color: #426474; }
.test-studio-help > i { color: #328ab5; font-size: 20px; }
.test-studio-help p { margin: 0; line-height: 1.5; }
.test-studio-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 18px; }
.test-studio-button { display: inline-block; padding: 8px 13px; border: 1px solid; border-radius: 4px; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none !important; box-shadow: none; }
.test-studio-button-primary { border-color: #328ab5; background: #3c9ac7; color: #fff !important; }
.test-studio-button-primary:hover { border-color: #247da8; background: #247da8; color: #fff !important; }
.test-studio-button-secondary { border-color: #cbd8e1; background: #fff; color: #247da8 !important; }
.test-studio-button-secondary:hover { background: #eef8fc; color: #1c6387 !important; }
.test-studio-index-help { margin-bottom: 18px; }
.test-studio-grid-wrap { margin: 0 0 24px; overflow-x: auto; border: 1px solid #dce5eb; border-radius: 6px; }
.test-studio-grid-wrap .test-studio-grid { width: 100%; min-width: 760px; margin: 0; border: 0; background: #fff; }
.test-studio-grid thead th { border-bottom: 1px solid #dce5eb; background: #f7fafc; color: #233445; font-weight: 600; white-space: nowrap; }
.test-studio-grid th, .test-studio-grid td { padding: 10px 11px; vertical-align: middle; }
.test-studio-grid tbody td { border-top-color: #eef2f6; }
.test-studio-grid tbody tr:hover td { background: #fafcfe; }
.test-studio-grid-number { text-align: center; }
.test-studio-grid-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; min-width: 220px; }
.test-studio-grid-actions a, .test-studio-grid-link { padding: 0; border: 0; background: none; color: #247da8; font: inherit; text-decoration: none; box-shadow: none; cursor: pointer; }
.test-studio-grid-actions a:hover, .test-studio-grid-link:hover { color: #1c6387; text-decoration: underline; }
.test-studio-archive-form { display: inline; margin: 0; }
.test-studio-grid-wrap .summary { padding: 8px 11px; color: #71808c; font-size: 13px; }
.test-studio-catalog-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 18px; }
.test-studio-catalog-filters label { margin: 0; color: #34495b; font-weight: 600; }
.test-studio-catalog-filters .form-control { display: block; min-width: 150px; margin-top: 5px; }
.test-studio-catalog-filters input[name="topic"] { min-width: 210px; }
.test-studio-filter-button, .test-studio-filter-button:hover, .test-studio-filter-button:focus { min-height: 40px; padding: 8px 14px; border: 1px solid #cbd8e1; border-radius: 4px; background: #fff; color: #247da8; font-weight: 600; box-shadow: none; }
.test-studio-filter-button:hover, .test-studio-filter-button:focus { background: #eef8fc; color: #1c6387; }
.test-studio-pager, .test-studio-pager ul { display: flex !important; flex-wrap: wrap; align-items: center; gap: 5px; margin: 16px 0 28px; padding: 0; list-style: none; }
.test-studio-pager li { display: inline-flex !important; width: auto !important; margin: 0; padding: 0; float: none !important; }
.test-studio-pager a, .test-studio-pager span { display: block; min-width: 36px; padding: 7px 10px; border: 1px solid #d5e0e7; border-radius: 4px; background: #fff; color: #247da8; line-height: 1.3; text-align: center; text-decoration: none; box-shadow: none; }
.test-studio-pager a:hover { border-color: #9bc9da; background: #eef8fc; color: #1c6387; }
.test-studio-pager .selected span { border-color: #3c9ac7; background: #3c9ac7; color: #fff; font-weight: 600; }
.test-studio-pager .hidden span { border-color: #e5ebef; background: #f7fafc; color: #a5b1b9; }
.test-studio-student-label { margin: -4px 0 16px; color: #247da8; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.test-studio-student-label i { margin-right: 5px; }
.test-studio-student #attempt-form fieldset label { display: block; margin: 0 !important; padding: 9px 12px !important; border-radius: 4px; cursor: pointer; }
.test-studio-student #attempt-form fieldset label:hover { background: #eef8fc; }
.test-studio-student #save-state { padding: 10px 12px; border-left: 3px solid #3c9ac7; background: #eef8fc; }
.test-studio-student #test-timer:not(:empty) { display: inline-block; padding: 8px 12px; border-radius: 4px; background: #f7fafc; color: #233445; font-weight: 700; }
@media (max-width: 991px) { .test-studio-aside { margin-top: 5px; } }
@media (max-width: 767px) {
    .test-studio-card { padding: 18px 15px; }
    .test-studio-card h1 { font-size: 22px; }
    .test-studio-tabs { gap: 3px; margin-bottom: 19px; }
    .test-studio-tabs a { padding: 8px; font-size: 12px; }
    .test-studio-card .table td, .test-studio-card .table th { padding: 9px; }
    .test-studio-card [id^="question-options-"] > div { flex-wrap: wrap; gap: 5px; }
    .test-studio-card [id^="question-options-"] > div input:not([type=checkbox]) { flex-basis: 100%; }
    .test-studio-card .form-inline .form-control { display: inline-block; width: 90px; margin: 4px; }
    .test-studio-catalog-table .table { width: 100%; table-layout: fixed; }
    .test-studio-catalog-table .table thead { display: none; }
    .test-studio-catalog-table .table tbody tr { display: block; padding: 4px 0; }
    .test-studio-catalog-table .table td { display: none; }
    .test-studio-catalog-table .table td:nth-child(1), .test-studio-catalog-table .table td:nth-child(2), .test-studio-catalog-table .table td:nth-child(7) { display: block; width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .test-studio-catalog-table .table td:nth-child(1) { padding-bottom: 0; color: #71808c; font-size: 11px; }
    .test-studio-catalog-table .table td:nth-child(2) { padding-top: 2px; padding-bottom: 3px; }
    .test-studio-catalog-table .table td:nth-child(7) { padding-top: 3px; color: #5d6b78; font-size: 12px; }
}
/* Редактор: настройки и банк вопросов сохраняются отдельно. */
.test-studio-edit-layout { padding: 0; border: 0; background: transparent; }
.test-studio-editor-overview .test-studio-editor-section,
.test-studio-editor-questions .test-studio-editor-section { margin: 0; padding: 0; }
.test-studio-settings-row .test-studio-aside { margin-top: 22px; }
.test-studio-editor-section { margin: 22px 0 28px; padding: 22px 24px; border: 0; border-radius: 8px; background: #fff; box-shadow: none; }
.test-studio-editor-section > h2 { margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid #e5edf2; }
.test-studio-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.test-studio-form-grid .form-group { min-width: 0; }
.test-studio-meta { overflow-wrap: anywhere; }
.test-studio-question { min-width: 0; margin: 18px 0; padding: 18px; border: 1px solid #dce5eb; border-radius: 7px; background: #f8fbfd; }
.test-studio-question legend { width: auto; margin: 0; padding: 0 8px; border: 0; }
.test-studio-question-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 5px 0 17px; }
.test-studio-answer-heading { margin: 3px 0 10px; font-weight: 600; color: #233445; }
.test-studio-options { display: grid; gap: 9px; }
.test-studio-option { display: flex; align-items: center; gap: 10px; }
.test-studio-correct { display: inline-flex; align-items: center; gap: 5px; flex: none; min-width: 72px; margin: 0; font-weight: 500; }
.test-studio-correct[hidden], .test-studio-remove-option[hidden], .test-studio-add-option[hidden] { display: none !important; }
.test-studio-option-text { flex: 1; min-width: 0; }
.test-studio-button { cursor: pointer; }
.test-studio-button-danger { border-color: #e8c1c1; background: #fff; color: #a63b3b !important; }
.test-studio-button-danger:hover { border-color: #b74b4b; background: #fff3f3; color: #922c2c !important; }
.test-studio-option .test-studio-remove-option { min-width: 40px; padding: 7px; }
.test-studio-grade-scale { margin: 28px 0 22px; padding: 22px 24px; border: 1px solid #dce5eb; border-radius: 8px; background: #f8fbfd; }
.test-studio-grade-scale h2 { margin: 0 0 8px; }
.test-studio-grade-scale > p { margin: 0 0 18px; }
.test-studio-grade-scale-list { display: grid; gap: 10px; }
.test-studio-grade-scale-row { display: grid; grid-template-columns: 36px repeat(3, minmax(0, 1fr)); align-items: end; gap: 14px; padding: 14px 16px; border: 1px solid #e1e8ef; border-radius: 6px; background: #fff; }
.test-studio-grade-scale-number { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; margin-bottom: 4px; border-radius: 50%; background: #eaf5fb; color: #247da8; font-weight: 700; }
.test-studio-grade-scale-row label { min-width: 0; margin: 0; color: #233445; font-weight: 600; }
.test-studio-grade-scale-row .form-control { display: block; width: 100%; margin-top: 6px; }
@media (max-width: 600px) { .test-studio-grade-scale { padding: 17px 14px; } .test-studio-grade-scale-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 13px; } .test-studio-grade-scale-number { grid-column: 1 / -1; margin: 0; } .test-studio-grade-scale-row label:last-child { grid-column: 1 / -1; } }
@media (max-width: 767px) { .test-studio-edit-layout { padding: 0; } .test-studio-editor-section { padding: 17px 14px; } .test-studio-form-grid { grid-template-columns: 1fr; gap: 0; } .test-studio-question { padding: 14px; } .test-studio-option { flex-wrap: wrap; } .test-studio-option-text { flex-basis: calc(100% - 55px); } }
