/* Homologação e calendário assistidos por IA — revisão humana obrigatória. */
#view-olimpiadas.oli-hom-view,
.oli-ia-overlay,
#modalEdicao.oli-ai-mode {
  --oia-bg: #100c14;
  --oia-panel: #18131d;
  --oia-panel-2: #211a26;
  --oia-line: #3d3344;
  --oia-line-soft: rgba(216,205,223,.13);
  --oia-text: #f5f0f7;
  --oia-muted: #aaa0b0;
  --oia-purple: #9d62cc;
  --oia-purple-soft: rgba(91,31,126,.24);
  --oia-gold: #d4af37;
  --oia-gold-soft: rgba(212,175,55,.13);
  --oia-green: #45d49d;
  --oia-green-soft: rgba(38,171,121,.12);
  --oia-amber: #f4b52b;
  --oia-red: #ff707c;
  color: var(--oia-text);
}

#view-olimpiadas.oli-hom-view { gap: 18px; }
#view-olimpiadas.oli-hom-view * { box-sizing: border-box; }
#view-olimpiadas.oli-hom-view #foiCadastro-olimpiadas { display: none !important; }

.oli-hom-shell { display: grid; gap: 16px; }
.oli-hom-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.oli-hom-head h2 { margin: 0; color: var(--oia-text); font: 750 28px/1.18 'Poppins','Inter',sans-serif; }
.oli-hom-head p { margin: 5px 0 0; color: var(--oia-muted); font-size: 13px; }
.oli-hom-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.oli-hom-btn,
.oli-ia-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 15px; border: 1px solid var(--oia-line); border-radius: 11px;
  color: var(--oia-text); background: transparent; font-size: 12px; font-weight: 800;
}
.oli-hom-btn.is-ai { color: #d8b1f2; border-color: #8a52b3; background: rgba(91,31,126,.1); }
.oli-hom-btn.is-primary,
.oli-ia-button.is-primary { color: #201806; border-color: var(--oia-gold); background: var(--oia-gold); }
.oli-hom-btn:disabled,
.oli-ia-button:disabled { cursor: not-allowed; opacity: .55; }
.oli-hom-view button:focus-visible,
.oli-hom-view input:focus-visible,
.oli-hom-view select:focus-visible,
#modalEdicao.oli-ai-mode button:focus-visible,
#modalEdicao.oli-ai-mode input:focus-visible,
.oli-ia-overlay button:focus-visible,
.oli-ia-overlay input:focus-visible,
.cal-ia-entry button:focus-visible { outline: 3px solid rgba(243,194,46,.9); outline-offset: 2px; }

.oli-hom-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.oli-hom-stat { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: center; min-height: 78px; padding: 13px 16px; border: 1px solid var(--oia-line-soft); border-radius: 13px; background: var(--oia-panel); }
.oli-hom-stat > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: var(--oia-purple); background: var(--oia-purple-soft); }
.oli-hom-stat.is-ok > i { color: var(--oia-green); background: var(--oia-green-soft); }
.oli-hom-stat.is-warn > i { color: var(--oia-amber); background: var(--oia-gold-soft); }
.oli-hom-stat b,.oli-hom-stat span { display: block; }
.oli-hom-stat b { color: var(--oia-text); font-size: 22px; line-height: 1; }
.oli-hom-stat span { margin-top: 4px; color: var(--oia-muted); font-size: 11px; }

.oli-hom-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(180px,260px) auto; gap: 10px; }
.oli-hom-field { position: relative; display: flex; align-items: center; min-height: 44px; border: 1px solid var(--oia-line); border-radius: 11px; background: var(--oia-panel); }
.oli-hom-field > i { position: absolute; left: 13px; color: var(--oia-muted); pointer-events: none; }
.oli-hom-field input,.oli-hom-field select { width: 100%; min-height: 44px; padding: 0 13px 0 38px; border: 0; outline: 0; color: var(--oia-text); background: transparent; font-size: 13px; }
.oli-hom-field select { padding-left: 13px; }
.oli-hom-last-scan { align-self: center; color: var(--oia-muted); font-size: 10px; text-align: right; }

