.exam-filters{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.exam-filters input,.exam-filters select{min-height:44px;max-width:100%;font:inherit}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin-top:24px}.exam-card{min-width:0;padding:18px;border:1px solid var(--line,#b9c8be);border-radius:20px;background:var(--paper,#fff)}.exam-card-info h3{font-size:18px;line-height:1.45;overflow-wrap:anywhere}.exam-cover-button{display:block;width:100%;border:0;background:none;padding:0;cursor:pointer}.exam-cover{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 8px 20px #123b2e16}.exam-editor{width:min(1100px,96vw)}.exam-editor-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px}.exam-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.exam-editor-fields>.library-feedback,.exam-editor-fields>.library-actions{grid-column:1/-1}.exam-editor-fields input,.exam-editor-fields textarea,.exam-editor-fields select{width:100%;min-width:0;min-height:44px;font:inherit}.exam-editor-preview{min-width:0}.exam-editor-preview .exam-cover{max-width:360px;margin:20px auto}.exam-page-preview{display:block;max-width:100%;height:auto;margin:16px auto}.exam-card .library-actions{flex-wrap:wrap}.exam-filters .library-field{margin:0}.exam-editor [hidden]{display:none!important}@media(max-width:700px){.exam-editor-layout,.exam-editor-fields{grid-template-columns:1fr}.exam-editor-preview{grid-row:1}.exam-editor-preview .exam-cover{max-width:240px}.exam-page-preview{max-height:240px;max-width:100%;width:auto}.exam-filters>*{width:100%}.exam-grid{grid-template-columns:1fr}}
.exam-editor-fields{align-content:start}.exam-editor-fields .library-field{align-content:start;gap:8px;margin:0}.exam-editor-fields input,.exam-editor-fields select{height:48px}.exam-editor-preview{align-self:start}.exam-card{background:var(--surface,var(--paper,#fff));color:var(--text,var(--ink))}

.exam-editor-layout>.library-feedback,.exam-editor-layout>.library-actions{grid-column:1/-1}.exam-editor-fields .library-field>span{font-size:14px}.exam-editor input,.exam-editor select,.exam-editor textarea{font-size:16px}@media(max-width:700px){.exam-editor-preview{grid-row:auto}.exam-editor>header{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.exam-editor>header h2{font-size:22px;overflow-wrap:normal}.exam-editor>header button{align-self:flex-end}}

/* ===== Часть 3 задания 06: фильтры плашками, сегменты, зона перетаскивания,
   бланк ответов. Старые правила выше — здесь только новое. ===== */

/* Главные фильтры каталога плашками (B-16) */
.exam-chip-row { display: flex; align-items: baseline; gap: 10px; width: 100%; flex-wrap: wrap; }
.exam-chip-label { flex: none; min-width: 74px; color: var(--ink-soft); font-size: 13px; }
.exam-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.exam-chip { padding: 6px 12px !important; min-height: 0 !important; border: 1px solid var(--line) !important; border-radius: 999px !important; background: var(--paper) !important; color: var(--ink) !important; font-size: 13px !important; }
.exam-chip[aria-pressed="true"] { border-color: var(--accent) !important; background: color-mix(in srgb, var(--accent) 14%, transparent) !important; color: var(--ink) !important; }
.exam-filter-line { width: 100%; }
.exam-extra { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; margin-top: 4px; }
.exam-extra .library-field { margin: 0; }

/* Экзамен и вид документа — сегменты вместо выпадающих списков (B-16) */
.exam-segment-field { gap: 6px; }
.exam-segments { display: flex; flex-wrap: wrap; gap: 6px; }
.exam-segment { padding: 8px 13px !important; min-height: 0 !important; height: auto !important; border: 1px solid var(--line) !important; border-radius: 10px !important; background: var(--paper) !important; color: var(--ink) !important; font-size: 14px !important; }
.exam-segment[aria-pressed="true"] { border-color: var(--accent) !important; background: color-mix(in srgb, var(--accent) 14%, transparent) !important; }

/* Зона перетаскивания PDF и полоса прогресса (B-15) */
.exam-drop { display: grid; justify-items: center; gap: 8px; padding: 22px 16px; border: 2px dashed var(--line); border-radius: 16px; background: color-mix(in srgb, var(--ink) 3%, transparent); text-align: center; }
.exam-drop.is-over { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
.exam-drop.is-bad { border-color: var(--danger, #c0392b); }
.exam-drop-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.exam-drop strong { overflow-wrap: anywhere; font-size: 15px; }
.exam-drop .exam-drop-note { margin: 0; font-size: 13px; }
.exam-drop .exam-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.exam-drop-pick { cursor: pointer; }
.exam-progress { width: 100%; height: 8px; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--ink) 10%, transparent); accent-color: var(--accent); }

/* Окно бланка ответов */
.answer-sheet-dialog { width: min(680px, calc(100vw - 28px)); }
.sheet-templates { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.sheet-template { padding: 7px 12px !important; min-height: 0 !important; border: 1px solid var(--line) !important; border-radius: 999px !important; background: var(--paper) !important; color: var(--ink) !important; font-size: 13px !important; }
.sheet-template[aria-pressed="true"] { border-color: var(--accent) !important; background: color-mix(in srgb, var(--accent) 14%, transparent) !important; }
.sheet-tools { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 14px; }
.sheet-modes { display: flex; gap: 4px; width: max-content; margin-bottom: 12px; padding: 3px; border-radius: 12px; background: color-mix(in srgb, var(--ink) 7%, transparent); }
.sheet-mode { padding: 7px 14px !important; min-height: 0 !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--ink-soft) !important; font-size: 14px !important; }
.sheet-mode[aria-pressed="true"] { background: var(--paper-card) !important; color: var(--ink) !important; box-shadow: var(--shadow-tight); }
.sheet-area { width: 100%; min-height: 120px; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--ink); font: inherit; line-height: 1.6; }
.sheet-table { display: grid; gap: 6px; max-height: 46dvh; overflow: auto; padding-right: 4px; }
.sheet-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 96px; gap: 8px; align-items: center; }
.sheet-row--head { position: sticky; top: 0; z-index: 1; padding: 4px 0; background: var(--paper-card); color: var(--ink-soft); font-size: 13px; }
.sheet-number { color: var(--ink-soft); text-align: center; }
.sheet-row input { width: 100%; min-height: 40px; padding: 8px 11px; border: 1.5px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--ink); font: inherit; }

@media (max-width: 650px) {
  .exam-chip-label { min-width: 0; width: 100%; }
  .sheet-row { grid-template-columns: 34px minmax(0, 1fr) 76px; }
  .sheet-modes { width: 100%; }
  .sheet-mode { flex: 1; }
}

/* Таблица «ученики × задания» */
.sheet-results-dialog { width: min(920px, calc(100vw - 28px)); }
.sheet-results { overflow: auto; max-height: 66dvh; }
.sheet-matrix { border-collapse: collapse; width: 100%; font-size: 13px; }
.sheet-matrix th, .sheet-matrix td { padding: 6px 8px; border-bottom: 1px solid var(--line); text-align: center; }
.sheet-matrix thead th { position: sticky; top: 0; z-index: 1; background: var(--paper-card); color: var(--ink-soft); font-weight: 600; }
.sheet-matrix-name { position: sticky; left: 0; background: var(--paper-card); text-align: left !important; white-space: nowrap; }
.sheet-matrix-number { min-width: 26px; }
.sheet-matrix-cell { font-weight: 700; }
.sheet-matrix-cell[data-state="ok"] { background: color-mix(in srgb, #2e9e74 22%, transparent); color: #1f7a5a; }
.sheet-matrix-cell[data-state="bad"] { background: color-mix(in srgb, #c0392b 18%, transparent); color: #c0392b; }
.sheet-matrix-cell[data-state="skip"] { color: var(--ink-soft); }
.sheet-matrix-total { white-space: nowrap; font-weight: 700; }
