:root {
  color-scheme: light;
  --ink: #26384d;
  --muted: #5f6b78;
  --line: #dedfe1;
  --paper: #ffffff;
  --canvas: #f7f7f6;
  --navy: #ad7100;
  --navy-soft: #8d5c00;
  --teal: #00a878;
  --teal-soft: #e3f5ee;
  --amber: #c28a12;
  --red: #c9655f;
  --shadow: 0 14px 36px rgba(53, 43, 22, .07);
  --focus-ring: 0 0 0 3px rgba(24, 55, 79, .18);
  --control-height: 44px;
  font-family: "Segoe UI Variable Text", Aptos, "Segoe UI", ui-sans-serif, system-ui, sans-serif;

  /* Escala tipografica: antes eram 20 tamanhos avulsos entre 8px e 34px,
     ajustados componente a componente -- a origem da desproporcao entre as
     abas. Cada degrau abaixo tem um papel, e nada fora desta lista. */
  --text-3xs: 10px;
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 15px;
  --text-lg: 18px;
  --text-xl: 21px;
  --text-2xl: 26px;
  --text-3xl: 34px;
}
* { box-sizing: border-box; }
html { font-size: var(--text-base); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-size: var(--text-base); line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid #18374f; outline-offset: 2px; box-shadow: var(--focus-ring); }
.button:active, .nav-item:active, .category-tabs button:active { transform: translateY(1px); }
.button:disabled, input:disabled, select:disabled, textarea:disabled { opacity: .58; cursor: not-allowed; }
.hidden { display: none !important; }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: linear-gradient(145deg, #8d5c00 0%, #ad7100 45%, #f3e3bd 45%, #f7f7f6 100%); }
.auth-card { width: min(460px, 100%); padding: 34px; border: 1px solid rgba(112,83,24,.18); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 28px 70px rgba(61,42,8,.20); }
.auth-brand { display: flex; gap: 12px; align-items: center; margin-bottom: 33px; }
.auth-brand .brand-mark { color: #fff; background: var(--navy); }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { font-size: var(--text-lg); }
.auth-brand small { margin-top: 2px; color: var(--muted); font-size: var(--text-3xs); font-weight: 700; }
.auth-card h1 { margin: 8px 0 12px; font-size: var(--text-3xl); }
.auth-help { color: var(--muted); font-size: var(--text-sm); line-height: 1.55; }
.auth-form { display: grid; gap: 14px; margin-top: 23px; }
.auth-form label { display: grid; gap: 6px; color: var(--muted); font-size: var(--text-2xs); font-weight: 750; }
.auth-form input { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #fff; }
.auth-form input:focus { border-color: #c28a12; box-shadow: 0 0 0 3px rgba(194,138,18,.12); }
.auth-note { margin-top: 18px; padding: 11px 12px; border-radius: 9px; color: #745920; background: #fff6df; font-size: var(--text-3xs); line-height: 1.45; }
/* Os formulários alternativos deixaram de ser empilhados abaixo do principal,
   então a linha divisória que os separava não tem mais o que separar. */
.auth-request { display: grid; gap: 9px; margin-top: 23px; }
.auth-switch { margin-top: 22px; padding-top: 16px; display: flex; flex-wrap: wrap; gap: 4px; border-top: 1px solid var(--line); }
.auth-switch button { padding: 7px 11px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font: inherit; font-size: var(--text-xs); font-weight: 700; cursor: pointer; }
.auth-switch button:hover { color: var(--navy); background: #fdf6e7; }
.auth-switch button:focus-visible { outline: 2px solid var(--navy); outline-offset: 1px; }
.auth-switch button.is-active { color: var(--navy); background: #fbeed2; }
.auth-request label { display: grid; gap: 6px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.auth-request input { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #fff; }
.auth-request .button { padding-block: 9px; font-size: var(--text-2xs); }
.google-login { display: grid; justify-items: center; gap: 10px; margin-top: 20px; }
.google-login span { color: var(--muted); font-size: var(--text-3xs); }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 254px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; height: 100dvh; padding: 20px 14px 14px; overflow: hidden; color: #f7fbfc; background: var(--navy); display: flex; flex-direction: column; }
.brand { display: flex; gap: 11px; align-items: center; flex: 0 0 auto; margin: 0 8px 24px; font-weight: 760; letter-spacing: -.02em; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 13px; color: #fff; background: var(--navy-soft); }
.brand-mark svg { width: 29px; height: 29px; }
.brand-copy strong, .brand-copy small, .brand-copy b { display: block; }
.brand-copy strong { color: #fff; font-size: var(--text-base); }
.brand-copy small { margin-top: 3px; color: #f4dfad; font-size: var(--text-3xs); font-weight: 600; letter-spacing: .03em; }
.brand-copy b { margin-top: 3px; color: #fff7e5; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .02em; }
.workspace-label { margin: 0 12px 11px; color: #f0d18b; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .16em; }
.sidebar nav { min-height: 0; display: grid; align-content: start; flex: 1 1 auto; gap: 3px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.38) transparent; }
.mobile-nav-toggle { display: none; }
.nav-item { min-height: 42px; display: flex; gap: 10px; align-items: center; padding: 9px 11px; border: 0; border-radius: 10px; color: #f1dca9; text-align: left; background: transparent; }
.nav-item:hover, .nav-item.active { color: #fff; background: var(--navy-soft); }
.nav-icon { width: 18px; color: #ffe4a7; text-align: center; font-size: var(--text-lg); }
.sidebar-footer { min-width: 0; display: flex; gap: 10px; align-items: center; flex: 0 0 auto; margin-top: 8px; padding: 12px 10px 2px; border-top: 1px solid rgba(255,255,255,.24); color: #fff6df; }
.sidebar-footer > div { min-width: 0; }
.sidebar-footer small { overflow: hidden; text-overflow: ellipsis; }
.sidebar-footer strong, .sidebar-footer small { display: block; }
.sidebar-footer strong { font-size: var(--text-xs); }
.sidebar-footer small { margin-top: 3px; color: #f1d99e; font-size: var(--text-2xs); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #77d7a8; box-shadow: 0 0 0 4px rgba(119,215,168,.18); }
.logout-button { margin-left: auto; border: 0; color: #fff0c9; background: transparent; font-size: var(--text-lg); }
main { width: min(1520px, 100%); padding: 40px clamp(24px, 5vw, 76px) 72px; }
.topbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.eyebrow { margin: 0; color: var(--teal); font-size: var(--text-3xs); font-weight: 850; letter-spacing: .16em; }
h1, h2, p { margin: 0; }
h1 { margin-top: 7px; font-size: clamp(31px, 4vw, 45px); line-height: 1; letter-spacing: -.055em; }
h2 { margin-top: 4px; font-size: var(--text-xl); letter-spacing: -.035em; }
.page-subtitle { margin-top: 11px; color: var(--muted); font-size: var(--text-sm); }
.top-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; min-width: 0; }
#shareViewLink { white-space: nowrap; }
.identity-switcher { max-width: 340px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font-size: var(--text-2xs); }
.sync-status, .muted { color: var(--muted); font-size: var(--text-xs); }
.button { border: 0; border-radius: 10px; padding: 11px 15px; font-weight: 750; }
.button-primary { color: #fff; background: var(--navy); box-shadow: 0 8px 18px rgba(93,61,0,.16); }
.button-primary:hover { background: #8d5c00; }
.button-primary:disabled { opacity: .6; cursor: wait; }
.button-secondary { border: 1px solid #dfc17b; color: #8d5c00; background: #fffaf0; }
.button-compact { padding: 8px 11px; border: 1px solid var(--line); background: #fff; font-size: var(--text-2xs); }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.metric-card { min-height: 125px; padding: 20px 21px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); box-shadow: var(--shadow); }
.metric-card span, .metric-card small { display: block; color: var(--muted); font-size: var(--text-xs); }
.metric-card strong { display: block; margin: 13px 0 3px; font-size: var(--text-3xl); letter-spacing: -.05em; }
.metric-highlight { border-color: transparent; color: #fff; background: var(--teal); }
.metric-highlight span, .metric-highlight small { color: #c7f0e8; }
.dashboard-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; margin-bottom: 16px; }
.panel { border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--shadow); }
.panel-heading, .section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 15px; }
.panel-heading { padding: 22px 23px 14px; }
.section-heading { padding: 24px 25px 0; }
.bottleneck-panel, .pulse-panel { min-height: 292px; }
.blocker-list { padding: 0 15px 16px; }
.today-summary { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 23px 12px; }
.today-summary span { padding: 6px 9px; border-radius: 999px; color: #73531a; background: #fff4d8; font-size: var(--text-3xs); }
.today-summary b { color: var(--ink); font-size: var(--text-xs); }
.today-activity-list { padding: 0 15px 16px; }
.today-activity-row { display: grid; grid-template-columns: 48px 72px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 8px; border-top: 1px solid #edf1f2; }
.today-activity-row time { color: var(--navy); font-size: var(--text-2xs); font-weight: 850; }
.today-kind { color: var(--teal); font-size: var(--text-3xs); font-weight: 900; letter-spacing: .06em; }
.today-activity-row strong, .today-activity-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.today-activity-row strong { font-size: var(--text-xs); }
.today-activity-row small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.today-state { padding: 5px 7px; border-radius: 7px; color: #73531a; background: #fff4d8; font-size: var(--text-3xs); font-weight: 750; }
.blocker-row { width: 100%; display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; padding: 12px 8px; border: 0; border-top: 1px solid #edf1f2; text-align: left; background: transparent; }
.blocker-row:hover { background: #f8fbfb; }
.blocker-rank { color: #a0b0b7; font-size: var(--text-2xs); font-weight: 800; }
.blocker-copy strong, .blocker-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.blocker-copy strong { font-size: var(--text-sm); }
.blocker-copy small { margin-top: 3px; color: var(--muted); font-size: var(--text-2xs); }
.blocker-total { min-width: 42px; padding: 5px 8px; border-radius: 7px; color: #a65c23; background: #fff2de; font-size: var(--text-xs); font-weight: 800; text-align: center; }
.status-bars { padding: 9px 23px 23px; }
.status-bar-row { margin-top: 17px; }
.status-bar-label { display: flex; justify-content: space-between; margin-bottom: 7px; color: var(--muted); font-size: var(--text-xs); }
.status-bar-label b { color: var(--ink); font-size: var(--text-2xs); }
.status-bar { height: 8px; border-radius: 10px; background: #edf2f3; overflow: hidden; }
.status-bar i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.status-in_progress .status-bar i { background: #4e8ec0; }
.status-review .status-bar i { background: var(--amber); }
.status-done .status-bar i { background: #54b692; }
.catalog-panel { overflow: hidden; }
.toolbar { display: flex; gap: 10px; padding: 20px 25px 14px; }
.search { min-width: 0; flex: 1; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdfd; }
.search:focus-within { border-color: #89cfc3; box-shadow: 0 0 0 3px rgba(20,155,138,.10); }
.search span { color: var(--teal); font-size: var(--text-lg); }
.search input { width: 100%; border: 0; outline: 0; background: transparent; }
.toolbar select, .dialog-tools select, .dialog-tools input { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; outline: 0; background: #fff; }
.discipline-list, .discipline-table { padding: 0 25px 25px; }
.discipline-row { width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(260px, 1fr) 76px 80px minmax(140px, .65fr) 112px 145px 22px; gap: clamp(8px, 1vw, 15px); align-items: center; padding: 14px 12px; border: 0; border-top: 1px solid #edf1f2; text-align: left; background: transparent; }
.discipline-row:hover { background: #f8fbfb; }
.discipline-name strong, .discipline-name small, .mini-stat b, .mini-stat small { display: block; }
.discipline-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--text-sm); }
.discipline-name small, .mini-stat small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: var(--text-2xs); text-overflow: ellipsis; white-space: nowrap; }
.mini-stat b { font-size: var(--text-sm); }
.row-progress { width: 100%; height: 7px; border-radius: 7px; overflow: hidden; background: #eaf0f0; }
.row-progress i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.blocker-count { justify-self: end; color: #a65c23; font-size: var(--text-2xs); font-weight: 750; text-align: right; white-space: nowrap; }
.blocker-count.clear { color: var(--teal); }
.row-arrow { color: #a3b3b8; font-size: var(--text-lg); text-align: right; }
.empty { padding: 50px 20px; color: var(--muted); text-align: center; }
.empty.compact { padding: 30px; }
.wide-search { margin: 20px 25px 0; }
.pill { min-width: 31px; padding: 5px 9px; border-radius: 999px; color: #236c61; background: var(--teal-soft); font-size: var(--text-xs); font-weight: 800; text-align: center; }
.filter-eyebrow { margin: 18px 25px -8px; color: var(--teal); font-size: var(--text-3xs); font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.filter-eyebrow.compact { margin: 0 0 5px; text-align: left; }
.discipline-filters { display: grid; grid-template-columns: minmax(260px, 1.8fr) repeat(4, minmax(150px, 1fr)); align-items: end; }
.discipline-filters label:not(.search) { display: grid; gap: 5px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.discipline-filters select { width: 100%; min-height: 42px; }
.recording-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; margin: 22px 25px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--line); }
.recording-metrics article { min-height: 116px; display: flex; flex-direction: column; padding: 16px 18px; background: #fbfdfd; }
.recording-metrics span, .recording-metrics small { display: block; color: var(--muted); font-size: var(--text-2xs); }
.recording-metrics span { min-height: 30px; line-height: 1.35; }
.recording-metrics strong { display: block; margin: 7px 0 2px; font-size: var(--text-2xl); letter-spacing: -.04em; }
.recording-metrics small { margin-top: auto; min-height: 30px; line-height: 1.4; }
.recording-metrics .metric-danger strong { color: var(--red); }
.recording-metrics .metric-pending { background: #fff8e5; }
.recording-metrics .metric-pending strong { color: #8a6715; }
.recording-metrics .metric-scheduled strong { color: #236c61; }
.recording-metrics .metric-cancelled { background: #fff1ef; }
.recording-metrics .metric-cancelled strong { color: #9d3939; }
.recording-metrics .metric-rescheduled { background: #f6edfb; }
.recording-metrics .metric-rescheduled strong { color: #684280; }
.recording-metrics .metric-recorded { background: #eef5ff; }
.recording-metrics .metric-recorded strong { color: #2f6fb3; }
.integrity-note { margin: 11px 25px 0; padding: 10px 12px; border-radius: 9px; color: #806127; background: #fff6df; font-size: var(--text-xs); }
.recording-toolbar { display: grid; grid-template-columns: minmax(240px,2fr) repeat(3,minmax(145px,1fr)); align-items: end; }
.recording-toolbar .search { min-height: 42px; }
.recording-toolbar label:not(.search) { display: grid; gap: 5px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.recording-toolbar select, .recording-toolbar input { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 10px; padding: 9px 10px; outline: 0; background: #fff; }
.recording-subsection { display: flex; align-items: center; justify-content: space-between; padding: 24px 25px 0; }
.filtered-export-actions, .filtered-export-bar > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.filtered-export-actions .button, .filtered-export-bar .button { white-space: nowrap; }
.filtered-export-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 25px; padding: 12px 14px; border: 1px solid #d8e1e5; border-radius: 11px; color: var(--muted); background: #f8faf9; font-size: var(--text-xs); }
.recording-subsection h3 { margin: 0; color: var(--ink); font-size: var(--text-sm); }
.recording-subsection p { margin-top: 4px; color: var(--muted); font-size: var(--text-2xs); }
.history-heading { margin-top: 7px; border-top: 1px solid var(--line); }
.recordings-list { padding: 13px 25px 25px; }
.schedule-list { padding-bottom: 0; }
.recording-row { display: grid; grid-template-columns: 100px 1fr auto; gap: 15px; align-items: center; padding: 14px 10px; border-top: 1px solid #edf1f2; }
.recording-date { color: var(--teal); font-size: var(--text-xs); font-weight: 800; }
.recording-main strong, .recording-main small { display: block; }
.recording-main strong { font-size: var(--text-sm); }
.recording-main small { margin-top: 3px; color: var(--muted); font-size: var(--text-2xs); }
.source-link { display: inline-block; margin-top: 6px; color: #397d91; font-size: var(--text-2xs); font-weight: 700; text-decoration: none; }
.source-link:hover { text-decoration: underline; }
.recording-status { border: 0; padding: 6px 9px; border-radius: 8px; color: #7b6325; background: #fff5dc; font-size: var(--text-2xs); cursor: pointer; }
.recording-status.status-agendado { color: #236c61; background: var(--teal-soft); }
.recording-status.status-pendente, .today-state.status-pendente { color: #7b6325; background: #fff5dc; }
.recording-status.status-cancelada, .today-state.status-cancelada { color: #9d3939; background: #fde9e7; }
.recording-status.status-remarcada, .today-state.status-remarcada { color: #9a5b13; background: #f9dfb5; }
.recording-status.status-gravado, .today-state.status-gravado { color: #245d9a; background: #c9daf8; }
.today-state.status-agendado { color: #236c61; background: var(--teal-soft); }
.recording-status:hover { filter: brightness(.97); box-shadow: 0 0 0 2px rgba(35,108,97,.12); }
.agenda-grid, .admin-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .7fr); gap: 17px; align-items: start; }
.agenda-actions, .admin-actions { display: grid; gap: 16px; }
.agenda-panel { overflow: hidden; }
.date-filter { display: grid; gap: 4px; color: var(--muted); font-size: var(--text-3xs); font-weight: 800; letter-spacing: .06em; }
.date-filter input { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.agenda-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 22px 25px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.agenda-metrics article { padding: 15px; background: #fbfdfd; }
.agenda-metrics span { display: block; color: var(--muted); font-size: var(--text-3xs); }
.agenda-metrics strong { display: block; margin-top: 5px; font-size: var(--text-xl); }
.agenda-metrics .metric-danger strong { color: var(--red); }
.agenda-list { padding: 14px 25px 25px; }
.agenda-item { display: grid; grid-template-columns: 75px minmax(0,1fr) 80px 135px; gap: 12px; align-items: center; padding: 13px 10px; border-top: 1px solid #edf1f2; }
.agenda-item.is-overdue { border-left: 3px solid var(--red); background: #fffafa; }
.agenda-kind { color: var(--teal); font-size: var(--text-3xs); font-weight: 900; letter-spacing: .07em; }
.agenda-item strong, .agenda-item small { display: block; }
.agenda-item strong { font-size: var(--text-xs); }
.agenda-item small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.agenda-item time { color: var(--muted); font-size: var(--text-2xs); }
.agenda-controls, .agenda-controls select { min-width: 0; font-size: var(--text-3xs); }
.agenda-controls select { width: 100%; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.report-panel, .analyzer-panel, .external-panel { overflow: hidden; }
.report-filters { display: grid; grid-template-columns: repeat(4, minmax(135px, 1fr)); gap: 10px; padding: 21px 25px 14px; }
.report-heading { padding-bottom: 12px; }
.report-heading-meta { display: grid; justify-items: end; gap: 3px; }
.report-load-state { max-width: 440px; overflow: hidden; color: var(--muted); font-size: var(--text-3xs); text-overflow: ellipsis; white-space: nowrap; }
.report-load-state.is-loading { color: #875900; }
.report-load-state.is-error { color: #a63732; font-weight: 750; }
.report-filter-drawer { margin: 0 25px 10px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdfd; }
.report-filter-drawer > summary { min-height: 42px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px 12px; color: var(--navy); cursor: pointer; list-style: none; }
.report-filter-drawer > summary::-webkit-details-marker { display: none; }
.report-filter-drawer > summary::before { content: "▸"; grid-column: 1; grid-row: 1 / span 2; color: var(--teal); }
.report-filter-drawer[open] > summary::before { transform: rotate(90deg); }
.report-filter-drawer > summary strong { grid-column: 2; grid-row: 1; font-size: var(--text-xs); }
.report-filter-drawer > summary span:not(.report-filter-hint) { grid-column: 2; grid-row: 2; color: var(--muted); font-size: var(--text-3xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-filter-hint { grid-column: 3; grid-row: 1 / span 2; color: #176f63; font-size: var(--text-3xs); font-weight: 800; }
.report-filter-drawer .report-filters { padding: 8px 12px 12px; border-top: 1px solid var(--line); }
.report-filter-panel { margin: 0 25px 12px; border: 1px solid #cbdde0; border-left: 4px solid var(--teal); border-radius: 12px; background: #fbfdfd; }
.report-filter-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px 0; }
.report-filter-panel-heading strong, .report-filter-panel-heading span { display: block; }
.report-filter-panel-heading strong { color: var(--navy); font-size: var(--text-xs); }
.report-filter-panel-heading span:not(.report-filter-hint) { margin-top: 2px; color: var(--muted); font-size: var(--text-3xs); }
.report-filter-panel-heading .report-filter-hint { color: #176f63; font-size: var(--text-3xs); font-weight: 800; white-space: nowrap; }
.report-filters-compact { grid-template-columns: minmax(170px,1.15fr) minmax(170px,1.2fr) minmax(160px,1fr) minmax(285px,1.8fr) minmax(130px,.8fr) auto; align-items: end; padding-top: 10px; }
.report-filters-compact .report-filter-core { order: initial; }
.report-filter-period { display: flex; min-width: 0; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; }
.report-filter-period legend { position: absolute; transform: translateY(-24px); color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.report-filter-period > select { flex: 1 1 135px; }
.report-filter-period .report-period-date { display: flex; min-width: 0; grid-template-columns: auto minmax(112px,1fr); align-items: center; gap: 5px; }
.report-filter-period .report-period-date span { color: var(--muted); white-space: nowrap; }
.report-filter-period .report-period-date input { min-width: 112px; }
.report-filters-compact .report-clear-filters { min-height: 38px; padding-inline: 12px; }
.report-custom-date.hidden { display: none; }
.report-search-filter { grid-column: span 2; }
.report-clear-filters { align-self: end; min-height: 37px; justify-self: start; }
.report-filters label { display: grid; gap: 5px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.report-filters input, .report-filters select { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #fff; }
.report-filters input:focus, .report-filters select:focus { border-color: #89cfc3; box-shadow: 0 0 0 3px rgba(20,155,138,.1); }
.report-filters label small { color: var(--muted); font-size: var(--text-3xs); font-weight: 500; }
.filter-check { align-self: end; min-height: 37px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; background: #fbfdfd; }
.category-tabs { display: flex; gap: 7px; padding: 0 25px 15px; overflow-x: auto; }
.category-tabs button { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #fff; font-size: var(--text-3xs); font-weight: 750; white-space: nowrap; }
.category-tabs button.active { border-color: var(--teal); color: #176f63; background: var(--teal-soft); }
.report-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0 25px 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.source-summary { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.report-metrics article { padding: 10px 12px; background: #fbfdfd; }
.report-metrics span, .report-metrics small { display: block; color: var(--muted); font-size: var(--text-3xs); }
.report-metrics small { margin-top: 3px; font-size: var(--text-3xs); }
.report-metrics strong { display: block; margin-top: 3px; font-size: var(--text-lg); }
.report-metrics .metric-danger strong { color: var(--red); }
.admin-performance-panel { overflow: hidden; border-color: rgba(173,113,0,.32); }
.admin-performance-heading { align-items: flex-start; padding-bottom: 16px; background: linear-gradient(135deg, rgba(255,246,223,.9), rgba(255,255,255,.65)); }
.admin-performance-heading p { max-width: 780px; margin-top: 5px; }
.admin-performance-filters { border-block: 1px solid var(--line); background: #f7f9fb; }
.report-filter-workspace { display: grid; gap: 12px; padding: 16px 25px; }
.report-filter-block { overflow: hidden; border: 1px solid #cbd7e1; border-radius: 13px; background: #fff; box-shadow: 0 4px 14px rgba(24,55,79,.04); }
.report-filter-block > header { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #dce4ea; background: #eef4f8; }
.report-filter-block > header > span { display: grid; width: 25px; height: 25px; place-items: center; flex: 0 0 auto; border-radius: 999px; color: #fff; background: #18374f; font-size: var(--text-3xs); font-weight: 900; }
.report-filter-block > header strong, .report-filter-block > header small { display: block; }
.report-filter-block > header strong { color: #18374f; font-size: var(--text-xs); }
.report-filter-block > header small { margin-top: 2px; color: #587083; font-size: var(--text-3xs); }
.report-filter-period { border-color: #9db5c7; }
.report-filter-period > header { background: #e6f0f7; }
.report-filter-questions { border-color: #d9c088; background: #fffdf7; }
.report-filter-questions > header { border-color: #eadbb9; background: #fff4d9; }
.report-filter-fields { display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); gap: 10px; align-items: end; padding: 13px 14px 15px; }
.report-filter-fields label { display: grid; gap: 5px; color: #18374f; font-size: var(--text-3xs); font-weight: 850; letter-spacing: .025em; }
.report-filter-fields input, .report-filter-fields select { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #b9c8d3; border-radius: 9px; color: var(--ink); outline: 0; background: #fff; }
.report-filter-fields input:focus, .report-filter-fields select:focus { border-color: #376f99; box-shadow: 0 0 0 3px rgba(55,111,153,.12); }
.report-filter-fields .report-search-filter { grid-column: span 2; }
.report-filter-link { display: flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid #bd8120; border-radius: 9px; color: #704900; background: #fff8e8; font-size: var(--text-3xs); font-weight: 850; text-decoration: none; }
.report-filter-link:hover { background: #ffefc7; }
.admin-performance-metrics { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 1px; margin: 20px 25px 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.admin-performance-metrics article { min-width: 0; padding: 14px 15px; background: #fff; }
.admin-performance-metrics article.metric-gold { background: #fff6df; }
.admin-performance-metrics span, .admin-performance-metrics small { display: block; color: var(--muted); font-size: var(--text-3xs); }
.admin-performance-metrics strong { display: block; margin: 5px 0 2px; color: var(--ink); font-size: var(--text-2xl); }
.admin-performance-metrics .metric-gold strong { color: var(--navy-soft); }
.question-stage-summary { display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 8px; margin: 0 25px 14px; }
.question-stage-summary article { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--stage-bg, #fff); cursor: pointer; }
.question-stage-summary article:hover { border-color: var(--amber); filter: brightness(.98); }
.question-stage-summary span { color: var(--stage-fg, var(--muted)); font-size: var(--text-3xs); }
.question-stage-summary strong { color: var(--stage-fg, var(--ink)); font-size: var(--text-lg); }
.admin-performance-panel > .integrity-note { margin: 0 25px 15px; }
.admin-performance-groups { display: grid; gap: 14px; padding: 0 25px 25px; }
.performance-owner-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.performance-owner-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; background: #f8faf9; }
.performance-owner-card > header small { color: var(--teal); font-size: var(--text-3xs); font-weight: 850; letter-spacing: .14em; }
.performance-owner-card > header h3 { margin-top: 3px; font-size: var(--text-lg); }
.performance-owner-card > header > strong { color: var(--navy-soft); font-size: var(--text-sm); white-space: nowrap; }
.performance-discipline { border-top: 1px solid var(--line); }
.performance-discipline > summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 18px; cursor: pointer; }
.performance-discipline > summary:hover { background: #fff6df; }
.performance-discipline > summary strong, .performance-discipline > summary small { display: block; }
.performance-discipline > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.performance-discipline > summary b { color: var(--navy-soft); font-size: var(--text-2xs); white-space: nowrap; }
.performance-detail-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.performance-detail-table { min-width: 980px; }
.performance-detail-table td { vertical-align: top; }
.performance-detail-table td:first-child { min-width: 180px; color: var(--teal); font-weight: 700; }
.performance-detail-table td:nth-child(2) small { display: block; margin-top: 3px; color: var(--muted); }
.report-v3-active .report-panel { display: none; }
.report-v3-filters { grid-template-columns: repeat(4, minmax(145px, 1fr)); }
.report-v3-filters .report-search-filter { grid-column: span 2; }
.report-v3-metrics { grid-template-columns: repeat(6, minmax(105px, 1fr)); }
.report-v3-metrics article.metric-danger { background: #fff2f0; }
.report-v3-metrics article.metric-danger strong { color: var(--red); }
.report-v3-source-summary { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 16px; align-items: center; margin: 0 25px 14px; padding: 14px 16px; border: 1px solid #ead9b2; border-radius: 12px; background: #fffdf7; }
.report-v3-source-summary h3 { margin-top: 4px; font-size: var(--text-sm); }
.report-v3-source-cards { display: grid; grid-template-columns: repeat(4,minmax(110px,1fr)); gap: 8px; }
.report-v3-source-cards article { padding: 10px 11px; border: 1px solid #eadfca; border-radius: 9px; background: #fff; }
.report-v3-source-cards span, .report-v3-source-cards small { display: block; color: var(--muted); font-size: var(--text-3xs); }
.report-v3-source-cards strong { display: block; margin: 4px 0 2px; color: #7c5300; font-size: var(--text-lg); }
.report-v3-export-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 25px 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #f8faf9; color: var(--muted); font-size: var(--text-3xs); }
.report-v3-export-bar > div { display: flex; flex-wrap: wrap; gap: 7px; }
.report-v3-discipline { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.report-v3-discipline-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px; background: #f8faf9; }
.report-v3-discipline-header small { color: var(--teal); font-size: var(--text-3xs); font-weight: 850; letter-spacing: .13em; }
.report-v3-discipline-header h3 { margin-top: 3px; font-size: var(--text-lg); }
.report-v3-discipline-header p { margin-top: 4px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.45; }
.report-v3-discipline-header > strong { color: #825700; font-size: var(--text-2xs); white-space: nowrap; }
.report-v3-official-line { padding: 9px 17px; border-top: 1px solid var(--line); color: #775a1c; background: #fff8e8; font-size: var(--text-3xs); }
.report-v3-chapter { border-top: 1px solid var(--line); }
.report-v3-chapter > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 17px; cursor: pointer; }
.report-v3-chapter > summary:hover { background: #fffaf0; }
.report-v3-chapter > summary strong, .report-v3-chapter > summary small { display: block; }
.report-v3-chapter > summary strong { font-size: var(--text-2xs); }
.report-v3-chapter > summary small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.report-v3-status { flex: 0 0 auto; }
.report-v3-status.status-pending { color: #9b342f; background: #fbe1df; }
.report-v3-status.status-in_progress { color: #755600; background: #fff0bd; }
.report-v3-status.status-done { color: #176f52; background: #dff3e8; }
.report-v3-status.status-not_applicable { color: #65727a; background: #edf0f1; }
.report-v3-topic-list { max-height: 540px; overflow: auto; border-top: 1px solid var(--line); }
.report-v3-topic { display: grid; grid-template-columns: minmax(220px,1fr) minmax(480px,2fr) 110px; gap: 12px; align-items: center; min-width: 850px; padding: 10px 17px; border-top: 1px solid #edf1f2; }
.report-v3-topic:first-child { border-top: 0; }
.report-v3-topic > div:first-child strong, .report-v3-topic > div:first-child small { display: block; }
.report-v3-topic > div:first-child strong { font-size: var(--text-3xs); }
.report-v3-topic > div:first-child small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.report-v3-topic-statuses { display: grid; grid-template-columns: repeat(4,minmax(105px,1fr)); gap: 6px; }
.topic-activity-state { min-width: 0; padding: 7px 8px; border-radius: 8px; background: #fbe1df; }
.topic-activity-state small, .topic-activity-state b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topic-activity-state small { color: #9b4a45; font-size: var(--text-3xs); }
.topic-activity-state b { margin-top: 3px; color: #8e302b; font-size: var(--text-3xs); }
.topic-activity-state.state-done { background: #dff4ed; }
.topic-activity-state.state-done small, .topic-activity-state.state-done b { color: #176f5d; }
.topic-activity-state.state-in_progress { background: #fff0bd; }
.topic-activity-state.state-in_progress small, .topic-activity-state.state-in_progress b { color: #755600; }
.topic-activity-state.state-not_applicable { background: #eef1f2; }
.topic-activity-state.state-not_applicable small, .topic-activity-state.state-not_applicable b { color: #6b757b; }
.report-v3-section { display: grid; gap: 10px; margin-top: 7px; }
.report-v3-section-title { padding: 8px 2px 2px; }
.report-v3-section-title h3 { margin-top: 3px; font-size: var(--text-base); }
.report-v3-discipline.compact > summary { list-style: none; cursor: pointer; }
.report-v3-discipline.compact > summary::-webkit-details-marker { display: none; }
.report-v3-discipline.compact > summary .report-v3-discipline-header { width: 100%; }
.report-v3-question-list, .report-v3-recording-list { border-top: 1px solid var(--line); }
.report-v3-question-list article { display: grid; grid-template-columns: minmax(130px,1fr) 175px 110px minmax(170px,1fr); gap: 10px; align-items: center; padding: 10px 17px; border-top: 1px solid #edf1f2; }
.report-v3-question-list article:first-child, .report-v3-recording-list article:first-child { border-top: 0; }
.report-v3-question-list article > strong { font-size: var(--text-3xs); }
.report-v3-question-list article > span, .report-v3-question-list article > small { color: var(--muted); font-size: var(--text-3xs); }
.report-v3-question-list article.is-overdue { box-shadow: inset 4px 0 var(--red); background: #fff8f7; }
.report-v3-question-list article.is-overdue small { color: var(--red); font-weight: 800; }
.question-source-chip { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 999px; font-size: var(--text-3xs); font-weight: 800; }
.questions-panel { overflow: hidden; }
.questions-heading { align-items: flex-start; padding-bottom: 18px; background: linear-gradient(135deg,#eef5fa,#fff); }
.questions-heading p { max-width: 760px; margin-top: 5px; }
.questions-metrics { display: grid; grid-template-columns: repeat(7,minmax(105px,1fr)); gap: 1px; margin: 20px 25px 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.questions-metrics button { min-width: 0; padding: 13px 14px; border: 0; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.questions-metrics button:hover { filter: brightness(.96); }
.questions-metrics button:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.questions-metrics button.is-active { box-shadow: inset 0 -3px var(--navy); }
.questions-metrics span { display: block; min-height: 25px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.35; }
.questions-metrics strong { display: block; margin-top: 5px; color: var(--ink); font-size: var(--text-xl); }
.questions-metrics .question-metric-pending { background: #c6dbe1; }.questions-metrics .question-metric-pending strong { color: #215a6c; }
.questions-metrics .question-metric-delivered { background: #ffe5a0; }.questions-metrics .question-metric-delivered strong { color: #473821; }
.questions-metrics .question-metric-professor { background: #ffc8aa; }.questions-metrics .question-metric-professor strong { color: #753800; }
.questions-metrics .question-metric-validation { background: #5a3286; }.questions-metrics .question-metric-validation span,.questions-metrics .question-metric-validation strong { color: #e5cff2; }
.questions-metrics .question-metric-ldi { background: #0a53a8; }.questions-metrics .question-metric-ldi span,.questions-metrics .question-metric-ldi strong { color: #bfe0f6; }
.questions-metrics .question-metric-overdue { background: #fde2df; }.questions-metrics .question-metric-overdue strong { color: #a43e37; }
.questions-filter-workspace { margin: 0 25px 14px; overflow: hidden; border: 1px solid #9db5c7; border-radius: 13px; background: #fff; }
.questions-filter-workspace > div:first-child { padding: 11px 14px; border-bottom: 1px solid #cbd7e1; color: #18374f; background: #e6f0f7; }
.questions-filter-workspace > div:first-child strong,.questions-filter-workspace > div:first-child small { display: block; }
.questions-filter-workspace > div:first-child strong { font-size: var(--text-xs); }.questions-filter-workspace > div:first-child small { margin-top: 2px; color: #587083; font-size: var(--text-3xs); }
.questions-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); gap: 10px; align-items: end; padding: 13px 14px 15px; }
.questions-filter-grid label { display: grid; gap: 5px; color: #18374f; font-size: var(--text-3xs); font-weight: 850; }
.questions-filter-grid input,.questions-filter-grid select { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #b9c8d3; border-radius: 9px; outline: 0; background: #fff; }
.questions-filter-grid input:focus,.questions-filter-grid select:focus { border-color: #376f99; box-shadow: 0 0 0 3px rgba(55,111,153,.12); }
.questions-search { grid-column: span 2; }
.questions-overdue { min-height: 38px; align-content: center; padding: 7px 10px; border: 1px solid #e3aaa5; border-radius: 9px; color: #8f342e !important; background: #fff1ef; }
.questions-groups { display: grid; gap: 13px; padding: 0 25px 25px; }
.questions-discipline { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.questions-discipline > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 15px; padding: 13px 16px; background: #f5f8fa; cursor: pointer; list-style: none; }
.questions-discipline > summary::-webkit-details-marker { display: none; }
.questions-discipline > summary::before { content: "▸"; flex: none; color: var(--muted); font-size: var(--text-xs); transition: transform .12s ease; }
.questions-discipline[open] > summary::before { transform: rotate(90deg); }
.questions-discipline > summary:hover { background: #eef3f7; }
.questions-discipline > summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.questions-discipline > summary > div:first-of-type { flex: 1 1 210px; min-width: 0; }
.questions-discipline > summary strong { display: block; color: #18374f; font-size: var(--text-sm); }
.questions-discipline > summary small { display: block; margin-top: 2px; color: var(--muted); font-size: var(--text-3xs); }
.questions-gap-tally { padding: 6px 9px; border-radius: 999px; color: #704900; background: #fbeed2; font-size: var(--text-3xs); font-weight: 850; white-space: nowrap; }
.questions-gap-list { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; padding: 11px 16px; border-top: 1px solid var(--line); background: #fffdf7; }
.questions-gap-list > small { color: var(--muted); font-size: var(--text-2xs); }
.questions-gap-list span { padding: 4px 8px; border-radius: 999px; color: #704900; background: #fbeed2; font-size: var(--text-3xs); font-weight: 750; }
.questions-stage-tally { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.questions-overdue-tally { padding: 6px 9px; border-radius: 999px; color: #9c1f1f; background: #fbe3e3; font-size: var(--text-3xs); font-weight: 850; white-space: nowrap; }
.questions-count { flex: none; color: #18374f; font-size: var(--text-3xs); font-weight: 750; white-space: nowrap; }
.questions-table-wrap { overflow-x: auto; }
.questions-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.questions-table th { padding: 9px 12px; color: #587083; background: #edf3f6; text-align: left; font-size: var(--text-3xs); letter-spacing: .06em; text-transform: uppercase; }
.questions-table td { padding: 10px 12px; border-top: 1px solid #edf1f2; font-size: var(--text-3xs); vertical-align: middle; }
.questions-table td:first-child { color: var(--ink); font-weight: 750; }
.questions-table td:last-child strong,.questions-table td:last-child small { display: block; }.questions-table td:last-child small { margin-top: 3px; color: var(--muted); }
.questions-table tr.is-overdue { box-shadow: inset 4px 0 var(--red); background: #fff7f6; }.questions-table tr.is-overdue td:nth-child(4) { color: var(--red); font-weight: 850; }
.question-stage-chip { display: inline-flex; padding: 6px 9px; border-radius: 999px; color: var(--stage-fg); background: var(--stage-bg); font-size: var(--text-3xs); font-weight: 850; white-space: nowrap; }
.question-mode-tabs { width: fit-content; max-width: 100%; display: flex; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 13px; background: #fff; overflow-x: auto; }
.question-mode-tabs button { min-height: 44px; padding: 10px 16px; border: 0; border-radius: 9px; color: #526775; background: transparent; font-size: var(--text-sm); font-weight: 850; white-space: nowrap; }
.question-mode-tabs button.active { color: #fff; background: #153b55; box-shadow: 0 6px 15px rgba(21,59,85,.2); }
.question-mode-tabs button:focus-visible, .question-inclusion-panel button:focus-visible, .question-inclusion-panel input:focus-visible, .question-inclusion-panel select:focus-visible, .question-inclusion-panel textarea:focus-visible { outline: 3px solid #d49a18; outline-offset: 2px; }
.question-inclusion-panel { overflow: hidden; }
.question-inclusion-heading { align-items: center; padding-bottom: 20px; background: linear-gradient(125deg,#fff 0 64%,#eef6f4 64%); }
.question-inclusion-heading p { max-width: 720px; margin-top: 6px; }
.source-badge { padding: 7px 10px; border: 1px solid #91c7bb; border-radius: 999px; color: #176455; background: #e7f6f2; font-size: var(--text-xs); font-weight: 850; }
.question-inclusion-filters { display: grid; grid-template-columns: repeat(5,minmax(140px,1fr)); gap: 12px; align-items: end; margin: 20px 25px 14px; padding: 16px; border: 1px solid #b7cbc6; border-radius: 13px; background: #f7fbfa; }
.question-inclusion-filters > p { grid-column: 1 / -1; margin: 0; color: #526775; font-size: var(--text-sm); }
.question-inclusion-filters label, .question-inclusion-toolbar label, .question-batch-context label, .question-batch-output { display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }
.question-inclusion-filters input, .question-inclusion-filters select, .question-inclusion-toolbar input, .question-batch-context input, .question-batch-context select, .question-batch-output textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #aec1bd; border-radius: 9px; color: var(--ink); background: #fff; font: inherit; }
.question-filter-course { grid-column: span 2; }
.question-filter-submit { min-height: 44px; }
.question-inclusion-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(260px,.8fr) auto; gap: 14px; align-items: end; margin: 0 25px 14px; padding: 13px 0; border-block: 1px solid var(--line); }
.question-inclusion-toolbar > div:first-child strong, .question-inclusion-toolbar > div:first-child span { display: block; }
.question-inclusion-toolbar > div:first-child span { margin-top: 4px; color: var(--muted); font-size: var(--text-xs); }
.question-selection-actions { display: flex; gap: 8px; }
.question-inclusion-results { display: grid; gap: 12px; max-height: 620px; margin: 0 25px 20px; overflow: auto; }
/* Cobertura por capitulo: o que a consulta NAO trouxe fica tao visivel quanto
   o que trouxe. Cinza quando a consulta nao cobre o curso inteiro (ausencia nao
   comprovada), ambar quando cobre (ausencia real). */
.question-chapter-coverage { margin: 0 25px 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf7; }
.question-chapter-coverage > header { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.question-chapter-coverage h3 { margin: 0; font-size: var(--text-base); }
.question-chapter-coverage > header p { margin-top: 4px; font-size: var(--text-xs); }
.question-chapter-coverage > header strong { color: #704900; font-size: var(--text-sm); font-weight: 850; white-space: nowrap; }
.question-coverage-gaps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.question-coverage-chip { padding: 5px 9px; border-radius: 999px; color: #4a5a66; background: #eef2f4; font-size: var(--text-2xs); font-weight: 700; }
.question-coverage-chip.is-gap { color: #704900; background: #fbeed2; }
.question-coverage-empty, .question-coverage-note { width: 100%; margin: 0; color: var(--muted); font-size: var(--text-xs); }
.question-coverage-note { margin-top: 7px; }
.question-chapter-flag { display: inline-flex; width: fit-content; margin-top: 5px; padding: 4px 8px; border-radius: 999px; font-size: var(--text-3xs); font-weight: 800; }
.question-chapter-flag.is-present { color: #176455; background: #ddf1ea; }
.question-chapter-flag.is-new { color: #704900; background: #fbeed2; }
.question-chapter-flag.is-unknown { color: #5a5a5a; background: #ececec; }
.question-result-group { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.question-result-group > header { display: flex; justify-content: space-between; gap: 16px; padding: 13px 15px; background: #edf4f3; }
.question-result-group h3 { margin: 0; font-size: var(--text-base); }.question-result-group header p { margin-top: 4px; color: var(--muted); font-size: var(--text-xs); }.question-result-group header > span { color: #176455; font-size: var(--text-xs); font-weight: 850; }
.question-result-row { min-height: 48px; display: grid; grid-template-columns: 28px 115px minmax(240px,1fr); gap: 10px; align-items: start; padding: 12px 14px; border-top: 1px solid #edf1f2; }
.question-result-row:hover { background: #fbfdfc; }.question-result-row:has(input:checked) { box-shadow: inset 4px 0 #1e7b69; background: #eef9f6; }
.question-result-row input { width: 20px; height: 20px; margin: 0; }.question-result-row > label { cursor: pointer; }.question-result-row strong { color: #153b55; font-size: var(--text-sm); }.question-result-row span, .question-result-row small { color: #526775; font-size: var(--text-xs); }
.question-result-content { display: grid; gap: 4px; min-width: 0; }.question-result-content small { line-height: 1.45; }.question-result-solution { margin-top: 4px; color: #31596b; font-size: var(--text-xs); }.question-result-solution summary { cursor: pointer; font-weight: 800; }.question-result-solution p { max-height: 180px; overflow: auto; margin: 8px 0 0; padding: 10px; border-radius: 8px; background: #f5f8f8; white-space: pre-wrap; }
.question-batch-draft { display: grid; gap: 15px; margin: 0 25px 25px; padding: 18px; border: 1px solid #d8bd7a; border-radius: 14px; background: #fffaf0; }
.question-batch-draft h3 { margin: 4px 0; }.question-batch-draft > div:first-child > p:last-child { color: var(--muted); font-size: var(--text-xs); }
.question-batch-context { display: grid; grid-template-columns: repeat(3,minmax(180px,1fr)); gap: 10px; }
.question-batch-output textarea { resize: vertical; font-family: Consolas,"SFMono-Regular",monospace; }
.question-batch-footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.question-batch-footer span { color: #6f5a27; font-size: var(--text-xs); font-weight: 800; }
.question-batch-footer > div, .question-saved-batch footer > div, .question-item-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.question-saved-batches { margin: 0 25px 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.compact-heading { align-items: center; padding: 18px 18px 14px; }
.compact-heading h3 { margin: 4px 0; font-size: var(--text-lg); }
.compact-heading p { margin-top: 4px; }
.question-saved-list { display: grid; gap: 12px; padding: 0 18px 18px; }
.question-saved-batch { overflow: hidden; border: 1px solid #ccd9dd; border-radius: 12px; background: #fbfdfd; }
.question-saved-batch > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 14px 15px; background: #eef4f5; }
.question-saved-batch header small { color: var(--teal); font-size: var(--text-2xs); font-weight: 900; letter-spacing: .1em; }
.question-saved-batch h4 { margin: 3px 0; font-size: var(--text-base); }.question-saved-batch header p { color: var(--muted); font-size: var(--text-xs); }
.question-batch-status, .question-decision { display: inline-flex; width: fit-content; padding: 6px 9px; border-radius: 999px; color: #765615; background: #fff0c7; font-size: var(--text-2xs); font-weight: 850; white-space: nowrap; }
.question-batch-status.is-included_ldi, .question-decision.is-included_ldi { color: #126755; background: #dcf3eb; }
.question-batch-status.is-rejected_by_professor, .question-decision.is-rejected_by_professor { color: #8c3732; background: #fde7e4; }
.question-saved-items { max-height: 320px; overflow: auto; }
.question-saved-item { min-height: 50px; display: grid; grid-template-columns: 120px minmax(160px,1fr) auto; gap: 10px; align-items: center; padding: 9px 14px; border-top: 1px solid #e5ecee; }
.question-saved-item strong { color: #153b55; font-size: var(--text-sm); }
.question-saved-batch footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; border-top: 1px solid #dfe8ea; background: #fff; }
.question-saved-batch footer code { max-width: 48%; overflow-wrap: anywhere; color: #536a79; font-size: var(--text-xs); }
.report-v3-recording-list article { display: grid; grid-template-columns: 135px minmax(240px,1fr) 145px; gap: 12px; align-items: center; padding: 10px 17px; border-top: 1px solid #edf1f2; }
.report-v3-recording-list time { color: #7d5600; font-size: var(--text-3xs); font-weight: 800; }
.report-v3-recording-list strong, .report-v3-recording-list small { display: block; }
.report-v3-recording-list strong { font-size: var(--text-3xs); }
.report-v3-recording-list small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.report-v3-recording-list > article > span { justify-self: start; padding: 6px 9px; border-radius: 999px; font-size: var(--text-3xs); font-weight: 800; }
.operational-summary { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 10px; }
.report-attention { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; align-items: center; margin: 0 25px 10px; padding: 10px 12px; border: 1px solid #ead9b2; border-radius: 12px; background: #fffdf7; }
.dialog-header-actions { display: inline-flex; align-items: center; gap: 9px; }
.report-attention h3 { margin: 3px 0 0; font-size: var(--text-sm); }
.attention-list { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; }
.attention-item { min-width: 185px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; text-align: left; cursor: pointer; }
.attention-item:hover { border-color: var(--gold); background: #fffaf0; }
.attention-item strong, .attention-item small { display: block; }
.attention-item strong { font-size: var(--text-3xs); }
.attention-item small { margin-top: 4px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.3; }
.report-table-wrap { max-height: 610px; overflow: auto; border-top: 1px solid var(--line); }
.report-export-bar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 10px; padding: 10px 25px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fbfdfd; }
.report-selection-summary { display: grid; gap: 2px; min-width: 145px; }
.report-selection-summary strong { color: var(--navy); font-size: var(--text-xs); }
.report-selection-summary span { color: var(--muted); font-size: var(--text-3xs); }
.report-export-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 7px; }
.report-pdf-detail { display: inline-grid; grid-template-columns: auto minmax(170px,1fr); align-items: center; gap: 6px; color: var(--muted); font-size: var(--text-3xs); font-weight: 800; }
.report-pdf-detail select { min-height: 37px; }
.report-discipline-empty { margin: 0; padding: 14px 0 2px; }
/* Cada disciplina agrupa suas atividades com a contagem por status visível
   sem abrir nada -- antes era uma tabela unica de ate 400 linhas, sem nenhuma
   hierarquia entre uma disciplina com 2 atividades e outra com 80. */
.report-groups { display: grid; gap: 12px; margin: 15px 25px 0; }
.report-discipline { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.report-discipline > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 15px; padding: 13px 16px; background: #f5f8fa; cursor: pointer; list-style: none; }
.report-discipline > summary::-webkit-details-marker { display: none; }
.report-discipline > summary::before { content: "▸"; flex: none; color: var(--muted); font-size: var(--text-xs); transition: transform .12s ease; }
.report-discipline[open] > summary::before { transform: rotate(90deg); }
.report-discipline > summary:hover { background: #eef3f7; }
.report-discipline > summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.report-discipline > summary > div:first-of-type { flex: 1 1 210px; min-width: 0; }
.report-discipline > summary strong { display: block; color: #18374f; font-size: var(--text-sm); }
.report-discipline > summary small { display: block; margin-top: 2px; color: var(--muted); font-size: var(--text-3xs); }
.report-stage-tally { display: flex; flex-wrap: wrap; gap: 5px; }
.report-overdue-tally { padding: 5px 7px; border-radius: 7px; color: #9c1f1f; background: #fbe3e3; font-size: var(--text-3xs); font-weight: 850; white-space: nowrap; }
.report-count { flex: none; color: #18374f; font-size: var(--text-3xs); font-weight: 750; white-space: nowrap; }
.report-discipline-pdf { flex: none; }
/* Panorama por capitulo: aberto so mostra quantas atividades teve; os
   topicos (onde a duplicacao do historico migrado aparecia) so entram ao
   clicar. */
.report-chapters { display: grid; gap: 8px; padding: 0 16px 16px; }
.report-chapter { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfd; }
.report-chapter > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 13px; background: #f0f4f6; cursor: pointer; list-style: none; }
.report-chapter > summary::-webkit-details-marker { display: none; }
.report-chapter > summary::before { content: "▸"; flex: none; color: var(--muted); font-size: var(--text-3xs); transition: transform .12s ease; margin-right: 2px; }
.report-chapter[open] > summary::before { transform: rotate(90deg); }
.report-chapter > summary:hover { background: #e7eef1; }
.report-chapter > summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
.report-chapter > summary strong { flex: 1 1 200px; min-width: 0; color: #18374f; font-size: var(--text-2xs); font-weight: 800; }
.report-chapter .report-table-wrap { margin: 0; border-top: 1px solid var(--line); }
.data-table { width: 100%; min-width: 1080px; border-collapse: separate; border-spacing: 0; font-size: var(--text-2xs); }
.data-table th { position: sticky; top: 0; z-index: 1; padding: 11px 10px; color: var(--muted); background: #f5f9fa; text-align: left; font-size: var(--text-3xs); letter-spacing: .05em; text-transform: uppercase; }
.data-table td { max-width: 260px; padding: 10px; border-top: 1px solid #edf1f2; vertical-align: middle; line-height: 1.4; }
.data-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.data-table .report-category-heading { min-width: 126px; border-bottom: 3px solid transparent; text-align: center; }
.data-table .report-category-heading.category-written_complete { color: #176b57; background: #e8f7f1; border-bottom-color: #76bea9; }
.data-table .report-category-heading.category-written_summary { color: #2f668e; background: #eef5fb; border-bottom-color: #8ab5d4; }
.data-table .report-category-heading.category-video { color: #815d08; background: #fff5d9; border-bottom-color: #e0b84d; }
.data-table .report-category-heading.category-slide { color: #62458a; background: #f3edfb; border-bottom-color: #aa8bce; }
.report-activity-cell { text-align: center; }
.report-activity-cell.is-empty { color: #9aa6ae; background: #fafbfc; }
.data-table .report-select-column { width: 58px; min-width: 58px; padding-inline: 12px; text-align: center; background: #fbf7ed; }
.report-select-column label { display: grid; justify-items: center; gap: 3px; cursor: pointer; }
.report-select-column label span { color: #85600a; font-size: var(--text-3xs); letter-spacing: 0; text-transform: none; }
.report-select-column input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--gold); cursor: pointer; }
.data-table tbody tr:hover td { background-color: #fffdf7; }
.data-table tbody tr:hover .report-select-column { background-color: #f7edcf; }
.report-owner strong, .report-owner small { display: block; }
.report-owner small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.report-date { color: var(--teal); font-weight: 800; white-space: nowrap; }
.report-reference { overflow-wrap: anywhere; color: var(--muted); }
.report-pending-age { color: var(--red); font-weight: 750; white-space: nowrap; }
.report-priority { color: #8a5a00; font-weight: 800; }
.status-badge { display: inline-block; padding: 5px 7px; border-radius: 7px; color: #7b6325; background: #fff5dc; white-space: nowrap; }
.status-badge[data-status="done"] { color: #236c61; background: var(--teal-soft); }
.status-badge[data-status="in_progress"] { color: #32678e; background: #e9f2f9; }
.status-badge[data-status="overdue"] { color: #9c1f1f; background: #fbe3e3; }
.status-badge[data-status="pending"] { color: #7b5700; background: #fff1c7; }
.status-badge[data-status="cancelled"] { color: var(--muted); background: #eef2f3; }
.table-note { padding: 11px 25px 22px; }
.analyzer-panel, .external-panel { margin-bottom: 17px; }
.analyzer-layout { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: 20px; padding: 5px 25px 25px; }
.analyzer-layout h3 { margin: 7px 0 10px; font-size: var(--text-xs); }
.collaborator-cards, .pending-list { display: grid; gap: 8px; max-height: 600px; overflow: auto; }
.collaborator-card { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdfd; }
.collaborator-card strong, .collaborator-card small { display: block; }
.collaborator-card strong { font-size: var(--text-xs); }
.collaborator-card small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.collaborator-card div { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 9px; }
.collaborator-card span { padding: 4px 6px; border-radius: 6px; color: #3c6676; background: #eaf4f6; font-size: var(--text-3xs); }
.pending-item { display: grid; grid-template-columns: minmax(0, 1fr) 75px 145px; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.pending-item.is-prioritized { border-color: #e2b45f; background: #fffbf1; box-shadow: inset 3px 0 #dda13c; }
.pending-main strong, .pending-main small, .pending-main p { display: block; }
.pending-main strong { margin-top: 4px; font-size: var(--text-2xs); }
.pending-main small, .pending-main p { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.4; }
.pending-type { color: var(--teal); font-size: var(--text-3xs); font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pending-age { color: var(--red); font-size: var(--text-3xs); font-weight: 800; text-align: center; }
.priority-controls { display: grid; grid-template-columns: 1fr auto; gap: 5px; }
.priority-controls select { min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: var(--text-3xs); }
.priority-controls button:disabled { opacity: .45; cursor: not-allowed; }
.external-layout { display: grid; grid-template-columns: minmax(270px, .55fr) minmax(0, 1.45fr); gap: 20px; padding: 20px 25px 25px; }
.compact-form { align-content: start; padding: 0; box-shadow: none; border: 0; }
.external-source-list { display: grid; gap: 8px; align-content: start; max-height: 420px; overflow: auto; }
.external-source { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.external-source strong, .external-source small, .external-source p { display: block; }
.external-source strong { font-size: var(--text-xs); }
.external-source small, .external-source p { margin-top: 4px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.4; }
.external-actions { display: flex; gap: 6px; }
.grid-dialog { width: min(1450px, calc(100vw - 30px)); }
.external-grid-wrap { height: calc(100% - 94px); overflow: auto; }
.external-grid { border-collapse: separate; border-spacing: 0; min-width: 100%; font-size: var(--text-3xs); }
.external-grid th, .external-grid td { min-width: 120px; max-width: 320px; padding: 9px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; overflow-wrap: anywhere; }
.external-grid thead th { position: sticky; top: 0; z-index: 2; color: var(--muted); background: #f3f7f8; text-align: left; }
.external-grid tbody th { position: sticky; left: 0; z-index: 1; min-width: 48px; color: var(--muted); background: #f7fafa; }
.external-grid .is-override { background: #fff8e6; box-shadow: inset 0 -2px #e2a73f; }
.external-grid .is-editing { outline: 2px solid var(--teal); background: #fff; }
.form-panel, .queue-panel { display: grid; gap: 14px; padding: 21px; }
.form-panel label { display: grid; gap: 6px; color: var(--muted); font-size: var(--text-2xs); font-weight: 700; }
.form-panel input:not([type="checkbox"]), .form-panel select, .form-panel textarea { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #fff; resize: vertical; }
.form-panel input:focus, .form-panel select:focus, .form-panel textarea:focus { border-color: #89cfc3; box-shadow: 0 0 0 3px rgba(20,155,138,.1); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.check-row { display: flex !important; align-items: center; gap: 7px !important; font-weight: 600 !important; }
.admin-discipline-search { width: calc(100% - 50px); margin: 0 25px 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; font-size: var(--text-sm); }
.admin-discipline-search:focus { outline: 0; border-color: #89cfc3; box-shadow: 0 0 0 3px rgba(20,155,138,.1); }
.admin-discipline-list { display: grid; gap: 8px; max-height: 420px; margin: 0 25px 25px; padding: 0; overflow: auto; }
.admin-discipline-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; }
.admin-discipline-row strong, .admin-discipline-row small { display: block; }
.admin-discipline-row strong { font-size: var(--text-xs); }
.admin-discipline-row small { margin-top: 4px; color: var(--muted); font-size: var(--text-3xs); }
.admin-alias-unmatched { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 25px 16px; }
.admin-alias-unmatched > p.muted { width: 100%; margin: 0 0 2px; font-size: var(--text-2xs); }
.admin-alias-chip { padding: 6px 10px; border: 1px dashed #c7a15c; border-radius: 999px; color: #704900; background: #fffaf0; font-size: var(--text-2xs); font-weight: 700; cursor: pointer; }
.admin-alias-chip:hover { background: #fbeed2; }
.admin-aliases-panel .form-panel { margin: 0 25px; padding: 0 0 16px; }
.admin-alias-list { display: grid; gap: 8px; margin: 0 25px 25px; padding: 16px 0 0; border-top: 1px solid var(--line); }
.admin-alias-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; }
.admin-alias-row strong, .admin-alias-row small { display: block; }
.admin-alias-row strong { font-size: var(--text-xs); }
.admin-alias-row small { margin-top: 4px; color: var(--muted); font-size: var(--text-3xs); }
.admin-users { overflow: hidden; }
.admin-user-list { padding: 16px 25px 25px; }
.admin-user-row { display: grid; grid-template-columns: minmax(150px,1fr) minmax(170px,1.1fr) 112px minmax(155px,.9fr) 105px minmax(240px,1.2fr) 55px 142px; gap: 9px; align-items: center; padding: 10px 0; border-top: 1px solid #edf1f2; }
.admin-user-row input, .admin-user-row select { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: var(--text-3xs); }
.user-permissions { display: flex; flex-wrap: wrap; gap: 6px 10px; min-width: 0; margin: 0; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; }
.user-permissions legend { padding: 0 3px; color: var(--muted); font-size: var(--text-3xs); font-weight: 800; }
.user-permissions .check-row { min-width: max-content; font-size: var(--text-2xs); }
.infrastructure-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; padding: 0 24px 24px; }
.infrastructure-item { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fffaf0; }
.infrastructure-item small { color: var(--muted); font-size: var(--text-3xs); }
.infrastructure-item strong { color: var(--ink); font-size: var(--text-xs); overflow-wrap: anywhere; }
.user-copy strong, .user-copy small { display: block; }
.user-copy strong { font-size: var(--text-2xs); }
.user-copy small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.user-actions { display: flex; gap: 5px; }
.user-actions .button { padding-inline: 8px; }
.queue-panel p { line-height: 1.55; }
dialog { width: min(1120px, calc(100vw - 30px)); height: min(850px, calc(100vh - 28px)); padding: 0; border: 0; border-radius: 20px; box-shadow: 0 30px 90px rgba(9,26,39,.3); }
dialog::backdrop { background: rgba(8,25,39,.65); backdrop-filter: blur(3px); }
.dialog-header { display: flex; justify-content: space-between; gap: 20px; padding: 25px 28px 19px; border-bottom: 1px solid var(--line); }
.dialog-header h2 { margin: 6px 0; font-size: var(--text-2xl); }
.dialog-header p:last-child { color: var(--muted); font-size: var(--text-xs); }
.icon-button { width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: var(--text-xl); }
.detail-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; padding: 16px 28px; background: #f9fbfb; border-bottom: 1px solid var(--line); }
.detail-metric { padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.detail-metric small, .detail-metric span { display: block; color: var(--muted); font-size: var(--text-3xs); }
.detail-metric strong { display: block; margin: 4px 0; font-size: var(--text-lg); }
.detail-operations { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; padding: 13px 28px; background: #fffdf7; border-bottom: 1px solid var(--line); }
.detail-operations article { padding: 9px 11px; border: 1px solid #eadfca; border-radius: 9px; background: #fff; }
.detail-operations small, .detail-operations span { display: block; color: var(--muted); font-size: var(--text-3xs); }
.detail-operations strong { display: block; margin: 4px 0; color: var(--ink); font-size: var(--text-sm); }
.detail-operations + .integrity-note { margin: 10px 28px 0; }
.dialog-toolbar { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 13px 28px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--text-xs); }
.dialog-tools { display: flex; gap: 8px; }
.dialog-tools input { width: 220px; }
.topic-list { max-height: 440px; padding: 6px 28px 18px; overflow: auto; }
.chapter-header { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-top: 12px; padding: 8px 10px; border-radius: 8px; color: #73520c; background: #fff7e5; font-size: var(--text-2xs); }
.chapter-header small { color: var(--muted); font-size: var(--text-3xs); white-space: nowrap; }
.topic-row { display: grid; grid-template-columns: minmax(250px, 1.2fr) minmax(380px, 1.8fr) 125px; gap: 15px; align-items: center; min-height: 70px; padding: 9px 0; border-bottom: 1px solid #edf1f2; }
.topic-title { display: flex; gap: 10px; align-items: baseline; }
.topic-title strong { font-size: var(--text-xs); line-height: 1.35; }
.topic-number { min-width: 38px; color: var(--teal); font-size: var(--text-2xs); font-weight: 800; }
.topic-source { display: grid; grid-template-columns: repeat(4, minmax(78px, 1fr)); gap: 5px; }
.topic-source-item small { display: block; min-height: 22px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; line-height: 1.15; }
.topic-source-item span { display: block; overflow: hidden; padding: 4px 6px; border-radius: 6px; color: #7c6b38; background: #fff6dc; font-size: var(--text-3xs); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.topic-source-item .source-done { color: #207a68; background: var(--teal-soft); }
.topic-workflow { justify-self: end; min-width: 112px; padding: 8px 10px; border-radius: 8px; color: #7b6325; background: #fff5dc; font-size: var(--text-2xs); font-weight: 750; text-align: center; }
.topic-workflow.status-in_progress { color: #32678e; background: #e9f2f9; }
.topic-workflow.status-done { color: #207a68; background: var(--teal-soft); }
.detail-timeline { padding: 15px 28px 25px; border-top: 1px solid var(--line); }
.detail-timeline h3 { margin: 3px 0 10px; font-size: var(--text-sm); }
.timeline-list { display: grid; gap: 6px; max-height: 210px; overflow: auto; }
.timeline-list article { display: grid; grid-template-columns: 76px 1fr; gap: 10px; padding: 8px 0; border-top: 1px solid #edf1f2; }
.timeline-list time { color: var(--teal); font-size: var(--text-3xs); font-weight: 800; }
.timeline-list strong, .timeline-list small { display: block; }
.timeline-list strong { font-size: var(--text-3xs); }
.timeline-list small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.discipline-health { width: fit-content; max-width: 145px; justify-self: start; padding: 4px 6px; border-radius: 6px; color: #237166; background: var(--teal-soft); font-size: var(--text-3xs); font-weight: 800; white-space: nowrap; }
.discipline-health.is-not_started { color: #aa352e; background: #fde8e5; }
.discipline-health.is-in_progress { color: #8b5d05; background: #fff2d3; }
.discipline-health.is-completed { color: #075e45; background: #d8f1e7; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 5; max-width: 360px; padding: 12px 15px; border-radius: 10px; color: #fff; background: var(--navy); box-shadow: var(--shadow); font-size: var(--text-sm); }
.toast.error { background: #a84c4c; }
.note-dialog { width: min(620px, calc(100vw - 30px)); height: auto; max-height: calc(100vh - 28px); }
.note-dialog .form-panel { gap: 0; padding: 0; }
.note-dialog .form-panel > label { padding: 22px 28px; }
.note-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 28px 22px; border-top: 1px solid var(--line); }
.note-actions > div { display: flex; gap: 8px; }
.lab-safety-banner { display: flex; align-items: center; gap: 13px; padding: 12px 16px; border: 1px solid #d6a431; border-radius: 12px; color: #674400; background: #fff5d7; box-shadow: inset 4px 0 #b77a00; font-size: var(--text-2xs); }
.lab-safety-banner strong { letter-spacing: .08em; white-space: nowrap; }
.lab-hero { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 26px; overflow: hidden; background: linear-gradient(118deg, #fff 0 67%, #f8ecd0 67%); }
.lab-hero h2 { margin: 5px 0 8px; font-size: var(--text-2xl); }
.lab-hero p:last-child { max-width: 640px; color: var(--muted); font-size: var(--text-xs); line-height: 1.55; }
.lab-counters { display: grid; grid-template-columns: repeat(3, minmax(105px,1fr)); gap: 1px; min-width: 390px; overflow: hidden; border: 1px solid #ead9b2; border-radius: 12px; background: #ead9b2; }
.lab-counters article { padding: 14px; background: rgba(255,255,255,.9); }
.lab-counters strong, .lab-counters span { display: block; }
.lab-counters strong { color: #855800; font-size: var(--text-xl); }
.lab-counters span { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.lab-module-tabs { max-width: 100%; display: flex; gap: 8px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: #fff; width: fit-content; overflow-x: auto; }
.lab-module-tabs button { padding: 10px 15px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font-size: var(--text-2xs); font-weight: 800; }
.lab-module-tabs button.active { color: #fff; background: #8a5a00; box-shadow: 0 5px 14px rgba(138,90,0,.22); }
.lab-module-tabs button { white-space: nowrap; }
.lab-planned-badge { margin-left: 5px; padding: 2px 5px; border-radius: 999px; color: #73531a; background: #fff2c9; font-size: var(--text-3xs); font-weight: 850; }
.lab-module-tabs button.active .lab-planned-badge { color: #6a4700; background: #fff7e4; }
.lab-project-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 22px; }
.lab-project-card { display: grid; gap: 8px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.lab-project-card h3 { margin: 0; color: var(--ink); }
.lab-project-card p { margin: 0; color: var(--muted); font-size: var(--text-sm); line-height: 1.5; }
.lab-project-card small { color: var(--muted); }
.lab-project-actions { display: flex; gap: 8px; margin-top: 8px; }
.button-danger { color: #a42b2b; border-color: #e5b0b0; background: #fff7f7; }
.lab-integrated-module, .lab-institutional-plan { overflow: hidden; }
.lab-integrated-heading { align-items: center; }
.lab-integrated-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.lab-integrated-frame { width: calc(100% - 40px); height: 820px; margin: 0 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.lab-module-unavailable { margin: 0 22px 22px; padding: 22px; display: grid; gap: 6px; border: 1px dashed #d9b35e; border-radius: 12px; color: #755718; background: #fff9e9; }
.lab-module-unavailable span { color: var(--muted); font-size: var(--text-xs); }
.lab-module-unavailable code, .lab-architecture-grid code { font-family: Consolas, "SFMono-Regular", monospace; font-size: .95em; }
.lab-plan-status { color: #745920; background: #fff6df; }
.lab-architecture-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 8px 25px 24px; }
.lab-architecture-grid article { min-width: 0; padding: 17px; border: 1px solid #ead9b2; border-radius: 12px; background: #fffaf0; }
.lab-architecture-grid article > span { width: 29px; height: 29px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 9px; color: #fff; background: #8a5a00; font-size: var(--text-xs); font-weight: 850; }
.lab-architecture-grid strong, .lab-architecture-grid p { display: block; }
.lab-architecture-grid strong { color: var(--ink); font-size: var(--text-sm); }
.lab-architecture-grid p { margin-top: 7px; color: var(--muted); font-size: var(--text-xs); line-height: 1.5; }
.lab-future-note { margin: 0 25px 25px; padding: 13px 15px; display: flex; gap: 8px; border-left: 4px solid var(--teal); border-radius: 9px; color: #285b53; background: var(--teal-soft); font-size: var(--text-xs); }
.lab-notice-layout { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.7fr); gap: 17px; align-items: start; min-width: 0; }
.lab-notice-layout > *, .lab-module, .lab-board-panel { min-width: 0; }
.lab-notice-form { position: sticky; top: 18px; }
.lab-board-panel { overflow: hidden; }
.lab-board { display: grid; grid-template-columns: repeat(4, minmax(190px,1fr)); gap: 10px; min-width: 0; padding: 18px 20px 22px; overflow-x: auto; }
.lab-board-column { min-width: 190px; padding: 9px; border: 1px solid var(--line); border-top: 3px solid #bea568; border-radius: 11px; background: #f8faf9; }
.lab-board-column.stage-validation { border-top-color: #d19b25; }
.lab-board-column.stage-ready { border-top-color: var(--teal); }
.lab-board-column.stage-archived { border-top-color: #8a98a2; }
.lab-board-heading { display: flex; justify-content: space-between; align-items: center; padding: 2px 3px 9px; }
.lab-board-heading strong { font-size: var(--text-3xs); text-transform: uppercase; letter-spacing: .04em; }
.lab-board-heading span { padding: 3px 6px; border-radius: 999px; background: #fff; color: var(--muted); font-size: var(--text-3xs); }
.lab-card-list { display: grid; gap: 8px; }
.lab-notice-card { display: grid; gap: 5px; padding: 11px; border: 1px solid #e5e9e8; border-radius: 9px; background: #fff; box-shadow: 0 4px 12px rgba(13,35,48,.04); }
.lab-notice-card > strong { color: var(--navy); font-size: var(--text-2xs); }
.lab-notice-card > b { color: #8a5a00; font-size: var(--text-3xs); }
.lab-notice-card small, .lab-notice-card p { color: var(--muted); font-size: var(--text-3xs); line-height: 1.4; }
.lab-notice-card select { width: 100%; padding: 7px; border: 1px solid var(--line); border-radius: 7px; background: #fffaf0; font-size: var(--text-3xs); }
.lab-activities-panel { overflow: hidden; }
.lab-toolbar, .lab-sheet-toolbar { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); align-items: end; }
.lab-toolbar .search, .lab-sheet-toolbar .search { grid-column: span 2; }
.lab-toolbar label:not(.search), .lab-sheet-toolbar label:not(.search) { display: grid; gap: 5px; color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.lab-toolbar input, .lab-toolbar select, .lab-sheet-toolbar input, .lab-sheet-toolbar select { width: 100%; min-height: 42px; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #fff; }
.lab-activity-scroll, .lab-sheet-scroll { margin: 0 25px 24px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
.lab-activity-head, .lab-activity-row { display: grid; grid-template-columns: minmax(330px,1.6fr) 165px 165px 170px 110px 145px minmax(300px,1.3fr); gap: 12px; align-items: center; min-width: 1430px; }
.lab-activity-head { margin: 0 25px; padding: 10px 12px; color: var(--muted); background: #f5f8f8; border-radius: 9px 9px 0 0; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lab-activity-scroll .lab-activity-head { margin: 0; border-radius: 0; }
.lab-activity-list { max-height: 620px; min-width: 1430px; overflow-y: auto; }
.lab-activity-row { padding: 11px 12px; border-top: 1px solid #edf1f2; background: #fff; }
.lab-activity-row.lab-testing { box-shadow: inset 3px 0 #d6a126; }
.lab-activity-row.lab-approved { box-shadow: inset 3px 0 var(--teal); }
.lab-activity-row.lab-discarded { opacity: .66; box-shadow: inset 3px 0 #9da7ad; }
.lab-activity-reference strong, .lab-activity-reference span, .lab-activity-reference small { display: block; }
.lab-activity-reference strong { text-transform: capitalize; font-size: var(--text-2xs); }
.lab-activity-reference span { margin-top: 3px; font-size: var(--text-3xs); }
.lab-activity-reference small { margin-top: 3px; color: var(--muted); font-size: var(--text-3xs); }
.lab-activity-row > select, .lab-note-control input { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: var(--text-3xs); }
.lab-note-control { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.lab-sheet-panel { margin-top: 17px; overflow: hidden; }
.lab-notice-grid-head, .lab-notice-grid-row { display: grid; grid-template-columns: 190px 125px 170px 170px 170px 165px 125px 125px 135px 125px 155px 220px 82px; gap: 8px; align-items: center; min-width: 1910px; }
.lab-notice-grid-head { padding: 10px 12px; color: var(--muted); background: #f5f8f8; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lab-notice-grid { max-height: 520px; min-width: 1910px; overflow-y: auto; }
.lab-notice-grid-row { padding: 9px 12px; border-top: 1px solid #edf1f2; background: #fff; }
.lab-notice-grid-row input, .lab-notice-grid-row select { width: 100%; min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 7px; background: #fff; font-size: var(--text-3xs); }
.lab-notice-grid-row > span { color: var(--navy); font-size: var(--text-3xs); line-height: 1.35; }
.lab-team-marker { display: inline-flex; width: fit-content; padding: 5px 7px; border-radius: 999px; color: #765615; background: #fff2c9; font-size: var(--text-3xs) !important; font-weight: 800; }

/* Legibilidade operacional: filtros, tabelas e metadados não ficam abaixo de 12 px. */
.auth-brand small, .auth-form label, .auth-request label, .auth-note, .auth-request .button, .google-login span,
.brand-copy small, .brand-copy b, .workspace-label, .sidebar-footer small, .eyebrow, .identity-switcher, .button-compact,
.today-summary span, .today-activity-row time, .today-kind, .today-activity-row small, .today-state,
.blocker-rank, .blocker-copy small, .status-bar-label b, .discipline-name small, .mini-stat small, .blocker-count,
.recording-metrics span, .recording-metrics small, .recording-toolbar label:not(.search), .recording-subsection p,
.recording-main small, .source-link, .recording-status, .date-filter, .agenda-metrics span, .agenda-kind,
.agenda-item small, .agenda-item time, .agenda-controls, .agenda-controls select, .report-filters label,
.report-filters label small, .category-tabs button, .report-metrics span, .report-metrics small,
.report-filter-block > header small, .report-filter-fields label, .report-filter-link,
.admin-performance-metrics span, .admin-performance-metrics small, .question-stage-summary span,
.questions-filter-workspace > div:first-child small, .questions-filter-grid label,
.form-panel label, .admin-user-row input, .admin-user-row select, .infrastructure-item small,
.user-copy small, .detail-metric small, .detail-metric span, .detail-operations small, .detail-operations span,
.chapter-header small, .topic-source-item small, .topic-source-item span, .timeline-list time,
.timeline-list strong, .timeline-list small, .discipline-health, .lab-safety-banner, .lab-counters span,
.lab-module-tabs button, .lab-board-heading strong, .lab-board-heading span, .lab-notice-card small,
.lab-notice-card p, .lab-notice-card select, .lab-toolbar label:not(.search), .lab-sheet-toolbar label:not(.search),
.lab-activity-head, .lab-activity-reference span, .lab-activity-reference small, .lab-activity-row > select,
.lab-note-control input, .lab-notice-grid-head, .lab-notice-grid-row input, .lab-notice-grid-row select,
.lab-notice-grid-row > span, .lab-team-marker { font-size: var(--text-xs) !important; }

.report-filter-block > header strong, .questions-filter-workspace > div:first-child strong,
.performance-owner-card > header small, .questions-discipline > header small,
.report-v3-discipline-header small { font-size: var(--text-sm); }

.report-filters input, .report-filters select, .report-filter-fields input, .report-filter-fields select,
.questions-filter-grid input, .questions-filter-grid select, .recording-toolbar input, .recording-toolbar select,
.lab-toolbar input, .lab-toolbar select, .lab-sheet-toolbar input, .lab-sheet-toolbar select,
.identity-switcher, .date-filter input, .agenda-controls select, .form-panel input, .form-panel select,
.form-panel textarea { min-height: var(--control-height); font-size: var(--text-sm); line-height: 1.35; }

.report-filter-fields label, .questions-filter-grid label, .report-filters label,
.recording-toolbar label:not(.search), .lab-toolbar label:not(.search), .lab-sheet-toolbar label:not(.search),
.date-filter, .form-panel label { color: #18374f; font-weight: 800; }

.data-table { font-size: var(--text-sm); }
.data-table th, .questions-table th { font-size: var(--text-xs); }
.questions-table td { font-size: var(--text-sm); }
.report-owner small, .collaborator-card small, .pending-main small, .pending-main p,
.external-source small, .external-source p { font-size: var(--text-xs); line-height: 1.45; }
.report-v3-discipline-header p, .report-v3-official-line, .report-v3-chapter > summary small,
.report-v3-topic > div:first-child small, .topic-activity-state b, .report-v3-question-list article > span,
.report-v3-question-list article > small, .report-v3-recording-list time, .report-v3-recording-list small,
.attention-item small, .questions-discipline > header p, .question-stage-chip, .question-source-chip,
.report-v3-recording-list > article > span { font-size: var(--text-xs); }
.report-v3-chapter > summary strong, .report-v3-topic > div:first-child strong,
.report-v3-question-list article > strong, .report-v3-recording-list strong, .attention-item strong { font-size: var(--text-sm); }

.report-table-wrap, .admin-user-list, .lab-activity-grid-scroll, .lab-notice-grid-scroll,
.external-grid-wrap { scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }

@media (max-width: 760px) {
  body { font-size: var(--text-base); }
  .sidebar.nav-open { max-height: 100dvh; overflow: hidden; }
  .sidebar.nav-open nav { max-height: calc(100dvh - 168px); overflow-y: auto; }
  .sidebar.nav-open .sidebar-footer { grid-column: 1 / -1; min-width: 0; display: flex; margin: 0; padding: 8px 2px 0; }
  .sidebar.nav-open .sidebar-footer small { white-space: nowrap; }
  input, select, textarea { font-size: var(--text-base) !important; }
  .top-actions { display: grid; grid-template-columns: 1fr; }
  .top-actions > *, .identity-switcher, .top-actions .button { width: 100%; max-width: none; }
  .report-filter-workspace, .questions-filter-workspace, .report-filters { gap: 14px; }
  .report-filter-drawer { margin-inline: 16px; }
  .report-filter-panel { margin-inline: 16px; }
  .report-filter-panel-heading { align-items: flex-start; flex-direction: column; }
  .report-filter-panel-heading .report-filter-hint { white-space: normal; }
  .report-export-bar { align-items: stretch; flex-direction: column; margin-inline: 0; padding-inline: 16px; }
  .report-export-actions { justify-content: flex-start; }
  .report-pdf-detail { width: 100%; grid-template-columns: 1fr; }
  .report-pdf-detail select { width: 100%; }
  .report-filter-block > header, .questions-filter-workspace > div:first-child { padding: 14px 15px; }
  .report-filter-fields, .questions-filter-grid, .report-filters { gap: 13px; }
  .report-filter-link, .button, .category-tabs button { min-height: 44px; }
  .report-v3-topic { min-width: 720px; }
  .report-table-wrap { position: relative; overflow-x: auto; }
  .report-table-wrap::after { content: "Deslize para ver todas as colunas"; position: sticky; left: 12px; display: block; width: fit-content; margin: 8px 0 2px; padding: 5px 8px; border-radius: 7px; color: #704900; background: #fff4d9; font-size: var(--text-xs); font-weight: 750; }
}

@media (max-width: 480px) {
  .sidebar nav { grid-template-columns: 1fr; }
  main { padding-inline: 12px; }
  h1 { font-size: var(--text-3xl); line-height: 1.05; }
  h2 { font-size: var(--text-xl); }
  .metrics, .agenda-metrics, .report-metrics, .source-summary, .admin-performance-metrics,
  .questions-metrics, .recording-metrics, .detail-summary, .report-v3-source-cards { grid-template-columns: 1fr; }
  .metrics, .agenda-metrics, .report-metrics, .source-summary, .admin-performance-metrics,
  .questions-metrics, .recording-metrics { margin-inline: 0; }
  .metric-card { min-height: 96px; }
  .agenda-item { grid-template-columns: 1fr; }
  .agenda-item time, .agenda-controls { grid-column: 1; }
  .topic-row { grid-template-columns: 1fr; }
  .topic-source, .topic-workflow { grid-column: 1; grid-row: auto; justify-self: stretch; }
  .dialog-tools input { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.lab-team-marker.marker-complete { color: #087262; background: #dff5ef; }
.lab-team-marker.marker-missing_collaborator, .lab-team-marker.marker-missing_professor { color: #9c3c35; background: #fde7e4; }

.video-panel { overflow: hidden; }
.video-form-intro { grid-column: 1 / -1; }
.video-form-intro p { margin: 0; }
.video-local-refinement { margin: 18px 25px 0; border: 1px solid #d3dfdc; border-radius: 12px; background: #fff; }
.video-local-refinement summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; cursor: pointer; color: #18374f; list-style: none; }
.video-local-refinement summary::-webkit-details-marker { display: none; }
.video-local-refinement summary strong { display: block; margin-top: 3px; font-size: var(--text-base); }
.video-local-refinement summary small { color: #087262; font-weight: 800; }
.video-local-help { margin: 0 16px; color: var(--muted); font-size: var(--text-xs); }
.video-heading { align-items: flex-start; background: linear-gradient(125deg,#fff 70%,#e7f5f1); }
.video-sync-filters { margin: 20px 25px; padding: 16px; display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)); gap: 12px; align-items: end; border: 1px solid #b7d8d0; border-radius: 12px; background: #f8fcfb; }
.video-sync-filters > p { grid-column: 1 / -1; margin: 0; color: var(--muted); }
.video-sync-filters label, .video-catalog-toolbar label, .video-ldi-context label, .video-ldi-batch > label { display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }
.filter-scope { color: #087262; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.video-sync-filters input, .video-catalog-toolbar input, .video-catalog-toolbar select, .video-ldi-context input, .video-ldi-context select, .video-ldi-batch textarea { width: 100%; min-width: 0; min-height: var(--control-height); padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; }
.video-advanced-filters { grid-column: 1 / -1; border: 1px solid #d3dfdc; border-radius: 10px; background: #fff; }.video-advanced-filters summary { padding: 11px 13px; cursor: pointer; color: #31596b; font-size: var(--text-xs); font-weight: 800; }.video-advanced-filters > div { display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)); gap: 12px; padding: 4px 13px 13px; }
.video-filter-project, .video-filter-event { grid-column: span 2; }
.video-metrics { margin: 18px 25px 0; display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.video-metrics article { min-height: 86px; padding: 14px; display: grid; align-content: center; gap: 6px; border-right: 1px solid var(--line); background: #fff; }
.video-metrics article:last-child { border-right: 0; }
.video-metrics span { color: var(--muted); font-size: var(--text-xs); }
.video-metrics strong { color: var(--navy); font-size: var(--text-2xl); }
.video-catalog-filter-title { margin: 18px 25px 0; }
.video-catalog-toolbar { margin: 12px 16px 10px; display: grid; grid-template-columns: repeat(4,minmax(165px,1fr)); gap: 10px; align-items: end; }
.video-catalog-toolbar .search { display: flex; align-items: center; }
.video-catalog-toolbar .search input { border: 0; }
.video-catalog-toolbar .search, .video-catalog-toolbar > .button { align-self: end; }
.video-catalog-toolbar > .muted { grid-column: 1 / -1; }
.video-catalog-list { margin: 0 25px 20px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.video-recording-group { border-top: 1px solid var(--line); background: #fff; }.video-recording-group:first-child { border-top: 0; }.video-recording-summary { display: grid; grid-template-columns: minmax(260px,1fr) auto auto auto; gap: 12px; align-items: center; padding: 13px 15px; cursor: pointer; background: #f2f7f6; }.video-recording-summary > div { display: grid; gap: 4px; }.video-recording-summary strong { color: var(--navy); }.video-recording-summary small { color: var(--muted); }.recording-group-status,.recording-group-count,.recording-group-duration { padding: 6px 9px; border-radius: 999px; font-size: var(--text-xs); font-weight: 800; }.recording-group-status { color: #31596b; background: #e7eff2; }.recording-group-status.status-gravado { color: #087262; background: #dff5ef; }.recording-group-status.status-cancelada { color: #9c3c35; background: #fde7e4; }.recording-group-status.status-remarcada { color: #75520a; background: #fff0bd; }.recording-group-count { color: #6d500c; background: #fff4d2; }.recording-group-duration { color: #075d52; background: #dff5ef; }.video-intra-link { display: inline-block; margin: 10px 15px 4px; color: #0d5b81; font-size: var(--text-xs); font-weight: 800; }.video-intra-segments { margin: 6px 15px 12px; padding: 9px 12px; border: 1px solid #c9e4dd; border-radius: 9px; background: #f5fbf9; color: #18374f; font-size: var(--text-xs); }.video-intra-segments summary { cursor: pointer; font-weight: 800; }.video-intra-segments ul { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 5px; }.video-recording-items { border-top: 1px solid #e6ecee; }
.video-catalog-row { display: grid; grid-template-columns: 28px minmax(260px,1fr) 145px 190px; gap: 12px; align-items: center; padding: 14px; border-top: 1px solid #e6ecee; background: #fff; }
.video-catalog-row:first-child { border-top: 0; }
.video-select { width: 18px; height: 18px; accent-color: var(--teal); }
.video-row-main { min-width: 0; }
.video-row-main strong, .video-row-main small { display: block; }
.video-row-main strong { color: var(--navy); }
.video-row-main small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.video-id-copy { max-width: 100%; margin-top: 7px; padding: 4px 7px; overflow: hidden; border: 1px solid #cbd9de; border-radius: 6px; color: #0d5b81; background: #f4fafc; font: 12px ui-monospace,Consolas,monospace; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.video-ldi-status, .video-schedule-link { padding: 7px 9px; border-radius: 999px; font-size: var(--text-xs); font-weight: 800; text-align: center; }
.video-ldi-status.is-pending { color: #7a5700; background: #fff0b3; }
.video-ldi-status.is-included_ldi { color: #087262; background: #dff5ef; }
.video-ldi-status.is-not_included { color: #9c3c35; background: #fde7e4; }
.video-ldi-status.is-verification_required { color: #31577a; background: #e7f1fa; }
.video-schedule-link { color: #6a7580; background: #eef2f3; }
.video-schedule-link.is-linked { color: #115a87; background: #e2f1fb; }
.video-ldi-batch { margin: 20px 25px 25px; padding: 16px; display: grid; gap: 14px; border: 1px solid #d7b465; border-radius: 12px; background: #fffaf0; }
.video-intra-import { margin: 20px 25px; padding: 16px; border: 1px solid #91cfc2; border-radius: 12px; background: #f3fbf8; }.video-intra-import[open] { display: grid; gap: 12px; }.video-intra-import summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; color: #18374f; list-style: none; }.video-intra-import summary::-webkit-details-marker { display: none; }.video-intra-import summary strong { display: block; margin-top: 3px; }.video-intra-import summary small { color: #087262; font-size: var(--text-xs); font-weight: 800; }.video-intra-import h3, .video-intra-import p { margin: 3px 0; }.video-intra-import > label { display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }.video-intra-import textarea { width: 100%; box-sizing: border-box; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; resize: vertical; }.video-intra-steps { margin: 0; padding-left: 20px; display: grid; gap: 4px; color: #38596a; font-size: var(--text-sm); }.video-intra-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.video-ldi-batch h3, .video-ldi-batch p { margin: 3px 0; }
.video-ldi-context { display: grid; grid-template-columns: repeat(2,minmax(180px,1fr)); gap: 12px; }
.video-id-output textarea { font-family: ui-monospace,Consolas,monospace; }
.video-ldi-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.video-ldi-actions > div { display: flex; flex-wrap: wrap; gap: 8px; }
.ldi-video-panel .video-form-intro { grid-column: 1 / -1; }
.ldi-video-metrics { grid-template-columns: repeat(3,1fr); }
.ldi-video-local-filters { margin: 18px 25px 0; padding: 14px 16px; border: 1px solid #d3dfdc; border-radius: 12px; background: #fbfdfc; }
.ldi-video-local-filters > div:first-child p { margin: 3px 0; }
.ldi-video-cards { display: grid; gap: 12px; margin: 18px 25px 25px; }.ldi-video-cards .empty { padding: 24px; margin: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-align: center; }
.ldi-video-card { padding: 16px; border: 1px solid #d8e7e3; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(24,55,79,.04); }.ldi-video-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }.ldi-video-card-heading h3 { margin: 0; color: #18374f; font-size: var(--text-base); }
.ldi-video-card-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 11px 0; }.ldi-video-filter-link { padding: 5px 8px; border: 1px solid #c6ded8; border-radius: 999px; color: #075d52; background: #edf8f5; font: 700 11px/1.2 inherit; cursor: pointer; }.ldi-video-filter-link:hover:not(:disabled),.ldi-video-filter-link:focus-visible:not(:disabled) { outline: 2px solid #087262; outline-offset: 1px; background: #dff5ee; }.ldi-video-filter-link:disabled { color: #78928b; cursor: default; }
.ldi-video-card-details { display: grid; grid-template-columns: repeat(4,minmax(130px,1fr)); gap: 10px; }.ldi-video-card-details > div { min-width: 0; padding: 8px 9px; border-radius: 8px; background: #f7fbfa; }.ldi-video-card-details span { display: block; margin-bottom: 3px; color: #52706c; font-size: var(--text-3xs); font-weight: 800; text-transform: uppercase; }.ldi-video-card-details strong { display: block; color: #18374f; font-size: var(--text-xs); overflow-wrap: anywhere; }.ldi-video-duration strong { color: #075d52; font-family: ui-monospace, Consolas, monospace; }
.video-visual-toolbar { margin: 18px 25px; display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }.video-visual-toolbar label { min-width: 300px; display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }.video-visual-toolbar select { min-height: var(--control-height); padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; }.video-visual-toolbar .muted { flex: 1 1 280px; }
.video-visual-metrics { margin: 0 25px; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }.video-visual-metrics article { padding: 14px 16px; border-right: 1px solid var(--line); }.video-visual-metrics article:last-child { border-right: 0; }.video-visual-metrics span,.video-visual-metrics small { display: block; }.video-visual-metrics strong { display: block; margin: 5px 0; color: #18374f; font-size: var(--text-2xl); }.video-visual-metrics .is-creation strong,.video-visual-legend .is-creation { color: #aa3030; }.video-visual-metrics .is-to-add strong,.video-visual-legend .is-to-add { color: #ad7100; }.video-visual-metrics .is-added strong,.video-visual-legend .is-added { color: #087262; }
.video-visual-legend { margin: 14px 25px 8px; display: flex; flex-wrap: wrap; gap: 14px; font-size: var(--text-xs); font-weight: 800; }.video-visual-list { margin: 0 25px 25px; display: grid; gap: 7px; }.video-visual-row { width: 100%; padding: 11px 12px; display: grid; grid-template-columns: minmax(220px,1fr) minmax(240px,auto) 145px; align-items: center; gap: 12px; border: 1px solid var(--line); border-left-width: 5px; border-radius: 9px; color: #28465d; background: #fff; font: inherit; text-align: left; cursor: pointer; }.video-visual-row.is-creation { border-left-color: #b54d48; }.video-visual-row.is-to_add { border-left-color: #d59a2e; }.video-visual-row.is-added { border-left-color: #18a47f; }.video-visual-row.is-without_video { border-left-color: #aab7bd; }.video-visual-row:hover,.video-visual-row:focus-visible { outline: 2px solid #087262; outline-offset: 1px; }.video-visual-topic small,.video-visual-topic strong { display: block; }.video-visual-topic small { color: #6b7d87; }.video-visual-counts { font-size: var(--text-xs); }.video-visual-stage { justify-self: end; padding: 5px 8px; border-radius: 999px; background: #edf3f2; font-size: var(--text-2xs); font-weight: 800; }
.intranet-recordings-heading { align-items: flex-start; background: linear-gradient(125deg,#fff 70%,#edf7f5); }
.intranet-live-note { margin: 20px 25px 0; padding: 14px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; border: 1px solid #b7d8d0; border-radius: 11px; color: #31596b; background: #f3fbf8; font-size: var(--text-sm); }
.intranet-live-note strong { color: #087262; }.intranet-live-note span { flex: 1 1 420px; }.intranet-live-note a { color: #0d5b81; font-weight: 800; }
.intranet-recording-filters { margin: 18px 25px 0; padding: 16px; display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 12px; align-items: end; border: 1px solid #d3dfdc; border-radius: 12px; background: #fbfdfc; }
.intranet-recording-filters label { display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }.intranet-recording-filters input,.intranet-recording-filters select { width: 100%; min-width: 0; min-height: var(--control-height); padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; }
.intranet-advanced-filters { padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.intranet-advanced-filters summary { color: #0d5b81; font-size: var(--text-xs); font-weight: 800; cursor: pointer; }.intranet-advanced-filters > div { margin-top: 12px; display: grid; gap: 10px; }.intranet-advanced-filters[open] { grid-column: span 2; }.intranet-advanced-filters[open] > div { grid-template-columns: 1fr 1fr; }
.intranet-recording-metrics { margin: 18px 25px 0; display: grid; grid-template-columns: repeat(7,minmax(120px,1fr)); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }.intranet-recording-metrics article { min-height: 82px; padding: 14px; display: grid; align-content: center; gap: 6px; border-right: 1px solid var(--line); background: #fff; }.intranet-recording-metrics article:last-child { border-right: 0; }.intranet-recording-metrics span { color: var(--muted); font-size: var(--text-xs); }.intranet-recording-metrics strong { color: var(--navy); font-size: var(--text-xl); }
.intranet-recordings-list { margin: 18px 25px 25px; display: grid; gap: 12px; }.intranet-recording-card { padding: 15px 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.intranet-recording-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.intranet-recording-card header strong { color: var(--navy); font-size: var(--text-base); }.intranet-recording-card p { margin: 8px 0; color: var(--muted); font-size: var(--text-sm); line-height: 1.45; }.intranet-recording-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }.intranet-recording-actions a { color: #0d5b81; font-size: var(--text-xs); font-weight: 800; }.intranet-video-list { margin: 12px 0 0; padding: 10px 10px 10px 27px; display: grid; gap: 5px; border-top: 1px solid #e6ecee; color: #31596b; font-size: var(--text-xs); }
.appointment-calendar-panel { margin: 18px 25px 0; padding: 18px; border: 1px solid #d3dfdc; border-radius: 12px; background: #fbfdfc; }.appointment-calendar-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.appointment-calendar-header h3 { margin: 3px 0; color: var(--navy); }.appointment-calendar-header p { margin: 4px 0 0; }.appointment-calendar-controls { display: flex; align-items: end; gap: 8px; }.appointment-calendar-controls label { display: grid; gap: 5px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }.appointment-calendar-controls input { min-height: 38px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font: inherit; }.appointment-calendar-controls .button { min-width: 38px; min-height: 38px; padding: 6px 10px; }.appointment-calendar-weekdays,.appointment-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }.appointment-calendar-weekdays { margin-top: 16px; border: 1px solid #dce8e5; border-bottom: 0; border-radius: 9px 9px 0 0; overflow: hidden; }.appointment-calendar-weekdays span { padding: 8px; color: #31596b; background: #edf7f5; font-size: var(--text-2xs); font-weight: 800; text-align: center; }.appointment-calendar { border-left: 1px solid #dce8e5; }.appointment-calendar-day { min-height: 122px; padding: 8px; display: grid; align-content: start; gap: 5px; border-right: 1px solid #dce8e5; border-bottom: 1px solid #dce8e5; background: #fff; }.appointment-calendar-day.is-empty { background: #f7faf9; }.appointment-calendar-day > strong { color: #18374f; font-size: var(--text-xs); }.appointment-calendar-entry { width: 100%; padding: 5px 6px; overflow: hidden; border: 0; border-radius: 6px; color: #075d52; background: #dff5ee; font: 700 11px/1.25 inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }.appointment-calendar-entry:hover,.appointment-calendar-entry:focus-visible { outline: 2px solid #087262; outline-offset: 1px; background: #cbeee3; }.appointment-calendar-day .muted { font-size: var(--text-2xs); }.appointment-card { scroll-margin-top: 22px; }
@media (max-width: 1050px) { .app-shell { grid-template-columns: 210px minmax(0,1fr); } .metrics { grid-template-columns: repeat(2,1fr); } .dashboard-grid, .agenda-grid, .admin-grid, .analyzer-layout, .external-layout { grid-template-columns: 1fr; } .report-filters { grid-template-columns: repeat(2, 1fr); } .report-filter-fields,.questions-filter-grid { grid-template-columns: repeat(2,minmax(140px,1fr)); } .operational-summary { grid-template-columns: repeat(3,1fr); } .admin-performance-metrics { grid-template-columns: repeat(2,1fr); } .questions-metrics { grid-template-columns: repeat(4,1fr); } .question-stage-summary { grid-template-columns: repeat(2,1fr); } .report-v3-source-summary { grid-template-columns: 1fr; } .report-v3-source-cards { grid-template-columns: repeat(2,1fr); } .report-v3-topic-statuses { grid-template-columns: repeat(2,minmax(115px,1fr)); } .discipline-row { grid-template-columns: minmax(180px,1fr) 70px 75px minmax(80px,.6fr) 95px 126px 20px; } .recording-metrics { grid-template-columns: repeat(3,1fr); } .recording-toolbar { display: grid; grid-template-columns: 1fr 1fr; } .recording-toolbar .search { grid-column: 1 / -1; } .recording-toolbar select { max-width: none; } }
@media (max-width: 1300px) { .report-filters-compact { grid-template-columns: repeat(3,minmax(0,1fr)); } .report-filter-period { grid-column: span 2; } }
@media (max-width: 1050px) { .video-sync-filters,.video-advanced-filters > div { grid-template-columns: repeat(2,minmax(150px,1fr)); } .video-filter-project,.video-filter-event { grid-column: auto; } .video-metrics { grid-template-columns: repeat(3,1fr); } .video-catalog-toolbar { grid-template-columns: repeat(2,minmax(180px,1fr)); }.video-catalog-toolbar > .muted { grid-column: 1 / -1; }.video-catalog-row { grid-template-columns: 28px minmax(220px,1fr) 145px; } .video-schedule-link { grid-column: 2 / -1; justify-self: start; } .video-recording-summary { grid-template-columns: minmax(220px,1fr) auto auto; }.recording-group-duration { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 1050px) { .question-inclusion-filters { grid-template-columns: repeat(2,minmax(150px,1fr)); }.question-filter-course { grid-column: span 2; }.question-inclusion-toolbar { grid-template-columns: 1fr 1fr; }.question-selection-actions { grid-column: 1 / -1; }.question-batch-context { grid-template-columns: repeat(2,minmax(150px,1fr)); } }
@media (max-width: 1050px) { .discipline-filters { grid-template-columns: repeat(2,minmax(150px,1fr)); } .discipline-filters .search { grid-column: 1 / -1; } }
@media (max-width: 1050px) { .lab-hero { align-items: stretch; flex-direction: column; background: #fff; } .lab-counters { width: 100%; min-width: 0; } .lab-notice-layout { grid-template-columns: 1fr; } .lab-notice-form { position: static; } .lab-toolbar, .lab-sheet-toolbar { grid-template-columns: repeat(2,minmax(150px,1fr)); } .lab-architecture-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .lab-integrated-heading { align-items: flex-start; flex-direction: column; } .lab-integrated-actions { justify-content: flex-start; } .lab-integrated-frame { width: calc(100% - 24px); height: 680px; margin: 0 12px 16px; } .lab-architecture-grid { grid-template-columns: 1fr; padding-inline: 16px; } .lab-future-note { margin-inline: 16px; flex-direction: column; } }
@media (max-width: 900px) { .topbar { align-items: stretch; flex-direction: column; } .top-actions { flex-wrap: wrap; justify-content: flex-start; } .top-actions .button { max-width: 100%; } }
@media (max-width: 760px) { .app-shell { display: block; } .sidebar { position: sticky; z-index: 30; width: 100%; height: auto; padding: 13px 15px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px 14px; box-shadow: 0 8px 22px rgba(66,43,0,.18); } .brand { min-width: 0; margin: 0; } .brand-copy { min-width: 0; } .workspace-label, .sidebar-footer { display: none; } .mobile-nav-toggle { min-width: 82px; min-height: 44px; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.42); border-radius: 10px; color: #fff; background: rgba(82,53,0,.28); font-size: var(--text-sm); font-weight: 800; } .mobile-nav-icon { width: 18px; font-size: var(--text-lg); line-height: 1; } .sidebar nav { grid-column: 1 / -1; margin: 0; display: none; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding-top: 3px; } .sidebar.nav-open nav { display: grid; } .nav-item, .nav-item:not(.active) { min-height: 44px; padding: 10px 11px; display: flex; font-size: var(--text-sm); } .nav-icon { flex: 0 0 18px; } main { padding: 26px 15px 55px; } .topbar { display: block; } .top-actions { margin-top: 18px; justify-content: space-between; } .metrics { grid-template-columns: 1fr 1fr; } .metric-card { min-height: 105px; padding: 15px; } .metric-card strong { font-size: var(--text-2xl); } .toolbar { display: grid; padding: 16px; } .section-heading { padding: 20px 16px 0; } .discipline-list, .discipline-table, .recordings-list { padding: 0 16px 16px; } .discipline-row { grid-template-columns: 1fr 65px 20px; gap: 10px; } .discipline-row .mini-stat:nth-child(3), .discipline-row .row-progress, .discipline-row .blocker-count { display: none; } .detail-summary { grid-template-columns: repeat(2,1fr); padding: 13px 16px; } .dialog-toolbar { display: block; padding: 12px 16px; } .dialog-tools { margin-top: 10px; } .dialog-tools input { width: 50%; } .topic-list { padding: 4px 16px 18px; } .topic-row { grid-template-columns: 1fr 125px; gap: 8px; } .topic-source { grid-column: 1 / -1; grid-row: 2; } .topic-workflow { grid-column: 2; grid-row: 1; } .recording-metrics { grid-template-columns: 1fr 1fr; margin: 18px 16px 0; } .integrity-note { margin-inline: 16px; } .recording-toolbar { grid-template-columns: 1fr; } .recording-toolbar .search { grid-column: auto; } .recording-subsection { padding-inline: 16px; } .recording-row { grid-template-columns: 75px 1fr; } .recording-status { grid-column: 2; justify-self: start; } }
@media (max-width: 760px) { .discipline-filters { grid-template-columns: 1fr; } .discipline-filters .search { grid-column: auto; } .filter-eyebrow { margin-inline: 16px; } }
@media (max-width: 760px) { .identity-switcher { max-width: 210px; } .auth-shell { padding: 14px; } .auth-card { padding: 25px 21px; } .agenda-metrics, .report-metrics, .source-summary { grid-template-columns: 1fr 1fr; margin-inline: 16px; } .report-attention { grid-template-columns: 1fr; margin-inline: 16px; } .detail-summary { grid-template-columns: 1fr 1fr; } .detail-operations { grid-template-columns: 1fr; padding-inline: 18px; } .detail-timeline { padding-inline: 18px; } .agenda-list { padding-inline: 16px; } .agenda-item { grid-template-columns: 65px 1fr; } .agenda-item time, .agenda-controls { grid-column: 2; } .report-filters { grid-template-columns: 1fr; padding-inline: 16px; } .report-filter-workspace { padding-inline: 16px; } .report-filter-fields,.questions-filter-grid { grid-template-columns: 1fr; } .report-filter-fields .report-search-filter,.questions-search { grid-column: auto; } .admin-performance-metrics { grid-template-columns: 1fr 1fr; margin-inline: 16px; } .questions-metrics { grid-template-columns: 1fr 1fr; margin-inline: 16px; } .questions-filter-workspace { margin-inline: 16px; }.questions-groups { padding-inline: 16px; } .question-stage-summary { grid-template-columns: 1fr; margin-inline: 16px; } .report-v3-source-summary, .report-v3-export-bar { margin-inline: 16px; } .report-v3-source-cards { grid-template-columns: 1fr 1fr; } .report-v3-export-bar { display: grid; } .admin-performance-panel > .integrity-note { margin-inline: 16px; } .admin-performance-groups { padding-inline: 16px; } .report-v3-discipline-header, .report-v3-chapter > summary { align-items: flex-start; } .report-v3-question-list article { grid-template-columns: 1fr 1fr; } .report-v3-recording-list article { grid-template-columns: 1fr; } .category-tabs { padding-inline: 16px; } .report-export-bar { display: grid; padding-inline: 16px; } .report-export-bar > div { justify-content: flex-start; } .report-table-wrap { margin-inline: 16px; } .analyzer-layout, .external-layout { padding-inline: 16px; } .pending-item { grid-template-columns: 1fr 70px; } .priority-controls { grid-column: 1 / -1; } .external-source { grid-template-columns: 1fr; } .admin-user-list { padding-inline: 16px; overflow-x: auto; } .admin-user-row { min-width: 930px; } .questions-discipline > summary > div:first-of-type { flex-basis: 100%; } .questions-stage-tally { justify-content: flex-start; } .questions-count { margin-left: auto; } .report-groups { margin-inline: 16px; } .report-discipline > summary > div:first-of-type { flex-basis: 100%; } .report-stage-tally { justify-content: flex-start; } .report-count { margin-left: auto; } .report-chapters { padding: 0 12px 12px; } .report-chapter > summary strong { flex-basis: 100%; } }

/* Grade operacional compartilhada — mantém a mesma cadência visual nas abas. */
:root {
  --page-gutter: clamp(20px, 3.2vw, 48px);
  --panel-gutter: clamp(16px, 2vw, 24px);
  --operational-gap: 12px;
  --discipline-columns: minmax(260px, 2.1fr) minmax(68px, .45fr) minmax(78px, .5fr) minmax(120px, .9fr) minmax(96px, .65fr) minmax(132px, .85fr) 22px;
}
main { width: min(1600px, 100%); padding: 32px var(--page-gutter) 64px; }
.topbar { margin-bottom: 22px; }
.panel { border-radius: 14px; box-shadow: 0 10px 28px rgba(53, 43, 22, .06); }
.panel-heading { padding: 20px var(--panel-gutter) 13px; }
.section-heading { padding: 21px var(--panel-gutter) 0; }
.toolbar { padding: 16px var(--panel-gutter) 13px; }
.filter-eyebrow { margin-inline: var(--panel-gutter); }
.discipline-list, .discipline-table { padding: 0 var(--panel-gutter) var(--panel-gutter); }

.discipline-grid-header,
.discipline-row {
  display: grid;
  grid-template-columns: var(--discipline-columns);
  gap: var(--operational-gap);
  align-items: center;
}
.discipline-grid-header {
  margin: 0 var(--panel-gutter);
  padding: 8px 12px;
  border-block: 1px solid var(--line);
  color: var(--muted);
  background: #f8fafb;
  font-size: var(--text-3xs);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.discipline-grid-header span:nth-child(n+2):nth-child(-n+6) { text-align: right; }
.discipline-row { min-height: 65px; padding: 12px; }
.discipline-row .mini-stat,
.discipline-row .blocker-count { justify-self: stretch; text-align: right; }
.discipline-row .discipline-health { justify-self: end; }

.report-discipline > summary {
  display: grid;
  grid-template-columns: 14px minmax(210px, 1.25fr) minmax(520px, 2.4fr) auto auto;
  gap: var(--operational-gap);
  align-items: center;
}
.report-discipline > summary::before,
.report-chapter > summary::before { margin: 0; }
.report-discipline > summary > div:first-of-type { min-width: 0; }
.report-stage-tally.report-production-tally {
  display: grid;
  grid-template-columns: repeat(4, minmax(105px, 1fr));
  gap: 6px;
}
.report-production-chip {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-left-width: 3px;
  border-radius: 8px;
  background: #fff;
}
.report-production-chip b {
  overflow: hidden;
  color: var(--muted);
  font-size: var(--text-3xs);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.report-production-chip small { margin: 0; color: var(--ink); font-size: var(--text-3xs); font-weight: 850; }
.report-production-chip.category-written_complete { border-left-color: #5ea990; }
.report-production-chip.category-written_summary { border-left-color: #6c9fc2; }
.report-production-chip.category-video { border-left-color: #d2a42f; }
.report-production-chip.category-slide { border-left-color: #9474b9; }
.report-production-chip[data-status="done"] { background: #edf8f3; }
.report-production-chip[data-status="in_progress"] { background: #eef5fb; }
.report-production-chip[data-status="pending"] { background: #fff7df; }
.report-production-chip[data-status="overdue"] { background: #fcebea; }
.report-production-chip[data-status="empty"] { opacity: .66; background: #f7f8f9; }
.report-overdue-tally { grid-column: 1 / -1; justify-self: start; }
.report-chapter > summary {
  display: grid;
  grid-template-columns: 12px minmax(200px, 1.1fr) minmax(460px, 2.4fr) auto;
  gap: 10px;
  align-items: center;
}
.report-activity-matrix { min-width: 1040px; table-layout: fixed; }
.report-activity-matrix th:nth-child(1) { width: 52px; }
.report-activity-matrix th:nth-child(2) { width: 92px; }
.report-activity-matrix th:nth-child(3) { width: 250px; }
.report-activity-matrix th:nth-child(n+4):nth-child(-n+7) { width: 128px; }
.report-activity-matrix th:last-child { width: 170px; }
.report-activity-matrix td { max-width: none; overflow-wrap: anywhere; }

.metrics,
.recording-metrics,
.agenda-metrics,
.report-metrics,
.source-summary,
.questions-metrics,
.intranet-recording-metrics,
.video-metrics,
.video-visual-metrics { gap: 1px; }

@media (max-width: 1280px) {
  :root { --discipline-columns: minmax(220px, 1.8fr) 65px 75px minmax(90px, .75fr) 92px 126px 20px; }
  .report-discipline > summary { grid-template-columns: 14px minmax(200px, 1fr) auto auto; }
  .report-discipline > summary .report-production-tally { grid-column: 2 / -1; grid-row: 2; }
  .report-chapter > summary { grid-template-columns: 12px minmax(190px, 1fr) auto; }
  .report-chapter > summary .report-production-tally { grid-column: 2 / -1; grid-row: 2; }
}

@media (max-width: 760px) {
  main { padding: 24px 15px 52px; }
  .discipline-grid-header { display: none; }
  .discipline-row { grid-template-columns: minmax(0, 1fr) 65px 20px; }
  .report-discipline > summary,
  .report-chapter > summary { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; }
  .report-discipline > summary .report-production-tally,
  .report-chapter > summary .report-production-tally { grid-column: 1 / -1; grid-row: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-discipline-pdf { grid-column: 1 / -1; justify-self: stretch; }
}
@media (max-width: 760px) { .question-mode-tabs { width: 100%; }.question-mode-tabs button { flex: 1; }.question-inclusion-heading { align-items: flex-start; flex-direction: column; background: #fff; }.question-inclusion-filters,.question-inclusion-toolbar,.question-inclusion-results,.question-batch-draft,.question-saved-batches { margin-inline: 16px; }.question-inclusion-filters,.question-inclusion-toolbar,.question-batch-context { grid-template-columns: 1fr; }.question-filter-course,.question-selection-actions { grid-column: auto; }.question-selection-actions,.question-batch-footer,.question-saved-batch footer { align-items: stretch; flex-direction: column; }.question-saved-batch footer code { max-width: 100%; }.question-saved-item { grid-template-columns: 1fr; }.question-result-row { grid-template-columns: 28px 1fr; }.question-result-row span,.question-result-row small { grid-column: 2; } }
@media (max-width: 760px) { .video-heading { flex-direction: column; background: #fff; } .video-sync-filters,.video-metrics,.video-catalog-toolbar,.video-catalog-list,.video-intra-import,.video-ldi-batch,.ldi-video-local-filters,.ldi-video-cards { margin-inline: 16px; } .video-sync-filters,.video-advanced-filters > div,.video-catalog-toolbar,.video-ldi-context { grid-template-columns: 1fr; } .video-metrics { grid-template-columns: 1fr 1fr; } .video-recording-summary { grid-template-columns: 1fr; }.video-recording-summary > span { justify-self: start; }.video-catalog-row { grid-template-columns: 28px 1fr; } .video-ldi-status,.video-schedule-link { grid-column: 2; justify-self: start; } .video-ldi-actions { align-items: stretch; flex-direction: column; }.ldi-video-card-details { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .video-visual-toolbar,.video-visual-metrics,.video-visual-legend,.video-visual-list { margin-inline: 16px; }.video-visual-toolbar { display: grid; }.video-visual-toolbar label { min-width: 0; }.video-visual-metrics { grid-template-columns: 1fr; }.video-visual-metrics article { border-right: 0; border-bottom: 1px solid var(--line); }.video-visual-row { grid-template-columns: 1fr; }.video-visual-stage { justify-self: start; } }

/* Ajustes finais para telefones: prevalecem sobre os breakpoints legados acima. */
@media (max-width: 760px) {
  .top-actions { display: grid; grid-template-columns: 1fr; }
  .top-actions > *, .identity-switcher, .top-actions .button { width: 100%; max-width: none; }
  .recording-subsection, .filtered-export-bar { align-items: flex-start; flex-direction: column; }
  .filtered-export-actions, .filtered-export-bar > div { width: 100%; justify-content: flex-start; }
  .filtered-export-bar { margin-inline: 16px; }
}

/* Correção editorial: os cortes ocupam a largura disponível após a remoção da seleção manual. */
.video-catalog-row { grid-template-columns: minmax(0, 1fr) auto auto; align-items: start; gap: 14px; min-width: 0; }
.video-catalog-row > button { grid-column: 1 / -1; justify-self: start; }
.video-row-main { min-width: 0; display: grid; gap: 5px; }
.video-row-main strong, .video-row-main small { overflow-wrap: anywhere; }
.video-row-main strong { font-size: var(--text-base); line-height: 1.35; }
.video-row-main small { margin-top: 0; line-height: 1.45; }
.video-field-label { color: #087262 !important; font-size: var(--text-3xs) !important; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.intranet-table-toolbar { margin: 18px 25px 0; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px; }
.intranet-table-toolbar label { display: grid; gap: 6px; color: #18374f; font-size: var(--text-xs); font-weight: 800; }
.intranet-table-toolbar select { min-height: var(--control-height); padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; }
.intranet-pager { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: var(--text-xs); font-weight: 700; }
.intranet-pager button[disabled] { opacity: .45; cursor: not-allowed; }
.intranet-recordings-table-wrap { margin: 14px 25px 25px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.intranet-recordings-table { width: 100%; min-width: 1180px; border-collapse: collapse; font-size: var(--text-sm); }
.intranet-recordings-table th { position: sticky; top: 0; z-index: 1; padding: 0; color: #587083; background: #edf3f6; text-align: left; white-space: nowrap; }
.intranet-recordings-table th:not(:has(button)) { padding: 11px 12px; font-size: var(--text-xs); font-weight: 800; }
.intranet-sort { width: 100%; padding: 11px 12px; border: 0; color: inherit; background: transparent; font: 800 12px/1.2 inherit; text-align: left; cursor: pointer; }
.intranet-sort:hover,.intranet-sort.is-active { color: var(--navy); background: #e2edf1; }
.intranet-recordings-table td { max-width: 240px; padding: 11px 12px; border-top: 1px solid #edf1f2; color: #31596b; vertical-align: top; overflow-wrap: anywhere; }
.intranet-recordings-table tbody tr.intranet-row:hover td { background: #f7fbfa; }
.intranet-row.status-cancelada td { color: #8c4a44; background: #fffafa; }
.intranet-row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; white-space: nowrap; }
.intranet-row-actions a { color: #0d5b81; font-size: var(--text-xs); font-weight: 800; }
.intranet-row-detail td { padding: 0 12px 12px; background: #f7fbfa; }
.intranet-row-detail .intranet-video-list { border-top: 0; }
.ldi-video-orphan-group { margin-top: 12px; padding: 12px; display: grid; gap: 8px; border: 1px dashed #d9a441; border-radius: 12px; background: #fffbf1; }
.ldi-video-orphan-title { margin: 0; color: #875900; font-size: var(--text-sm); font-weight: 800; }
.ldi-video-chapter.is-unmapped { border-color: #e6c688; }
.ldi-video-unmapped-badge { padding: 4px 9px; border-radius: 999px; color: #875900; background: #fdedcb; font-size: var(--text-2xs); font-weight: 800; }
.video-destination { display: block; padding: 8px 10px; border-radius: 8px; color: #875900 !important; background: #fff7e3; font-weight: 700; }
.discipline-template { border-color: #e5d7b4; background: #fffaf0; }
.discipline-template .discipline-health { color: #875900; background: #fff0bd; }
@media (max-width: 760px) {
  .video-catalog-row { grid-template-columns: 1fr; }
  .video-ldi-status, .video-schedule-link { grid-column: auto; justify-self: start; }
}

@media (max-width: 1050px) {
  .intranet-recording-filters { grid-template-columns: repeat(2,minmax(150px,1fr)); }
  .intranet-recording-metrics { grid-template-columns: repeat(2,1fr); }
  .intranet-advanced-filters[open] { grid-column: span 2; }
  .appointment-calendar-day { min-height: 105px; }
}

@media (max-width: 760px) {
  .intranet-live-note, .intranet-recording-filters, .intranet-recording-metrics, .intranet-recordings-list { margin-inline: 16px; }
  .intranet-recording-filters { grid-template-columns: 1fr; }
  .intranet-advanced-filters[open] { grid-column: auto; }.intranet-advanced-filters[open] > div { grid-template-columns: 1fr; }
  .intranet-recording-card header { align-items: flex-start; flex-direction: column; }
  .appointment-calendar-panel { margin-inline: 16px; padding: 14px; overflow-x: auto; }.appointment-calendar-header { flex-direction: column; }.appointment-calendar-controls { width: 100%; justify-content: space-between; }.appointment-calendar-weekdays,.appointment-calendar { min-width: 620px; }.appointment-calendar-day { min-height: 102px; }
}

@media (max-width: 480px) {
  .sidebar { padding-top: max(13px, env(safe-area-inset-top)); }
  .sidebar nav { grid-template-columns: 1fr; }
  main { padding-inline: 12px; }
  h1 { font-size: var(--text-3xl); line-height: 1.05; }
  h2 { font-size: var(--text-xl); }
  .metrics, .agenda-metrics, .report-metrics, .source-summary, .admin-performance-metrics,
  .questions-metrics, .recording-metrics, .detail-summary, .report-v3-source-cards { grid-template-columns: 1fr; margin-inline: 0; }
  .metric-card { min-height: 96px; }
  .agenda-item { grid-template-columns: 1fr; }
  .agenda-item time, .agenda-controls { grid-column: 1; }
  .topic-row { grid-template-columns: 1fr; }
  .topic-source, .topic-workflow { grid-column: 1; grid-row: auto; justify-self: stretch; }
  .dialog-tools input { width: 100%; }
}
/* Fluxo operacional de agenda e vídeos */
.appointment-inline-details { margin-top: 14px; padding: 14px; border-top: 1px solid #dce8e5; background: #f8fcfb; border-radius: 0 0 10px 10px; }
.appointment-detail-toggle { border-color: #7a5000; color: #fff; background: #8d5c00; box-shadow: 0 3px 9px rgba(93,61,0,.2); }
.appointment-detail-toggle:hover { border-color: #5f3e00; color: #fff; background: #6f4800; }
.appointment-detail-toggle[aria-expanded="true"] { border-color: #0b5f52; color: #fff; background: #087262; }
.appointment-detail-toggle[aria-expanded="true"]:hover { border-color: #06483f; background: #065f4d; }
.appointment-detail-toggle:focus-visible { outline: 3px solid #0d5b81; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(13,91,129,.2); }
.appointment-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); gap: 10px; }
.appointment-detail-grid > div { min-width: 0; padding: 10px; display: grid; gap: 3px; border: 1px solid #e0ebe8; border-radius: 9px; background: #fff; }
.appointment-detail-grid span { color: var(--muted); font-size: var(--text-2xs); }
.appointment-cuts-title { display: block; margin-top: 14px; color: var(--navy); }
.appointment-cut-list { margin: 8px 0 0; display: grid; grid-template-columns: repeat(2,minmax(220px,1fr)); gap: 8px; color: #31596b; font-size: var(--text-xs); }
.appointment-cut-card { min-width: 0; padding: 10px 12px; display: grid; gap: 5px; border: 1px solid #dce8e5; border-radius: 9px; background: #fff; }
.appointment-cut-card strong,.appointment-cut-card small { overflow-wrap: anywhere; }
.appointment-operational-note { margin-top: 12px; padding: 10px 12px; border-left: 4px solid #7f9198; border-radius: 8px; background: #f3f6f7; color: #28465d; font-size: var(--text-sm); }
.appointment-production-stage { margin-top: 12px; padding: 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #d8e5e2; border-radius: 10px; background: #fff; }
.appointment-production-stage > div:first-child { display: grid; gap: 3px; }.appointment-production-stage small { color: #52706c; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .08em; }.appointment-production-stage strong { color: var(--navy); }
.appointment-production-times { display: flex; flex-wrap: wrap; gap: 7px; }.appointment-production-times span { padding: 6px 9px; border-radius: 999px; color: #075d52; background: #dff5ef; font: 800 12px/1 ui-monospace,Consolas,monospace; }
.appointment-production-stage.stage-released { border-color: #9ed7c6; background: #f0fbf7; }.appointment-production-stage.stage-awaiting_editing { border-color: #efcaca; background: #fff7f6; }.appointment-production-stage.stage-awaiting_validation,.appointment-production-stage.stage-awaiting_upload { border-color: #efd99e; background: #fffbef; }
.appointment-reason { padding: 9px 11px; border-left: 4px solid #c8463b; border-radius: 7px; color: #842e29 !important; background: #fff1ef; font-weight: 700; }
.appointment-card { border-left-width: 5px; transition: box-shadow .18s ease, transform .18s ease; }.appointment-card.status-pendente { border-left-color: #7f9198; }.appointment-card.status-agendado { border-left-color: #65aee8; }.appointment-card.status-remarcada { border-left-color: #e0a92f; }.appointment-card.status-cancelada { border-left-color: #c8463b; }.appointment-card.status-gravado { border-left-color: #25a377; }.appointment-card.is-focused { box-shadow: 0 0 0 3px rgba(8,114,98,.2),0 10px 28px rgba(24,55,79,.12); transform: translateY(-2px); }
.appointment-calendar-legend { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }.appointment-calendar-legend span,.recording-group-status { padding: 6px 9px; border-radius: 999px; font-size: var(--text-xs); font-weight: 800; }
.appointment-calendar-legend .status-pending { color: #53646c; background: #e8eef0; }.appointment-calendar-legend .status-scheduled,.recording-group-status.status-agendado { color: #155b88; background: #dcefff; }.appointment-calendar-legend .status-rescheduled,.recording-group-status.status-remarcada { color: #775407; background: #fff0bd; }.appointment-calendar-legend .status-cancelled,.recording-group-status.status-cancelada { color: #96362f; background: #fde7e4; }.appointment-calendar-legend .status-recorded,.recording-group-status.status-gravado { color: #087262; background: #dff5ef; }.recording-group-status.status-pendente { color: #53646c; background: #e8eef0; }
.appointment-calendar-day.is-today { background: #f0faf7; box-shadow: inset 0 0 0 2px #38a78a; }.appointment-calendar-day.is-today > strong { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #087262; }
.appointment-calendar-entry { min-height: 38px; padding: 6px 7px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 5px; border-left: 4px solid transparent; white-space: normal; transition: box-shadow .15s ease, transform .15s ease; }.appointment-calendar-entry time { font: 800 11px/1.3 ui-monospace,Consolas,monospace; }.appointment-calendar-entry span { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: var(--text-2xs); line-height: 1.3; }.appointment-calendar-entry:hover,.appointment-calendar-entry:focus-visible { transform: translateY(-1px); }
.appointment-calendar-entry.status-pendente { border-left-color: #7f9198; color: #42545d; background: #e8eef0; }.appointment-calendar-entry.status-agendado { border-left-color: #65aee8; color: #155b88; background: #dcefff; }.appointment-calendar-entry.status-remarcada { border-left-color: #e0a92f; color: #775407; background: #fff0bd; }.appointment-calendar-entry.status-cancelada { border-left-color: #c8463b; color: #96362f; background: #fde7e4; }.appointment-calendar-entry.status-gravado { border-left-color: #25a377; color: #087262; background: #dff5ef; }
.appointment-calendar-more { color: #52706c; font-size: var(--text-2xs); font-weight: 700; }
.agenda-metric.pending strong { color: #53646c; }.agenda-metric.scheduled strong { color: #2379b4; }.agenda-metric.rescheduled strong { color: #a46c00; }.agenda-metric.cancelled strong { color: #b13d35; }.agenda-metric.recorded strong { color: #087262; }
.appointment-calendar-weekdays span { color: #0d4f5f; background: #dff0ee; letter-spacing: .05em; text-transform: uppercase; }
.appointment-calendar-day { border-right: 1px solid #c9dbd7; border-bottom: 1px solid #c9dbd7; transition: background .15s ease, box-shadow .15s ease; }
.appointment-calendar-day.has-events { background: #fdfefe; }
.appointment-calendar-day:not(.is-empty):hover { background: #f4faf9; box-shadow: inset 0 0 0 1px #9ecfc3; }
.appointment-calendar-day.is-empty { background: #eef3f2; }
.appointment-calendar-day > strong { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-sm); font-weight: 800; }
.appointment-calendar-day.is-today { background: #e9f8f3; box-shadow: inset 0 0 0 3px #0f8f74; }
.appointment-calendar-day.is-today > strong { width: auto; height: auto; padding: 3px 9px; display: inline-flex; border-radius: 999px; color: #fff; background: #0a6a56; font-size: var(--text-xs); }
.appointment-calendar-today-badge { padding: 1px 6px; border-radius: 999px; color: #0a6a56; background: #fff; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.appointment-calendar-entry { border: 1px solid rgba(24,55,79,.14); border-left-width: 5px; box-shadow: 0 1px 2px rgba(24,55,79,.06); }
.appointment-calendar-entry .appointment-calendar-meta { grid-column: 1 / -1; display: block; overflow: visible; font-size: var(--text-2xs); font-weight: 600; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
.appointment-calendar-entry:hover,.appointment-calendar-entry:focus-visible { box-shadow: 0 4px 12px rgba(24,55,79,.16); }
.appointment-calendar-entry.status-pendente { border-color: #b9c6ca; border-left-color: #6d7f87; color: #3a4b54; background: #e4ecee; }
/* Agendado é azul escuro cheio: separa por luminosidade, e não só por matiz,
   do verde claro de gravado, que antes se confundia com o azul claro. */
.appointment-calendar-entry.status-agendado { border-color: #0d3d68; border-left-color: #07253f; color: #fff; background: #14528c; }
.appointment-calendar-entry.status-agendado time { color: #c5dcf2; }
.appointment-calendar-entry.status-remarcada { border-color: #eccf7c; border-left-color: #c78f0d; color: #6b4a06; background: #ffeeb0; }
/* Cancelado em vermelho vivo: é o estado que precisa saltar na grade. */
.appointment-calendar-entry.status-cancelada { border-color: #a01b1b; border-left-color: #6d0f0f; color: #fff; background: #c62828; }
.appointment-calendar-entry.status-cancelada time { color: #ffd6d2; }
.appointment-calendar-entry.status-gravado { border-color: #93d8c4; border-left-color: #12967b; color: #07655a; background: #d5f3ea; }
/* Verde escuro: a gravação teve a edição finalizada e validada no card 16245. */
.appointment-calendar-entry.status-edicao-finalizada { border-color: #0a4f3a; border-left-color: #042d21; color: #fff; background: #0f6b4f; }
.appointment-calendar-entry.status-edicao-finalizada time { color: #cdece0; }
.appointment-calendar-legend .status-released,.recording-group-status.status-edicao-finalizada { color: #fff; background: #0f6b4f; }
/* A legenda repete exatamente a cor do evento correspondente na grade. */
.appointment-calendar-legend .status-scheduled,.recording-group-status.status-agendado { color: #fff; background: #14528c; }
.appointment-calendar-legend .status-cancelled,.recording-group-status.status-cancelada { color: #fff; background: #c62828; }
.appointment-calendar-legend .status-recorded,.recording-group-status.status-gravado { color: #07655a; background: #d5f3ea; }
.appointment-card.status-agendado { border-left-color: #14528c; }
.appointment-card.status-cancelada { border-left-color: #c62828; }
.agenda-metric.scheduled strong { color: #14528c; }
.agenda-metric.cancelled strong { color: #c62828; }
.appointment-card.status-edicao-finalizada { border-left-color: #0f6b4f; }
.appointment-cut-card.is-included { border-left: 4px solid #0f6b4f; }
.appointment-missing-cuts { margin: 8px 0; padding: 12px 14px; display: grid; gap: 10px; justify-items: start; border-left: 4px solid #c78f0d; border-radius: 0 10px 10px 0; background: #fff8e8; }
.appointment-missing-cuts p { margin: 0; color: #6b4a06; font-size: var(--text-sm); }
.video-group-player { margin: 10px 0 4px; padding: 12px 14px; display: grid; gap: 8px; border: 1px solid #cfe0dc; border-radius: 10px; background: #f6fbfa; }
.video-group-player-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.video-group-frame { position: relative; max-width: 860px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #0b1b24; }
.video-group-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-destination { color: #875900; font-weight: 700; }
.ldi-video-course { display: grid; gap: 10px; padding: 14px; border: 1px solid #c9ddd8; border-radius: 12px; background: #f8fcfb; }
.ldi-video-course-title { padding: 0; border: 0; color: var(--navy); background: transparent; font: 800 17px/1.3 inherit; text-align: left; cursor: pointer; }
.ldi-video-course-title:hover { color: #087262; }
.ldi-video-chapter { border: 1px solid #d9e5e2; border-radius: 10px; background: #fff; overflow: hidden; }
.ldi-video-chapter > summary { padding: 12px 14px; color: #875900; background: #fff8e8; font-weight: 800; cursor: pointer; }
.ldi-video-chapter > summary,.ldi-video-item-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ldi-video-item-group { margin: 10px; border: 1px solid #e3e9e8; border-radius: 9px; }
.ldi-video-item-group > summary { padding: 10px 12px; color: #18374f; background: #f4f8f7; font-weight: 750; cursor: pointer; }
.ldi-video-item-group .ldi-video-card { margin: 10px; }
@media (max-width: 900px) {
  .intranet-table-toolbar { margin-inline: 16px; }
  .intranet-recordings-table-wrap { margin-inline: 16px; overflow-x: visible; }
  .intranet-recordings-table,.intranet-recordings-table tbody,.intranet-recordings-table tr,.intranet-recordings-table td { min-width: 0; display: block; }
  .intranet-recordings-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .intranet-recordings-table tr.intranet-row { margin: 10px; padding: 4px 0; border: 1px solid var(--line); border-radius: 11px; }
  .intranet-recordings-table td { max-width: none; display: grid; grid-template-columns: minmax(120px,40%) 1fr; gap: 10px; border-top: 0; }
  .intranet-recordings-table td + td { border-top: 1px solid #edf1f2; }
  .intranet-recordings-table td::before { content: attr(data-label); color: var(--muted); font-size: var(--text-2xs); font-weight: 800; }
  .intranet-row-detail { margin: -6px 10px 10px; }
  .intranet-row-detail td { display: block; }
  .intranet-row-detail td::before { content: none; }
}
@media (max-width: 760px) { .appointment-detail-grid,.appointment-cut-list { grid-template-columns: 1fr; } .video-catalog-row { grid-template-columns: 1fr; } .video-ldi-status,.video-schedule-link { grid-column: 1; } }

/* Relatorio de atividades: aspecto enxuto pedido na revisao das abas. */
/* Os filtros extras continuam no HTML e voltam a aparecer trocando */
/* REPORT_EXTENDED_FILTERS para true no app.js -- nenhuma outra alteracao. */
.report-filters.filters-reduced .report-filter-optional { display: none; }
.report-filters.filters-reduced { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.report-filters .report-filter-coordinator { order: 1; }
.report-filters .report-filter-professor { order: 2; }
.report-filters .report-filter-discipline { order: 3; }
.report-filters .report-filter-status { order: 4; }
.report-filters.filters-reduced .report-clear-filters { order: 5; align-self: end; justify-self: start; }
.report-filters.report-filters-compact .report-filter-coordinator,
.report-filters.report-filters-compact .report-filter-discipline,
.report-filters.report-filters-compact .report-filter-professor,
.report-filters.report-filters-compact .report-filter-period,
.report-filters.report-filters-compact .report-filter-status,
.report-filters.report-filters-compact .report-clear-filters { order: initial; }
/* A faixa de tipo de producao agora filtra os dados logo abaixo dela. */
.report-category-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin: 10px 25px 0; padding: 9px 12px; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 12px; background: #fbfdfd; }
.report-category-filter h3 { margin: 0; font-size: var(--text-sm); }
.report-commented-activities { margin: 14px 25px 4px; border: 1px solid #d8d0e8; border-radius: 14px; overflow: hidden; background: #fcfaff; }
.report-commented-activities > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border-bottom: 1px solid #e8e1f1; background: linear-gradient(110deg,#f4eefb,#fff); }
.report-commented-activities h3, .report-commented-activities p { margin: 0; }
.report-commented-activities > header > strong { color: #62458a; font-size: var(--text-xs); }
.report-commented-list { display: grid; }
.report-commented-list article { display: grid; grid-template-columns: minmax(220px,1.4fr) minmax(260px,1fr) 110px; align-items: center; gap: 14px; padding: 11px 16px; border-top: 1px solid #eee8f4; }
.report-commented-list article:first-child { border-top: 0; }
.report-commented-identity { display: grid; gap: 2px; min-width: 0; }
.report-commented-identity strong, .report-commented-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-commented-identity small { color: var(--muted); }
.report-commented-transition { justify-self: start; padding: 5px 9px; border-radius: 999px; color: #62458a; background: #f0e8f8; font-size: var(--text-3xs); font-weight: 750; }
.report-commented-list time { color: var(--muted); text-align: right; font-size: var(--text-3xs); }
.report-category-filter p.eyebrow, .report-category-filter p.muted { display: none; }
.category-tabs.is-prominent { flex-wrap: wrap; gap: 8px; padding: 0; overflow: visible; }
.category-tabs.is-prominent button { min-height: 36px; padding: 8px 13px; border-radius: 9px; font-size: var(--text-3xs); font-weight: 800; }
.category-tabs.is-prominent button.active { border-color: #176f63; color: #fff; background: #176f63; box-shadow: 0 6px 16px rgba(23,111,99,.22); }
@media (max-width: 1300px) { .source-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1050px) { .report-filters.filters-reduced { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .report-filters.filters-reduced { grid-template-columns: 1fr; } .report-category-filter, .report-commented-activities { margin-inline: 16px; padding: 14px 15px; } .report-commented-list article { grid-template-columns: 1fr; gap: 6px; } .report-commented-list time { text-align: left; } }

/* Gravacoes Intra: a tabela de 11 colunas lia como planilha. O cartao poe */
/* disciplina e professor em primeiro plano e os codigos como apoio. A */
/* tabela continua no seletor de formato, sem nada removido. */
.intranet-view-switch { display: inline-flex; gap: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.intranet-view-switch button { padding: 9px 15px; border: 0; color: var(--muted); background: #fff; font-size: var(--text-3xs); font-weight: 800; }
.intranet-view-switch button.is-active { color: #fff; background: #176f63; }
.intranet-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; padding: 4px 25px 18px; }
.intranet-card { border: 1px solid var(--line); border-left: 4px solid #9aa9b4; border-radius: 14px; padding: 15px 17px; background: #fff; cursor: pointer; transition: box-shadow .15s, transform .15s; }
.intranet-card:hover { box-shadow: 0 10px 26px rgba(9,26,39,.12); transform: translateY(-1px); }
.intranet-card.status-pendente { border-left-color: #7a5700; }
.intranet-card.status-agendado { border-left-color: #14528c; }
.intranet-card.status-remarcada { border-left-color: #a8651b; }
.intranet-card.status-cancelada { border-left-color: #c62828; }
.intranet-card.status-gravado { border-left-color: #146b54; }
.intranet-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.intranet-card-identity { display: grid; gap: 3px; min-width: 0; }
.intranet-card-identity strong { font-size: var(--text-base); }
.intranet-card-identity small { color: var(--muted); font-size: var(--text-3xs); }
.intranet-card-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; margin: 12px 0 0; }
.intranet-card-facts dt { color: var(--muted); font-size: var(--text-3xs); font-weight: 750; }
.intranet-card-facts dd { margin: 0; font-size: var(--text-3xs); overflow-wrap: anywhere; }
.intranet-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 13px; }
.intranet-card-actions a { color: #176f63; font-size: var(--text-3xs); font-weight: 750; }
.intranet-card-cuts { margin-top: 11px; padding-top: 11px; border-top: 1px dashed var(--line); }
.intranet-card-cuts.hidden { display: none; }
/* Card da gravacao sobreposto: o Intra nao permite ser embutido em iframe, */
/* entao o modal consolida o que a aplicacao tem e leva ao Intra num clique. */
.intra-recording-dialog { width: min(780px, calc(100vw - 30px)); }
.intra-dialog-body { padding: 20px 28px; overflow: auto; }
.intra-dialog-body h3 { margin: 19px 0 7px; font-size: var(--text-base); }
.intranet-card-facts.is-dialog { grid-template-columns: 220px minmax(0, 1fr); gap: 7px 14px; }
.intranet-card-facts.is-dialog dt, .intranet-card-facts.is-dialog dd { font-size: var(--text-xs); }
.intranet-dialog-raw { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 13px; }
.intranet-dialog-raw summary { color: var(--muted); font-size: var(--text-3xs); font-weight: 800; cursor: pointer; }
.intranet-dialog-raw ul { margin: 10px 0 0; padding-left: 19px; color: var(--muted); font-size: var(--text-3xs); line-height: 1.7; }
.intra-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 28px; border-top: 1px solid var(--line); }
.intra-dialog-actions .hidden { display: none; }
@media (max-width: 760px) { .intranet-card-grid { grid-template-columns: 1fr; padding-inline: 16px; } .intranet-card-facts.is-dialog { grid-template-columns: 1fr; } .intra-dialog-body { padding: 17px 16px; } .intra-dialog-actions { padding: 14px 16px; } }

/* Relatorio Visual de Videos: lista do que entrou de fato no LDI. */
.video-visual-new-list { display: grid; gap: 10px; padding: 4px 25px 20px; }
.video-visual-new-course { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.video-visual-new-course > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 17px; cursor: pointer; }
.video-visual-new-course > summary strong { font-size: var(--text-base); }
.video-visual-new-chapter { padding: 0 17px 13px; }
.video-visual-new-chapter-title { margin: 10px 0 6px; color: var(--muted); font-size: var(--text-3xs); font-weight: 800; }
.video-visual-new-chapter ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.video-visual-new-row { display: grid; gap: 3px; width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-left: 3px solid #146b54; border-radius: 10px; background: #fbfdfd; text-align: left; }
.video-visual-new-row strong { font-size: var(--text-xs); }
.video-visual-new-row small { color: var(--muted); font-size: var(--text-3xs); }
.video-visual-new-row:hover { background: #f1f8f5; }
.video-visual-custom.hidden { display: none; }
@media (max-width: 760px) { .video-visual-new-list { padding-inline: 16px; } }

/* Aba Videos: os dezesseis filtros avancados em blocos nomeados, com o */
/* escopo pre-preenchido isolado -- era ele que zerava consulta calado. */
.video-advanced-filters > .video-filter-groups { grid-template-columns: 1fr; gap: 13px; }
.video-filter-group { margin: 0; padding: 9px 12px 12px; border: 1px solid #e3ece9; border-radius: 10px; }
.video-filter-group > legend { padding: 0 6px; color: #31596b; font-size: var(--text-3xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.video-filter-group > div { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; }
.video-filter-group.is-default-scope { border-color: #ddb765; background: #fffaf0; }
.video-filter-group-note { margin: 2px 0 10px; color: #7a5700; font-size: var(--text-3xs); line-height: 1.55; }
.filter-eyebrow.video-local-step { margin: 16px 25px 0; }
.video-catalog-toolbar .video-watchable-check { display: flex; align-items: center; gap: 8px; min-height: var(--control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #fbfdfd; font-size: var(--text-3xs); }
.video-catalog-toolbar .video-watchable-check input { width: auto; min-width: 16px; min-height: auto; padding: 0; }
/* Vinculo sem id_gravacao: o aviso agora fica no vinculo afetado. */
.ldi-video-missing-id { padding: 4px 8px; border-radius: 8px; color: #7a5700; background: #fff3d6; font-size: var(--text-3xs); font-weight: 800; white-space: nowrap; }
@media (max-width: 1050px) { .video-filter-group > div { grid-template-columns: repeat(2, minmax(150px, 1fr)); } }
@media (max-width: 760px) { .video-filter-group > div { grid-template-columns: 1fr; } .filter-eyebrow.video-local-step { margin-inline: 16px; } }

/* ---------------------------------------------------------------------------
   Aba Vídeos (v2): cortes em cartões, texto com mais contraste e blocos de
   filtro/indicadores compactos. Escopo restrito a .video-panel-v2.
--------------------------------------------------------------------------- */
.video-panel-v2 { --ink-strong: #152536; --ink-body: #2b3d52; --ink-soft: #4d5d70; color: var(--ink-body); }
.video-panel-v2 .video-heading h2 { color: var(--ink-strong); }
.video-panel-v2 .video-lead { margin: 6px 0 0; color: var(--ink-soft); font-size: var(--text-sm); }
.video-panel-v2 .video-sync-filters { margin: 14px 25px 0; padding: 12px 14px; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; gap: 10px 12px; border-color: var(--line); background: #fbfbfa; }
.video-panel-v2 .video-step, .video-panel-v2 .video-local-step { grid-column: 1 / -1; margin: 0; color: #0b6b58; font-size: var(--text-2xs); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.video-panel-v2 .video-local-step { margin: 16px 25px 6px; }
.video-panel-v2 .video-form-hint { grid-column: 1 / -1; margin: 0; color: var(--ink-soft); font-size: var(--text-xs); }
.video-panel-v2 .video-sync-filters label, .video-panel-v2 .video-catalog-toolbar label { color: var(--ink-strong); }
.video-panel-v2 .video-advanced-filters { grid-column: 1 / -1; }
.video-panel-v2 .video-advanced-filters summary { color: #0b6b58; font-size: var(--text-xs); font-weight: 800; cursor: pointer; }
.video-metrics-strip { margin: 12px 25px 0; display: flex; flex-wrap: wrap; gap: 8px; border: 0; overflow: visible; }
.video-metrics-strip .video-metric { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-soft); font-size: var(--text-sm); }
.video-metrics-strip .video-metric strong { color: var(--ink-strong); font-size: var(--text-base); }
.video-metrics-strip .video-metric.is-included { border-color: #b9e3d5; background: #effaf5; }
.video-metrics-strip .video-metric.is-included strong { color: #06735c; }
.video-metrics-strip .video-metric.is-pending { border-color: #f0dca0; background: #fffaeb; }
.video-metrics-strip .video-metric.is-pending strong { color: #8a5b00; }
.video-metrics-strip .video-metric.is-unverified { border-color: #c7d9e9; background: #f1f7fc; }
.video-metrics-strip .video-metric.is-unverified strong { color: #31577a; }
.video-panel-v2 .video-catalog-toolbar { margin: 0 25px; padding: 10px 12px; display: grid; grid-template-columns: minmax(200px, 1.4fr) repeat(2, minmax(150px, 1fr)); gap: 8px 12px; align-items: end; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.video-panel-v2 .video-catalog-toolbar .filter-check { display: flex; align-items: center; gap: 7px; font-weight: 700; }
.video-panel-v2 .video-toolbar-actions { display: flex; gap: 8px; justify-content: flex-end; }
.video-panel-v2 .video-sync-status { grid-column: 1 / -1; color: var(--ink-soft); font-size: var(--text-xs); }
.video-panel-v2 .video-catalog-list { margin: 14px 25px 25px; display: grid; gap: 14px; border: 0; }

.video-panel-v2 .video-recording-group { border: 1px solid #d9dfe4; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 6px 18px rgba(21, 37, 54, .05); }
.video-panel-v2 .video-recording-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 16px; background: #f4f7f9; }
.video-panel-v2 .video-recording-group.is-all-ldi { border-color: #9bd5c3; background: #f4fbf8; }
.video-panel-v2 .video-recording-group.is-all-ldi > .video-recording-summary { background: #e5f5ee; }
.video-panel-v2 .video-recording-group.is-partial-ldi { border-color: #e9cf78; background: #fffdf4; }
.video-panel-v2 .video-recording-group.is-partial-ldi > .video-recording-summary { background: #fff3cd; }
.video-panel-v2 .video-recording-group.is-none-ldi { border-color: #e9b8b4; background: #fff9f8; }
.video-panel-v2 .video-recording-group.is-none-ldi > .video-recording-summary { background: #fdebea; }
.video-panel-v2 .video-recording-heading { display: grid; gap: 3px; }
.video-panel-v2 .video-recording-heading strong { color: var(--ink-strong); font-size: var(--text-lg); }
.video-panel-v2 .video-recording-heading small { color: var(--ink-soft); font-size: var(--text-sm); }
.video-recording-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.recording-group-hidden { padding: 6px 9px; border-radius: 999px; color: #5b4a86; background: #efeafc; font-size: var(--text-xs); font-weight: 800; }
.video-panel-v2 .recording-group-ldi-state { display: inline-flex; width: auto; padding: 6px 9px; border-radius: 999px; font-size: var(--text-xs); font-weight: 800; }
.recording-group-ldi-state.state-all { color: #075d49; background: #ccefe1; }
.recording-group-ldi-state.state-partial { color: #725000; background: #ffebad; }
.recording-group-ldi-state.state-none { color: #8a3834; background: #f8d5d2; }
.recording-group-ldi-state.state-verification { color: #31577a; background: #e7f1fa; }
.video-recording-tools { padding: 8px 16px 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.video-recording-tools .video-intra-link { margin: 0; }
.recording-rename-form { flex: 1 1 100%; display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 8px; padding: 8px 0 4px; }
.recording-rename-form input { min-width: 0; }
@media (max-width: 720px) { .recording-rename-form { grid-template-columns: 1fr; } }

.video-cut-grid { padding: 10px 12px 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 8px; border-top: 0; }
.video-panel-v2 .video-cut-card { display: flex; flex-direction: column; gap: 7px; padding: 10px 11px; border: 1px solid #dde3e8; border-left: 3px solid #d8b24a; border-radius: 10px; background: #fff; }
.video-panel-v2 .video-cut-card.is-included_ldi { border-left-color: #0a8a6c; }
.video-panel-v2 .video-cut-card.is-not_included { border-left-color: #c9655f; }
.video-panel-v2 .video-cut-card.is-verification_required { border-left-color: #5183b2; background: #f5f9fd; }
.video-panel-v2 .video-cut-grid.is-list .video-cut-card.is-included_ldi { background: #f4fbf8; }
.video-panel-v2 .video-cut-grid.is-list .video-cut-card.is-pending,
.video-panel-v2 .video-cut-grid.is-list .video-cut-card.is-not_included { background: #fff9f8; }
.video-panel-v2 .video-cut-card.is-duplicate { border-style: dashed; border-left-style: solid; background: #fcfcfb; }
.video-cut-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.video-cut-title { margin: 0; color: var(--ink-strong, #152536); font-size: var(--text-base); font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.video-panel-v2 .video-ldi-status { flex: none; padding: 5px 10px; font-size: var(--text-2xs); white-space: nowrap; }
.video-panel-v2 .video-ldi-status.is-included_ldi { color: #fff; background: #0a8a6c; }
.video-panel-v2 .video-ldi-status.is-pending { color: #6d4800; background: #ffe9a8; }
.video-panel-v2 .video-ldi-status.is-verification_required { color: #31577a; background: #e7f1fa; }
.video-panel-v2 .video-cut-place { padding: 7px 9px; border-radius: 8px; background: #fff8e6; color: #6d4800 !important; font-weight: 600; }
.video-panel-v2 .video-cut-place.is-included { background: #eaf7f2; color: #0b4f40 !important; }
.video-panel-v2 .video-cut-place p { margin: 0; font-size: var(--text-sm); }
.video-cut-path { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.video-cut-path li { display: grid; grid-template-columns: 58px 1fr; gap: 6px; align-items: baseline; font-size: var(--text-xs); }
.video-cut-path li span { color: #3f7a6b; font-size: var(--text-2xs); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.video-cut-path li strong { color: #0b3f33; font-weight: 700; overflow-wrap: anywhere; }
.video-cut-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 5px 9px; }
.video-cut-fact dt { color: var(--ink-soft, #4d5d70); font-size: var(--text-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.video-cut-fact dd { margin: 2px 0 0; color: var(--ink-strong, #152536); font-size: var(--text-sm); font-weight: 700; }
.video-cut-fact.is-ldi-date dd { color: #06735c; }
.video-cut-id { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; padding-top: 7px; border-top: 1px dashed #dde3e8; }
.video-cut-id > span { color: var(--ink-soft, #4d5d70); font-size: var(--text-2xs); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.video-cut-id code { padding: 3px 7px; border-radius: 6px; background: #f1f4f7; color: var(--ink-strong, #152536); font-size: var(--text-xs); overflow-wrap: anywhere; }
.video-cut-id button { margin-left: auto; }
.video-cut-id-check { flex-basis: 100%; color: #06735c; font-size: var(--text-xs); font-weight: 700; }
.video-cut-duplicate { margin: 0; padding: 7px 10px; border-radius: 8px; background: #f3effc; color: #4a3a78; font-size: var(--text-xs); }
.video-display-mode { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: var(--control-height); color: var(--ink-soft); font-size: var(--text-xs); }
.video-display-mode .button[aria-pressed="true"] { color: #fff; border-color: #0a8067; background: #0a8067; }
.video-cut-grid.is-list { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 8px 12px 12px; }
.video-cut-grid.is-list .video-cut-card { display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(220px, 1.2fr) minmax(190px, 1fr); align-items: center; gap: 5px 12px; padding: 8px 10px; }
.video-cut-grid.is-list .video-cut-head { grid-column: 1; }
.video-cut-grid.is-list .video-cut-place { grid-column: 2; grid-row: 1 / span 2; }
.video-cut-grid.is-list .video-cut-facts { grid-column: 3; grid-row: 1 / span 2; }
.video-cut-grid.is-list .video-cut-id { grid-column: 1 / -1; }
.video-cut-grid.is-list .video-cut-duplicate { grid-column: 1 / -1; }

.admin-cards-table-wrap { margin: 0 25px 25px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.admin-cards-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.admin-cards-table th, .admin-cards-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.admin-cards-table th { background: #f4f7f9; color: #152536; font-size: var(--text-xs); }
.admin-cards-table td { color: #2b3d52; }
.admin-cards-table tr:last-child td { border-bottom: 0; }

@media (max-width: 1050px) {
  .video-panel-v2 .video-sync-filters { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .video-panel-v2 .video-catalog-toolbar { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}
@media (max-width: 760px) {
  .video-panel-v2 .video-sync-filters, .video-panel-v2 .video-catalog-toolbar { grid-template-columns: 1fr; margin-inline: 16px; }
  .video-metrics-strip, .video-panel-v2 .video-catalog-list, .admin-cards-table-wrap { margin-inline: 16px; }
  .video-panel-v2 .video-local-step { margin-inline: 16px; }
  .video-cut-grid { grid-template-columns: 1fr; padding: 12px; }
  .video-cut-grid.is-list .video-cut-card { grid-template-columns: 1fr; }
  .video-cut-grid.is-list .video-cut-head, .video-cut-grid.is-list .video-cut-place, .video-cut-grid.is-list .video-cut-facts, .video-cut-grid.is-list .video-cut-id, .video-cut-grid.is-list .video-cut-duplicate { grid-column: 1; grid-row: auto; }
  .video-display-mode { justify-content: flex-start; }
  .video-panel-v2 .video-toolbar-actions { justify-content: flex-start; }
}

/* Ajustes da revisão visual da aba Vídeos (v2). */
.video-panel-v2 .video-sync-filters > button[type=submit] { grid-column: auto; align-self: end; min-height: var(--control-height); }
.video-panel-v2 .video-catalog-toolbar .filter-check { min-height: var(--control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #fbfbfa; font-size: var(--text-xs); }
.video-panel-v2 .video-catalog-toolbar .filter-check input { width: auto; min-width: 16px; min-height: auto; padding: 0; }
.video-panel-v2 .video-recording-heading { flex: 1 1 320px; }
.video-panel-v2 .video-recording-chips { flex: 0 1 auto; justify-content: flex-end; }
.video-panel-v2 .video-recording-chips > span { display: inline-flex; width: auto; white-space: nowrap; }
.video-cut-head { flex-direction: column-reverse; align-items: flex-start; gap: 6px; }
.video-cut-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.video-panel-v2 .video-sync-filters .video-filter-project { grid-column: auto; }
.ldi-video-panel .video-sync-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ldi-video-panel .video-sync-filters .video-form-intro,
.ldi-video-panel .video-sync-filters > .video-advanced-filters,
.ldi-video-panel .video-sync-filters > .ldi-video-actions,
.ldi-video-panel .video-sync-filters > #ldiVideoSyncStatus { grid-column: 1 / -1; }
.ldi-video-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ldi-video-actions .button { width: auto; min-width: 160px; }
@media (max-width: 760px) { .ldi-video-panel .video-sync-filters { grid-template-columns: 1fr; } .ldi-video-actions .button { width: 100%; } }
.video-panel-v2 .video-recording-chips { flex: 0 0 auto; max-width: 100%; }
.video-panel-v2 .video-recording-summary > .video-recording-chips { display: flex; flex-wrap: wrap; gap: 6px; }