#view-olimpiadas .oli-hom-workspace { display: grid; grid-template-columns: 1fr !important; gap: 16px; }
#view-olimpiadas .oli-hom-list { grid-column: 1; order: 1; border-color: var(--oia-line) !important; background: var(--oia-panel) !important; box-shadow: none !important; }
#view-olimpiadas .oli-hom-create { grid-column: 1; order: 2; border-color: var(--oia-line) !important; background: var(--oia-panel) !important; }
#view-olimpiadas .oli-hom-create.is-open { display: block !important; }
#view-olimpiadas .oli-hom-list > div:first-child { background: transparent !important; }
#view-olimpiadas .oli-hom-list table { min-width: 760px; }
#view-olimpiadas .oli-hom-list thead tr { color: var(--oia-muted); background: rgba(5,4,7,.25) !important; }
#view-olimpiadas .oli-hom-list tbody tr { border-color: var(--oia-line-soft); }
#view-olimpiadas .oli-hom-list tbody tr:hover { background: rgba(91,31,126,.08); }
.oli-hom-name { display: flex; align-items: center; gap: 10px; }
.oli-hom-sigla { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid rgba(157,98,204,.5); border-radius: 10px; color: #e7ccf7; background: var(--oia-purple-soft); font-size: 10px; font-weight: 900; }
.oli-hom-name b,.oli-hom-name small { display: block; }
.oli-hom-name b { color: var(--oia-text); font-size: 12px; }
.oli-hom-name small { margin-top: 3px; color: var(--oia-muted); font-size: 9px; }
.oli-hom-source { display: flex; align-items: center; gap: 7px; color: var(--oia-muted); font-size: 10px; }
.oli-hom-source + .oli-hom-source { margin-top: 5px; }
.oli-hom-source i { width: 14px; color: var(--oia-purple); text-align: center; }
.oli-hom-status { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 9px; border: 1px solid var(--oia-line); border-radius: 999px; color: var(--oia-muted); font-size: 9px; font-weight: 850; }
.oli-hom-status.is-ok { color: var(--oia-green); border-color: rgba(69,212,157,.35); background: var(--oia-green-soft); }
.oli-hom-status.is-warn { color: var(--oia-amber); border-color: rgba(244,181,43,.38); background: var(--oia-gold-soft); }
.oli-hom-row-actions { display: flex; justify-content: flex-end; gap: 7px; }
.oli-hom-row-actions button { min-height: 38px; padding: 0 10px; border: 1px solid var(--oia-line); border-radius: 9px; color: #d7b5ed; background: transparent; font-size: 10px; font-weight: 800; }
.oli-hom-row-actions button.is-ai { color: var(--oia-gold); border-color: rgba(212,175,55,.38); }
.oli-hom-empty { padding: 34px; color: var(--oia-muted); text-align: center; }

/* Modal de edição individual: usa o modal gerencial existente e preserva todos os campos. */
#modalEdicao.oli-ai-mode .modal-edicao-shell {
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); grid-template-rows: auto minmax(0,1fr) auto;
  width: min(1160px,96vw); max-width: 1160px; height: min(820px,92dvh); overflow: hidden;
  border-color: var(--oia-line); background: var(--oia-panel);
}
#modalEdicao.oli-ai-mode .modal-edicao-head { grid-column: 1 / -1; padding: 18px 22px; }
#modalEdicao.oli-ai-mode #modalEdicaoTitulo { text-transform: none; font: 750 19px/1.2 'Poppins','Inter',sans-serif; }
#modalEdicao.oli-ai-mode #modalEdicaoCampos { grid-column: 1; min-height: 0; padding: 18px 22px; overflow-y: auto; }
#modalEdicao.oli-ai-mode .modal-edicao-footer { grid-column: 1 / -1; padding: 14px 20px; }
.oli-ai-checkbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding: 12px; border: 1px solid rgba(157,98,204,.38); border-radius: 12px; background: var(--oia-purple-soft); }
.oli-ai-checkbar b,.oli-ai-checkbar span { display: block; }
.oli-ai-checkbar b { color: var(--oia-text); font-size: 12px; }
.oli-ai-checkbar span { margin-top: 3px; color: var(--oia-muted); font-size: 10px; }
.oli-ai-checkbar button { min-height: 42px; padding: 0 13px; border: 1px solid #8a52b3; border-radius: 10px; color: #e5c5f7; background: rgba(91,31,126,.25); font-size: 10px; font-weight: 850; white-space: nowrap; }
#oliAiResultado { grid-column: 2; grid-row: 2; min-height: 0; padding: 18px; overflow-y: auto; border-left: 1px solid var(--oia-line); background: rgba(8,6,10,.22); }
.oli-ai-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.oli-ai-result-head h4 { margin: 0; color: var(--oia-text); font-size: 14px; font-weight: 850; }
.oli-ai-result-back { display: none; min-height: 40px; padding: 0 11px; border: 1px solid var(--oia-line); border-radius: 9px; color: var(--oia-text); background: var(--oia-panel-2); font-size: 10px; font-weight: 800; white-space: nowrap; }
.oli-ai-result-head p { margin: 4px 0 0; color: var(--oia-muted); font-size: 10px; line-height: 1.5; }
.oli-ai-state { display: grid; place-items: center; align-content: center; gap: 8px; min-height: 260px; padding: 24px; border: 1px dashed var(--oia-line); border-radius: 12px; color: var(--oia-muted); text-align: center; }
.oli-ai-state i { color: var(--oia-purple); font-size: 27px; }
.oli-ai-state b { color: var(--oia-text); font-size: 12px; }
.oli-ai-state span { max-width: 290px; font-size: 10px; line-height: 1.55; }
.oli-ai-state.is-error i { color: var(--oia-red); }
.oli-ai-result-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-bottom: 10px; }
.oli-ai-result-summary span { padding: 9px; border: 1px solid var(--oia-line); border-radius: 9px; color: var(--oia-muted); font-size: 9px; text-align: center; }
.oli-ai-result-summary b { display: block; margin-bottom: 2px; color: var(--oia-text); font-size: 14px; }
.oli-ai-suggestions { display: grid; gap: 8px; }
.oli-ai-suggestion { position: relative; padding: 12px 12px 12px 38px; border: 1px solid var(--oia-line); border-radius: 11px; background: var(--oia-panel-2); }
.oli-ai-suggestion > input { position: absolute; top: 14px; left: 13px; width: 16px; height: 16px; accent-color: var(--oia-purple); }
.oli-ai-suggestion header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.oli-ai-suggestion header b { color: #dcb9f2; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.oli-ai-confidence { color: var(--oia-green); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.oli-ai-diff { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; margin-top: 9px; }
.oli-ai-diff span { min-width: 0; color: var(--oia-muted); font-size: 9px; overflow-wrap: anywhere; }
.oli-ai-diff span:last-child { color: var(--oia-text); font-weight: 750; }
.oli-ai-evidence { margin: 8px 0 0; color: var(--oia-muted); font-size: 9px; line-height: 1.45; }
.oli-ai-evidence a { color: #c994ec; text-decoration: none; }
.oli-ai-trust { display: flex; gap: 8px; margin-top: 10px; padding: 10px; border: 1px solid rgba(212,175,55,.32); border-radius: 10px; color: var(--oia-muted); background: var(--oia-gold-soft); font-size: 9px; line-height: 1.45; }

/* Overlays de varredura em lote e revisão do calendário. */
.oli-ia-overlay { position: fixed; inset: 0; z-index: 10080; display: grid; place-items: center; padding: 18px; background: rgba(5,3,7,.8); backdrop-filter: blur(8px); }
.oli-ia-overlay[hidden] { display: none; }
.oli-ia-dialog { display: grid; grid-template-rows: auto minmax(0,1fr) auto; width: min(1280px,96vw); height: min(880px,94dvh); overflow: hidden; border: 1px solid var(--oia-line); border-radius: 17px; background: var(--oia-bg); box-shadow: 0 28px 90px rgba(0,0,0,.55); }
.oli-ia-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 19px 22px; border-bottom: 1px solid var(--oia-line); }
.oli-ia-dialog-head h3 { margin: 0; color: var(--oia-text); font: 750 21px/1.2 'Poppins','Inter',sans-serif; }
.oli-ia-dialog-head p { margin: 5px 0 0; color: var(--oia-muted); font-size: 11px; }
.oli-ia-close { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid var(--oia-line); border-radius: 11px; color: var(--oia-muted); background: transparent; }
.oli-ia-dialog-body { min-height: 0; overflow-y: auto; padding: 18px 22px; }
.oli-ia-dialog-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--oia-line); background: var(--oia-panel); }
.oli-ia-dialog-foot > span { color: var(--oia-muted); font-size: 10px; }
.oli-ia-foot-actions { display: flex; gap: 9px; }
.oli-ia-button.is-danger { color: var(--oia-red); border-color: rgba(255,112,124,.28); }
.oli-ia-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 14px; border: 1px solid var(--oia-line); border-radius: 12px; overflow: hidden; }
.oli-ia-step { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; min-height: 68px; padding: 9px 13px; border-right: 1px solid var(--oia-line); color: var(--oia-muted); }
.oli-ia-step:last-child { border-right: 0; }
.oli-ia-step > b { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--oia-line); border-radius: 50%; }
.oli-ia-step span strong,.oli-ia-step span small { display: block; }
.oli-ia-step span strong { color: var(--oia-text); font-size: 10px; }
.oli-ia-step span small { margin-top: 2px; font-size: 8px; }
.oli-ia-step.is-active { color: #dcb9f2; background: var(--oia-purple-soft); }
.oli-ia-step.is-active > b { border-color: var(--oia-purple); color: #e7c8f8; }
.oli-ia-step.is-done > b { color: #082318; border-color: var(--oia-green); background: var(--oia-green); }
.oli-ia-scan-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 12px; border: 1px solid var(--oia-line); border-radius: 12px; background: var(--oia-panel); }
.oli-ia-scan-summary > div { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; min-height: 68px; padding: 10px 13px; border-right: 1px solid var(--oia-line); }
.oli-ia-scan-summary > div:last-child { border-right: 0; }
.oli-ia-scan-summary i { color: var(--oia-purple); }
.oli-ia-scan-summary b,.oli-ia-scan-summary span { display: block; }
.oli-ia-scan-summary b { color: var(--oia-text); font-size: 16px; }
.oli-ia-scan-summary span { margin-top: 2px; color: var(--oia-muted); font-size: 8px; }
.oli-ia-trust-banner { display: flex; align-items: center; gap: 12px; min-height: 56px; margin-bottom: 12px; padding: 11px 15px; border: 1px solid rgba(69,212,157,.38); border-radius: 11px; color: #bff4df; background: var(--oia-green-soft); font-size: 11px; font-weight: 800; }
.oli-ia-year { display: flex; align-items: center; gap: 11px; min-height: 48px; margin-bottom: 10px; padding: 8px 13px; border: 1px solid var(--oia-line); border-radius: 11px; background: var(--oia-panel); }
.oli-ia-year b { color: var(--oia-text); font-size: 11px; }
.oli-ia-year span { color: var(--oia-muted); font-size: 9px; }
.oli-ia-review-tabs { display: flex; gap: 4px; margin-bottom: 10px; overflow-x: auto; }
.oli-ia-review-tabs button { min-height: 42px; padding: 0 15px; border: 0; border-bottom: 2px solid transparent; color: var(--oia-muted); background: transparent; font-size: 10px; font-weight: 800; white-space: nowrap; }
.oli-ia-review-tabs button.is-active { color: #d6a9f0; border-color: var(--oia-purple); background: var(--oia-purple-soft); }
.oli-ia-review-grid { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 12px; }
.oli-ia-review-list { display: grid; gap: 8px; align-content: start; }
.oli-ia-review-card { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr) 170px 120px; align-items: center; gap: 12px; min-height: 105px; padding: 12px 14px 12px 42px; border: 1px solid var(--oia-line); border-radius: 11px; background: var(--oia-panel); }
.oli-ia-review-card > input { position: absolute; left: 14px; width: 16px; height: 16px; accent-color: var(--oia-purple); }
.oli-ia-review-card .sigla { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(157,98,204,.5); border-radius: 10px; color: #e7c8f8; background: var(--oia-purple-soft); font-size: 10px; font-weight: 900; }
.oli-ia-review-card h4 { margin: 0; color: var(--oia-text); font-size: 12px; }
.oli-ia-review-card p { margin: 5px 0 0; color: var(--oia-muted); font-size: 9px; line-height: 1.45; }
.oli-ia-review-card .date-diff { display: grid; grid-template-columns: 1fr auto 1fr; gap: 5px; align-items: center; margin-top: 7px; color: var(--oia-muted); font-size: 9px; }
.oli-ia-review-card .date-diff b { color: var(--oia-gold); }
.oli-ia-review-card .source { color: var(--oia-muted); font-size: 9px; overflow-wrap: anywhere; }
.oli-ia-review-card .source b,
.oli-ia-review-card .source span { display: block; }
.oli-ia-review-card .source b { margin-bottom: 4px; color: var(--oia-text); font-size: 8px; text-transform: uppercase; letter-spacing: .04em; }
.oli-ia-review-card .source a { display: block; margin-top: 6px; color: #c68fe9; }
.oli-ia-kind { display: inline-flex; width: max-content; margin-left: 7px; padding: 3px 6px; border-radius: 999px; color: var(--oia-green); background: var(--oia-green-soft); font-size: 7px; font-weight: 900; text-transform: uppercase; }
.oli-ia-kind.is-change { color: var(--oia-amber); background: var(--oia-gold-soft); }
.oli-ia-kind.is-ignored { color: var(--oia-muted); background: rgba(160,150,170,.1); }
.oli-ia-review-aside { display: grid; gap: 9px; align-content: start; padding: 14px; border: 1px solid var(--oia-line); border-radius: 12px; background: var(--oia-panel); }
.oli-ia-review-aside h4 { margin: 0; color: var(--oia-text); font-size: 14px; }
.oli-ia-selected { padding: 14px; border: 1px solid var(--oia-line); border-radius: 10px; }
.oli-ia-selected b { display: block; color: var(--oia-gold); font-size: 28px; }
.oli-ia-selected span { color: var(--oia-muted); font-size: 9px; }
.oli-ia-aside-note { padding: 11px; border: 1px solid rgba(89,200,210,.38); border-radius: 10px; color: #9ee6ea; background: rgba(44,154,162,.1); font-size: 9px; line-height: 1.5; }
.oli-ia-queue { display: grid; gap: 7px; }
.oli-ia-queue-row { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; min-height: 48px; padding: 7px 10px; border: 1px solid var(--oia-line); border-radius: 9px; background: var(--oia-panel); }
.oli-ia-queue-row i { color: var(--oia-purple); }
.oli-ia-queue-row b,.oli-ia-queue-row span { display: block; }
.oli-ia-queue-row b { color: var(--oia-text); font-size: 10px; }
.oli-ia-queue-row span { margin-top: 2px; color: var(--oia-muted); font-size: 8px; }
.oli-ia-queue-row em { color: var(--oia-muted); font-size: 8px; font-style: normal; }
.oli-ia-queue-row.is-running i { animation: oia-spin .9s linear infinite; }
.oli-ia-queue-row.is-ok i { color: var(--oia-green); animation: none; }
.oli-ia-queue-row.is-error i { color: var(--oia-red); animation: none; }
@keyframes oia-spin { to { transform: rotate(360deg); } }

.cal-ia-entry { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid rgba(157,98,204,.4); border-radius: 12px; background: rgba(91,31,126,.12); }
.cal-ia-entry b,.cal-ia-entry span { display: block; }
.cal-ia-entry b { color: var(--cal-text,#fff); font-size: 12px; }
.cal-ia-entry span { margin-top: 3px; color: var(--cal-muted,#aaa); font-size: 9px; }
.cal-ia-entry button { min-height: 44px; padding: 0 14px; border: 1px solid #8b54b2; border-radius: 10px; color: #ead1f8; background: rgba(91,31,126,.28); font-size: 10px; font-weight: 850; white-space: nowrap; }

body.theme-light #view-olimpiadas.oli-hom-view,
body.theme-light .oli-ia-overlay,
body.theme-light #modalEdicao.oli-ai-mode {
  --oia-bg: #f8f6fa; --oia-panel: #fff; --oia-panel-2: #faf8fc; --oia-line: #d8cddf;
  --oia-line-soft: rgba(91,31,126,.12); --oia-text: #231929; --oia-muted: #62566a;
  --oia-purple: #6d268f; --oia-purple-soft: rgba(91,31,126,.08); --oia-gold-soft: rgba(151,113,0,.09);
}
body.theme-light #modalEdicao.oli-ai-mode .modal-edicao-shell,
body.theme-light #modalEdicao.oli-ai-mode #oliAiResultado { color: #231929; border-color: #d8cddf; background: #fff; }
body.theme-light #modalEdicao.oli-ai-mode #modalEdicaoTitulo,
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-checkbar b,
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-result-head h4,
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-state b,
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-suggestion .oli-ai-diff span:last-child { color: #231929; }
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-suggestion { border-color: #d8cddf; background: #faf8fc; }
body.theme-light .oli-hom-btn.is-ai,
body.theme-light #modalEdicao.oli-ai-mode .oli-ai-checkbar button { color: #672286; border-color: #8a52b3; background: rgba(109,38,143,.08); }
body.theme-light .oli-ia-trust-banner { color: #116647; border-color: #8bd9ba; background: #e8f7f1; }
body.theme-light .oli-ia-aside-note { color: #176f75; border-color: #8bd8dc; background: #e8f7f8; }

@media (max-width: 1023px) {
  #modalEdicao.oli-ai-mode .modal-edicao-shell { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr) auto; }
  #modalEdicao.oli-ai-mode #modalEdicaoCampos { grid-column: 1; }
  #oliAiResultado { position: absolute; grid-column: 1 !important; grid-row: 2 !important; inset: 66px 0 64px auto; z-index: 2; width: min(440px,92%); border-left: 1px solid var(--oia-line); box-shadow: -18px 0 50px rgba(0,0,0,.35); }
  #oliAiResultado.is-collapsed { display: none; }
  .oli-ia-review-grid { grid-template-columns: 1fr; }
  .oli-ia-review-aside { grid-row: 1; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .oli-ia-review-aside h4 { grid-column: 1 / -1; }
  .oli-ia-review-card { grid-template-columns: 48px minmax(0,1fr) 150px; }
  .oli-ia-review-card > .source:last-child { grid-column: 2 / -1; }
}

@media (max-width: 768px) {
  #view-olimpiadas.oli-hom-view button { min-height: 44px !important; }
  .oli-hom-head { flex-direction: column; }
  .oli-hom-actions { width: 100%; }
  .oli-hom-btn { flex: 1 1 150px; min-height: 44px !important; }
  .oli-hom-stats { grid-template-columns: 1fr; }
  .oli-hom-toolbar { grid-template-columns: 1fr; }
  .oli-hom-last-scan { text-align: left; }
  .oli-hom-field input,.oli-hom-field select { min-height: 44px !important; font-size: 16px !important; }
  .oli-hom-field input { padding-left: 42px !important; }
  #view-olimpiadas .oli-hom-list table { min-width: 0; }
  #view-olimpiadas .oli-hom-list thead { display: none; }
  #view-olimpiadas .oli-hom-list tbody { display: grid; gap: 9px; padding: 9px; }
  #view-olimpiadas .oli-hom-list tbody tr { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; border: 1px solid var(--oia-line); border-radius: 11px; }
  #view-olimpiadas .oli-hom-list tbody td { display: block; padding: 0 !important; }
  #view-olimpiadas .oli-hom-list tbody td:first-child,
  #view-olimpiadas .oli-hom-list tbody td:last-child { grid-column: 1 / -1; }
  .oli-hom-row-actions button { min-height: 44px !important; flex: 1; }
  .oli-ia-overlay { padding: 0; }
  .oli-ia-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .oli-ia-dialog-head { padding: 13px 14px; }
  .oli-ia-dialog-head h3 { font-size: 17px; }
  .oli-ia-dialog-body { padding: 11px; }
  .oli-ia-dialog-foot { align-items: stretch; flex-direction: column; padding: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .oli-ia-dialog-foot > span { display: none; }
  .oli-ia-foot-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .oli-ia-button { min-height: 44px !important; font-size: 11px !important; }
  .oli-ia-button.is-primary { grid-column: 1 / -1; grid-row: 1; }
  .oli-ia-progress { grid-template-columns: repeat(4, minmax(72px,1fr)); overflow-x: auto; }
  .oli-ia-step { grid-template-columns: 28px minmax(0,1fr); min-width: 102px; padding: 7px; }
  .oli-ia-step > b { width: 26px; height: 26px; }
  .oli-ia-scan-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .oli-ia-scan-summary > div:nth-child(2) { border-right: 0; }
  .oli-ia-scan-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--oia-line); }
  .oli-ia-review-aside { grid-template-columns: 1fr; }
  .oli-ia-review-card { grid-template-columns: 42px minmax(0,1fr); padding-left: 38px; }
  .oli-ia-review-card .source { grid-column: 2; }
  .oli-ia-review-card > .source:last-child { grid-column: 2; }
  .oli-ia-review-card .sigla { width: 38px; height: 38px; }
  #modalEdicao.oli-ai-mode { padding: 0 !important; }
  #modalEdicao.oli-ai-mode .modal-edicao-shell { width: 100vw; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  #modalEdicao.oli-ai-mode .modal-edicao-head { padding: 13px 14px; }
  #modalEdicao.oli-ai-mode #modalEdicaoCampos { padding: 13px; }
  #modalEdicao.oli-ai-mode .modal-edicao-footer { display: grid; grid-template-columns: 1fr 1fr; padding: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  #modalEdicao.oli-ai-mode #modalEdicaoBtnSalvar { grid-column: 1 / -1; grid-row: 1; min-height: 44px !important; }
  #modalEdicao.oli-ai-mode .modal-edicao-footer button { min-height: 44px !important; }
  #oliAiResultado { inset: 57px 0 73px; width: auto !important; border-left: 0; }
  .oli-ai-result-back { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px !important; }
  .oli-ai-checkbar { align-items: stretch; flex-direction: column; }
  .oli-ai-checkbar button { min-height: 44px !important; }
  .cal-ia-entry { align-items: stretch; flex-direction: column; }
  .cal-ia-entry button { min-height: 44px !important; }
}
