: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: "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-size: 16px; 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: 17px; }
.auth-brand small { margin-top: 2px; color: var(--muted); font-size: 10px; font-weight: 700; }
.auth-card h1 { margin: 8px 0 12px; font-size: 31px; }
.auth-help { color: var(--muted); font-size: 13px; 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: 11px; 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: 10px; line-height: 1.45; }
.auth-request { display: grid; gap: 9px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.auth-request label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; 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: 11px; }
.google-login { display: grid; justify-items: center; gap: 10px; margin-top: 20px; }
.google-login span { color: var(--muted); font-size: 10px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 254px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 18px 22px; color: #f7fbfc; background: var(--navy); display: flex; flex-direction: column; }
.brand { display: flex; gap: 11px; align-items: center; margin: 0 10px 46px; 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: 15px; }
.brand-copy small { margin-top: 3px; color: #f4dfad; font-size: 9px; font-weight: 600; letter-spacing: .03em; }
.brand-copy b { margin-top: 3px; color: #fff7e5; font-size: 9px; font-weight: 800; letter-spacing: .02em; }
.workspace-label { margin: 0 12px 11px; color: #f0d18b; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.sidebar nav { display: grid; gap: 5px; }
.mobile-nav-toggle { display: none; }
.nav-item { display: flex; gap: 12px; align-items: center; padding: 12px 13px; 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: 18px; }
.sidebar-footer { display: flex; gap: 10px; align-items: center; margin-top: auto; padding: 15px 12px; border-top: 1px solid rgba(255,255,255,.24); color: #fff6df; }
.sidebar-footer strong, .sidebar-footer small { display: block; }
.sidebar-footer strong { font-size: 12px; }
.sidebar-footer small { margin-top: 3px; color: #f1d99e; font-size: 11px; }
.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: 17px; }
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: 10px; 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: 21px; letter-spacing: -.035em; }
.page-subtitle { margin-top: 11px; color: var(--muted); font-size: 14px; }
.top-actions { display: flex; align-items: center; gap: 13px; }
.identity-switcher { max-width: 340px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font-size: 11px; }
.sync-status, .muted { color: var(--muted); font-size: 12px; }
.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: 11px; }
.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: 12px; }
.metric-card strong { display: block; margin: 13px 0 3px; font-size: 31px; 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: 10px; }
.today-summary b { color: var(--ink); font-size: 12px; }
.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: 11px; font-weight: 850; }
.today-kind { color: var(--teal); font-size: 9px; 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: 12px; }
.today-activity-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.today-state { padding: 5px 7px; border-radius: 7px; color: #73531a; background: #fff4d8; font-size: 9px; 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: 11px; font-weight: 800; }
.blocker-copy strong, .blocker-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.blocker-copy strong { font-size: 13px; }
.blocker-copy small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.blocker-total { min-width: 42px; padding: 5px 8px; border-radius: 7px; color: #a65c23; background: #fff2de; font-size: 12px; 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: 12px; }
.status-bar-label b { color: var(--ink); font-size: 11px; }
.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: 19px; }
.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(230px, 1.8fr) 76px 80px minmax(110px, .8fr) 96px max-content 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: 13px; }
.discipline-name small, .mini-stat small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.mini-stat b { font-size: 13px; }
.row-progress { height: 7px; border-radius: 7px; overflow: hidden; background: #eaf0f0; }
.row-progress i { display: block; height: 100%; border-radius: inherit; background: var(--teal); }
.blocker-count { color: #a65c23; font-size: 11px; font-weight: 750; white-space: nowrap; }
.blocker-count.clear { color: var(--teal); }
.row-arrow { color: #a3b3b8; font-size: 18px; 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: 12px; font-weight: 800; text-align: center; }
.filter-eyebrow { margin: 18px 25px -8px; color: var(--teal); font-size: 9px; 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(230px, 2fr) repeat(4, minmax(145px, 1fr)); align-items: end; }
.discipline-filters label:not(.search) { display: grid; gap: 5px; color: var(--muted); font-size: 10px; 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: 11px; }
.recording-metrics span { min-height: 30px; line-height: 1.35; }
.recording-metrics strong { display: block; margin: 7px 0 2px; font-size: 25px; 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: 12px; }
.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: 10px; 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: 12px; }
.recording-subsection h3 { margin: 0; color: var(--ink); font-size: 13px; }
.recording-subsection p { margin-top: 4px; color: var(--muted); font-size: 11px; }
.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: 12px; font-weight: 800; }
.recording-main strong, .recording-main small { display: block; }
.recording-main strong { font-size: 13px; }
.recording-main small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.source-link { display: inline-block; margin-top: 6px; color: #397d91; font-size: 11px; 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: 11px; 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: 10px; 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: 10px; }
.agenda-metrics strong { display: block; margin-top: 5px; font-size: 23px; }
.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: 9px; font-weight: 900; letter-spacing: .07em; }
.agenda-item strong, .agenda-item small { display: block; }
.agenda-item strong { font-size: 12px; }
.agenda-item small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.agenda-item time { color: var(--muted); font-size: 11px; }
.agenda-controls, .agenda-controls select { min-width: 0; font-size: 10px; }
.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-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: 10px; 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: 9px; 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: 10px; 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(3, minmax(0, 1fr)); }
.report-metrics article { padding: 14px 16px; background: #fbfdfd; }
.report-metrics span, .report-metrics small { display: block; color: var(--muted); font-size: 10px; }
.report-metrics small { margin-top: 3px; font-size: 9px; }
.report-metrics strong { display: block; margin-top: 5px; font-size: 23px; }
.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: 10px; font-weight: 900; }
.report-filter-block > header strong, .report-filter-block > header small { display: block; }
.report-filter-block > header strong { color: #18374f; font-size: 12px; }
.report-filter-block > header small { margin-top: 2px; color: #587083; font-size: 9px; }
.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: 9px; 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: 9px; 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: 10px; }
.admin-performance-metrics strong { display: block; margin: 5px 0 2px; color: var(--ink); font-size: 24px; }
.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: 10px; }
.question-stage-summary strong { color: var(--stage-fg, var(--ink)); font-size: 17px; }
.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: 9px; font-weight: 850; letter-spacing: .14em; }
.performance-owner-card > header h3 { margin-top: 3px; font-size: 18px; }
.performance-owner-card > header > strong { color: var(--navy-soft); font-size: 13px; 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: 10px; }
.performance-discipline > summary b { color: var(--navy-soft); font-size: 11px; 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: 13px; }
.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: 9px; }
.report-v3-source-cards strong { display: block; margin: 4px 0 2px; color: #7c5300; font-size: 17px; }
.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: 10px; }
.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: 8px; font-weight: 850; letter-spacing: .13em; }
.report-v3-discipline-header h3 { margin-top: 3px; font-size: 17px; }
.report-v3-discipline-header p { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.report-v3-discipline-header > strong { color: #825700; font-size: 11px; white-space: nowrap; }
.report-v3-official-line { padding: 9px 17px; border-top: 1px solid var(--line); color: #775a1c; background: #fff8e8; font-size: 9px; }
.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: 11px; }
.report-v3-chapter > summary small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.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: 10px; }
.report-v3-topic > div:first-child small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.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: 7px; }
.topic-activity-state b { margin-top: 3px; color: #8e302b; font-size: 8px; }
.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: 16px; }
.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: 10px; }
.report-v3-question-list article > span, .report-v3-question-list article > small { color: var(--muted); font-size: 9px; }
.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: 8px; 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 article { min-width: 0; padding: 13px 14px; background: #fff; }
.questions-metrics span { display: block; min-height: 25px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.questions-metrics strong { display: block; margin-top: 5px; color: var(--ink); font-size: 23px; }
.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: 12px; }.questions-filter-workspace > div:first-child small { margin-top: 2px; color: #587083; font-size: 9px; }
.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: 9px; 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 > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; background: #f5f8fa; }
.questions-discipline > header small { color: var(--teal); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.questions-discipline > header h3 { margin-top: 3px; font-size: 16px; }
.questions-discipline > header p { margin-top: 3px; color: var(--muted); font-size: 9px; }
.questions-discipline > header > strong { color: #18374f; font-size: 10px; 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: 8px; letter-spacing: .06em; text-transform: uppercase; }
.questions-table td { padding: 10px 12px; border-top: 1px solid #edf1f2; font-size: 9px; 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: 8px; font-weight: 850; white-space: nowrap; }
.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: 9px; font-weight: 800; }
.report-v3-recording-list strong, .report-v3-recording-list small { display: block; }
.report-v3-recording-list strong { font-size: 10px; }
.report-v3-recording-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.report-v3-recording-list > article > span { justify-self: start; padding: 6px 9px; border-radius: 999px; font-size: 8px; font-weight: 800; }
.operational-summary { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.report-attention { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 16px; align-items: center; margin: 0 25px 16px; padding: 14px 16px; border: 1px solid #ead9b2; border-radius: 12px; background: #fffdf7; }
.report-attention h3 { margin: 3px 0 0; font-size: 13px; }
.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: 10px; }
.attention-item small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.3; }
.report-table-wrap { max-height: 610px; margin: 15px 25px 0; overflow: auto; border: 1px solid var(--line); border-radius: 11px; }
.report-export-bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 25px; }
.report-export-bar > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.data-table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 11px; }
.data-table th { position: sticky; top: 0; z-index: 1; padding: 11px 10px; color: var(--muted); background: #f5f9fa; text-align: left; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.data-table td { max-width: 260px; padding: 11px 10px; border-top: 1px solid #edf1f2; vertical-align: top; line-height: 1.4; }
.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: 8px; 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: 9px; }
.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="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: 12px; }
.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: 12px; }
.collaborator-card small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.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: 9px; }
.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: 11px; }
.pending-main small, .pending-main p { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.pending-type { color: var(--teal); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pending-age { color: var(--red); font-size: 10px; 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: 9px; }
.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: 12px; }
.external-source small, .external-source p { margin-top: 4px; color: var(--muted); font-size: 9px; 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: 10px; }
.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: 11px; 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-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: 10px; }
.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: 10px; font-weight: 800; }
.user-permissions .check-row { min-width: max-content; font-size: 11px; }
.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: 10px; }
.infrastructure-item strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.user-copy strong, .user-copy small { display: block; }
.user-copy strong { font-size: 11px; }
.user-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.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: 25px; }
.dialog-header p:last-child { color: var(--muted); font-size: 12px; }
.icon-button { width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 22px; }
.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: 10px; }
.detail-metric strong { display: block; margin: 4px 0; font-size: 18px; }
.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: 9px; }
.detail-operations strong { display: block; margin: 4px 0; color: var(--ink); font-size: 14px; }
.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: 12px; }
.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: 11px; }
.chapter-header small { color: var(--muted); font-size: 9px; 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: 12px; line-height: 1.35; }
.topic-number { min-width: 38px; color: var(--teal); font-size: 11px; 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: 9px; 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: 10px; 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: 11px; 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: 13px; }
.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: 9px; font-weight: 800; }
.timeline-list strong, .timeline-list small { display: block; }
.timeline-list strong { font-size: 10px; }
.timeline-list small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.discipline-health { justify-self: start; padding: 4px 6px; border-radius: 6px; color: #237166; background: var(--teal-soft); font-size: 9px; font-weight: 800; }
.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: 13px; }
.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: 11px; }
.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: 25px; }
.lab-hero p:last-child { max-width: 640px; color: var(--muted); font-size: 12px; 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: 22px; }
.lab-counters span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.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: 11px; 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: 9px; 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: 13px; 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: 12px; }
.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: 12px; font-weight: 850; }
.lab-architecture-grid strong, .lab-architecture-grid p { display: block; }
.lab-architecture-grid strong { color: var(--ink); font-size: 13px; }
.lab-architecture-grid p { margin-top: 7px; color: var(--muted); font-size: 12px; 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: 12px; }
.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: 10px; text-transform: uppercase; letter-spacing: .04em; }
.lab-board-heading span { padding: 3px 6px; border-radius: 999px; background: #fff; color: var(--muted); font-size: 9px; }
.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: 11px; }
.lab-notice-card > b { color: #8a5a00; font-size: 10px; }
.lab-notice-card small, .lab-notice-card p { color: var(--muted); font-size: 9px; line-height: 1.4; }
.lab-notice-card select { width: 100%; padding: 7px; border: 1px solid var(--line); border-radius: 7px; background: #fffaf0; font-size: 9px; }
.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: 10px; 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: 9px; 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: 11px; }
.lab-activity-reference span { margin-top: 3px; font-size: 10px; }
.lab-activity-reference small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.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: 9px; }
.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: 9px; 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: 9px; }
.lab-notice-grid-row > span { color: var(--navy); font-size: 9px; 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: 8px !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: 12px !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: 13px; }

.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: 14px; 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: 13px; }
.data-table th, .questions-table th { font-size: 12px; }
.questions-table td { font-size: 13px; }
.report-owner small, .collaborator-card small, .pending-main small, .pending-main p,
.external-source small, .external-source p { font-size: 12px; 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: 12px; }
.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: 13px; }

.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: 16px; }
  input, select, textarea { font-size: 16px !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-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: 12px; font-weight: 750; }
}

@media (max-width: 480px) {
  .sidebar nav { grid-template-columns: 1fr; }
  main { padding-inline: 12px; }
  h1 { font-size: 34px; line-height: 1.05; }
  h2 { font-size: 20px; }
  .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; }
@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,1.5fr) 75px 85px minmax(80px,.7fr) 80px 75px 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: 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: 14px; font-weight: 800; } .mobile-nav-icon { width: 18px; font-size: 19px; 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: 13px; } .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: 25px; } .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; } }

/* 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; }
}

@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: 34px; line-height: 1.05; }
  h2 { font-size: 20px; }
  .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%; }
}
